From aef09a32c5bc16945ac6052dbb7fd0a030a15f76 Mon Sep 17 00:00:00 2001 From: Hung Date: Tue, 6 Jun 2023 21:19:13 -0700 Subject: [PATCH] feat(nvim): fidget.nvim --- native_configs/neovim/init.lua | 51 +++++++++++++++++++++++++++ nix-conf/home-manager/base/neovim.nix | 2 ++ 2 files changed, 53 insertions(+) diff --git a/native_configs/neovim/init.lua b/native_configs/neovim/init.lua index ffe9041..5302860 100644 --- a/native_configs/neovim/init.lua +++ b/native_configs/neovim/init.lua @@ -59,6 +59,7 @@ Plug('nathanalderson/yang.vim') -- Plug('windwp/nvim-autopairs') -- matches pairs like [] (),... -- Plug('windwp/nvim-ts-autotag') -- matches tags hello -- Plug('NMAC427/guess-indent.nvim') -- guesses the indentation of an opened buffer +-- Plug('j-hui/fidget.nvim') -- Progress bar for LSP Plug('numToStr/Comment.nvim') -- "gc" to comment visual regions/lines Plug('lewis6991/gitsigns.nvim') -- add git info to sign columns Plug('tpope/vim-fugitive') -- git commands in nvim @@ -1084,3 +1085,53 @@ require('lualine').setup { require('nvim-surround').setup {} require('tsql').setup() +require('fidget').setup({ + text = { + spinner = "pipe", -- animation shown when tasks are ongoing + done = "✔", -- character shown when all tasks are complete + commenced = "Started", -- message shown when task starts + completed = "Completed", -- message shown when task completes + }, + align = { + bottom = true, -- align fidgets along bottom edge of buffer + right = true, -- align fidgets along right edge of buffer + }, + timer = { + spinner_rate = 125, -- frame rate of spinner animation, in ms + fidget_decay = 2000, -- how long to keep around empty fidget, in ms + task_decay = 1000, -- how long to keep around completed task, in ms + }, + window = { + relative = "win", -- where to anchor, either "win" or "editor" + blend = 100, -- &winblend for the window + zindex = nil, -- the zindex value for the window + border = "none", -- style of border for the fidget window + }, + fmt = { + leftpad = true, -- right-justify text in fidget box + stack_upwards = true, -- list of tasks grows upwards + max_width = 0, -- maximum width of the fidget box + fidget = -- function to format fidget title + function(fidget_name, spinner) + return string.format("%s %s", spinner, fidget_name) + end, + task = -- function to format each task line + function(task_name, message, percentage) + return string.format( + "%s%s [%s]", + message, + percentage and string.format(" (%s%%)", percentage) or "", + task_name + ) + end, + }, + sources = { -- Sources to configure + * = { -- Name of source + ignore = false, -- Ignore notifications from this source + }, + }, + debug = { + logging = false, -- whether to enable logging, for debugging + strict = false, -- whether to interpret LSP strictly + }, +}) diff --git a/nix-conf/home-manager/base/neovim.nix b/nix-conf/home-manager/base/neovim.nix index dbfae99..b8ce466 100644 --- a/nix-conf/home-manager/base/neovim.nix +++ b/nix-conf/home-manager/base/neovim.nix @@ -124,6 +124,7 @@ in harpoon zk-nvim luasnip + fidget-nvim ; in [ plenary-nvim nvim-treesitter.withAllGrammars @@ -147,6 +148,7 @@ in zk-nvim luasnip nvim-treesitter-context + fidget-nvim ]); }; # home.packages = nvim_pkgs;