summaryrefslogtreecommitdiff
path: root/helix-term/src
Commit message (Collapse)AuthorAge
* prompt: If submitting empty prompt, use default (last used)Blaž Hrastnik2022-06-06
|
* Add shell insert commands to typable and config (#2589)Termina942022-06-05
| | | | | | | * Add shell insert commands to typable and config * generate docs Co-authored-by: Dean Revell <revell@gmail.com>
* Fix crash due to cycles when replaying macros (#2647)gavynriebau2022-06-05
| | | | | | | | In certain circumstances it was possible to get into an infinite loop when replaying macros such as when different macros attempt to replay each other. This commit adds changes to track which macros are currently being replayed and prevent getting into infinite loops.
* ensure :quit and :quit! take no arguments (#2654)Michael Davis2022-06-05
|
* Avoid modifying jumplist until jumping to ref (#2670)yzwduck2022-06-05
| | | | | | When a goto command is cancelled, the jumplist should remain unchanged. This commit delays saving the current selection to the jumplist until jumping to a reference.
* append `set_line_ending` to document history (#2649)Kirawi2022-06-02
|
* fix: lsp: be more defensive about URI conversionsBlaž Hrastnik2022-06-02
|
* fix: lsp: be more defensive about URI conversionsBlaž Hrastnik2022-06-02
|
* Improve Readability (#2639)Ryan Russell2022-06-01
|
* Fix unwrap error when undo after `shell_append_output` (#2625)Andrey Tkachenko2022-05-31
|
* Update to ropey 1.5Blaž Hrastnik2022-05-30
|
* Bump dependencies, allow retain_mut for nowBlaž Hrastnik2022-05-29
|
* Add shrink equivalent of extend_to_line_bounds (#2450)Daniel S Poulin2022-05-22
| | | | | | | | | | | * Add shrink equivalent of extend_to_line_bounds * Add a check for being past rope end in end position calc * Include the EOL character in calculations * Bind to `A-x` for now * Document new keybind
* Add theme key for picker separator (#2523)kyrime2022-05-22
| | | Co-authored-by: ky <>
* Fix panic when reloading a shrunk file (#2506)Leoi Hung Kin2022-05-22
| | | | | | | * fix panic when reloading a shrunk file * linting * use scrolloff
* Implement view swappingRoland Kovacs2022-05-21
| | | | | | | * add Tree::swap_split_in_direction() * add swap_view_{left,down,up,right} commands, bound to H,J,K,L respectively in the Window menu(s) * add test for view swapping
* address rust 1.61.0 clippy lints (#2514)Michael Davis2022-05-20
|
* use ui.menu instead of ui.statusline for command completion menu themeChristoph Horn2022-05-20
|
* Separate colors for different diagnostics types (#2437)Robert Walter2022-05-20
| | | | | | | | | | | | | | | | | | | | | | * feat(theme): add separate diagnostic colors This commit adds separate diagnostic highlight colors for the different types of LSP severities. If the severity type doesn't exist or is unknown, we use some fallback coloring which was in use before this commit. Some initial color options were also added in the theme.toml Resolves issue #2157 * feat(theme): add docs for new diagnostic options * feat(theme): adjust defaults & reduce redundancy - the different colors for different diagnostic severities are now disabled in the default theme, instead diagnostics are just generally underlined (as prior to the changes of this feature) - the theme querying is now done once instead of every iteration in the loop of processing every diagnostic message
* support insert register in prompt (#2458)Bob2022-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | * support insert register in prompt * use next_char_handler instead of a flag * Fix clippy issue * show autoinfo when inserting register * Revert "show autoinfo when inserting register" This reverts commit 5488344de1c607d44bdf8693287a85b92cb32518. * use completion instead of autoinfo autoinfo is overlapped when using prompt * recalculate_completion after inserting register * Update helix-term/src/ui/prompt.rs Co-authored-by: Ivan Tham <pickfire@riseup.net> Co-authored-by: Ivan Tham <pickfire@riseup.net>
* Implement view transpose (#2461)Roland Kovacs2022-05-20
| | | | | | | Change the layout of existing split view from horizontal to vertical and vica-versa. It only effects the focused view and its siblings, i.e. not recursive. Command is mapped to 't' or 'C-t' under the Window menus.
* deletion of lines affecting popup scrolling (#2497)Alexis Kalabura2022-05-20
|
* Don't panic on LSP parsing errorsBlaž Hrastnik2022-05-11
| | | | | | This made sense initially when the implementation was still new (so we got user reports more frequently), but a parsing error now generally signifies a language server isn't properly implementing the spec.
* feat(commands): add log-open command (#2422)amaihoefner2022-05-11
|
* Exclude cursor when doing ctrl-w (#2431)Ivan Tham2022-05-11
| | | | | | | | | | | Currently ctrl-w in insert mode deletes the cursor which results in unexpected behavior. The patch also reduces the selection to cursor before performing prev word to remove the behavior of removing unnecessary text when nothing should be removed. 1. `::#(|)#::` after `ctrl-w` should be `#(|)#::`, previously `#(|)#:` 2. `#(|::)#` after `ctrl-w` should be `#(|::)#`, previously `#(|)#` Fix #2390
* prevent selection collapse when inserting a newline (#2414)Michael Davis2022-05-11
| | | | | | | | | | | | | | | | Inserting a newline currently collapses any connected selections when inserting or appending. It's happening because we're reducing the selections down to their cursors (`let selection = ..` line) and then computing the new selection based on the cursor. We're discarding the original head and anchor information which are necessary to emulate Kakoune's behavior. In Kakoune, inserting a newline retains the existing selection and _slides_ it (moves head and anchor by the same amount) forward by the newline and indentation amount. Appending a newline extends the selection to include the newline and any new indentation. With the implementation of insert_newline here, we slide by adding the global and local offsets to both head and anchor. We extend by adding the global offset to both head and anchor but the local offset only to the head.
* Making the 'set-option' command help more descriptive. (#2365)Ben Lee-Cohen2022-05-04
| | | | | | | | | * Making the 'set-option' command help more descriptive. * Adding the generated docs * Making the message multi-line * Replace newline with break in generated docs
* feat(term): wrap command palette in overlay (#2378)Matouš Dzivjak2022-05-03
| | | Looks better and is consistent with the rest, nothing else.
* Add undo checkpoint command (#2115)AntonioLucibello2022-05-02
| | | | | | | | | | | * added undo checkpoint command * changed add_undo_checkpoint to commit_undo_checkpoint * mapped commit_undo_checkpoint to Alt-u * Update default.rs Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* feat(commands): make it possible to disable format-on-save via the ↵unrelentingtech2022-05-02
| | | | 'auto-format' option (#2321)
* add reflow command (#2128)Vince Mutolo2022-05-02
| | | | | | | | | | | | | | | | | | | | | | | * add reflow command Users need to be able to hard-wrap text for many applications, including comments in code, git commit messages, plaintext documentation, etc. It often falls to the user to manually insert line breaks where appropriate in order to hard-wrap text. This commit introduces the "reflow" command (both in the TUI and core library) to automatically hard-wrap selected text to a given number of characters (defined by Unicode "extended grapheme clusters"). It handles lines with a repeated prefix, such as comments ("//") and indentation. * reflow: consider newlines to be word separators * replace custom reflow impl with textwrap crate * Sync reflow command docs with book * reflow: add default max_line_len language setting Co-authored-by: Vince Mutolo <vince@mutolo.org>
* Auto-complete directory members (#1801) (#1907)Roland Kovacs2022-05-02
| | | | | | Allow tab-completion to continue when there is only a single, unambigous completion target which is a directory. This allows e.g. nested directories to be quickly drilled down just by hitting <tab> instead of first selecting the completion then hitting <enter>.
* Add run-shell-command for Commands (#1682)Ryosuke Hayashi2022-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add run_shell_command * docgen * fix command name Co-authored-by: Blaž Hrastnik <blaz@mxxn.io> * refactored Info::new * show 'Command failed' if execution fails * TypedCommand takes care of error handling and printing the error to the statusline. * docgen * use Popup instead of autoinfo * remove to_string in format! * Revert chage in info.rs * Show "Command succeed" when success * Fix info.rs Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* feat(ui): add nbsp (non-breaking space) to rendered whitespace (#2322)unrelentingtech2022-04-30
|
* prevent rendering visible whitespace on trailing cursor (#2331)Michael Davis2022-04-30
|
* feat(ui): treat slashes as word separators in prompt (#2315)unrelentingtech2022-04-30
| | | | When fiddling with paths in a :o prompt, one usually would want Ctrl-W to erase a path segment rather than the whole path. This is how Ctrl-W works in e.g. (neo)vim out of the box.
* Support m in surround delete and replaceGokul Soumya2022-04-29
|
* Add `m` textobject to select closest surround pairGokul Soumya2022-04-29
|
* Change A-left right to C-left right in insert (#2193)Ivan Tham2022-04-29
| | | | | | Currently A-left move one word left and the behavior will be more consistent for people coming GUI world if the key was changed to control given that both browsers and editors like vscode uses C-left right by default to move word rather than alt.
* Make A-hjkl tree-sitter nav A-pion (#2205)Ivan Tham2022-04-29
| | | | | | | | | | | A-hl currently is not very consistent with hl when next object is selected, since it may go up/down or left/right and this behavior is confusing such that some people think it should swap the keys with A-jk, so it is better to use A-pn since that only specifies two direction. A-jk have the same issue as in it usually moves right and is not consistent with the behavior of jk so people may think A-hl is better, maybe A-oi is better here since A-hl will be swapped to A-pn, A-oi can convey the meaning of in and out, similar to some window manager keys?
* Wrap current directory picker with overlay widget (#2308)CossonLeo2022-04-28
|
* fix typos (#2304)chunghha2022-04-27
|
* feat(commands): better handling of buffer-close (#1397)Matouš Dzivjak2022-04-27
| | | | | | | | | | | | | | | | | | | * feat(commands): better handling of buffer-close Previously, when closing buffer, you would loose cursor position in other docs. Also, all splits where the buffer was open would be closed. This PR changes the behavior, if the view has also other buffer previously viewed it switches back to the last one instead of the view being closed. As a side effect, since the views are persisted, the cursor history is persisted as well. Fixes: https://github.com/helix-editor/helix/issues/1186 * Adjust buffer close behavior * Remove closed documents from jump history * Fix after rebase
* Fix paste direction for typed paste commands (#2288)Michael Davis2022-04-26
|
* Add :get-option command (#2231)Daniel2022-04-24
|
* Rename paragraph motion commands from move to goto (#2226)Michael Davis2022-04-24
| | | | | * fix command name for next/prev paragraph motion * rename move_next/prev_paragraph to goto_next/prev_paragraph
* chore(lsp): check rename capabilities before send rename action (#2203)ttys32022-04-23
|
* Fix ctrl-u on insert behavior (#1957)Ivan Tham2022-04-23
| | | | | | | | | | * Fix ctrl-u on insert behavior Now should follow vim behavior more - no longer remove text on cursor - no longer remove selected text while inserting - first kill to start non-whitespace, start, previous new line * Add comment for c-u parts
* Replace line endings using `set_line_ending` command (#1871)Kirawi2022-04-23
| | | | | | | * set_line_ending: now replace line endings * use ending.len_chars() directly * account for unicode-lines feaure in line-ending doc
* allow whitespace to be renderedOmnikar2022-04-20
| | | | Co-authored-by: Michael Davis <mcarsondavis@gmail.com>