feat(nvim): update color theme with semantic highlighting for go

This commit is contained in:
Bruno Carlin 2024-02-19 17:47:25 +01:00
parent 03ba9586f6
commit a8c1e82095
Signed by: bcarlin
GPG key ID: 8E254EA0FFEB9B6D

View file

@ -42,6 +42,10 @@
local table = require('table') local table = require('table')
function clear_highlight(name)
vim.api.nvim_set_hl(0, name, {})
end
function highlight(opts) function highlight(opts)
assert(opts.name, "The name of the group is missing") assert(opts.name, "The name of the group is missing")
@ -127,7 +131,7 @@ vim.cmd [[
endif endif
]] ]]
vim.g.colors_name = "bsolarized2" --vim.g.colors_name = "bsolarized2"
-- ---------------------------------------------------------------------- -- ----------------------------------------------------------------------
-- Builtin groups -- Builtin groups
@ -339,6 +343,7 @@ highlight {name="Constant", fg=colors.cyan}
-- *Identifier any variable name -- *Identifier any variable name
-- Function function name (also: methods for classes) -- Function function name (also: methods for classes)
clear_highlight "Identifier"
highlight {name="Identifier", fg=colors.blue} highlight {name="Identifier", fg=colors.blue}
-- *Statement any statement -- *Statement any statement
@ -361,7 +366,7 @@ highlight {name="PreProc", fg=colors.orange}
-- StorageClass static, register, volatile, etc. -- StorageClass static, register, volatile, etc.
-- Structure struct, union, enum, etc. -- Structure struct, union, enum, etc.
-- Typedef A typedef -- Typedef A typedef
highlight {name="Type", fg=colors.yellow} highlight {name="Type", fg=colors.yellow, attrs={attrs.bold}}
-- *Special any special symbol -- *Special any special symbol
-- SpecialChar special character in a constant -- SpecialChar special character in a constant
@ -385,6 +390,22 @@ highlight {name="Error", fg=colors.base03, bg=colors.red, attrs={attrs.bold}}
highlight {name="Todo", fg=colors.magenta, bg=colors.none, attrs={attrs.bold}} highlight {name="Todo", fg=colors.magenta, bg=colors.none, attrs={attrs.bold}}
-- ----------------------------------------------------------------------
-- Semantic tokens
-- ----------------------------------------------------------------------
highlight {name = "@lsp.type.namespace", fg=colors.base0 }
highlight {name = "@lsp.type.parameter", fg=colors.magenta }
highlight {name = "@lsp.type.variable", fg=colors.blue, attrs={attrs.italic} }
highlight {name = "@lsp.type.function", fg=colors.blue }
highlight {name = "@lsp.type.method", link="Function" }
highlight {name = "@lsp.mod.readonly", fg=colors.orange}
highlight {name = "@lsp.mod.definition", attrs={attrs.bold} }
highlight {name = "@lsp.mod.deprecated", attrs={attrs.strike} }
-- ---------------------------------------------------------------------- -- ----------------------------------------------------------------------
-- NvimTree syntax -- NvimTree syntax
-- ---------------------------------------------------------------------- -- ----------------------------------------------------------------------