summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Fix utf8 length handling for shellwords (#5738)Mike Trinkala2023-02-01
| | | | | | | If the last argument to shellwords ends in a multibyte utf8 character the entire argument will be dropped. e.g. `:sh echo test1 test2đ’€€` will only output `test1` Add additional tests based on the code review feedback
* 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.
* Fix initial highlight layer sort order (#5196)Michael Davis2023-02-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The purpose of this change is to remove the mutable self borrow on `HighlightIterLayer::sort_key` so that we can sort layers with the correct ordering using the `Vec::sort` function family. `HighlightIterLayer::sort_key` needs `&mut self` since it calls `Peekable::peek` which needs `&mut self`. `Vec::sort` functions only give immutable borrows of the elements to ensure the correctness of the sort. We could instead approach this by creating an eager Peekable and using that instead of `std::iter::Peekable` to wrap `QueryCaptures`: ```rust struct EagerPeekable<I: Iterator> { iter: I, peeked: Option<I::Item>, } impl<I: Iterator> EagerPeekable<I> { fn new(mut iter: I) -> Self { let peeked = iter.next(); Self { iter, peeked } } fn peek(&self) -> Option<&I::Item> { self.peeked.as_ref() } } impl<I: Iterator> Iterator for EagerPeekable<I> { type Item = I::Item; fn next(&mut self) -> Option<Self::Item> { std::mem::replace(&mut self.peeked, self.iter.next()) } } ``` This would be a cleaner approach (notice how `EagerPeekable::peek` takes `&self` rather than `&mut self`), however this doesn't work in practice because the Items emitted by the `tree_sitter::QueryCaptures` Iterator must be consumed before the next Item is returned. `Iterator::next` on `tree_sitter::QueryCaptures` modifies the `QueryMatch` returned by the last call of `next`. This behavior is not currently reflected in the lifetimes/structure of `QueryCaptures`. This fixes an issue with layers being out of order when using combined injections since the old code only checked the first range in the layer. Layers being out of order could cause missing highlights for combined-injections content.
* Add ayu_evolve theme (#5638)gibbz002023-02-01
| | | | | | | | | | | | | * Add ayu_evolve theme * ayu_evolve: fix typo + raw markdown highlight * Update runtime/themes/ayu_evolve.toml typo Co-authored-by: Michael Davis <mcarsondavis@gmail.com> --------- Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* theme(onedark): Add ui.highlight scope (#5755)Gokul Soumya2023-01-31
|
* 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
|