mirror of
https://github.com/nmasur/dotfiles
synced 2024-12-24 02:34:52 +00:00
more working plugins
This commit is contained in:
parent
bb200016cb
commit
47a1823af4
103
flake.lock
generated
103
flake.lock
generated
@ -202,22 +202,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"impatient-nvim-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1668271823,
|
||||
"narHash": "sha256-tsdTHbUC0kYOGonJ1TLIsHnv/RgWGTqHKY3xVj80mxM=",
|
||||
"owner": "lewis6991",
|
||||
"repo": "impatient.nvim",
|
||||
"rev": "d3dd30ff0b811756e735eb9020609fa315bfbbcc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lewis6991",
|
||||
"repo": "impatient.nvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"lualine-nvim-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@ -453,38 +437,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nvim-web-devicons-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1669423115,
|
||||
"narHash": "sha256-Wyd4HnV+aQrh4Z2KdwCdi84glzIbQt8/y7NRGf67hcw=",
|
||||
"owner": "kyazdani42",
|
||||
"repo": "nvim-web-devicons",
|
||||
"rev": "189ad3790d57c548896a78522fd8b0d0fc11be31",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "kyazdani42",
|
||||
"repo": "nvim-web-devicons",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"plenary-nvim-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1664607953,
|
||||
"narHash": "sha256-lIdBrVpi+vUudeotjFAuw4C0VT8TPoFE9cVVAQEsAYU=",
|
||||
"owner": "nvim-lua",
|
||||
"repo": "plenary.nvim",
|
||||
"rev": "4b7e52044bbb84242158d977a50c4cbcd85070c7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nvim-lua",
|
||||
"repo": "plenary.nvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"Comment-nvim-src": "Comment-nvim-src",
|
||||
@ -495,7 +447,6 @@
|
||||
"firefox-darwin": "firefox-darwin",
|
||||
"gitsigns-nvim-src": "gitsigns-nvim-src",
|
||||
"home-manager": "home-manager",
|
||||
"impatient-nvim-src": "impatient-nvim-src",
|
||||
"lualine-nvim-src": "lualine-nvim-src",
|
||||
"nil": "nil",
|
||||
"nix2vim": "nix2vim",
|
||||
@ -506,14 +457,10 @@
|
||||
"nvim-lspconfig-src": "nvim-lspconfig-src",
|
||||
"nvim-tree-lua-src": "nvim-tree-lua-src",
|
||||
"nvim-treesitter-src": "nvim-treesitter-src",
|
||||
"nvim-web-devicons-src": "nvim-web-devicons-src",
|
||||
"plenary-nvim-src": "plenary-nvim-src",
|
||||
"telescope-nvim-src": "telescope-nvim-src",
|
||||
"telescope-project-nvim-src": "telescope-project-nvim-src",
|
||||
"toggleterm-nvim-src": "toggleterm-nvim-src",
|
||||
"vim-bbye-src": "vim-bbye-src",
|
||||
"vim-repeat-src": "vim-repeat-src",
|
||||
"vim-surround-src": "vim-surround-src",
|
||||
"vim-matchup-src": "vim-matchup-src",
|
||||
"wallpapers": "wallpapers",
|
||||
"wsl": "wsl"
|
||||
}
|
||||
@ -606,51 +553,19 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"vim-bbye-src": {
|
||||
"vim-matchup-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1520078493,
|
||||
"narHash": "sha256-xJMZQ/27TgwAnvPVH1fjF6SLOA9jvXmbfcwV0NZ1kTY=",
|
||||
"owner": "moll",
|
||||
"repo": "vim-bbye",
|
||||
"rev": "25ef93ac5a87526111f43e5110675032dbcacf56",
|
||||
"lastModified": 1668349349,
|
||||
"narHash": "sha256-Btpninxq1B7/iIsn106hvPx1v5BPyLwADd2YcmliEZw=",
|
||||
"owner": "andymass",
|
||||
"repo": "vim-matchup",
|
||||
"rev": "55e3330436784fb8ccc35a5cfeb13e48bab9dcd2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "moll",
|
||||
"repo": "vim-bbye",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"vim-repeat-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1611544268,
|
||||
"narHash": "sha256-8rfZa3uKXB3TRCqaDHZ6DfzNbm7WaYnLvmTNzYtnKHg=",
|
||||
"owner": "tpope",
|
||||
"repo": "vim-repeat",
|
||||
"rev": "24afe922e6a05891756ecf331f39a1f6743d3d5a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tpope",
|
||||
"repo": "vim-repeat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"vim-surround-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1666730476,
|
||||
"narHash": "sha256-DZE5tkmnT+lAvx/RQHaDEgEJXRKsy56KJY919xiH1lE=",
|
||||
"owner": "tpope",
|
||||
"repo": "vim-surround",
|
||||
"rev": "3d188ed2113431cf8dac77be61b842acb64433d9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tpope",
|
||||
"repo": "vim-surround",
|
||||
"owner": "andymass",
|
||||
"repo": "vim-matchup",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
|
74
flake.nix
74
flake.nix
@ -63,34 +63,22 @@
|
||||
url = "github:hrsh7th/cmp-buffer";
|
||||
flake = false;
|
||||
};
|
||||
plenary-nvim-src = {
|
||||
url = "github:nvim-lua/plenary.nvim";
|
||||
flake = false;
|
||||
};
|
||||
null-ls-nvim-src = {
|
||||
url = "github:jose-elias-alvarez/null-ls.nvim";
|
||||
flake = false;
|
||||
};
|
||||
vim-surround-src = {
|
||||
url = "github:tpope/vim-surround";
|
||||
flake = false;
|
||||
};
|
||||
vim-repeat-src = {
|
||||
url = "github:tpope/vim-repeat";
|
||||
flake = false;
|
||||
};
|
||||
Comment-nvim-src = {
|
||||
url = "github:numToStr/Comment.nvim";
|
||||
flake = false;
|
||||
};
|
||||
impatient-nvim-src = {
|
||||
url = "github:lewis6991/impatient.nvim";
|
||||
flake = false;
|
||||
};
|
||||
nvim-treesitter-src = {
|
||||
url = "github:nvim-treesitter/nvim-treesitter";
|
||||
flake = false;
|
||||
};
|
||||
vim-matchup-src = {
|
||||
url = "github:andymass/vim-matchup";
|
||||
flake = false;
|
||||
};
|
||||
telescope-nvim-src = {
|
||||
url = "github:nvim-telescope/telescope.nvim";
|
||||
flake = false;
|
||||
@ -111,18 +99,10 @@
|
||||
url = "github:hoob3rt/lualine.nvim";
|
||||
flake = false;
|
||||
};
|
||||
nvim-web-devicons-src = {
|
||||
url = "github:kyazdani42/nvim-web-devicons";
|
||||
flake = false;
|
||||
};
|
||||
bufferline-nvim-src = {
|
||||
url = "github:akinsho/bufferline.nvim";
|
||||
flake = false;
|
||||
};
|
||||
vim-bbye-src = {
|
||||
url = "github:moll/vim-bbye";
|
||||
flake = false;
|
||||
};
|
||||
nvim-tree-lua-src = {
|
||||
url = "github:kyazdani42/nvim-tree.lua";
|
||||
flake = false;
|
||||
@ -192,48 +172,10 @@
|
||||
imports = [
|
||||
./modules/neovim/plugins/gitsigns.nix
|
||||
./modules/neovim/plugins/misc.nix
|
||||
# ({ pkgs, dsl, ... }:
|
||||
# # with dsl;
|
||||
# {
|
||||
# plugins = [ pkgs.vimPlugins.gitsigns-nvim ];
|
||||
# setup.gitsigns = { };
|
||||
# lua = ''
|
||||
# vim.keymap.set("", "<Space>", "<Nop>", { silent = true })
|
||||
# vim.g.mapleader = " "
|
||||
# vim.g.maplocalleader = " "
|
||||
# local gitsigns = require("gitsigns")
|
||||
# vim.keymap.set("n", "<Leader>gB", gitsigns.blame_line)
|
||||
# vim.keymap.set("n", "<Leader>gp", gitsigns.preview_hunk)
|
||||
# vim.keymap.set("v", "<Leader>gp", gitsigns.preview_hunk)
|
||||
# vim.keymap.set("n", "<Leader>gd", gitsigns.diffthis)
|
||||
# vim.keymap.set("v", "<Leader>gd", gitsigns.diffthis)
|
||||
# vim.keymap.set("n", "<Leader>rgf", gitsigns.reset_buffer)
|
||||
# vim.keymap.set("v", "<Leader>hs", gitsigns.stage_hunk)
|
||||
# vim.keymap.set("v", "<Leader>hr", gitsigns.reset_hunk)
|
||||
# vim.keymap.set("v", "<Leader>hr", gitsigns.reset_hunk)
|
||||
#
|
||||
# -- Navigation
|
||||
# vim.keymap.set("n", "]g", function()
|
||||
# if vim.wo.diff then
|
||||
# return "]g"
|
||||
# end
|
||||
# vim.schedule(function()
|
||||
# gitsigns.next_hunk()
|
||||
# end)
|
||||
# return "<Ignore>"
|
||||
# end, { expr = true })
|
||||
#
|
||||
# vim.keymap.set("n", "[g", function()
|
||||
# if vim.wo.diff then
|
||||
# return "[g"
|
||||
# end
|
||||
# vim.schedule(function()
|
||||
# gitsigns.prev_hunk()
|
||||
# end)
|
||||
# return "<Ignore>"
|
||||
# end, { expr = true })
|
||||
# '';
|
||||
# })
|
||||
./modules/neovim/plugins/syntax.nix
|
||||
./modules/neovim/plugins/statusline.nix
|
||||
./modules/neovim/plugins/bufferline.nix
|
||||
./modules/neovim/plugins/telescope.nix
|
||||
];
|
||||
};
|
||||
|
||||
|
@ -2,42 +2,11 @@
|
||||
-- Settings
|
||||
-- ===========================================================================
|
||||
|
||||
vim.o.termguicolors = true --- Set to truecolor
|
||||
vim.o.hidden = true --- Don't unload buffers when leaving them
|
||||
vim.wo.number = true --- Show line numbers
|
||||
vim.wo.relativenumber = true --- Relative numbers instead of absolute
|
||||
vim.o.list = true --- Reveal whitespace with dashes
|
||||
vim.o.expandtab = true --- Tabs into spaces
|
||||
vim.o.shiftwidth = 4 --- Amount to shift with > key
|
||||
vim.o.softtabstop = 4 --- Amount to shift with <TAB> key
|
||||
vim.o.ignorecase = true --- Ignore case when searching
|
||||
vim.o.smartcase = true --- Check case when using capitals in search
|
||||
vim.o.infercase = true --- Don't match cases when completing suggestions
|
||||
vim.o.incsearch = true --- Search while typing
|
||||
vim.o.visualbell = true --- No sounds
|
||||
vim.o.scrolljump = 1 --- Number of lines to scroll
|
||||
vim.o.scrolloff = 3 --- Margin of lines to see while scrolling
|
||||
vim.o.splitright = true --- Vertical splits on the right side
|
||||
vim.o.splitbelow = true --- Horizontal splits on the bottom side
|
||||
vim.o.pastetoggle = "<F3>" --- Use F3 to enter raw paste mode
|
||||
vim.o.clipboard = "unnamedplus" --- Uses system clipboard for yanking
|
||||
vim.o.updatetime = 300 --- Faster diagnostics
|
||||
vim.o.mouse = "nv" --- Mouse interaction / scrolling
|
||||
|
||||
-- Neovim features
|
||||
vim.o.inccommand = "split" --- Live preview search and replace
|
||||
--- Required for nvim-cmp completion
|
||||
vim.opt.completeopt = {
|
||||
"menu",
|
||||
"menuone",
|
||||
"noselect",
|
||||
}
|
||||
|
||||
-- Remember last position when reopening file
|
||||
vim.api.nvim_exec(
|
||||
[[
|
||||
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
|
||||
]],
|
||||
]] ,
|
||||
false
|
||||
)
|
||||
|
||||
@ -54,7 +23,7 @@ vim.api.nvim_exec(
|
||||
if !isdirectory(&backupdir)
|
||||
call mkdir(&backupdir, "p")
|
||||
endif
|
||||
]],
|
||||
]] ,
|
||||
false
|
||||
)
|
||||
|
||||
@ -63,7 +32,7 @@ vim.api.nvim_exec(
|
||||
[[
|
||||
au FileType tex inoremap ;bf \textbf{}<Esc>i
|
||||
au BufWritePost *.tex silent! execute "!pdflatex -output-directory=%:p:h % >/dev/null 2>&1" | redraw!
|
||||
]],
|
||||
]] ,
|
||||
false
|
||||
)
|
||||
|
||||
@ -71,7 +40,7 @@ vim.api.nvim_exec(
|
||||
vim.api.nvim_exec(
|
||||
[[
|
||||
au TextYankPost * silent! lua vim.highlight.on_yank { timeout = 250 }
|
||||
]],
|
||||
]] ,
|
||||
false
|
||||
)
|
||||
|
||||
|
@ -24,13 +24,10 @@ in {
|
||||
cmp-buffer = (withSrc prev.vimPlugins.cmp-buffer inputs.cmp-buffer);
|
||||
plenary-nvim = (withSrc prev.vimPlugins.plenary-nvim inputs.plenary-nvim);
|
||||
null-ls-nvim = (withSrc prev.vimPlugins.null-ls-nvim inputs.null-ls-nvim);
|
||||
vim-surround = (withSrc prev.vimPlugins.vim-surround inputs.vim-surround);
|
||||
vim-repeat = (withSrc prev.vimPlugins.vim-repeat inputs.vim-repeat);
|
||||
comment-nvim = (withSrc prev.vimPlugins.comment-nvim inputs.comment-nvim);
|
||||
impatient-nvim =
|
||||
(withSrc prev.vimPlugins.impatient-nvim inputs.impatient-nvim);
|
||||
nvim-treesitter =
|
||||
(withSrc prev.vimPlugins.nvim-treesitter inputs.nvim-treesitter);
|
||||
vim-matchup = (withSrc prev.vimPlugins.vim-matchup inputs.vim-matchup);
|
||||
telescope-nvim =
|
||||
(withSrc prev.vimPlugins.telescope-nvim inputs.telescope-nvim);
|
||||
telescope-project-nvim = (withSrc prev.vimPlugins.telescope-project-nvim
|
||||
@ -39,11 +36,8 @@ in {
|
||||
(withSrc prev.vimPlugins.toggleterm-nvim inputs.toggleterm-nvim);
|
||||
gitsigns-nvim = (withSrc prev.vimPlugins.gitsigns-nvim inputs.gitsigns-nvim);
|
||||
lualine-nvim = (withSrc prev.vimPlugins.lualine-nvim inputs.lualine-nvim);
|
||||
nvim-web-devicons =
|
||||
(withSrc prev.vimPlugins.nvim-web-devicons inputs.nvim-web-devicons);
|
||||
bufferline-nvim =
|
||||
(withSrc prev.vimPlugins.bufferline-nvim inputs.bufferline-nvim);
|
||||
vim-bbye = (withSrc prev.vimPlugins.vim-bbye inputs.vim-bbye);
|
||||
nvim-tree-lua = (withSrc prev.vimPlugins.nvim-tree-lua inputs.nvim-tree-lua);
|
||||
|
||||
# Packaging plugins with Nix
|
||||
|
22
modules/neovim/plugins/bufferline.nix
Normal file
22
modules/neovim/plugins/bufferline.nix
Normal file
@ -0,0 +1,22 @@
|
||||
{ pkgs, ... }: {
|
||||
plugins = [
|
||||
pkgs.vimPlugins.bufferline-nvim
|
||||
pkgs.vimPlugins.vim-bbye # Better closing of buffers
|
||||
];
|
||||
setup.bufferline = {
|
||||
options = {
|
||||
diagnostics = "nvim_lsp";
|
||||
always_show_bufferline = false;
|
||||
separator_style = "slant";
|
||||
offsets = [{ filetype = "NvimTree"; }];
|
||||
};
|
||||
};
|
||||
lua = ''
|
||||
-- Move buffers
|
||||
vim.keymap.set("n", "L", ":BufferLineCycleNext<CR>", { silent = true })
|
||||
vim.keymap.set("n", "H", ":BufferLineCyclePrev<CR>", { silent = true })
|
||||
|
||||
-- Kill buffer
|
||||
vim.keymap.set("n", "<Leader>x", " :Bdelete<CR>", { silent = true })
|
||||
'';
|
||||
}
|
@ -1,6 +1,4 @@
|
||||
{ pkgs, dsl, ... }:
|
||||
# with dsl;
|
||||
{
|
||||
{ pkgs, lib, ... }: {
|
||||
plugins = [
|
||||
pkgs.vimPlugins.vim-surround
|
||||
pkgs.vimPlugins.vim-eunuch
|
||||
@ -8,9 +6,38 @@
|
||||
pkgs.vimPlugins.vim-fugitive
|
||||
pkgs.vimPlugins.vim-repeat
|
||||
pkgs.vimPlugins.comment-nvim
|
||||
pkgs.vimPlugins.impatient-nvim
|
||||
];
|
||||
setup.Comment = { };
|
||||
lua = ''
|
||||
|
||||
vim.o.termguicolors = true; # Set to truecolor
|
||||
vim.o.hidden = true; # Don't unload buffers when leaving them
|
||||
vim.wo.number = true; # Show line numbers
|
||||
vim.wo.relativenumber = true; # Relative numbers instead of absolute
|
||||
vim.o.list = true; # Reveal whitespace with dashes
|
||||
vim.o.expandtab = true; # Tabs into spaces
|
||||
vim.o.shiftwidth = 4; # Amount to shift with > key
|
||||
vim.o.softtabstop = 4; # Amount to shift with <TAB> key
|
||||
vim.o.ignorecase = true; # Ignore case when searching
|
||||
vim.o.smartcase = true; # Check case when using capitals in search
|
||||
vim.o.infercase = true; # Don't match cases when completing suggestions
|
||||
vim.o.incsearch = true; # Search while typing
|
||||
vim.o.visualbell = true; # No sounds
|
||||
vim.o.scrolljump = 1; # Number of lines to scroll
|
||||
vim.o.scrolloff = 3; # Margin of lines to see while scrolling
|
||||
vim.o.splitright = true; # Vertical splits on the right side
|
||||
vim.o.splitbelow = true; # Horizontal splits on the bottom side
|
||||
vim.o.pastetoggle = "<F3>"; # Use F3 to enter raw paste mode
|
||||
vim.o.clipboard = "unnamedplus"; # Uses system clipboard for yanking
|
||||
vim.o.updatetime = 300; # Faster diagnostics
|
||||
vim.o.mouse = "nv"; # Mouse interaction / scrolling
|
||||
vim.o.inccommand = "split"; # Live preview search and replace
|
||||
|
||||
# Required for nvim-cmp completion
|
||||
vim.opt.completeopt = [ "menu" "menuone" "noselect" ];
|
||||
|
||||
lua = lib.mkBefore ''
|
||||
require("impatient")
|
||||
${builtins.readFile ../lua/keybinds.lua};
|
||||
${builtins.readFile ../lua/settings.lua};
|
||||
'';
|
||||
|
9
modules/neovim/plugins/statusline.nix
Normal file
9
modules/neovim/plugins/statusline.nix
Normal file
@ -0,0 +1,9 @@
|
||||
{ pkgs, ... }: {
|
||||
plugins = [ pkgs.vimPlugins.lualine-nvim ];
|
||||
setup.lualine = {
|
||||
options = {
|
||||
theme = "gruvbox";
|
||||
icons_enabled = true;
|
||||
};
|
||||
};
|
||||
}
|
52
modules/neovim/plugins/syntax.nix
Normal file
52
modules/neovim/plugins/syntax.nix
Normal file
@ -0,0 +1,52 @@
|
||||
{ pkgs, ... }: {
|
||||
|
||||
plugins = [
|
||||
(pkgs.vimPlugins.nvim-treesitter.withPlugins (plugins:
|
||||
with pkgs.tree-sitter-grammars; [
|
||||
tree-sitter-hcl
|
||||
tree-sitter-python
|
||||
tree-sitter-lua
|
||||
tree-sitter-nix
|
||||
tree-sitter-fish
|
||||
tree-sitter-toml
|
||||
tree-sitter-yaml
|
||||
tree-sitter-json
|
||||
]))
|
||||
pkgs.vimPlugins.vim-matchup # Better % jumping in languages
|
||||
pkgs.vimPlugins.nginx-vim
|
||||
pkgs.vimPlugins.vim-helm
|
||||
pkgs.vimPlugins.vim-puppet
|
||||
];
|
||||
|
||||
setup."nvim-treesitter.configs" = {
|
||||
highlight = { enable = true; };
|
||||
indent = { enable = true; };
|
||||
|
||||
textobjects = {
|
||||
select = {
|
||||
enable = true;
|
||||
lookahead = true; # Jump forward automatically
|
||||
|
||||
keymaps = {
|
||||
"['af']" = "@function.outer";
|
||||
"['if']" = "@function.inner";
|
||||
"['ac']" = "@class.outer";
|
||||
"['ic']" = "@class.inner";
|
||||
"['al']" = "@loop.outer";
|
||||
"['il']" = "@loop.inner";
|
||||
"['aa']" = "@call.outer";
|
||||
"['ia']" = "@call.inner";
|
||||
"['ar']" = "@parameter.outer";
|
||||
"['ir']" = "@parameter.inner";
|
||||
"['aC']" = "@comment.outer";
|
||||
"['iC']" = "@comment.outer";
|
||||
"['a/']" = "@comment.outer";
|
||||
"['i/']" = "@comment.outer";
|
||||
"['a;']" = "@statement.outer";
|
||||
"['i;']" = "@statement.outer";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
}
|
108
modules/neovim/plugins/telescope.nix
Normal file
108
modules/neovim/plugins/telescope.nix
Normal file
@ -0,0 +1,108 @@
|
||||
{ pkgs, dsl, ... }:
|
||||
|
||||
with dsl;
|
||||
|
||||
{
|
||||
|
||||
plugins = [
|
||||
pkgs.vimPlugins.telescope-nvim
|
||||
pkgs.vimPlugins.telescope-project-nvim
|
||||
pkgs.vimPlugins.telescope-fzy-native-nvim
|
||||
pkgs.vimPlugins.telescope-file-browser-nvim
|
||||
pkgs.vimPlugins.telescope-zoxide
|
||||
];
|
||||
|
||||
setup.telescope = {
|
||||
defaults = {
|
||||
mappings = {
|
||||
i = {
|
||||
"['<esc>']" = rawLua "require('telescope.actions').close";
|
||||
"['<C-h>']" = "which_key";
|
||||
};
|
||||
};
|
||||
};
|
||||
pickers = {
|
||||
find_files = { theme = "ivy"; };
|
||||
oldfiles = { theme = "ivy"; };
|
||||
buffers = { theme = "dropdown"; };
|
||||
};
|
||||
extensions = {
|
||||
fzy_native = { };
|
||||
zoxide = { };
|
||||
project = { base_dirs = [ "~/dev" ]; };
|
||||
};
|
||||
};
|
||||
|
||||
lua = ''
|
||||
local telescope = require("telescope.builtin")
|
||||
vim.keymap.set("n", "<Leader>k", telescope.keymaps)
|
||||
vim.keymap.set("n", "<Leader>/", telescope.live_grep)
|
||||
vim.keymap.set("n", "<Leader>ff", telescope.find_files)
|
||||
vim.keymap.set("n", "<Leader>fp", telescope.git_files)
|
||||
vim.keymap.set("n", "<Leader>fw", telescope.grep_string)
|
||||
vim.keymap.set("n", "<Leader>b", telescope.buffers)
|
||||
vim.keymap.set("n", "<Leader>hh", telescope.help_tags)
|
||||
vim.keymap.set("n", "<Leader>fr", telescope.oldfiles)
|
||||
vim.keymap.set("n", "<Leader>cc", telescope.commands)
|
||||
vim.keymap.set("n", "<Leader>gc", telescope.git_commits)
|
||||
vim.keymap.set("n", "<Leader>gf", telescope.git_bcommits)
|
||||
vim.keymap.set("n", "<Leader>gb", telescope.git_branches)
|
||||
vim.keymap.set("n", "<Leader>gs", telescope.git_status)
|
||||
vim.keymap.set("n", "<Leader>s", telescope.current_buffer_fuzzy_find)
|
||||
|
||||
vim.keymap.set("n", "<Leader>N", function()
|
||||
local opts = {
|
||||
prompt_title = "Search Notes",
|
||||
cwd = "$NOTES_PATH",
|
||||
}
|
||||
telescope.live_grep(opts)
|
||||
end)
|
||||
|
||||
vim.keymap.set("n", "<Leader>fN", function()
|
||||
local opts = {
|
||||
prompt_title = "Find Notes",
|
||||
cwd = "$NOTES_PATH",
|
||||
}
|
||||
telescope.find_files(opts)
|
||||
end)
|
||||
|
||||
vim.keymap.set("n", "<Leader>cr", function()
|
||||
local opts = require("telescope.themes").get_ivy({
|
||||
layout_config = {
|
||||
bottom_pane = {
|
||||
height = 15,
|
||||
},
|
||||
},
|
||||
})
|
||||
telescope.command_history(opts)
|
||||
end)
|
||||
|
||||
-- zoxide
|
||||
vim.keymap.set("n", "<Leader>fz", require("telescope").extensions.zoxide.list)
|
||||
|
||||
-- project
|
||||
require("telescope").load_extension("project")
|
||||
vim.keymap.set("n", "<C-p>", function()
|
||||
local opts = require("telescope.themes").get_ivy({
|
||||
layout_config = {
|
||||
bottom_pane = {
|
||||
height = 10,
|
||||
},
|
||||
},
|
||||
})
|
||||
require("telescope").extensions.project.project(opts)
|
||||
end)
|
||||
|
||||
-- file browser
|
||||
require("telescope").load_extension("file_browser")
|
||||
vim.keymap.set("n", "<Leader>fa", require("telescope").extensions.file_browser.file_browser)
|
||||
vim.keymap.set("n", "<Leader>fD", function()
|
||||
local opts = {
|
||||
prompt_title = "Find Downloads",
|
||||
cwd = "~/downloads",
|
||||
}
|
||||
require("telescope").extensions.file_browser.file_browser(opts)
|
||||
end)
|
||||
'';
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user