Commit Graph

380 Commits (d0381d942d113599a9bf6f4d8f34043c8699a712)

Author SHA1 Message Date
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) 3 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
3 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.
3 years ago
Ivan 0bc7259672
add prisma tree-sitter and lsp support (#2703)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
3 years ago
Danny 567e71fbbc
fix spelling of catppuccin theme (#2713) 3 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