aboutsummaryrefslogtreecommitdiff
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 toml from 0.7.0 to 0.7.1 (#5745)dependabot[bot]2023-01-30
| | | | | | | | | | | | | | | Bumps [toml](https://github.com/toml-rs/toml) from 0.7.0 to 0.7.1. - [Release notes](https://github.com/toml-rs/toml/releases) - [Commits](https://github.com/toml-rs/toml/compare/toml-v0.7.0...toml-v0.7.1) --- updated-dependencies: - dependency-name: toml dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump futures-executor from 0.3.25 to 0.3.26 (#5744)dependabot[bot]2023-01-30
| | | | | | | | | | | | | | | | Bumps [futures-executor](https://github.com/rust-lang/futures-rs) from 0.3.25 to 0.3.26. - [Release notes](https://github.com/rust-lang/futures-rs/releases) - [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.25...0.3.26) --- updated-dependencies: - dependency-name: futures-executor dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump ahash from 0.8.2 to 0.8.3 (#5743)dependabot[bot]2023-01-30
| | | | | | | | | | | | | | | Bumps [ahash](https://github.com/tkaitchuck/ahash) from 0.8.2 to 0.8.3. - [Release notes](https://github.com/tkaitchuck/ahash/releases) - [Commits](https://github.com/tkaitchuck/ahash/compare/v0.8.2...v0.8.3) --- updated-dependencies: - dependency-name: ahash dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* 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>
* Modify env language to extend bash (#5720)Eric Crosson2023-01-30
| | | Additionally, add `.envrc` to the `env`-supported file types.
* 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
|
* Update tree-sitter-sql and improve highlight queries (#5683)LeoniePhiline2023-01-28
|
* fix: Typo in variable name (#5710)LeoniePhiline2023-01-27
|
* Update tutor logo (#5681)g-re-g2023-01-27
|
* Fix clippy 1.67 warnings (#5697)Miguel Madrid-Mencía2023-01-27
|
* Parse gutter-types as Strings (#5696)Rino2023-01-26
| | | | | | | | This is necessary for configurations like: [editor] gutters = ["diagnostics", "line-numbers"] after the toml 0.6.0 dependency update.
* Add `Justfile` to the file types for make (#5687)Sam Nystrom2023-01-26
|
* Update tree-sitter-xml to fix whitespace parsing (#5685)LeoniePhiline2023-01-26
|
* queries/nix: add injections for builtins and writers (#5629)pacien2023-01-25
|
* add explicit formatter for cue (#5679)Jimmy Zelinskie2023-01-25
| | | | | | | | | cuelsp does not support formatting. Cue language support was added to Helix before "formatter" was available. References: https://github.com/helix-editor/helix/pull/3262 https://github.com/dagger/cuelsp/issues/44
* Change default language server for 'v' from 'vls' to 'v ls' (#5677)Antonius Naumann2023-01-25
|
* keymap: Test backslash escaping in commandsds-cbo2023-01-25
|
* Add Appstream metadata file (#5643)blt__2023-01-24
|
* Sonokai theme: style secondary selections differently (#5440)Jonathan Lebon2023-01-24
| | | | | | | Without styling the primary and secondary selections differently, it's impossible to tell them apart when cycling through selections. Make the primary selection slightly brighter and secondary selections slightly paler.
* 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
* Refactor toml::Value->Theme conversionMichael Davis2023-01-24
| | | | | | | | | | | | | | | | | The `From<Value>` implementation for `Theme` converted the Value to a string and re-parsed the string to convert it to `HashMap<String, Value>` which feels a bit wasteful. This change uses the underlying `toml::map::Map` directly when the value is a table and warns about the unexpected `Value` shape otherwise. This is necessary because toml 0.6.0 changes the Display implementation for Value::Table so that the `to_string` no longer encodes the value as a Document, just a Value. So the parse of the Value fails to be decoded as a HashMap. The behavior for returning `Default::default` matches the previous code's behavior except that it did not warn when the input Value was failed to parse.
* Fix compatibility with toml 0.6.0Michael Davis2023-01-24
| | | | | | | | | | | | | `toml::from_slice` has been removed. The CHANGELOG recommends using `toml::from_str` instead and doing the byte-to-str conversion yourself. The `toml::toml!` macro has also changed to return the type of the value declared within the macro body. In the change in `helix-view/src/theme.rs` this is a `toml::map::Map` (it was a `toml::Value` previously) allowing us to skip the match and use the map directly. Co-authored-by: Pascal Kuthe <pascal.kuthe@semimod.de>
* 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>
* Switch from toml::from_slice to toml::from_str (#5659)Pascal Kuthe2023-01-24
|
* 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>
* build(deps): bump tokio from 1.24.1 to 1.24.2 (#5657)dependabot[bot]2023-01-23
| | | | | | | | | | | | | | | | | Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.24.1 to 1.24.2. - [Release notes](https://github.com/tokio-rs/tokio/releases) - [Commits](https://github.com/tokio-rs/tokio/commits) --- updated-dependencies: - dependency-name: tokio 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>
* Support sagemath language (#5649)Eloi Torrents2023-01-23
|
* Fix selecting a changed file in global search (#5639)Pascal Kuthe2023-01-23
|
* Use markdown language for hub pull-request files (#5634)Eric Crosson2023-01-23
| | | | | | | | | | | The hub[^1] command-line tool uses a file called `PULLREQ_EDITMSG`[^2]. This file is used to edit the text from of each commit being submitted in a pull request, and the final content is rendered as markdown by GitHub. This commit adds `PULLREQ_EDITMSG` to the list of markdown file-types. [^1]: https://github.com/github/hub [^2]: https://github.com/github/hub/blob/c8e68d548a39ec0fab6f674a669c21b54d4eec61/commands/pull_request.go#L225
* Make clippy happy on Windows (#5644)Jonathan LEI2023-01-23
|
* Add build.gradle to list of java roots (#5641)Jared Moulton2023-01-23
|
* refactor(helix-view): remove cfg_attr references a nonexistent feature (#5630)Yuta Yamaguchi2023-01-22
| | | Fixes https://github.com/helix-editor/helix/issues/5615
* theme: make dracula ui.virtual.whitespace less intrusive (#5627)Luca Saccarola2023-01-21
|
* Add `markup.strikethrough` theme keys (#5619)Alex2023-01-21
|
* Add configuration for min width of line-numbers gutter (#4724)Doug Kelkhoff2023-01-21
|
* book: Use per-theme syntax-highlighting CSS variables (#5406)Soso2023-01-21
| | | | Until this patch, all themes used the Colibri values for syntax highlighting. This made the documentation very hard to read in some light themes.
* tutor: Change "Type" to "Press" for specials keys and modifiers (#5609)Vítor Galvão2023-01-21
|
* theme: monkai_aqua variant (#5578)eugene yokota2023-01-21
| | | | | | Current monokai (pro or otherwise) seems too red and green, missingthe bright aqua / cyan color found in Sublime's Monokai. This adds a variant of monokai, which I named monokai_aqua.
* Remove apply_transaction helper (#5598)Ivan Tham2023-01-21
|
* themes: Extend snazzy (#3971)Timothy DeHerrera2023-01-20
|
* book: Link MSYS2 proper command page (#5601)yashpalgoyal13042023-01-20
|
* fix(theme): Fix error background-foreground-contrast in monokai_pro_spectrumLeoniePhiline2023-01-20
|
* fix(theme): Replace non-palette color "magenta" with palette color "red" in ↵LeoniePhiline2023-01-20
| | | | monokai_pro_spectrum
* add lua injection regex (#5606)anna2023-01-20
|
* highlight(scala): update to fix potential crash (#5576)eugene yokota2023-01-19
| | | | | | | | | | | | * highlight(scala): update to fix crash tree-sitter-scala has recently add a fix to workaround segv crashes in other editors. Not sure if it happens to Helix as well, but it's probably a good idea to use the latest. * highlight(scala): String interpolator support This captures String interpolator as `function` Co-authored-by: Chris Kipp <ckipp@pm.me>
* Add more file-types for python (#5593)Nachum Barcohen2023-01-19
|
* Kanagawa: theme rulers and some miscellaneous fixes (#5571)luetage2023-01-19
| | | | | | | * discern between rulers and whitespace, add sumiInk2 * darker background for menu and help, bold selection * bold modifier for insert and select * dark color for window separator * bring ruler, whitespace, indent-guide together