45eb3e860c
Use 'parameter' high-light group
...
To align with neovim's usage, use `parameter` instead of
`variable.parameter`.
2022-11-22 10:57:06 +01:00
724abf12e8
Fix 'method' keyword high-lighting
...
It makes more sense to add it to `keyword.function`, neovim does not
have a `keyword.method` category, and `method` is for the method name
itself.
2022-11-22 10:28:33 +01:00
2917939176
Ignore comments and strings folding
continuous-integration/drone/push Build is passing
2022-11-22 10:15:25 +01:00
268dd92906
Remove duplicate high-lights
2022-11-22 10:14:39 +01:00
9d9238f284
Add 'import' high-lighting
2022-11-22 10:14:16 +01:00
089a585a41
Fix 'class_type' textobject
2022-11-22 10:05:37 +01:00
984e3c09d0
Add record type folds
continuous-integration/drone/push Build is passing
2022-06-13 13:05:50 +02:00
7927a8cde7
Add record declaration indentation
continuous-integration/drone/push Build is passing
2022-06-13 11:30:16 +02:00
96edb1d0f7
Add '@indent_end' markers
...
Ensures for example that the following scenario
```tiger
let
in
(
) /* <- Inputting a new-line will indent the cursor */
end
```
Does not happen.
2022-06-12 21:04:18 +02:00
6216812a33
Add variable declarations indents
continuous-integration/drone/push Build is passing
2022-06-12 20:45:07 +02:00
5545b9c926
Add values indents
2022-06-12 20:45:07 +02:00
8a56748e88
Add functions indents
2022-06-12 20:45:07 +02:00
7975ca2486
Add groupings indents
2022-06-12 20:40:56 +02:00
bca103a393
Fix indent queries
...
You need to add '@indent' to the *parent* node, which whill indent the
children. For some reason I understood it as marking the node that
should be indented when I wrote these.
These were tested manually in Neovim, I need to add a way to test them
correctly though.
2022-06-12 20:38:51 +02:00
d6f624ebda
Add method text objects
2022-06-04 22:02:34 +02:00
a522aab9cd
Add class text objects
2022-06-04 22:00:08 +02:00
7d0ab1f40c
Add object-oriented indents
2022-06-04 21:54:44 +02:00
2e08482c67
Add object-oriented folds
2022-06-04 21:52:39 +02:00
c9efe870ab
Add class tags
2022-06-04 21:50:45 +02:00
746c8d27b8
Add method tags
2022-06-04 21:45:54 +02:00
b1c2da4cb4
Add 'self' built-in variable high-lighting
2022-06-04 21:45:54 +02:00
acb5765591
Make 'method' keyword more specific
2022-06-04 21:45:54 +02:00
065ad5f760
Make 'new' constructor keyword
2022-06-04 21:45:54 +02:00
9c51cbc93f
Add 'Object' built-in type
2022-06-04 21:45:54 +02:00
425890a6fc
Add methods high-lighting
2022-06-04 21:45:54 +02:00
555e10c736
Add object-oriented keywords high-lighting
2022-06-04 21:45:54 +02:00
869b0bf79a
Add meta-variable keywords high-lighting
2022-06-04 21:45:40 +02:00
79413a9624
Do not indent inside strings
2022-06-04 11:00:41 +02:00
6732ec0994
Add loop indents
2022-06-04 10:58:14 +02:00
8ffe530561
Add conditional indents
2022-06-04 10:57:27 +02:00
83356398f9
Add comment indents
...
Yet another un-testable query with the vanilla tooling...
2022-06-04 10:54:36 +02:00
e8883aaf5d
Add loop text objects
2022-06-04 10:52:47 +02:00
0bb177a05e
Add conditional text objects
2022-06-04 10:52:47 +02:00
c31f249d4a
Add function parameter text objects
2022-06-04 10:52:47 +02:00
221904815a
Add function call text objects
2022-06-04 10:48:19 +02:00
a871263996
Add function text objects
2022-06-04 10:43:35 +02:00
c2dcb86e78
Add comment text objects
...
Once again, something that isn't testable with 'tree-sitter' tooling...
2022-06-04 10:43:35 +02:00
2bd24cceb4
Add folds
...
Unfortunately it seems like this is not really testable with the
'tree-sitter' tooling.
If I want to check that this is working correctly, I should explore how
to make use of, e.g., neovim to automate testing.
2022-06-04 10:43:35 +02:00
545d090540
Mark 'comment' as injecting 'comment'
...
Neovim defines queries for the 'comment' language, to match 'TODO',
'FIXME', etc...
2022-06-04 10:43:35 +02:00
efe0a2800b
Add comment about 'locals' queries limitations
...
This is not enough of an issue to avoid using the functionality however,
for example variable declarations are thankfully not affected by this
issue, since they *must* be declared before their use.
2022-06-04 10:43:35 +02:00
184d3b9953
Add function tags
2022-06-04 10:43:35 +02:00
3e1068a336
Add built-in types
...
Not sure why it seems like the 'is-not? local' is not working.
Will investigate later
2022-06-03 22:04:30 +02:00
2d89ec8b20
Add built-in functions
...
continuous-integration/drone/push Build is passing
This is a good proxy test to ensure that scope queries work correctly.
2022-06-03 21:09:11 +02:00
073ff80adb
Add basic scoping queries
2022-06-03 21:02:40 +02:00
64ff9dd944
Add import path high-lighting
...
I don't think this group is supported by neovim, but 'tree-sitter-nix'
makes use of it, and I think it makes sense to add it.
2022-06-03 20:35:53 +02:00
bd42c2c9c1
Move 'literals' high-lighting to end of file
...
Once again, seems like order matters, and I want to be able to write more specific queries.
2022-06-03 20:30:45 +02:00
aff11eefce
More specific loop keyword high-lighting
2022-06-03 20:28:28 +02:00
b22ca8cd67
More specific function keyword high-lighting
...
I learnt about this group by reading the nvim-treesitter source [1].
[1]: see 'lua/nvim-treesitter/highlight.lua'
2022-06-03 20:15:09 +02:00
62a601469e
Add functions high-lighting
2022-06-03 19:59:56 +02:00
67b555c381
Move 'misc' high-lighting to end of file
...
Turns out that order *matters* for queries.
Tree-sitter will stop at the first match it seems. So I want the
hyper-general 'identifier' matching right at the end to avoid overriding
more specific rules.
2022-06-03 19:58:19 +02:00