From 11c331d09f5842c5fc4c305702120e91bbef106d Mon Sep 17 00:00:00 2001 From: eugenesvk Date: Mon, 28 Oct 2024 21:11:00 +0700 Subject: [PATCH 01/19] add gitattributes --- .gitattributes | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..0662841 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,22 @@ +# Do not include the following content from *.sublime-package files + +# Git & Github +.github/ export-ignore +.gitattributes export-ignore +.gitignore export-ignore + +# Documentation +doc/ export-ignore +sample/ export-ignore +Contributing.md export-ignore +ToDo.md export-ignore + +# Tests +test/ export-ignore +\[test\]/ export-ignore + +# Settings +.editorconfig export-ignore + +# Source files +src/ export-ignore From 1ee26b16774bbfcf0374b6b1324410572b9a1f5f Mon Sep 17 00:00:00 2001 From: eugenesvk Date: Mon, 28 Oct 2024 21:11:10 +0700 Subject: [PATCH 02/19] upgrade to py3.8 --- .python-version | 1 + 1 file changed, 1 insertion(+) create mode 100644 .python-version diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..cc1923a --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.8 From 00a7b0d177cb98384c6501d22740bf6a7e71b7af Mon Sep 17 00:00:00 2001 From: eugenesvk Date: Mon, 28 Oct 2024 21:12:20 +0700 Subject: [PATCH 03/19] update gitignore --- .gitignore | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index e7bfc83..81f41e5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,65 @@ +# templates github.com/github/gitignore # Sublime Text files ace-jump.sublime-project ace-jump.sublime-workspace +# vim +*~ +.*.swp +# (macOS) +.DS_Store +.AppleDouble +.LSOverride +# (macOS)Icon must end with two \r +Icon -# To do +# (macOS)Thumbnails +._* +# (macOS)Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns + +# (macOS)Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# (Windows) Thumbnails +Thumbs.db + +# (Windows) Files build by Visual Studio +*.obj +*.exe +*.pdb +*.user +*.aps +*.pch +*.vspscc +*_i.c +*_p.c +*.ncb +*.suo +*.tlb +*.tlh +*.bak +*.cache +*.ilk +*.log +*.dll +*.lib +*.sbr + +# project's built/temp docs +Changelog.html +ReadMe.html +messages/*.html +ToDo.html +ToDo.md +# test folder +\[test\] *.TODO From 2d3e5ee262c7bc7c2254b35621262f980e16a5c8 Mon Sep 17 00:00:00 2001 From: eugenesvk Date: Tue, 29 Oct 2024 14:38:23 +0700 Subject: [PATCH 04/19] reformat keymap --- Default (Linux).sublime-keymap | 35 +++++++------------------------- Default (OSX).sublime-keymap | 35 +++++++------------------------- Default (Windows).sublime-keymap | 35 +++++++------------------------- 3 files changed, 21 insertions(+), 84 deletions(-) diff --git a/Default (Linux).sublime-keymap b/Default (Linux).sublime-keymap index 364e301..7567bc9 100644 --- a/Default (Linux).sublime-keymap +++ b/Default (Linux).sublime-keymap @@ -1,30 +1,9 @@ [ - { - "keys": ["ctrl+shift+;"], - "command": "ace_jump_word" - }, - { - "keys": ["ctrl+shift+'"], - "command": "ace_jump_char" - }, - { - "keys": ["ctrl+shift+."], - "command": "ace_jump_line" - }, - { - "keys": ["ctrl+shift+,"], - "command": "ace_jump_within_line" - }, - { - "keys": ["alt+;"], - "command": "ace_jump_select" - }, - { - "keys": ["alt+'"], - "command": "ace_jump_add_cursor" - }, - { - "keys": ["alt+."], - "command": "ace_jump_after" - } +{"keys":["ctrl+shift+;" ],"command":"ace_jump_word" }, +{"keys":["ctrl+shift+'" ],"command":"ace_jump_char" }, +{"keys":["ctrl+shift+." ],"command":"ace_jump_line" }, +{"keys":["ctrl+shift+," ],"command":"ace_jump_within_line" }, +{"keys":["alt+;" ],"command":"ace_jump_select" }, +{"keys":["alt+'" ],"command":"ace_jump_add_cursor" }, +{"keys":["alt+." ],"command":"ace_jump_after" }, ] diff --git a/Default (OSX).sublime-keymap b/Default (OSX).sublime-keymap index 428d8d7..44406c9 100644 --- a/Default (OSX).sublime-keymap +++ b/Default (OSX).sublime-keymap @@ -1,30 +1,9 @@ [ - { - "keys": ["super+shift+;"], - "command": "ace_jump_word" - }, - { - "keys": ["super+shift+'"], - "command": "ace_jump_char" - }, - { - "keys": ["super+shift+."], - "command": "ace_jump_line" - }, - { - "keys": ["super+shift+,"], - "command": "ace_jump_within_line" - }, - { - "keys": ["ctrl+;"], - "command": "ace_jump_select" - }, - { - "keys": ["ctrl+'"], - "command": "ace_jump_add_cursor" - }, - { - "keys": ["ctrl+."], - "command": "ace_jump_after" - } +{"keys":["super+shift+;" ],"command":"ace_jump_word" }, +{"keys":["super+shift+'" ],"command":"ace_jump_char" }, +{"keys":["super+shift+." ],"command":"ace_jump_line" }, +{"keys":["super+shift+," ],"command":"ace_jump_within_line" }, +{"keys":["ctrl+;" ],"command":"ace_jump_select" }, +{"keys":["ctrl+'" ],"command":"ace_jump_add_cursor" }, +{"keys":["ctrl+." ],"command":"ace_jump_after" }, ] diff --git a/Default (Windows).sublime-keymap b/Default (Windows).sublime-keymap index 364e301..7567bc9 100644 --- a/Default (Windows).sublime-keymap +++ b/Default (Windows).sublime-keymap @@ -1,30 +1,9 @@ [ - { - "keys": ["ctrl+shift+;"], - "command": "ace_jump_word" - }, - { - "keys": ["ctrl+shift+'"], - "command": "ace_jump_char" - }, - { - "keys": ["ctrl+shift+."], - "command": "ace_jump_line" - }, - { - "keys": ["ctrl+shift+,"], - "command": "ace_jump_within_line" - }, - { - "keys": ["alt+;"], - "command": "ace_jump_select" - }, - { - "keys": ["alt+'"], - "command": "ace_jump_add_cursor" - }, - { - "keys": ["alt+."], - "command": "ace_jump_after" - } +{"keys":["ctrl+shift+;" ],"command":"ace_jump_word" }, +{"keys":["ctrl+shift+'" ],"command":"ace_jump_char" }, +{"keys":["ctrl+shift+." ],"command":"ace_jump_line" }, +{"keys":["ctrl+shift+," ],"command":"ace_jump_within_line" }, +{"keys":["alt+;" ],"command":"ace_jump_select" }, +{"keys":["alt+'" ],"command":"ace_jump_add_cursor" }, +{"keys":["alt+." ],"command":"ace_jump_after" }, ] From 588355cafc6d0126fdfa623c2a91bf03d645398c Mon Sep 17 00:00:00 2001 From: eugenesvk Date: Tue, 29 Oct 2024 14:45:38 +0700 Subject: [PATCH 05/19] disable default keybinds to avoid conflicting with user configs user `ace_jump_key` setting instead --- Default (Linux).sublime-keymap | 14 +++++++------- Default (OSX).sublime-keymap | 14 +++++++------- Default (Windows).sublime-keymap | 14 +++++++------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/Default (Linux).sublime-keymap b/Default (Linux).sublime-keymap index 7567bc9..4499d4c 100644 --- a/Default (Linux).sublime-keymap +++ b/Default (Linux).sublime-keymap @@ -1,9 +1,9 @@ [ -{"keys":["ctrl+shift+;" ],"command":"ace_jump_word" }, -{"keys":["ctrl+shift+'" ],"command":"ace_jump_char" }, -{"keys":["ctrl+shift+." ],"command":"ace_jump_line" }, -{"keys":["ctrl+shift+," ],"command":"ace_jump_within_line" }, -{"keys":["alt+;" ],"command":"ace_jump_select" }, -{"keys":["alt+'" ],"command":"ace_jump_add_cursor" }, -{"keys":["alt+." ],"command":"ace_jump_after" }, +{"keys":["ctrl+shift+;" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, +{"keys":["ctrl+shift+'" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, +{"keys":["ctrl+shift+." ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, +{"keys":["ctrl+shift+," ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, +{"keys":["alt+;" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, +{"keys":["alt+'" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, +{"keys":["alt+." ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, ] diff --git a/Default (OSX).sublime-keymap b/Default (OSX).sublime-keymap index 44406c9..158675f 100644 --- a/Default (OSX).sublime-keymap +++ b/Default (OSX).sublime-keymap @@ -1,9 +1,9 @@ [ -{"keys":["super+shift+;" ],"command":"ace_jump_word" }, -{"keys":["super+shift+'" ],"command":"ace_jump_char" }, -{"keys":["super+shift+." ],"command":"ace_jump_line" }, -{"keys":["super+shift+," ],"command":"ace_jump_within_line" }, -{"keys":["ctrl+;" ],"command":"ace_jump_select" }, -{"keys":["ctrl+'" ],"command":"ace_jump_add_cursor" }, -{"keys":["ctrl+." ],"command":"ace_jump_after" }, +{"keys":["super+shift+;" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, +{"keys":["super+shift+'" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, +{"keys":["super+shift+." ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, +{"keys":["super+shift+," ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, +{"keys":["ctrl+;" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, +{"keys":["ctrl+'" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, +{"keys":["ctrl+." ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, ] diff --git a/Default (Windows).sublime-keymap b/Default (Windows).sublime-keymap index 7567bc9..4499d4c 100644 --- a/Default (Windows).sublime-keymap +++ b/Default (Windows).sublime-keymap @@ -1,9 +1,9 @@ [ -{"keys":["ctrl+shift+;" ],"command":"ace_jump_word" }, -{"keys":["ctrl+shift+'" ],"command":"ace_jump_char" }, -{"keys":["ctrl+shift+." ],"command":"ace_jump_line" }, -{"keys":["ctrl+shift+," ],"command":"ace_jump_within_line" }, -{"keys":["alt+;" ],"command":"ace_jump_select" }, -{"keys":["alt+'" ],"command":"ace_jump_add_cursor" }, -{"keys":["alt+." ],"command":"ace_jump_after" }, +{"keys":["ctrl+shift+;" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, +{"keys":["ctrl+shift+'" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, +{"keys":["ctrl+shift+." ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, +{"keys":["ctrl+shift+," ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, +{"keys":["alt+;" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, +{"keys":["alt+'" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, +{"keys":["alt+." ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, ] From 0b4b9435408d01985d032bcdec969d08eaa5fd8d Mon Sep 17 00:00:00 2001 From: eugenesvk Date: Tue, 29 Oct 2024 15:31:54 +0700 Subject: [PATCH 06/19] add new keybind defaults home-row based for more convenience and an option to have full chained modes without the need to press a prefix the second time --- Default (Linux).sublime-keymap | 29 +++++++++++++++++++++++++++++ Default (OSX).sublime-keymap | 29 +++++++++++++++++++++++++++++ Default (Windows).sublime-keymap | 29 +++++++++++++++++++++++++++++ 3 files changed, 87 insertions(+) diff --git a/Default (Linux).sublime-keymap b/Default (Linux).sublime-keymap index 4499d4c..6533314 100644 --- a/Default (Linux).sublime-keymap +++ b/Default (Linux).sublime-keymap @@ -6,4 +6,33 @@ {"keys":["alt+;" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, {"keys":["alt+'" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, {"keys":["alt+." ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + +// Chained Keycap // keycap-based mnemonics w=word + {"keys":["ctrl+j","ctrl+w" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + {"keys":["ctrl+j","ctrl+c" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + {"keys":["ctrl+j","ctrl+l" ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + {"keys":["ctrl+j","ctrl+i" ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, +// Chained Modes // + {"keys":["ctrl+j","s" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + {"keys":["ctrl+j","c" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + {"keys":["ctrl+j","a" ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + +// Chained Home (more convenient home row mode keys) + {"keys":["ctrl+j","ctrl+j" ] , "command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+k" ] , "command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+l" ] , "command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+;" ] , "command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, +// Chained Home Modes+: full chain, no need to press prefix key twice // + {"keys":["ctrl+j","ctrl+a","ctrl+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+a","ctrl+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+a","ctrl+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+a","ctrl+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+s","ctrl+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+s","ctrl+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+s","ctrl+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+s","ctrl+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+f","ctrl+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+f","ctrl+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+f","ctrl+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+f","ctrl+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, ] diff --git a/Default (OSX).sublime-keymap b/Default (OSX).sublime-keymap index 158675f..77b7cd2 100644 --- a/Default (OSX).sublime-keymap +++ b/Default (OSX).sublime-keymap @@ -6,4 +6,33 @@ {"keys":["ctrl+;" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, {"keys":["ctrl+'" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, {"keys":["ctrl+." ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + +// Chained Keycap // keycap-based mnemonics w=word + {"keys":["super+j","super+w" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + {"keys":["super+j","super+c" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + {"keys":["super+j","super+l" ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + {"keys":["super+j","super+i" ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, +// Chained Modes // + {"keys":["super+j","s" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + {"keys":["super+j","c" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + {"keys":["super+j","a" ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + +// Chained Home (more convenient home row mode keys) + {"keys":["super+j","super+j" ] , "command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["super+j","super+k" ] , "command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["super+j","super+l" ] , "command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["super+j","super+;" ] , "command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, +// Chained Home Modes+: full chain, no need to press prefix key twice // + {"keys":["super+j","super+a","super+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["super+j","super+a","super+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["super+j","super+a","super+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["super+j","super+a","super+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["super+j","super+s","super+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["super+j","super+s","super+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["super+j","super+s","super+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["super+j","super+s","super+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["super+j","super+f","super+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["super+j","super+f","super+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["super+j","super+f","super+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["super+j","super+f","super+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, ] diff --git a/Default (Windows).sublime-keymap b/Default (Windows).sublime-keymap index 4499d4c..6533314 100644 --- a/Default (Windows).sublime-keymap +++ b/Default (Windows).sublime-keymap @@ -6,4 +6,33 @@ {"keys":["alt+;" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, {"keys":["alt+'" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, {"keys":["alt+." ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + +// Chained Keycap // keycap-based mnemonics w=word + {"keys":["ctrl+j","ctrl+w" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + {"keys":["ctrl+j","ctrl+c" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + {"keys":["ctrl+j","ctrl+l" ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + {"keys":["ctrl+j","ctrl+i" ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, +// Chained Modes // + {"keys":["ctrl+j","s" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + {"keys":["ctrl+j","c" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + {"keys":["ctrl+j","a" ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + +// Chained Home (more convenient home row mode keys) + {"keys":["ctrl+j","ctrl+j" ] , "command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+k" ] , "command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+l" ] , "command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+;" ] , "command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, +// Chained Home Modes+: full chain, no need to press prefix key twice // + {"keys":["ctrl+j","ctrl+a","ctrl+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+a","ctrl+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+a","ctrl+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+a","ctrl+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+s","ctrl+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+s","ctrl+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+s","ctrl+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+s","ctrl+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+f","ctrl+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+f","ctrl+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+f","ctrl+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+f","ctrl+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, ] From 202c3d0493817c3dcda40c95ac105d061efdf825 Mon Sep 17 00:00:00 2001 From: eugenesvk Date: Tue, 29 Oct 2024 15:32:08 +0700 Subject: [PATCH 07/19] reformat default keybind --- Default (Linux).sublime-keymap | 15 ++++++++------- Default (OSX).sublime-keymap | 15 ++++++++------- Default (Windows).sublime-keymap | 15 ++++++++------- 3 files changed, 24 insertions(+), 21 deletions(-) diff --git a/Default (Linux).sublime-keymap b/Default (Linux).sublime-keymap index 6533314..1d3c2d7 100644 --- a/Default (Linux).sublime-keymap +++ b/Default (Linux).sublime-keymap @@ -1,11 +1,12 @@ [ -{"keys":["ctrl+shift+;" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, -{"keys":["ctrl+shift+'" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, -{"keys":["ctrl+shift+." ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, -{"keys":["ctrl+shift+," ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, -{"keys":["alt+;" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, -{"keys":["alt+'" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, -{"keys":["alt+." ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, +// Old defaults // + {"keys":["ctrl+shift+;" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + {"keys":["ctrl+shift+'" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + {"keys":["ctrl+shift+." ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + {"keys":["ctrl+shift+," ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + {"keys":["alt+;" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + {"keys":["alt+'" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + {"keys":["alt+." ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, // Chained Keycap // keycap-based mnemonics w=word {"keys":["ctrl+j","ctrl+w" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, diff --git a/Default (OSX).sublime-keymap b/Default (OSX).sublime-keymap index 77b7cd2..8bd3547 100644 --- a/Default (OSX).sublime-keymap +++ b/Default (OSX).sublime-keymap @@ -1,11 +1,12 @@ [ -{"keys":["super+shift+;" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, -{"keys":["super+shift+'" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, -{"keys":["super+shift+." ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, -{"keys":["super+shift+," ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, -{"keys":["ctrl+;" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, -{"keys":["ctrl+'" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, -{"keys":["ctrl+." ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, +// Old defaults // + {"keys":["super+shift+;" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + {"keys":["super+shift+'" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + {"keys":["super+shift+." ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + {"keys":["super+shift+," ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + {"keys":["ctrl+;" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + {"keys":["ctrl+'" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + {"keys":["ctrl+." ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, // Chained Keycap // keycap-based mnemonics w=word {"keys":["super+j","super+w" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, diff --git a/Default (Windows).sublime-keymap b/Default (Windows).sublime-keymap index 6533314..1d3c2d7 100644 --- a/Default (Windows).sublime-keymap +++ b/Default (Windows).sublime-keymap @@ -1,11 +1,12 @@ [ -{"keys":["ctrl+shift+;" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, -{"keys":["ctrl+shift+'" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, -{"keys":["ctrl+shift+." ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, -{"keys":["ctrl+shift+," ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, -{"keys":["alt+;" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, -{"keys":["alt+'" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, -{"keys":["alt+." ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, +// Old defaults // + {"keys":["ctrl+shift+;" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + {"keys":["ctrl+shift+'" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + {"keys":["ctrl+shift+." ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + {"keys":["ctrl+shift+," ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + {"keys":["alt+;" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + {"keys":["alt+'" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + {"keys":["alt+." ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, // Chained Keycap // keycap-based mnemonics w=word {"keys":["ctrl+j","ctrl+w" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, From 333e74530121439b5370de0f3b493500029f48b6 Mon Sep 17 00:00:00 2001 From: eugenesvk Date: Tue, 29 Oct 2024 18:53:00 +0700 Subject: [PATCH 08/19] reformat keymap --- Default (Linux).sublime-keymap | 60 ++++++++++++++++---------------- Default (OSX).sublime-keymap | 60 ++++++++++++++++---------------- Default (Windows).sublime-keymap | 60 ++++++++++++++++---------------- 3 files changed, 90 insertions(+), 90 deletions(-) diff --git a/Default (Linux).sublime-keymap b/Default (Linux).sublime-keymap index 1d3c2d7..f3ad09e 100644 --- a/Default (Linux).sublime-keymap +++ b/Default (Linux).sublime-keymap @@ -1,39 +1,39 @@ [ // Old defaults // - {"keys":["ctrl+shift+;" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, - {"keys":["ctrl+shift+'" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, - {"keys":["ctrl+shift+." ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, - {"keys":["ctrl+shift+," ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, - {"keys":["alt+;" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, - {"keys":["alt+'" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, - {"keys":["alt+." ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + {"keys":["ctrl+shift+;" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key_single","operator":"equal","operand":true},]}, + {"keys":["ctrl+shift+'" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key_single","operator":"equal","operand":true},]}, + {"keys":["ctrl+shift+." ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key_single","operator":"equal","operand":true},]}, + {"keys":["ctrl+shift+," ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key_single","operator":"equal","operand":true},]}, + {"keys":["alt+'" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key_single","operator":"equal","operand":true},]}, + {"keys":["alt+;" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key_single","operator":"equal","operand":true},]}, + {"keys":["alt+." ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key_single","operator":"equal","operand":true},]}, // Chained Keycap // keycap-based mnemonics w=word - {"keys":["ctrl+j","ctrl+w" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, - {"keys":["ctrl+j","ctrl+c" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, - {"keys":["ctrl+j","ctrl+l" ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, - {"keys":["ctrl+j","ctrl+i" ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + {"keys":["ctrl+j","ctrl+w" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key_chain","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+c" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key_chain","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+l" ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key_chain","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+i" ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key_chain","operator":"equal","operand":true},]}, // Chained Modes // - {"keys":["ctrl+j","s" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, - {"keys":["ctrl+j","c" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, - {"keys":["ctrl+j","a" ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + {"keys":["ctrl+j","c" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key_chain","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","s" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key_chain","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","a" ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key_chain","operator":"equal","operand":true},]}, // Chained Home (more convenient home row mode keys) - {"keys":["ctrl+j","ctrl+j" ] , "command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+k" ] , "command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+l" ] , "command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+;" ] , "command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+k" ] , "command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+l" ] , "command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+;" ] , "command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+j" ] , "command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, // Chained Home Modes+: full chain, no need to press prefix key twice // - {"keys":["ctrl+j","ctrl+a","ctrl+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+a","ctrl+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+a","ctrl+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+a","ctrl+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+s","ctrl+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+s","ctrl+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+s","ctrl+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+s","ctrl+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+f","ctrl+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+f","ctrl+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+f","ctrl+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+f","ctrl+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+a","ctrl+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+a","ctrl+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+a","ctrl+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+a","ctrl+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+s","ctrl+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+s","ctrl+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+s","ctrl+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+s","ctrl+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+f","ctrl+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+f","ctrl+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+f","ctrl+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+f","ctrl+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, ] diff --git a/Default (OSX).sublime-keymap b/Default (OSX).sublime-keymap index 8bd3547..f2252c7 100644 --- a/Default (OSX).sublime-keymap +++ b/Default (OSX).sublime-keymap @@ -1,39 +1,39 @@ [ // Old defaults // - {"keys":["super+shift+;" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, - {"keys":["super+shift+'" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, - {"keys":["super+shift+." ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, - {"keys":["super+shift+," ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, - {"keys":["ctrl+;" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, - {"keys":["ctrl+'" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, - {"keys":["ctrl+." ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + {"keys":["super+shift+;" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key_single","operator":"equal","operand":true},]}, + {"keys":["super+shift+'" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key_single","operator":"equal","operand":true},]}, + {"keys":["super+shift+." ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key_single","operator":"equal","operand":true},]}, + {"keys":["super+shift+," ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key_single","operator":"equal","operand":true},]}, + {"keys":["ctrl+'" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key_single","operator":"equal","operand":true},]}, + {"keys":["ctrl+;" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key_single","operator":"equal","operand":true},]}, + {"keys":["ctrl+." ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key_single","operator":"equal","operand":true},]}, // Chained Keycap // keycap-based mnemonics w=word - {"keys":["super+j","super+w" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, - {"keys":["super+j","super+c" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, - {"keys":["super+j","super+l" ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, - {"keys":["super+j","super+i" ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + {"keys":["super+j","super+w" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key_chain","operator":"equal","operand":true},]}, + {"keys":["super+j","super+c" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key_chain","operator":"equal","operand":true},]}, + {"keys":["super+j","super+l" ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key_chain","operator":"equal","operand":true},]}, + {"keys":["super+j","super+i" ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key_chain","operator":"equal","operand":true},]}, // Chained Modes // - {"keys":["super+j","s" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, - {"keys":["super+j","c" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, - {"keys":["super+j","a" ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + {"keys":["super+j","c" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key_chain","operator":"equal","operand":true},]}, + {"keys":["super+j","s" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key_chain","operator":"equal","operand":true},]}, + {"keys":["super+j","a" ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key_chain","operator":"equal","operand":true},]}, // Chained Home (more convenient home row mode keys) - {"keys":["super+j","super+j" ] , "command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["super+j","super+k" ] , "command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["super+j","super+l" ] , "command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["super+j","super+;" ] , "command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["super+j","super+k" ] , "command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["super+j","super+l" ] , "command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["super+j","super+;" ] , "command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["super+j","super+j" ] , "command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, // Chained Home Modes+: full chain, no need to press prefix key twice // - {"keys":["super+j","super+a","super+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["super+j","super+a","super+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["super+j","super+a","super+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["super+j","super+a","super+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["super+j","super+s","super+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["super+j","super+s","super+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["super+j","super+s","super+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["super+j","super+s","super+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["super+j","super+f","super+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["super+j","super+f","super+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["super+j","super+f","super+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["super+j","super+f","super+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["super+j","super+a","super+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["super+j","super+a","super+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["super+j","super+a","super+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["super+j","super+a","super+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["super+j","super+s","super+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["super+j","super+s","super+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["super+j","super+s","super+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["super+j","super+s","super+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["super+j","super+f","super+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["super+j","super+f","super+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["super+j","super+f","super+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["super+j","super+f","super+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, ] diff --git a/Default (Windows).sublime-keymap b/Default (Windows).sublime-keymap index 1d3c2d7..f3ad09e 100644 --- a/Default (Windows).sublime-keymap +++ b/Default (Windows).sublime-keymap @@ -1,39 +1,39 @@ [ // Old defaults // - {"keys":["ctrl+shift+;" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, - {"keys":["ctrl+shift+'" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, - {"keys":["ctrl+shift+." ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, - {"keys":["ctrl+shift+," ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, - {"keys":["alt+;" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, - {"keys":["alt+'" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, - {"keys":["alt+." ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"old"},]}, + {"keys":["ctrl+shift+;" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key_single","operator":"equal","operand":true},]}, + {"keys":["ctrl+shift+'" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key_single","operator":"equal","operand":true},]}, + {"keys":["ctrl+shift+." ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key_single","operator":"equal","operand":true},]}, + {"keys":["ctrl+shift+," ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key_single","operator":"equal","operand":true},]}, + {"keys":["alt+'" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key_single","operator":"equal","operand":true},]}, + {"keys":["alt+;" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key_single","operator":"equal","operand":true},]}, + {"keys":["alt+." ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key_single","operator":"equal","operand":true},]}, // Chained Keycap // keycap-based mnemonics w=word - {"keys":["ctrl+j","ctrl+w" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, - {"keys":["ctrl+j","ctrl+c" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, - {"keys":["ctrl+j","ctrl+l" ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, - {"keys":["ctrl+j","ctrl+i" ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + {"keys":["ctrl+j","ctrl+w" ],"command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key_chain","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+c" ],"command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key_chain","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+l" ],"command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key_chain","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+i" ],"command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key_chain","operator":"equal","operand":true},]}, // Chained Modes // - {"keys":["ctrl+j","s" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, - {"keys":["ctrl+j","c" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, - {"keys":["ctrl+j","a" ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_keycap"},]}, + {"keys":["ctrl+j","c" ],"command":"ace_jump_add_cursor" ,"context":[{"key":"setting.ace_jump_key_chain","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","s" ],"command":"ace_jump_select" ,"context":[{"key":"setting.ace_jump_key_chain","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","a" ],"command":"ace_jump_after" ,"context":[{"key":"setting.ace_jump_key_chain","operator":"equal","operand":true},]}, // Chained Home (more convenient home row mode keys) - {"keys":["ctrl+j","ctrl+j" ] , "command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+k" ] , "command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+l" ] , "command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+;" ] , "command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+k" ] , "command":"ace_jump_word" ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+l" ] , "command":"ace_jump_char" ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+;" ] , "command":"ace_jump_line" ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+j" ] , "command":"ace_jump_within_line" ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, // Chained Home Modes+: full chain, no need to press prefix key twice // - {"keys":["ctrl+j","ctrl+a","ctrl+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+a","ctrl+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+a","ctrl+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+a","ctrl+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+s","ctrl+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+s","ctrl+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+s","ctrl+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+s","ctrl+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+f","ctrl+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+f","ctrl+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+f","ctrl+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, - {"keys":["ctrl+j","ctrl+f","ctrl+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key","operator":"equal","operand":"chain_home"},]}, + {"keys":["ctrl+j","ctrl+a","ctrl+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+a","ctrl+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+a","ctrl+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+a","ctrl+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_add_cursor" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+s","ctrl+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+s","ctrl+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+s","ctrl+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+s","ctrl+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_select" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+f","ctrl+k" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_word" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+f","ctrl+l" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_char" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+f","ctrl+;" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_line" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, + {"keys":["ctrl+j","ctrl+f","ctrl+j" ],"command":"chain","args":{"commands":[{"command":"ace_jump_after" },{"command":"ace_jump_within_line" }]} ,"context":[{"key":"setting.ace_jump_key_chome","operator":"equal","operand":true},]}, ] From 43513cc4995c2cce9c5130953d2f21db336c80f7 Mon Sep 17 00:00:00 2001 From: eugenesvk Date: Tue, 29 Oct 2024 19:06:17 +0700 Subject: [PATCH 09/19] add keybinds to Readme --- README.md | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f431ff5..d2fc255 100644 --- a/README.md +++ b/README.md @@ -109,8 +109,26 @@ In order to access AceJump settings, go to ```Preferences > Package Settings > A ### Key bindings -Go to ```Preferences > Package Settings > AceJump > Key Bindings - User```. -You can then override the bindings for any of the following commands: +Default keybindings are disabled to avoid conflicts with your other keybinds, you can enable them by adding __either__ of the following settings to your `Preferences.sublime-settings` file via `Preferences: Settings` command palette command (NOT `AceJump.sublime-settings`): + + - `"ace_jump_key_single":true,` every command mapped to a single key combo + - `"ace_jump_key_chain" :true,` j as a prefix key ( on a Mac) with letter-based "mnemonics" like `W`ord + - `"ace_jump_key_chome" :true,` j as a prefix key ( on a Mac) with more convenient home-row based locations + +| Command | Single | Chain | CHome | +|------------------------ |-------------------------------------- |-------------------------------------------------- |----------------------------------------------------------------------------------------------------------------------------- | +| `ace_jump_word` | ; | j, w | j, k | +| `ace_jump_char` | ' | j, c | j, l | +| `ace_jump_line` | . | j, l | j, ; | +| `ace_jump_within_line` | , | j, i | j, j | +| ↓ Modes | | | | +| `ace_jump_add_cursor` | ' | j, c | j, a, k[^1] or l or ; or j | +| `ace_jump_select` | ; | j, s | j, s, k[^1] or l or ; or j | +| `ace_jump_after` | . | j, a | j, f, k[^1] or l or ; or j | + +[^1]: instead of enabling a mode completes the sequence in one keybind + +Or you can then override the bindings for any of the following commands via ```Preferences > Package Settings > AceJump > Key Bindings - User```: - ```ace_jump_word``` - ```ace_jump_char``` From a071641d25dd386328b60ad21f78c33825e899e6 Mon Sep 17 00:00:00 2001 From: eugenesvk Date: Tue, 29 Oct 2024 19:27:35 +0700 Subject: [PATCH 10/19] reformat default settings --- AceJump.sublime-settings | 89 +++++++++++++++++----------------------- 1 file changed, 38 insertions(+), 51 deletions(-) diff --git a/AceJump.sublime-settings b/AceJump.sublime-settings index 20b8501..a31b760 100644 --- a/AceJump.sublime-settings +++ b/AceJump.sublime-settings @@ -1,54 +1,41 @@ { - // Characters to be used as labels in order they'll appear - "labels": "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", +// Characters to be used as labels in order they'll appear +"labels" : "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", +"labels_scope" : "invalid" , // Syntax highlighting scope for the labels +"search_case_sensitivity" : true , // Toggles case sensitive search in word and character modes. +"save_files_after_jump" : false , // Saves all the files aceJump tried to parse. This setting will reset any linter warnings you might see during jump. By saving all effected files +"jump_behind_last_characters" : false , // If turned on, character mode will jump after a character it it's the last character on a line. - // Syntax highlighting scope for the labels - "labels_scope": "invalid", - - // Toggles case sensitive search in word and character modes. - "search_case_sensitivity": true, - - // Saves all the files aceJump tried to parse. - // This setting will reset any linter warnings you might see during jump - // By saving all effected files - "save_files_after_jump": false, - - // If turned on, character mode will jump after a character - // it it's the last character on a line. - "jump_behind_last_characters": false, - - // View settings that should be respected when switching the syntax - // highlighting mode. In case a plugin you use adds a new - // setting to a view, you probably want to add it to this list. - "view_settings": [ - "auto_indent", - "tab_size", - "translate_tabs_to_spaces", - "use_tab_stops", - "trim_automatic_white_space", - "detect_indentation", - "draw_white_space", - "trim_trailing_white_space_on_save", - "always_show_minimap_viewport", - "color_scheme", - "font_face", - "font_options", - "gutter", - "rulers", - "draw_minimap_border", - "highlight_line", - "line_padding_top", - "line_padding_bottom", - "scroll_past_end", - "line_numbers", - "word_wrap", - "wrap_width", - "indent_subsequent_lines", - "draw_centered", - "match_brackets", - "match_brackets_content", - "match_brackets_square", - "match_brackets_braces", - "match_brackets_angle", - ] +// View settings that should be respected when switching the syntax highlighting mode. In case a plugin you use adds a new setting to a view, you probably want to add it to this list. +"view_settings": [ + "auto_indent", + "tab_size", + "translate_tabs_to_spaces", + "use_tab_stops", + "trim_automatic_white_space", + "detect_indentation", + "draw_white_space", + "trim_trailing_white_space_on_save", + "always_show_minimap_viewport", + "color_scheme", + "font_face", + "font_options", + "gutter", + "rulers", + "draw_minimap_border", + "highlight_line", + "line_padding_top", + "line_padding_bottom", + "scroll_past_end", + "line_numbers", + "word_wrap", + "wrap_width", + "indent_subsequent_lines", + "draw_centered", + "match_brackets", + "match_brackets_content", + "match_brackets_square", + "match_brackets_braces", + "match_brackets_angle", +] } From 97a5afaad7589cdfc942454f98881b7ed22f7925 Mon Sep 17 00:00:00 2001 From: eugenesvk Date: Tue, 29 Oct 2024 19:40:04 +0700 Subject: [PATCH 11/19] add command palette commands to open settings/keybinds --- Default.sublime-commands | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 Default.sublime-commands diff --git a/Default.sublime-commands b/Default.sublime-commands new file mode 100644 index 0000000..d789487 --- /dev/null +++ b/Default.sublime-commands @@ -0,0 +1,14 @@ +[ +{"caption":"Preferences: AceJump Settings" ,"command":"edit_settings" ,"args":{ + "base_file":"${packages}/AceJump/AceJump.sublime-settings", + "user_file":"${packages}/User/AceJump.sublime-settings", + "default" :"{\n\t$0\n}\n"}}, +{"caption":"Preferences: AceJump Settings: User" ,"command":"open_file" ,"args":{"file":"${packages}/User/AceJump.sublime-settings"}}, +{"caption":"Preferences: AceJump Settings: Default" ,"command":"open_file" ,"args":{"file":"${packages}/AceJump/AceJump.sublime-settings"}}, +{"caption":"Preferences: AceJump Keybinds: Default" ,"command":"open_file" ,"args":{"file":"${packages}/AceJump/Default (${platform}).sublime-keymap"}}, +{"caption":"Preferences: AceJump Keybinds: User" ,"command":"open_file" ,"args":{"file":"${packages}/User/Default (${platform}).sublime-keymap"}}, +{"caption":"Preferences: AceJump Keybinds" ,"command":"edit_settings" ,"args":{ + "base_file":"${packages}/AceJump/Default (${platform}).sublime-keymap", + "user_file":"${packages}/User/Default (${platform}).sublime-keymap", + "default" :"{\n\t$0\n}\n"}}, +] From e47abe0f71b3951926c097947d36ff0aa9b962e1 Mon Sep 17 00:00:00 2001 From: eugenesvk Date: Tue, 29 Oct 2024 19:40:10 +0700 Subject: [PATCH 12/19] update Readme --- README.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d2fc255..0ef042a 100644 --- a/README.md +++ b/README.md @@ -105,7 +105,14 @@ In case there are more places to jump to than labels available, labels will be b ## Customization -In order to access AceJump settings, go to ```Preferences > Package Settings > AceJump > Settings - User```. +In order to access AceJump settings, go to ```Preferences > Package Settings > AceJump > Settings - User``` or open command palette commands: + + - `Preferences: AceJump Settings` to open default and user settings side-by-side + - `Preferences: AceJump Settings: Default` + - `Preferences: AceJump Settings: User` + - `Preferences: AceJump Keybinds: Default` to open default and user (common `Default (OSX).sublime-keymap` file, not AceJump-specific) keybinds side-by-side + - `Preferences: AceJump Keybinds: User` + - `Preferences: AceJump Keybinds` ### Key bindings From 619b6ebe25f4268677ef9338f62ff9b558639d7d Mon Sep 17 00:00:00 2001 From: eugenesvk Date: Wed, 30 Oct 2024 00:39:23 +0700 Subject: [PATCH 13/19] add popup helper --- helper/popup.py | 52 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 helper/popup.py diff --git a/helper/popup.py b/helper/popup.py new file mode 100644 index 0000000..97e2c04 --- /dev/null +++ b/helper/popup.py @@ -0,0 +1,52 @@ +import sublime, sublime_plugin + +re_sp = re.compile(r'\s+') +DEF = dict( + enable = True + ,prefix = '' + ,template = '''{prefix}{count}''' + ,maxwidth = 80 + ,maxheight = 30 +) +import copy +CFG = copy.deepcopy(DEF) # copy defaults to be able to reset values on config reload + +from sublime import active_window, PopupFlags +def get_popup_html(sym) -> str: + return CFG['template'].format_map(dict(prefix=CFG['prefix'],count=sym)) +def show_popup_mode(view:sublime.View, sym:str, point:int=-1) -> None: + cfg = sublime.load_settings("AceJump.sublime-settings") + if not cfg.get("popup_mode",False): + return + cfg_flag = re.split(re_sp,cfg.get("popup_flag","").lower()) + flags = PopupFlags.KEEP_ON_SELECTION_MODIFIED + # todo: move ↓ to a loading function instead of parsing each time + for key in [ "NONE" ,"no" ]: # + if key in cfg_flag: # + flags |= PopupFlags.NONE # + for key in [ "COOPERATE_WITH_AUTO_COMPLETE","acompl" ]: # Causes the popup to display next to the auto complete menu + if key in cfg_flag: # + flags |= PopupFlags.COOPERATE_WITH_AUTO_COMPLETE # + for key in [ "HIDE_ON_MOUSE_MOVE" ,"hmo" ]: # Causes the popup to hide when the mouse is moved, clicked or scrolled + if key in cfg_flag: # + flags |= PopupFlags.HIDE_ON_MOUSE_MOVE # + for key in [ "HIDE_ON_MOUSE_MOVE_AWAY" ,"hma" ]: # Causes the popup to hide when the mouse is moved (unless towards the popup), or when clicked or scrolled + if key in cfg_flag: # + flags |= PopupFlags.HIDE_ON_MOUSE_MOVE_AWAY # + for key in [ "KEEP_ON_SELECTION_MODIFIED" ,"ksel" ]: # Prevent the popup from hiding when the selection is modified 4057 + if key in cfg_flag: # + flags |= PopupFlags.KEEP_ON_SELECTION_MODIFIED # + for key in [ "HIDE_ON_CHARACTER_EVENT" ,"hc" ]: # Hide the popup when a character is typed 4057 + if key in cfg_flag: # + flags |= PopupFlags.HIDE_ON_CHARACTER_EVENT # + + if sym: + view.show_popup( + content = get_popup_html(sym) # str + ,flags = flags # + ,location = point # Point -1 + ,max_width = CFG['maxwidth'] # DIP + ,max_height = CFG['maxheight'] # DIP + ) + else: + view.hide_popup() From 1b82ab15fb8017b8b5f600c84a26b9433d702a3d Mon Sep 17 00:00:00 2001 From: eugenesvk Date: Tue, 29 Oct 2024 16:33:03 +0700 Subject: [PATCH 14/19] add support for popup/status message when mode is enabled --- ace_jump.py | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/ace_jump.py b/ace_jump.py index 82b039c..50bc791 100644 --- a/ace_jump.py +++ b/ace_jump.py @@ -1,5 +1,6 @@ import sublime, sublime_plugin import re, itertools +from AceJump.helper.popup import show_popup_mode last_index = 0 hints = [] @@ -109,6 +110,10 @@ def run(self, current_buffer_only = False): self.view_settings ) + self.status_mode = settings.get('status_mode' , False) + self.status_name =(settings.get('status_prefix', '' ) + 'AceJump') if self.status_mode else '' + self.popup_mode = settings.get('popup_mode' , False) + self.show_prompt(self.prompt(), self.init_value()) def is_enabled(self): @@ -259,6 +264,13 @@ def get_region_type(self): return "visible_region" + def reset_indicator(self, view, mode): # reset popup/status + if view and mode: + if self.popup_mode: + show_popup_mode(view, "") + if self.status_mode: + view.set_status(self.status_name, "") + class AceJumpWordCommand(AceJumpCommand): """Specialized command for word-mode""" @@ -274,6 +286,7 @@ def regex(self): def after_jump(self, view): global mode + self.reset_indicator(view,mode) if mode == 3: view.run_command("move", {"by": "word_ends", "forward": True}) mode = 0 @@ -293,6 +306,7 @@ def regex(self): def after_jump(self, view): global mode + self.reset_indicator(view,mode) if mode == 3: view.run_command("move", {"by": "characters", "forward": True}) mode = 0 @@ -321,6 +335,7 @@ def regex(self): def after_jump(self, view): global mode + self.reset_indicator(view,mode) if mode == 3: view.run_command("move", {"by": "lines", "forward": True}) view.run_command("move", {"by": "characters", "forward": False}) @@ -341,6 +356,7 @@ def regex(self): def after_jump(self, view): global mode + self.reset_indicator(view,mode) if mode == 3: view.run_command("move", {"by": "word_ends", "forward": True}) mode = 0 @@ -354,24 +370,78 @@ class AceJumpSelectCommand(sublime_plugin.WindowCommand): def run(self): global mode + win = self.window + view = win.active_view() #‽optional mode = 0 if mode == 1 else 1 + cfg = sublime.load_settings("AceJump.sublime-settings") + status_mode = cfg.get('status_mode', False) + icon = cfg.get("icon_select",'▋') #❙❚ + status_name =(cfg.get('status_prefix', '') + 'AceJump') if status_mode else '' + popup_mode = cfg.get('popup_mode' , False) + if view: + if mode: # show popup/status + if popup_mode: + show_popup_mode(view, icon) + if status_mode: + view.set_status(status_name, icon) + else: # reset + if popup_mode: + show_popup_mode(view, "") + if status_mode: + view.set_status(status_name, "") class AceJumpAddCursorCommand(sublime_plugin.WindowCommand): """Command for turning on multiple cursor mode""" def run(self): global mode + win = self.window + view = win.active_view() #‽optional mode = 0 if mode == 2 else 2 + cfg = sublime.load_settings("AceJump.sublime-settings") + status_mode = cfg.get('status_mode', False) + icon = cfg.get("icon_cursor",'⎀') #|❘❙❚ + status_name =(cfg.get('status_prefix', '') + 'AceJump') if status_mode else '' + popup_mode = cfg.get('popup_mode' , False) + if view: + if mode: # show popup/status + if popup_mode: + show_popup_mode(view, icon) + if status_mode: + view.set_status(status_name, icon) + else: # reset + if popup_mode: + show_popup_mode(view, "") + if status_mode: + view.set_status(status_name, "") class AceJumpAfterCommand(sublime_plugin.WindowCommand): """Modifier-command which lets you jump behind a character, word or line""" def run(self): global mode + win = self.window + view = win.active_view() #‽optional mode = 0 if mode == 3 else 3 + cfg = sublime.load_settings("AceJump.sublime-settings") + status_mode = cfg.get('status_mode', False) + icon = cfg.get("icon_after",'↷') #↶ + status_name =(cfg.get('status_prefix', '') + 'AceJump') if status_mode else '' + popup_mode = cfg.get('popup_mode' , False) + if view: + if mode: # show popup/status + if popup_mode: + show_popup_mode(view, icon) + if status_mode: + view.set_status(status_name, icon) + else: # reset + if popup_mode: + show_popup_mode(view, "") + if status_mode: + view.set_status(status_name, "") class AddAceJumpLabelsCommand(sublime_plugin.TextCommand): """Command for adding labels to the views""" From d9eee150df19b5d730612ed7d36c02358184ec16 Mon Sep 17 00:00:00 2001 From: eugenesvk Date: Wed, 30 Oct 2024 00:38:17 +0700 Subject: [PATCH 15/19] add popup/status message settings --- AceJump.sublime-settings | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/AceJump.sublime-settings b/AceJump.sublime-settings index a31b760..9a24064 100644 --- a/AceJump.sublime-settings +++ b/AceJump.sublime-settings @@ -5,6 +5,20 @@ "search_case_sensitivity" : true , // Toggles case sensitive search in word and character modes. "save_files_after_jump" : false , // Saves all the files aceJump tried to parse. This setting will reset any linter warnings you might see during jump. By saving all effected files "jump_behind_last_characters" : false , // If turned on, character mode will jump after a character it it's the last character on a line. +"popup_mode" : true ,// show near-cursor-popup when mode is enabled (ace_jump_add_cursor, ace_jump_select, ace_jump_after) +"status_mode" : true ,// show status bar indicatro when mode is enabled (ace_jump_add_cursor, ace_jump_select, ace_jump_after) +"status_prefix" : "" ,// status bar indicators are ordered by their name, custom prefix allows changing the location of AceJump's status bar +"icon_cursor" :"⎀" ,// +"icon_select" :"▋" ,// +"icon_after" :"↷" ,// +"popup_flag" :"ksel" ,// space-separated list of popup flags + // Name full short Comment (≝ default) + // NONE no . + // COOPERATE_WITH_AUTO_COMPLETE acompl display next to the auto complete menu + // HIDE_ON_MOUSE_MOVE hmo hide when the mouse is moved, clicked or scrolled + // HIDE_ON_MOUSE_MOVE_AWAY hma hide when the mouse is moved (unless towards the popup), or when clicked or scrolled + // KEEP_ON_SELECTION_MODIFIED ksel ≝don't hide when the selection is modified 4057 + // HIDE_ON_CHARACTER_EVENT hc hide the popup when a character is typed 4057 // View settings that should be respected when switching the syntax highlighting mode. In case a plugin you use adds a new setting to a view, you probably want to add it to this list. "view_settings": [ From 8555fe71316d6d919e81353e27f96341b2358dd2 Mon Sep 17 00:00:00 2001 From: eugenesvk Date: Wed, 30 Oct 2024 00:44:07 +0700 Subject: [PATCH 16/19] fix a typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0ef042a..8baa045 100644 --- a/README.md +++ b/README.md @@ -153,7 +153,7 @@ You can override the ```labels``` setting to provide your own set of labels to b ### Highlighting -You can also set the syntsx scope that's used for highlighting by overriding ```labels_scope```. The default scope is ```invalid```. +You can also set the syntax scope that's used for highlighting by overriding ```labels_scope```. The default scope is ```invalid```. ### Case sensitivity From 78aaa481dab195487d992392d58431091ad35e02 Mon Sep 17 00:00:00 2001 From: eugenesvk Date: Wed, 30 Oct 2024 00:58:46 +0700 Subject: [PATCH 17/19] add popup image --- img/popup.png | Bin 0 -> 9905 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/popup.png diff --git a/img/popup.png b/img/popup.png new file mode 100644 index 0000000000000000000000000000000000000000..9272477cfc6558110096b192f3e2089686590bc2 GIT binary patch literal 9905 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 literal 0 HcmV?d00001 From 14b5f62b5ef07559e5f93c1af2a02e673323ab49 Mon Sep 17 00:00:00 2001 From: eugenesvk Date: Wed, 30 Oct 2024 00:58:52 +0700 Subject: [PATCH 18/19] update Readme --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 8baa045..9fa1748 100644 --- a/README.md +++ b/README.md @@ -151,6 +151,10 @@ The commands accept an optional Boolean `current_buffer_only` argument. When pre You can override the ```labels``` setting to provide your own set of labels to be used by AceJump. +### Indicators + +When invoking 3 mode commands (`ace_jump_select`, `ace_jump_add_cursor`, and `ace_jump_after`) you can have visual indicators that a mode is on via a popup menu (e.g., when selection is on you'd see a ▋ symbol ![popup](./img/popup.png)) or in the statubar by setting `popup_mode` and `status_mode` settings. There are also additional settings for more control of these indicators, see `Preferences: AceJump Settings: Default` + ### Highlighting You can also set the syntax scope that's used for highlighting by overriding ```labels_scope```. The default scope is ```invalid```. From 097f70bbcb278eb5bb95e878453c35a5e8fde92f Mon Sep 17 00:00:00 2001 From: eugenesvk Date: Wed, 30 Oct 2024 01:57:49 +0700 Subject: [PATCH 19/19] add missing import --- helper/popup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/helper/popup.py b/helper/popup.py index 97e2c04..03fc087 100644 --- a/helper/popup.py +++ b/helper/popup.py @@ -1,3 +1,4 @@ +import re import sublime, sublime_plugin re_sp = re.compile(r'\s+')