diff options
| author | kiyan <yazdani.kiyan@protonmail.com> | 2022-02-06 15:15:42 +0100 |
|---|---|---|
| committer | Stephan Seitz <stephan.seitz@fau.de> | 2022-02-19 18:26:51 +0100 |
| commit | 560e8fb4500ac481601d2511b40f730b4515820e (patch) | |
| tree | 88e745b744e36041fd8a2cfab9f7b271ecdd4a2e /lua | |
| parent | af71c25edce0861589a51c630525bd0b06ba6a41 (diff) | |
refacto: expose a function to set custom capture for the higlighter
BREAKING: deprecate custom_captures from highlight config.
This allows plugin authors to extend the map. It also avoids settings
user configuration specific values during the highlighter
initialization (SOC).
Not sure how much value this brings, and might potentially break a lot
of people configurations. This is questionable.
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/nvim-treesitter/configs.lua | 3 | ||||
| -rw-r--r-- | lua/nvim-treesitter/highlight.lua | 19 |
2 files changed, 10 insertions, 12 deletions
diff --git a/lua/nvim-treesitter/configs.lua b/lua/nvim-treesitter/configs.lua index 8f0f885a..7e6b0a7b 100644 --- a/lua/nvim-treesitter/configs.lua +++ b/lua/nvim-treesitter/configs.lua @@ -22,8 +22,9 @@ local is_initialized = false local builtin_modules = { highlight = { module_path = "nvim-treesitter.highlight", - enable = false, + -- @deprecated: use `highlight.set_custom_captures` instead custom_captures = {}, + enable = false, is_supported = function(lang) return queries.has_highlights(lang) end, diff --git a/lua/nvim-treesitter/highlight.lua b/lua/nvim-treesitter/highlight.lua index ce7cf811..b71a64ee 100644 --- a/lua/nvim-treesitter/highlight.lua +++ b/lua/nvim-treesitter/highlight.lua @@ -114,10 +114,6 @@ local function enable_syntax(bufnr) api.nvim_buf_set_option(bufnr, "syntax", "ON") end -function M.get_config() - return configs.get_module "highlight" -end - function M.stop(bufnr) if ts.highlighter.active[bufnr] then ts.highlighter.active[bufnr]:destroy() @@ -126,18 +122,13 @@ end function M.start(bufnr, lang) local parser = parsers.get_parser(bufnr, lang) - local config = M.get_config() - - for k, v in pairs(config.custom_captures) do - hlmap[k] = v - end - ts.highlighter.new(parser, {}) end function M.attach(bufnr, lang) + local config = configs.get_module "highlight" M.start(bufnr, lang) - if should_enable_vim_regex(M.get_config(), lang) then + if should_enable_vim_regex(config, lang) then enable_syntax(bufnr) end end @@ -147,4 +138,10 @@ function M.detach(bufnr) enable_syntax(bufnr) end +function M.set_custom_captures(captures) + for k, v in pairs(captures) do + hlmap[k] = v + end +end + return M |
