summaryrefslogtreecommitdiff
path: root/pkgs/custom-neovim
diff options
context:
space:
mode:
authortriethyl <triethylammonium@pm.me>2025-08-11 20:22:37 -0400
committertriethyl <triethylammonium@pm.me>2025-08-11 20:22:37 -0400
commit04d818b753f86aec987e7e1c00ab0127de2c08f2 (patch)
tree63292ff38c4804e8e927ba0d32847c0b0058e6a3 /pkgs/custom-neovim
parent0237ca8b4e043bba284f3e5267c1958104b13ee6 (diff)
neovim: replace dropbar with incline & more
Diffstat (limited to 'pkgs/custom-neovim')
-rw-r--r--pkgs/custom-neovim/config/init.lua2
-rw-r--r--pkgs/custom-neovim/config/lua/completion.lua8
-rw-r--r--pkgs/custom-neovim/config/lua/mappings.lua2
-rw-r--r--pkgs/custom-neovim/config/lua/options.lua2
-rw-r--r--pkgs/custom-neovim/config/lua/plugins/incline.lua5
-rw-r--r--pkgs/custom-neovim/config/lua/plugins/mini/indentscope.lua5
-rw-r--r--pkgs/custom-neovim/config/lua/plugins/render-markdown.lua1
-rw-r--r--pkgs/custom-neovim/default.nix2
-rw-r--r--pkgs/custom-neovim/design.md7
9 files changed, 26 insertions, 8 deletions
diff --git a/pkgs/custom-neovim/config/init.lua b/pkgs/custom-neovim/config/init.lua
index c3df542..b8d05b9 100644
--- a/pkgs/custom-neovim/config/init.lua
+++ b/pkgs/custom-neovim/config/init.lua
@@ -19,7 +19,7 @@ require("plugins.mini.indentscope")
require("plugins.fidget")
require("plugins.treesitter")
require("plugins.mini.files")
-require("plugins.dropbar")
+require("plugins.incline")
require("plugins.auto-session")
require("plugins.gitsigns")
require("plugins.namu")
diff --git a/pkgs/custom-neovim/config/lua/completion.lua b/pkgs/custom-neovim/config/lua/completion.lua
index ce87340..1ba2a91 100644
--- a/pkgs/custom-neovim/config/lua/completion.lua
+++ b/pkgs/custom-neovim/config/lua/completion.lua
@@ -8,6 +8,14 @@ local luasnip = require('luasnip')
local select_opts = {behavior = cmp.SelectBehavior.Select}
cmp.setup({
+ enabled = function() -- Disable in certain circumstances
+ local disabled = false
+ disabled = disabled or (vim.api.nvim_get_option_value('buftype', { buf = 0 }) == 'prompt') -- While in prompts.
+ disabled = disabled or (vim.fn.reg_recording() ~= '')
+ disabled = disabled or (vim.fn.reg_executing() ~= '')
+ disabled = disabled or require('cmp.config.context').in_treesitter_capture('comment') -- While in comments.
+ return not disabled
+ end,
snippet = {
expand = function(args)
luasnip.lsp_expand(args.body)
diff --git a/pkgs/custom-neovim/config/lua/mappings.lua b/pkgs/custom-neovim/config/lua/mappings.lua
index 275ff27..9b2c188 100644
--- a/pkgs/custom-neovim/config/lua/mappings.lua
+++ b/pkgs/custom-neovim/config/lua/mappings.lua
@@ -32,7 +32,7 @@ mapkey("n", "<leader>tT", "Go to previous tab", ":tabprev<cr>")
mapkey("n", "<leader>b", "Manage buffers", "")
mapkey("n", "<leader>bb", "Go to next buffer", ":bn<cr>")
mapkey("n", "<leader>bB", "Go to previous buffer", ":bp<cr>")
-mapkey("n", "<leader>bc", "Delete current buffer", ":bd<cr>")
+mapkey("n", "<leader>bd", "Delete current buffer", ":bd<cr>")
mapkey("n", "<leader>bp", "Open buffer picker", ":lua Snacks.picker.buffers()<cr>")
mapkey("n", "<leader>bg", "Open buffer live grep picker", ":lua Snacks.picker.grep_buffers()<cr>")
diff --git a/pkgs/custom-neovim/config/lua/options.lua b/pkgs/custom-neovim/config/lua/options.lua
index 3899c17..844341e 100644
--- a/pkgs/custom-neovim/config/lua/options.lua
+++ b/pkgs/custom-neovim/config/lua/options.lua
@@ -13,7 +13,7 @@ vim.o.scrolloff = 4 -- minimal number of screen lines to keep above and below th
vim.o.signcolumn = "yes" -- always show the sign column, otherwise it would shift the text each time
vim.o.clipboard = "unnamedplus" -- use system clipboard
-- vim.o.equalalways = true -- equalize splits
-vim.o.sessionoptions = "blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,globals"
+vim.o.sessionoptions = "blank,curdir,folds,help,tabpages,winsize,winpos,terminal,globals,buffers" -- define what is saved with the session.
-- Split Behavior
vim.o.splitright = true
diff --git a/pkgs/custom-neovim/config/lua/plugins/incline.lua b/pkgs/custom-neovim/config/lua/plugins/incline.lua
new file mode 100644
index 0000000..d9c114d
--- /dev/null
+++ b/pkgs/custom-neovim/config/lua/plugins/incline.lua
@@ -0,0 +1,5 @@
+require("incline").setup {
+ hide = {
+ only_win = true,
+ },
+}
diff --git a/pkgs/custom-neovim/config/lua/plugins/mini/indentscope.lua b/pkgs/custom-neovim/config/lua/plugins/mini/indentscope.lua
index 86dd9f1..2543c40 100644
--- a/pkgs/custom-neovim/config/lua/plugins/mini/indentscope.lua
+++ b/pkgs/custom-neovim/config/lua/plugins/mini/indentscope.lua
@@ -1 +1,6 @@
require("mini.indentscope").setup()
+
+-- Don't work in terminal or help windows.
+local f = function(args) vim.b[args.buf].miniindentscope_disable = true end
+vim.api.nvim_create_autocmd('Filetype', { pattern = 'help', callback = f })
+vim.api.nvim_create_autocmd('TermOpen', {callback = f})
diff --git a/pkgs/custom-neovim/config/lua/plugins/render-markdown.lua b/pkgs/custom-neovim/config/lua/plugins/render-markdown.lua
new file mode 100644
index 0000000..45bdcf2
--- /dev/null
+++ b/pkgs/custom-neovim/config/lua/plugins/render-markdown.lua
@@ -0,0 +1 @@
+require("render-markdown").setup()
diff --git a/pkgs/custom-neovim/default.nix b/pkgs/custom-neovim/default.nix
index a588086..603c66d 100644
--- a/pkgs/custom-neovim/default.nix
+++ b/pkgs/custom-neovim/default.nix
@@ -16,7 +16,6 @@ in
nvim-lspconfig # Adds lsp presets.
actions-preview-nvim # Adds a selector for LSP actions.
nvim-treesitter.withAllGrammars # All treesitter grammars.
- tabby-nvim # Tab bar.
snacks-nvim # Many small modules.
dropbar-nvim # Winbar with breadcrumbs.
auto-session # Automatic session manager.
@@ -28,6 +27,7 @@ in
fidget-nvim # Simple notification UI
focus-nvim # Automatic split resizer and manager.
render-markdown-nvim # Render markdown fancily.
+ incline-nvim # Puts the filename in the winbar.
# Completion
nvim-cmp # Completer.
diff --git a/pkgs/custom-neovim/design.md b/pkgs/custom-neovim/design.md
index 9e9f86f..d186a8f 100644
--- a/pkgs/custom-neovim/design.md
+++ b/pkgs/custom-neovim/design.md
@@ -10,16 +10,15 @@
## Todo
-- find dropbar load autocommand and modify to work on winenter to prevent no dropbar when splitting
+- Switch from dropbar to incline
- make lazyvim launch with default shell bash
-- make completion not work in pickers (namu, snacks)
-- make mini scope not work in terminal or help windows
- make mini tabline compatible with more colorschemes
-- make custom carbon colorscheme
- add quick window switch plugin
- switch to maple mono font
+- add force buffer delete key
## Todo if possible
- make splits automatically equalize when window resized
- prevent dropbar filename from truncating
- make mini.git run commands from cwd instead of git root
+- make custom carbon colorscheme