From 5953ed40680cd37a3785be538d65829f0f2e6ab9 Mon Sep 17 00:00:00 2001 From: moons-14 Date: Wed, 11 Mar 2026 20:27:58 +0900 Subject: [PATCH] nixvim: add flash, todo-comments, nvim-spectre plugins Co-Authored-By: Claude Sonnet 4.6 --- modules/home/nixvim/keymaps.nix | 15 +++++++++++++++ modules/home/nixvim/plugins/editor/default.nix | 3 +++ modules/home/nixvim/plugins/editor/flash.nix | 8 ++++++++ modules/home/nixvim/plugins/editor/snacks.nix | 8 +++++++- modules/home/nixvim/plugins/editor/spectre.nix | 9 +++++++++ .../home/nixvim/plugins/editor/todo-comments.nix | 8 ++++++++ 6 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 modules/home/nixvim/plugins/editor/flash.nix create mode 100644 modules/home/nixvim/plugins/editor/spectre.nix create mode 100644 modules/home/nixvim/plugins/editor/todo-comments.nix diff --git a/modules/home/nixvim/keymaps.nix b/modules/home/nixvim/keymaps.nix index 9605c67..b27ed57 100644 --- a/modules/home/nixvim/keymaps.nix +++ b/modules/home/nixvim/keymaps.nix @@ -72,6 +72,21 @@ in { # Dropbar (mkRaw "dp" "function() require('dropbar.api').pick() end" "dropbarでナビゲート") + # Snacks + (mkRaw "sd" "function() Snacks.dim.toggle() end" "Dimモードをトグル") + + # Flash + (mkRaw "s" "function() require('flash').jump() end" "Flashジャンプ") + (mkRaw "S" "function() require('flash').treesitter() end" "Flashツリーシッタ選択") + + # Todo Comments + (mk "]t" "TodoNext" "次のTODO") + (mk "[t" "TodoPrev" "前のTODO") + (mkRaw "ft" "function() Snacks.picker.todo_comments() end" "TODO一覧") + + # Spectre + (mkRaw "sr" "function() require('spectre').toggle() end" "検索・置換") + # Snacks Picker (mkRaw "ff" "function() Snacks.picker.files() end" "ファイルを探す") (mkRaw "fg" "function() Snacks.picker.grep() end" "文字列を全文検索") diff --git a/modules/home/nixvim/plugins/editor/default.nix b/modules/home/nixvim/plugins/editor/default.nix index 25179db..f318854 100644 --- a/modules/home/nixvim/plugins/editor/default.nix +++ b/modules/home/nixvim/plugins/editor/default.nix @@ -13,5 +13,8 @@ ./surround.nix ./git.nix ./glance.nix + ./flash.nix + ./todo-comments.nix + ./spectre.nix ]; } diff --git a/modules/home/nixvim/plugins/editor/flash.nix b/modules/home/nixvim/plugins/editor/flash.nix new file mode 100644 index 0000000..3396c61 --- /dev/null +++ b/modules/home/nixvim/plugins/editor/flash.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: { + programs.nixvim = { + extraPlugins = [ pkgs.vimPlugins.flash-nvim ]; + extraConfigLua = '' + require("flash").setup() + ''; + }; +} diff --git a/modules/home/nixvim/plugins/editor/snacks.nix b/modules/home/nixvim/plugins/editor/snacks.nix index 99b3b2d..a218d44 100644 --- a/modules/home/nixvim/plugins/editor/snacks.nix +++ b/modules/home/nixvim/plugins/editor/snacks.nix @@ -2,7 +2,13 @@ programs.nixvim = { extraPlugins = [ pkgs.vimPlugins.snacks-nvim ]; extraConfigLua = '' - require("snacks").setup({ picker = { enabled = true } }) + require("snacks").setup({ + picker = { enabled = true }, + notifier = { enabled = true }, + words = { enabled = true }, + scroll = { enabled = true }, + dim = { enabled = true }, + }) ''; }; } diff --git a/modules/home/nixvim/plugins/editor/spectre.nix b/modules/home/nixvim/plugins/editor/spectre.nix new file mode 100644 index 0000000..98a1403 --- /dev/null +++ b/modules/home/nixvim/plugins/editor/spectre.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: { + programs.nixvim = { + extraPackages = [ pkgs.ripgrep ]; + extraPlugins = [ pkgs.vimPlugins.nvim-spectre ]; + extraConfigLua = '' + require("spectre").setup() + ''; + }; +} diff --git a/modules/home/nixvim/plugins/editor/todo-comments.nix b/modules/home/nixvim/plugins/editor/todo-comments.nix new file mode 100644 index 0000000..495eb25 --- /dev/null +++ b/modules/home/nixvim/plugins/editor/todo-comments.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: { + programs.nixvim = { + extraPlugins = [ pkgs.vimPlugins.todo-comments-nvim ]; + extraConfigLua = '' + require("todo-comments").setup() + ''; + }; +}