summaryrefslogtreecommitdiffstats
path: root/src/configs/memory_usage.rs
diff options
context:
space:
mode:
authorMatias Kotlik <mdkotlik@gmail.com>2019-10-20 10:26:04 -0500
committerMatan Kushner <hello@matchai.me>2019-10-21 00:26:04 +0900
commit86bb923303775215870699921bb8b619cd82af38 (patch)
tree4d46a694b31b29a6311c98b80ab667f2225aacf1 /src/configs/memory_usage.rs
parente3f1a76e972f70edeb5a562be852b302b2f1eda6 (diff)
refactor: Refactor memory_usage module to use module config. (#515)
Also addresses a number of bugs: - the percent sign not displaying correctly on some terminal emulators, including kitty - changing the symbol in the configuration file didn't do anything - swap being shown even if the system didn't have any
Diffstat (limited to 'src/configs/memory_usage.rs')
-rw-r--r--src/configs/memory_usage.rs29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/configs/memory_usage.rs b/src/configs/memory_usage.rs
new file mode 100644
index 000000000..8b2b87982
--- /dev/null
+++ b/src/configs/memory_usage.rs
@@ -0,0 +1,29 @@
+use crate::config::{ModuleConfig, RootModuleConfig, SegmentConfig};
+
+use ansi_term::{Color, Style};
+use starship_module_config_derive::ModuleConfig;
+
+#[derive(Clone, ModuleConfig)]
+pub struct MemoryConfig<'a> {
+ pub show_percentage: bool,
+ pub show_swap: bool,
+ pub threshold: i64,
+ pub symbol: SegmentConfig<'a>,
+ pub display: SegmentConfig<'a>,
+ pub style: Style,
+ pub disabled: bool,
+}
+
+impl<'a> RootModuleConfig<'a> for MemoryConfig<'a> {
+ fn new() -> Self {
+ MemoryConfig {
+ show_percentage: false,
+ show_swap: true,
+ threshold: 75,
+ display: SegmentConfig::default(),
+ symbol: SegmentConfig::new("🐏 "),
+ style: Color::White.bold().dimmed(),
+ disabled: true,
+ }
+ }
+}