summaryrefslogtreecommitdiffstats
path: root/src/configs/character.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/configs/character.rs')
-rw-r--r--src/configs/character.rs38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/configs/character.rs b/src/configs/character.rs
new file mode 100644
index 000000000..77a509cff
--- /dev/null
+++ b/src/configs/character.rs
@@ -0,0 +1,38 @@
+use crate::config::{ModuleConfig, RootModuleConfig, SegmentConfig};
+
+use ansi_term::{Color, Style};
+use starship_module_config_derive::ModuleConfig;
+
+#[derive(Clone, ModuleConfig)]
+pub struct CharacterConfig<'a> {
+ pub symbol: SegmentConfig<'a>,
+ pub error_symbol: SegmentConfig<'a>,
+ pub vicmd_symbol: SegmentConfig<'a>,
+ pub use_symbol_for_status: bool,
+ pub style_success: Style,
+ pub style_failure: Style,
+ pub disabled: bool,
+}
+
+impl<'a> RootModuleConfig<'a> for CharacterConfig<'a> {
+ fn new() -> Self {
+ CharacterConfig {
+ symbol: SegmentConfig {
+ value: "❯",
+ style: None,
+ },
+ error_symbol: SegmentConfig {
+ value: "✖",
+ style: None,
+ },
+ vicmd_symbol: SegmentConfig {
+ value: "❮",
+ style: None,
+ },
+ use_symbol_for_status: false,
+ style_success: Color::Green.bold(),
+ style_failure: Color::Red.bold(),
+ disabled: false,
+ }
+ }
+}