gitm/integrations/editor/
mod.rs

1use crate::config::{Configuration, Editors};
2
3pub mod editor_nvim;
4pub mod editor_vscode;
5
6pub trait EditorOpen {
7  fn open(&self, dir: &str) -> Result<(), ()>;
8}
9
10pub fn get_editor<'a>(config: &Configuration) -> Option<&'a dyn EditorOpen> {
11  let editor: &'a dyn EditorOpen = match config.editor? {
12    Editors::Neovim => &editor_nvim::Neovim,
13    Editors::VSCode => &editor_vscode::VSCode,
14  };
15
16  Some(editor)
17}