aboutsummaryrefslogtreecommitdiff
path: root/helix-term/src
Commit message (Collapse)AuthorAge
* fix(command): write-quit: do not quit if write failsSkyler Hawthorne2022-06-19
| | | | | | | | | During write-quit, if the file fails to be written for any reason, helix will still quit without saving the changes. This fixes this behavior by introducing fallibility to the asynchronous job queues. This will also benefit all contexts which may depend on these job queues. Fixes #1575
* consolidate idle timer logic, make conditionalSkyler Hawthorne2022-06-19
|
* don't read from stdin for integration testsSkyler Hawthorne2022-06-19
|
* use env var for integration test log levelSkyler Hawthorne2022-06-19
|
* use test terminal backend for integration testsSkyler Hawthorne2022-06-19
|
* Add more context; Editor::open doesn't need to own pathSkyler Hawthorne2022-06-19
|
* use idle timer instead of fixed timeoutSkyler Hawthorne2022-06-19
|
* use main application event loopSkyler Hawthorne2022-06-19
| | | | Use the Application's main event loop to allow LSP, file writes, etc
* reorganize tests into groupsSkyler Hawthorne2022-06-19
|
* Fix initial selection of Document in new viewSkyler Hawthorne2022-06-19
| | | | | | | | | | | When a new View of a Document is created, a default cursor of 0, 0 is created, and it does not get normalized to a single width cursor until at least one movement of the cursor happens. This appears to have no practical negative effect that I could find, but it makes tests difficult to work with, since the initial selection is not what you expect it to be. This changes the initial selection of a new View to be the width of the first grapheme in the text.
* improve test harnessSkyler Hawthorne2022-06-19
| | | | | | | * Use new macro syntax for encoding sequences of keys * Make convenience helpers for common test pattern * Use indoc for inline indented raw strings * Add feature flag for integration testing to disable rendering
* Integration testing harnessBlaž Hrastnik2022-06-19
|
* Simplify handle_terminal_events signatureBlaž Hrastnik2022-06-19
|
* move config parsing back into mainSkyler Hawthorne2022-06-19
|
* views -> buffers in write-all (#2788)Gygaxis Vainhardt2022-06-16
|
* Update auto-pairs and idle-timeout when the config is reloaded (#2736)Bjorn Ove Hay Andersen2022-06-15
|
* Improve markdown list rendering (#2687)Frojdholm2022-06-15
| | | | | | | * Cleanup old commented code * Implement line breaks in markdown rendering * Implement markdown nested, numbered and multiparagraph lists
* Better handling of symlinks (#2718)Roland Kovacs2022-06-15
| | | | | | | | | | - Add file-picker.follow-symlinks configuration option (default is true), this also controls if filename and directory completers follow symlinks. - Update FilePicker to set editor error if opening a file fails, instead of panicing. Fix #1548 Fix #2246
* Add a check to prevent re-selecting same range (#2760)Ryang Sohn2022-06-14
|
* Add docstring for language_server!() macro (#2750)Gokul Soumya2022-06-12
|
* Do not add extra line breaks in markdown lists (#2689)Frojdholm2022-06-08
|
* Refactor push_jump so we're not needlessly fetching doc twiceBlaž Hrastnik2022-06-06
|
* 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.