dotfiles

personal dotfiles
git clone anongit@rnpnr.xyz:dotfiles.git
Log | Files | Refs | Feed | Submodules

Commit: f958c1973603b0cf0346859236b5201d1cb6d851
Parent: 48b31dc4abee7440603ef96deafaa01c6def9603
Author: Randy Palamar
Date:   Sun, 18 May 2025 12:35:17 -0600

vis: support adding additional keywords to lexer

Diffstat:
M.config/vis/visrc.lua | 15+++++++++++++++
1 file changed, 15 insertions(+), 0 deletions(-)

diff --git a/.config/vis/visrc.lua b/.config/vis/visrc.lua @@ -92,6 +92,12 @@ vis:command_register("cp", function(argv) vis:pipe(text, "vis-clipboard --copy") end, "Copy Selection to Clipboard") +local extra_word_lists = {} +extra_word_lists['c'] = { + keyword = {'alignof', 'countof', 'force_inline', 'function', 'global', 'local_persist', 'read_only', 'typeof'}, + -- type = {'Arena', 'str8', ...}, +} + vis.events.subscribe(vis.events.WIN_OPEN, function(win) win.options = { colorcolumn = 100, @@ -104,6 +110,15 @@ vis.events.subscribe(vis.events.WIN_OPEN, function(win) local fmt = cmd(fmtcmd:format(win.options.tabwidth)) win:map(m.NORMAL, "=", fmt) win:map(m.VISUAL, "=", fmt) + + if vis.lexers.load and win.syntax and extra_word_lists[win.syntax] then + local lexer = vis.lexers.load(win.syntax, nil, true) + if lexer then + for key, word_list in pairs(extra_word_lists[win.syntax]) do + lexer:set_word_list(key, word_list, true) + end + end + end end) vis.events.subscribe(vis.events.WIN_CLOSE, function(win)