aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Fix new clippy lints (#5892)Pascal Kuthe2023-02-09
|
* 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.
* properly handle LSP position encoding (#5711)Pascal Kuthe2023-02-09
| | | | | | | | | | | | | * properly handle LSP position encoding * add debug assertion to Transaction::change * Apply suggestions from code review Co-authored-by: Michael Davis <mcarsondavis@gmail.com> --------- Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* 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
* update bug report template (#5872)Pascal Kuthe2023-02-09
|
* Also run build checks on merge queueBlaž Hrastnik2023-02-09
|
* Add `Containerfile` file-type for dockerfile language (#5873)zSchoen2023-02-08
|
* Check for external file modifications when writing (#5805)Clément Delafargue2023-02-08
| | | | | | | | `:write` and other file-saving commands now check the file modification time before writing to protect against overwriting external changes. Co-authored-by: Gustavo Noronha Silva <gustavo@noronha.dev.br> Co-authored-by: LeoniePhiline <22329650+LeoniePhiline@users.noreply.github.com> Co-authored-by: Pascal Kuthe <pascal.kuthe@semimod.de>
* Fix Go select indenting (#5713)gavincrawford2023-02-08
| | | | | | | * Fix Go indenting * Fix bracket outdent predicate * Fix brace indenting (again)
* feat: add pem language (#5797)Matthew Toohey2023-02-07
|
* xml: add mobileconfig & plist file types (#5863)Surendrajat2023-02-07
|
* Short-circuit the word and treesitter object movement commands (#5851)Mike Trinkala2023-02-07
| | | | | | | | | The loop always iterates the number of times the user specified even if the beginning/end of the document is reached. For an extreme demonstration try the following commands, Helix will hang for several seconds. 100000000w 100000000]c
* 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.
* Add Darcula Solid theme (#5778)Jesús González2023-02-07
| | | | | | | * Add Darcula Solid theme. * Update darcula solid theme. * Derive darcula-solid theme from original darcula
* Make `fleet-dark` accurate to the official theme (#5605)Kirawi2023-02-06
|
* build(deps): bump ropey from 1.5.1 to 1.6.0 (#5859)dependabot[bot]2023-02-06
| | | | | | | | | | | | | | | | Bumps [ropey](https://github.com/cessen/ropey) from 1.5.1 to 1.6.0. - [Release notes](https://github.com/cessen/ropey/releases) - [Changelog](https://github.com/cessen/ropey/blob/master/CHANGELOG.md) - [Commits](https://github.com/cessen/ropey/compare/v1.5.1...v1.6.0) --- updated-dependencies: - dependency-name: ropey dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump anyhow from 1.0.68 to 1.0.69 (#5858)dependabot[bot]2023-02-06
| | | | | | | | | | | | | | | Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.68 to 1.0.69. - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.68...1.0.69) --- updated-dependencies: - dependency-name: anyhow 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 serde_json from 1.0.91 to 1.0.92 (#5857)dependabot[bot]2023-02-06
| | | | | | | | | | | | | | | Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.91 to 1.0.92. - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](https://github.com/serde-rs/json/compare/v1.0.91...v1.0.92) --- updated-dependencies: - dependency-name: serde_json 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 unicode-segmentation from 1.10.0 to 1.10.1 (#5856)dependabot[bot]2023-02-06
| | | | | | | | | | | | | | | Bumps [unicode-segmentation](https://github.com/unicode-rs/unicode-segmentation) from 1.10.0 to 1.10.1. - [Release notes](https://github.com/unicode-rs/unicode-segmentation/releases) - [Commits](https://github.com/unicode-rs/unicode-segmentation/compare/v1.10.0...v1.10.1) --- updated-dependencies: - dependency-name: unicode-segmentation 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 cachix/install-nix-action from 18 to 19 (#5855)dependabot[bot]2023-02-06
| | | | | | | | | | | | | | | Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 18 to 19. - [Release notes](https://github.com/cachix/install-nix-action/releases) - [Commits](https://github.com/cachix/install-nix-action/compare/v18...v19) --- updated-dependencies: - dependency-name: cachix/install-nix-action 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>
* Recognize .C and .H file types as cpp (#5808)Ethan Budd2023-02-05
|
* docs: Fix PowerShell runtime linking command (#5822)Jaeho Choi2023-02-05
|
* 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 `ui.virtual.wrap` to theme docs (#5823)Alex2023-02-04
|
* Add Podfile and *.podspec to the file types for ruby (#5811)Aleksey Kuznetsov2023-02-03
|
* Add :character-info command (#4000)William Etheredge2023-02-03
|
* Add MSBuild language based on XML grammar (#5793)Brett Lyons2023-02-03
|
* feat: Update `tree-sitter-sql` and migrate `highlights.scm` to match grammar ↵LeoniePhiline2023-02-02
| | | | | | | | | (#5772) * Sort buildin functions alphabetically * fix: Query float type like other numeric types * Update tree-sitter-sql and update highlights.scm to match grammar
* Add Jellybeans theme (#5719)Cemal Okten2023-02-02
|
* always commit to history when pasting (#5790)Pascal Kuthe2023-02-02
|
* disable lsp in integration testsSkyler Hawthorne2023-02-02
|
* provide option to completely disable lspSkyler Hawthorne2023-02-02
|
* make clipboard message debugSkyler Hawthorne2023-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>
* 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>