Commit graph

295 commits

Author SHA1 Message Date
HiPhish
98513481e0 Fix script for recording highlight gold standard
The end row was wrongly recorded with the value of the end column.
2024-08-12 23:29:50 +02:00
HiPhish
56e6d1ecab Fix missing option in health check 2024-08-11 12:58:59 +02:00
HiPhish
254c67c8c6 Make wrapped strategy in Christmas optional
Defaults to the global strategy.
2024-08-08 19:22:40 +02:00
HiPhish
a74553b331 Add option to dynamically disable for a buffer
Based on a GitHub discussion[1], this option lets users specify a
predicate to dynamically enable or disable rainbow delimiters for a
buffer.

[1] https://github.com/HiPhish/rainbow-delimiters.nvim/discussions/130
2024-08-07 23:23:11 +02:00
HiPhish
d92ffe707b Simplify selective activation tests
Moved common code up to the `before_each` function.
2024-07-24 21:33:14 +02:00
HiPhish
a1773953fc Implement automated highlight testing
Highlights are tested by comparing the current extmarks of a buffer to
the previously recorded extmarks.
2024-07-23 21:00:21 +02:00
Danielkonge
6d3371d66c feat(wgsl): Add wgsl support 2024-05-29 21:26:03 +02:00
Danielkonge
c5305880bb Type updates 2024-05-29 21:26:03 +02:00
cailue
0bb6ba3149 patch: cancel format on save
Signed-off-by: cailue <cailue@bupt.edu.cn>
2024-05-28 00:55:39 +08:00
cailue
34ba35ae95 patch: try fix with replace regtype to 'v'
Signed-off-by: cailue <cailue@bupt.edu.cn>
2024-05-28 00:38:20 +08:00
Martin Walls
fe0b2ef7c7 feat(typst): add Typst lang support 2024-03-15 18:13:14 +00:00
Hoang Nguyen
404402c552
feat: add support for rasi 2024-02-12 00:00:00 +07:00
HiPhish
c84eeb689e Remove configuration settings caching 2024-01-28 18:32:56 +01:00
Danielkonge
ad18af0972 fix: improve global strategy 2024-01-24 19:06:20 +01:00
Micah Halter
35530b4ad4
Implement functions for checking if rainbow is enabled in buffer
Fix bug and add tests

Update changelog
2024-01-22 17:36:54 -05:00
HiPhish
7c171bbeff Add end-to-end tests for configuration 2024-01-14 18:23:40 +01:00
Danielkonge
668edb1de4 fix: type and checkhealth updates
Co-authored-by: Alejandro Sanchez <hiphish@posteo.de>
2024-01-02 12:40:26 +01:00
HiPhish
9c4639af94 Add Christmas strategy module 2023-12-24 19:09:18 +01:00
HiPhish
0b4c1ab672 Fix a type annotation 2023-12-13 17:07:21 +01:00
HiPhish
cc1783ca5f Allow arguments in configuration functions 2023-12-12 23:22:15 +01:00
HiPhish
cc5f3a0081 Evaluate config thunks in specific buffer context
Same as the previous commit, except for strategies and priorities.
2023-12-10 19:57:00 +01:00
HiPhish
65939c2653 Add ability to query relative to a given buffer
Changes in one buffer can cause changes in another buffer.  The second
buffer will be updated, thus if we dynamically determine the query we
need to pass the number of the affected buffer along.
2023-12-10 19:47:22 +01:00
HiPhish
cb6a27ac52 Merge branch 'bazel' 2023-12-10 16:11:00 +01:00
Hoang Nguyen
fb36cbc8f1
feat(starlark): add support for Starlark filetype
This is mostly identical to Python, without `generator_expression`
2023-12-10 00:00:00 +07:00
Danielkonge
b2377da8a4 Allow query choice via function 2023-11-29 21:08:12 +01:00
Danielkonge
6aaaf119e3 Minor code formatting cleanup 2023-11-26 00:16:12 +01:00
Hoang Nguyen
db8e18b164
Add luadoc types for terraform 2023-11-25 00:00:00 +07:00
HiPhish
fdd507455a Add highlight priority setting 2023-11-24 21:00:05 +01:00
HiPhish
a2da59bdac Merge branch 'LuaLS' 2023-11-23 23:29:27 +01:00
Danielkonge
589917a99e Add more types for better LSP info
Co-authored-by: Alejandro Sanchez <hiphish@posteo.de>
2023-11-23 00:35:49 +01:00
HiPhish
5438ed66b0 Update changelog 2023-11-17 18:45:30 +01:00
Danielkonge
1731829d3c Bug fix - fixes #59 2023-11-17 17:54:41 +01:00
Danielkonge
538b4aec98 Minor lua code fixes 2023-11-16 00:46:55 +01:00
HiPhish
5a91998e54 Switch highlighting logic to delimiter captures
This changes fundamentally how highlighting works: we only have one type
of delimiter capture and we use a sentinel capture to mark the end of
the delimited container.

Co-authored-by: Danielkonge <dakongsgaard@gmail.com>
2023-11-07 23:20:54 +01:00
HiPhish
b160af1d2a Allow calling the setup module directly 2023-10-17 23:15:06 +02:00
HiPhish
4736e6928e Add modelines to Lua files 2023-10-15 16:25:01 +02:00
Chad Condon
8f63f55fb0 Use idiomatic setup function
This permits simple integration with common plugin managers.
With [lazy.nvim](https://github.com/folke/lazy.nvim), for example,
one could:

```lua
{
    'HiPhish/rainbow-delimiters.nvim',
    main = 'rainbow-delimiters.setup',
    opts = {
        strategy = {
            [''] = rainbow_delimiters.strategy['global'],
            vim = rainbow_delimiters.strategy['local'],
        },
        query = {
            [''] = 'rainbow-delimiters',
            lua = 'rainbow-blocks',
        },
        highlight = {
            'RainbowDelimiterRed',
            'RainbowDelimiterYellow',
            'RainbowDelimiterBlue',
            'RainbowDelimiterOrange',
            'RainbowDelimiterGreen',
            'RainbowDelimiterViolet',
            'RainbowDelimiterCyan',
        },
    },
}
```

Closes #4.
2023-10-13 19:55:09 -07:00
HiPhish
59e90b6a2a Fix highlighting after undo operation
If the user uses an external application to format a file and then
undoes the changes the highlighting as messed up.  I have observed that
an empty change set was delivered from Tree-sitter.  My hack injects an
entry into the changeset to re-highlight the entire buffer, which hides
the problem from sight.
2023-09-26 14:11:43 +02:00
HiPhish
22d1f5ef10 Add health validation of logging options 2023-09-25 00:25:45 +02:00
HiPhish
e9843e7ae8 Replace for_each_child with custom function
Neovim's own `for_each_child` method on language trees has been
deprecated in Neovim 0.10 and will be removed in 0.11.  This custom
function will patch us over until Neovim gains a standard function or
iterator to iterate through a tree-like structure.

See also: https://github.com/neovim/neovim/pull/25154
2023-09-20 18:46:07 +02:00
HiPhish
9cbd3dc409 Fix highlight when buffer changed outside editor
If the underlying file of a buffer has been changed outside Neovim we
have all sorts of stray extmarks lingering about.  This commit fixes the
issue by redoing the highlighting across the entire buffer.

- New strategy method: `on_reset`
- Normalize the format of syntactic change in strategy callback
- Document new method
2023-08-26 21:50:05 +02:00
HiPhish
f30dd6c58e Make toggling functions nil-tolerant 2023-08-25 01:04:40 +02:00
HiPhish
adfb780b35 Implement functions for togging rainbow per buffer 2023-08-24 22:27:55 +02:00
HiPhish
a6cafb36b4 Fix logging
The condition on whether to log a message or not was inverted.
2023-07-30 10:57:28 +02:00
HiPhish
3d98b1194c Fix log threshold logic
The log level of the messages needs to be greater or equal to the
threshold.  For example, if the threshold is set to `WARN`, then
warnings and errors are logged, but lower messages are not.
2023-07-22 21:08:20 +02:00
HiPhish
7506a7d66b Improve logging
Makes the logging actually useful by specifying a proper log format,
documenting the settings and fixing bugs.
2023-07-22 16:52:37 +02:00
HiPhish
f8f5cbbca1 Reorder some code in health check function 2023-07-22 13:55:09 +02:00
gh-liu
22a93d855c fix(health): remove deprecated API warnings 2023-07-22 06:43:34 +08:00
HiPhish
c27f7dee41 Show clearer and more terse health check messages 2023-07-21 22:19:36 +02:00
HiPhish
0d5eb17533 Add health checks 2023-07-19 18:04:15 +02:00