Skyler Hawthorne
73b4511713
feat(command): expand_selection_around
...
Introduces a new command `expand_selection_around` that expands the
selection to the parent node, like `expand_selection`, except it splits
on the selection you start with and continues expansion around this
initial selection.
3 weeks ago
Skyler Hawthorne
da261724d1
Generalize View::object_selections into map
...
This allows using multiple distinct state histories. By default, all
history is also cleared any time a view's selection is set, unless
explicitly told to save the state. This way, we can have control over
when selection history is saved. They are also cleared on any text
edit, since an edit could invalidate the previous selection, potentially
causing a panic.
Additionally, the object selections have been moved into `Document`
so that it is easier to manipulate them when changes to the document
happen. They have been put into a wrapper struct named `ViewData`, where
the intention is that any further fields that we want to add in the
future that must be associated with a view, but are more convenient to
store in a document, can be added here, instead of further polluting the
core `Document` type.
3 weeks ago
Skyler Hawthorne
96cb28f4bf
Add Selection::{overlaps,without} and fix contains
...
Adds two helper functions to `Selection`:
* `overlaps`: tests whether two `Selection`s contain any ranges which
overlap with each other
* `without`: Computes a new `Selection` that is the set difference
of two `Selection`s, i.e. everything in the first `Selection`
with everything that overlaps in the second `Selection` removed,
potentially leaving holes in the original ranges.
It also fixes a bug with `Selection::contains`: it assumes that if the
second `Selection` has a greater number of ranges than the first, then
the first cannot contain the second; but this is false, since one range
from the first could contain multiple smaller ranges in the second.
3 weeks ago
Skyler Hawthorne
a3a7e0d510
shrink_selection without history selects first contained child
...
This changes the behavior of `shrink_selection` to iterate through child
nodes until it finds one that is contained within the selection, with
at least one of the ends of the selection being exclusively inside the
starting selection (though not necessarily both ends). This produces
more intuitive behavior for selecting the "first logical thing" inside
the selection.
3 weeks ago
Skyler Hawthorne
cc5e1937c4
Add TreeRecursiveWalker
...
Adds a method of breadth-first recursive descent for TreeCursors
3 weeks ago
Skyler Hawthorne
24eb54b2d0
backfill expand/shrink tests
3 weeks ago
Elliot Fontaine
38faf74feb
feat: Add support for cylc configuration files ( #11830 )
...
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
4 weeks ago
dependabot[bot]
101a74bf6e
build(deps): bump the rust-dependencies group with 6 updates ( #11924 )
...
Bumps the rust-dependencies group with 6 updates:
| Package | From | To |
| --- | --- | --- |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.128` | `1.0.132` |
| [anyhow](https://github.com/dtolnay/anyhow ) | `1.0.89` | `1.0.90` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.159` | `0.2.161` |
| [fern](https://github.com/daboross/fern ) | `0.6.2` | `0.7.0` |
| [pulldown-cmark](https://github.com/raphlinus/pulldown-cmark ) | `0.12.1` | `0.12.2` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.1.30` | `1.1.31` |
Updates `serde_json` from 1.0.128 to 1.0.132
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/1.0.128...1.0.132 )
Updates `anyhow` from 1.0.89 to 1.0.90
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.89...1.0.90 )
Updates `libc` from 0.2.159 to 0.2.161
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.161/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.159...0.2.161 )
Updates `fern` from 0.6.2 to 0.7.0
- [Release notes](https://github.com/daboross/fern/releases )
- [Changelog](https://github.com/daboross/fern/blob/main/CHANGELOG.md )
- [Commits](https://github.com/daboross/fern/compare/fern-0.6.2...fern-0.7.0 )
Updates `pulldown-cmark` from 0.12.1 to 0.12.2
- [Release notes](https://github.com/raphlinus/pulldown-cmark/releases )
- [Commits](https://github.com/raphlinus/pulldown-cmark/compare/v0.12.1...v0.12.2 )
Updates `cc` from 1.1.30 to 1.1.31
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.30...cc-v1.1.31 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: anyhow
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: fern
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-dependencies
- dependency-name: pulldown-cmark
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: cc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 month ago
Michael Davis
6d64e6288a
Bump flake dependencies
...
`nix flake update`
1 month ago
Michael Davis
f371dcaa4e
flake: Include --cfg tokio_unstable in Rust flags
...
The flake sets `RUSTFLAGS` and that overwrites the setting in
`.cargo/config.toml`. We need to add the `--cfg tokio_unstable` flag to
enable integration tests to run when called from the devShell.
1 month ago
TornaxO7
be2884d800
Continue line comments ( #10996 )
1 month ago
Sebastian Dall
a1453350df
Adding snakemake to language ( #11858 )
...
* feat: snakemake language
* feat: snakemake syntax highlighting
* doc: xtask docgen - snakemake
* Addressed feedback: removed redundant grammar
* fixed indentation
* removed has-ancestor predicate
---------
Co-authored-by: “SebastianDall” <“semoda@bio.auu.dk”>
1 month ago
karei
855a43a266
Bump `jjdescription` grammar revision ( #11857 )
1 month ago
Ivan B.
5ab1f1eb5a
docs(themes): place `ui.highlight.frameline` and `ui.highlight` together ( #11896 )
...
* docs(themes): place `ui.highlight.frameline` and `ui.highlight` together
* docs(themes): small fix
1 month ago
langurmonkey
1437ba1e5a
Add glsl_analyzer as default language server for GLSL ( #11891 )
...
* Add glsl_analyzer as default language server for GLSL
* Generate docs
1 month ago
dependabot[bot]
d1b8129491
build(deps): bump cc in the rust-dependencies group ( #11890 )
...
Bumps the rust-dependencies group with 1 update: [cc](https://github.com/rust-lang/cc-rs ).
Updates `cc` from 1.1.28 to 1.1.30
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.28...cc-v1.1.30 )
---
updated-dependencies:
- dependency-name: cc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 month ago
David Else
f2d54db24f
Update repology URL after change from helix to helix-editor ( #11877 )
...
* Update repology URL after change from helix to helix-editor
* Update book/src/package-managers.md
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
---------
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
1 month ago
Dmitry Marakasov
e4f3483bd1
Fix repology badge ( #11895 )
1 month ago
dependabot[bot]
a7651f5bf0
build(deps): bump the rust-dependencies group with 4 updates ( #11850 )
...
Bumps the rust-dependencies group with 4 updates: [once_cell](https://github.com/matklad/once_cell ), [futures-util](https://github.com/rust-lang/futures-rs ), [futures-executor](https://github.com/rust-lang/futures-rs ) and [cc](https://github.com/rust-lang/cc-rs ).
Updates `once_cell` from 1.20.1 to 1.20.2
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.20.1...v1.20.2 )
Updates `futures-util` from 0.3.30 to 0.3.31
- [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.30...0.3.31 )
Updates `futures-executor` from 0.3.30 to 0.3.31
- [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.30...0.3.31 )
Updates `cc` from 1.1.23 to 1.1.28
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.23...cc-v1.1.28 )
---
updated-dependencies:
- dependency-name: once_cell
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: futures-util
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: futures-executor
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: cc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 month ago
dependabot[bot]
761f70d611
build(deps): bump cachix/install-nix-action from 29 to 30 ( #11852 )
...
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action ) from 29 to 30.
- [Release notes](https://github.com/cachix/install-nix-action/releases )
- [Commits](https://github.com/cachix/install-nix-action/compare/v29...v30 )
---
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>
2 months ago
rhogenson
f55f1f8b43
Remove auto-pair for single quote in SML. ( #11838 )
...
Similar to OCaml and other ML languages, single quote is a normal
character that can appear in identifiers and is also used in type
parameters. It is not used for strings or character literals, which both
use double quote.
Co-authored-by: Rose Hogenson <rosehogenson@posteo.net>
2 months ago
Christopher Kaster
048973fc55
Add support for dune project language ( #11829 )
2 months ago
RoloEdits
f6d39cbc1d
refactor(lsp): handle out-of-range `active_signature` ( #11825 )
2 months ago
Pascal Kuthe
162028d444
Merge pull request #11486 from helix-editor/lsp-location-refactor
...
Replace uses of `lsp::Location` with a custom Location type
2 months ago
Skyler Hawthorne
02b6f1488a
fix git repo detection on symlinks ( #11732 )
2 months ago
Ian Hobson
57ec3b7330
Add a highlight for the keyword.storage scope to the onedark theme ( #11802 )
...
Rust highlight queries make use of keyword.storage for keywords like
`struct`, `enum`, and also for modifiers like `mut` and `ref`.
Using a color that's different to the one used for
`"variable.parameter"` (red) improves differentiation for mutable
function arguments.
2 months ago
Akseli
083bb0118f
Fix some odin highlights ( #11804 )
...
Some of the odin highlights seemed wrong or lacking, like the import names were not being matched:
```odin
// color both "rl" here to same value
import rl "vendor:raylib"
...
rl.Vector3
```
Import color was also not being used correctly
2 months ago
dependabot[bot]
cb9307bb03
build(deps): bump the rust-dependencies group with 5 updates ( #11805 )
...
Bumps the rust-dependencies group with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [once_cell](https://github.com/matklad/once_cell ) | `1.19.0` | `1.20.1` |
| [regex](https://github.com/rust-lang/regex ) | `1.10.6` | `1.11.0` |
| [tempfile](https://github.com/Stebalien/tempfile ) | `3.12.0` | `3.13.0` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.158` | `0.2.159` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.1.21` | `1.1.23` |
Updates `once_cell` from 1.19.0 to 1.20.1
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.19.0...v1.20.1 )
Updates `regex` from 1.10.6 to 1.11.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.10.6...1.11.0 )
Updates `tempfile` from 3.12.0 to 3.13.0
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.12.0...v3.13.0 )
Updates `libc` from 0.2.158 to 0.2.159
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.159/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.158...0.2.159 )
Updates `cc` from 1.1.21 to 1.1.23
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.21...cc-v1.1.23 )
---
updated-dependencies:
- dependency-name: once_cell
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-dependencies
- dependency-name: regex
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-dependencies
- dependency-name: tempfile
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-dependencies
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: cc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 months ago
dependabot[bot]
e28b0da1fb
build(deps): bump cachix/install-nix-action from V28 to 29 ( #11806 )
...
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action ) from V28 to 29. This release includes the previously tagged commit.
- [Release notes](https://github.com/cachix/install-nix-action/releases )
- [Commits](https://github.com/cachix/install-nix-action/compare/V28...v29 )
---
updated-dependencies:
- dependency-name: cachix/install-nix-action
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 months ago
offsetcyan
e5dd60f794
Add Erlang Language Platform (ELP) support to Erlang ( #11499 )
...
* Add ELP LSP to Erlang
* generate docs
---------
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
2 months ago
Denis Krienbühl
d103248cb8
Small bogster theme improvements ( #11353 )
...
* Add a distinct jump-label to bogster theme
* Make the primary label visible in the bogster theme
2 months ago
David Crespo
42453786a0
add key concepts to usage.md ( #11485 )
2 months ago
Oren Mittman
e1cacd149c
chore: add "ui.virtual.jump-label" to gruber-darker theme ( #11547 )
2 months ago
David Else
5975e53600
Add vale language server ( #11636 )
...
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
2 months ago
RoloEdits
24f24299f2
feat(languages): add `superhtml` as lsp for `html` ( #11609 )
2 months ago
chtenb
5ffd4ae529
Add undocumented keybindings to book ( #11662 )
2 months ago
chtenb
8cdce9212c
Improve tree-sitter-subtree ( #11663 )
...
* Make unnamed nodes visible in subtree view
* Refine command description
* Update generated docs
* Update unit test expected output
2 months ago
Axlefublr
48b89d4dcf
fix: fish builtin functions are highlighted as such ( #11792 )
...
* fix: fish builtin functions are highlighted as such
* fix: single-character commands recognized as builtins
???? how did that query even happen
* fix: update builtins to fish 3.7.1
* fix: add back `alias` and `isatty`
they are builtins, but aren't reported by builtin -n for some reason
2 months ago
Dmitriy Sokolov
dd45ae1289
languages.toml: recognize ldtk files ( #11793 )
2 months ago
Ian J Sikes
2c3a00e96a
Fix typo in tutor ch 13.5 ( #11765 )
...
It said "split" instead of "swap"
2 months ago
jneem
2ce4c6d5fa
Bump tree-sitter-nickel ( #11771 )
2 months ago
Tim
82dd963693
Add: validation of bundled themes in build workflow ( #11627 )
...
* Add: xtask to check themes for validation warnings
* Update: tidied up runtime paths
* Update: test build workflow
* Update: address clippy lints
* Revert: only trigger workflow on push to master branch
* Add: Theme::from_keys factory method to construct theme from Toml keys
* Update: returning validation failures in Loader.load method
* Update: commented out invalid keys from affected themes
* Update: correct invalid keys so that valid styles still applied
* Update: include default and base16_default themes in check
* Update: renamed validation_failures to load_errors
* Update: introduce load_with_warnings helper function and centralise logging of theme warnings
* Update: use consistent naming throughout
2 months ago
Konstantin Munteanu
70bbc9d526
Add .rbs files to ruby language ( #11786 )
2 months ago
Akseli
b18a471ed1
Remove "true" from odinfmt line ( #11759 )
...
The `-stdin` in `odinfmt` does not take any arguments, the `true` part here just confuses the formatter, and makes it ignore `odinfmt.json` file.
Removing it fixes the issue.
2 months ago
Tobias Hunger
f49b18d157
chore: Update slint tree-sitter grammar to version 1.8 ( #11757 )
...
Bump the commit to the tree-sitter corresponding to the
latest Slint release.
2 months ago
Lukas Knuth
50ba848b59
Update HCL grammar ( #11749 )
...
* Point HCL grammer to newest
This adds support for provider-defined function calls in Terraform.
* Update HCL grammar repo
The repository was moved from the original authors personal GitHub to the `tree-sitter-grammars` organization.
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
---------
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2 months ago
dependabot[bot]
30aa375f2d
build(deps): bump the rust-dependencies group with 2 updates ( #11761 )
...
Bumps the rust-dependencies group with 2 updates: [thiserror](https://github.com/dtolnay/thiserror ) and [cc](https://github.com/rust-lang/cc-rs ).
Updates `thiserror` from 1.0.63 to 1.0.64
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.63...1.0.64 )
Updates `cc` from 1.1.19 to 1.1.21
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.19...cc-v1.1.21 )
---
updated-dependencies:
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: cc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 months ago
rhogenson
73deabaa40
Fix panic when drawing at the edge of the screen. ( #11737 )
...
When pressing tab at the edge of the screen, Helix panics in debug mode
subtracting position.col - self.offset.col.
To correctly account for graphemes that are partially visible,
column_in_bounds takes a width and returns whether the whole range is
in bounds.
Co-authored-by: Rose Hogenson <rosehogenson@posteo.net>
2 months ago
rhogenson
8b1764d164
Join single-line comments with J. ( #11742 )
...
Fixes #8565 .
Co-authored-by: Rose Hogenson <rosehogenson@posteo.net>
2 months ago
James Munger
d6eb10d9f9
Update README.md ( #11665 )
...
Readability Clarification
2 months ago