diff --git a/config/lsp/colorlsp.lua b/config/lsp/colorlsp.lua new file mode 100644 index 0000000..9b0c368 --- /dev/null +++ b/config/lsp/colorlsp.lua @@ -0,0 +1,15 @@ +return { + cmd = { "color-lsp" }, + root_dir = function(bufnr, on_dir) + if vim.bo[bufnr].buftype == "" then + on_dir(vim.fn.getcwd()) + end + end, + capabilities = { + textDocument = { + colorProvider = { + dynamicRegistration = true, + }, + }, + }, +} diff --git a/config/lua/ivy/config/lsp.lua b/config/lua/ivy/config/lsp.lua index f59f6ea..484570f 100644 --- a/config/lua/ivy/config/lsp.lua +++ b/config/lua/ivy/config/lsp.lua @@ -5,6 +5,7 @@ vim.g.lsp_config = { astro = {}, bashls = {}, clangd = {}, + colorlsp = {}, cssls = {}, denols = {}, dockerls = {}, diff --git a/config/plugin/lsp.lua b/config/plugin/lsp.lua index 3c251ab..b38141f 100644 --- a/config/plugin/lsp.lua +++ b/config/plugin/lsp.lua @@ -50,9 +50,7 @@ local components = { name = "document_color", callback = function(client, bufnr) if client.server_capabilities.documentColorProvider then - vim.lsp.document_color.enable(true, bufnr, { - style = '', -- virtual - }) + vim.lsp.document_color.enable(true, bufnr) end end, }, diff --git a/default.nix b/default.nix index a3d5ebe..4852e8d 100644 --- a/default.nix +++ b/default.nix @@ -16,6 +16,7 @@ let packages = lib.makeScope pkgs.newScope (self: { ivy = self.callPackage ./pkgs/ivy/package.nix { inherit ivyVersion; }; ivyPlugins = self.callPackage ./pkgs/ivy-plugins/package.nix { }; + color-lsp = self.callPackage ./pkgs/color-lsp/package.nix { }; inherit (inputs.gift-wrap.legacyPackages.${pkgs.stdenv.hostPlatform.system}) wrapNeovim; }); in diff --git a/pkgs/color-lsp/package.nix b/pkgs/color-lsp/package.nix new file mode 100644 index 0000000..da23350 --- /dev/null +++ b/pkgs/color-lsp/package.nix @@ -0,0 +1,25 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, +}: +rustPlatform.buildRustPackage (finalAttrs: { + pname = "color-lsp"; + version = "v0.1.4"; + + src = fetchFromGitHub { + owner = "huacnlee"; + repo = "color-lsp"; + tag = finalAttrs.version; + hash = "sha256-rjMeypPjqisO8mw8aPbkhB2J8tIjdBUmsYYsBDazO0o="; + }; + + cargoHash = "sha256-fq/OUemYtalkSSxZYun7e1QqbeHU1+uX+AT5EX2Ut/g="; + + meta = { + description = "document color language server"; + homepage = "https://github.com/huacnlee/color-lsp"; + license = lib.licenses.mit; + maintainers = [ { name = "comfysage"; } ]; + }; +}) diff --git a/pkgs/ivy/package.nix b/pkgs/ivy/package.nix index d0f6314..c89362b 100644 --- a/pkgs/ivy/package.nix +++ b/pkgs/ivy/package.nix @@ -50,6 +50,7 @@ lazygit, prettier, nodejs-slim, + color-lsp, # our beatiful wrapper wrapNeovim, @@ -260,6 +261,7 @@ wrapNeovim { lazygit deno zls + color-lsp ]) ]; }