Commit graph

51 commits

Author SHA1 Message Date
Jerome Dalbert
cad9ff2fbc feat(ruby): detect shebang directive 2024-09-17 04:13:38 +02:00
Jerome Dalbert
66a7655a5e feat(ruby): improve identifiers highlighting 2024-09-12 08:51:30 +02:00
Riley Bruins
7499f73794 feat(ruby): string/punctuation highlight improvements 2024-08-26 09:39:01 +02:00
Wadii Hajji
ebdffa78bd
fix(ruby): highlight "&." as @punctuation.delimiter (#6887) 2024-07-08 06:58:24 -07:00
Pete Matsyburka
ad43c7f19e
feat(ruby): highlights for special methods (#6735) 2024-07-08 00:24:57 +09:00
Riley Bruins
f58cae6c22 feat: more @keyword.type captures 2024-05-01 09:59:50 +02:00
Phạm Huy Hoàng
722617e672 refactor(format): drop extra indentation for field 2024-03-21 15:51:26 +01:00
Jaehwang Jung
998b230a77 feat(highlights)!: keyword @type.qualifier@keyword.modifier 2024-03-16 20:51:16 +08:00
Christian Clason
99ddf57353
feat(highlights)!: enforce documented captures (#6232)
Problem: Allowing undocumented "secret" (sub)captures makes it harder
to write comprehensive colorschemes and catch inconsistent captures.

Solution: Only allow captures listed in CONTRIBUTING.md. Add useful
(cross-language) subcaptures and drop language-specific or too niche
ones.

Follow-up: Adding further `*.builtin` captures and changing queries to
use them.

Language-specific subcaptures should instead be added in user config or
a custom language plugin.
2024-03-03 11:00:11 +01:00
再生花
31641d72a4
feat(format-scripts): linewrap predicates
"format-ignore".kick()
2024-02-23 10:42:01 +02:00
ObserverOfTime
fa38f4e6f9 fix(highlights): improve member/property distinction 2024-01-19 16:58:37 +01:00
ObserverOfTime
2f38c36294 fix(highlights): improve consistency 2024-01-19 16:58:37 +01:00
Pham Huy Hoang
57a8acf0c4 chore: query formatting 2024-01-19 16:58:37 +01:00
Christian Clason
1ae9b0e455 feat!: align standard captures with upstream
Problem: Sharing highlight queries with upstream tree-sitter and
Helix is difficult.

Solution: Where reasonable, use capture names in tree-sitter's standard
list or Helix's Atom-style hierarchy.

Specifically:

* tree-sitter "standard capture names"
  (3f44b89685/highlight/src/lib.rs (L20-L72)):

  - `@parameter` -> `@variable.parameter`
  - `@field` -> `@variable.member`
  - `@namespace` -> `@module`
  - `@float` -> `@number.float`
  - `@symbol` -> `@string.special.symbol`
  - `@string.regex` -> `@string.regexp`
  - `@text.*` -> `@markup.*` (`strong`, `italic`, `link`, `strikethrough`; with exceptions; see below)
  - `@text.title` -> `@markup.heading`
  - `@text.literal` -> `@markup.raw`
  - `@text.reference` -> `@markup.link`
  - `@text.uri` -> `@markup.link.url` (in markup links)
  - `@string.special` -> `@markup.link.label` (non-url links)
  - `@punctuation.special` -> `@markup.list` (markdown lists only; move subitems from `@text.todo`)

* Helix captures
  (https://docs.helix-editor.com/master/themes.html#syntax-highlighting):

  - `@method` -> `@function.method`
  - `@method.call` -> `@function.method.call`
  - `@text.{todo,warning,note,danger}` -> `@comment.{error,warning,hint,info,todo}`
  - `@text.diff.{add,delete,}` -> `@diff.{plus,minus,delta}`
  - `@text.uri` -> `@string.special.url` (outside markup)
  - `@preproc` -> `@keyword.directive`
  - `@define` -> `@keyword.directive`(`.define`?)
  - `@storageclass` -> `@keyword.storage`
  - `@conditional` -> `@keyword.conditional`
  - `@debug` -> `@keyword.debug`
  - `@exception` -> `@keyword.exception`
  - `@include` -> `@keyword.import`
  - `@repeat` -> `@keyword.repeat`

* cleanup

  - remove some redundant `@conceal` (but still allow it for conceal-only patterns)
  - remove obsolete `@error` (syntax linting is out of scope for this repo)
  - sort, cleanup capture list in `CONTRIBUTING.md`
2024-01-19 16:58:37 +01:00
Pham Huy Hoang
107e61afb7 refactor: Remove all (ERROR) @error captures
As discussed in PR#5421, capturing `@error` is inconsistent, requiring
deep nesting (or priority) in order to correctly have red backgrounds to
it.

Some queries has this capture, some don't. For consistency purposes,
removing all of them is more preferable.

For re-enabling error, either add `(ERROR) @error` or `(ERROR _ @error)`
to your custom queries.
2023-10-25 18:18:50 +02:00
ObserverOfTime
05fe2c38a3 refactor: replace some match & vim-match usages 2023-08-23 16:57:18 +03:00
ShellCode33
d9e75a1736 queries/*/highlights.scm : remove @spell for strings 2023-08-07 16:39:40 +01:00
Serhii Budnik
9d3c14874d fix(ruby): bare_symbol should be @symbol 2023-04-17 02:16:36 -04:00
Trey Wood
2f3113ff6d
fix(ruby): then blocks should not be @conditional, just "then" 2023-03-31 11:43:55 -04:00
Amaan Qureshi
5a87bc98da feat: add @comment.documentation where applicable 2023-03-05 17:15:32 -05:00
Amaan Qureshi
3c8842c79a refactor(ruby): move keywords appropriately 2023-03-03 07:07:52 -08:00
ObserverOfTime
be2b89edc8 highlights(ruby): fix captures 2022-11-26 13:17:51 +02:00
Cameron
8961b598dc Add global variable highlighting 2022-09-10 11:07:45 -07:00
Lewis Russell
2a63ea5665 feat(spell): upstream spell queries from spellsitter 2022-09-06 12:44:19 +01:00
lfenzo
c784720917 Split func/method definition from calls in several programming language queries 2022-08-03 12:05:30 -07:00
Cameron
16abfdc11c Update highlights.scm
Adds `undef` and `redo` keywords.

https://docs.ruby-lang.org/en/2.4.0/syntax/miscellaneous_rdoc.html#label-undef
https://docs.ruby-lang.org/en/2.4.0/syntax/control_expressions_rdoc.html#label-redo+Statement
2022-06-24 17:03:41 +02:00
Cameron
e28b65bb52 Add Operators for Ruby
Many operators were missing from ruby, so, I added them.

Additionally, with string interpolation (`"#{xxx}"`), the closing `}` was being matched to `punctuation.bracket` instead of `punctuation.special`, so I fixed that too.

I didn't see any further details about how to contribute, so if I've overlooked anything, I'll be happy to add it.
2021-11-11 21:04:42 -05:00
antonk52
90f15d9bf7 feat(keywords) merge return and yield into keyword.return group 2021-07-04 21:49:17 +02:00
antonk52
bd9095e969 feat(keywords) add keyword.return & keyword.yield 2021-07-04 21:49:17 +02:00
Dennis B
aca33c0aca [highlights] Add TSSymbol highlight group
Addresses issue #892

Ruby and Dart literal symbols will now be highlighted by the new
TSSymbol highlight group, which itself will, by default, link to the Vim
Identifier highlight group. Vim theme authors can then set their
TSSymbol colors.

Symbol highlighting can apply to a number of languages as noted in the
following Wikipedia page: https://en.wikipedia.org/wiki/Symbol_(programming)

Not just for Ruby and Dart.
2021-03-04 06:19:40 +01:00
Kassio Borges
f6b4c6b2d6 Ruby constants highlighted as Type
In ruby constants and types are usually highlighted the sameway.

Based on vim-ruby highlight.
https://github.com/vim-ruby/vim-ruby/blob/master/syntax/ruby.vim#L502
2021-02-22 21:08:49 +01:00
Jeffrey Chupp
76d4a2a0c4 Highlight ruby symbols as @property
Distinguish from @constant. Closes #874
2021-01-25 21:39:29 +01:00
Stephan Seitz
99ecb46592 Ruby highlights: symbol -> simple_symbol, hash_key_symbol, delimited_symbol
Account for https://github.com/tree-sitter/tree-sitter-ruby/pull/152
2021-01-21 12:40:45 +01:00
Stephan Seitz
40588da97c Remove usages of @embedded in highlights 2021-01-06 09:12:32 -05:00
Kassio Borges
a5f2970d7a Add more ruby built-in constants 2020-12-18 17:10:14 +01:00
Stephan Seitz
5f20329e96 Ruby highlights: Unify call and method_call (follow tree-sitter-ruby) 2020-12-16 10:08:50 +01:00
Kassio Borges
b8bbfceca7 Add some ruby exception keywords 2020-12-05 22:49:42 +01:00
Stephan Seitz
f999dc4113 💣 !! Use TSUpdate !! Fix ruby queries 2020-11-03 20:26:08 +01:00
Stephan Seitz
7c96582ef1 Ruby highlights: reset highlight on interpolation
@TravonteD
2020-10-12 13:26:51 +02:00
Dennis B
3818cc29d0 Highlight top-level 'require' as TSInclude (fix #463)
Same for 'require_relative' & 'load' code importation mechanisms.

Note, method calls of 'require' (as in Rails strong-params) will be
still be highlighted as Method/Function.
2020-09-23 17:14:11 +02:00
Stephan Seitz
7e3c4f8089 Add @keyword.operator for operators that are English words and add @exception for Java/JS 2020-09-19 07:30:49 +02:00
TravonteD
b4abf6b07d move the generic "constant" capture to the top 2020-09-18 15:14:32 +02:00
TravonteD
73a82638a5 update require statements to use TSInclude 2020-09-16 10:28:41 +02:00
Stephan Seitz
bcf421b4e7 Fix #307: Use and document TSVariable/TSVariableBuiltin in all languages 2020-09-14 18:27:20 +02:00
TravonteD
e1434ff68b - Fix TSType and TSPunctuationSpecial
Move class and module names to @type to be consistent with the other
languages. (fixes #448)

Use @punction.special for interpolation brackets. (fixes #449)
2020-09-12 09:36:55 +02:00
Steven Sojka
ce43dbf54c fix(queries): use vim-match for non lua regexes 2020-08-16 18:31:56 +02:00
TravonteD
09c2e6e0a7 Fix the ":" in symbols when used in pairs
This fixes the colon not being highlighted when a symbol is represented
in a pair like so:

    symbol: true
2020-06-23 09:28:32 +02:00
TravonteD
0f836e0602 refactor: use newly introduced consolidated syntax 2020-06-20 09:03:39 -04:00
TravonteD
37f9866f66 - #76 update the predicate syntax for ruby and css 2020-06-11 10:38:19 -04:00
TravonteD
64925f92d9 update ruby highlights and locals to conform the new contribution
standards
2020-05-11 11:54:59 -04:00