blob: 1a2fb6eb761fe2ae3c2fb66e3c262d425335f699 (
plain) (
tree)
|
|
{
lib,
config,
pkgs,
...
}: let
cfg = config.soispha.programs.nvim;
in {
home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
# 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;}];
};
};
};
}
|