Commit Graph

1159 Commits (37397ecc6dfc9e9c6f45e53823877fabd6a132ef)

Author SHA1 Message Date
Michael Davis 9753da6ab7
Fix locals tracking in Rust closures (#3027)
The fix comes from the rewriting of the `closure_parameters` stanza:
it was capturing the entire `closure_parameters` node including
paretheses, whitespace, and commas. Capturing the identifiers within
fixes the tracking.

In order to make sure locals definitions from closure parameters don't
leak out of the body of the closure, though, we should also mark the
closure itself as a locals scope.
2 years ago
Joe 0c9594e41e
Add SCSS language support (#3074) 2 years ago
Termina94 3cced1e3c8
Add cursorline colour to darkplus theme (#3054)
Co-authored-by: Dean Revell <revell@gmail.com>
2 years ago
0rphee 7951ebfd4d
[Theme] Noctis (#3043) 2 years ago
Mateusz S. Szczygieł 5f69beb87f
Add textobjects.scm to GLSL (#3051) 2 years ago
Philipp Mildenberger e97b8607c1
Added ungrammar language support (#3048) 2 years ago
Austen LeBeau 0cb0c30618
add fortran language (#3025) 2 years ago
Gokul Soumya b7a3531b8f
theme(onedark): Remove bg for window separator (#3011) 2 years ago
Jake Langford 230ba264bf
Introduce storage highlighting for typescript/javascript (#2961) 2 years ago
Ivan Tham e35abe38f3
Remove broken ledger tag highlight (#2988) 2 years ago
A-Walrus 1378b911b6
Fix some typos (#2978) 2 years ago
Ivan Tham b612211070
Update tree-sitter-ledger (#2936) 2 years ago
Michael Davis aacd0c8aa5
Update TSQ queries (#2960)
A few changes to make TSQ highlights better:

* A parsing error has been fixed in the grammar itself
    * Previously tree-sitter-tsq did not parse the variables
      in predicates like `(#set! injection.language "javascript")`
* Theme nodes as `tag`
    * The newly added node to the parser (from the above fix) is
      `variable` which takes over the `variable` capture from nodes
* Highlight known predicates as `function` and unsupported
  predicates as `error`
    * This may help when translating queries from nvim-treesitter.
      For example `#any-of?` is a common one used in nvim-treesitter
      queries but not implemented in Helix or tree-sitter-cli.
* Inject tree-sitter-regex into `#match?` predicates
2 years ago
Jens Getreu 936ed3a226 Add Autumn night theme
Under some light conditions, one prefers a high contrast theme.
2 years ago
Jens Getreu 2e709859c4 Autumn theme: slightly adjust contrast 2 years ago
Skyler Hawthorne f392e35439
feat(theme): solarized: add cursorline, ruler, indent guide (#2962) 2 years ago
rsteube 4c30a3609a
languages: added elvish (#2948) 2 years ago
nosa 290b3ebbbe
Update night_owl for cursorline (#2938) 2 years ago
ramojus cc3aded185
add statusline mode colors to meliora theme (#2933) 2 years ago
nosa 8a19196ad5
Updated for #2676 , but I took the opportunity to do some other changes. (#2929)
- Misspelling of 'modifiers' for markdown.heading.1 and 2.
- Errors are now just underlined instead of in red.
- Diagnostics are dimmed, as well as whitespace.
- Add constant.builtin.
2 years ago
Blaž Hrastnik 9ae70cc410 Disable tree-sitter python indents, use fallback for now
There's been a lot of complaints about the state of python indentation
and the fallback actually works better until the solution proposed
in https://github.com/helix-editor/helix/issues/763#issuecomment-1137894973=
is implemented.
2 years ago
two-six 444bc24a26
[Theme] Nord Light (#2908)
* add theme

* updated nord_light

* update to colors

* last update to colors
2 years ago
Erasin 051a7f0606
add cursorline to one light theme (#2925) 2 years ago
Jens Getreu 7baa8e837b
Add `color-modes` to Autumn theme (#2928)
Co-authored-by: Jens Getreu <jens.getreu@dlh.lu>
2 years ago
Michael Davis c5600c9c01 markdown: limit raw block highlight to code fence content 2 years ago
Michael Davis c8dba2f4c6 erlang: highlight modules in behaviour attributes 2 years ago
Michael Davis 19acbfe02d erlang: highlight records with macro names
You might use a macro like `?MODULE` to name a record:

    -record(?MODULE, {a, b, c}).

With this fix, the record fields correctly get `variable.other.member`
highlights.
2 years ago
Michael Davis bf1aa8876c git-commit: fix highlight edge cases
* branch message with current branch and diverged branch has been
  added to the parser
* scissors used in verbose commits are marked as a punctuation
  delimiter
    * we could use comment instead since they're visually the
      same but IMO this works better
2 years ago
Michael Davis 4a0dab8bc2 erlang: fix '#match?' for specs/callbacks 2 years ago
Michael Davis e4e8a39bf7 replace module captures with namespace
`module` is undocumented and does not exist in other themes. The
equivalent existing scope based on usage (Elixir for example) is
`namespace`.
2 years ago
Michael Davis 016e97314c html: highlight punctuation
* `/>` as in self-closing tags like `<hr/>`
* `=` as in the separator between attribute name and value `<a href="bar">`
2 years ago
Michael Davis 7cf88f2bac edoc: prevent rogue punctuation highlights
Punctuation highlights would show up outside of where they
were valid, for example using parentheses in some text. This
change prevents that by gating the captures to being under
the named nodes in which they are valid.
2 years ago
Michael Davis 78c944ebc3 rust: fix highlight corner-cases
* add punctuation highlights for commas as in function parameters
* remove stray `variable.parameter` highlight
    * I couldn't find any regressions from this and it fixes an
      edge case I ran into (but sadly did not record 😓)
* highlight `fn` as `keyword.function`
    * the theme docs have `fn` as an example so it seems fitting
2 years ago
Michael Davis ca82cd86e6 markdown: highlight punctuation 2 years ago
Michael Davis bd527c84e6 erlang: highlight unary '#' as punctuation.bracket
The '#' character may either be interpreted as a map when used
like so:

    %% Example 1
    #{a => b}

Or as an operator which updates an existing map when the left-hand
side is an expression:

    %% Example 2
    MyMap#{a => b}

This commit changes the highlight to `punctuation.bracket` when used
as a character in a literal map (example 1) and keeps the `operator`
highlight when used for updating (example 2).
2 years ago
Michael Davis d523280e85 erlang: highlight nullary macros as constants 2 years ago
Sora 26501afe13
Update cursorline for tokyonight + tokyonight_storm (#2927)
Co-authored-by: s0LA1337 <dreamer@neoncity.dev>
2 years ago
Skyler Hawthorne f2768da1f6
add mode colors to solarized (#2926) 2 years ago
Mathspy d06800f1dd
Add mode specific styles (#2676)
* Add mode specific styles

In similar vein to neovim's lualine and similar statusline packages this
allows helix users to style their mode based on which mode it is thus
making each mode more visually distinct at a glance

* Add an example based on rosepine

* Add editor.colors-mode config

* Document statusline mode styles
2 years ago
Jens Getreu 94fc41a419
Add cursorline to Autumn theme (#2918)
Co-authored-by: Jens Getreu <jens.getreu@dlh.lu>
2 years ago
Ben Lee-Cohen 15ac1142cf
Adding a cursorline for the Nord theme (#2916) 2 years ago
Stuart Hinson 6ac6080969
primary cursorline for Dracula theme (#2915) 2 years ago
Michael Davis 64cf4c859b
support Bazel languages (#2903) 2 years ago
Gokul Soumya 23ce5f1837
Add cursorline scope for onedark theme (#2892) 2 years ago
ramojus db2aa57074
update meliora theme (#2890) 2 years ago
Gokul Soumya a26943de4e
Right align scrollbar with track in completion popup (#2754)
- Align the scollbar to the right edge of the popup rather than at
  a margin of one.
- Add a scrollbar track and a new scope `ui.menu.scroll`.
2 years ago
Ramojus c113531db9
add meliora theme (#2884) 2 years ago
two-six 18435899b2
[Theme] Acme (#2876) 2 years ago
Gokul Soumya 924b4ebb39 Add theme scopes for indent guides 2 years ago
Mathspy fa4934cff9
Default rulers color to red (#2669)
* Default rulers color to red

Currently if the theme a user is using doesn't have `ui.virtual.rulers`
set and they set up a ruler it just fails silently making it really hard
to figure out what went wrong. Did they set incorrectly set the ruler?
Are they using an outdated version of Helix that doesn't support rulers?

This happened to me today, I even switched to the default theme with
the assumption that maybe my theme just doesn't have the rulers setup
properly and it still didn't work.

Not sure if this is a good idea or not, feel free to suggest better
alternatives!

* Use builtin Style methods instead of Bevy style defaults

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

* Only default the style if there's no ui or ui.virtual

* Update themes style from ui.virtual to ui.virtual.whitespace

* Revert ui.virtual change in onelight theme

* Prefer unwrap_or_else

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2 years ago
Michael Davis 9f676dab57 add test textobjects queries for erlang,gleam,go,python,rust 2 years ago
Connor Lay (Clay) 67f6c85792 text-objects: add test capture & elixir queries 2 years ago
farwyler cad4e03a00
adds missing tree-sitter-comment injection for js/ts (#2763) 2 years ago
Joe e2878a6e21
Add noctis bordo theme (#2830) 2 years ago
A-Walrus ad15e7b5e8
Add "<<=" operator to Rust syntax highlighting (#2805) 2 years ago
Clay b13e534b92
HEEx: upgrade version and support new special_attribute node (#2800) 2 years ago
nosa 21d12e1487
Restore section spacing in tutor. (#2791) 2 years ago
Axot 4d604d3b50
Add clojure language support (#2780)
Co-authored-by: Mateusz Ledwoń <mateusz.ledwon@iteo.com>
2 years ago
nosa 3b1866f959
update tutor (#2716)
* update tutor

* Capitalize "command mode ".

* Update runtime/tutor.txt

Editing mistake.

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

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2 years ago
Anton Romanov 7983c71752
Introduce storage_class highlight scope (#2731) 2 years ago
Kappa d7bd441675
Cleanup for runtime/tutor.txt (#2590) 2 years ago
Bjorn Ove Hay Andersen 3b2d4031f1
Clarified the text in chapter 3 of the tutor (#2735)
* Clarified the text in chapter 3 of the tutor (#2725)

* Adjusted section 3.1 to better show how C works
2 years ago
Jonas Tepe a766b32ed1 Expand chapter one recap of tutor
This add the missing variant of entering insert mode
to the chapter 1 recap section.
2 years ago
Ivan 0bc7259672
add prisma tree-sitter and lsp support (#2703)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2 years ago
Danny 567e71fbbc
fix spelling of catppuccin theme (#2713) 2 years ago
Michael Davis 4a27e2d938 capture rust closures as function textobjects
Closures like

    iter.map(|a| a + 1)

Are sort-of functions, so `]f` or `maf` or `mif` can apply to them
as well as named function definitions.
3 years ago
Michael Davis f7a3d35752 add textobject queries for gleam 3 years ago
Michael Davis bcafdf404f add textobject queries for elixir 3 years ago
Michael Davis 7a9147489e add textobject queries for erlang 3 years ago
farwyler f0d1c85553
support for openscad (#2680)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
3 years ago
nosa 5b4e0a304b
Update selection style of Night Owl (#2668) 3 years ago
Michael Davis fd4858c03d
add tree-sitter-jsdoc (#2650) 3 years ago
Michael Davis 42d780b103
add tree-sitter-edoc (#2640)
* add tree-sitter-edoc

* fix escape character capture in markdown queries

* add field negation operator "!" to tsq highlights
3 years ago
Michael Zeller 99e08f50bd
catpuccin ui.popup should be a different color from ui.background (#2644) 3 years ago
Ben Lee-Cohen fc666db6b9
Solarized Light: Fixing menu colors and adding English translation (#2626) 3 years ago
Clay fc8c488322
Elixir: inject Markdown into docs, remove h sigil HEEx injection (#2619)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
3 years ago
Timothy DeHerrera eba82250bb
feat(lang): Update Nix grammar & improve queries (#2472) 3 years ago
Paul Graydon 710c4a84b2
Adjust colors in tokyonight themes (#2606) 3 years ago
pancake 7706a4a0d8
Add Vlang tree-sitter in the languages.toml (#2526)
Co-authored-by: pancake <pancake@nopcode.org>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
3 years ago
Ben Lee-Cohen 7160e745f7 Changing Macro color to avoid color confusion
I noticed that in Rust, `println!`being a macro, it matched the color of string literals. This was visually confusing to me, so I checked what the nvim catpuccin theme (https://github.com/catppuccin/nvim) does. While it is pretty different, it does use different colors for strings and all function types: https://share.cleanshot.com/RLG2y1

I don't know if blue or red makes more sense given the other syntax choices, but wanted to propose this change cc @IsotoxalDev
3 years ago
Michael Davis 82da9bd4f2 update Erlang grammar and queries
The update to the grammar itself covers the case where the document
is a single expression without a trailing newline such as "min(A, B)".
A small change to the parser now parses these expressions correctly
which improves the display of the function head in the signature
help popup.

The update to the queries marks 'andalso', 'orelse', 'not', etc. as
`@keyword.operator` which improves the look - it looks odd to see
operators that are words highlighted the same as tokens like '->'
or '=:='.
3 years ago
Michael Davis 45dd54082e update Gleam grammar and queries
With respect to the queries:

The locals scope for functions was not large enough, so a function's
parameter could outlive the function body. To fix it, we just widen
the scope to the `function` node.

See also https://github.com/gleam-lang/tree-sitter-gleam/issues/25

With respect to the parser:

An external scanner has been added that fixes the parsing of strings.
Previously, a comment inside a string would act like a comment rather
than string contents.

See also https://github.com/gleam-lang/tree-sitter-gleam/issues/14#issuecomment-1129263640

A new constructor node has been added as well which makes type
highlighting more fine grained.

See also https://github.com/gleam-lang/tree-sitter-gleam/pull/29
3 years ago
Andrey Tkachenko 10463fe32c Add `parameter.around` text object query 3 years ago
Andrey Tkachenko 67fe16008e
Basic verilog support (#2552) 3 years ago
Isotoxal c429ed660f
Add Catppuccin Theme (#2546)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
3 years ago
Jens Getreu 6801b28da0
Highlight active window in Autumn theme (#2531)
Co-authored-by: Jens Getreu <jens.getreu@dlh.lu>
3 years ago
Joel 0018545263 fix: remove duplicated `ui.help` in themes
the bottom value is used, so i've removed the top `ui.help` values from all themes

also, the values are not merged, so:

```toml
"ui.help" = { modifiers = ["reversed"] }
"ui.help" = { fg = "white", bg = "black" }
```

is equal to:

```toml
"ui.help" = { fg = "white", bg = "black" }
```
3 years ago
Blaž Hrastnik d25bae844c
Add Scheme support
Skipped scm for now :/ it overlaps with tree-sitter-tsq
3 years ago
Christoph Horn 9be810fd01 add missing `ui.menu` to themes, fix issues with some themes 3 years ago
Paul Scott 09f9f70576 Python highlight decorator attribute 3 years ago
Paul Scott 2a2030142f Python highlight keyword argument as parameter 3 years ago
Paul Scott e680f9644d Python handling highlighting parameters with defaults 3 years ago
Paul Scott abef250c58 Python highlight improvements: type, parameter etc
* str, list, etc. handled as @function.builtin and @type.builtin
* None and non-conforming type indentifiers as @type in type hints
* class identifiers treated as @type
* @constructor used for constructor definitions and calls rather than
  as a catch-all for type-like things
* Parameters highlighted
* self and cls as @variable.builtin
* improved decorator highlighting as part of @function

Re-ordering of some statements to give more accurate priority.
3 years ago
Zeddicus414 8e8d4ba27f dark_plus theme constructor should be green. 3 years ago
Zeddicus414 a6da99a144 Change python highlights.scm to more fully utilize the themes.
Create type keywords
Allow _CONSTANTS to start with _
Highlight constants before constructors
Move some keywords into @keyword.control
3 years ago
Andrey Tkachenko 62fd1f6999
Include macro attributes to impls, structs, enums, functions etc. textobjects (#2494) 3 years ago
midnightexigent 8493b5fca6
Add tree-sitter ssh client config queries (#2498)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
3 years ago
Timothy DeHerrera 823eaad1a1
Add Snazzy theme (#2473) 3 years ago
unrelentingtech 2cb1ea7127
feat(lang): add Meson language support (#2314)
https://mesonbuild.com/Syntax.html
3 years ago
Fanda Vacek f3164c1174
Monokai pro spectrum theme shows error in yellow on red background (#2433)
Co-authored-by: Fanda Vacek <fvacek@elektroline.cz>
3 years ago
ChrHorn b38c268097
fix Markdown list highlighting (#2401) 3 years ago
Robert Walter 495ba40eaf
feat(languages): add odin language (#2399) 3 years ago
Matthew Toohey a5f4925f53
feat(languages): git-ignore and git-attributes (#2397) 3 years ago
ChrHorn fc61796895
TOML highlight: use variable.other.member instead of string for quoted keys (#2391) 3 years ago
ChrHorn 5ab669f1ac
replace constant.number with constant.numeric (#2389) 3 years ago
Fanda Vacek 1668183590
feat(lang): Cpon lang support (#2355)
Co-authored-by: Fanda Vacek <fvacek@elektroline.cz>
3 years ago
Blaž Hrastnik 73879052c1
Add Cairo support 3 years ago
nosa 0106173375
Add Night Owl Color Theme. (#2330) 3 years ago
unrelentingtech 8e77e3388c
feat(lang): add devicetree (Flattened Device Tree Source) (#2329) 3 years ago
Erasin 668b39d1df
change cursor for copy selection (#2323) 3 years ago
Yang Tang 667cdf929f
Fix spelling errors in some themes (#2324) 3 years ago
Erin van der Veen 21487d13fd
feat(lang): Update nickel to include "rec" keyword (#2320) 3 years ago
nosa e10cf08516
Extend tutor file (#2133)
* Adds tutorial sections for multiple areas including:
- Changing selections to uppercase / lowercase
- yanking and pasting
- macros
- selecting to chars with t and f

PS: I got kind of carried away and put off commiting for a while,
    will commit to commit more often in the future.

* Changed section titles to all uppercase

* Added recap and section about jumplist

* Added sections for searching in file, joining lines and indenting lines.

* Removed some trailing whitespace

* Evened out the space between sections to all be 5 lines

* Add section on opening lines (o) and recap

* Changed the amount of lines between sections

This is so that - on a 24 line terminal -
only one section is visible at a time and
page up/page down goes straight to the next
section keeping the header at the top.

* Punctuation error

Co-authored-by: Omnikar <omkar.subramaniam@icloud.com>

* Punctuation error

Co-authored-by: Omnikar <omkar.subramaniam@icloud.com>

* Spelling error

Co-authored-by: Omnikar <omkar.subramaniam@icloud.com>

* Remove unnecessary word

Co-authored-by: Omnikar <omkar.subramaniam@icloud.com>

* Reword note about searches

Co-authored-by: Omnikar <omkar.subramaniam@icloud.com>

* Change word

Co-authored-by: Omnikar <omkar.subramaniam@icloud.com>

* Update tutor file

* Made some small changes suggested by Omnikar

* Added better demo for macros.

* Small changes

- Add newlines at the end
- Make "MACROS" section fit into 22 lines
- Correct mistake of saying helix copied to clipboard in "COPYING AND PASTING TEXT"

* Reformatted notes in copying/pasting section to fit in screen

* Add a note about n and N and their difference to Vim.

* Combine f and t commands into one section.

* Removed t/T section which was merged into the f/F section.

* Merge sections on manipulating case into one.

* Gave section's numbers

* Convert 'press' to 'type' in some places

* Added examples of how prompt lines should look.

* Reformatted notes in copy/pasting section.

* More rewording to more comfortably fit sections on screen.

* Grammatical error.

* Missing periods.

* Missing capital + small reformat

* Fix mis-numbered section

* Reworded to use these conventions when referring to inputs:
- "Press" for single keypresses
- "Type" for multiple keypresses / modifiers
- "Use" when referencing two inputs as a pair.

* till not 'til

* Say 'press' instead of 'type' when referring to symbols

* 'outdent' not 'unindent'

* Typo and grammar.

* Replace all 'press's with 'type's (apart from places it would make no sense in).

* Improve examples for joining and indenting lines.

* Section alignment.

Co-authored-by: Omnikar <omkar.subramaniam@icloud.com>
3 years ago
Gokul Soumya 3626e38e51 Add ui.virtual theme scopes for onedark theme 3 years ago
Erasin a3c0b4db48
Add onelight theme variant (#2287) 3 years ago
meak 1a3d6252b9
feat(lang): add hare language support (#2289)
Co-authored-by: Mehdi Katranji <hello@mek.yt>
3 years ago
Tomas Roos fcd0ca3912
Fix base16_terminal theme using incorrect ansi-color (#2279) 3 years ago
Jens Getreu 8eb15f5283
Autumn theme: improve markup highlighting (#2270)
Co-authored-by: Jens Getreu <jens.getreu@dlh.lu>
3 years ago
ttys3 a8cb46680d
feat(lsp): add vala language support (#2243) 3 years ago
workingj ea02b46c5d
Add Pop-Dark Theme (#2189) 3 years ago
Paul Graydon 6047506ec5
Add tokyonight_storm theme variant (#2240) 3 years ago
Justin Ma 5c2570582b
feat(lang): add nushell language support (#2225)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
3 years ago
Jens Getreu 3c250b7528
Add `autumn` theme (#2212)
Co-authored-by: Jens Getreu <jens.getreu@dlh.lu>
3 years ago
ttys3 4144c9d2f2
feat(lang): add go.mod and go.work support (#2197) 3 years ago
Erin van der Veen 9616477197
Add Nickel language (#2173) 3 years ago
Emil Fresk 5247d3ae2d
dark_plus: Add the borders color from the original theme (#2186) 3 years ago
Michael Davis 1525e3c6c8 theme ui.virtual capture for existing themes 3 years ago
Paul Graydon 015a582d44
Add tokyonight theme (#2162) 3 years ago
Michael Davis 4e877de54d
Fix Golang textobject queries (#2153)
* log textobject query construction errors

The current behavior is that invalid queries are discarded silently
which makes it difficult to debug invalid textobjects (either invalid
syntax or an update may have come through that changed the valid set
of nodes).

* fix golang textobject query

`method_spec_list` used to be a named node but was removed (I think
for Helix, it was when updated to pull in the support for generics).
Instead of a named node for the list of method specs we have a bunch
of `method_spec` children nodes now. We can match on the set of them
with a `+` wildcard.

Example go for this query:

    type Shape interface {
       area() float64
       perimeter() float64
    }

Which is parsed as:

    (source_file
      (type_declaration
        (type_spec
          name: (type_identifier)
          type: (interface_type
            (method_spec
              name: (field_identifier)
              parameters: (parameter_list)
              result: (type_identifier))
            (method_spec
              name: (field_identifier)
              parameters: (parameter_list)
              result: (type_identifier))))))
3 years ago
Lucy 4b1fe367fa
Remove dim attribute in onedark ui.linenr (#2155) 3 years ago
Ben Lee-Cohen 2bddec02e7
Fixing (in two ways) a small typo (#2156) 3 years ago
Danillo Melo be656c14e3
Ruby TextObjects and more file extensions (#2143) 3 years ago
Michael Davis ad36a024da
Update tree-sitters Erlang and HEEx (#2149) 3 years ago
Terry Brash c45fb08a93
Add JavaScript control keywords (#2140) 3 years ago
EmmChriss 50df924811
gdscript support (#1985) 3 years ago
Jared Ramirez 460e6a857b
feat(languages): SQL (#2097) 3 years ago
Michael Davis 4836bb38d3 add tree-sitter-heex
HEEx is a templating engine on top of Elixir's EEx templating
language specific to HTML that is included in Phoenix.LiveView
(though I think the plan is to eventually include it in base
Phoenix). It's a superset of EEx with some additional features
like components and slots.

The injections don't work perfectly because the Elixir grammar is
newline sensitive (the _terminator rule). See
https://github.com/elixir-lang/tree-sitter-elixir/issues/24
for more information.
3 years ago
Michael Davis 9d095e0fdc add tree-sitter-eex
EEx is an templating language for Elixir. Since the incremental
parsing refactor we can used combined injections which allows us
to add EEx support.
3 years ago
Michael Davis 4ac94a5c43 remove error highlighting for tree-sitter-elixir
This will become more important with the HEEx grammar being added.
Error highlighting with the Elixir grammar is a bit jumpy because
in some scenarios, a bit of missing syntax can force tree-sitter to
give up on error recovery and mark the entire tree as an error.
This ends up looking bad when editing. We don't typically highlight
error nodes so I'm inclined to leave it out of the highlights here.
3 years ago
Aral Balkan 7cb6e07ba0
Improve Dracula Theme selections (#2075) (#2077) 3 years ago
Michael Davis 494306ad7a
add tree-sitter-embedded-template (erb & ejs) (#2055)
After the incremental parsing rewrite for injections (which was released
in 22.03 https://helix-editor.com/news/release-22-03-highlights/#incremental-injection-parsing-rewrite),
we can now do combined injections which lets us pull in some templating
grammars. The most notable of those is embedded-template - a pretty
straightforward grammar that covers ERB and EJS.

The grammar and highlights queries are shared between the two but they have
different injections.
3 years ago
Sam Sartor 209ec4468b
Add dracula at night theme (#2008) 3 years ago
Aaron Housh 9caf7c0d5a
Add swift language (#2033) 3 years ago
Kirawi 2d4f94eb27
[dark_plus] update tag and ui.menu.selected colors (#2014) 3 years ago
Matthew Toohey 31c468ab95
add languages `r` and `rmarkdown` (#1998)
* add languages `r` and `rmarkdown`

* r: fix highlights

* rmarkdown: add eof in queries

* rmarkdown: update lang-support.md

* r: fix highlight query precedence
3 years ago
Kirawi b333186721
[dark_plus] update markup colors (#1989) 3 years ago
bootradev 0eb87996a8
add boo_berry theme (#1962) 3 years ago
VuiMuich eb84d9493c
add language `ron` (#1925) 3 years ago
Kirawi 3fc4ea2938
[dark_plus] remove `ui.text` background (#1950) 3 years ago
Michael Davis ffdc2f1793
separate JSX queries from javascript (#1921)
It looks like a24fb17b2a (and
855e438f55) broke the typescript
highlights because typescript

    ; inherits: javascript

but it doesn't have those named nodes in its grammar.

So instead we can separate out JSX into its own language and copy
over everything from javascript and supplement it with the new
JSX highlights. Luckily there isn't too much duplication, just the
language configuration parts - we can re-use the parser with the
languages.toml `grammar` key and most of the queries with `inherits`.
3 years ago
joezak11 deb7ee6595
Update bash tree sitter (#1917) 3 years ago
Blaž Hrastnik 855e438f55
jsx: Add special highlighting to component names 3 years ago
Blaž Hrastnik a24fb17b2a
Add JSX highlighting queries 3 years ago
Triton171 58758fee61
Indentation rework (#1562)
* WIP: Rework indentation system

* Add ComplexNode for context-aware indentation (including a proof of concept for assignment statements in rust)

* Add switch statements to Go indents.toml (fixes the second half of issue #1523)
Remove commented-out code

* Migrate all existing indentation queries.
Add more options to ComplexNode and use them to improve C/C++ indentation.

* Add comments & replace Option<Vec<_>> with Vec<_>

* Add more detailed documentation for tree-sitter indentation

* Improve code style in indent.rs

* Use tree-sitter queries for indentation instead of TOML config.
Migrate existing indent queries.

* Add documentation for the new indent queries.
Change xtask docgen to look for indents.scm instead of indents.toml

* Improve code style in indent.rs.
Fix an issue with the rust indent query.

* Move indentation test sources to separate files.
Add `#not-kind-eq?`, `#same-line?` and `#not-same-line` custom predicates.
Improve the rust and c indent queries.

* Fix indent test.
Improve rust indent queries.

* Move indentation tests to integration test folder.

* Improve code style in indent.rs.
Reuse tree-sitter cursors for indentation queries.

* Migrate HCL indent query

* Replace custom loading in indent tests with a designated languages.toml

* Update indent query file name for --health command.

* Fix single-space formatting in indent queries.

* Add explanation for unwrapping.

Co-authored-by: Triton171 <triton0171@gmail.com>
3 years ago
Michael Davis 7cd6050235 add tree-sitter-gleam 3 years ago
Michael Davis 1819478940 update tree-sitter-elixir
news:

- tree-sitter-elixir now powers Elixir syntax highlighting on github.com
- GitHub now supports code-navigation for Elixir repos via
  tree-sitter-elixir

changes:

- modules now use the `@module` highlight, which was added upstream to
  tree-sitter
    - it seems appropriate to use `@namespace` to follow helix convention
- added nullary range operator (e.g. `Enum.to_list(..) == []`), a new syntax
  for elixir 1.14
- a fix for stab clause nodes mis-highlighting when the right hand side of
  the stab clause contained multiple simple expressions
3 years ago
Michael Davis e2a50711d5 update tree-sitter-erlang
changes:

- typed fields within records which do not declare a default
  value are now correctly highlighted as record fields
- the EEP49 'maybe' form is now parsed
- fixes for highlights for 'begin' and 'after' tokens
3 years ago
Narazaki Shuji 309f2c2c8e
Revise the color for ui.cursor.match (#1862)
- bogster.toml
 - solarized_dark.toml
 - solarized_light.toml
 - spacebones_light.toml
3 years ago
Jared Ramirez 22ba668fad
Fix Rescript hightlights query (#1863) 3 years ago
Slin Lee 3e78b8fdad
Add syntax highlighting for Solidity (#1854) 3 years ago
zetashift 7eb013c6fb
Initial basic Org markup support thanks to tree-sitter-org (#1845) 3 years ago
Michael Davis cfd992b151
update tree-sitter-git-commit (#1838)
changes:

- any text following a (scissors) is now contained in one (message)
    - this vastly improves performance on large verbose commits:
      no more slowness on huge commits
3 years ago
Philipp Mildenberger 6fdf5d0920
C# highlighting improvements (#1795) 3 years ago
Rohan Jain cf8f59ddd0
theme: Use distinct colors for match pair and cursor for gruvbox (#1791) 3 years ago
Daniel S Poulin 9bfb0caf1b
Add comment textobject for surround selection and navigation (#1605) 3 years ago
chunghha 7633c5acd3
chore(theme): apply renamed infobox theme scopes for rose_pine themes (#1754) 3 years ago
Gokul Soumya c484b08923
Rename infobox theme scopes (#1741)
This makes it play nicely with https://github.com/helix-editor/helix/pull/1714
3 years ago
chunghha f9ad1cafdc
chore(theme): fix "ui.selection" for rose_pine themes (#1716) 3 years ago
Gregory Oakes c1251aecc7
Fix duplicate "ui.help" key. (#1713) 3 years ago
Blaž Hrastnik 6a6a9ab2b3
fix: theme: bogster: Only primary selection had a cursor style 3 years ago
Michael Daffin 93ec42d06e
Add support for HCL language (#1705)
Queries based on the neovims ones: https://github.com/nvim-treesitter/nvim-treesitter/tree/master/queries/hcl and modified for helix support.
3 years ago
chunghha 4526216139
chore(theme): update markup styles for rose_pine themes (#1706) 3 years ago
Michael Daffin f83843ceba
Add kotlin language (#1689)
* Add kotlin language

Queries taken from https://github.com/nvim-treesitter/nvim-treesitter/blob/master/queries/kotlin seem to work well enough for my needs though I don't use kotlin heavily.

* Update lang-support doc

* Updates the kotlin highlight query to use helixs scopes

* Updates the queries from PR feedback

* Adds 'shallow = true' to gitmodules

* Removes kotlin locals.scm

* Remove blank line

Co-authored-by: Ivan Tham <pickfire@riseup.net>

Co-authored-by: Ivan Tham <pickfire@riseup.net>
3 years ago
Alex 865881ba19
update markup styles for everforest theme (#1687) 3 years ago
Alex d5ba0b5162
Allow separate styles for markup headings (#1618)
* update markdown highlighting to use separate heading themes

* remove markdown theme scopes in ui
3 years ago
David Crespo a629343476
Fix hover menu item text color in base16 themes (#1668)
* fix hover menu item text in base16 dark

* same ix for base16_default_light and base16_terminal
3 years ago
Michael Davis 3a83a764e3
add tree-sitter-erlang (#1657) 3 years ago
Jared Ramirez f5b95beef6
feat(languages): rescript (#1616)
* Add rescript language support

* cargo xtask docgen

* Add textobjects & file line ending

* Fix text objects & rerun docgen

* Fix textobjects queries
3 years ago
Daniel S Poulin d6b6ad879e
epocsquadron/add tree sitter twig (#1602)
* Add tree-sitter-twig grammer and highlights

The gammar itself is quite basic, but is much better than nothing
for working with real files consisting mostly of html.

* Docgen for newly added grammar
3 years ago
chunghha 4c996f43df
chore(theme): fix rose_pine/rose_pine_dawn themes' popup bg color (#1606) 3 years ago
Daniel S Poulin e2833b5853
Add textobjects queries for php (#1601)
* Add textobjects queries for php

* Missing EOL fix

* Update generated docs after adding textobjects to php
3 years ago
Michael Davis 7bce91556a
add tree-sitter-iex (#1576)
* add tree-sitter-iex

* run docgen task

* fix url for iex submodule
3 years ago
VuiMuich 1bcff796e5
[theme] Serika light and dark (#1566)
* add theme `serika` in light and dark variant

* add `markup.*`s
3 years ago
NNB 83bde1004d
Add markup support (#1525)
* Add markup support for all Base16 themes

* Fix rose_pine `markup.link.text` attribute misname

* Add basic default markup support for all themes

* Fix cursor change color on Base16 terminal and default

* Remove old markup monokai_pro support and fix Onedark `markup.link.text` attribute misname

* Remove old markup dracula support
3 years ago
Rohan Jain 1c747674b6
Add `tag` to gruvbox theme (#1555)
Missed in the commit 943fca332e.
3 years ago
Sebastian Zivota 5c1a06d28e
dracula theme: add markup support (#1554) 3 years ago
Jared Ramirez 0b55b21f30
feat(languages): GraphQL (#1515)
* Add Graphql language support

* Fix docs gen

* Add JS Graphql injection query

* Updates based on PR feedback

Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
3 years ago
WindSoilder 4563832318
add markup support for monokai pro themes (#1553) 3 years ago
Mathis Brossier fd7080498e
tree sitter comments injections (#1527)
* tree sitter comments injections

* trailing newlines & julia fix

* Update runtime/queries/julia/injections.scm

Co-authored-by: Michael Davis <michael.davis@nfiindustries.com>

Co-authored-by: Michael Davis <michael.davis@nfiindustries.com>
3 years ago
Jared Ramirez b2c8aa1ee7
feat(languages): Elm (#1514)
* Add Elm language support

* Fix docs gen

* Updates based on PR feedback
3 years ago
Anders Christiansen Sørby 8ea5742b08
feat(languages): Lean experimental tree-sitter-lean (#1422)
* Add experimental tree-sitter-lean

* Run docgen

* Copy over the queries from lean.nvim

* Update .gitmodules

Co-authored-by: Ivan Tham <pickfire@riseup.net>

* Update lean highlights and run docgen

* Update runtime/queries/lean/injections.scm

Co-authored-by: Michael Davis <michael.davis@nfiindustries.com>

* Lean: Move variable matcher to bottom

* Update runtime/queries/lean/locals.scm

Co-authored-by: Michael Davis <michael.davis@nfiindustries.com>

Co-authored-by: Ivan Tham <pickfire@riseup.net>
Co-authored-by: Michael Davis <michael.davis@nfiindustries.com>
3 years ago
Stuart Hinson 9da0abaa5d
Add modified background to dracula popup (#1434) 3 years ago
Rohan Jain 62c78c061c
Add `markup.` scopes in `gruvbox` themes (#1518)
As recommended by @archseer in https://github.com/helix-editor/helix/pull/1509#issuecomment-1013583069
3 years ago
Daniel S Poulin dd1f64d4dc
Update tree-sitter-php to latest upstream (#1521)
Brings in PHP 8.1 features, like enums, union types and the like.
3 years ago
Rohan Jain 97e6f2a38f
Add gruvbox-light theme (#1509)
Similar to `gruvbox`, add the light version as well.
3 years ago
voroskoi 6bfd001b48
Update zig tree-sitter (#1501)
use latest upstream version
move comptime from @keyword.function to @keyword.directive
use AssignOp
enhance indents
3 years ago
Blaž Hrastnik ddbf03613d Update tree-sitter-go with generics support 3 years ago
Michael Davis e0a99ae51a
add tree-sitter-git-config (#1426)
* add tree-sitter-git-config

* add todo comment for improving filetype check
3 years ago
Eric Crosson 1c6bc6d455 feat: add tree-sitter-make
This commit adds syntax highlighting for GNU Make[^1] makefiles
via tree-sitter-make[^2].

[^1]: https://www.gnu.org/software/make/
[^2]: https://github.com/alemuller/tree-sitter-make
3 years ago
Owen Shepherd c238f20e1d Add fixity keywords to haskell's highlights.scm 3 years ago
Owen Shepherd 9eacbc1887 Upgrade haskell queries 3 years ago
Michael Davis b799b0d50e
capture markdown link text as markup.link.text (#1456) 3 years ago
Michael Davis a8fd33ac01
add tree-sitter-regex (#1362)
* add tree-sitter-regex

* adapt regex highlights from upstream

* inject regex into elixir sigil_r/2 and sigil_R/2

* generate lang-support docs

* capture interesting nodes in character-ranges

* make $.character_class captures more consistent

* fix fallthrough behavior for character classes

* capture pattern characters as 'string'

* use latest tree-sitter-regex

* set elixir regex injections as combined

* add link to upstream queries

* inject regex in rust into 'Regex::new' raw string literals
3 years ago
Philipp Mildenberger 66afbc9fff
Fix null and boolean constants in tree-sitter-nix highlights queries (#1428) 3 years ago
Sebastian Neubauer 5b1a628e81
Add textobjects and indents to c and cpp (#1293)
Indentation of single line statements doesn't work, i.e.

  for (;;)<hit enter>
leads to
  for(;;)
  <cursor here>

Only blocks with curly braces are indented.
3 years ago
Sebastian Neubauer 641255ccc8
Add llvm-mir highlighting (#1398)
* Add injection regex for more languages

To support embedding them in other languages like markdown.

* Add llvm-mir highlighting

LLVM Machine IR is dumped as yaml files that can embed LLVM IR and
Machine IR.

To support this, add a llvm-mir-yaml language that uses the yaml
parser, but uses different injections to highlight IR and MIR.

* Update submodule with fixed multiline comments

Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
3 years ago
WindSoilder 609f7363a1
Add everforest_light, change everforest_dark string color (#1412) 3 years ago
Triton171 4da050b4bb
Add basic indentation for languages without treesitter-based indentation rules (always use the indent of the current line for a new line). (#1341)
Fix several bugs in the treesitter indentation calculation.

Co-authored-by: Triton171 <triton0171@gmail.com>
3 years ago
Sebastian Neubauer 8f2af71340
Add LLVM TableGen highlighting (#1409)
Add a tree-sitter grammar and highlights for TableGen files.
TableGen and its grammar are described here:
https://llvm.org/docs/TableGen/index.html

Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
3 years ago
Martin Junghanns aaa42e1a69
Underline diagnostics in bogster theme (#1399) 3 years ago
Flakebi 0dab6c8c17 Fix markdown code-block highlighting
Markdown code blocks should be highlighted as a single block, so set
injection.include-children.
3 years ago
Michael Davis 8fda87af2b
add tree-sitter-git-rebase (#1402)
* add submodule on tree-sitter-rebase, add to languages

* add basic highlights query

* inject bash in execute statements

* update tree-sitter-rebase

* tree-sitter-rebase->tree-sitter-git-rebase

* get injection working with tree-sitter-git-commit

* set scope under source.gitrebase

* unset include-children on commit message injections

* Revert "unset include-children on commit message injections"

This reverts commit 2ecee155ea.

* fix generated language docs

* use rebase_command scopes from tree-sitter-git-commit
3 years ago
Michael Davis bcf3808e97
Add tree-sitter-git-diff (#1373)
* add submodule on tree-sitter-git-diff

* add git-diff highlights

* inject git-diff into git-commit

* update tree-sitter-git-commit with fix for bad diff case

* add git-diff to language support docs

* include-children in diff injections

This ensures that children nodes of $.message are included in the
injection, such as $.user or issue/pr numbers. Without this change,
diffs containing '#' or '@' characters can trip up the injection and
be parsed separately.

See https://github.com/helix-editor/helix/pull/1373#issuecomment-1001215629

* set diff language's scope as source.diff
3 years ago
Sebastian Neubauer 8c29b76bcc
Improve llvm highlighting and queries (#1388)
* Improve llvm highlighting and queries

The llvm tree-sitter parser was updated to support scopes and more
accurate highlighting.

* Group highlight expressions better
3 years ago
Stuart Hinson 7001665342
Add ruby indents (#1372)
* Add ruby indents

* Include ruby in generated docs
3 years ago
Michael Davis 6af0d51dc5 highlight rebase-commands as markup.raw 3 years ago
Michael Davis c3fb86cbaa tree-sitter-gitcommit->tree-sitter-git-commit 3 years ago
Michael Davis 28c9afdd0e add commented-out diff and rebase injection queries 3 years ago
Michael Davis 3b800025af add diff.{plus,minus,delta} to themes 3 years ago
Michael Davis 78f93239b5 add gitcommit highlights 3 years ago
Sebastian Neubauer ec878e4011
Add textobjects and indents to cmake (#1307) 3 years ago
chunghha 8aa0b8eacf
chore: update rose pine themes to support markup (#1353) 3 years ago
Gokul Soumya b2f8f2ba77
Update onedark theme to use new scopes (#1297) 3 years ago
Stuart Hinson bb684a2b42
Typo fix in ocaml indents.toml (#1342) 3 years ago
Gokul Soumya a8618cf111
Add precise rust queries for use, mod, as (#1339)
- Differentiates between `as` keyword as a binary type cast
  operator and import renamer.
- `mod` and `use` are now under `@keyword.control.import`,
  but `mod` is a `@keyword` if used as `mod name;`.
3 years ago
Midnight Exigent dba22c60ed
Support dockerfiles (#1303)
* allow language.config (in languages.toml) to be passed in as a toml object

* Change config field for languages from json string to toml object

* remove indents on languages.toml config

* fix: remove patch version from serde_json import in helix-core

* Use same tree-sitter-zig as upstream/master

* fix(completion_popup): Fixes #1256

* Update helix-term/src/ui/completion.rs

* feat(languages): Add support for `Dockerfile`s

* docs(cargo-xtask-docgen):

* improvement(langs-dockerfile): Add `injection-regex` to `languages.toml` for
`Dockerfile`

* improvement(langs-dockerfile): Add injections.scm

* Update .gitmodules

Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
3 years ago
Sebastian Neubauer 205dc8776b
Add fish highlighting (#1308)
The highlights were copied and modified from
https://github.com/nvim-treesitter/nvim-treesitter/blob/master/queries/fish/highlights.scm
3 years ago
Sebastian Zivota 7438db66ae
Add dracula theme (#1258)
* Add dracula theme

* remove unused colors

* correctly name constant.character.escape

* Change cursors and selections

* add some missing ui scopes

* sorting
3 years ago
Gokul Soumya f1c634326b
Improve rust syntax highlighting (#1295)
- Highlight fragment specifiers (expr, tt, in macro
  definitions) with @type.
- Highlight attributes as macros
3 years ago
Sebastian Neubauer 23091c9d29
Highlight comments in c, cpp, cmake and llvm (#1309)
Also, reuse the c injections in glsl
3 years ago
Michael Davis e72786df8e
Add tree-sitter-comment (#1300)
* Add tree-sitter-comment

Fix #1164

* fix precedence in tree-sitter-comment highlights

connects https://github.com/helix-editor/helix/pull/1170

* set injection-regex for comment language

* remove comment filetype

* fix comment injections for neovim-style injections tags

* add comment injections for elixir

* remove f.comment

* fix spacing in .gitmodules

* run 'cargo xtask docgen'

Co-authored-by: Ivan Tham <pickfire@riseup.net>
3 years ago
Gokul Soumya 7c01d92653 Add link and quote queries for markdown
- Rename markup.underline.link to markup.link.url
- Add markup.link.label
- Add markup.quote

(The constructor theme scope was missing from the
docs, so unrelated to this commit).
3 years ago
Gokul Soumya d52eda5d1b
Improve yaml syntax highlighting highlighting (#1294) 3 years ago
Luke Jones edf3c70c30
Add dart lsp config and queries (#1250)
* Add language: dart

The setup requires that dart be in the users path, such as:
```
export PATH="$HOME/Android/flutter/bin/cache/dart-sdk/bin/:$PATH"
```

Refactor the dart highlights

* lang: dart: add indents and locals

* lang: dart: corrections to local scope

Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
3 years ago
Oliver Hechtl 0683f0a20a
Add scala syntax highlights (#1278)
* add partial scala syntax highlights

* ran cargo xtask docgen

* updated tree-sitter-scala, fixed highlights

* fix comments

* move identifier to the end of the highlights

* add indents
3 years ago
Blaž Hrastnik 5d91335d6b Fix more highlight scopes 3 years ago
Blaž Hrastnik 9c484e88cf highlights: @include -> @keyword.control.import 3 years ago
Blaž Hrastnik 78b6155292 Partly fix julia's locals.scm 3 years ago
ath3 a8060c06d1
Add indents.toml to perl (#1280) 3 years ago
Blaž Hrastnik ac4b72fcc8 Add injections query for markdown 3 years ago
Blaž Hrastnik 40969ad452 Partly fix latex highlights and add markup scope docs 3 years ago
Blaž Hrastnik 49e0678741 Add markdown grammar
Fixes #215
3 years ago
NNB c7ace15fd4 Add `ui.gutter` theming 3 years ago
Omnikar 42e6d96a75 Use `base16_tty` as 16-color default, fix theme name 3 years ago
NNB d9727868dd change to .unwrap_or_default() and fix ui.window and ui.statusline 3 years ago
NNB 3080be8268 Fix error color, add tty theme 3 years ago
Omnikar 98ce2a301d Load alt default theme if true color is not supported
* Move `runtime/themes/base16_default_terminal.toml` to
  `base16_theme.toml` alongside `theme.toml`
* Use `terminfo` crate to detect whether the terminal supports true
  color and, if the user has no theme configured and their terminal does
  not support true color, load the alt default theme instead of the
  normal default.

Remove `terminfo` dependency, use `COLORTERM` env instead

Prevent user from switching to an unsupported theme

Add `true-color-override` option

If the terminal is wrongly detected to not support true color,
`true-color-override = true` will override the detection.

Rename `true-color-override` to `true-color`
3 years ago
NNB 43d17c482c Fix Base16 Dark, add Base16 Light and Terminal
Improve accuracy with line number and cursor color
3 years ago
Skyler Hawthorne 9bdbafa075
Fix solarized selection colors (#1236)
* do not select a foreground color in selections, as this eliminates
  syntax coloring
* select lighter color for selections
* Make non-primary cursor cyan instead of green
3 years ago
chunghha 038a6ce22c
rose_pine_dawn.toml colorscheme (#1226)
* adds: rose_pine_dawn.toml colorscheme

* chore: define ui.statusline.inactive colors of rose_pine
3 years ago
WindSoilder cf40e61b0a
add more monokai pro filter themes (#1220) 3 years ago
WindSoilder 27ffc79c44
Add monokai pro theme (#1206)
* add monokai_pro theme

* add monokai_pro theme

* claim the inspired theme and original author

* make diagnostic underlined
3 years ago
Kirawi 6f1a7b1220
Add llvm grammar (#1167) 3 years ago
Kirawi 4ec20eaeff
Add language support for WGSL (#1166) 3 years ago
Skyler Hawthorne 05c6cb1d0b
Solarized theme: fix popup colors, adjust menu (#1124)
* fix popup colors, adjust menu

* fix hardcoded horizontal rule color
3 years ago
Koen Van der Auwera b95c9470de
Add spacebones light theme (#1131)
* Add spacebones light theme

* Fix error background
3 years ago
WindSoilder 1132b7088a improve nord status bar line 3 years ago
Skyler Hawthorne 335ed7fa69
Improve Solarzed Dark theme (#1105)
Adjusts the Solarized Dark theme to be modeled more closely after
vim's incarnation. Also adjust the Solarized Light theme to match.
3 years ago
Kirawi 8f7ada12ac
Solarized dark theme (#999)
* init

* wip

* wip
3 years ago
Mateusz S. Szczygieł e0540fbcc4
Add json indents.toml file (#1055)
* add glsl language support

* glsl: use indents.toml file

* add json indents.toml
3 years ago
CossonLeo f96be0fcbc
add solarized_light theme (#1010)
* add solarized_light theme

* solarized_light add constant.numeric
3 years ago
Mateusz S. Szczygieł 3f0345ff58
glsl support (#993)
* add glsl language support

* glsl: use indents.toml file
3 years ago
ath3 30744646cb
Perl support (#978) 3 years ago
Kirawi ee889aaa85
Updated tree-sitter query scopes (#896)
* updated theme scopes

variable.property -> variable.field
property -> variable.field

* updated theme scopes

* update book and themes

updated book and themes to reflect scope changes

* wip

* update more queries

* update dark_plus.toml
3 years ago
Daniel Poulin 9e247bf6ee Add indents definition based on the one from nvim-treesitter 3 years ago
Gokul Soumya ea452bec80
Update onedark theme (#936)
- Use named color palette
- Remove blue highlight for variables (too much noise)
- Add purple highlight for control statements (if, match, etc)
3 years ago
Houkime a1c7e55e3b
update cpp queries (#930)
Co-authored-by: Houkime <>
3 years ago
Michael Davis 7e6ade9290 fix: string.regex{=>p} 3 years ago
Michael Davis bf20e51044 use punctuation.special for interpolation #{ } 3 years ago
Ray Gervais d4d16ca1b0
runtime: Rose Pine colorscheme (#897) 3 years ago
Gokul Soumya 4ee92cad19
Add treesitter textobjects (#728)
* Add treesitter textobject queries

Only for Go, Python and Rust for now.

* Add tree-sitter textobjects

Only has functions and class objects as of now.

* Fix tests

* Add docs for tree-sitter textobjects

* Add guide for creating new textobject queries

* Add parameter textobject

Only parameter.inside is implemented now, parameter.around
will probably require custom predicates akin to nvim' `make-range`
since we want to select a trailing comma too (a comma will be
an anonymous node and matching against them doesn't work similar
to named nodes)

* Simplify TextObject cell init
3 years ago
ath3 787ba4f233
CMake support (#888) 3 years ago
Ray Gervais 2edc85e953
fixes: missing info, warning diagnostic (#890) 3 years ago
WindSoilder 7146ae9388
Refactor nord theme (#874)
* refactor again

* remove useless color
3 years ago
WindSoilder 2ac9d30bf3
improve menu selected color for nord (#873) 3 years ago
Blaž Hrastnik a03b12530c
Merge pull request #830 from the-mikedavis/official-elixir-tree-sitter
prefer elixir-lang/tree-sitter-elixir
3 years ago
Ray Gervais c278b43319
adds: base16 theme for Helix editor (#833) 3 years ago
WindSoilder bb011f9fb2
Add indents for python, but it's not perfect. (#837)
* add indents for python, but it's not Perfect

* add last line
3 years ago
Michael Davis 4d8eb09b7c
scope arities in captures as operators 3 years ago
Michael Davis 80b54f2f69
use special.string.symbol instead of symbol
this aligns better with how ruby highlights symbols
3 years ago
Michael Davis 8f658f0dce
use latest tree-sitter-elixir with 'not in' query support
connects https://github.com/elixir-lang/tree-sitter-elixir/issues/9
3 years ago
Michael Davis 4771cc7ee4
align highlight scopes with documented scopes 3 years ago
Michael Davis c502cafecc
highlight calls to erlang modules as types
connects https://github.com/elixir-lang/tree-sitter-elixir/pull/5
3 years ago
Michael Davis b2655a7f5c
add LICENSE snippet at elixir hightlights top 3 years ago
Michael Davis 95ab40d171
use the warning type for tree-sitter ERRORs 3 years ago
Michael Davis 5db248cc1c
describe atoms as tags 3 years ago
Michael Davis d1b434d230
add highlights query from elixir-lang/tree-sitter-elixir 3 years ago
Michael Davis e216e9621e
Enable c-sharp language and highlights (#861) 3 years ago
Michael Davis be428a295a
fix digit escapes in java & php highlights (#846) 3 years ago
Michael Davis e069fb9dea
Add highlight support for tree-sitter-query language (tsq) (#845)
* add submodule on tree-sitter/tree-sitter-tsq

mark tsq submodule as shallow

* add tree-sitter-tsq to languages

* add highlight queries for tsq

* Update .gitmodules

Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
3 years ago
Omnikar 43465926be
Continue tutor (#737)
* Add sections

* `COUNTS WITH MOTIONS`
* `SELECTING LINES`
* `UNDOING`

* Adjust lesson spacing to conform to page-wise scrolling

Vertical length of lessons reduced by 1 line so that page-up and
page-down move cleanly between lessons.

* Add sections

* `THE CHANGE COMMAND`
* `RECAP`
* `MULTIPLE CURSORS`

* Fix height of `RECAP` section

* Fix typo in `MULTIPLE CURSORS`

* Add additional information about space mode to `MULTIPLE CURSORS`

* Change `<SPACE><SPACE>` to `,`

* Add sections

* `THE SELECT COMMAND`
* `SELECTING VIA REGEX`
* `COLLAPSING SELECTIONS`

* Fix quote inconsistency
3 years ago
WindSoilder ef3f78b6ce
fix nord ui focus color (#844) 3 years ago
WindSoilder 47208b990b
improve contract on nord comment color (#842) 3 years ago
Thomas Wehmöller a7f49fa56f
Add Vue tree sitter grammar (#787)
*  Add vue tree sitter support

* Update .gitmodules

Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
3 years ago
voroskoi 0e06c10d8c
Zig tree-sitter rework (#811)
- update tree-sitter-zig subproject
- use highlights.scm from upstream, just use helix scopes
- update indents.toml, this one actually works
3 years ago
Ray Gervais 0af8928d63
adds: nord colortheme (#799) 3 years ago
Alex 70a20b7cf8
add everforest dark theme (#760) 3 years ago
Raphael Megzari b2195e08b5
languages: add svelte support (#733)
* languages: add svelte support

* languages: add svelte injections
3 years ago
Kirawi f2c73d1567 Update dark_plus error colour
This was recently changed in VSCode.
3 years ago
cbarrete 394cc4f30f
Update ledger treesitter injections (#732)
Co-authored-by: Cédric Barreteau <cbarrete@users.noreply.github.com>
3 years ago
Blaž Hrastnik 4cc562318a Improve docs, fix up a few highlight scopes 3 years ago
Blaž Hrastnik 4ac29434cb syntax: Add go & rust locals, improve tree-sitter error message 3 years ago
Blaž Hrastnik 2bef245b7a At least partly highlight tsx 3 years ago
Blaž Hrastnik d85a8adb27 Improve highlighting scopes 3 years ago
Blaž Hrastnik 9b9c3c77f8 runtime: Query improvements 3 years ago
Blaž Hrastnik ade1a453ef syntax: Improve go highlights 3 years ago
Blaž Hrastnik a6108baec9 Improve grammar definitions 3 years ago
oberblastmeister 5766f5da8f
OCaml support (#666)
* added some stuff

* add interface

* indent

* highlights and locals

* scope

* change some stuff

* add indents

* fix blanket highlight

* macro

* use inherits
3 years ago
oberblastmeister ae3f936611
Lua support (#665)
* added submodule

* small changes

* updated some stuff

* remove

* shallow clone

* correct indent

* shallow

* ok

* highlights

* proper captures
3 years ago
oberblastmeister 1586b0eec7
YAML support (#667)
* added submodule

* remove wrong one

* added highlights

* use property

* add indents

* shallow
3 years ago
voroskoi f22e0aa2ae
Add zig tree-sitter support (#631)
* Add initial zig tree-sitter support

* zig/highlights.scm: remove unnecessary queries

* Add zig/indents.toml
3 years ago
Kirawi 44a0512d95
Add Monokai theme (#628)
* init

* update

* cleanup
3 years ago
Yusuf Bera Ertan ac8bc54108 fix: add missing optional keyword to protobuf syntax 3 years ago
Blaž Hrastnik 466528c493 Golang indent improvements 3 years ago
Yusuf Bera Ertan 2f42b2338e feat: add indenting for protobuf 3 years ago
Yusuf Bera Ertan 4b45f27a13 feat: add protobuf tree-sitter parser with highlighting queries 3 years ago
oberblastmeister 098b6b6eed
gruvbox theme changes (#594)
* changed some gruvbox highlights

* more stuff including cursors

* use property instead

* use variable.property
3 years ago
Kirawi 7560af1211 Update dark_plus.toml 3 years ago
Ivan Tham aaccc9419a
Add ledger tree-sitter (#572)
Might need to update later since the current one highlight does not
work very well yet.
3 years ago
Omnikar 9a39a10ddd
Tutorial for Helix akin to `vimtutor` (#537)
* Create `docs/tutor.txt`

* Create `EXITING HELIX` and `DELETION` sections

* Create Insert mode, saving, and recap sections

* Create `MOTIONS AND SELECTIONS` section

* Add additional notes to `SAVING A FILE` section

* Remove extra blank lines in `SAVING A FILE` section

* Move `tutor.txt` to `runtime/`

* Add WIP message to end of tutorial
3 years ago
Kirawi b239f0f45f
add java highlighting (#448) 3 years ago
Blaž Hrastnik e2c3547f26 Improve nix indents 3 years ago
Gokul Soumya eec5631140 Update popup and diagnostics in onedark theme 3 years ago
gbaranski a630fb5d20 fix: change primary cursor color in bogster theme 3 years ago
Blaž Hrastnik 29cefa1be8 rust: Indent multi line call expressions one level deeper 3 years ago
Blaž Hrastnik f24007b30f Improve rust indentation queries
if/if let are already handled by block, and keeping these scopes would
indent else blocks one level too far.
3 years ago
Kirawi df0ed80931 Update dark_plus.toml
Corrects primary selection color and makes matching cursor easier to spot.
3 years ago
Kirawi d84b3a198a Update dark_plus.toml
Didn't realize what `ui.statusline.active` was for. It's needed for view splits.
3 years ago
Blaž Hrastnik dd2903ff10 Dynamically load grammar libraries at runtime 3 years ago
Kirawi 084a8a9522
Rewritten Rust `highlights.scm` (#425)
* rewrote Rust highlights.scm

* wip

* wip

* wip

* wip

* fixed type highlighting

* wip

* rewrite again

* moved operators

* missing newline

* missing newline

* update book

* fix constructor highlighting

* fix constructor highlighting

* fix const highlighting

* better constructor highlighting

* remove dup, bug was my locals.scm file

* fixed docs

* merge

* fixed for highlighting

* add yield

* remove yield

* added yield back

* fixed yield highlighting

* unecessary
3 years ago
Kirawi c7aa7bf4ba
VSCode Dark+ Theme (#414)
* wip

* Add VSCode Dark+ Theme

wip

wip

wip

wip

wip

wip

properly detect constants

add bool

wip

* suggestion

* add variant for c/c++

* fix hexcode error

* removed regex highlight

* fixed constant higlighting

* wip

* add space

* add suggestions

* update theme

* update book

* suggestions

* fix c/c++ enum

* update book
3 years ago
wesh aa70362d20 Add julia support (LSP not working) 3 years ago
Gokul Soumya f909526ebd Update onedark theme
Add colors for matching brace, non primary selections, inactive
statusline
3 years ago
Jakub Bartodziej 79f096963c
Color palettes (#393)
* Enable using color palettes in theme files.

* Add an example theme defined using a gruvbox color palette.

* Fix clippy error.

* Small style improvement.

* Add documentation for the features to themes.md.

* Update runtime/themes/gruvbox.toml

Fix the value of purple0.

Co-authored-by: DrZingo <DrZingo@users.noreply.github.com>

Co-authored-by: DrZingo <DrZingo@users.noreply.github.com>
3 years ago
Ivan Tham 74cc4b4a49
Add default color for cursor match (#370)
* Add default color for cursor match

Not all terminals support dim, for those terminal that does not support
this (konsole, item2, wezterm), users cannot differentiate between match
and primary cursor. So set a color for this.

* Use alacritty dim color for match
3 years ago
wojciechkepka 3b534e17f4 Move themes to runtime/themes, add link from contrib/themes 3 years ago
Ivan Tham a364d6c383 Add latex 3 years ago
Timothy DeHerrera d8df10f295 Add Nix runtime 4 years ago
Corey Powell 35feb614b6 Updated elixir queries to fix crash 4 years ago
Corey Powell 01dd7b570a Restored haskell syntax
It seems to work
4 years ago
notoria f3a243c6cb Rust: Highlight crate namespace, categorize `mut` 4 years ago
notoria b2b2d430ae Rust: Add keyword `async`, match the entire macro 4 years ago
Corey Powell ca042a4bde Added elixir syntax
Using custom fork for now to get around generating the source files
4 years ago
Blaž Hrastnik c2e6b9f506 Add typescript support & ts/js indentation queries 4 years ago
Blaž Hrastnik 8fd8006043 Golang indent queries 4 years ago
Blaž Hrastnik aeabfc55a8 Adjust golang indents yet again 4 years ago
Blaž Hrastnik 67b037050f Adjust rust indents 4 years ago
Blaž Hrastnik a28eaa81a0 Golang indent adjustment 4 years ago
Blaž Hrastnik 094203c74e Update deps, introduce the new tree-sitter lifetimes 4 years ago
Blaž Hrastnik 9edae7e1f8 syntax: golang: Indent type declarations 4 years ago
Blaž Hrastnik 6e03019a2c Adjust highlighting for rust. 4 years ago
Blaž Hrastnik 31d41080ed Add indentation queries for golang. 4 years ago
Blaž Hrastnik 4a9d1163e0 Hacky way to specify indent scopes per language via toml configs.
Can't do it via a scm query nicely because it returns an iterator over
all the matches, whereas we want to traverse the tree ourselves.

Can't extract the pattern data from a parsed query either.

Oh well, toml files for now.
4 years ago
Blaž Hrastnik 77db3599ba Fix C highlighting inconsistencies. 4 years ago
Blaž Hrastnik 305a059f58 Highlight metavariables ($var) inside rust macros. 4 years ago
Blaž Hrastnik dfb1ae2d33 Rust: Highlight 'crate' as a keyword. 4 years ago
Blaž Hrastnik 4e31d1521b Add tree-sitter queries. 4 years ago
Blaž Hrastnik 61872de6c0 queries: rust: highlight number constants correctly. 4 years ago
Blaž Hrastnik 71c06c11cb Import tree sitter queries. 4 years ago