@@ -260,6 +260,7 @@ pub struct StatusLineConfig {
260 pub center: Vec<StatusLineElement>,
260 pub center: Vec<StatusLineElement>,
261 pub right: Vec<StatusLineElement>,
261 pub right: Vec<StatusLineElement>,
262 pub separator: String,
262 pub separator: String,
263+ pub mode: ModeConfig,
265impl Default for StatusLineConfig {
266impl Default for StatusLineConfig {
@@ -271,6 +272,25 @@ impl Default for StatusLineConfig {
271 center: vec![],
272 center: vec![],
272 right: vec![E::Diagnostics, E::Selections, E::Position, E::FileEncoding],
273 right: vec![E::Diagnostics, E::Selections, E::Position, E::FileEncoding],
273 separator: String::from("│"),
274 separator: String::from("│"),
275+ mode: ModeConfig::default(),
280+#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
281+#[serde(rename_all = "kebab-case", default, deny_unknown_fields)]
282+pub struct ModeConfig {
288+impl Default for ModeConfig {
289+ fn default() -> Self {
291+ normal: String::from("NOR"),
292+ insert: String::from("INS"),
293+ select: String::from("SEL"),