summaryrefslogtreecommitdiff
path: root/helix-term/src/keymap.rs
Commit message (Collapse)AuthorAge
* Align selections via & (#1101)Bob2021-11-23
| | | | | | | | | | | | | | | | | | | | | * align lines * remove log statement * use selections to align * fix a clippy issue * only accept 1,2,3 as user count * Update helix-term/src/commands.rs Co-authored-by: Ivan Tham <pickfire@riseup.net> * return if user count is not correct * add doc Co-authored-by: Ivan Tham <pickfire@riseup.net>
* Add command to inc/dec number under cursor (#1027)Jason Hansen2021-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add command to inc/dec number under cursor With the cursor over a number in normal mode, Ctrl + A will increment the number and Ctrl + X will decrement the number. It works with binary, octal, decimal, and hexidecimal numbers. Here are some examples. 0b01110100 0o1734 -24234 0x1F245 If the number isn't over a number it will try to find a number after the cursor on the same line. * Move several functions to helix-core * Change to work based on word under selection * It no longer finds the next number if the cursor isn't already over a number. * It only matches numbers that are part of words with other characters like "foo123bar". * It now works with multiple selections. * Add some unit tests * Fix for clippy * Simplify some things * Keep previous selection after incrementing * Use short word instead of long word This change requires us to manually handle minus sign. * Don't pad decimal numbers if no leading zeros * Handle numbers with `_` separators * Refactor and add tests * Move most of the code into core * Add tests for the incremented output * Use correct range * Formatting * Rename increment functions * Make docs more specific * This is easier to read * This is clearer * Type can be inferred
* Readline style insert mode (#1039)Bob2021-11-15
| | | | | | | | | | | | | | | | | | | | | * readline style insert mode * update keymap.md * don't save change history in insert mode * Revert "don't save change history in insert mode" This reverts commit cb47f946d7fb62ceda68e7d1692a3914d0be7762. * don't affect register and history in insert mode * add insert_register * don't call exit_select_mode in insert mode * avoid set_selection * avoid duplicated current!
* Add movement shortcut for history (#1088)Ivan Tham2021-11-14
| | | alt-u and alt-U
* Add trim_selections command (#1092)ath32021-11-14
|
* Added workspace_symbol_picker (#1041)Ebbe Steenhoudt2021-11-14
| | | | | | | * Added workspace_symbol_picker * Moved truncation of the symbol pickers to the end. * Fixed typo
* Implement "Goto last modification" command (#1067)ath32021-11-14
|
* fix: shift-tab mappings broken after efc2b4c7Blaž Hrastnik2021-11-12
|
* Add arrow keys to view mode (#987)NexiNov2021-11-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add arrow keys to view mode * Drop C-up and C-down * Update docs for #987 * Format correctly * Drop other keymaps * Correct keymap.md * Add arrow keys to view mode Drop C-up and C-down Update docs for #987 Format correctly Drop other keymaps Correct keymap.md Rebase Co-authored-by: Rust & Python <nexinov@localhost.gud-o15> Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* Add `remove_selections` command (#1065)Omnikar2021-11-12
| | | | | | | | | * Add `remove_selections` command * Document `remove_selections` * Update helix-term/src/keymap.rs Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* Allow keys to be mapped to sequences of commands (#589)Omnikar2021-11-11
| | | | | | | | | * Allow keys to be mapped to sequences of commands * Handle `Sequence` at the start of `Keymap::get` * Use `"[Multiple commands]"` as command sequence doc * Add command sequence example to `remapping.md`
* add wonly -- window only (#1057)Bob2021-11-11
| | | | | | | | | | | | | * add wonly * Update book/src/keymap.md Co-authored-by: Blaž Hrastnik <blaz@mxxn.io> * add `wonly` to space w mode too * remove the TODO Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* Refactor keyevent handling using key, ctrl macros (#1058)Gokul Soumya2021-11-10
| | | | | | Adds ctrl! and alt! macros (which existed before the big keymap refactor) and uses them in event handling of Components. Note that this converts crossterm's KeyEvent to our own KeyEvent on each invocation of handle_event in Components.
* Ensure that identical keymaps stay in sync (#1056)Gokul Soumya2021-11-10
| | | | | | | Space mode and view mode are duplicated on two different keybinds, and they tend to get out of sync by contributers forgetting to update both of them. This commit adds a test that explicitly checks that they are identical. Prevents issues like #1050.
* Check for duplicate keys in default keymapGokul Soumya2021-11-10
|
* Change page keybinds in view modeGokul Soumya2021-11-10
| | | | | | | b which was assigned to page_up conflicts with align to bottom, so this commit replaces page up, down, etc keybinds to use normal mode keybinds (C-f, C-b, etc) in view mode too.
* Update `space w` window mode (#1050)Omnikar2021-11-10
|
* Add LSP rename_symbol (space-r) (#1011)CossonLeo2021-11-08
| | | improve apply_workspace_edit
* minor: Extend search was decclared twice in the keymapBlaž Hrastnik2021-11-06
|
* Add reverse search functionality (#958)Gygaxis Vainhardt2021-11-06
| | | | | | | | | | | | | * Add reverse search functionality * Change keybindings for extend to be in select mode, incorporate Movement and Direction enums * Fix accidental revert of #948 in rebase * Add reverse search to docs, clean up mismatched whitespace * Reverse search optimization * More optimization via github feedback
* Implement "Goto next buffer / Goto previous buffer" commandsath32021-11-04
|
* Hide keys bound to `no_op` from infobox (#971)Omnikar2021-11-04
|
* Simplify BTreeSet constructionTriton1712021-11-03
| | | Co-authored-by: Ivan Tham <pickfire@riseup.net>
* Implement key ordering for info boxDaniel Ebert2021-11-03
|
* Add arrow-key bindings for window switching (#933)Gygaxis Vainhardt2021-10-30
|
* Use deserialization fix insteadNehliin2021-10-28
|
* Apply suggestions from code reviewOskar Nehlin2021-10-28
| | | Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* Make key macro more portableNehliin2021-10-28
|
* Fix order being empty and add testNehliin2021-10-28
|
* Move test to test moduleNehliin2021-10-28
|
* Fix panic when using multi-level key mappingNehliin2021-10-28
|
* find motion and textobj motion repeat (#891)CossonLeo2021-10-24
|
* Add commands for moving between splits with a direction (#860)Oskar Nehlin2021-10-23
| | | | | | | | | * Add commands for moving between splits with a direction * Update keymaps * Change picker mapping * Add test and clean up some comments
* Implement 'remove_primary_selection' as Alt-,Blaž Hrastnik2021-09-24
| | | | | | This allows removing search matches from the selection Fixes #713
* experiment: space+k for LSP doc, K for keep_selectionsBlaž Hrastnik2021-09-24
|
* experiment: Move keep_primary_selection to ,Blaž Hrastnik2021-09-24
|
* Initial implementation of global search (#651)Leoi Hung Kin2021-09-21
| | | | | | | | | | | * initial implementation of global search * use tokio::sync::mpsc::unbounded_channel instead of Arc, Mutex, Waker poll_fn * use tokio_stream::wrappers::UnboundedReceiverStream to collect all search matches * regex_prompt: unified callback; refactor * global search doc
* feat: Sticky view mode with Z (#719)Gokul Soumya2021-09-10
|
* Add command to extend to line start or end (#717)Kangwook Lee (이강욱)2021-09-07
|
* Fix escape not exiting insert mode (#712)Gokul Soumya2021-09-05
| | | | | Regression due to #635 where escape key in insert mode would not exit normal mode. This happened due to hard coding the escape key to cancel a sticky keymap node.
* Add a sticky mode for keymaps (#635)Gokul Soumya2021-09-05
|
* Add commands that extends to long words (#706)Kangwook Lee (이강욱)2021-09-04
|
* add_newline unimpaired mapping (#653)oberblastmeister2021-09-01
| | | | | | | | | | | | | | | | | | | * added some keymaps * remove * remove wrong mappings * remove * wrong import * use enum * correct line ending * added to book * column
* Shell commands (#547)Omnikar2021-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Implement shell interaction commands * Use slice instead of iterator for shell invocation * Default to `sh` instead of `$SHELL` for shell commands * Enforce trailing comma in `commands` macro * Use `|` register for shell commands * Move shell config to `editor` and use in command * Update shell command prompts * Remove clone of shell config * Change shell function names to match prompts * Log stderr contents upon external command error * Remove `unwrap` calls on potential common errors `shell` will no longer panic if: * The user-configured shell cannot be found * The shell command does not output UTF-8 * Remove redundant `pipe` parameter * Rename `ShellBehavior::None` to `Ignore` * Display error when shell command is used and `shell = []` * Document shell commands in `keymap.md`
* Make `v` in select mode switch back to normal mode (#660)Omnikar2021-08-27
| | | | | * Make `v` in select mode switch back to normal mode * Move select mode toggle to keymap instead of command
* Refactor infobox rendering and parsing (#579)Gokul Soumya2021-08-17
|
* Resolve a couple TODOsBlaž Hrastnik2021-08-08
|
* Implement alt-( and alt-) to rotate selection contentsBlaž Hrastnik2021-08-08
|
* Implement selection rotation with `(` and `)`Blaž Hrastnik2021-08-06
|
* Refactor copy selection verticallyBlaž Hrastnik2021-08-05
|