aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Fix panic from indenting on tree with errorsMichael Davis2022-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `deepest_preceding` is known to be a descendant of `node`. Repeated calls of `Node::parent` _should_ eventually turn `deepest_preceding` into `node`, but when the node is errored (the tree contains a syntax error), `Node::parent` returns None. In the typescript case: if(true) &&true // ^ press enter here The tree is: (program [0, 0] - [1, 0] (if_statement [0, 0] - [0, 15] condition: (parenthesized_expression [0, 2] - [0, 8] (true [0, 3] - [0, 7])) consequence: (expression_statement [0, 8] - [0, 15] (binary_expression [0, 8] - [0, 15] left: (identifier [0, 8] - [0, 8]) right: (true [0, 11] - [0, 15]))))) `node` is the `program` node and `deepest_preceding` is the `binary_expression`. The tree is errored on the `binary_expression` node with `(MISSING identifier [0, 8] - [0, 8])`. In the C++ case: ; << // press enter after the ';' The tree is: (translation_unit [0, 0] - [1, 0] (expression_statement [0, 0] - [0, 1]) (ERROR [0, 1] - [0, 4] (identifier [0, 1] - [0, 1]))) `node` is the `translation_unit` and `deepest_preceding` is the `ERROR` node. In both cases, `Node::parent` on the errored node returns None.
* style: Only call extend_nodes when deepest_preceding is SomeMichael Davis2022-11-09
|
* Update `dark_plus` diff colors (#4661)Kirawi2022-11-08
|
* [rust highlights] fix scoped attribute macro matching (#4659)Anton Romanov2022-11-08
| | | | | | | Without this scoped attribute macros are not matched as macros. Eg ``` #[path::macro] ```
* `error!` on unknown `CompletionItemKind` (#4658)Marko Klobučar Ledinšćak2022-11-08
|
* fix typo (#4656)Zhizhen He2022-11-08
|
* fix: small error (#4651)0xflotus2022-11-08
|
* bash completion: use builtin filenames option (#4648)Max Hille2022-11-08
| | | | Use a builtin bash option which detects filenames in completion outputs and reflects this in sensible <tab> completion behaviour.
* fix testsBlaž Hrastnik2022-11-08
|
* fix testsBlaž Hrastnik2022-11-08
|
* Dynamically resize line number gutter width (#3469)Doug Kelkhoff2022-11-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | * dynamically resize line number gutter width * removing digits lower-bound, permitting spacer * removing max line num char limit; adding notes; qualified successors; notes * updating tests to use new line number width when testing views * linenr width based on document line count * using min width of 2 so line numbers relative is useful * lint rolling; removing unnecessary type parameter lifetime * merge change resolution * reformat code * rename row_styler to style; add int_log resource * adding spacer to gutters default; updating book config entry * adding view.inner_height(), swap for loop for iterator * reverting change of current! to view! now that doc is not needed
* core: Move state into the history moduleBlaž Hrastnik2022-11-08
|
* lsp: Support insertReplaceBlaž Hrastnik2022-11-08
| | | | Fixes #4473
* Improve Ruby TextObjects (#4601)Danillo Melo2022-11-08
|
* build(deps): bump regex from 1.6.0 to 1.7.0 (#4640)dependabot[bot]2022-11-08
| | | | | | | | | | | | | | | | Bumps [regex](https://github.com/rust-lang/regex) from 1.6.0 to 1.7.0. - [Release notes](https://github.com/rust-lang/regex/releases) - [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/regex/compare/1.6.0...1.7.0) --- updated-dependencies: - dependency-name: regex 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 libloading from 0.7.3 to 0.7.4 (#4639)dependabot[bot]2022-11-08
| | | | | | | | | | | | | | | Bumps [libloading](https://github.com/nagisa/rust_libloading) from 0.7.3 to 0.7.4. - [Release notes](https://github.com/nagisa/rust_libloading/releases) - [Commits](https://github.com/nagisa/rust_libloading/compare/0.7.3...0.7.4) --- updated-dependencies: - dependency-name: libloading 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>
* tutor: fix wording in recap for chapter 5 (#4629)Tobias Kohlbau2022-11-07
| | | | | | In recap for chapter 5.1 specify that the cursor is duplicted to the next suitable line instead of the next line. Signed-off-by: Tobias Kohlbau <tobias@kohlbau.de>
* Fixed disorienting selection palette on Gruvbox theme (#4626)Ryan Palmer2022-11-07
| | | Co-authored-by: ryan.palmer <ryan.palmer@servicenow.com>
* Run clippy on workspace in CI (#4614)Jonathan LEI2022-11-07
|
* Fix command-mode completion behavior when input is escapedMichael Davis2022-11-07
| | | | | | | If `a\ b.txt` were a local file, `:o a\ <tab>` would fill the prompt with `:o aa\ b.txt` because the replacement range was calculated using the shellwords-parsed part. Escaping the part before calculating its length fixes this edge-case.
* Escape filenames in command completionMichael Davis2022-11-07
| | | | | | This changes the completion items to be rendered with shellword escaping, so a file `a b.txt` is rendered as `a\ b.txt` which matches how it should be inputted.
* Fix whitespace handling in command-mode completionMichael Davis2022-11-07
| | | | | | | | | | 8584b38cfbe6ffe3e5d539ad953c413e44e90bfa switched to shellwords for completion in command-mode. This changes the conditions for choosing whether to complete the command or use the command's completer. This change processes the input as shellwords up-front and uses shellword logic about whitespace to determine whether the command or argument should be completed.
* Fix range offsets in multi-selection paste (#4608)Michael Davis2022-11-06
| | | | | | | | | | | | | * Fix range offsets in multi-selection paste d6323b7cbc21a9d3ba29738c76581dad93f9f415 introduced a regression with multi-selection paste where pasting would not adjust the ranges correctly. To fix it, we need to track the total number of characters inserted in each changed selection and use that offset to slide each new range forwards. * Inherit selection directions on paste * Add an integration-test for multi-selection pasting
* Update Julia grammar, queries (#4588)ChrHorn2022-11-05
|
* Fix panic on paste from blackhole register (#4497)Michael Davis2022-11-04
| | | | | The sequence "_y"_p panics because the blackhole register contains an empty values vec. This causes a panic when pasting since it unwraps a `slice::last`.
* Select text inserted by shell or paste (#4458)Michael Davis2022-11-04
| | | | | | | | | This follows changes in Kakoune to the same effects: * p/<space>p: https://github.com/mawww/kakoune/commit/266d1c37d0d970a7eff747f5e6a5773a3cea39d8 * !/<A-!>: https://github.com/mawww/kakoune/commit/85b78dda2e29d70b620836b04224b104426bdbae Selecting the new data inserted by shell or pasting is often more useful than retaining a selection of the pre-paste/insert content.
* nix: Bump flake dependenciesBlaž Hrastnik2022-11-04
|
* Resolve a bunch of upcoming clippy lintsBlaž Hrastnik2022-11-04
|
* bump up LhKipp/tree-sitter-nu's version to latest (#4583)Antoine Stevan2022-11-04
|
* Use language=bash when shebang line uses zsh (#4582)throwaway-helix-zsh2022-11-04
| | | | | This PR makes the editor use language=bash when the shebang line uses zsh. This is in the same line as using language=bash for zsh related file (~/.zshrc, ~/.zshenv etc.) as we already do.
* Increase default language server timeout for Julia (#4575)ChrHorn2022-11-04
|
* Fix panic from two windows editing the same document (#4570)Michael Davis2022-11-03
| | | | | | | | | | | | | | | | | | | | * Clamp highlighting range to be within document This fixes a panic possible when two vsplits of the same document exist and enough lines are deleted from the document so that one of the windows focuses past the end of the document. * Ensure cursor is in view on window change If two windows are editing the same document, one may delete enough of the document so that the other window is pointing at a blank page (past the document end). In this change we ensure that the cursor is within view whenever we switch to a new window (for example with `<C-w>w`). * Update helix-term/src/ui/editor.rs Co-authored-by: Blaž Hrastnik <blaz@mxxn.io> Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* Use OSC 52 as a fallback for setting the system clipboard (#3220)Charlie Groves2022-11-02
| | | | | This adds a simple base64 implementation to keep us from adding a crate for one function. It's mostly based on https://github.com/marshallpierce/rust-base64/blob/a675443d327e175f735a37f574de803d6a332591/src/engine/naive.rs#L42
* Add indentation for Python pattern matchingYuriy2022-11-02
| | | | Add indentation for `match` and `case`.
* Add syntax highlighting for Python pattern matchingYuriy2022-11-02
| | | | | Add syntax highlighting for `match` and `case` keywords in Python (https://peps.python.org/pep-0636/).
* Exit select mode on replace commands (#4554)Jonathan LEI2022-11-02
|
* Fix D unittest injection query. (#4562)Garrett D'Amore2022-11-02
|
* Fix `delete_char_backward` for paired characters (#4558)Yuriy Gabuev2022-11-01
| | | | | | | | | | | When backward-deleting a character, if this character and the following character form a Pair, we want to delete both. However, there is a bug that deletes both characters also if both characters are closers of some Pair. This commit fixes that by adding an additional check that the deleted character should be an opener in a Pair. Closes https://github.com/helix-editor/helix/issues/4544.
* Add missed test attribute in #4316 (#4557)Poliorcetics2022-11-01
|
* Correctly handle escaping in completion (#4316)Armin Ronacher2022-11-01
| | | | | * Correctly handle escaping in completion * Added escaping tests
* build(nix): update nci, fixup flake (#4537)Yusuf Bera Ertan2022-11-01
|
* build(deps): bump once_cell from 1.15.0 to 1.16.0 (#4548)dependabot[bot]2022-11-01
| | | | | | | | | | | | | | | | | | Bumps [once_cell](https://github.com/matklad/once_cell) from 1.15.0 to 1.16.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.15.0...v1.16.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>
* Added missing keywords to wat (wasm) hightlights (#4542)Jonas Everaert2022-11-01
| | | added "if", "then", "else", "block", "loop", "end" and "mut" to the wat highlights.
* build(deps): bump lsp-types from 0.93.1 to 0.93.2 (#4550)dependabot[bot]2022-11-01
| | | | | | | | | | | | | | | | | | Bumps [lsp-types](https://github.com/gluon-lang/lsp-types) from 0.93.1 to 0.93.2. - [Release notes](https://github.com/gluon-lang/lsp-types/releases) - [Changelog](https://github.com/gluon-lang/lsp-types/blob/master/CHANGELOG.md) - [Commits](https://github.com/gluon-lang/lsp-types/compare/v0.93.1...v0.93.2) --- updated-dependencies: - dependency-name: lsp-types 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>
* build(deps): bump cc from 1.0.73 to 1.0.74 (#4549)dependabot[bot]2022-11-01
| | | | | | | | | | | | | | | | | Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.0.73 to 1.0.74. - [Release notes](https://github.com/rust-lang/cc-rs/releases) - [Commits](https://github.com/rust-lang/cc-rs/compare/1.0.73...1.0.74) --- updated-dependencies: - dependency-name: cc 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>
* Update SSH client config grammar & highlight queries (#4538)Sebastian Hoß2022-11-01
| | | Co-authored-by: Sebastian Hoß <seb@hoß.de>
* add highlights for env and ini file formats (#4536)seshotake2022-11-01
|
* Support WIT grammar (#4525)hh95272022-10-31
|
* build(deps): bump cachix/cachix-action from 11 to 12 (#4547)dependabot[bot]2022-10-31
| | | | | | | | | | | | | | | | | Bumps [cachix/cachix-action](https://github.com/cachix/cachix-action) from 11 to 12. - [Release notes](https://github.com/cachix/cachix-action/releases) - [Commits](https://github.com/cachix/cachix-action/compare/v11...v12) --- updated-dependencies: - dependency-name: cachix/cachix-action dependency-type: direct:production update-type: version-update:semver-major ... 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>
* Update windows install instructions (#4530)Konstantin Podsvirov2022-10-30
|