Commit Graph

6108 Commits

Author SHA1 Message Date
Michael Davis
44d2fc2ab3
Commit an undo checkpoint before each write (#11062)
This fixes the modification indicator when saving from insert mode with
a config such as

    [keys.insert]
    C-s = ":write"

Previously the modification indicator would be stuck showing modified
even if the buffer contents matched the disk contents when writing after
some changes in insert mode with this binding. In insert mode we do not
eagerly write undo checkpoints so that all changes made become one
checkpoint as you exit insert mode. When saving, `Document`s `changes`
`ChangeSet` would be non-empty and when there are changes we show the
buffer as modified. Then switching to normal mode would append the
changes to history, bumping the current revision past what it was when
last saved. Since the last saved revision and current revision were then
unsynced, the modification indicator would always show modified.

This matches [Kakoune's behavior]. Kakoune has a different architecture
for writes but a very similar system for history, transactions and undo
checkpoints (what it calls "undo groups"). Upon saving Kakoune creates
an undo checkpoint if there are any uncommitted changes. It does this
after the write has gone through since its writing system is different.
For our writing system it's cleaner to make the undo checkpoint before
performing the save so that the history revision increments before we
send the save event.

[Kakoune's behavior]: 80fcfebca8/src/buffer.cc (L565-L566)
2024-07-14 02:59:47 +09:00
Lukas Grassauer
35f1c2a55f
Update tree-sitter-todotxt (#11097)
Update to latest commit that allows any non-whitespace character for projects, and contexts.
2024-07-14 02:59:21 +09:00
David Else
928e3f0d85
Add regex injections into bash (#11112) 2024-07-14 02:59:07 +09:00
Masanori Ogino
ec0bdb3976
Update Hare grammar (#11130)
This change uses <https://git.sr.ht/~ecs/tree-sitter-hare/> that is
up-to-date and linked from the official documentation.
2024-07-14 02:58:22 +09:00
Antonin
b0f3fe7556
Include .yml files in Helm chart templates (#11135) 2024-07-14 02:58:06 +09:00
RoloEdits
fd7b1a3e37
refactor(commands): trim end of pipe-like output (#10952) 2024-07-13 10:44:48 +09:00
David Else
a75b1cf51e
Fix ZSH completions (#11133) 2024-07-12 11:55:10 +09:00
David Else
501af93c92
Documentation: Convert links in the .desktop file to absolute paths (#11115) 2024-07-12 03:16:55 +02:00
Branch Vincent
2d1ac0f699
Add {pdm,uv}.lock, git/ignore, npmrc to languages (#11131) 2024-07-12 03:15:40 +02:00
David Else
8229a40da8
Add space back to main text in the tutor after chapter 11 (#11117) 2024-07-11 15:47:49 +09:00
David Else
9d75385062
Update ZSH completions (#11120) 2024-07-11 09:06:50 +09:00
baiyang1919813
649bd4501e
Add basedpyright langserver (#11121) 2024-07-10 19:28:11 +02:00
Yuntao Zhao
86982ab33c
feat: improve hx fish completion (#10853)
* feat: improve hx fish completion

- add -w and --working-dir options
- shorten option description
- dynamically call hx --health

* feat: improve health check completion

- remove header
- remove check/x characters

* feat: use hx --health languages in completion
2024-07-10 12:41:12 +09:00
Michael Davis
15a26b87c9
Expand tilde for selected paths in goto_file (#10964)
Previously `gf` on `~/.config/helix` for example would error if the
entire path was selected but succeed and open a picker for the directory
contents if the selection was one one-width cursor. We need to expand
tildes for all paths instead of just the auto-detected paths.

This also refactors the `goto_file` blocks a little so that we construct
`paths` once instead of creating the Vec and immediately clearing it
when the selection is one single-width cursor.
2024-07-10 12:40:43 +09:00
q
bfb7023656
Update fleet_dark.toml (#11046) 2024-07-10 12:40:03 +09:00
kanielrkirby
86e4b51416
Add changes for undo in insert mode (#11090)
* Add changes before insert mode undo
Fixes #11077

* Address edge cases for undo like Kakoune does

---------

Co-authored-by: Kaniel Kirby <pirate7007@runbox.com>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-07-10 12:38:50 +09:00
David Else
71df2428ee
Fix heredoc and add ansi_c_string highlights in bash queries (#11118) 2024-07-10 12:37:25 +09:00
dependabot[bot]
348c0ebeb4
build(deps): bump the rust-dependencies group with 5 updates (#11113)
Bumps the rust-dependencies group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [serde](https://github.com/serde-rs/serde) | `1.0.203` | `1.0.204` |
| [imara-diff](https://github.com/pascalkuthe/imara-diff) | `0.1.5` | `0.1.6` |
| [clipboard-win](https://github.com/DoumanAsh/clipboard-win) | `5.3.1` | `5.4.0` |
| [open](https://github.com/Byron/open-rs) | `5.1.4` | `5.2.0` |
| [cc](https://github.com/rust-lang/cc-rs) | `1.0.104` | `1.0.106` |


Updates `serde` from 1.0.203 to 1.0.204
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.203...v1.0.204)

Updates `imara-diff` from 0.1.5 to 0.1.6
- [Release notes](https://github.com/pascalkuthe/imara-diff/releases)
- [Changelog](https://github.com/pascalkuthe/imara-diff/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pascalkuthe/imara-diff/compare/v0.1.5...v0.1.6)

Updates `clipboard-win` from 5.3.1 to 5.4.0
- [Commits](https://github.com/DoumanAsh/clipboard-win/commits)

Updates `open` from 5.1.4 to 5.2.0
- [Release notes](https://github.com/Byron/open-rs/releases)
- [Changelog](https://github.com/Byron/open-rs/blob/main/changelog.md)
- [Commits](https://github.com/Byron/open-rs/compare/v5.1.4...v5.2.0)

Updates `cc` from 1.0.104 to 1.0.106
- [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.0.104...cc-v1.0.106)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-dependencies
- dependency-name: imara-diff
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-dependencies
- dependency-name: clipboard-win
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust-dependencies
- dependency-name: open
  dependency-type: direct:production
  update-type: version-update:semver-minor
  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>
2024-07-09 19:40:22 +09:00
Ricardo Fernández Serrata
6997ee9151
&Option<T> -> Option<&T> (#11091)
* refactor `starting_request_args` to only `ref` non-`Copy`

* refactor `needs_recompile` to only `ref` non-`Copy`

* refactor `add_workspace_folder` to only `ref` `Some`

---------

Co-authored-by: Rudxain <rudxain@localhost.localdomain>
2024-07-09 18:34:28 +09:00
Salman Farooq
0c8d51ee36
add cursorcolumn and cursorline to base16_transparent theme (#11099) 2024-07-07 11:24:04 +09:00
Matt Armstrong
8b7c33d00d
Minor improvements to comments in selection.rs (#11101) 2024-07-07 02:40:23 +09:00
Michael Davis
1fb99ec3b2
Fix language server ID type in lsp_workspace_command (#11105) 2024-07-07 02:39:55 +09:00
Schmiddiii
06d8fee048
Allow multiple language server with lsp-workspace-command (#10176)
This fix allows for multiple language servers at once which support
workspace commands. This was previously broken as just the first
language server supporting workspace commands was queried when listing
allowed worspace commands.

The fix is in two parts. Firstly, querying all workspace commands from
all language servers available and using them when actually running the
command in `lsp_workspace_command`. Secondly, doing the same in
`completers::lsp_workspace_command` such that completion still works as
expected.

The fix has one remaining issue, which I am unsure how to handle in the
best way possible, but which I also don't think should happen often:
Multiple language servers may register commands with the same name. This
will lead to that command being listed in the popup menu and in the
completion list multiple times, which can be possibly confusing. One
could disambigue them in the popover menu, but I am not sure the same
can be done for completion. When running `lsp-workspace-command` with
parameters, this behavior is "fixed" by displaying an error in that
case. I am unsure if this is the best fix for this issue in that case,
but could not find a better one.
2024-07-06 10:34:33 -05:00
Charlie Moog
fc97ecc3e3
Add hsc filetype to haskell (#11074) 2024-07-02 17:36:29 +09:00
adriaan
3524060ee8
Override far too dark cursorline (#11071) 2024-07-02 09:56:55 +09:00
Robin
64f8660d3e
Tell language servers that Helix can request formatting (#11064)
Without providing the formatting capability, the language server might not advertise its ability to format in return, causing the :format command to be broken.
2024-07-02 09:42:51 +09:00
Christopher Smyth
ed761fbe7c
Bump time from broken version (0.3.23) (#11065) 2024-07-02 09:38:30 +09:00
Lucas @ StarkWare
0c6ffe192b
chore: update cairo tree sitter + queries (#11067) 2024-07-02 09:37:49 +09:00
dependabot[bot]
9c4c66d417
build(deps): bump the rust-dependencies group with 3 updates (#11072)
Bumps the rust-dependencies group with 3 updates: [log](https://github.com/rust-lang/log), [serde_json](https://github.com/serde-rs/json) and [cc](https://github.com/rust-lang/cc-rs).


Updates `log` from 0.4.21 to 0.4.22
- [Release notes](https://github.com/rust-lang/log/releases)
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/log/compare/0.4.21...0.4.22)

Updates `serde_json` from 1.0.117 to 1.0.120
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.117...v1.0.120)

Updates `cc` from 1.0.100 to 1.0.104
- [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.0.100...cc-v1.0.104)

---
updated-dependencies:
- dependency-name: log
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-dependencies
- dependency-name: serde_json
  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>
2024-07-02 09:37:33 +09:00
Mark Murphy
21fd654cc6
Fix homebrew formula link (#11058)
Co-authored-by: Mark Murphy <mail@markmurphydev.com>
2024-06-30 16:07:57 +09:00
Chris44442
c6dbb9c270
VHDL highlights.scm improvement (#10845) 2024-06-29 15:30:38 +09:00
Michael Davis
dca952c03a
Delay auto-save until exiting insert mode (#11047)
Saving while in insert mode causes issues with the modification
indicator and this is very easy to reproduce with the current state of
the auto-save hook. We can tweak the hook slightly to await the mode
switch out of insert mode to perform the save.

The debounce is preserved: if you save and then immediately exit insert
mode the debounce will be respected. If the debounce lapses while you
are in insert mode, the save occurs as you switch out of insert mode
immediately.
2024-06-29 11:08:21 +09:00
Chirikumbrah
b4811f7d2e
Large Gruvbox refactoring (#10773)
* gruvbox refactoring

* removed unnecessary lines

* set purple1 for operators

* changed diagnostics colors

* removed some unnecessary lines

* set diff.delta color to yellow

* removed some tag colors
2024-06-26 23:05:01 +02:00
Michael Jones
0e46f56f30
Add new color theme 'iroaseta' (#10381)
* Add new color theme 'iroaseta'

* Update runtime/themes/iroaseta.toml

Co-authored-by: postsolar <120750161+postsolar@users.noreply.github.com>

* Update iroaseta.toml

Add virtual jump label theme setting

* Update runtime/themes/iroaseta.toml

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>

* Update iroaseta.toml

update storage. keyword.storage. according to suggestion, and update color.

* Update iroaseta.toml

remove unused palette

* Update iroaseta.toml

add missing setting for bufferline

* Update iroaseta.toml

update diagnostic fg color

* Update iroaseta.toml

I made the config more comprehensive and took all available themes settings from the manual. Some are commented out though.

* Update iroaseta.toml

add missing colors

* Update iroaseta.toml

Made some final adjustments to the color theme to improve visibility and reduce eye strain.

* Update runtime/themes/iroaseta.toml

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>

* Update runtime/themes/iroaseta.toml

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>

* Update iroaseta.toml

remove redundant settings

* Update iroaseta.toml

update color name

---------

Co-authored-by: postsolar <120750161+postsolar@users.noreply.github.com>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-06-26 23:04:17 +02:00
Thomas Schafer
6ed0d0cd39
Only pluralise "buffer" when required (#11018)
* Only pluralise buffer when required

* Use == 1 instead of != 1
2024-06-26 23:03:21 +02:00
dependabot[bot]
b05ed9bf85
build(deps): bump the rust-dependencies group with 4 updates (#11032)
Bumps the rust-dependencies group with 4 updates: [bitflags](https://github.com/bitflags/bitflags), [url](https://github.com/servo/rust-url), [cc](https://github.com/rust-lang/cc-rs) and [libloading](https://github.com/nagisa/rust_libloading).


Updates `bitflags` from 2.5.0 to 2.6.0
- [Release notes](https://github.com/bitflags/bitflags/releases)
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bitflags/bitflags/compare/2.5.0...2.6.0)

Updates `url` from 2.5.1 to 2.5.2
- [Release notes](https://github.com/servo/rust-url/releases)
- [Commits](https://github.com/servo/rust-url/compare/v2.5.1...v2.5.2)

Updates `cc` from 1.0.99 to 1.0.100
- [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/1.0.99...cc-v1.0.100)

Updates `libloading` from 0.8.3 to 0.8.4
- [Commits](https://github.com/nagisa/rust_libloading/compare/0.8.3...0.8.4)

---
updated-dependencies:
- dependency-name: bitflags
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust-dependencies
- dependency-name: url
  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
- dependency-name: libloading
  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>
2024-06-25 23:22:20 +09:00
Ashley Vaughn
a982e5ce26
add ruler at 101 and text-width at 100 to lean in languages.toml (#10969) 2024-06-23 10:09:39 +09:00
Alejandro Gastón Alvarez
b894cf087b
Add "jsonl" as filetype for JSON lang (#11004) 2024-06-23 10:08:20 +09:00
tingerrr
3706c0dc85
Add block comment tokens for typst (#10955) 2024-06-23 10:07:46 +09:00
J. Dekker
3b5f2e66fc
base16_default: add styles to newer unthemed features (#10858)
* base16_default: add `ui.statusline` for `color-modes`

Signed-off-by: J. Dekker <jdek@itanimul.li>

* base16_default: add `ui.virtual` default

Previously virtual text such as LSP inlay was impossible to distinguish
from 'real' text by default.

Signed-off-by: J. Dekker <jdek@itanimul.li>

---------

Signed-off-by: J. Dekker <jdek@itanimul.li>
2024-06-23 10:07:13 +09:00
Michael Davis
44e113cb76
tree-sitter: Update parent links on reused injection layers (#10978)
When parsing injections, we skip adding a new layer if there is an
existing layer covering the same range. When doing so we did not update
the parent layer ID, so some layers could have `parent` layer IDs that
pointed to a layer that no longer existed in the `layers` HopSlotMap
which could cause a panic when using `A-o`.

To fix this we update the `parent` pointer for both newly created
injection layers and reused ones.
2024-06-23 10:06:15 +09:00
Kirawi
b55cb3aa11
Revert "Replace unicode-general-category with icu-properties (#10989)" (#11006)
This reverts commit 9b7dffbd61.
2024-06-23 10:05:53 +09:00
Kirawi
9b7dffbd61
Replace unicode-general-category with icu-properties (#10989) 2024-06-18 18:19:05 +02:00
blt-r
0edf60964d
Update tree-sitter-rust (#10973)
Update to latest commit on master to include fix for a bug that doesn't
allow spaces in the shebang line.
2024-06-18 18:14:41 +02:00
TiredTumblrina
94a9c81eb0
Prevent improper files (like /dev/random) from being used as file arguments (#10733)
* Implement check before adding path to files

* fix problem where directories were removed from args.files

* Revert "Implement check before adding path to files"

This reverts commit c123944d9b.

* Dissallow opening of irregular non-symlink files

* Fixed issue with creating new file from command line

* Fixed linting error.

* Optimized regularity check as suggested in review

* Created DocumentOpenError Sum Type to switch on in Application

* Forgot cargo fmt

* Update helix-term/src/application.rs

Accept suggestion in review.

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>

* Moved thiserror version configuration to the workspace instead of the individual packages.

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-06-18 18:14:17 +02:00
David Else
d70f58da10
Fix multiple broken links in the documentation (#10953)
* Fix multiple broken links in the documentation

* Apply code review suggestion

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-06-18 10:43:36 +02:00
Thomas Schafer
668f1239a9
Fix jump_backwards behaviour when jumplist is at capacity (#10968)
* Fix jump_backwards behaviour when jumplist is at capacity

* Decrement self.current while popping from front

* Fix issue with conflicting updates to self.current

* Realised that truncate is intentional

* Use saturating_sub when decrementing current

* Fix naming of previous jump, and remove unneeded comment change

* Remove unnecessary changes in push

* Return num elements removed from front, and use in backward method

* Hide num_removed from public interface and tidy up jump location check
2024-06-18 10:42:46 +02:00
adiabatic
69acf66cd8
Add curly single and double quotes to BRACKETS (#10971) 2024-06-18 10:40:19 +02:00
Meris Bahtijaragic
afe9049a0e
improve jump colors for github_dark themes (#10946) 2024-06-18 10:39:56 +02:00
Shaun_Sheep
bc73dd19d3
Make prompt use cursor set for Insert mode (#10945)
* Resolve issue #10874

* cargo fmt
2024-06-18 10:38:56 +02:00