aboutsummaryrefslogtreecommitdiff
path: root/helix-term/src
Commit message (Collapse)AuthorAge
* Fix the infinite loop when copying the cursor to the top of the file (#5888)Mike Trinkala2023-02-09
| | | | | | | | | | | Example: ``` test testitem ``` Select line 2 with x, then type Alt-C; Helix will go into an infinite loop. The saturating_sub keeps the head_row and anchor_row pinned at 0, and a selection is never made since the first line is too short.
* Address new clippy lintsBlaž Hrastnik2023-02-09
|
* bump msrv to 1.63 (#5570)Pascal Kuthe2023-02-09
| | | | | * bump msrv to 1.63 * resolve new complex type clippy lints
* Select change range for goto_first/last_change commands (#5206)Michael Davis2023-02-07
| | | | | | This matches the behavior from 42ad1a9e043e2e0fb148924ff79b9abbe06907ae but for the first and last change. The selection rules are the same as for goto_next/prev_change: additions and modifications select the added and modified range while deletions are represented with a point.
* enable rendering in integration tests (#5819)Skyler Hawthorne2023-02-04
| | | | | | | | | This will allow testing more of the code base, as well as enable UI- specific testing. Debug mode builds are prohibitively slow for the tests, mostly because of the concurrency write tests. So there is now a profile for integration tests that sets the optimization level to 2 for a few helix crates, and lowers the number of rounds of concurrent writes to 1000.
* Add :character-info command (#4000)William Etheredge2023-02-03
|
* always commit to history when pasting (#5790)Pascal Kuthe2023-02-02
|
* add picker: current view dir (#4666)Filipe Azevedo2023-02-02
|
* Removing C-j and C-k from completion menu navigation (#5070)Dylan Bulfin2023-02-02
|
* add substring matching options to picker (#5114)Pascal Kuthe2023-02-02
|
* Tabulate buffer picker contents (#5777)Gokul Soumya2023-02-02
|
* fix position translation at EOF with softwrap (#5786)Pascal Kuthe2023-02-02
|
* Hide duplicate symlinks from the picker (#5658)Pascal Kuthe2023-02-02
| | | | | | | | | | | | | | | | * hide duplicate symlinks from the picker * Apply suggestions from code review Co-authored-by: g-re-g <123515925+g-re-g@users.noreply.github.com> * minor stylistic fix Co-authored-by: Michael Davis <mcarsondavis@gmail.com> --------- Co-authored-by: g-re-g <123515925+g-re-g@users.noreply.github.com> Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Surround with line-endings on `ms<ret>` (#4571)Michael Davis2023-02-01
| | | | | This change makes `ms<ret>` work similarly to `t<ret>` and related find commands: when the next event is a keypress of Enter, surround the selection with the document's line-endings.
* rework positioning/rendering and enable softwrap/virtual text (#5420)Pascal Kuthe2023-01-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rework positioning/rendering, enables softwrap/virtual text This commit is a large rework of the core text positioning and rendering code in helix to remove the assumption that on-screen columns/lines correspond to text columns/lines. A generic `DocFormatter` is introduced that positions graphemes on and is used both for rendering and for movements/scrolling. Both virtual text support (inline, grapheme overlay and multi-line) and a capable softwrap implementation is included. fix picker highlight cleanup doc formatter, use word bondaries for wrapping make visual vertical movement a seperate commnad estimate line gutter width to improve performance cache cursor position cleanup and optimize doc formatter cleanup documentation fix typos Co-authored-by: Daniel Hines <d4hines@gmail.com> update documentation fix panic in last_visual_line funciton improve soft-wrap documentation add extend_visual_line_up/down commands fix non-visual vertical movement streamline virtual text highlighting, add softwrap indicator fix cursor position if softwrap is disabled improve documentation of text_annotations module avoid crashes if view anchor is out of bounds fix: consider horizontal offset when traslation char_idx -> vpos improve default configuration fix: mixed up horizontal and vertical offset reset view position after config reload apply suggestions from review disabled softwrap for very small screens to avoid endless spin fix wrap_indicator setting fix bar cursor disappearring on the EOF character add keybinding for linewise vertical movement fix: inconsistent gutter highlights improve virtual text API make scope idx lookup more ergonomic allow overlapping overlays correctly track char_pos for virtual text adjust configuration deprecate old position fucntions fix infinite loop in highlight lookup fix gutter style fix formatting document max-line-width interaction with softwrap change wrap-indicator example to use empty string fix: rare panic when view is in invalid state (bis) * Apply suggestions from code review Co-authored-by: Michael Davis <mcarsondavis@gmail.com> * improve documentation for positoning functions * simplify tests * fix documentation of Grapheme::width * Apply suggestions from code review Co-authored-by: Michael Davis <mcarsondavis@gmail.com> * add explicit drop invocation * Add explicit MoveFn type alias * add docuntation to Editor::cursor_cache * fix a few typos * explain use of allow(deprecated) * make gj and gk extend in select mode * remove unneded debug and TODO * mark tab_width_at #[inline] * add fast-path to move_vertically_visual in case softwrap is disabled * rename first_line to first_visual_line * simplify duplicate if/else --------- Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Support goto-declaration LSP command (#5646)Ole Krüger2023-01-31
|
* Use filename completer on run-shell-command (#5729)Jonathan LEI2023-01-30
|
* Fix clippy 1.67 warnings (#5697)Miguel Madrid-Mencía2023-01-27
|
* keymap: Test backslash escaping in commandsds-cbo2023-01-25
|
* refactor: don't deserialize &str from tomlPascal Kuthe2023-01-24
| | | | | | The new version of the `toml` crate is based on `toml_edit` and does not support zero copy deserialization anymore. So we need to deserialize `String` instead of `&str` in the keympa
* Fix selecting a changed file in global search (#5639)Pascal Kuthe2023-01-23
|
* Remove apply_transaction helper (#5598)Ivan Tham2023-01-21
|
* Fix panic for noop selecting join (#5579)Pascal Kuthe2023-01-18
|
* highlight non-bar cursors (#5575)Pascal Kuthe2023-01-18
|
* Replace menu::Item::{row, label} with format()Gokul Soumya2023-01-18
|
* Minimize allocation when converting table rows to stringGokul Soumya2023-01-18
|
* Use upstream implementation of table column calculationGokul Soumya2023-01-18
| | | | Changed in https://github.com/fdehau/tui-rs/commit/a68e38e59e6735c0a99139303b1609669d2c38da.
* Reuse table in pickerGokul Soumya2023-01-18
|
* Primary cursor colors by mode (#5130)gibbz002023-01-18
| | | | | * (theme) feat: mode based primary cursor colors * docs/themes: mode based primary cursor colors
* Add command to rotate view backward (#5356)mejo132023-01-17
|
* Commit to history after executing a command from the palette (#5294)Nikodem Rabuliński2023-01-16
|
* Separate jump behavior from increment/decrement (#4123)greg-enbala2023-01-16
| | | | | | | | | | | | | | increment/decrement (C-a/C-x) had some buggy behavior where selections could be offset incorrectly or the editor could panic with some edits that changed the number of characters in a number or date. These stemmed from the automatic jumping behavior which attempted to find the next date or integer to increment. The jumping behavior also complicated the code quite a bit and made the behavior somewhat difficult to predict when using many cursors. This change removes the automatic jumping behavior and only increments or decrements when the full text in a range of a selection is a number or date. This simplifies the code and fixes the panics and buggy behaviors from changing the number of characters.
* Added opening files in the background with A-ret shortcut (#4435)Itay1232023-01-16
|
* Add some function documentations (#5360)Pascal Sommer2023-01-11
|
* Fix autocompletion for paths with period (#5175)Dylan Bulfin2023-01-09
| | | | | | | | | * Bug fix Updated bug fix * Simplified conditionals * Switched to use path separator constant
* Store new config on application in :config-reload (#5431)Lorenzo Albano2023-01-08
| | | | | After changes in #5239, the loaded configuration wasn't stored, resulting in a success message even if the instance kept the previous configuration values.
* Fix language config reload logic (#5381)Ethan Kiang2023-01-03
|
* fix(commands): extend_line to proper line when count and current line ↵Gabriel Dinner-David2022-12-31
| | | | selected (#5288)
* Add a status line element that shows just the basename of the file (#5318)Nick2022-12-31
|
* Expand `~` when parsing file paths in `:open` (#5329)iobtl2022-12-29
|
* Reload language config with `:config-reload` (#5239)willful7592022-12-29
|
* Fix erroneous indent between closers of auto-pairs (#5330)Triton1712022-12-29
| | | inserting a newline between 2 closers of an auto-pair.
* Fix opening new files (#5278)alois312022-12-24
| | | | | | | Commit 1b89d3e5350f83b2ffb86a86326bd2714308ee53 introduced a regression where opening a new file would no longer work, because attempting to canonicalize its path would lead to a "No such file or directory" error. Fall back to opening a new file when encountering an error to fix this case.
* Avoid trailing `s` in message when only 1 file is opened (#5189)Nick2022-12-23
|
* mouse operations respect scrolloff (#5255)jliaoh2022-12-23
|
* Add command to merge consecutive ranges in selection (#5047)DylanBulfin2022-12-23
|
* Add file picker dialogue when opening a directory with :o (#2707)Jack Allison2022-12-23
|
* Make prompt suggestions greyed outJonathan LEI2022-12-17
|
* Better sorting in picker in case of ties (#5169)Alex Kladov2022-12-17
|
* Print the binary required by the debug adapter (#5195)Eric Thorburn2022-12-17
| | | | | | | | | | This commit addresses issue 5193, where the author requested that the name of the binary needed is printed along with the rest of the health information. This commit adds a format! macro which formats in the name of the binary and then it will be printed along with the rest of the debug information. The value in cmd is referenced to the call to which, and then consumed upon the call to format!