Commit graph

5309 commits

Author SHA1 Message Date
Galen Abell
581a1ebf5d
Add glob file type support (#8006)
* Replace FileType::Suffix with FileType::Glob

Suffix is rather limited and cannot be used to match files which have
semantic meaning based on location + file type (for example, Github
Action workflow files). This patch adds support for a Glob FileType to
replace Suffix, which encompasses the existing behavior & adds
additional file matching functionality.

Globs are standard Unix-style path globs, which are matched against the
absolute path of the file. If the configured glob for a language is a
relative glob (that is, it isn't an absolute path or already starts with
a glob pattern), a glob pattern will be prepended to allow matching
relative paths from any directory.

The order of file type matching is also updated to first match on globs
and then on extension. This is necessary as most cases where
glob-matching is useful will have already been matched by an extension
if glob matching is done last.

* Convert file-types suffixes to globs

* Use globs for filename matching

Trying to match the file-type raw strings against both filename and
extension leads to files with the same name as the extension having the
incorrect syntax.

* Match dockerfiles with suffixes

It's common practice to add a suffix to dockerfiles based on their
context, e.g. `Dockerfile.dev`, `Dockerfile.prod`, etc.

* Make env filetype matching more generic

Match on `.env` or any `.env.*` files.

* Update docs

* Use GlobSet to match all file type globs at once

* Update todo.txt glob patterns

* Consolidate language Configuration and Loader creation

This is a refactor that improves the error handling for creating
the `helix_core::syntax::Loader` from the default and user language
configuration.

* Fix integration tests

* Add additional starlark file-type glob

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-02-11 18:24:20 +01:00
Android789515
d570c29ce3
expand upon the arch linux install instructions (#9574)
Signed-off-by: Android789515 <derflug@mailfence.com>
2024-02-09 08:29:11 -06:00
Matouš Dzivjak
d137a08231
feat(languages): pkl (#9515)
* feat(languages): pkl

Add [pkl](https://github.com/apple/pkl) language.
Official documentation: https://pkl-lang.org/

* remove branch indent
2024-02-09 11:44:46 +01:00
ath3
f8e2d822ba
Fix scroll track (#9508) 2024-02-09 03:24:45 +01:00
Tobias Hunger
a1272bdb17
slint: Update treesitter parser and queries (#9551)
* slint: Update treesitter parser and queries

* slint: Port over suggestions from nvim review
2024-02-07 19:36:29 +01:00
Michael Davis
bbcc89241f Fix pulldown_cmark breaking changes to tag types
* Tags and TagEnd are now separate enums since
  <https://redirect.github.com/raphlinus/pulldown-cmark/pull/517>.
* The `Tag::Heading` member has been changed from a tuple variant to a
  struct variant.
2024-02-07 23:53:51 +09:00
dependabot[bot]
630d91168a build(deps): bump pulldown-cmark from 0.9.6 to 0.10.0
Bumps [pulldown-cmark](https://github.com/raphlinus/pulldown-cmark) from 0.9.6 to 0.10.0.
- [Release notes](https://github.com/raphlinus/pulldown-cmark/releases)
- [Commits](https://github.com/raphlinus/pulldown-cmark/compare/v0.9.6...v0.10.0)

---
updated-dependencies:
- dependency-name: pulldown-cmark
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-07 23:53:51 +09:00
dependabot[bot]
72c508de24
build(deps): bump libc from 0.2.152 to 0.2.153 (#9541)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-07 17:34:49 +09:00
Bogdan Agica
c64a0e615b
Revert "build(deps): bump cc from 1.0.83 to 1.0.84 (#8809)" (#9548) 2024-02-07 16:50:14 +09:00
eh
28a39e6efc
Fix cursorline Zed OneDark (#9549)
Co-authored-by: e4 <eric.correia@dronesense.com>
2024-02-07 01:47:13 +09:00
Diego
a37af2dcbf
fix division by zero when prompt completion area is too small (#9524) 2024-02-06 22:45:57 +09:00
eh
1d87c6a999
Update colors used for zed themes (#9544)
Official colors used is now publically available: https://github.com/zed-industries/zed/blob/main/assets/themes/one/one.json
Modified the theme to more accurately reflect the actual colors being used.

Co-authored-by: e4 <eric.correia@dronesense.com>
2024-02-06 15:13:20 +09:00
Matouš Dzivjak
0975d9c5e7
feat(languages): golang comments and numeric types (#9525) 2024-02-06 09:55:56 +09:00
Doug Kelkhoff
5c567f31e2
Adding two themes using only colors from 16-color terminal themes (#9477)
* adding 16-color terminal themes

* minor consistency update

* minor consistency update

* rename to be more consistent with other helix theme name conventions

* fixing improper theme inherits name
2024-02-04 02:11:20 +01:00
zetashift
6e3ed7f0fa
Update Unison tree-sitter grammar for type changes and add indent queries (#9505)
* Update Unison tree-sitter grammar for type changes

* Add indent queries for Unison

* Improve Unison indent queries
2024-02-04 02:10:20 +01:00
Jaakko Paju
75d61d8149
Improve tree-sitter queries for Scala (#9475)
- Simplify function highlighting
- Highlight extension methods
- Textobject query (mia/maa) for class/trait constructor parameters/arguments
- Textobject query (mif/maf) for Scala 3 braceless lambdas
2024-02-04 02:09:42 +01:00
Novus Nota
d1054de3ce
feat: Add Tact language support (#9512)
Re-submitting
2024-02-04 02:09:11 +01:00
Devyn Cairns
3f380722fb
Update grammars for Nushell to rev 358c4f50 (#9502) 2024-02-04 02:04:51 +01:00
Matouš Dzivjak
d545452819
feat(queries): regex injection for golang (#9510) 2024-02-04 00:27:40 +01:00
Shoyu Vanilla
81ae768a4e
Use gix pipeline filter instead of manual crlf implementation (#9503) 2024-02-03 12:23:33 -06:00
dependabot[bot]
70cea93bff
build(deps): bump serde_json from 1.0.111 to 1.0.113 (#9471) 2024-02-02 10:34:49 -07:00
dependabot[bot]
aa4241c973
build(deps): bump chrono from 0.4.32 to 0.4.33 (#9472) 2024-02-02 10:34:24 -07:00
dependabot[bot]
5ec9565ddb
build(deps): bump serde from 1.0.195 to 1.0.196 (#9473) 2024-02-02 10:34:05 -07:00
dependabot[bot]
dd59602809
build(deps): bump pulldown-cmark from 0.9.3 to 0.9.6 (#9474) 2024-02-02 10:33:46 -07:00
Andrew Carter
dbac78bb3c
Set ui.virtual.ruler background for GitHub themes (#9487)
Turning on a ruler does not show a visible ruler
line for the GitHub themes. This change renders
rulers using the `canvas.subtle` color. This
matches the color used for the `cursorline` and
creates a visible ruler that fits the theme.
2024-02-01 02:18:53 +01:00
Waleed Dahshan
cf4492174d
Use range positions to determine insert_newline motion (#9448)
* use anchor and head positions to determine motion

* use range cursor to decide extending or shifting

* add condition to cursor moving back on normal
2024-01-30 06:58:33 +09:00
Pascal Kuthe
87a720c3a1
make path changes LSP spec conform (#8949)
Currently, helix implements operations which change the paths of files
incorrectly and inconsistently. This PR ensures that we do the following
whenever a buffer is renamed (`:move` and workspace edits)

* always send did_open/did_close notifications
* send will_rename/did_rename requests correctly
  * send them to all LSP servers not just those that are active for a
    buffer
  * also send these requests for paths that are not yet open in a buffer (if
    triggered from workspace edit).
  * only send these if the server registered interests in the path
* autodetect language, indent, line ending, ..

This PR also centralizes the infrastructure for path setting and
therefore `:w <path>` benefits from similar fixed (but without didRename)
2024-01-29 01:34:45 +09:00
sogaiu
f5b67d9acb
Use janet-simple grammar for Janet (#9247)
* Use janet-simple grammar for Janet

* Update book

* Tweak language name and related

* Rename janet-simple to janet in book

* Remove spurious language section for janet

* Drop quote_lit and qq_lit related highlighting

---------

Co-authored-by: sogaiu <983021772@users.noreply.github.com>
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
2024-01-28 19:17:46 +09:00
NitinKM
4ab7029535
Add icon to Windows executable (#9104)
* injecting the icon through a resource file, no extra deps

* formatted

* scripted rc compilation

* formatted and restructured

* simplified conditional func call
2024-01-28 18:31:10 +09:00
Twinkle
eb3c4e9f00
feat: add hard/soft contrast for gruvbox light mode (#9266) 2024-01-28 18:20:51 +09:00
Ryan Roden-Corrent
fe44391016
Add argument to textobject in gdscript. (#9288)
Currently `maa` only selects parameters in a function definition.
Allow it to also select arguments inside a function call.
2024-01-28 18:19:25 +09:00
Jaakko Paju
ee68fd09ac
highlight(scala): highlight abstract methods in traits and classes (#9340) 2024-01-28 18:18:35 +09:00
Abderrahmane TAHRI JOUTI
0328fa4d02
adjust color darkness on ruler & inlay-hints (#9375) 2024-01-28 18:14:12 +09:00
Michael Davis
035b8eabdb Respect injections in movement::move_parent_node_end 2024-01-28 18:13:33 +09:00
Michael Davis
8b6565c839 Respect injections in :tree-sitter-highlight-name 2024-01-28 18:13:33 +09:00
Michael Davis
5e0b3cc28b Use injection syntax trees for bracket matching
Previously we used the root syntax tree for bracket matching. We can use
the new functionality in `Syntax` for finding the correct syntax tree
for a given byte range though so we use the correct syntax tree within
injections. This improves bracket matching behavior within HTML
injections like script or style tags for example.
2024-01-28 18:13:33 +09:00
Jaakko Paju
9978d421fe
Include interpolated SQL strings in Scala injection queries (#9428)
* Change Scala injection queries to include SQL strings

* Include block comments in comment injection

* Change #match predicate to #any-of

Co-authored-by: Kirawi <67773714+kirawi@users.noreply.github.com>

---------

Co-authored-by: Kirawi <67773714+kirawi@users.noreply.github.com>
2024-01-28 18:12:07 +09:00
Travis Harmon
f0be0c6d4a
Make status line modes bold for theme onedark (#9435)
* Make status line modes bold

* Revert change to onedarker
2024-01-28 18:11:31 +09:00
Chirikumbrah
1616021a5a
Make status line modes bold (#9449) 2024-01-28 18:11:05 +09:00
Poliorcetics
0d09fb4f55
lang(git-ignore): add helix/ignore to git-ignore file types (#9447) 2024-01-27 13:17:37 -06:00
blinxen
2661e05b34
Update some grammars to a commit where the license file is included (#9279)
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-01-25 14:12:17 +09:00
Nick
d8b8d2fda6
Fix error message shown for goto references (#9382) 2024-01-25 14:11:12 +09:00
Michael Davis
cda8ea991e
highlighting: Gate multiple captures behind #is-not? local predicates (#9390) 2024-01-25 14:10:58 +09:00
Blaž Hrastnik
83f09ecbff minor: Silence noisy language server not found error in log 2024-01-24 16:00:21 +09:00
Michael Davis
cb25d13028 Improve error handling for which::which failures
Co-authored-by: Pascal Kuthe <pascalkuthe@pm.me>
2024-01-24 15:47:49 +09:00
Michael Davis
6d724a8f33 Re-export which from helix-stdx::env
We use `which::which` in many crates, so `which` was a separate
dependency across all of them. We can centralize `which` into the
stdx crate so it's easy for all crates to depend on it.

I also moved the rest of `helix-view/src/env.rs` into helix-stdx's
`env` module since it only contained a thin wrapper around `which`
and `std::env`.
2024-01-24 15:47:49 +09:00
Blaž Hrastnik
6bfe1ddc53 minor: Silence noisy set_error log
Outside of debugging tests, it makes no sense to log this.
2024-01-24 15:31:16 +09:00
dependabot[bot]
b606c05246
build(deps): bump actions/cache from 3 to 4 (#9402)
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  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>
2024-01-23 20:23:39 +01:00
Idobenhamo
299bcce481
Update Typst Tree-Sitter grammar (#9403)
Co-authored-by: Idobenhamo <idobenhamo@users.noreply.github.com>
2024-01-23 18:27:46 +01:00
melted-brownie
2058b3732c
Add text object queries for dart (#9411)
* Add text object queries for dart

* Update runtime/queries/dart/textobjects.scm

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

* Clean up internal capture name

---------

Co-authored-by: Sébastien Blondiau <sebastien.blondiau@iot-d.com>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-01-23 18:27:09 +01:00