Commit Graph

4674 Commits (d5af6031f6ccd0a3f32efbb210aec24cd9c71ab1)
 

Author SHA1 Message Date
Pascal Kuthe 25d4ebe30d don't move cursor while forward deleting in append mode
Currently, when forward deleting (`delete_char_forward` bound to `del`,
`delete_word_forward`, `kill_to_line_end`) the cursor is moved to the
left in append mode (or generally when the cursor is at the end of the
selection). For example in a document `|abc|def`  (|indicates selection)
if enter append mode the cursor is moved to `c` and the selection
becomes: `|abcd|ef`. When deleting forward (`del`) `d` is deleted. The
expectation would be that the selection doesn't shrink so that `del`
again deletes `e` and then `f`. This would look as follows:

`|abcd|ef`
`|abce|f`
`|abcf|`
`|abc |`

This is inline with how other editors like kakoune work.
However, helix currently moves the selection backwards leading to the
following behavior:

`|abcd|ef`
`|abc|ef`
`|ab|ef`
`ef`

This means that `delete_char_forward` essentially acts like
`delete_char_backward` after deleting the first character in append
mode.

To fix the problem the cursor must be moved to the right while deleting
forward (first fix in this commit). Furthermore, when the EOF char is
reached a newline char must be inserted (just like when entering
appendmode) to prevent the cursor from moving to the right
2 years ago
Pascal Kuthe 2c3ccc3e8b cleanup delete_by_selection_insert_mode function 2 years ago
Pascal Kuthe f8225ed921 fix panic when deleting overlapping ranges
Some deletion operations (especially those that use indentation)
can generate overlapping deletion ranges when using multiple cursors.
To fix that problem a new `Transaction::delete` and
`Transaction:delete_by_selection` function were added. These functions
merge overlapping deletion ranges instead of generating an invalid
transaction. This merging of changes is only possible for deletions
and not for other changes and therefore require its own function.

The function has been used in all commands that currently delete
text by using `Transaction::change_by_selection`.
2 years ago
Pascal Kuthe 6842fd4c36 clarify comments about completion savepoints
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2 years ago
Pascal Kuthe 28b730381c only resolve completion items once 2 years ago
Pascal Kuthe bcb8c3d34d deduplicate savepoints 2 years ago
Pascal Kuthe 9c558fc470 ensure correct trigger/start completion offset
When re requesting a completion that already has a selected item we
reuse that selections savepoint. However, the selection has likely
changed since that savepoint which requires us to use the selection
from that savepoint
2 years ago
Pascal Kuthe 30ff7f8db2 resolve completions before applying transactions 2 years ago
Pascal Kuthe 5406e9f629 correctly handle completion rerequest 2 years ago
Jan Scheer 91da0dc172
Update nightfox theme (#7061)
* theme: nightfox - fix subselection highlighting

This fixes an issue with subselect highlighting on the same line as
reported here: https://github.com/helix-editor/helix/discussions/5158

* theme: nightfox - update bufferline colors

This uses `ui.bufferline` to make it easier to distinguish
between (in-)active tabs/buffers.
2 years ago
gibbz00 6f135e58a3
languages.toml: recognize `gml` files. (#7055) 2 years ago
gibbz00 e9efcebdb0
languages.toml: recognize `geojson` files. (#7054) 2 years ago
dependabot[bot] 4b9dba8217
build(deps): bump serde from 1.0.162 to 1.0.163 (#7056)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.162 to 1.0.163.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.162...v1.0.163)

---
updated-dependencies:
- dependency-name: serde
  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>
2 years ago
dependabot[bot] b50032ee85
build(deps): bump tokio from 1.28.0 to 1.28.1 (#7057)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.28.0 to 1.28.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.28.0...tokio-1.28.1)

---
updated-dependencies:
- dependency-name: tokio
  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>
2 years ago
A-Walrus d5fe08ddb8
Replace DAP vars popup, instead of adding new (#7034) 2 years ago
lefp 06d7f5d100
Add comment injections for Odin (#7027) 2 years ago
Vitalii Solodilov 5938e2c0dc
fix: update upstream tree-sitter-dockerfile (#6895)
* fix: update upstream tree-sitter-dockerfile

Fixes: #6797

* fix: review

* fix: review
2 years ago
ZJPzjp 3b8c15618f
Fix warnings from clippy (#7013)
* Fix warnings from clippy

* revert MAIN_SEPARATOR_STR
2 years ago
Blaž Hrastnik 1e5997dc98
nix: Update flake dependencies 2 years ago
John Kelly 87da58578f
Add better error message for file save failure due to parent not existing (#7014)
Fixes #5229
2 years ago
Kitsu 92c328c088
Add wbc and wbc! commands (#6947) 2 years ago
Ollie Charles 8424f387b5
Remove `tree-sitter-cabal` (#6996) 2 years ago
David Else 69332ae3b2
Add Flathub as third party repository (#6994) 2 years ago
dependabot[bot] 7089bc20f0
build(deps): bump serde from 1.0.160 to 1.0.162 (#7002)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.160 to 1.0.162.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.160...1.0.162)

---
updated-dependencies:
- dependency-name: serde
  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>
2 years ago
dependabot[bot] 9cca80bd53
build(deps): bump libc from 0.2.142 to 0.2.144 (#7000)
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.142 to 0.2.144.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.142...0.2.144)

---
updated-dependencies:
- dependency-name: libc
  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>
2 years ago
dependabot[bot] 301d45b34b
build(deps): bump termini from 0.1.4 to 1.0.0 (#7001)
Bumps [termini](https://github.com/pascalkuthe/termini) from 0.1.4 to 1.0.0.
- [Release notes](https://github.com/pascalkuthe/termini/releases)
- [Commits](https://github.com/pascalkuthe/termini/compare/v0.1.4...v1.0.0)

---
updated-dependencies:
- dependency-name: termini
  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 years ago
Chirikumbrah 3fb0562e7b
Update dracula menu colors (#6987) 2 years ago
Andrius Pukšta 3a9e77934b
Treat .sty and .cls files as latex (#6986) 2 years ago
Dave Powers 5ae30f1993
Fix keymap select / extend mode anchor link (#6974) 2 years ago
Diego Pontoriero fc1e9a6ff9
languages: add build.gradle.kts to java and scala roots (#6970)
Gradle scripts written in kotlin use a .kts extension:

https://docs.gradle.org/current/userguide/kotlin_dsl.html#sec:scripts
2 years ago
Gagan Janjua c6228825fd
Add Amberwood theme (#6924) 2 years ago
taupiqueur c49faf5681
Add language server command for Crystal (#6948) 2 years ago
dependabot[bot] d1a4bd876b
build(deps): bump tokio from 1.27.0 to 1.28.0 (#6935)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.27.0 to 1.28.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.27.0...tokio-1.28.0)

---
updated-dependencies:
- dependency-name: tokio
  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>
2 years ago
dependabot[bot] 7ea5965bd5
build(deps): bump tokio-stream from 0.1.12 to 0.1.14 (#6934)
Bumps [tokio-stream](https://github.com/tokio-rs/tokio) from 0.1.12 to 0.1.14.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Changelog](https://github.com/tokio-rs/tokio/blob/tokio-0.1.14/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-stream-0.1.12...tokio-0.1.14)

---
updated-dependencies:
- dependency-name: tokio-stream
  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>
2 years ago
dependabot[bot] d3e535b697
build(deps): bump gix from 0.44.0 to 0.44.1 (#6933)
Bumps [gix](https://github.com/Byron/gitoxide) from 0.44.0 to 0.44.1.
- [Release notes](https://github.com/Byron/gitoxide/releases)
- [Changelog](https://github.com/Byron/gitoxide/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Byron/gitoxide/compare/gix-v0.44.0...gix-v0.44.1)

---
updated-dependencies:
- dependency-name: gix
  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>
2 years ago
dependabot[bot] d9a7bd3bc1
build(deps): bump anyhow from 1.0.70 to 1.0.71 (#6932)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.70 to 1.0.71.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.70...1.0.71)

---
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>
2 years ago
dependabot[bot] 1b3923374a
build(deps): bump etcetera from 0.7.1 to 0.8.0 (#6931)
Bumps [etcetera](https://github.com/lunacookies/etcetera) from 0.7.1 to 0.8.0.
- [Release notes](https://github.com/lunacookies/etcetera/releases)
- [Commits](https://github.com/lunacookies/etcetera/compare/v0.7.1...v0.8.0)

---
updated-dependencies:
- dependency-name: etcetera
  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>
2 years ago
Chirikumbrah 2701781db7
Dracula theme: change variable and menu colors (#6855) 2 years ago
Scott Stevenson 015623720c
Recognise Jupyter notebooks as JSON documents (#6927) 2 years ago
Scott Stevenson d7878238c1
Recognise poetry.lock as TOML (#6928) 2 years ago
Pascal Kuthe 75f62bc86f fix didChange notifaction offset encoding 2 years ago
Alexis-Lapierre b0b3f45b80
Conserve BOM and properly support UTF16 (#6497) 2 years ago
Rafael Madriz efd09b6c7c
tutor: Delete space between shorthand (#6920) 2 years ago
Rafael Madriz 5dcc891996
tutor: Trim trailing white space (#6919) 2 years ago
sscheele f52e81b1f3
Update docs for `move_visual_line_*` (#6918) 2 years ago
Pascal Kuthe 77da0ae8ce
downgrade gix log level to info (#6915) 2 years ago
0rphee f2ccc03332 [Theme - noctis] Change color for whitespace rendering and indent guides 2 years ago
0rphee 96720e7b84 [Theme - noctis] Refine multiple cursor highlighting
Improve clarity when using multiple cursors
2 years ago
Evgeniy Tatarkin 6a1bb81f10
Sort the buffer picker by most recent access (#2980) 2 years ago
Timothy DeHerrera 9c6c63a2be
inject language based on file extension & shebang (#3970)
* inject language based on file extension

Nodes can now be captured with "injection.filename". If this capture
contains a valid file extension known to Helix, then the content will
be highlighted as that language.

* inject language by shebang

Nodes can now be captured with "injection.shebang". If this capture
contains a valid shebang line known to Helix, then the content will
be highlighted as the language the shebang calls for.

* add documentation for language injection

* nix: fix highlights

The `@` is now highlighted properly on either side of the function arg.

Also, extending the phases with `buildPhase = prev.buildPhase + ''''`
is now highlighted properly.

Fix highlighting of `''$` style escapes (requires tree-sitter-nix bump)

Fix `inherit` highlighting.

* simplify injection_for_match

Split out injection pair logic into its own method to make the overall
flow easier to follow.

Also transform the top-level function into a method on a
HighlightConfiguration.

* markdown: add shebang injection query
2 years ago