aboutsummaryrefslogtreecommitdiff
path: root/helix-term/src/commands.rs
Commit message (Collapse)AuthorAge
* feat(commands): shrink_selection (#1340)Matouš Dzivjak2022-01-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat(commands): shrink_selection Add `shrink_selection` command that can be used to shrink previously expanded selection. To make `shrink_selection` work it was necessary to add selection history to the Document since we want to shrink the selection towards the syntax tree node that was initially selected. Selection history is cleared any time the user changes selection other way than by `expand_selection`. This ensures that we don't get some funky edge cases when user calls `shrink_selection`. Related: https://github.com/helix-editor/helix/discussions/1328 * Refactor shrink_selection, move history to view * Remove useless comment * Add default key mapping for extend&shrink selection * Rework contains_selection method * Shrink selection without expand selects first child
* fix slash in search selector status message (#1449)Stuart Hinson2022-01-06
|
* fix: Only use shellwords parsing on unix platformsBlaž Hrastnik2022-01-05
|
* scroll: change only main selection, only when needed (#1420)Mathis Brossier2022-01-03
| | | Co-authored-by: mathis <mathis.brossier@universite-paris-saclay.fr>
* Add `:cquit!` command and prevent `:cquit` from ignoring unsaved changes (#1414)Omnikar2022-01-03
| | | | | * Add `:cquit!` command and prevent `:cquit` from ignoring unsaved changes * `cargo xtask docgen`
* Add basic indentation for languages without treesitter-based indentation ↵Triton1712022-01-03
| | | | | | | rules (always use the indent of the current line for a new line). (#1341) Fix several bugs in the treesitter indentation calculation. Co-authored-by: Triton171 <triton0171@gmail.com>
* switch redundant current! usage to doc! (#1416)Kirawi2022-01-03
|
* Detect workspace root using language markers (#1370)Alexis Mousset2021-12-31
| | | | | | | | | | | | | | | | * Detect workspace root using language markers * Avoid allocating root_markers * Update helix-core/src/lib.rs Co-authored-by: Blaž Hrastnik <blaz@mxxn.io> * Update helix-core/src/lib.rs Co-authored-by: Kirawi <67773714+kirawi@users.noreply.github.com> Co-authored-by: Blaž Hrastnik <blaz@mxxn.io> Co-authored-by: Kirawi <67773714+kirawi@users.noreply.github.com>
* Don't just filter commands by fuzzy match, also order the matchesBlaž Hrastnik2021-12-30
|
* Fix: when goto normal mode, only want to remove indentation if the line is ↵WindSoilder2021-12-29
| | | | | | | blank with no text following (#1349) * when opened new line contains other characters after current position, don't dedent * abstract checking logic
* Use a fuzzy matcher for commands (#1386)Stuart Hinson2021-12-29
| | | | | | | * Use a fuzzy matcher for commands * Take Clippy up on its suggestion * Rescope FUZZY_MATCHER
* feat(commands): ensure_selections_forward (#1393)Matouš Dzivjak2021-12-29
| | | | | | | | | | | | | * feat(commands): ensure_selections_forward Add command that ensures that selections are in forward direction. Fixes: https://github.com/helix-editor/helix/issues/1332 * Add keybinding for ensure_selections_forward Add `A-:` keybinding for the ensure_selections_forward command. * Re-use range.flip for flip_selections command
* Fix indentation (#1387)Omnikar2021-12-27
|
* feat(commands): sort command (#1288)Matouš Dzivjak2021-12-27
| | | | | | | | | | | * feat(commands): sort/rsort command Add basic implementation of sort command. * Sort by selections instead, implement reverse sort * Generate docs * Rename sort! to rsort
* Extract macro parsing to `helix-view` and add unit testsOmnikar2021-12-27
|
* Change how macros separate keypressesOmnikar2021-12-27
| | | | | | * Keypresses are no longer separated by spaces * Single-character keypresses are serialized as-is * Multi-character keypresses are delimited by `<>`
* Update macro display as [q] in messageIvan Tham2021-12-27
|
* Mark macros as experimental in docsIvan Tham2021-12-27
| | | | | Given that currently macro does not integrate well with registers and the internal representation of macros is expected to be changed.
* Rename play macro to replay macroIvan Tham2021-12-27
| | | | | Macro needs to be defined first before playing so replay is more accurate. Also, replay have the same length as record which makes it looks nice.
* Improve macro error handlingIvan Tham2021-12-27
|
* Update settings at runtime (#798)Tamo2021-12-26
| | | | | | | | | | | | | | | * feat: Update settings at runtime fix the clippy warning * update the documentation * use to_value instead of to_vec+from_value * drop the equal * remove an useless comment * apply suggestion
* LSP code action commands (#1304)Matouš Dzivjak2021-12-21
| | | | | | | | | * feat(lsp): codeAction commands * Don't block on command call * Fix lifetime of command execution * Fix lint issues
* Improve dedent behavior (#1232)WindSoilder2021-12-21
| | | | | | | | | | | | | | | | | | | | | * tmp add code for dedent * finish normal_mode with dedent behavior * use function pointer * rebase from origin * check dedent condition inside normal_mode implementation * using if let... * fix check * using char_is_whitespace instead of ch.is_whitespace * fix clippy * abstract restore_indent function
* Change text for gg to explain <n>gg (#1287)Ivan Tham2021-12-18
|
* Apply recent nightly suggestions (#1286)Kirawi2021-12-18
| | | array iterators are now implicit
* Allow paste commands to take a count (#1261)Omnikar2021-12-14
| | | | | | | * Allow paste commands to take a count * Call `.repeat` within iterator methods * Implement counts for paste-replace
* Add auto pairs for same-char pairs (#1219)Skyler Hawthorne2021-12-13
| | | | | | | | | | | | | | | * Add auto pairs for same-char pairs * Add unit tests for all existing functionality * Add auto pairs for same-char pairs (quotes, etc). Account for apostrophe in prose by requiring both sides of the cursor to be non-pair chars or whitespace. This also incidentally will work for avoiding a double single quote in lifetime annotations, at least until <> is added * Slight factor of moving the cursor transform of the selection to inside the hooks. This will enable doing auto pairing with selections, and fixing the bug where auto pairs destroy the selection. Fixes #1014
* Load alt default theme if true color is not supportedOmnikar2021-12-13
| | | | | | | | | | | | | | | | | | | | * Move `runtime/themes/base16_default_terminal.toml` to `base16_theme.toml` alongside `theme.toml` * Use `terminfo` crate to detect whether the terminal supports true color and, if the user has no theme configured and their terminal does not support true color, load the alt default theme instead of the normal default. Remove `terminfo` dependency, use `COLORTERM` env instead Prevent user from switching to an unsupported theme Add `true-color-override` option If the terminal is wrongly detected to not support true color, `true-color-override = true` will override the detection. Rename `true-color-override` to `true-color`
* minor: Shorten goto file(s) descriptionsBlaž Hrastnik2021-12-13
|
* Macros (#1234)Omnikar2021-12-12
| | | | | | | | | | | | | | | | | | | | | | | | * Macros WIP `helix_term::compositor::Callback` changed to take a `&mut Context` as a parameter for use by `play_macro` * Default to `@` register for macros * Import `KeyEvent` * Special-case shift-tab -> backtab in `KeyEvent` conversion * Move key recording to the compositor * Add comment * Add persistent display of macro recording status When macro recording is active, the pending keys display will be shifted 3 characters left, and the register being recorded to will be displayed between brackets — e.g., `[@]` — right of the pending keys display. * Fix/add documentation
* Open files with spaces in filename, allow opening multiple files (#1231)ath32021-12-12
|
* Add `save_selection` command (#1247)Omnikar2021-12-10
|
* Only use a single documentation popup (#1241)Kirawi2021-12-08
|
* docs: Auto generate command listGokul Soumya2021-12-08
|
* Make kill_to_line_end behave like emacs (#1235)WindSoilder2021-12-06
|
* Small changeJason Rodney Hansen2021-12-05
|
* Don't increment for overlapping changesJason Rodney Hansen2021-12-05
|
* CleanupJason Rodney Hansen2021-12-05
|
* Add support for time and more date formatsJason Rodney Hansen2021-12-05
|
* Add `Increment` traitJason Rodney Hansen2021-12-05
|
* Add support for dates for increment/decrementJason Rodney Hansen2021-12-05
|
* feat: Make it possible to keybind `TypableCommands` (#1169)Oskar Nehlin2021-12-04
| | | | | | | * Make TypableCommands mappable * Fix pr comments * Update PartialEq implementation
* cargo fmtBlaž Hrastnik2021-12-03
|
* Bump rust to 1.57, fix new lint failuresBlaž Hrastnik2021-12-03
|
* Add last modified file (gm) (#1093)Ivan Tham2021-12-02
|
* fix goto_window index crash (#1207)Bob2021-12-02
|
* Revert "Improve dedent behavior, make kill_to_line_end behave like emacs ↵Blaž Hrastnik2021-12-01
| | | | | | | | | | | | | (#1173)" 1. pressing o on a line with no indentation will open a new line as expected, but esc will then delete the line altogether 2. the kill_line behavior happens after insert mode changes are already commited to history, and the change isn't commited. pressing u after this will break highlighting & undo history This reverts commit c08d2fae587a0a5dd2a1e2e44a1f385d142c9d59.
* minor: Use anchor::ensure in some casesBlaž Hrastnik2021-12-01
|
* Improve dedent behavior, make kill_to_line_end behave like emacs (#1173)WindSoilder2021-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | * restore indent when press esc right after open a new line * add comment for restore_indent * fix, and make kill to line end behaves like emacs * update comment * fix comment * adjust cancel restore_indent situation * check esc logic in mode transaction * improve comment * add more check for dedent * update comment * use matches to check for last_cmd * no need to introduct CommandFun type
* Accept count for goto_window (#1033)Bob2021-11-29
| | | | | | | | | | | | | | | | | | | | | * accept count for goto_window also fix view is not fullfilled issue * fix fulfilled mispell * Update helix-term/src/commands.rs Co-authored-by: Ivan Tham <pickfire@riseup.net> * Update helix-term/src/commands.rs Co-authored-by: Ivan Tham <pickfire@riseup.net> * fix merge issue * revert line computation logic Co-authored-by: Ivan Tham <pickfire@riseup.net>