From 012ca50b2801cc1c4e5b886cc26ebe0da532e31d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ph=C3=BAc=20H=2E=20L=C3=AA=20Kh=E1=BA=AFc?= Date: Sat, 22 Jul 2023 09:21:12 +0200 Subject: [PATCH] feat(python): add semantic highlighting (#1149) * feat(python): add semantic highlighting * refactor: moved to python-semshi --------- Co-authored-by: Folke Lemaitre --- .../plugins/extras/lang/python-semshi.lua | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 lua/lazyvim/plugins/extras/lang/python-semshi.lua diff --git a/lua/lazyvim/plugins/extras/lang/python-semshi.lua b/lua/lazyvim/plugins/extras/lang/python-semshi.lua new file mode 100644 index 00000000..a9a4870e --- /dev/null +++ b/lua/lazyvim/plugins/extras/lang/python-semshi.lua @@ -0,0 +1,31 @@ +return { + -- "numiras/semshi", + "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, +}