diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 49da794b..dc9788fe 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -296,6 +296,7 @@ - Add lint (luacheck) and formatting (stylua) support for Lua. - Add lint (markdownlint-cli2) support for Markdown. +- Add catppuccin integration for Bufferline, Lspsaga. [tebuevd](https://github.com/tebuevd): @@ -311,3 +312,7 @@ - Fix oil config referencing snacks - Add [flash.nvim] plugin to `vim.utility.motion.flash-nvim` + +[rrvsh](https://github.com/rrvsh): + +- Fix namespace of python-lsp-server by changing it to python3Packages diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index ccb15f7c..476b56ef 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -47,7 +47,7 @@ }; python-lsp-server = { - package = pkgs.python-lsp-server; + package = pkgs.python3Packages.python-lsp-server; lspConfig = '' lspconfig.pylsp.setup{ capabilities = capabilities; diff --git a/modules/plugins/lsp/lspsaga/lspsaga.nix b/modules/plugins/lsp/lspsaga/lspsaga.nix index 39ce6298..570cee1a 100644 --- a/modules/plugins/lsp/lspsaga/lspsaga.nix +++ b/modules/plugins/lsp/lspsaga/lspsaga.nix @@ -6,6 +6,19 @@ inherit (lib.modules) mkRemovedOptionModule; inherit (lib.options) mkOption mkEnableOption; inherit (lib.nvim.types) borderType mkPluginSetupOption; + inherit (lib.nvim.lua) mkLuaInline; + + uiKindSetupOpts = + if config.vim.theme.enable && config.vim.theme.name == "catppuccin" + then { + ui.kind = + mkLuaInline + # lua + '' + require("catppuccin.groups.integrations.lsp_saga").custom_kind() + ''; + } + else {}; in { imports = [ (mkRemovedOptionModule ["vim" "lsp" "lspsaga" "mappings"] '' @@ -21,12 +34,14 @@ in { options.vim.lsp.lspsaga = { enable = mkEnableOption "LSP Saga"; - setupOpts = mkPluginSetupOption "lspsaga" { - border_style = mkOption { - type = borderType; - default = config.vim.ui.borders.globalStyle; - description = "Border type, see {command}`:help nvim_open_win`"; - }; - }; + setupOpts = + mkPluginSetupOption "lspsaga" { + border_style = mkOption { + type = borderType; + default = config.vim.ui.borders.globalStyle; + description = "Border type, see {command}`:help nvim_open_win`"; + }; + } + // uiKindSetupOpts; }; } diff --git a/modules/plugins/tabline/nvim-bufferline/config.nix b/modules/plugins/tabline/nvim-bufferline/config.nix index 4989e991..965f81f0 100644 --- a/modules/plugins/tabline/nvim-bufferline/config.nix +++ b/modules/plugins/tabline/nvim-bufferline/config.nix @@ -9,7 +9,7 @@ inherit (lib.nvim.lua) toLuaObject; cfg = config.vim.tabline.nvimBufferline; - self = import ./nvim-bufferline.nix {inherit lib;}; + self = import ./nvim-bufferline.nix {inherit config lib;}; inherit (self.options.vim.tabline.nvimBufferline) mappings; in { config = mkIf cfg.enable { diff --git a/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix b/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix index dc32226e..5a4f1ff0 100644 --- a/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix +++ b/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix @@ -1,4 +1,8 @@ -{lib, ...}: let +{ + config, + lib, + ... +}: let inherit (lib.options) mkOption mkEnableOption literalExpression; inherit (lib.types) enum bool either nullOr str int listOf attrs; inherit (lib.generators) mkLuaInline; @@ -23,7 +27,14 @@ in { setupOpts = mkPluginSetupOption "Bufferline-nvim" { highlights = mkOption { type = either attrs luaInline; - default = {}; + default = + if config.vim.theme.enable && config.vim.theme.name == "catppuccin" + then + mkLuaInline + '' + require("catppuccin.groups.integrations.bufferline").get() + '' + else {}; description = '' Overrides the highlight groups of bufferline. diff --git a/modules/plugins/theme/supported-themes.nix b/modules/plugins/theme/supported-themes.nix index 0b5cb90b..2b427871 100644 --- a/modules/plugins/theme/supported-themes.nix +++ b/modules/plugins/theme/supported-themes.nix @@ -66,21 +66,22 @@ in { transparent_background = ${boolToString transparent}, term_colors = true, integrations = { - nvimtree = { - enabled = true, - transparent_panel = ${boolToString transparent}, - show_root = true, - }, + nvimtree = { + enabled = true, + transparent_panel = ${boolToString transparent}, + show_root = true, + }, hop = true, - gitsigns = true, - telescope = true, - treesitter = true, + gitsigns = true, + telescope = true, + treesitter = true, treesitter_context = true, - ts_rainbow = true, + ts_rainbow = true, fidget = true, alpha = true, leap = true, + lsp_saga = true, markdown = true, noice = true, notify = true, -- nvim-notify @@ -106,9 +107,9 @@ in { style' = warnIf (style == "light") "oxocarbon: light theme is not well-supported" style; in '' - require('oxocarbon') - vim.opt.background = "${style'}" - vim.cmd.colorscheme = "oxocarbon" + require('oxocarbon') + vim.opt.background = "${style'}" + vim.cmd.colorscheme = "oxocarbon" ${optionalString transparent '' vim.api.nvim_set_hl(0, "Normal", { bg = "none" }) vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" }) diff --git a/modules/plugins/treesitter/treesitter.nix b/modules/plugins/treesitter/treesitter.nix index 322d2eb0..d88cc1a9 100644 --- a/modules/plugins/treesitter/treesitter.nix +++ b/modules/plugins/treesitter/treesitter.nix @@ -24,12 +24,19 @@ in { grammars = mkOption { type = listOf package; default = []; + example = literalExpression '' + pkgs.vimPlugins.nvim-treesitter.builtGrammars; [ + regex + kdl + ]; + ''; description = '' - List of treesitter grammars to install. + List of treesitter grammars to install. For grammars to be installed properly, + you must use grammars from `pkgs.vimPlugins.nvim-treesitter.builtGrammars`. - For languages already supported by nvf, you may - use the {option}`vim.language..treesitter` options, which - will automatically add the required grammars to this. + For languages already supported by nvf, you may use + {option}`vim.language..treesitter` options, which will automatically add + the required grammars to this. ''; };