Commit Graph

4675 Commits (29638babea410d6d8397b02e6a826de0076a69c0)
 

Author SHA1 Message Date
Casper Rogild Storm 9420ba7484
Let..else refactor (#6562) 2 years ago
Pascal Kuthe 1073dd6329
robustly handle invalid LSP ranges (#6512) 2 years ago
Pascal Kuthe bfe8d267fe
normalize LSP workspaces (#6517) 2 years ago
Michael Davis 38b9bdf871 Recursive create the pkgname directory when creating a release tarball
This step without the '-p' works fine for regular releases but it can
fail if the CI is running when this file changes or on a branch
matching 'patch/ci-release-*'.
2 years ago
Michael Davis 6bfc309741 Remove the rust-toolchain.toml file before building the release
The 'dtolnay/rust-toolchain' action ignores the rust-toolchain.toml
file, but the installed 'cargo' respects it. This can create a version
mismatch if the MSRV is different from the stable rust version. Any
additional targets installed by rustup like aarch64-darwin might not
be installed for the correct version. To fix this, we remove the
rust-toolchain.toml file before calling 'cargo'.
2 years ago
Michael Davis fc5e515b30 Enable aarch64-macos releases 2 years ago
Yusuf Bera Ertan c3c87741d9
build(nix): update flake dependencies, remove deprecated code from flake 2 years ago
Michael Davis 406c5c38a1
changelog: Add remaining notes for 23.03 (#6498)
* changelog: Add remaining notes for 23.03

* changelog: Convert PR/commit names to links

* Split out 5748 into multiple bullets
2 years ago
Blaž Hrastnik 3cf037237f
Fix AppImage build problems 2 years ago
Blaž Hrastnik e59cb19892
Disable aarch64-macos build for now (build issues) 2 years ago
Michael Davis ec55b4d5af
Add changelog notes for the 23.03 release (#6455)
* changelog: Checkpoint 2023-01-10

commit: 927fa112ec

* changelog: Checkpoint 2023-02-05

commit: 9c98043c1c

* changelog: Checkpoint 2023-03-17

commit: bd473928ae

* changelog: Checkpoint 2023-03-27

commit: 5323020c3f

* Set a tentative release date for 2023-03-31

* Update CHANGELOG.md

* Mention virtual text PR in inlayed type hints feature links

* Fix description for 5097

* Rebalance features, usability improvements and fixes

* Reorganize some out-of-place changes to the proper sections

* Eliminate the LSP configurations section

This has a lot of overlap with the 'new languages' section with newly
supported LSP configurations. Smaller changes to LSP configurations
are not so common so I folded those into the 'updated languages and
queries' section.
2 years ago
Pascal Kuthe 9fe3adcff9
add option to enable/disable lsp snippets 2 years ago
Pascal Kuthe a48d1a4abc
Prefer utf-8 over utf-32
Utf-8 support has been around for a while as an unstable feature but
utf-32 is fairly new. A bunch of LS (like rust-analyzer) added this in
a pinch, but it's pretty broken right now. The performance overhead is
not very large (still a lot better than utf-16). We can switch back
once the ecosystem has matured.
2 years ago
Pascal Kuthe 7a69c40524
Hide signature help if it overlays completion menu (#5523) 2 years ago
Pascal Kuthe ab819d80f1
Correctly reload theme on :config-reload
The current implementation didn't reload the theme if no no theme was
explicitly configured (so the default theme was used). This commit
brings `refresh_theme` in line with the initialization code.
2 years ago
Pascal Kuthe 67783ddfd4
Performant and correct set_spans_truncated
the previous implementation used set_string_truncated. This is not only
awkward with this kind of "streaming" string (and therefore lead to an
inefficient and incorrect initial implementation) but that function also
truncates strings of width 1 when there is only a single char available.

The implementation here is performant, correct and also handles the
single width case correctly.
2 years ago
mWalrus e72be52996
Truncate paths in the file picker (#6410) 2 years ago
Pascal Kuthe a863fd89e1
update dependencies 2 years ago
Michael Davis 565445be60
Update tree-sitter-git-commit (#6493)
The last update introduced a bug with comments where a comment would
be recognized as a message if there were multiple newlines between
the last message or subject and the comment, causing a noticeable
change in highlighting. This change fixes that behavior.
2 years ago
Clara Hobbs d284444eb4
Add indents.scm for Julia (#6490)
* Add indents.scm for Julia

* Update documentation for new indent support
2 years ago
Clara Hobbs fc9229c846
Add injection for markdown strings (#6489) 2 years ago
jazzfool d04288e0f3
Canonicalize paths before stripping current dir as prefix (#6290)
Co-authored-by: jazzfool <shamoslover69@gmail.com>
2 years ago
Pascal Kuthe 5b3dd6a678 implement proper lsp-workspace support
fix typo

Co-authored-by: LeoniePhiline <22329650+LeoniePhiline@users.noreply.github.com>
2 years ago
Pascal Kuthe 2d10a429eb add workspace config and manual LSP root management
fixup documentation

Co-authored-by: LeoniePhiline <22329650+LeoniePhiline@users.noreply.github.com>

fixup typo

Co-authored-by: LeoniePhiline <22329650+LeoniePhiline@users.noreply.github.com>
2 years ago
Filip Dutescu d59b80514e
feat(debug): highlight current line (#5957)
Add new theme highlight keys, for setting the colour of the breakpoint
character and the current line at which execution has been paused at.
The two new keys are `ui.highlight.frameline` and `ui.debug.breakpoint`.
Highlight according to those keys, both the line at which debugging
is paused at and the breakpoint indicator.

Add an indicator for the current line at which execution is paused
at, themed by the `ui.debug.active` theme scope. Update various themes
to showcase how the new functionality works.

Better icons are dependent on #2869, and as such will be handled in the
future, once it lands.

Closes: #5952

Signed-off-by: Filip Dutescu <filip.dutescu@gmail.com>
2 years ago
Michael Davis bbcdcd04a5
tui: Handle keyboard enhancement check failure (#6438)
If the terminal doesn't send the primary device attributes response to
the query, the `terminal::supports_keyboard_enhancement` function from
crossterm may timeout and return an Err.

We should interpret this error to mean that the terminal doesn't support
the keyboard enhancement protocol rather than an error in claiming the
terminal.
2 years ago
Ivan 6a323c0b1b
Update catppuccin theme (#6464) 2 years ago
dependabot[bot] cefc9986d8
build(deps): bump thiserror from 1.0.39 to 1.0.40 (#6463)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.39 to 1.0.40.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.39...1.0.40)

---
updated-dependencies:
- dependency-name: thiserror
  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] 67b7b5b109
build(deps): bump tokio from 1.26.0 to 1.27.0 (#6461)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.26.0 to 1.27.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.26.0...tokio-1.27.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] 03087882f3
build(deps): bump anyhow from 1.0.69 to 1.0.70 (#6462)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.69 to 1.0.70.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.69...1.0.70)

---
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] 038d7727ce
build(deps): bump toml from 0.7.2 to 0.7.3 (#6459)
Bumps [toml](https://github.com/toml-rs/toml) from 0.7.2 to 0.7.3.
- [Release notes](https://github.com/toml-rs/toml/releases)
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.7.2...toml-v0.7.3)

---
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>
2 years ago
dependabot[bot] fadccd64c0
build(deps): bump chrono from 0.4.23 to 0.4.24 (#6460)
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.23 to 0.4.24.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.23...v0.4.24)

---
updated-dependencies:
- dependency-name: chrono
  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] fc22ed4ac5
build(deps): bump regex from 1.7.1 to 1.7.3 (#6458)
Bumps [regex](https://github.com/rust-lang/regex) from 1.7.1 to 1.7.3.
- [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.7.1...1.7.3)

---
updated-dependencies:
- dependency-name: regex
  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
Philipp Mildenberger 198ff2c3f9
Fix clippy lints (#6454) 2 years ago
Philip Giuliani 5323020c3f
Add .arb as a supported extension with json highlighting (#6452) 2 years ago
Michael Davis d7431db55c
Update tree-sitter-git-commit, add comment textobject (#6439)
The update includes a fix for comments in commit messages where there
was no space separating the '#' and the comment text.

The comment textobject can be useful occasionally to jump to the
summary part of the commit edit message.
2 years ago
Pascal Kuthe 2af14a24ab respect line annotations in char_idx_at_visual_row_offset
char_idx_at_visual_row_offset asssumed that a single line/block break
always corresponded to a vertical offset of 1. However conceal can hide
the line break (in which case the certical offset would be 0) and line
annotations (or softwrapped inlay hints at the end of the line) can insert
addtional vertical lines.

To correctly account for these cases we simply compute the visual offset
of the start of the next block from the previous block instead of the
visual offset of the block end. This means that the line breaks at the
end of the block (however many there may be) are automatically included
and we don't need to manually add 1 to the `row_offset` anymore.
2 years ago
Pascal Kuthe 9fac574178 do not ignore mouse scrolling when on top of virtual text 2 years ago
Pascal Kuthe 15e751b9a2 make scrolloff calculation consistent
While scrolling (with the `scroll`) command scrolloff was calculated
slightly differently than in `ensure_cursor_in_view` which could cause
the cursor to get stuck while scrolling
2 years ago
Pascal Kuthe d6c8e0c946 allow scrolling past virtual text line
Virtual text lines (either caused by softwrapped inlay hints that take
multiple or line annotations) currently block scrolling downwards.

if the visual offset passed to char_idx_at_visual_offset or
visual_offset_from_block is within a virtual text line then the char
position before the virtual text and a visual offset are returned.
We previously ignored that visual offset and as a result the cursor
would be stuck at the start of the virtual text. This commit fixes
that by simply moving the cursor to the next char (so past the virtual
text) if this visual offset is non-zero
2 years ago
Pascal Kuthe 7cf448eb5b use partition_point instead of binary_search_by
Using `partition_point` ensures we always find the first entry.
With binary search it is "random" (deterministic but implementation
specific) which index is retruned if there are multiple equal elements.
`partition_point` was added to the standard library to cover extactly
the usecase here.
2 years ago
Pascal Kuthe 72b9311678 fix view anchors not at start of a visual line
The top of a view is marked by a char idx anchor. That char idx is
usually the first character of the visual line it's on. We use a char
index instead of a line index because the view may start in the middle
of a line with soft wrapping. However, it's possible to temporarily
endup in a state where this anchor is not the first character of the
first visual line. This is pretty rare because edits usually happen
inside/after the view. In most cases we handle this case correctly.

However, if the cursor is before the anchor (but still in view)
there can be crashes or visual artifacts. This is caused by the fact
that visual_offset_from_anchor (and the positioning code in view.rs)
incorrectly assumed that the (cursor) position is always after the
view anchor if the cursor is in view. But if the anchor is not the
first character of the first visual line this is not the case anymore.

In that case crashes and visual artifacts are possible. This commit
fixes that problem by changing `visual_offset_from_anchor` (and
callsites) to properly consider that case.
2 years ago
Pascal Kuthe 0ab96cc257 remove incorrect assert
This assert was added during early development of #5420 and makes no
sense with the current code. We simply forgot to remove it.
2 years ago
JJ c8fde8b6f9
Initial Nim language support (#6123) 2 years ago
Juan C. Müller 5d7c90c5cf
Add language support for rego (OpenPolicyAgent) (#6415) 2 years ago
Pascal Kuthe abef92a9b3
log failures in the git integration (#6441) 2 years ago
Tom Burdick 685ae2365a
Add vhdl language support (#5826)
Simple highlight query file with keywords and builtin types
matching. Many VHDL types however are defined in std libraries
which do not currently get matched on.

This is because the grammar doesn't consider them builtin types.
2 years ago
Erasin Wang 851ac6cdd3
Add theme keys for (un)checked markup list items (#6434) 2 years ago
Matouš Dzivjak 2f64c768df
feat(languages): highlight .svg as xml (#6431)
Add "svg" as a file type for xml.

Fixes: https://github.com/helix-editor/helix/issues/6337
2 years ago
Alexis-Lapierre 9a65118899
Recognize .cts and .mts file type as TypeScript (#6424)
TypeScript can use three type of file extensions:
  - .ts  for regular TypeScript
  - .cts for CommonJS modules
  - .mts for ES modules

Official documentation on supported file extensions:
https://www.typescriptlang.org/docs/handbook/esm-node.html#new-file-extensions
2 years ago