From 12043656054c4c45ffea24680147b1be9265e721 Mon Sep 17 00:00:00 2001 From: Soispha Date: Sat, 26 Aug 2023 12:06:40 +0200 Subject: Feat(hm/conf/neovim/plugins/lsp-progress): Init --- .../nixvim/plugins/lsp-progress-nvim/default.nix | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 home-manager/soispha/config/neovim/nixvim/plugins/lsp-progress-nvim/default.nix (limited to 'home-manager/soispha/config/neovim/nixvim/plugins/lsp-progress-nvim/default.nix') diff --git a/home-manager/soispha/config/neovim/nixvim/plugins/lsp-progress-nvim/default.nix b/home-manager/soispha/config/neovim/nixvim/plugins/lsp-progress-nvim/default.nix new file mode 100644 index 00000000..71385a91 --- /dev/null +++ b/home-manager/soispha/config/neovim/nixvim/plugins/lsp-progress-nvim/default.nix @@ -0,0 +1,50 @@ +{ + lib, + pkgs, + ... +}: { + programs.nixvim = { + # TODO package lsp-progress-nvim though a module + extraConfigLuaPost = '' + ${lib.strings.fileContents ./lua/lsp-progress-nvim.lua} + ''; + extraPlugins = [ + pkgs.vimExtraPlugins.lsp-progress-nvim + ]; + + # Status line setup + autoGroups.lsp_refresh.clear = true; + autoCmd = [ + { + event = ["User LspProgressStatusUpdated"]; + pattern = ["*"]; + callback = + /* + lua + */ + { + __raw = '' + require("lualine").refresh + ''; + }; + group = "lsp_refresh"; + description = "Refresh the statusbar when the lsp status was updated."; + } + ]; + plugins.lualine = let + get_lsp_progress = { + __raw = + /* + lua + */ + '' + require('lsp-progress').progress + ''; + }; + in { + sections = { + lualine_c = [{name = get_lsp_progress;}]; + }; + }; + }; +} -- cgit 1.4.1