Add TextMate keymap

This commit is contained in:
Joseph Lyons 2023-03-13 08:27:04 -04:00
parent d2411a6c86
commit c8696149b8
5 changed files with 100 additions and 7 deletions

View file

@ -65,4 +65,4 @@
"context": "Dock", "context": "Dock",
"bindings": {} "bindings": {}
} }
] ]

View file

@ -75,4 +75,4 @@
"alt-f12": "dock::HideDock" "alt-f12": "dock::HideDock"
} }
} }
] ]

View file

@ -57,4 +57,4 @@
"ctrl-`": "dock::HideDock" "ctrl-`": "dock::HideDock"
} }
} }
] ]

View file

@ -0,0 +1,90 @@
[
{
"bindings": {
"cmd-shift-o": "projects::OpenRecent",
"cmd-alt-tab": "project_panel::ToggleFocus"
}
},
{
"context": "Editor",
"bindings": {
"cmd-l": "go_to_line::Toggle",
"ctrl-shift-d": "editor::DuplicateLine",
"cmd-b": "editor::GoToDefinition",
"cmd-j": "editor::ScrollCursorCenter",
"cmd-enter": "editor::NewlineBelow",
"cmd-shift-l": "editor::SelectLine",
"cmd-shift-t": "outline::Toggle",
"alt-backspace": "editor::DeleteToPreviousWordStart",
"alt-shift-backspace": "editor::DeleteToNextWordEnd",
"alt-delete": "editor::DeleteToNextWordEnd",
"alt-shift-delete": "editor::DeleteToNextWordEnd",
"ctrl-backspace": "editor::DeleteToPreviousSubwordStart",
"ctrl-delete": "editor::DeleteToNextSubwordEnd",
"alt-left": [
"editor::MoveToPreviousWordStart",
{
"stop_at_soft_wraps": true
}
],
"alt-right": [
"editor::MoveToNextWordEnd",
{
"stop_at_soft_wraps": true
}
],
"ctrl-left": "editor::MoveToPreviousSubwordStart",
"ctrl-right": "editor::MoveToNextSubwordEnd",
"cmd-shift-left": "editor::SelectToBeginningOfLine",
"cmd-shift-right": "editor::SelectToEndOfLine",
"alt-shift-left": [
"editor::SelectToBeginningOfLine",
{
"stop_at_soft_wraps": true
}
],
"alt-shift-right": [
"editor::SelectToEndOfLine",
{
"stop_at_soft_wraps": true
}
],
"ctrl-shift-left": "editor::SelectToPreviousSubwordStart",
"ctrl-shift-right": "editor::SelectToNextSubwordEnd"
}
},
{
"context": "Editor && mode == full",
"bindings": {}
},
{
"context": "BufferSearchBar",
"bindings": {
"ctrl-s": "search::SelectNextMatch",
"ctrl-shift-s": "search::SelectPrevMatch"
}
},
{
"context": "Workspace",
"bindings": {
"cmd-alt-ctrl-d": "workspace::ToggleLeftSidebar",
"cmd-t": "file_finder::Toggle",
"cmd-shift-t": "project_symbols::Toggle"
}
},
{
"context": "Pane",
"bindings": {
"alt-cmd-r": "search::ToggleRegex",
"ctrl-tab": "project_panel::ToggleFocus"
}
},
{
"context": "ProjectPanel",
"bindings": {}
},
{
"context": "Dock",
"bindings": {}
}
]

View file

@ -63,23 +63,26 @@ pub enum BaseKeymap {
#[default] #[default]
VSCode, VSCode,
JetBrains, JetBrains,
Sublime, SublimeText,
Atom, Atom,
TextMate,
} }
impl BaseKeymap { impl BaseKeymap {
pub const OPTIONS: [(&'static str, Self); 4] = [ pub const OPTIONS: [(&'static str, Self); 5] = [
("VSCode (Default)", Self::VSCode), ("VSCode (Default)", Self::VSCode),
("Atom", Self::Atom), ("Atom", Self::Atom),
("JetBrains", Self::JetBrains), ("JetBrains", Self::JetBrains),
("Sublime", Self::Sublime), ("Sublime Text", Self::SublimeText),
("TextMate", Self::TextMate),
]; ];
pub fn asset_path(&self) -> Option<&'static str> { pub fn asset_path(&self) -> Option<&'static str> {
match self { match self {
BaseKeymap::JetBrains => Some("keymaps/jetbrains.json"), BaseKeymap::JetBrains => Some("keymaps/jetbrains.json"),
BaseKeymap::Sublime => Some("keymaps/sublime_text.json"), BaseKeymap::SublimeText => Some("keymaps/sublime_text.json"),
BaseKeymap::Atom => Some("keymaps/atom.json"), BaseKeymap::Atom => Some("keymaps/atom.json"),
BaseKeymap::TextMate => Some("keymaps/textmate.json"),
BaseKeymap::VSCode => None, BaseKeymap::VSCode => None,
} }
} }