mirror of
https://github.com/pratiktri/dotfiles.git
synced 2026-02-04 16:41:43 +05:30
feat(neovim): AI and other quality of life improvements
- fix: session, conform, vim-illuminate, todo-comments, nvim-navbuddy, lspconfig plugins NOT on vscode - new: codeium, obsidian.nvim - Add codeium autocomplete - fix: todo-comments: Search in hidden files (dotfiles) - fix: trouble: wasn't working earlier - new: Switch buffer with <alt-1>..<alt-9> - chore: Better keybindings
This commit is contained in:
@@ -13,11 +13,20 @@ require("config")
|
|||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
local out = vim.fn.system({
|
||||||
|
"git",
|
||||||
|
"clone",
|
||||||
|
"--filter=blob:none",
|
||||||
|
"--branch=stable",
|
||||||
|
lazyrepo,
|
||||||
|
lazypath,
|
||||||
|
})
|
||||||
if vim.v.shell_error ~= 0 then
|
if vim.v.shell_error ~= 0 then
|
||||||
error("Error cloning lazy.nvim:\n" .. out)
|
error("Error cloning lazy.nvim:\n" .. out)
|
||||||
end
|
end
|
||||||
end ---@diagnostic disable-next-line: undefined-field
|
end
|
||||||
|
|
||||||
|
---@diagnostic disable-next-line: undefined-field
|
||||||
vim.opt.rtp:prepend(lazypath)
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
-- You can also configure plugins after the setup call,
|
-- You can also configure plugins after the setup call,
|
||||||
|
|||||||
@@ -1,13 +1,17 @@
|
|||||||
-- Auto reload existing session
|
if not vim.g.vscode then
|
||||||
vim.api.nvim_create_autocmd("VimEnter", {
|
-- Auto reload existing session
|
||||||
group = vim.api.nvim_create_augroup("restore_session", { clear = true }),
|
vim.api.nvim_create_autocmd("VimEnter", {
|
||||||
callback = function()
|
group = vim.api.nvim_create_augroup("restore_session", { clear = true }),
|
||||||
-- If nvim started with arguments, do NOT restore
|
callback = function()
|
||||||
if vim.fn.argc() ~= 0 then return end
|
-- If nvim started with arguments, do NOT restore
|
||||||
require("persistence").load()
|
if vim.fn.argc() ~= 0 then
|
||||||
end,
|
return
|
||||||
nested = true,
|
end
|
||||||
})
|
require("persistence").load()
|
||||||
|
end,
|
||||||
|
nested = true,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
-- Enable spell check on markdown and text files
|
-- Enable spell check on markdown and text files
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
vim.api.nvim_create_autocmd("FileType", {
|
||||||
|
|||||||
@@ -1,3 +1,24 @@
|
|||||||
return {
|
return {
|
||||||
-- TODO: Use similar keymaps to Windsurf
|
-- codeium
|
||||||
|
{
|
||||||
|
"Exafunction/codeium.nvim",
|
||||||
|
cond = require("config.util").is_not_vscode(),
|
||||||
|
cmd = "Codeium",
|
||||||
|
build = ":Codeium Auth",
|
||||||
|
event = "InsertEnter",
|
||||||
|
opts = {
|
||||||
|
enable_cmp_source = vim.g.ai_cmp,
|
||||||
|
virtual_text = {
|
||||||
|
enabled = not vim.g.ai_cmp,
|
||||||
|
key_bindings = {
|
||||||
|
accept = false, -- handled by nvim-cmp / blink.cmp
|
||||||
|
next = "<M-]>",
|
||||||
|
prev = "<M-[>",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require("codeium").setup({})
|
||||||
|
end,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
return {
|
return {
|
||||||
|
|
||||||
-- TODO: Figureout how to add custom snippets
|
|
||||||
|
|
||||||
{
|
{
|
||||||
-- Autocompletion
|
-- Autocompletion
|
||||||
"hrsh7th/nvim-cmp",
|
"hrsh7th/nvim-cmp",
|
||||||
@@ -41,12 +38,14 @@ return {
|
|||||||
|
|
||||||
"hrsh7th/cmp-vsnip",
|
"hrsh7th/cmp-vsnip",
|
||||||
"hrsh7th/vim-vsnip",
|
"hrsh7th/vim-vsnip",
|
||||||
|
"Exafunction/codeium",
|
||||||
},
|
},
|
||||||
config = function()
|
config = function()
|
||||||
-- See `:help cmp`
|
-- See `:help cmp`
|
||||||
local cmp = require("cmp")
|
local cmp = require("cmp")
|
||||||
local defaults = require("cmp.config.default")()
|
local defaults = require("cmp.config.default")()
|
||||||
local luasnip = require("luasnip")
|
local luasnip = require("luasnip")
|
||||||
|
|
||||||
require("luasnip.loaders.from_vscode").lazy_load()
|
require("luasnip.loaders.from_vscode").lazy_load()
|
||||||
luasnip.config.setup({})
|
luasnip.config.setup({})
|
||||||
|
|
||||||
@@ -57,6 +56,13 @@ return {
|
|||||||
-- hl_group = "CmpGhostText",
|
-- hl_group = "CmpGhostText",
|
||||||
-- },
|
-- },
|
||||||
-- },
|
-- },
|
||||||
|
sources = {
|
||||||
|
{ name = "nvim_lsp" },
|
||||||
|
{ name = "codeium" },
|
||||||
|
{ name = "luasnip" },
|
||||||
|
{ name = "buffer" },
|
||||||
|
{ name = "path" },
|
||||||
|
},
|
||||||
snippet = {
|
snippet = {
|
||||||
expand = function(args)
|
expand = function(args)
|
||||||
luasnip.lsp_expand(args.body)
|
luasnip.lsp_expand(args.body)
|
||||||
@@ -97,12 +103,6 @@ return {
|
|||||||
end
|
end
|
||||||
end, { "i", "s" }),
|
end, { "i", "s" }),
|
||||||
}),
|
}),
|
||||||
sources = {
|
|
||||||
{ name = "nvim_lsp" },
|
|
||||||
{ name = "luasnip" },
|
|
||||||
{ name = "buffer" },
|
|
||||||
{ name = "path" },
|
|
||||||
},
|
|
||||||
sorting = defaults.sorting,
|
sorting = defaults.sorting,
|
||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"stevearc/conform.nvim",
|
"stevearc/conform.nvim",
|
||||||
-- cond = require("config.util").is_not_vscode(),
|
cond = require("config.util").is_not_vscode(),
|
||||||
lazy = true,
|
lazy = true,
|
||||||
event = { "BufWritePre" },
|
event = { "BufWritePre" },
|
||||||
opts = {
|
opts = {
|
||||||
@@ -31,9 +31,9 @@ return {
|
|||||||
local disable_filetypes = { c = true, cpp = true }
|
local disable_filetypes = { c = true, cpp = true }
|
||||||
local lsp_format_opt
|
local lsp_format_opt
|
||||||
if disable_filetypes[vim.bo[bufnr].filetype] then
|
if disable_filetypes[vim.bo[bufnr].filetype] then
|
||||||
lsp_format_opt = 'never'
|
lsp_format_opt = "never"
|
||||||
else
|
else
|
||||||
lsp_format_opt = 'fallback'
|
lsp_format_opt = "fallback"
|
||||||
end
|
end
|
||||||
return {
|
return {
|
||||||
quiet = false,
|
quiet = false,
|
||||||
@@ -60,6 +60,6 @@ return {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
return {
|
return {
|
||||||
|
|
||||||
-- TODO:
|
|
||||||
-- Reduce noice timeout
|
|
||||||
{ "tpope/vim-repeat" },
|
{ "tpope/vim-repeat" },
|
||||||
|
|
||||||
-- Better code folding
|
-- Better code folding
|
||||||
@@ -168,6 +165,7 @@ return {
|
|||||||
{
|
{
|
||||||
"RRethy/vim-illuminate",
|
"RRethy/vim-illuminate",
|
||||||
lazy = false,
|
lazy = false,
|
||||||
|
cond = require("config.util").is_not_vscode(),
|
||||||
opts = {
|
opts = {
|
||||||
delay = 200,
|
delay = 200,
|
||||||
large_file_cutoff = 2000,
|
large_file_cutoff = 2000,
|
||||||
@@ -206,10 +204,23 @@ return {
|
|||||||
-- Finds and lists all of the TODO, HACK, BUG, etc comment
|
-- Finds and lists all of the TODO, HACK, BUG, etc comment
|
||||||
{
|
{
|
||||||
"folke/todo-comments.nvim",
|
"folke/todo-comments.nvim",
|
||||||
|
cond = require("config.util").is_not_vscode(),
|
||||||
event = "VimEnter",
|
event = "VimEnter",
|
||||||
dependencies = { "nvim-lua/plenary.nvim" },
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
config = true,
|
config = true,
|
||||||
opts = {
|
opts = {
|
||||||
|
search = {
|
||||||
|
command = "rg",
|
||||||
|
args = {
|
||||||
|
"--color=never",
|
||||||
|
"--no-heading",
|
||||||
|
"--with-filename",
|
||||||
|
"--line-number",
|
||||||
|
"--column",
|
||||||
|
"--hidden", -- include hidden files
|
||||||
|
"--glob=!.git", -- exclude .git directory
|
||||||
|
},
|
||||||
|
},
|
||||||
signs = false,
|
signs = false,
|
||||||
keywords = {
|
keywords = {
|
||||||
HACK = { alt = { "TIP" } },
|
HACK = { alt = { "TIP" } },
|
||||||
@@ -231,15 +242,19 @@ return {
|
|||||||
desc = "Previous todo comment",
|
desc = "Previous todo comment",
|
||||||
},
|
},
|
||||||
|
|
||||||
-- TODO: Include hidden files
|
{ "<leader>df", "<cmd>TodoTelescope keywords=FIX,FIXME<cr>", desc = "TODO: FIXME Tags" },
|
||||||
{ "<leader>fT", "<cmd>TodoTelescope<cr>", desc = "List Todo/Fix/Fixme" },
|
{ "<leader>dt", "<cmd>TodoTelescope keywords=TODO<cr>", desc = "TODO: Project Todos" },
|
||||||
{ "<leader>ft", "<cmd>TodoTelescope keywords=TODO,FIX,FIXME<cr>", desc = "List Todo" },
|
{ "<leader>dT", "<cmd>TodoTelescope<cr>", desc = "TODO: All" },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
-- better diagnostics list and others
|
-- better diagnostics list and others
|
||||||
{
|
{
|
||||||
"folke/trouble.nvim",
|
"folke/trouble.nvim",
|
||||||
|
lazy = false,
|
||||||
|
cmd = "Trouble",
|
||||||
|
cond = require("config.util").is_not_vscode(),
|
||||||
|
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||||
opts = {
|
opts = {
|
||||||
-- Default: Preview in a split
|
-- Default: Preview in a split
|
||||||
preview = {
|
preview = {
|
||||||
@@ -249,12 +264,11 @@ return {
|
|||||||
size = 0.6,
|
size = 0.6,
|
||||||
},
|
},
|
||||||
modes = {
|
modes = {
|
||||||
|
|
||||||
-- Show only the most severe diagnostics; once resolved, less severe will be shown
|
-- Show only the most severe diagnostics; once resolved, less severe will be shown
|
||||||
most_severe = {
|
project_warnings = {
|
||||||
mode = "diagnostics", -- inherit from diagnostics mode
|
mode = "diagnostics", -- inherit from diagnostics mode
|
||||||
filter = function(items)
|
filter = function(items)
|
||||||
local severity = vim.diagnostic.severity.HINT
|
local severity = vim.diagnostic.severity.WARN
|
||||||
for _, item in ipairs(items) do
|
for _, item in ipairs(items) do
|
||||||
severity = math.min(severity, item.severity)
|
severity = math.min(severity, item.severity)
|
||||||
end
|
end
|
||||||
@@ -265,13 +279,13 @@ return {
|
|||||||
},
|
},
|
||||||
|
|
||||||
-- Diagnostics from buffer + Errors from current project
|
-- Diagnostics from buffer + Errors from current project
|
||||||
project_errors = {
|
file_hints = {
|
||||||
mode = "diagnostics", -- inherit from diagnostics mode
|
mode = "diagnostics", -- inherit from diagnostics mode
|
||||||
filter = {
|
filter = {
|
||||||
any = {
|
any = {
|
||||||
buf = 0, -- current buffer
|
buf = 0, -- current buffer
|
||||||
{
|
{
|
||||||
severity = vim.diagnostic.severity.ERROR,
|
severity = vim.diagnostic.severity.INFO,
|
||||||
-- limit to files in the current project
|
-- limit to files in the current project
|
||||||
function(item)
|
function(item)
|
||||||
return item.filename:find((vim.loop or vim.uv).cwd(), 1, true)
|
return item.filename:find((vim.loop or vim.uv).cwd(), 1, true)
|
||||||
@@ -283,11 +297,10 @@ return {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
keys = {
|
keys = {
|
||||||
{ "<leader>dd", "<cmd>Trouble project_errors toggle focus=true<cr>", desc = "Trouble: Document Diagnostics" },
|
{ "<leader>dd", "<cmd>Trouble file_hints toggle focus=true<cr>", desc = "Trouble: File Diagnostics" },
|
||||||
{ "<leader>dw", "<cmd>Trouble most_severe toggle focus=true<cr>", desc = "Trouble: List Project Diagnostics" },
|
{ "<leader>dw", "<cmd>Trouble project_warnings toggle focus=true<cr>", desc = "Trouble: List Project Diagnostics" },
|
||||||
{ "<leader>dl", "<cmd>Trouble loclist toggle focus=true<cr>", desc = "Trouble: Location List" },
|
|
||||||
{ "<leader>dq", "<cmd>Trouble quickfix toggle focus=true<cr>", desc = "Trouble: Quickfix List" },
|
{ "<leader>dq", "<cmd>Trouble quickfix toggle focus=true<cr>", desc = "Trouble: Quickfix List" },
|
||||||
{ "gr", "<cmd>Trouble lsp_references toggle focus=true<cr>", desc = "Code: List References" },
|
{ "gr", "<cmd>Trouble lsp_references toggle focus=true<cr>", desc = "Goto References" },
|
||||||
{
|
{
|
||||||
"[q",
|
"[q",
|
||||||
function()
|
function()
|
||||||
@@ -306,6 +319,7 @@ return {
|
|||||||
"]q",
|
"]q",
|
||||||
function()
|
function()
|
||||||
if require("trouble").is_open() then
|
if require("trouble").is_open() then
|
||||||
|
---@diagnostic disable-next-line: missing-parameter, missing-fields
|
||||||
require("trouble").next({ skip_groups = true, jump = true })
|
require("trouble").next({ skip_groups = true, jump = true })
|
||||||
else
|
else
|
||||||
local ok, err = pcall(vim.cmd.cnext)
|
local ok, err = pcall(vim.cmd.cnext)
|
||||||
@@ -349,6 +363,7 @@ return {
|
|||||||
-- Search and jump around symbols in the buffer
|
-- Search and jump around symbols in the buffer
|
||||||
{
|
{
|
||||||
"SmiteshP/nvim-navbuddy",
|
"SmiteshP/nvim-navbuddy",
|
||||||
|
cond = require("config.util").is_not_vscode(),
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"SmiteshP/nvim-navic",
|
"SmiteshP/nvim-navic",
|
||||||
"MunifTanjim/nui.nvim",
|
"MunifTanjim/nui.nvim",
|
||||||
@@ -472,12 +487,22 @@ return {
|
|||||||
-- See `:help nvim-treesitter`
|
-- See `:help nvim-treesitter`
|
||||||
-- Defer Treesitter setup after first render to improve startup time of 'nvim {filename}'
|
-- Defer Treesitter setup after first render to improve startup time of 'nvim {filename}'
|
||||||
vim.defer_fn(function()
|
vim.defer_fn(function()
|
||||||
|
---@diagnostic disable-next-line: missing-fields
|
||||||
require("nvim-treesitter.configs").setup({
|
require("nvim-treesitter.configs").setup({
|
||||||
ensure_installed = {
|
ensure_installed = {
|
||||||
-- These 2 are required for cmdline
|
-- These 2 are required for cmdline
|
||||||
"regex",
|
"regex",
|
||||||
"markdown",
|
"markdown",
|
||||||
"markdown_inline",
|
"markdown_inline",
|
||||||
|
"lua",
|
||||||
|
"rust",
|
||||||
|
"typescript",
|
||||||
|
"javascript",
|
||||||
|
"bash",
|
||||||
|
"html",
|
||||||
|
"css",
|
||||||
|
"json",
|
||||||
|
"yaml",
|
||||||
},
|
},
|
||||||
|
|
||||||
auto_install = true,
|
auto_install = true,
|
||||||
@@ -538,10 +563,6 @@ return {
|
|||||||
enable = true,
|
enable = true,
|
||||||
border = "none",
|
border = "none",
|
||||||
floating_preview_opts = {},
|
floating_preview_opts = {},
|
||||||
-- peek_definition_code = {
|
|
||||||
-- ["<leader>cd"] = { query = "@function.outer", desc = "Peek function definition on a popup" },
|
|
||||||
-- ["<leader>cD"] = { query = "@class.outer", desc = "Peek class definition on a popup" },
|
|
||||||
-- },
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -10,19 +10,20 @@ return {
|
|||||||
},
|
},
|
||||||
config = true,
|
config = true,
|
||||||
keys = {
|
keys = {
|
||||||
{ "<leader>gg", "<cmd>Neogit<cr>", desc = "Git: Open Neogit", mode = { "n" } },
|
{ "<leader>gg", "<cmd>Neogit<cr>", desc = "Git: Open Neogit", mode = { "n" } },
|
||||||
{ "<leader>gL", "<cmd>Neogit log<cr>", desc = "Git: Open Log", mode = { "n" } },
|
{ "<leader>gL", "<cmd>Neogit log<cr>", desc = "Git: Open Log", mode = { "n" } },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
-- Git Diffview
|
-- Git Diffview
|
||||||
{
|
{
|
||||||
"sindrets/diffview.nvim",
|
"sindrets/diffview.nvim",
|
||||||
|
cond = require("config.util").is_not_vscode(),
|
||||||
keys = {
|
keys = {
|
||||||
|
|
||||||
{ "<leader>gd", "<cmd>DiffviewOpen<cr>", desc = "Git: Open Diffview", mode = { "n" } },
|
{ "<leader>gd", "<cmd>DiffviewOpen<cr>", desc = "Git: Open Diffview", mode = { "n" } },
|
||||||
{ "<leader>gD", "<cmd>DiffviewOpen<cr>", desc = "Git: Open Diffview against master", mode = { "n" } },
|
{ "<leader>gD", "<cmd>DiffviewOpen<cr>", desc = "Git: Open Diffview against master", mode = { "n" } },
|
||||||
{ "<leader>gh", "<cmd>DiffviewFileHistory<cr>", desc = "Git: Show file history", mode = { "n" } },
|
{ "<leader>gh", "<cmd>DiffviewFileHistory<cr>", desc = "Git: Show file history", mode = { "n" } },
|
||||||
},
|
},
|
||||||
-- TODO:
|
-- TODO:
|
||||||
-- Toggle Diffview keymap
|
-- Toggle Diffview keymap
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
-- TODO: Disable it for VSCode
|
|
||||||
--
|
|
||||||
-- Main LSP Configuration
|
-- Main LSP Configuration
|
||||||
"neovim/nvim-lspconfig",
|
"neovim/nvim-lspconfig",
|
||||||
|
cond = require("config.util").is_not_vscode(),
|
||||||
dependencies = {
|
dependencies = {
|
||||||
{ "williamboman/mason.nvim", config = true }, -- NOTE: Must be loaded before dependants
|
{ "williamboman/mason.nvim", config = true }, -- NOTE: Must be loaded before dependants
|
||||||
"williamboman/mason-lspconfig.nvim",
|
"williamboman/mason-lspconfig.nvim",
|
||||||
@@ -47,7 +46,7 @@ return {
|
|||||||
map("gd", require("telescope.builtin").lsp_definitions, "[G]oto [D]efinition")
|
map("gd", require("telescope.builtin").lsp_definitions, "[G]oto [D]efinition")
|
||||||
map("<F12>", require("telescope.builtin").lsp_definitions, "[G]oto [D]efinition")
|
map("<F12>", require("telescope.builtin").lsp_definitions, "[G]oto [D]efinition")
|
||||||
map("gD", vim.lsp.buf.declaration, "[G]oto [D]eclaration")
|
map("gD", vim.lsp.buf.declaration, "[G]oto [D]eclaration")
|
||||||
map("gr", require("telescope.builtin").lsp_references, "[G]oto [R]eferences")
|
-- map("gr", require("telescope.builtin").lsp_references, "[G]oto [R]eferences")
|
||||||
map("gI", require("telescope.builtin").lsp_implementations, "[G]oto [I]mplementation")
|
map("gI", require("telescope.builtin").lsp_implementations, "[G]oto [I]mplementation")
|
||||||
|
|
||||||
-- Fuzzy find all the symbols in your current document.
|
-- Fuzzy find all the symbols in your current document.
|
||||||
|
|||||||
@@ -161,22 +161,21 @@ return {
|
|||||||
|
|
||||||
-- Keymaps for LSP Things -> In code-lsp.lua
|
-- Keymaps for LSP Things -> In code-lsp.lua
|
||||||
|
|
||||||
-- Grep things -> Search
|
-- Buffer
|
||||||
vim.keymap.set("n", "<leader>sb", function()
|
vim.keymap.set("n", "<leader>bs", function()
|
||||||
require("telescope.builtin").live_grep({
|
require("telescope.builtin").live_grep({
|
||||||
grep_open_files = true,
|
grep_open_files = true,
|
||||||
prompt_title = "Live Grep in Open Files",
|
prompt_title = "Live Grep in Open Files",
|
||||||
})
|
})
|
||||||
end, { desc = "Search Open Buffers" })
|
end, { desc = "Live Grep Open Buffers" })
|
||||||
vim.keymap.set("n", "<leader>sg", require("telescope.builtin").live_grep, { desc = "Search/LiveGrep the Project" })
|
vim.keymap.set("n", "<leader>bl", require("telescope.builtin").buffers, { desc = "List Buffers" })
|
||||||
|
|
||||||
vim.keymap.set("n", "<C-a-f>", require("telescope.builtin").live_grep, { desc = "Search/LiveGrep the Project" })
|
vim.keymap.set("n", "<C-a-f>", require("telescope.builtin").live_grep, { desc = "Search/LiveGrep the Project" })
|
||||||
vim.keymap.set("n", "<leader>sw", require("telescope.builtin").grep_string, { desc = "Search current Word in Project" })
|
vim.keymap.set("n", "<leader>sw", require("telescope.builtin").grep_string, { desc = "Search current Word in Project" })
|
||||||
|
|
||||||
-- List
|
-- List
|
||||||
vim.keymap.set("n", "<leader>fb", require("telescope.builtin").buffers, { desc = "List Buffers" })
|
|
||||||
vim.keymap.set("n", "<C-a-p>", require("telescope.builtin").find_files, { desc = "List & Search Files" })
|
vim.keymap.set("n", "<C-a-p>", require("telescope.builtin").find_files, { desc = "List & Search Files" })
|
||||||
vim.keymap.set("n", "<leader>ff", require("telescope.builtin").find_files, { desc = "List & Search Files" })
|
vim.keymap.set("n", "<leader>dQ", require("telescope.builtin").quickfixhistory, { desc = "List Quickfix History" })
|
||||||
vim.keymap.set("n", "<leader>fq", require("telescope.builtin").quickfixhistory, { desc = "List Quickfix History" })
|
|
||||||
|
|
||||||
-- Git
|
-- Git
|
||||||
vim.keymap.set("n", "<leader>gfb", require("telescope.builtin").git_branches, { desc = "List Git Branches" })
|
vim.keymap.set("n", "<leader>gfb", require("telescope.builtin").git_branches, { desc = "List Git Branches" })
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ return {
|
|||||||
"akinsho/bufferline.nvim",
|
"akinsho/bufferline.nvim",
|
||||||
cond = require("config.util").is_not_vscode(),
|
cond = require("config.util").is_not_vscode(),
|
||||||
dependencies = {
|
dependencies = {
|
||||||
{ "echasnovski/mini.bufremove", version = "*" },
|
"echasnovski/mini.bufremove",
|
||||||
},
|
},
|
||||||
event = "VeryLazy",
|
event = "VeryLazy",
|
||||||
keys = {
|
keys = {
|
||||||
@@ -71,13 +71,19 @@ return {
|
|||||||
|
|
||||||
-- <alt+1> ... <alt+9> to switch to a buffer
|
-- <alt+1> ... <alt+9> to switch to a buffer
|
||||||
for i = 1, 9 do
|
for i = 1, 9 do
|
||||||
vim.keymap.set("n", string.format("<A-%s>", i), string.format("<cmd>BufferLineGoToBuffer %s<CR>", i), { noremap = true, silent = true })
|
vim.keymap.set(
|
||||||
|
{ "n", "v" },
|
||||||
|
string.format("<A-%s>", i),
|
||||||
|
string.format("<cmd>BufferLineGoToBuffer %s<CR>", i),
|
||||||
|
{ noremap = true, silent = true }
|
||||||
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Fix bufferline when restoring a session
|
-- Fix bufferline when restoring a session
|
||||||
vim.api.nvim_create_autocmd("BufAdd", {
|
vim.api.nvim_create_autocmd("BufAdd", {
|
||||||
callback = function()
|
callback = function()
|
||||||
vim.schedule(function()
|
vim.schedule(function()
|
||||||
|
---@diagnostic disable-next-line: param-type-mismatch
|
||||||
pcall(buf_line)
|
pcall(buf_line)
|
||||||
end)
|
end)
|
||||||
end,
|
end,
|
||||||
@@ -107,7 +113,7 @@ return {
|
|||||||
},
|
},
|
||||||
opts = {
|
opts = {
|
||||||
render = "wrapped-compact", -- Smaller popups
|
render = "wrapped-compact", -- Smaller popups
|
||||||
timeout = 2500,
|
timeout = 2000,
|
||||||
max_height = function()
|
max_height = function()
|
||||||
return math.floor(vim.o.lines * 0.25)
|
return math.floor(vim.o.lines * 0.25)
|
||||||
end,
|
end,
|
||||||
@@ -163,7 +169,7 @@ return {
|
|||||||
{ find = "; after #%d+" },
|
{ find = "; after #%d+" },
|
||||||
{ find = "; before #%d+" },
|
{ find = "; before #%d+" },
|
||||||
|
|
||||||
-- Display delete, yank, jump notifications at bottom
|
-- When message contains following
|
||||||
{ find = "yanked" },
|
{ find = "yanked" },
|
||||||
{ find = "fewer lines" },
|
{ find = "fewer lines" },
|
||||||
{ find = "more lines" },
|
{ find = "more lines" },
|
||||||
|
|||||||
@@ -108,24 +108,20 @@ return {
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"folke/lazydev.nvim",
|
"epwalsh/obsidian.nvim",
|
||||||
ft = "lua", -- only load on lua files
|
version = "*",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
},
|
||||||
|
cond = require("config.util").is_not_vscode(),
|
||||||
|
ft = "markdown",
|
||||||
opts = {
|
opts = {
|
||||||
library = {
|
workspaces = {
|
||||||
-- See the configuration section for more details
|
{ name = "personal", path = "~/Code/Notes" },
|
||||||
-- Load luvit types when the `vim.uv` word is found
|
},
|
||||||
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
|
completion = {
|
||||||
|
nvim_cmp = true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"hrsh7th/nvim-cmp",
|
|
||||||
opts = function(_, opts)
|
|
||||||
opts.sources = opts.sources or {}
|
|
||||||
table.insert(opts.sources, {
|
|
||||||
name = "lazydev",
|
|
||||||
group_index = 0, -- set group index to 0 to skip loading LuaLS completions
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user