aboutsummaryrefslogtreecommitdiff
path: root/helix-term
Commit message (Collapse)AuthorAge
* 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
|
* build(deps): bump indoc from 1.0.8 to 2.0.0 (#5742)dependabot[bot]2023-01-30
| | | | | | | | | | | | | | | Bumps [indoc](https://github.com/dtolnay/indoc) from 1.0.8 to 2.0.0. - [Release notes](https://github.com/dtolnay/indoc/releases) - [Commits](https://github.com/dtolnay/indoc/compare/1.0.8...2.0.0) --- updated-dependencies: - dependency-name: indoc dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump toml from 0.6.0 to 0.7.0 (#5726)alice2023-01-30
|
* 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
* build(deps): bump toml from 0.5.10 to 0.6.0dependabot[bot]2023-01-24
| | | | | | | | | | | | | | | Bumps [toml](https://github.com/toml-rs/toml) from 0.5.10 to 0.6.0. - [Release notes](https://github.com/toml-rs/toml/releases) - [Commits](https://github.com/toml-rs/toml/compare/toml-v0.5.10...toml-v0.6.0) --- updated-dependencies: - dependency-name: toml dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
* build(deps): bump which from 4.3.0 to 4.4.0 (#5655)dependabot[bot]2023-01-23
| | | | | | | | | | | | | | | | | Bumps [which](https://github.com/harryfei/which-rs) from 4.3.0 to 4.4.0. - [Release notes](https://github.com/harryfei/which-rs/releases) - [Commits](https://github.com/harryfei/which-rs/compare/4.3.0...4.4.0) --- updated-dependencies: - dependency-name: which dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* 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
|
* build(deps): bump arc-swap from 1.5.1 to 1.6.0 (#5375)dependabot[bot]2023-01-03
| | | | | | | | | | | | | | | | | | Bumps [arc-swap](https://github.com/vorner/arc-swap) from 1.5.1 to 1.6.0. - [Release notes](https://github.com/vorner/arc-swap/releases) - [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md) - [Commits](https://github.com/vorner/arc-swap/compare/v1.5.1...v1.6.0) --- updated-dependencies: - dependency-name: arc-swap dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump once_cell from 1.16.0 to 1.17.0 (#5373)dependabot[bot]2023-01-03
| | | | | | | | | | | | | | | | | | Bumps [once_cell](https://github.com/matklad/once_cell) from 1.16.0 to 1.17.0. - [Release notes](https://github.com/matklad/once_cell/releases) - [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md) - [Commits](https://github.com/matklad/once_cell/compare/v1.16.0...v1.17.0) --- updated-dependencies: - dependency-name: once_cell dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* 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
|
* build(deps): bump indoc from 1.0.7 to 1.0.8 (#5226)dependabot[bot]2022-12-19
| | | | | | | | | | | | | | | | | Bumps [indoc](https://github.com/dtolnay/indoc) from 1.0.7 to 1.0.8. - [Release notes](https://github.com/dtolnay/indoc/releases) - [Commits](https://github.com/dtolnay/indoc/compare/1.0.7...1.0.8) --- updated-dependencies: - dependency-name: indoc dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* 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!
* Remove redraw to fix buildBlaž Hrastnik2022-12-15
|
* Restore deleted goto_pos function (#5164)Sebastian Zivota2022-12-15
|
* add redraw command (#4354)Roberto Vidal2022-12-15
| | | | | | | | | | | | | * add redraw command * update docs * Update helix-term/src/commands/typed.rs Co-authored-by: Michael Davis <mcarsondavis@gmail.com> * update docs Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Select diagnostic range in goto_*_diag commands (#4713)Michael Davis2022-12-15
| | | | | This roughly matches the behavior of the diagnostic picker: when jumping to a diagnostic with `[d`/`]d`/`[D`/`]D`, the range of the diagnostic is selected instead of the start point.
* workspace symbols: Default to empty Vec on NoneMichael Davis2022-12-15
| | | | | | | A language server might send None as the response to workspace symbols. We should treat this as the empty Vec rather than the server sending an error status. This fixes the interaction with gopls which uses None to mean no matching symbols.
* DynamicPicker: Reset idle timeout on refreshMichael Davis2022-12-15
| | | | | | | If the new results shown by the picker select a file that hasn't been previewed before, the idle timeout would not trigger highlighting on that file. With this change, we reset the idle timeout and allow that file to be highlighted on the next idle timeout event.
* DynamicPicker: Use idle-timeout as debounceMichael Davis2022-12-15
| | | | | | This change uses the idle-timeout event to trigger fetching new results in the DynamicPicker, so idle-timeout becomes a sort of debounce. This prevents querying the language server overly aggressively.