Compare commits
8 Commits
2ff8a27863
...
6df0d32c01
| Author | SHA1 | Date | |
|---|---|---|---|
| 6df0d32c01 | |||
| 32eac9befd | |||
| 4dfb7abbba | |||
| a7c0178983 | |||
| 292de198a6 | |||
| 48392501e1 | |||
| dafff8e0cd | |||
| b4f94f7064 |
@@ -2,57 +2,15 @@ require("config.options")
|
|||||||
require("config.remap")
|
require("config.remap")
|
||||||
require("config.lsp")
|
require("config.lsp")
|
||||||
|
|
||||||
local ok, paq = pcall(require, "paq")
|
require("plugins.arrow")
|
||||||
if ok then
|
require("plugins.auto-session")
|
||||||
paq({
|
require("plugins.colorscheme")
|
||||||
"EdenEast/nightfox.nvim",
|
require("plugins.conform")
|
||||||
"ellisonleao/gruvbox.nvim",
|
require("plugins.flash")
|
||||||
"stevearc/conform.nvim",
|
require("plugins.multicursor")
|
||||||
"otavioschwanck/arrow.nvim",
|
require("plugins.nvim-various-textobjs")
|
||||||
"folke/flash.nvim",
|
require("plugins.oil")
|
||||||
"folke/snacks.nvim",
|
require("plugins.snacks")
|
||||||
"stevearc/oil.nvim",
|
require("plugins.telescope")
|
||||||
{
|
require("plugins.surround")
|
||||||
"jake-stewart/multicursor.nvim",
|
require("plugins.treesitter")
|
||||||
branch = "1.0",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nvim-treesitter/nvim-treesitter-textobjects",
|
|
||||||
branch = "master",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
branch = "master",
|
|
||||||
build = ":TSUpdate",
|
|
||||||
},
|
|
||||||
})
|
|
||||||
else
|
|
||||||
print("plugin paq missing")
|
|
||||||
end
|
|
||||||
|
|
||||||
local function load_plugin(name, setup)
|
|
||||||
local cfg = require(setup)
|
|
||||||
name = cfg.main or name
|
|
||||||
local ok, plugin = pcall(require, name)
|
|
||||||
if ok then
|
|
||||||
if cfg.config then
|
|
||||||
cfg.config(cfg.opts)
|
|
||||||
else
|
|
||||||
plugin.setup(cfg.opts)
|
|
||||||
end
|
|
||||||
if cfg.init then
|
|
||||||
cfg.init(plugin)
|
|
||||||
end
|
|
||||||
else
|
|
||||||
print("plugin " .. name .. " missing")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
load_plugin("arrow", "plugins.arrow")
|
|
||||||
load_plugin("nightfox", "plugins.colorscheme")
|
|
||||||
load_plugin("conform", "plugins.conform")
|
|
||||||
load_plugin("flash", "plugins.flash")
|
|
||||||
load_plugin("multicursor-nvim", "plugins.multicursor")
|
|
||||||
load_plugin("oil", "plugins.oil")
|
|
||||||
load_plugin("snacks", "plugins.snacks")
|
|
||||||
load_plugin("treesitter", "plugins.treesitter")
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ vim.api.nvim_create_autocmd("LspAttach", {
|
|||||||
return { abbr = item.label:gsub("%b()", "") }
|
return { abbr = item.label:gsub("%b()", "") }
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
vim.keymap.set("n", "<leader>A", vim.lsp.buf.code_action)
|
vim.keymap.set("n", "<leader>a", vim.lsp.buf.code_action)
|
||||||
vim.keymap.set("i", "<C-space>", vim.lsp.completion.get)
|
vim.keymap.set("i", "<C-space>", vim.lsp.completion.get)
|
||||||
vim.keymap.set("n", "<leader>k", function()
|
vim.keymap.set("n", "<leader>k", function()
|
||||||
vim.diagnostic.jump({ float = true, count = -1 })
|
vim.diagnostic.jump({ float = true, count = -1 })
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
vim.keymap.set("n", "<M-h>", "<C-w>h")
|
local set = vim.keymap.set
|
||||||
vim.keymap.set("n", "<M-k>", "<C-w>k")
|
|
||||||
vim.keymap.set("n", "<M-j>", "<C-w>j")
|
|
||||||
vim.keymap.set("n", "<M-l>", "<C-w>l")
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<Esc>", "<cmd>nohlsearch<cr>")
|
set("n", "<M-h>", "<C-w>h")
|
||||||
vim.keymap.set("n", "<leader>k", "<cmd>cp<cr>")
|
set("n", "<M-k>", "<C-w>k")
|
||||||
vim.keymap.set("n", "<leader>j", "<cmd>cn<cr>")
|
set("n", "<M-j>", "<C-w>j")
|
||||||
vim.keymap.set("n", "<leader>x", "<cmd>copen<cr>")
|
set("n", "<M-l>", "<C-w>l")
|
||||||
vim.keymap.set("n", "<leader>X", "<cmd>cclose<cr>")
|
|
||||||
|
set("n", "<Esc>", "<cmd>nohlsearch<cr>")
|
||||||
|
set("n", "<leader>K", "<cmd>cp<cr>")
|
||||||
|
set("n", "<leader>J", "<cmd>cn<cr>")
|
||||||
|
set("n", "<leader>x", "<cmd>copen<cr>")
|
||||||
|
set("n", "<leader>X", "<cmd>cclose<cr>")
|
||||||
|
|||||||
@@ -1,7 +1,12 @@
|
|||||||
return {
|
vim.pack.add({ "https://github.com/otavioschwanck/arrow.nvim" })
|
||||||
opts = {
|
|
||||||
|
local ok, arrow = pcall(require, "arrow")
|
||||||
|
if ok then
|
||||||
|
arrow.setup({
|
||||||
show_icons = false,
|
show_icons = false,
|
||||||
leader_key = "_",
|
leader_key = "_",
|
||||||
buffer_leader_key = " m",
|
buffer_leader_key = " m",
|
||||||
},
|
})
|
||||||
}
|
else
|
||||||
|
print("plugin arrow missing")
|
||||||
|
end
|
||||||
|
|||||||
12
nvim/.config/nvim/lua/plugins/auto-session.lua
Normal file
12
nvim/.config/nvim/lua/plugins/auto-session.lua
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
vim.pack.add({ "https://github.com/rmagatti/auto-session" })
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<leader>A", "<cmd>AutoSession search<cr>")
|
||||||
|
|
||||||
|
local ok, sess = pcall(require, "auto-session")
|
||||||
|
if ok then
|
||||||
|
sess.setup({
|
||||||
|
suppressed_dirs = { "~/", "~/src", "~/Downloads", "/" },
|
||||||
|
})
|
||||||
|
else
|
||||||
|
print("plugin auto-session missing")
|
||||||
|
end
|
||||||
@@ -1,16 +1,5 @@
|
|||||||
return {
|
vim.pack.add({ "https://github.com/EdenEast/nightfox.nvim" })
|
||||||
opts = {
|
|
||||||
specs = {
|
|
||||||
all = {
|
|
||||||
syntax = {
|
|
||||||
operator = "#bf8040",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
init = function()
|
|
||||||
local cs = require("config.colorscheme")
|
local cs = require("config.colorscheme")
|
||||||
cs.set_colorschemes("gruvbox", "gruvbox")
|
cs.set_colorschemes("terafox", "dayfox")
|
||||||
cs.update_colorscheme()
|
cs.update_colorscheme()
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
return {
|
vim.pack.add({ "https://github.com/stevearc/conform.nvim" })
|
||||||
opts = {
|
|
||||||
|
local ok, conform = pcall(require, "conform")
|
||||||
|
if ok then
|
||||||
|
conform.setup({
|
||||||
formatters_by_ft = {
|
formatters_by_ft = {
|
||||||
lua = { "stylua" },
|
lua = { "stylua" },
|
||||||
},
|
},
|
||||||
@@ -7,5 +10,7 @@ return {
|
|||||||
timeout_ms = 500,
|
timeout_ms = 500,
|
||||||
lsp_format = "fallback",
|
lsp_format = "fallback",
|
||||||
},
|
},
|
||||||
},
|
})
|
||||||
}
|
else
|
||||||
|
print("plugin conform missing")
|
||||||
|
end
|
||||||
|
|||||||
@@ -1,13 +1,18 @@
|
|||||||
return {
|
vim.pack.add({ "https://github.com/folke/flash.nvim" })
|
||||||
opts = {
|
|
||||||
|
local ok, flash = pcall(require, "flash")
|
||||||
|
|
||||||
|
if ok then
|
||||||
|
flash.setup({
|
||||||
modes = {
|
modes = {
|
||||||
char = {
|
char = {
|
||||||
enabled = false,
|
enabled = false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
})
|
||||||
init = function()
|
|
||||||
local set = vim.keymap.set
|
local set = vim.keymap.set
|
||||||
|
|
||||||
set({ "n", "x", "o" }, "\\", function()
|
set({ "n", "x", "o" }, "\\", function()
|
||||||
require("flash").jump()
|
require("flash").jump()
|
||||||
end, { desc = "Flash" })
|
end, { desc = "Flash" })
|
||||||
@@ -20,5 +25,6 @@ return {
|
|||||||
set({ "n", "x", "o" }, " t", function()
|
set({ "n", "x", "o" }, " t", function()
|
||||||
require("flash").treesitter_search()
|
require("flash").treesitter_search()
|
||||||
end, { desc = "Treesitter Search" })
|
end, { desc = "Treesitter Search" })
|
||||||
end,
|
else
|
||||||
}
|
print("plugin flash missing")
|
||||||
|
end
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
return {
|
vim.pack.add({ { src = "https://github.com/jake-stewart/multicursor.nvim", version = "1.0" } })
|
||||||
init = function(mc)
|
|
||||||
|
local ok, mc = pcall(require, "multicursor-nvim")
|
||||||
|
if ok then
|
||||||
|
mc.setup()
|
||||||
|
|
||||||
local set = vim.keymap.set
|
local set = vim.keymap.set
|
||||||
|
|
||||||
-- Add or skip cursor above/below the main cursor.
|
-- Add or skip cursor above/below the main cursor.
|
||||||
@@ -67,5 +71,6 @@ return {
|
|||||||
hl(0, "MultiCursorDisabledCursor", { reverse = true })
|
hl(0, "MultiCursorDisabledCursor", { reverse = true })
|
||||||
hl(0, "MultiCursorDisabledVisual", { link = "Visual" })
|
hl(0, "MultiCursorDisabledVisual", { link = "Visual" })
|
||||||
hl(0, "MultiCursorDisabledSign", { link = "SignColumn" })
|
hl(0, "MultiCursorDisabledSign", { link = "SignColumn" })
|
||||||
end,
|
else
|
||||||
}
|
print("plugin multicursor-nvim missing")
|
||||||
|
end
|
||||||
|
|||||||
8
nvim/.config/nvim/lua/plugins/nvim-various-textobjs.lua
Normal file
8
nvim/.config/nvim/lua/plugins/nvim-various-textobjs.lua
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
vim.pack.add({ "https://github.com/chrisgrieser/nvim-various-textobjs" })
|
||||||
|
|
||||||
|
local ok, oil = pcall(require, "various-textobjs")
|
||||||
|
if ok then
|
||||||
|
oil.setup({ keymaps = { useDefaults = true } })
|
||||||
|
else
|
||||||
|
print("plugin nvim-various-textobjs missing")
|
||||||
|
end
|
||||||
@@ -1,5 +1,10 @@
|
|||||||
return {
|
vim.pack.add({ "https://github.com/stevearc/oil.nvim" })
|
||||||
init = function()
|
|
||||||
|
local ok, oil = pcall(require, "oil")
|
||||||
|
if ok then
|
||||||
|
oil.setup()
|
||||||
|
else
|
||||||
|
print("plugin oil missing")
|
||||||
|
end
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>-", "<cmd>Oil<cr>", { desc = "Oil file manager" })
|
vim.keymap.set("n", "<leader>-", "<cmd>Oil<cr>", { desc = "Oil file manager" })
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,56 +1,41 @@
|
|||||||
return {
|
vim.pack.add({ "https://github.com/folke/snacks.nvim" })
|
||||||
init = function()
|
|
||||||
|
local ok, snacks = pcall(require, "snacks")
|
||||||
|
if ok then
|
||||||
|
snacks.setup({
|
||||||
|
picker = { enabled = true },
|
||||||
|
})
|
||||||
|
else
|
||||||
|
print("plugin snacks missing")
|
||||||
|
end
|
||||||
|
|
||||||
local set = vim.keymap.set
|
local set = vim.keymap.set
|
||||||
|
|
||||||
set("n", "<leader><space>", function()
|
set("n", "<leader><space>", function()
|
||||||
Snacks.picker.smart()
|
Snacks.picker.smart()
|
||||||
end, { desc = "Smart Find Files" })
|
end, { desc = "Smart Find Files" })
|
||||||
|
|
||||||
set("n", "<leader>b", function()
|
|
||||||
Snacks.picker.buffers()
|
|
||||||
end, { desc = "Buffers" })
|
|
||||||
|
|
||||||
set("n", "<leader>e", function()
|
set("n", "<leader>e", function()
|
||||||
Snacks.explorer()
|
Snacks.explorer()
|
||||||
end, { desc = "File Explorer" })
|
end, { desc = "File Explorer" })
|
||||||
|
|
||||||
set("n", "<leader>r", function()
|
set("n", "<leader>xr", function()
|
||||||
Snacks.picker.recent()
|
Snacks.picker.recent()
|
||||||
end, { desc = "Recent files" })
|
end, { desc = "Recent files" })
|
||||||
|
|
||||||
set("n", "<leader>R", function()
|
set("n", "<leader>xR", function()
|
||||||
Snacks.picker.resume()
|
Snacks.picker.resume()
|
||||||
end, { desc = "Resume" })
|
end, { desc = "Resume" })
|
||||||
|
|
||||||
set("n", "<leader>a", function()
|
set("n", "<leader>p", function()
|
||||||
Snacks.picker.projects()
|
Snacks.picker.projects()
|
||||||
end, { desc = "Projects" })
|
end, { desc = "Projects" })
|
||||||
|
|
||||||
set("n", "<leader>l", function()
|
|
||||||
Snacks.picker.lines()
|
|
||||||
end, { desc = "Buffer lines" })
|
|
||||||
|
|
||||||
set("n", "<leader>L", function()
|
|
||||||
Snacks.picker.grep_buffers()
|
|
||||||
end, { desc = "Grep Open Buffers" })
|
|
||||||
|
|
||||||
set("n", "<leader>F", function()
|
|
||||||
Snacks.picker.files()
|
|
||||||
end, { desc = "Find Files" })
|
|
||||||
|
|
||||||
set("n", "<leader>S", function()
|
|
||||||
Snacks.picker.grep()
|
|
||||||
end, { desc = "Grep" })
|
|
||||||
|
|
||||||
set("n", "<leader>B", function()
|
|
||||||
Snacks.picker.git_branches()
|
|
||||||
end, { desc = "Git Branches" })
|
|
||||||
|
|
||||||
set({ "n", "v" }, "<leader>xB", function()
|
set({ "n", "v" }, "<leader>xB", function()
|
||||||
Snacks.gitbrowse()
|
Snacks.gitbrowse()
|
||||||
end, { desc = "Git Browse" })
|
end, { desc = "Git Browse" })
|
||||||
|
|
||||||
set("n", "<leader>i", function()
|
set("n", "<leader>gl", function()
|
||||||
Snacks.picker.git_log_line()
|
Snacks.picker.git_log_line()
|
||||||
end, { desc = "Git Log Line" })
|
end, { desc = "Git Log Line" })
|
||||||
|
|
||||||
@@ -70,46 +55,22 @@ return {
|
|||||||
Snacks.picker.git_stash()
|
Snacks.picker.git_stash()
|
||||||
end, { desc = "Git Stash" })
|
end, { desc = "Git Stash" })
|
||||||
|
|
||||||
set("n", "<leader>f", function()
|
|
||||||
Snacks.picker.git_files()
|
|
||||||
end, { desc = "Find Git Files" })
|
|
||||||
|
|
||||||
set("n", "<leader>s", function()
|
|
||||||
Snacks.picker.git_grep()
|
|
||||||
end, { desc = "Git Grep" })
|
|
||||||
|
|
||||||
set({ "n", "v" }, "<leader>o", function()
|
set({ "n", "v" }, "<leader>o", function()
|
||||||
Snacks.picker.grep_word()
|
Snacks.picker.grep_word()
|
||||||
end, { desc = "Grep Visual Selection or Word" })
|
end, { desc = "Grep Visual Selection or Word" })
|
||||||
|
|
||||||
set("n", "<leader>g", function()
|
set("n", "<leader>gg", function()
|
||||||
Snacks.lazygit()
|
Snacks.lazygit()
|
||||||
end, { desc = "Lazygit" })
|
end, { desc = "Lazygit" })
|
||||||
|
|
||||||
set("n", "<leader>G", function()
|
set("n", "<leader>gL", function()
|
||||||
Snacks.lazygit.log_file()
|
Snacks.lazygit.log_file()
|
||||||
end, { desc = "Git Log File" })
|
end, { desc = "Git Log File" })
|
||||||
|
|
||||||
set("n", "<leader>m", function()
|
|
||||||
Snacks.picker.marks()
|
|
||||||
end, { desc = "Marks" })
|
|
||||||
|
|
||||||
set("n", "<leader>M", function()
|
|
||||||
Snacks.picker.man()
|
|
||||||
end, { desc = "Man pages" })
|
|
||||||
|
|
||||||
set("n", "<leader>U", function()
|
set("n", "<leader>U", function()
|
||||||
Snacks.picker.undo()
|
Snacks.picker.undo()
|
||||||
end, { desc = "Undo History" })
|
end, { desc = "Undo History" })
|
||||||
|
|
||||||
set("n", "<leader>q", function()
|
|
||||||
Snacks.picker.qflist()
|
|
||||||
end, { desc = "Quickfix list" })
|
|
||||||
|
|
||||||
set("n", "<leader>Q", function()
|
|
||||||
Snacks.picker.loclist()
|
|
||||||
end, { desc = "Location List" })
|
|
||||||
|
|
||||||
set("n", "<leader>xs", function()
|
set("n", "<leader>xs", function()
|
||||||
Snacks.picker.colorschemes()
|
Snacks.picker.colorschemes()
|
||||||
end, { desc = "Colorschemes" })
|
end, { desc = "Colorschemes" })
|
||||||
@@ -126,22 +87,10 @@ return {
|
|||||||
Snacks.picker.commands()
|
Snacks.picker.commands()
|
||||||
end, { desc = "Commands" })
|
end, { desc = "Commands" })
|
||||||
|
|
||||||
set("n", "<leader>h", function()
|
|
||||||
Snacks.picker.keymaps()
|
|
||||||
end, { desc = "Keymaps" })
|
|
||||||
|
|
||||||
set("n", "<leader>xh", function()
|
|
||||||
Snacks.picker.highlights()
|
|
||||||
end, { desc = "Hightlights" })
|
|
||||||
|
|
||||||
set("n", "<leader>xc", function()
|
set("n", "<leader>xc", function()
|
||||||
Snacks.picker.command_history()
|
Snacks.picker.command_history()
|
||||||
end, { desc = "Command History" })
|
end, { desc = "Command History" })
|
||||||
|
|
||||||
set("n", '<leader>"', function()
|
|
||||||
Snacks.picker.registers()
|
|
||||||
end, { desc = "Registers" })
|
|
||||||
|
|
||||||
set("n", "<leader>$", function()
|
set("n", "<leader>$", function()
|
||||||
Snacks.rename.rename_file()
|
Snacks.rename.rename_file()
|
||||||
end, { desc = "Rename File" })
|
end, { desc = "Rename File" })
|
||||||
@@ -160,41 +109,10 @@ return {
|
|||||||
|
|
||||||
-- LSP
|
-- LSP
|
||||||
|
|
||||||
set("n", "gd", function()
|
|
||||||
Snacks.picker.lsp_definitions()
|
|
||||||
end, { desc = "Goto Definition" })
|
|
||||||
|
|
||||||
set("n", "gD", function()
|
set("n", "gD", function()
|
||||||
Snacks.picker.lsp_declarations()
|
Snacks.picker.lsp_declarations()
|
||||||
end, { desc = "Goto Declaration" })
|
end, { desc = "Goto Declaration" })
|
||||||
|
|
||||||
set("n", "grr", function()
|
|
||||||
Snacks.picker.lsp_references()
|
|
||||||
end, { desc = "References" })
|
|
||||||
|
|
||||||
set("n", "gI", function()
|
|
||||||
Snacks.picker.lsp_implementations()
|
|
||||||
end, { desc = "Goto Implementation" })
|
|
||||||
|
|
||||||
set("n", "gy", function()
|
|
||||||
Snacks.picker.lsp_type_definitions()
|
|
||||||
end, { desc = "Goto T[y]pe Definition" })
|
|
||||||
|
|
||||||
set("n", "<leader>w", function()
|
|
||||||
Snacks.picker.lsp_symbols()
|
|
||||||
end, { desc = "LSP Symbols" })
|
|
||||||
|
|
||||||
set("n", "<leader>d", function()
|
|
||||||
Snacks.picker.diagnostics_buffer()
|
|
||||||
end, { desc = "Buffer Diagnostics" })
|
|
||||||
|
|
||||||
set("n", "<leader>D", function()
|
|
||||||
Snacks.picker.diagnostics()
|
|
||||||
end, { desc = "Diagnostics" })
|
|
||||||
|
|
||||||
set("n", "<leader>W", function()
|
|
||||||
Snacks.picker.lsp_workspace_symbols()
|
|
||||||
end, { desc = "LSP Workspace Symbols" })
|
|
||||||
-- Terminal
|
-- Terminal
|
||||||
|
|
||||||
set({ "n", "t" }, "<c-/>", function()
|
set({ "n", "t" }, "<c-/>", function()
|
||||||
@@ -234,13 +152,9 @@ return {
|
|||||||
.option("conceallevel", { off = 0, on = vim.o.conceallevel > 0 and vim.o.conceallevel or 2 })
|
.option("conceallevel", { off = 0, on = vim.o.conceallevel > 0 and vim.o.conceallevel or 2 })
|
||||||
:map("<leader>uc")
|
:map("<leader>uc")
|
||||||
Snacks.toggle.treesitter():map("<leader>uT")
|
Snacks.toggle.treesitter():map("<leader>uT")
|
||||||
Snacks.toggle
|
Snacks.toggle.option("background", { off = "light", on = "dark", name = "Dark Background" }):map("<leader>ub")
|
||||||
.option("background", { off = "light", on = "dark", name = "Dark Background" })
|
|
||||||
:map("<leader>ub")
|
|
||||||
Snacks.toggle.inlay_hints():map("<leader>uh")
|
Snacks.toggle.inlay_hints():map("<leader>uh")
|
||||||
Snacks.toggle.indent():map("<leader>ug")
|
Snacks.toggle.indent():map("<leader>ug")
|
||||||
Snacks.toggle.dim():map("<leader>uD")
|
Snacks.toggle.dim():map("<leader>uD")
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|||||||
13
nvim/.config/nvim/lua/plugins/surround.lua
Normal file
13
nvim/.config/nvim/lua/plugins/surround.lua
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
vim.pack.add({
|
||||||
|
{
|
||||||
|
src = "https://github.com/kylechui/nvim-surround",
|
||||||
|
version = vim.version.range("^3.0.0"),
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
local ok, surround = pcall(require, "nvim-surround")
|
||||||
|
if ok then
|
||||||
|
surround.setup()
|
||||||
|
else
|
||||||
|
print("plugin surround missing")
|
||||||
|
end
|
||||||
75
nvim/.config/nvim/lua/plugins/telescope.lua
Normal file
75
nvim/.config/nvim/lua/plugins/telescope.lua
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
vim.api.nvim_create_autocmd("PackChanged", {
|
||||||
|
group = vim.api.nvim_create_augroup("telescope-fzf-native-update", { clear = true }),
|
||||||
|
callback = function(ev)
|
||||||
|
local name, kind = ev.data.spec.name, ev.data.kind
|
||||||
|
if name == "telescope-fzf-native.nvim" and (kind == "install" or kind == "update") then
|
||||||
|
vim.system({ "make" }, { cwd = ev.data.path })
|
||||||
|
print("telescope-fzf-native make done.")
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.pack.add({
|
||||||
|
{ src = "https://github.com/nvim-telescope/telescope.nvim", version = "v0.2.1" },
|
||||||
|
"https://github.com/nvim-lua/plenary.nvim",
|
||||||
|
"https://github.com/nvim-telescope/telescope-fzf-native.nvim",
|
||||||
|
"https://gitlab.com/davvid/telescope-git-grep.nvim",
|
||||||
|
{ src = "https://github.com/nvim-telescope/telescope-frecency.nvim", version = vim.version.range("^1.0.0") },
|
||||||
|
})
|
||||||
|
|
||||||
|
local ok, builtin = pcall(require, "telescope.builtin")
|
||||||
|
if ok then
|
||||||
|
require("telescope").setup({
|
||||||
|
defaults = require("telescope.themes").get_ivy(),
|
||||||
|
})
|
||||||
|
local set = vim.keymap.set
|
||||||
|
|
||||||
|
require("telescope").load_extension("fzf")
|
||||||
|
require("telescope").load_extension("git_grep")
|
||||||
|
require("telescope").load_extension("frecency")
|
||||||
|
set("n", "<leader><space>", function()
|
||||||
|
require("telescope-frecency").start()
|
||||||
|
end, { desc = "Telescope frecency" })
|
||||||
|
set("n", "<leader>b", builtin.buffers, { desc = "Telescope buffers" })
|
||||||
|
set("n", "<leader>f", builtin.git_files, { desc = "Telescope git files" })
|
||||||
|
set("n", "<leader>l", builtin.current_buffer_fuzzy_find, { desc = "Telescope current buffer fuzzy find" })
|
||||||
|
set("n", "<leader>L", function()
|
||||||
|
builtin.live_grep({ grep_open_files = true })
|
||||||
|
end, { desc = "Telescope grep open files" })
|
||||||
|
set("n", "<leader>s", function()
|
||||||
|
builtin.live_grep({ command = "git grep" })
|
||||||
|
end, { desc = "Telescope grep open files" })
|
||||||
|
set("n", "<leader>d", builtin.diagnostics, { desc = "Telescope diagnostics" })
|
||||||
|
set("n", "<leader>f", builtin.git_files, { desc = "Telescope git files" })
|
||||||
|
set("n", "<leader>F", builtin.find_files, { desc = "Telescope find files" })
|
||||||
|
set("n", "<leader>gB", builtin.git_branches, { desc = "Telescope git branches" })
|
||||||
|
set("n", "<leader>gc", builtin.git_bcommits, { desc = "Telescope git buffer commits" })
|
||||||
|
set("n", "<leader>gC", builtin.git_commits, { desc = "Telescope git commits" })
|
||||||
|
set("n", "<leader>gs", builtin.git_status, { desc = "Telescope git status" })
|
||||||
|
set("n", "<leader>h", builtin.help_tags, { desc = "Telescope help tags" })
|
||||||
|
set("n", "<leader>H", builtin.keymaps, { desc = "Telescope keymaps" })
|
||||||
|
set("n", "<leader>xH", builtin.highlights, { desc = "Telescope highlights" })
|
||||||
|
set("n", "<leader>m", builtin.marks, { desc = "Telescope marks" })
|
||||||
|
set("n", "<leader>M", builtin.man_pages, { desc = "Telescope man pages" })
|
||||||
|
set("n", "<leader>o", builtin.oldfiles, { desc = "Telescope oldfiles" })
|
||||||
|
set("n", "<leader>qq", builtin.quickfix, { desc = "Telescope quickfix" })
|
||||||
|
set("n", "<leader>qh", builtin.quickfixhistory, { desc = "Telescope quickfix history" })
|
||||||
|
set("n", "<leader>ql", builtin.loclist, { desc = "Telescope loclist" })
|
||||||
|
set("n", "<leader>r", builtin.resume, { desc = "Telescope resume" })
|
||||||
|
set("n", "<leader>t", builtin.treesitter, { desc = "Telescope treesitter symbols" })
|
||||||
|
set("n", "<leader>R", builtin.registers, { desc = "Telescope registers" })
|
||||||
|
set("n", "<leader>s", function()
|
||||||
|
require("git_grep").live_grep()
|
||||||
|
end, { desc = "Telescope git grep" })
|
||||||
|
set("n", "<leader>S", builtin.live_grep, { desc = "Telescope live grep" })
|
||||||
|
set("n", "<leader>w", builtin.lsp_document_symbols, { desc = "Telescope document symbols" })
|
||||||
|
set("n", "<leader>W", builtin.lsp_workspace_symbols, { desc = "Telescope workspace symbols" })
|
||||||
|
set("n", "<leader>:", builtin.builtin, { desc = "Telescope builtin" })
|
||||||
|
|
||||||
|
set("n", "gd", builtin.lsp_definitions, { desc = "Goto Definition" })
|
||||||
|
set("n", "grr", builtin.lsp_references, { desc = "References" })
|
||||||
|
set("n", "gI", builtin.lsp_implementations, { desc = "Goto Implementation" })
|
||||||
|
set("n", "gy", builtin.lsp_type_definitions, { desc = "Goto T[y]pe Definition" })
|
||||||
|
else
|
||||||
|
print("plugin builtin missing")
|
||||||
|
end
|
||||||
@@ -1,6 +1,26 @@
|
|||||||
return {
|
-- run ":TSUpdate" after plugin update
|
||||||
main = "nvim-treesitter.configs",
|
-- If hooks need to run on install, run this before `vim.pack.add()`
|
||||||
opts = {
|
vim.api.nvim_create_autocmd("PackChanged", {
|
||||||
|
group = vim.api.nvim_create_augroup("nvim-treesitter-update", { clear = true }),
|
||||||
|
callback = function(ev)
|
||||||
|
local name, kind = ev.data.spec.name, ev.data.kind
|
||||||
|
if name == "nvim-treesitter" and kind == "update" then
|
||||||
|
if not ev.data.active then
|
||||||
|
vim.cmd.packadd("nvim-treesitter")
|
||||||
|
end
|
||||||
|
vim.cmd("TSUpdate")
|
||||||
|
print("TSUpdate done.")
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.pack.add({
|
||||||
|
{ src = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects", version = "master" },
|
||||||
|
{ src = "https://github.com/nvim-treesitter/nvim-treesitter", version = "master" },
|
||||||
|
})
|
||||||
|
local ok, configs = pcall(require, "nvim-treesitter.configs")
|
||||||
|
if ok then
|
||||||
|
configs.setup({
|
||||||
highlight = {
|
highlight = {
|
||||||
enable = true,
|
enable = true,
|
||||||
},
|
},
|
||||||
@@ -58,5 +78,7 @@ return {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
})
|
||||||
}
|
else
|
||||||
|
print("plugin nvim-treesitter.configs missing")
|
||||||
|
end
|
||||||
|
|||||||
78
nvim/.config/nvim/nvim-pack-lock.json
Normal file
78
nvim/.config/nvim/nvim-pack-lock.json
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
{
|
||||||
|
"plugins": {
|
||||||
|
"arrow.nvim": {
|
||||||
|
"rev": "6e0f726f55f99332dd726a53effd6813786b6d49",
|
||||||
|
"src": "https://github.com/otavioschwanck/arrow.nvim"
|
||||||
|
},
|
||||||
|
"auto-session": {
|
||||||
|
"rev": "292492ab7af4bd8b9e37e28508bc8ce995722fd5",
|
||||||
|
"src": "https://github.com/rmagatti/auto-session"
|
||||||
|
},
|
||||||
|
"conform.nvim": {
|
||||||
|
"rev": "8314f4c9e205e7f30b62147069729f9a1227d8bf",
|
||||||
|
"src": "https://github.com/stevearc/conform.nvim"
|
||||||
|
},
|
||||||
|
"flash.nvim": {
|
||||||
|
"rev": "fcea7ff883235d9024dc41e638f164a450c14ca2",
|
||||||
|
"src": "https://github.com/folke/flash.nvim"
|
||||||
|
},
|
||||||
|
"multicursor.nvim": {
|
||||||
|
"rev": "993c6eda70077c5619388900dcffefff73b40c96",
|
||||||
|
"src": "https://github.com/jake-stewart/multicursor.nvim",
|
||||||
|
"version": "'1.0'"
|
||||||
|
},
|
||||||
|
"nightfox.nvim": {
|
||||||
|
"rev": "ba47d4b4c5ec308718641ba7402c143836f35aa9",
|
||||||
|
"src": "https://github.com/EdenEast/nightfox.nvim"
|
||||||
|
},
|
||||||
|
"nvim-surround": {
|
||||||
|
"rev": "1098d7b3c34adcfa7feb3289ee434529abd4afd1",
|
||||||
|
"src": "https://github.com/kylechui/nvim-surround",
|
||||||
|
"version": "3.0.0 - 4.0.0"
|
||||||
|
},
|
||||||
|
"nvim-treesitter": {
|
||||||
|
"rev": "42fc28ba918343ebfd5565147a42a26580579482",
|
||||||
|
"src": "https://github.com/nvim-treesitter/nvim-treesitter",
|
||||||
|
"version": "'master'"
|
||||||
|
},
|
||||||
|
"nvim-treesitter-textobjects": {
|
||||||
|
"rev": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef",
|
||||||
|
"src": "https://github.com/nvim-treesitter/nvim-treesitter-textobjects",
|
||||||
|
"version": "'master'"
|
||||||
|
},
|
||||||
|
"nvim-various-textobjs": {
|
||||||
|
"rev": "1532de4649c81b88ee0b4e53bdd17e551dd4589a",
|
||||||
|
"src": "https://github.com/chrisgrieser/nvim-various-textobjs"
|
||||||
|
},
|
||||||
|
"oil.nvim": {
|
||||||
|
"rev": "81b8a91735ad5cd24a6b3137f14a89f19176364f",
|
||||||
|
"src": "https://github.com/stevearc/oil.nvim"
|
||||||
|
},
|
||||||
|
"plenary.nvim": {
|
||||||
|
"rev": "b9fd5226c2f76c951fc8ed5923d85e4de065e509",
|
||||||
|
"src": "https://github.com/nvim-lua/plenary.nvim"
|
||||||
|
},
|
||||||
|
"snacks.nvim": {
|
||||||
|
"rev": "fe7cfe9800a182274d0f868a74b7263b8c0c020b",
|
||||||
|
"src": "https://github.com/folke/snacks.nvim"
|
||||||
|
},
|
||||||
|
"telescope-frecency.nvim": {
|
||||||
|
"rev": "d4f1bb2a939cc02720bceb635095246751db144f",
|
||||||
|
"src": "https://github.com/nvim-telescope/telescope-frecency.nvim",
|
||||||
|
"version": "1.0.0 - 2.0.0"
|
||||||
|
},
|
||||||
|
"telescope-fzf-native.nvim": {
|
||||||
|
"rev": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c",
|
||||||
|
"src": "https://github.com/nvim-telescope/telescope-fzf-native.nvim"
|
||||||
|
},
|
||||||
|
"telescope-git-grep.nvim": {
|
||||||
|
"rev": "0936967941a6e7b3875d1b1bfff41b8bcd75bdf5",
|
||||||
|
"src": "https://gitlab.com/davvid/telescope-git-grep.nvim"
|
||||||
|
},
|
||||||
|
"telescope.nvim": {
|
||||||
|
"rev": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179",
|
||||||
|
"src": "https://github.com/nvim-telescope/telescope.nvim",
|
||||||
|
"version": "'v0.2.1'"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user