diff --git a/config/nvim/lua/fs/keymaps.lua b/config/nvim/lua/fs/keymaps.lua index 29a1d6a..6a9dbbf 100644 --- a/config/nvim/lua/fs/keymaps.lua +++ b/config/nvim/lua/fs/keymaps.lua @@ -64,3 +64,6 @@ nmap { 'ev', 'tabedit ~/.config/nvim/init.lua' } nmap { 'es', 'tabedit ~/.config/nvim/spell/en.utf-8.add' } nmap { 'ez', 'tabedit ~/.config/zsh/.zshrc' } +-- show syntax highlight groups for symbol under the cursor +nmap { 'sh', 'lua require"fs.util".syntax_stack()' } + diff --git a/config/nvim/lua/fs/util.lua b/config/nvim/lua/fs/util.lua index d89fb80..b243436 100644 --- a/config/nvim/lua/fs/util.lua +++ b/config/nvim/lua/fs/util.lua @@ -62,5 +62,14 @@ M.highlight = function(group, highlights) vim.cmd(cmd) end +M.syntax_stack = function() + local line = vim.fn.line('.') + local col = vim.fn.col('.') + if vim.fn.exists("*synstack") then + local ids = vim.fn.synstack(line, col) + P(vim.fn.map(ids, 'synIDattr(v:val, "name")')) + end +end + return M