fixed ui and themes for tree view + neovim plugin wrapper
All checks were successful
Version Check / check-version (pull_request) Successful in 4s

This commit is contained in:
2026-03-17 12:23:10 +01:00
parent 0ce858da5c
commit 7aa45974a7
14 changed files with 696 additions and 323 deletions

View File

@@ -4,11 +4,24 @@ use std::path::Path;
pub mod env;
pub mod hierarchical;
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum ItemStatus {
Present,
MissingFromActive,
MissingFromTemplate,
Modified,
}
#[derive(Debug, Clone)]
pub struct EnvVar {
pub struct ConfigItem {
pub key: String,
pub value: String,
pub default_value: String,
pub path: String,
pub value: Option<String>,
pub template_value: Option<String>,
pub default_value: Option<String>,
pub depth: usize,
pub is_group: bool,
pub status: ItemStatus,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
@@ -20,9 +33,9 @@ pub enum FormatType {
}
pub trait FormatHandler {
fn parse(&self, path: &Path) -> io::Result<Vec<EnvVar>>;
fn merge(&self, path: &Path, vars: &mut Vec<EnvVar>) -> io::Result<()>;
fn write(&self, path: &Path, vars: &[EnvVar]) -> io::Result<()>;
fn parse(&self, path: &Path) -> io::Result<Vec<ConfigItem>>;
fn merge(&self, path: &Path, vars: &mut Vec<ConfigItem>) -> io::Result<()>;
fn write(&self, path: &Path, vars: &[ConfigItem]) -> io::Result<()>;
}
pub fn detect_format(path: &Path, override_format: Option<String>) -> FormatType {