diff options
| author | mvink <mike1994vink@gmail.com> | 2022-11-16 12:43:46 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-11-16 12:43:46 +0100 |
| commit | 5e255e41669f1f7c985bc0f44a5f551b8caebaf3 (patch) | |
| tree | 6f01b4bc2ad83a6f6455b47c71c9b797a3dee3ea /lua/nvim-treesitter/highlight.lua | |
| parent | fdaab4dff7768fd63430fb29f80cb7ebea6fe887 (diff) | |
| parent | dc27512e0019dcf4b6fbf0e0d5f285b4c9858308 (diff) | |
Diffstat (limited to 'lua/nvim-treesitter/highlight.lua')
| -rw-r--r-- | lua/nvim-treesitter/highlight.lua | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lua/nvim-treesitter/highlight.lua b/lua/nvim-treesitter/highlight.lua index 502914fe..5f7dead6 100644 --- a/lua/nvim-treesitter/highlight.lua +++ b/lua/nvim-treesitter/highlight.lua @@ -6,6 +6,9 @@ local configs = require "nvim-treesitter.configs" local M = {} +---@param config table +---@param lang string +---@return boolean local function should_enable_vim_regex(config, lang) local additional_hl = config.additional_vim_regex_highlighting local is_table = type(additional_hl) == "table" @@ -13,29 +16,36 @@ local function should_enable_vim_regex(config, lang) return additional_hl and (not is_table or vim.tbl_contains(additional_hl, lang)) end +---@param bufnr integer local function enable_syntax(bufnr) api.nvim_buf_set_option(bufnr, "syntax", "ON") end +---@param bufnr integer function M.stop(bufnr) if ts.highlighter.active[bufnr] then ts.highlighter.active[bufnr]:destroy() end end +---@param bufnr integer +---@param lang string function M.start(bufnr, lang) local parser = parsers.get_parser(bufnr, lang) ts.highlighter.new(parser, {}) end +---@param bufnr integer +---@param lang string function M.attach(bufnr, lang) local config = configs.get_module "highlight" M.start(bufnr, lang) - if should_enable_vim_regex(config, lang) then + if config and should_enable_vim_regex(config, lang) then enable_syntax(bufnr) end end +---@param bufnr integer function M.detach(bufnr) M.stop(bufnr) enable_syntax(bufnr) |
