1

Compare commits

...

9 Commits

2 changed files with 231 additions and 513 deletions

View File

@ -80,8 +80,8 @@ in {
};
programs.nixvim = {
enable = true;
defaultEditor = true;
enable = true;
enableMan = false; # Nixvim man pages
luaLoader.enable = true; # NOTE: Experimental
viAlias = neovim.alias;
@ -228,25 +228,6 @@ in {
end
'';
}
# This breaks if the preview buffer does not refer to a file, e.g. when showing previous notifications
# {
# desc = "Enable line wrapping in telescope preview";
# event = ["User"];
# pattern = ["TelescopePreviewerLoaded"];
# callback.__raw = ''
# -- The callback arg is of this format:
# -- {
# -- title: string, # preview window title
# -- filetype: string,
# -- bufname: string,
# -- }
# function(args)
# vim.wo.wrap = true
# end
# '';
# }
];
keymaps = import ./mappings.nix {inherit lib mylib;};
@ -272,13 +253,6 @@ in {
};
};
bbye = {
name = "vim-bbye";
pkg = pkgs.vimPlugins.vim-bbye;
lazy = true;
cmd = ["Bdelete" "Bwipeout"];
};
better-escape = rec {
name = "better_escape";
pkg = pkgs.vimPlugins.better-escape-nvim;
@ -363,13 +337,6 @@ in {
};
};
cellular-automaton = {
name = "cellular-automaton";
pkg = pkgs.vimPlugins.cellular-automaton-nvim;
lazy = true;
cmd = ["CellularAutomaton"];
};
# NOTE: In LazyVim require("clang_extensions").setup(opts) is called where opts is the server definition from lspconfig...
clangd-extensions = rec {
name = "clangd_extensions";
@ -555,117 +522,12 @@ in {
};
};
# TODO: Don't autosave, but if a session exists, update it (using should_autosave)
_persisted = {
name = "persisted";
pkg = pkgs.vimPlugins.persisted-nvim;
dependencies = [telescope];
lazy = true;
cmd = ["SessionSave" "SessionDelete" "Telescope persisted"];
config = ''
function(_, opts)
require("persisted").setup(opts)
require("telescope").load_extension("persisted")
end
'';
opts = {
silent = false;
use_git_branch = false;
autosave = false;
autoload = false;
follow_cwd = true;
ignored_dirs = [
"/"
"~/"
"~/Projects/"
];
};
};
direnv = {
name = "direnv";
pkg = pkgs.vimPlugins.direnv-vim;
lazy = false;
};
dashboard = rec {
name = "dashboard";
pkg = pkgs.vimPlugins.dashboard-nvim;
dependencies = [
web-devicons
_persisted
];
lazy = false;
config = mkDefaultConfig name;
opts = {
theme = "doom";
disable_move = true;
shortcut_type = "number";
config = {
center = [
{
action = "Telescope persisted";
desc = " Restore Session";
icon = " ";
key = "s";
}
{
action = "Telescope find_files";
desc = " Find File";
icon = " ";
key = "f";
}
{
action = "Telescope oldfiles";
desc = " Recent Files";
icon = " ";
key = "r";
}
{
action = "ObsidianSearch";
desc = " Obsidian Note";
icon = " ";
key = "o";
}
{
action = "ene | startinsert";
desc = " New File";
icon = " ";
key = "n";
}
{
action = "Telescope live_grep";
desc = " Find Text";
icon = " ";
key = "g";
}
{
action = "Lazy";
desc = " Lazy";
icon = "󰒲 ";
key = "l";
}
{
action = "quitall";
desc = " Quit";
icon = " ";
key = "q";
}
];
footer.__raw = ''
function()
local stats = require("lazy").stats()
local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100)
return { " Neovim loaded " .. stats.loaded .. "/" .. stats.count .. " plugins in " .. ms .. "ms" }
end,
'';
};
};
};
diffview = {
name = "diffview";
pkg = pkgs.vimPlugins.diffview-nvim;
@ -681,27 +543,6 @@ in {
config = mkDefaultConfig name;
};
gitmessenger = {
name = "gitmessenger";
pkg = pkgs.vimPlugins.git-messenger-vim;
lazy = true;
cmd = ["GitMessenger"];
init = let
mappings = mylib.generators.toLuaObject {
git_messenger_no_default_mappings = true;
git_messenger_floating_win_opts = {
border = "rounded";
};
};
in ''
function()
for k, v in pairs(${mappings}) do
vim.g[k] = v
end
end
'';
};
gitsigns = rec {
name = "gitsigns";
pkg = pkgs.vimPlugins.gitsigns-nvim;
@ -739,7 +580,6 @@ in {
filetypesDenylist = [
"DressingSelect"
"Outline"
"TelescopePrompt"
"alpha"
"harpoon"
"toggleterm"
@ -819,34 +659,6 @@ in {
config = mkDefaultConfig name;
};
lazygit = {
name = "lazygit";
pkg = pkgs.vimPlugins.lazygit-nvim;
dependencies = [_plenary];
lazy = true;
cmd = ["LazyGit" "LazyGitConfig" "LazyGitCurrentFile" "LazyGitFilter" "LazyGitFilterCurrentFile"];
};
# leetcode = rec {
# name = "leetcode";
# pkg = pkgs.vimUtils.buildVimPlugin {
# name = "leetcode";
# src = pkgs.fetchFromGitHub {
# owner = "kawre";
# repo = "leetcode.nvim";
# rev = "02fb2c855658ad6b60e43671f6b040c812181a1d";
# sha256 = "sha256-YoFRd9Uf+Yv4YM6/l7MVLMjfRqhroSS3RCmZvNowIAo=";
# };
# };
# lazy = true;
# cmd = ["Leet"];
# dependencies = [_notify _nui _plenary telescope treesitter web-devicons];
# config = mkDefaultConfig name;
# opts = {
# lang = "python";
# };
# };
lint = {
name = "lint";
pkg = pkgs.vimPlugins.nvim-lint;
@ -1144,7 +956,7 @@ in {
}
'';
in {
extensions = ["fzf" "lazy" "neo-tree" "oil" "quickfix" "toggleterm" "trouble"];
extensions = ["fzf" "lazy" "quickfix" "toggleterm" "trouble"];
options = {
# theme = "catppuccin";
@ -1270,77 +1082,6 @@ in {
};
};
neo-tree = rec {
name = "neo-tree";
pkg = pkgs.vimPlugins.neo-tree-nvim;
dependencies = [
_plenary
web-devicons
_nui
];
lazy = true;
cmd = ["Neotree"];
config = mkDefaultConfig name;
opts = {
use_default_mappings = false;
popup_border_style = "rounded";
enable_git_status = true;
enable_diagnostics = false;
open_files_do_not_replace_types = ["terminal" "trouble" "qf"];
default_component_configs = {
container = {
enable_character_fade = true;
};
};
filesystem = {
bind_to_cwd = true;
cwd_target.sidebar = "global";
filtered_items = {
visible = false; # Toggle with "H"
};
follow_current_file = {
enabled = true;
leave_dirs_open = false;
};
};
buffers = {
follow_current_file = {
enabled = true;
leave_dirs_open = false;
};
};
window = {
position = "left";
mappings = {
"<CR>" = "open";
"c" = "close_node";
"R" = "refresh";
"q" = "close_window";
"i" = "show_file_details";
"r" = "rename";
"d" = "delete";
"x" = "cut_to_clipboard";
"y" = "copy_to_clipboard";
"p" = "paste_from_clipboard";
"a" = "add";
"." = "set_root";
">" = "navigate_up";
"H" = "toggle_hidden";
"<Esc>" = "cancel";
"/" = "fuzzy_finder";
"?" = "show_help";
};
};
};
};
neogen = rec {
name = "neogen";
pkg = pkgs.vimPlugins.neogen;
@ -1352,25 +1093,6 @@ in {
};
};
_notify = {
name = "notify";
pkg = pkgs.vimPlugins.nvim-notify;
lazy = true;
config = ''
function(_, opts)
local notify = require("notify")
notify.setup(opts)
vim.notify = notify -- Make vim use notify by default
end
'';
opts = {
render = "default";
max_width = 45; # In columns
top_down = false;
};
};
_nui = {
name = "nui"; # For noice
pkg = pkgs.vimPlugins.nui-nvim;
@ -1382,7 +1104,6 @@ in {
pkg = pkgs.vimPlugins.noice-nvim;
lazy = false;
dependencies = [
_notify
_nui
];
config = mkDefaultConfig name;
@ -1467,13 +1188,25 @@ in {
};
};
oil = rec {
name = "oil";
pkg = pkgs.vimPlugins.oil-nvim;
# TODO: Don't autosave, but if a session exists, update it (using should_save)
# TODO: No idea which opts below really exist...
persisted = rec {
name = "persisted";
pkg = pkgs.vimPlugins.persisted-nvim;
lazy = false;
config = mkDefaultConfig name;
opts = {
default_file_explorer = true;
silent = false;
use_git_branch = false;
autostart = false;
autosave = false;
autoload = false;
follow_cwd = true;
ignored_dirs = [
"/"
"~/"
"~/Projects/"
];
};
};
@ -1565,6 +1298,117 @@ in {
lazy = false;
};
snacks = rec {
name = "snacks";
pkg = pkgs.vimPlugins.snacks-nvim;
dependencies = [
web-devicons
];
lazy = false;
priority = 1000;
config = mkDefaultConfig name;
opts = {
# Disables slow stuff in big files
bigfile = {
enabled = true;
notify = true;
size = 1.5 * 1024 * 1024; # 1.5MB
line_length = 1000;
};
dashboard = {
enabled = true;
preset = {
keys = [
{
icon = " ";
key = "f";
desc = "Find File";
action = "<cmd>lua Snacks.dashboard.pick('files')<cr>";
}
{
icon = " ";
key = "n";
desc = "New File";
action = "<cmd>ene | startinsert<cr>";
}
{
icon = " ";
key = "g";
desc = "Find Text";
action = "<cmd>lua Snacks.dashboard.pick('live_grep')<cr>";
}
{
icon = " ";
key = "r";
desc = "Recent Files";
action = "<cmd>lua Snacks.dashboard.pick('oldfiles')<cr>";
}
{
icon = " ";
key = "s";
desc = "Restore Session";
action = "<cmd>lua require('persisted').select()<cr>";
}
{
icon = "󰒲 ";
key = "L";
desc = "Lazy";
action = "<cmd>Lazy<cr>";
}
{
icon = " ";
key = "q";
desc = "Quit";
action = "<cmd>quitall<cr>";
}
];
sections = [
{section = "header";}
{
section = "keys";
gap = 1;
padding = 1;
}
{section = "startup";}
];
};
};
explorer = {
enabled = true;
replace_netrw = true;
};
notifier = {
enabled = true;
};
picker = let
defaultLayout = ''
--- Use the default layout or vertical if the window is too narrow
function()
return vim.o.columns >= 120 and "default" or "vertical"
end
'';
in {
enabled = true;
layout = {
cycle = true;
preset.__raw = defaultLayout;
};
sources = {
lines = {
layout.__raw = defaultLayout;
};
};
};
};
};
tabby = rec {
name = "tabby";
pkg = pkgs.vimPlugins.tabby-nvim;
@ -1617,98 +1461,11 @@ in {
};
_plenary = {
name = "plenary"; # For telescope
name = "plenary";
pkg = pkgs.vimPlugins.plenary-nvim;
lazy = true;
};
_telescope-fzf-native = {
name = "telescope-fzf-native";
pkg = pkgs.vimPlugins.telescope-fzf-native-nvim;
lazy = true;
};
# TODO: Build broken
# _telescope-tabs = {
# name = "telescope-tabs";
# pkg = pkgs.vimUtils.buildVimPlugin {
# name = "telescope-tabs";
# src = pkgs.fetchFromGitHub {
# owner = "LukasPietzschmann";
# repo = "telescope-tabs";
# rev = "0a678eefcb71ebe5cb0876aa71dd2e2583d27fd3";
# sha256 = "sha256-IvxZVHPtApnzUXIQzklT2C2kAxgtAkBUq3GNxwgPdPY=";
# };
# };
# lazy = true;
# };
_telescope-undo = {
name = "telescope-undo";
pkg = pkgs.vimPlugins.telescope-undo-nvim;
lazy = true;
};
_telescope-ui-select = {
name = "telescope-ui-select";
pkg = pkgs.vimPlugins.telescope-ui-select-nvim;
lazy = true;
};
telescope = {
name = "telescope";
pkg = pkgs.vimPlugins.telescope-nvim;
lazy = true;
cmd = ["Telescope"];
dependencies = [
_plenary
_telescope-fzf-native
# _telescope-tabs
_telescope-undo
_telescope-ui-select
];
config = let
extensions = mylib.generators.toLuaObject [
"undo"
"ui-select"
"fzf"
# "telescope-tabs"
];
in ''
function(_, opts)
local telescope = require("telescope")
telescope.setup(opts)
for i, extension in ipairs(${extensions}) do
telescope.load_extension(extension)
end
end
'';
opts = {
defaults = {
wrap_results = false; # Do wrapping in the preview instead, see autoCmd
preview = {
treesitter = true;
};
mappings = {
i = {
# TODO: This mappings throws an error.
# Doesn't matter if defined as function or like "<C-h"> = "which_key";.
"<C-h>" = {__raw = ''function(...) return require("telescope.actions").which_key(...) end'';};
"<Esc>" = {__raw = ''function(...) return require("telescope.actions").close(...) end'';};
};
};
};
pickers = {
buffers = {
# See :h telescope.builtin.buffers() for opts
ignore_current_buffer = true;
sort_mru = true;
};
};
};
};
todo-comments = rec {
name = "todo-comments";
pkg = pkgs.vimPlugins.todo-comments-nvim;
@ -1808,25 +1565,6 @@ in {
height = 45;
winblend = 0;
};
# Hack to make toggleterm respect neotree:
# Open + close neotree once toggleterm is opened.
# Toggleterm will "glitch" when opening, also neotree will scroll downwards.
# on_open.__raw = ''
# function(...)
# local name = vim.fn.bufname("neo-tree")
# local winnr = vim.fn.bufwinnr(name)
#
# if winnr ~= -1 then
# vim.defer_fn(function()
# local cmd = string.format("Neotree toggle")
# vim.cmd(cmd)
# vim.cmd(cmd)
# vim.cmd("wincmd p")
# end, 100)
# end
# end
# '';
};
};
@ -2086,10 +1824,8 @@ in {
in [
autopairs # Automatic closing brackets/parens # NOTE: For now replaced by blink
bbye # Delete buffer without closing the window or split
better-escape # Escape to normal mode using "jk"
catppuccin # Colortheme (also add this here to access palettes)
cellular-automaton # Procrastinate better by watching animations
clangd-extensions # Improved clang LSP support
blink-cmp # Fast as fuck auto completion
@ -2101,15 +1837,12 @@ in {
# dadbod # Database interface # TODO:
# dadbod-ui # Dadbod UI # TODO:
dashboard # Dashboard when starting nvim
# dap # Debug adapter protocol # TODO:
# dap-ui # Debugger UI # TODO:
diffview # Git diff # TODO: Check the keybindings
direnv # Automatically load local environments
flash # Highlight f/F search results
gitmessenger # Show last git commit for the current line
gitsigns # Show git line additions/deletions/changes in the gutter
haskell-tools # Haskell integration
illuminate # Highlight usages of word under cursor
@ -2118,8 +1851,6 @@ in {
jdtls # Eclipse JDT language server integration for Java
lastplace # Reopen a file at the last editing position
lazygit # Git frontend
# leetcode # Solve leetcode problems
lint # Lint documents on save
lspconfig # Language server configurations for different languages
lualine # Status line
@ -2129,14 +1860,13 @@ in {
markview # Markdown support # TODO: Disable in help buffers (?) + confiure a bit more
navbuddy # Structural file view
neo-tree # File tree sidebar
neogen # Generate doc comments
noice # Modern UI overhaul, e.g. floating cmdline
obsidian # Integration with Obsidian.md
oil # File manager
# overseer # Run tasks from within neovim (e.g. cargo) # TODO:
persisted # Session management
presence # Discord rich presence
quickfix-reflector # Make the quickfix list editable and saveable to apply changes
rainbow-delimiters # Bracket/Paren colorization
@ -2145,8 +1875,8 @@ in {
sleuth # Heuristically set indent depth # TODO: See intellitab
snacks # Lots of QoL
tabby # Nicer tabline (only showing tabpages)
telescope # Option picker frontend
todo-comments # Highlight TODOs
toggleterm # Integrated terminal
treesitter # AST based syntax highlighting + indentation

View File

@ -1,4 +1,4 @@
{...}: let
_: let
# TODO: Doesn't work reliably. I think they are rebound by plugins after? Try setting in extraConfigLuaPost...
disabled-mappings = let
mkDisabledMapping = mapping: {
@ -268,14 +268,8 @@
{
mode = "n";
key = "/";
action = "<cmd>Telescope current_buffer_fuzzy_find<cr>";
options.desc = "Grep Buffer";
}
{
mode = "v";
key = "?";
action = "<cmd>Telescope grep_string<cr>";
options.desc = "Find Selection";
action = "<cmd>lua Snacks.picker.lines()<cr>";
options.desc = "Find in Buffer";
}
{
mode = "n";
@ -300,56 +294,62 @@
}
{
mode = "n";
key = "<leader>n";
action = "<cmd>Neotree action=show toggle=true<cr><C-w>=";
options.desc = "Toggle NeoTree";
key = "<leader>e";
action = "<cmd>lua Snacks.explorer.open({ enter = false, on_show = function() vim.cmd('wincmd =') end })<cr>";
options.desc = "Toggle Explorer";
}
{
mode = "n";
key = "<leader>o";
action = "<cmd>Oil<cr>";
options.desc = "Toggle Oil";
key = "<leader>n";
action = "<cmd>Navbuddy<cr>";
options.desc = "Toggle NavBuddy";
}
{
mode = "n";
key = "<leader>p";
action = "<cmd>lua Snacks.picker.pickers()<cr>";
options.desc = "Show Pickers";
}
{
mode = "n";
key = "<leader>N";
action = "<cmd>Telescope notify<cr>";
options.desc = "Telescope Notify";
action = "<cmd>lua Snacks.picker.notifications()<cr>";
options.desc = "Notifications Picker";
}
{
mode = "n";
key = "<leader>r";
action = "<cmd>Telescope resume<cr>";
options.desc = "Last Telescope";
action = "<cmd>lua Snacks.picker.resume()<cr>";
options.desc = "Last Picker";
}
{
mode = "n";
key = "<leader>;";
action = "<cmd>lua Snacks.picker.command_history()<cr>";
options.desc = "Command History";
}
# {
# mode = "n";
# key = "<leader>;";
# action = "<cmd>Telescope command_history<cr>";
# options.desc = "Last Commands";
# }
{
mode = "n";
key = "<leader>:";
action = "<cmd>Telescope commands<cr>";
options.desc = "Telescope Command";
}
{
mode = "n";
key = "<leader>M";
action = "<cmd>Telescope marks<cr>";
options.desc = "Telescope Marks";
action = "<cmd>lua Snacks.picker.commands()<cr>";
options.desc = "Commands Picker";
}
# {
# mode = "n";
# key = "<leader>M";
# action = "<cmd>lua Snacks.picker.marks()<cr>";
# options.desc = "Marks Picker";
# }
# {
# mode = "n";
# key = "<leader>J";
# action = "<cmd>Telescope jumplist<cr>";
# options.desc = "Telescope Jumps";
# action = "<cmd>lua Snacks.picker.jumps()<cr>";
# options.desc = "Jumps Picker";
# }
{
mode = "n";
key = "<leader>d";
action = "<cmd>TodoTelescope<cr>";
action = "<cmd>lua Snacks.picker.todo_comments()<cr>";
options.desc = "List TODOs";
}
{
@ -361,13 +361,13 @@
{
mode = "n";
key = "<leader>/";
action = "<cmd>Telescope live_grep<cr>";
action = "<cmd>lua Snacks.picker.grep()<cr>";
options.desc = "Find in Project";
}
{
mode = "n";
key = "<leader>Q";
action = "<cmd>Telescope quickfixhistory<cr>";
action = "<cmd>lua Snacks.picker.qflist()<cr>";
options.desc = "Quickfix History";
}
# {
@ -393,13 +393,13 @@
{
mode = "n";
key = "<leader>ff";
action = "<cmd>Telescope find_files<cr>";
action = "<cmd>lua Snacks.picker.files()<cr>";
options.desc = "Find File";
}
{
mode = "n";
key = "<leader>fl";
action = "<cmd>Telescope oldfiles<cr>";
action = "<cmd>lua Snacks.picker.recent()<cr>";
options.desc = "Last Files";
}
{
@ -417,8 +417,8 @@
{
mode = "n";
key = "<leader>fu";
action = "<cmd>Telescope undo<cr>";
options.desc = "Telescope Undo";
action = "<cmd>lua Snacks.picker.und()<cr>";
options.desc = "Undo Picker";
}
{
mode = "n";
@ -445,29 +445,29 @@
key = "<leader>h";
action = "+help";
}
{
mode = "n";
key = "<leader>hv";
action = "<cmd>Telescope vim_options<cr>";
options.desc = "Telescope Vimopts";
}
# {
# mode = "n";
# key = "<leader>hv";
# action = "<cmd>Telescope vim_options<cr>";
# options.desc = "Telescope Vimopts";
# }
{
mode = "n";
key = "<leader>hk";
action = "<cmd>Telescope keymaps<cr>";
options.desc = "Telescope Keys";
action = "<cmd>lua Snacks.picker.keymaps()<cr>";
options.desc = "Keymaps Picker";
}
{
mode = "n";
key = "<leader>hm";
action = "<cmd>Telescope man_pages<cr>";
options.desc = "Telescope Manpages";
action = "<cmd>lua Snacks.picker.man()<cr>";
options.desc = "Manpages Picker";
}
{
mode = "n";
key = "<leader>hh";
action = "<cmd>Telescope help_tags<cr>";
options.desc = "Telescope Helptags";
action = "<cmd>lua Snacks.picker.help()<cr>";
options.desc = "Helptags Picker";
}
];
@ -500,7 +500,7 @@
{
mode = "n";
key = "<leader>sl";
action = "<cmd>Telescope persisted<cr>";
action = "<cmd>lua require('persisted').select()<cr>";
options.desc = "Restore Session";
}
{
@ -526,14 +526,14 @@
{
mode = "n";
key = "<leader>bb";
action = "<cmd>Telescope buffers<cr>";
options.desc = "List Buffers";
action = "<cmd>lua Snacks.picker.buffers()<cr>";
options.desc = "Buffers Picker";
}
{
mode = "n";
key = "<leader><Space>";
action = "<cmd>Telescope buffers<cr>";
options.desc = "List Buffers";
action = "<cmd>lua Snacks.picker.buffers()<cr>";
options.desc = "Buffers Picker";
}
{
mode = "n";
@ -556,15 +556,9 @@
{
mode = "n";
key = "<leader>bd";
action = "<cmd>Bdelete<cr>";
action = "<cmd>lua Snacks.bufdelete()<cr>";
options.desc = "Close Buffer";
}
{
mode = "n";
key = "<leader>bD";
action = "<cmd>Bdelete!<cr>";
options.desc = "Force Close Buffer";
}
];
leader-tabs = [
@ -573,18 +567,18 @@
key = "<leader>t";
action = "+tab";
}
{
mode = "n";
key = "<leader>tt";
action = "<cmd>Telescope telescope-tabs list_tabs<cr>";
options.desc = "List Tabpages";
}
{
mode = "n";
key = "<leader><C-Space>";
action = "<cmd>Telescope telescope-tabs list_tabs<cr>";
options.desc = "List Tabpages";
}
# {
# mode = "n";
# key = "<leader>tt";
# action = "<cmd>Telescope telescope-tabs list_tabs<cr>";
# options.desc = "List Tabpages";
# }
# {
# mode = "n";
# key = "<leader><C-Space>";
# action = "<cmd>Telescope telescope-tabs list_tabs<cr>";
# options.desc = "List Tabpages";
# }
{
mode = "n";
key = "<leader>tn";
@ -690,38 +684,38 @@
{
mode = "n";
key = "<leader>gg";
action = "<cmd>LazyGit<cr>";
action = "<cmd>lua Snacks.lazygit.open()<cr>";
options.desc = "LazyGit";
}
{
mode = "n";
key = "<leader>gm";
action = "<cmd>GitMessenger<cr>";
options.desc = "GitMessenger";
action = "<cmd>lua Snacks.git.blame_line()<cr>";
options.desc = "Git Blame";
}
{
mode = "n";
key = "<leader>gs";
action = "<cmd>Telescope git_status<cr>";
action = "<cmd>lua Snacks.picker.git_status()<cr>";
options.desc = "Git Status";
}
{
mode = "n";
key = "<leader>gl";
action = "<cmd>Telescope git_commits<cr>";
action = "<cmd>lua Snacks.picker.git_log()<cr>";
options.desc = "Git Log";
}
{
mode = "n";
key = "<leader>gb";
action = "<cmd>Telescope git_branches<cr>";
action = "<cmd>lua Snacks.picker.git_branches()<cr>";
options.desc = "Git Branches";
}
{
mode = "n";
key = "<leader>gf";
action = "<cmd>Telescope git_bcommits<cr>";
action = "<cmd>lua Snacks.picker.git_log_file()<cr>";
options.desc = "Git File History";
}
{
@ -754,7 +748,7 @@
{
mode = "n";
key = "<leader>cD";
action = "<cmd>Telescope diagnostics<cr>";
action = "<cmd>lua Snacks.picker.diagnostics()<cr>";
options.desc = "List Diagnostics";
}
@ -770,18 +764,18 @@
action = "<cmd>lua vim.lsp.buf.code_action()<cr>";
options.desc = "Code Actions";
}
{
mode = "n";
key = "<leader>cI";
action = "<cmd>Telescope lsp_incoming_calls<cr>";
options.desc = "LSP Incoming Calls";
}
{
mode = "n";
key = "<leader>cO";
action = "<cmd>Telescope lsp_outgoing_calls<cr>";
options.desc = "LSP Outgoing Calls";
}
# {
# mode = "n";
# key = "<leader>cI";
# action = "<cmd>Telescope lsp_incoming_calls<cr>";
# options.desc = "LSP Incoming Calls";
# }
# {
# mode = "n";
# key = "<leader>cO";
# action = "<cmd>Telescope lsp_outgoing_calls<cr>";
# options.desc = "LSP Outgoing Calls";
# }
{
mode = "n";
key = "<leader>cC";
@ -795,12 +789,6 @@
key = "<leader>ct";
action = "+toggle";
}
{
mode = "n";
key = "<leader>ctn";
action = "<cmd>Navbuddy<cr>";
options.desc = "NavBuddy";
}
{
mode = "n";
key = "<leader>ctd";
@ -847,26 +835,26 @@
{
mode = "n";
key = "<leader>cgr";
action = "<cmd>Telescope lsp_references<cr>";
action = "<cmd>lua Snacks.picker.lsp_references()<cr>";
options.desc = "LSP References";
}
{
mode = "n";
key = "<leader>cgd";
action = "<cmd>Telescope lsp_definitions<cr>";
options.desc = "LSP Definition";
action = "<cmd>lua Snacks.picker.lsp_definitions()<cr>";
options.desc = "LSP Definitions";
}
{
mode = "n";
key = "<leader>cgi";
action = "<cmd>Telescope lsp_implementations<cr>";
options.desc = "LSP Implementation";
action = "<cmd>lua Snacks.picker.lsp_implementations()<cr>";
options.desc = "LSP Implementations";
}
{
mode = "n";
key = "<leader>cgt";
action = "<cmd>Telescope lsp_type_definitions<cr>";
options.desc = "LSP Type Definition";
action = "<cmd>lua Snacks.picker.lsp_type_definitions()<cr>";
options.desc = "LSP Type Definitions";
}
{
mode = "n";