Skip to content

Commit

Permalink
✨ (picker): snacks
Browse files Browse the repository at this point in the history
  • Loading branch information
elythh committed Jan 24, 2025
1 parent 9e20d1c commit 4d516ca
Show file tree
Hide file tree
Showing 2 changed files with 255 additions and 0 deletions.
1 change: 1 addition & 0 deletions config/plug/snacks/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
./git.nix
./lazygit.nix
./notifier.nix
./picker.nix
./rename.nix
];
}
254 changes: 254 additions & 0 deletions config/plug/snacks/picker.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,254 @@
{
config,
lib,
pkgs,
...
}:
{
extraPackages = with pkgs; [ fd ];

plugins.snacks = {
settings = {
picker = {
__raw = ''{}'';
actions.__raw = ''require("trouble.sources.snacks").actions'';
win = {
input = {
keys = {
"ctrl-t".__raw = ''
"trouble_open",
mode = { "n", "i" },
'';
};
};
};
};
};
};

keymaps =
lib.mkIf (config.plugins.snacks.enable && lib.hasAttr "picker" config.plugins.snacks.settings)
(
[
{
mode = "n";
key = "<leader>fa";
action = ''<cmd>lua Snacks.picker.autocmds()<cr>'';
options = {
desc = "Find autocmds";
};
}
{
mode = "n";
key = "<leader>fd";
action = ''<cmd>lua Snacks.picker.diagnostics_buffer()<cr>'';
options = {
desc = "Find buffer diagnostics";
};
}
{
mode = "n";
key = "<leader>fD";
action = ''<cmd>lua Snacks.picker.diagnostics()<cr>'';
options = {
desc = "Find workspace diagnostics";
};
}
{
mode = "n";
key = "<leader>fh";
action = ''<cmd>lua Snacks.picker.help()<cr>'';
options = {
desc = "Find help tags";
};
}
# NOTE: prefer the UI but is lot slower
{
mode = "n";
key = "<leader>fk";
action = ''<cmd>lua Snacks.picker.keymaps()<cr>'';
options = {
desc = "Find keymaps";
};
}
{
mode = "n";
key = "<leader>fp";
action = ''<cmd>lua Snacks.picker.projects()<cr>'';
options = {
desc = "Find projects";
};
}
{
mode = "n";
key = "<leader>fr";
action = ''<cmd>lua Snacks.picker.registers()<cr>'';
options = {
desc = "Find registers";
};
}
{
mode = "n";
key = "<leader>fs";
action = ''<cmd>lua Snacks.picker.lsp_symbols()<cr>'';
options = {
desc = "Find lsp document symbols";
};
}
{
mode = "n";
key = "<leader>fT";
action = ''<cmd>lua Snacks.picker.colorschemes()<cr>'';
options = {
desc = "Find theme";
};
}
{
mode = "n";
key = "<leader>fw";
action = "<cmd>lua Snacks.picker.grep()<cr>";
options = {
desc = "Live grep";
};
}
{
mode = "n";
key = "<leader>f?";
action = ''<cmd>lua Snacks.picker.grep_buffers()<cr>'';
options = {
desc = "Fuzzy find in open buffers";
};
}
]
++ lib.optionals (!config.plugins.fzf-lua.enable) [
{
mode = "n";
key = "<leader>f'";
action = ''<cmd>lua Snacks.picker.marks()<cr>'';
options = {
desc = "Find marks";
};
}
{
mode = "n";
key = "<leader>f/";
action = ''<cmd>lua Snacks.picker.lines()<cr>'';
options = {
desc = "Fuzzy find in current buffer";
};
}
{
mode = "n";
key = "<leader>f<CR>";
action = ''<cmd>lua Snacks.picker.resume()<cr>'';
options = {
desc = "Resume find";
};
}
{
mode = "n";
key = "<leader>fb";
action = ''<cmd>lua Snacks.picker.buffers()<cr>'';
options = {
desc = "Find buffers";
};
}
{
mode = "n";
key = "<leader>ff";
action = ''<cmd>lua Snacks.picker.files()<cr>'';
options = {
desc = "Find files";
};
}
{
mode = "n";
key = "<leader>fm";
action = ''<cmd>lua Snacks.picker.man()<cr>'';
options = {
desc = "Find man pages";
};
}
{
mode = "n";
key = "<leader>fo";
action = ''<cmd>lua Snacks.picker.recent()<cr>'';
options = {
desc = "Find old files";
};
}
{
mode = "n";
key = "<leader>fq";
action = ''<cmd>lua Snacks.picker.qflist()<cr>'';
options = {
desc = "Find quickfix";
};
}
{
mode = "n";
key = "<leader>ld";
action = ''<cmd>lua Snacks.picker.lsp_definitions()<cr>'';
options = {
desc = "Goto Definition";
};
}
{
mode = "n";
key = "<leader>li";
action = ''<cmd>lua Snacks.picker.lsp_implementation()<cr>'';
options = {
desc = "Goto Implementation";
};
}
{
mode = "n";
key = "<leader>lD";
action = ''<cmd>lua Snacks.picker.lsp_references()<cr>'';
options = {
desc = "Find references";
};
}
{
mode = "n";
key = "<leader>lt";
action = ''<cmd>lua Snacks.picker.lsp_type_definitions()<cr>'';
options = {
desc = "Goto Type Definition";
};
}
{
mode = "n";
key = "<leader>fS";
action = ''<cmd>lua Snacks.picker.spell_suggest()<cr>'';
options = {
desc = "Find spelling suggestions";
};
}
{
mode = "n";
key = "<leader>gB";
action = ''<cmd>lua Snacks.picker.git_branches()<cr>'';
options = {
desc = "Find git branches";
};
}
{
mode = "n";
key = "<leader>gs";
action = ''<cmd>lua Snacks.picker.git_status()<cr>'';
options = {
desc = "Find git status";
};
}
{
mode = "n";
key = "<leader>gS";
action = ''<cmd>lua Snacks.picker.git_stash()<cr>'';
options = {
desc = "Find git stashes";
};
}
]
);
}

0 comments on commit 4d516ca

Please sign in to comment.