diff --git a/lua/plugins/languages.lua b/lua/plugins/languages.lua index 29105b4..1d248f7 100644 --- a/lua/plugins/languages.lua +++ b/lua/plugins/languages.lua @@ -230,6 +230,38 @@ return { end, event = "VeryLazy", -- Optional: needed only if you want to type `:VenvSelect` without a keymapping }, + -- numiras/semshi + -- Semantic Highlighting for Python in Neovim + { + "wookayin/semshi", -- use a maintained fork + ft = "python", + build = ":UpdateRemotePlugins", + init = function() + -- Disabled these features better provided by LSP or other more general plugins + vim.g["semshi#error_sign"] = false + vim.g["semshi#simplify_markup"] = false + vim.g["semshi#mark_selected_nodes"] = false + vim.g["semshi#update_delay_factor"] = 0.001 + + -- This autocmd must be defined in init to take effect + vim.api.nvim_create_autocmd({ "VimEnter", "ColorScheme" }, { + group = vim.api.nvim_create_augroup("SemanticHighlight", {}), + callback = function() + -- Only add style, inherit or link to the LSP's colors + vim.cmd([[ + highlight! semshiGlobal gui=italic + highlight! semshiImported gui=bold + highlight! link semshiParameter @lsp.type.parameter + highlight! link semshiParameterUnused DiagnosticUnnecessary + highlight! link semshiBuiltin @function.builtin + highlight! link semshiAttribute @attribute + highlight! link semshiSelf @lsp.type.selfKeyword + highlight! link semshiUnresolved @lsp.type.unresolvedReference + ]]) + end, + }) + end, + }, --------------------- Go ---------------------- -- go.nvim