(neovim) Go back to LazyVim, as it's blazingy fast.
This commit is contained in:
parent
977453fa05
commit
737fb45fac
48 changed files with 644 additions and 508 deletions
2
_saved/vim/ftpd/init.lua
Normal file
2
_saved/vim/ftpd/init.lua
Normal file
|
@ -0,0 +1,2 @@
|
|||
require("config")
|
||||
require("core")
|
100
_saved/vim/ftpd/lua/config/autocmds.lua
Normal file
100
_saved/vim/ftpd/lua/config/autocmds.lua
Normal file
|
@ -0,0 +1,100 @@
|
|||
-- don't auto comment new line
|
||||
vim.api.nvim_create_autocmd("BufEnter", { command = [[set formatoptions-=cro]] })
|
||||
|
||||
-- resize neovim split when terminal is resized
|
||||
vim.api.nvim_command("autocmd VimResized * wincmd =")
|
||||
|
||||
-- enable spell for text files
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
group = vim.api.nvim_create_augroup("spell", { clear = true }),
|
||||
pattern = { "text", "plaintex", "typst", "gitcommit", "markdown" },
|
||||
callback = function()
|
||||
vim.api.nvim_set_hl(0, "SpellBad", { bg = "#770000", fg = "#ffffff" })
|
||||
vim.opt_local.spell = true
|
||||
end,
|
||||
})
|
||||
|
||||
-- set some colors
|
||||
vim.api.nvim_create_autocmd({ "BufReadPre" }, {
|
||||
callback = function()
|
||||
vim.api.nvim_set_hl(0, "ColorColumn", { bg = "#770000" })
|
||||
vim.api.nvim_set_hl(0, "DiffChange", { bg = "NONE", fg = "#e7c547" })
|
||||
vim.api.nvim_set_hl(0, "DiffText", { bg = "NONE", fg = "#ff8700" })
|
||||
vim.api.nvim_set_hl(0, "Visual", { bg = "#0094d8", fg = "#ffffff" })
|
||||
end,
|
||||
})
|
||||
|
||||
-- fix dimmed elements in Snacks.picker
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
pattern = "VeryLazy",
|
||||
callback = function()
|
||||
Snacks.util.set_hl({
|
||||
PickerDir = { link = "Text" },
|
||||
PickerPathHidden = { link = "Text" },
|
||||
PickerPathIgnored = { link = "Comment" },
|
||||
PickerGitStatusUntracked = { link = "Special" },
|
||||
}, { prefix = "Snacks" })
|
||||
end,
|
||||
})
|
||||
|
||||
-- remember last location
|
||||
vim.api.nvim_create_autocmd("BufReadPost", {
|
||||
group = vim.api.nvim_create_augroup("last-loc", { clear = true }),
|
||||
callback = function(event)
|
||||
local exclude = { "gitcommit" }
|
||||
local buf = event.buf
|
||||
if vim.tbl_contains(exclude, vim.bo[buf].filetype) or vim.b[buf].my_last_loc then
|
||||
return
|
||||
end
|
||||
vim.b[buf].my_last_loc = true
|
||||
local mark = vim.api.nvim_buf_get_mark(buf, '"')
|
||||
local lcount = vim.api.nvim_buf_line_count(buf)
|
||||
if mark[1] > 0 and mark[1] <= lcount then
|
||||
pcall(vim.api.nvim_win_set_cursor, 0, mark)
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- lsp
|
||||
vim.api.nvim_create_autocmd("LspAttach", {
|
||||
group = vim.api.nvim_create_augroup("lsp-attach", { clear = true }),
|
||||
callback = function(event)
|
||||
local map = function(keys, func, desc)
|
||||
vim.keymap.set("n", keys, func, { buffer = event.buf, desc = desc })
|
||||
end
|
||||
map("<leader>cd", vim.diagnostic.open_float, "diagnostic (float)")
|
||||
map("<leader>ch", vim.lsp.buf.hover, "help")
|
||||
map("<leader>ca", vim.lsp.buf.code_action, "actions")
|
||||
map("<leader>cf", vim.lsp.buf.format, "format file")
|
||||
local function client_supports_method(client, method, bufnr)
|
||||
if vim.fn.has("nvim-0.11") == 1 then
|
||||
return client:supports_method(method, bufnr)
|
||||
else
|
||||
return client.supports_method(method, { bufnr = bufnr })
|
||||
end
|
||||
end
|
||||
local client = vim.lsp.get_client_by_id(event.data.client_id)
|
||||
if
|
||||
client and client_supports_method(client, vim.lsp.protocol.Methods.textDocument_documentHighlight, event.buf)
|
||||
then
|
||||
local highlight_augroup = vim.api.nvim_create_augroup("lsp-highlight", { clear = false })
|
||||
vim.api.nvim_create_autocmd({ "CursorHold", "CursorHoldI" }, {
|
||||
buffer = event.buf,
|
||||
group = highlight_augroup,
|
||||
callback = vim.lsp.buf.document_highlight,
|
||||
})
|
||||
vim.api.nvim_create_autocmd({ "CursorMoved", "CursorMovedI" }, {
|
||||
buffer = event.buf,
|
||||
group = highlight_augroup,
|
||||
callback = vim.lsp.buf.clear_references,
|
||||
})
|
||||
vim.api.nvim_create_autocmd("LspDetach", {
|
||||
group = vim.api.nvim_create_augroup("lsp-detach", { clear = true }),
|
||||
callback = function(event2)
|
||||
vim.lsp.buf.clear_references()
|
||||
vim.api.nvim_clear_autocmds({ group = "lsp-highlight", buffer = event2.buf })
|
||||
end,
|
||||
})
|
||||
end
|
||||
end,
|
||||
})
|
74
_saved/vim/ftpd/lua/config/keymaps.lua
Normal file
74
_saved/vim/ftpd/lua/config/keymaps.lua
Normal file
|
@ -0,0 +1,74 @@
|
|||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = "\\"
|
||||
|
||||
local map = vim.keymap.set
|
||||
|
||||
map("i", "<C-a>", "<esc>I")
|
||||
map("i", "<C-e>", "<esc>A")
|
||||
|
||||
map("v", "<leader>/", "gc", { desc = "toggle comments", remap = true })
|
||||
|
||||
map("n", "<esc><cr>", "<cmd>wqa<cr>", { desc = "save and exit", remap = true })
|
||||
map("n", "<esc><esc><cr>", "<cmd>wqa<cr>", { desc = "save and exit", remap = true })
|
||||
map("n", "<tab>", "<C-w>w", { desc = "switch pane", remap = true })
|
||||
|
||||
map("n", "+", ":vertical resize +5<CR>")
|
||||
map("n", "_", ":vertical resize -5<CR>")
|
||||
map("n", "=", ":resize +5<CR>")
|
||||
map("n", "-", ":resize -5<CR>")
|
||||
|
||||
map("n", "<leader>-", "<C-W>s", { desc = "split horizontally", remap = true })
|
||||
map("n", "<leader>/", "gcc", { desc = "toggle comments", remap = true })
|
||||
map("n", "<leader>|", "<C-W>v", { desc = "split vertically", remap = true })
|
||||
|
||||
map("n", "<leader>b[", "<cmd>bprevious<CR>", { desc = "buffer previous", remap = true })
|
||||
map("n", "<leader>b]", "<cmd>bnext<CR>", { desc = "buffer next", remap = true })
|
||||
map("n", "<leader>bd", function()
|
||||
Snacks.bufdelete()
|
||||
end, { desc = "buffer delete", remap = true })
|
||||
map("n", "<leader>bl", function()
|
||||
Snacks.picker.buffers()
|
||||
end, { desc = "buffer list", remap = true })
|
||||
map("n", "<leader>bn", "<cmd>enew<CR>", { desc = "buffer create", remap = true })
|
||||
|
||||
map("n", "<leader>e", function()
|
||||
Snacks.explorer()
|
||||
end, { desc = "explorer", remap = true })
|
||||
map("n", "<leader>s", "<cmd>set hlsearch!<cr>", { desc = "toggle hlsearch", remap = true })
|
||||
|
||||
map("n", "<leader>ff", function()
|
||||
Snacks.picker.files()
|
||||
end, { desc = "files", remap = true })
|
||||
map("n", "<leader>fg", function()
|
||||
Snacks.picker.grep()
|
||||
end, { desc = "grep", remap = true })
|
||||
|
||||
map("n", "<leader>hc", function()
|
||||
Snacks.picker.command_history()
|
||||
end, { desc = "commands", remap = true })
|
||||
map("n", "<leader>hn", "<cmd>Noice<CR>", { desc = "notifications", remap = true })
|
||||
map("n", "<leader>hs", function()
|
||||
Snacks.picker.search_history()
|
||||
end, { desc = "search", remap = true })
|
||||
|
||||
map(
|
||||
"n",
|
||||
"<leader>m",
|
||||
'<cmd>execute "set colorcolumn=" . (&colorcolumn == "" ? "80,120" : "")<cr>',
|
||||
{ desc = "toggle columns" }
|
||||
)
|
||||
map("n", "<leader>n", function()
|
||||
vim.cmd("set number!")
|
||||
vim.cmd('execute "set signcolumn=" . (&signcolumn == "yes" ? "no" : "yes")')
|
||||
if Snacks.indent.enabled then
|
||||
Snacks.indent.disable()
|
||||
else
|
||||
Snacks.indent.enable()
|
||||
end
|
||||
end, { desc = "toggle decorations", remap = true })
|
||||
map("n", "<leader>t", function()
|
||||
Snacks.terminal()
|
||||
end, { desc = "terminal", remap = true })
|
||||
|
||||
map("n", "<leader>us", "<cmd>set spell!<cr>", { desc = "toggle spell", remap = true })
|
||||
map("n", "<leader>uw", "<cmd>set wrap!<cr>", { desc = "toggle wrap", remap = true })
|
64
_saved/vim/ftpd/lua/plugins/blink.lua
Normal file
64
_saved/vim/ftpd/lua/plugins/blink.lua
Normal file
|
@ -0,0 +1,64 @@
|
|||
return {
|
||||
{ "L3MON4D3/LuaSnip", keys = {} },
|
||||
{
|
||||
"saghen/blink.cmp",
|
||||
dependencies = {
|
||||
"rafamadriz/friendly-snippets",
|
||||
},
|
||||
version = "*",
|
||||
config = function()
|
||||
require("blink.cmp").setup({
|
||||
snippets = { preset = "luasnip" },
|
||||
signature = { enabled = true },
|
||||
appearance = {
|
||||
use_nvim_cmp_as_default = false,
|
||||
nerd_font_variant = "normal",
|
||||
},
|
||||
sources = {
|
||||
default = { "lsp", "path", "snippets", "buffer" },
|
||||
providers = {
|
||||
cmdline = {
|
||||
min_keyword_length = 2,
|
||||
},
|
||||
},
|
||||
},
|
||||
keymap = {
|
||||
["<Tab>"] = { "accept", "fallback" },
|
||||
},
|
||||
cmdline = {
|
||||
enabled = false,
|
||||
completion = { menu = { auto_show = true } },
|
||||
keymap = {
|
||||
["<Tab>"] = { "accept_and_enter", "fallback" },
|
||||
},
|
||||
},
|
||||
completion = {
|
||||
menu = {
|
||||
border = nil,
|
||||
scrolloff = 1,
|
||||
scrollbar = false,
|
||||
draw = {
|
||||
columns = {
|
||||
{ "kind_icon" },
|
||||
{ "label", "label_description", gap = 1 },
|
||||
{ "kind" },
|
||||
{ "source_name" },
|
||||
},
|
||||
},
|
||||
},
|
||||
documentation = {
|
||||
window = {
|
||||
border = nil,
|
||||
scrollbar = false,
|
||||
winhighlight = "Normal:BlinkCmpDoc,FloatBorder:BlinkCmpDocBorder,EndOfBuffer:BlinkCmpDoc",
|
||||
},
|
||||
auto_show = true,
|
||||
auto_show_delay_ms = 500,
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
require("luasnip.loaders.from_vscode").lazy_load()
|
||||
end,
|
||||
},
|
||||
}
|
60
_saved/vim/ftpd/lua/plugins/lualine.lua
Normal file
60
_saved/vim/ftpd/lua/plugins/lualine.lua
Normal file
|
@ -0,0 +1,60 @@
|
|||
return {
|
||||
"nvim-lualine/lualine.nvim",
|
||||
dependencies = {
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
config = function()
|
||||
require("lualine").setup({
|
||||
options = {
|
||||
theme = "monokai-pro",
|
||||
section_separators = "",
|
||||
component_separators = "",
|
||||
globalstatus = false,
|
||||
},
|
||||
sections = {
|
||||
lualine_a = { "mode" },
|
||||
lualine_b = { "branch" },
|
||||
lualine_c = {
|
||||
{
|
||||
"diff",
|
||||
symbols = {
|
||||
added = " ",
|
||||
modified = " ",
|
||||
removed = " ",
|
||||
},
|
||||
},
|
||||
{
|
||||
"diagnostics",
|
||||
symbols = {
|
||||
error = " ",
|
||||
warn = " ",
|
||||
info = " ",
|
||||
hint = " ",
|
||||
},
|
||||
},
|
||||
{ "filetype", icon_only = true, separator = "", padding = { left = 1, right = 0 } },
|
||||
{ "filename", file_status = true, path = 1 },
|
||||
},
|
||||
lualine_x = {
|
||||
{
|
||||
"lsp_status",
|
||||
symbols = {
|
||||
spinner = { "⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏" },
|
||||
done = "✓",
|
||||
separator = " ",
|
||||
},
|
||||
},
|
||||
},
|
||||
lualine_y = {
|
||||
{ "searchcount" },
|
||||
{ "progress", separator = " ", padding = { left = 1, right = 0 } },
|
||||
{ "location", padding = { left = 0, right = 1 } },
|
||||
},
|
||||
lualine_z = {},
|
||||
},
|
||||
tabline = {
|
||||
lualine_a = { "buffers" },
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
10
_saved/vim/ftpd/lua/plugins/monokai.lua
Normal file
10
_saved/vim/ftpd/lua/plugins/monokai.lua
Normal file
|
@ -0,0 +1,10 @@
|
|||
return {
|
||||
"loctvl842/monokai-pro.nvim",
|
||||
priority = 10000,
|
||||
config = function()
|
||||
require("monokai-pro").setup({
|
||||
filter = "classic",
|
||||
})
|
||||
vim.cmd.colorscheme("monokai-pro")
|
||||
end,
|
||||
}
|
47
_saved/vim/ftpd/lua/plugins/snacks.lua
Normal file
47
_saved/vim/ftpd/lua/plugins/snacks.lua
Normal file
|
@ -0,0 +1,47 @@
|
|||
return {
|
||||
"folke/snacks.nvim",
|
||||
priority = 1000,
|
||||
lazy = false,
|
||||
config = function()
|
||||
require("snacks").setup({
|
||||
animate = { enabled = false },
|
||||
bigfile = { enabled = false },
|
||||
bufdelete = { enabled = true },
|
||||
dashboard = { enabled = false },
|
||||
debug = { enabled = false },
|
||||
dim = { enabled = false },
|
||||
explorer = { enabled = true, replace_netrw = true },
|
||||
git = { enabled = false },
|
||||
gitbrowse = { enabled = false },
|
||||
image = { enabled = false },
|
||||
indent = { enabled = true },
|
||||
input = { enabled = true },
|
||||
layout = { enabled = false },
|
||||
lazygit = { enabled = false },
|
||||
notifier = { enabled = true },
|
||||
notify = { enabled = true },
|
||||
picker = {
|
||||
enabled = true,
|
||||
files = {
|
||||
hidden = true,
|
||||
ignored = true,
|
||||
},
|
||||
hidden = true,
|
||||
ignored = true,
|
||||
},
|
||||
profiler = { enabled = false },
|
||||
quickfile = { enabled = true },
|
||||
rename = { enabled = false },
|
||||
scope = { enabled = true },
|
||||
scratch = { enabled = false },
|
||||
scroll = { enabled = true },
|
||||
statuscolumn = { enabled = false },
|
||||
terminal = { enabled = true },
|
||||
toggle = { enabled = false },
|
||||
util = { enabled = true },
|
||||
win = { enabled = false },
|
||||
words = { enabled = false },
|
||||
zen = { enabled = false },
|
||||
})
|
||||
end,
|
||||
}
|
25
_saved/vim/ftpd/lua/plugins/treesitter.lua
Normal file
25
_saved/vim/ftpd/lua/plugins/treesitter.lua
Normal file
|
@ -0,0 +1,25 @@
|
|||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
build = ":TSUpdate",
|
||||
config = function()
|
||||
require("nvim-treesitter.configs").setup({
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"diff",
|
||||
"gotmpl",
|
||||
"hcl",
|
||||
"helm",
|
||||
"json",
|
||||
"lua",
|
||||
"markdown",
|
||||
"markdown_inline",
|
||||
"python",
|
||||
"regex",
|
||||
"terraform",
|
||||
"vim",
|
||||
},
|
||||
highlight = { enable = true },
|
||||
indent = { enable = true },
|
||||
})
|
||||
end,
|
||||
}
|
36
_saved/vim/ftpd/lua/plugins/which-key.lua
Normal file
36
_saved/vim/ftpd/lua/plugins/which-key.lua
Normal file
|
@ -0,0 +1,36 @@
|
|||
return {
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
config = function()
|
||||
require("which-key").setup({
|
||||
preset = "helix",
|
||||
delay = 300,
|
||||
icons = {
|
||||
rules = false,
|
||||
breadcrumb = " ",
|
||||
separator = " ",
|
||||
group = " ",
|
||||
},
|
||||
plugins = {
|
||||
spelling = {
|
||||
enabled = false,
|
||||
},
|
||||
},
|
||||
win = {
|
||||
height = {
|
||||
max = math.huge,
|
||||
},
|
||||
},
|
||||
spec = {
|
||||
{
|
||||
mode = { "n", "v" },
|
||||
{ "<leader>b", group = "buffer" },
|
||||
{ "<leader>c", group = "code" },
|
||||
{ "<leader>f", group = "find" },
|
||||
{ "<leader>h", group = "history" },
|
||||
{ "<leader>u", group = "ui" },
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
|
@ -1,2 +0,0 @@
|
|||
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||
require("config.lazy")
|
|
@ -1,25 +0,0 @@
|
|||
-- Autocmds are automatically loaded on the VeryLazy event
|
||||
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
|
||||
--
|
||||
-- Add any additional autocmds here
|
||||
-- with `vim.api.nvim_create_autocmd`
|
||||
--
|
||||
-- Or remove existing autocmds by their group name (which is prefixed with `lazyvim_` for the defaults)
|
||||
-- e.g. vim.api.nvim_del_augroup_by_name("lazyvim_wrap_spell")
|
||||
|
||||
vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
|
||||
pattern = { "helmfile.y?ml", "*.gotmpl" },
|
||||
callback = function()
|
||||
vim.cmd("set filetype=helm")
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd({ "BufReadPre" }, {
|
||||
callback = function()
|
||||
vim.api.nvim_set_hl(0, "ColorColumn", { bg = "#770000" })
|
||||
vim.api.nvim_set_hl(0, "DiffChange", { bg = "NONE", fg = "#e7c547" })
|
||||
vim.api.nvim_set_hl(0, "DiffText", { bg = "NONE", fg = "#ff8700" })
|
||||
vim.api.nvim_set_hl(0, "SpellBad", { bg = "#770000", fg = "#ffffff" })
|
||||
vim.api.nvim_set_hl(0, "Visual", { bg = "#0094d8", fg = "#ffffff" })
|
||||
end,
|
||||
})
|
|
@ -1,67 +0,0 @@
|
|||
-- Keymaps are automatically loaded on the VeryLazy event
|
||||
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
|
||||
-- Add any additional keymaps here
|
||||
|
||||
local map = vim.keymap.set
|
||||
local nomap = vim.keymap.del
|
||||
|
||||
nomap("n", "<leader><space>")
|
||||
nomap("n", "<leader>,")
|
||||
nomap("n", "<leader>.")
|
||||
nomap("n", "<leader>?")
|
||||
nomap("n", "<leader>K")
|
||||
nomap("n", "<leader>l")
|
||||
nomap("n", "<leader>L")
|
||||
nomap("n", "<leader>S")
|
||||
nomap("n", "<leader>`")
|
||||
|
||||
nomap("n", "<leader>bb")
|
||||
nomap("n", "<leader>bD")
|
||||
nomap("n", "<leader>bo")
|
||||
|
||||
nomap("n", "<leader>E")
|
||||
|
||||
nomap("n", "<leader>fB")
|
||||
nomap("n", "<leader>fe")
|
||||
nomap("n", "<leader>fE")
|
||||
nomap("n", "<leader>fn")
|
||||
nomap("n", "<leader>fp")
|
||||
nomap("n", "<leader>fR")
|
||||
nomap("n", "<leader>ft")
|
||||
nomap("n", "<leader>fT")
|
||||
|
||||
nomap("n", "<leader>gY")
|
||||
nomap("n", "<leader>gS")
|
||||
|
||||
nomap("n", "<leader>qq")
|
||||
|
||||
nomap("n", "<leader>xl")
|
||||
nomap("n", "<leader>xq")
|
||||
|
||||
map("i", "<C-a>", "<esc>I")
|
||||
map("i", "<C-e>", "<esc>A")
|
||||
|
||||
map("n", "<esc><cr>", "<esc><cmd>wq!<cr>", { desc = "Save and Exit", remap = true })
|
||||
map("n", "<tab>", "<C-w>w", { desc = "Switch Pane", remap = true })
|
||||
|
||||
map("n", "<leader>-", "<C-W>s", { desc = "Split Horizontally", remap = true })
|
||||
map("n", "<leader>/", "gcc", { desc = "Toggle Comments", remap = true })
|
||||
map("n", "<leader>|", "<C-W>v", { desc = "Split Vertically", remap = true })
|
||||
map("n", "<leader>bl", function()
|
||||
Snacks.picker.buffers()
|
||||
end, { desc = "Buffer List", remap = true })
|
||||
map("n", "<leader>b[", "<cmd>bprevious<CR>", { desc = "Previous Buffer", remap = true })
|
||||
map("n", "<leader>b]", "<cmd>bnext<CR>", { desc = "Next Buffer", remap = true })
|
||||
map("n", "<leader>bn", "<cmd>enew<CR>", { desc = "New Buffer", remap = true })
|
||||
map("n", "<leader>h", "<cmd>set hlsearch!<cr>", { desc = "Toggle hlsearch", remap = true })
|
||||
map(
|
||||
"n",
|
||||
"<leader>m",
|
||||
'<cmd>execute "set colorcolumn=" . (&colorcolumn == "" ? "80,120" : "")<cr>',
|
||||
{ desc = "Toggle Columns", remap = true }
|
||||
)
|
||||
map("n", "<leader>T", function()
|
||||
Snacks.terminal()
|
||||
end, { desc = "Terminal", remap = true })
|
||||
|
||||
map("v", "<leader>/", "gc", { desc = "Toggle Comments", remap = true })
|
|
@ -1,20 +0,0 @@
|
|||
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
||||
local o = vim.o
|
||||
o.expandtab = true
|
||||
o.gdefault = true
|
||||
o.hlsearch = false
|
||||
o.inccommand = "split"
|
||||
o.relativenumber = false
|
||||
o.shiftround = true
|
||||
o.termguicolors = true
|
||||
o.wrap = true
|
||||
o.writebackup = false
|
||||
|
||||
o.clipboard = ""
|
||||
o.foldcolumn = "0"
|
||||
o.mouse = ""
|
||||
o.shiftwidth = 2
|
||||
o.softtabstop = 2
|
||||
o.statuscolumn = ""
|
||||
o.tabstop = 2
|
||||
o.whichwrap = ""
|
|
@ -1,40 +0,0 @@
|
|||
return {
|
||||
"nvim-lualine/lualine.nvim",
|
||||
opts = {
|
||||
options = {
|
||||
theme = "powerline",
|
||||
section_separators = "",
|
||||
component_separators = "",
|
||||
globalstatus = false,
|
||||
},
|
||||
sections = {
|
||||
lualine_c = {
|
||||
{
|
||||
"diagnostics",
|
||||
symbols = {
|
||||
error = LazyVim.config.icons.diagnostics.Error,
|
||||
warn = LazyVim.config.icons.diagnostics.Warn,
|
||||
info = LazyVim.config.icons.diagnostics.Info,
|
||||
hint = LazyVim.config.icons.diagnostics.Hint,
|
||||
},
|
||||
},
|
||||
{ "filetype", icon_only = true, separator = "", padding = { left = 1, right = 0 } },
|
||||
{ "filename", file_status = true, path = 1 },
|
||||
},
|
||||
lualine_x = {
|
||||
{
|
||||
"diff",
|
||||
symbols = {
|
||||
added = LazyVim.config.icons.git.added,
|
||||
modified = LazyVim.config.icons.git.modified,
|
||||
removed = LazyVim.config.icons.git.removed,
|
||||
},
|
||||
},
|
||||
},
|
||||
lualine_z = {},
|
||||
},
|
||||
tabline = {
|
||||
lualine_a = { "buffers" },
|
||||
},
|
||||
},
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
return {
|
||||
{
|
||||
"loctvl842/monokai-pro.nvim",
|
||||
priority = 1000,
|
||||
opts = {
|
||||
filter = "classic",
|
||||
},
|
||||
},
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "monokai-pro",
|
||||
},
|
||||
},
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
return {
|
||||
"folke/snacks.nvim",
|
||||
opts = {
|
||||
dashboard = { enabled = false },
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"<leader>n",
|
||||
function()
|
||||
vim.cmd("set number!")
|
||||
vim.cmd('execute "set signcolumn=" . (&signcolumn == "yes" ? "no" : "yes")')
|
||||
if Snacks.indent.enabled then
|
||||
Snacks.indent.disable()
|
||||
else
|
||||
Snacks.indent.enable()
|
||||
end
|
||||
end,
|
||||
desc = "Toggle Decorations",
|
||||
},
|
||||
{
|
||||
"<leader>e",
|
||||
function()
|
||||
Snacks.explorer()
|
||||
end,
|
||||
desc = "File Explorer",
|
||||
},
|
||||
},
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"diff",
|
||||
"gotmpl",
|
||||
"helm",
|
||||
"json",
|
||||
"lua",
|
||||
"markdown",
|
||||
"markdown_inline",
|
||||
"python",
|
||||
"terraform",
|
||||
"vim",
|
||||
},
|
||||
},
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
return {
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
opts_extend = { "spec" },
|
||||
opts = {
|
||||
preset = "helix",
|
||||
icons = {
|
||||
mappings = false,
|
||||
},
|
||||
defaults = {},
|
||||
spec = {
|
||||
{
|
||||
mode = { "n", "v" },
|
||||
{
|
||||
"<leader>b",
|
||||
group = "buffer",
|
||||
expand = function()
|
||||
return require("which-key.extras").expand.buf()
|
||||
end,
|
||||
},
|
||||
{ "<leader><tab>", group = "tabs", hidden = true },
|
||||
{ "<leader>d", group = "debug", hidden = true },
|
||||
{ "<leader>dp", group = "profiler", hidden = true },
|
||||
{ "<leader>gh", group = "hunks", hidden = true },
|
||||
{ "<leader>q", group = "quit/session", hidden = true },
|
||||
{ "<leader>s", group = "search", hidden = true },
|
||||
{ "<leader>t", hidden = true },
|
||||
{ "<leader>u", group = "ui", hidden = true },
|
||||
{ "<leader>w", hidden = true },
|
||||
{ "<leader>x", group = "diagnostics/quickfix", hidden = true },
|
||||
{ "gx", desc = "Open with system app", hidden = true },
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
|
@ -1,2 +1,2 @@
|
|||
require("config")
|
||||
require("core")
|
||||
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||
require("config.lazy")
|
||||
|
|
|
@ -20,6 +20,7 @@ vim.api.nvim_create_autocmd({ "BufReadPre" }, {
|
|||
vim.api.nvim_set_hl(0, "ColorColumn", { bg = "#770000" })
|
||||
vim.api.nvim_set_hl(0, "DiffChange", { bg = "NONE", fg = "#e7c547" })
|
||||
vim.api.nvim_set_hl(0, "DiffText", { bg = "NONE", fg = "#ff8700" })
|
||||
vim.api.nvim_set_hl(0, "SpellBad", { bg = "#770000", fg = "#ffffff" })
|
||||
vim.api.nvim_set_hl(0, "Visual", { bg = "#0094d8", fg = "#ffffff" })
|
||||
end,
|
||||
})
|
||||
|
@ -36,65 +37,3 @@ vim.api.nvim_create_autocmd("User", {
|
|||
}, { prefix = "Snacks" })
|
||||
end,
|
||||
})
|
||||
|
||||
-- remember last location
|
||||
vim.api.nvim_create_autocmd("BufReadPost", {
|
||||
group = vim.api.nvim_create_augroup("last-loc", { clear = true }),
|
||||
callback = function(event)
|
||||
local exclude = { "gitcommit" }
|
||||
local buf = event.buf
|
||||
if vim.tbl_contains(exclude, vim.bo[buf].filetype) or vim.b[buf].my_last_loc then
|
||||
return
|
||||
end
|
||||
vim.b[buf].my_last_loc = true
|
||||
local mark = vim.api.nvim_buf_get_mark(buf, '"')
|
||||
local lcount = vim.api.nvim_buf_line_count(buf)
|
||||
if mark[1] > 0 and mark[1] <= lcount then
|
||||
pcall(vim.api.nvim_win_set_cursor, 0, mark)
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- lsp
|
||||
vim.api.nvim_create_autocmd("LspAttach", {
|
||||
group = vim.api.nvim_create_augroup("lsp-attach", { clear = true }),
|
||||
callback = function(event)
|
||||
local map = function(keys, func, desc)
|
||||
vim.keymap.set("n", keys, func, { buffer = event.buf, desc = desc })
|
||||
end
|
||||
map("<leader>cd", vim.diagnostic.open_float, "diagnostic (float)")
|
||||
map("<leader>ch", vim.lsp.buf.hover, "help")
|
||||
map("<leader>ca", vim.lsp.buf.code_action, "actions")
|
||||
map("<leader>cf", vim.lsp.buf.format, "format file")
|
||||
local function client_supports_method(client, method, bufnr)
|
||||
if vim.fn.has("nvim-0.11") == 1 then
|
||||
return client:supports_method(method, bufnr)
|
||||
else
|
||||
return client.supports_method(method, { bufnr = bufnr })
|
||||
end
|
||||
end
|
||||
local client = vim.lsp.get_client_by_id(event.data.client_id)
|
||||
if
|
||||
client and client_supports_method(client, vim.lsp.protocol.Methods.textDocument_documentHighlight, event.buf)
|
||||
then
|
||||
local highlight_augroup = vim.api.nvim_create_augroup("lsp-highlight", { clear = false })
|
||||
vim.api.nvim_create_autocmd({ "CursorHold", "CursorHoldI" }, {
|
||||
buffer = event.buf,
|
||||
group = highlight_augroup,
|
||||
callback = vim.lsp.buf.document_highlight,
|
||||
})
|
||||
vim.api.nvim_create_autocmd({ "CursorMoved", "CursorMovedI" }, {
|
||||
buffer = event.buf,
|
||||
group = highlight_augroup,
|
||||
callback = vim.lsp.buf.clear_references,
|
||||
})
|
||||
vim.api.nvim_create_autocmd("LspDetach", {
|
||||
group = vim.api.nvim_create_augroup("lsp-detach", { clear = true }),
|
||||
callback = function(event2)
|
||||
vim.lsp.buf.clear_references()
|
||||
vim.api.nvim_clear_autocmds({ group = "lsp-highlight", buffer = event2.buf })
|
||||
end,
|
||||
})
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
|
|
@ -1,25 +1,62 @@
|
|||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = "\\"
|
||||
-- Keymaps are automatically loaded on the VeryLazy event
|
||||
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
|
||||
-- Add any additional keymaps here
|
||||
|
||||
local map = vim.keymap.set
|
||||
local nomap = vim.keymap.del
|
||||
|
||||
nomap("n", "<leader><space>")
|
||||
nomap("n", "<leader>,")
|
||||
nomap("n", "<leader>.")
|
||||
nomap("n", "<leader>?")
|
||||
nomap("n", "<leader>K")
|
||||
nomap("n", "<leader>l")
|
||||
nomap("n", "<leader>L")
|
||||
nomap("n", "<leader>S")
|
||||
nomap("n", "<leader>`")
|
||||
|
||||
nomap("n", "<leader>bb")
|
||||
nomap("n", "<leader>bD")
|
||||
nomap("n", "<leader>bo")
|
||||
|
||||
nomap("n", "<leader>E")
|
||||
|
||||
nomap("n", "<leader>fb")
|
||||
nomap("n", "<leader>fc")
|
||||
nomap("n", "<leader>fF")
|
||||
nomap("n", "<leader>fr")
|
||||
|
||||
nomap("n", "<leader>fB")
|
||||
nomap("n", "<leader>fe")
|
||||
nomap("n", "<leader>fE")
|
||||
nomap("n", "<leader>fn")
|
||||
nomap("n", "<leader>fp")
|
||||
nomap("n", "<leader>fR")
|
||||
nomap("n", "<leader>ft")
|
||||
nomap("n", "<leader>fT")
|
||||
|
||||
nomap("n", "<leader>gY")
|
||||
nomap("n", "<leader>gS")
|
||||
|
||||
nomap("n", "<leader>qq")
|
||||
|
||||
nomap("n", "<leader>xl")
|
||||
nomap("n", "<leader>xq")
|
||||
|
||||
map("i", "<C-a>", "<esc>I")
|
||||
map("i", "<C-e>", "<esc>A")
|
||||
|
||||
map("v", "<leader>/", "gc", { desc = "toggle comments", remap = true })
|
||||
|
||||
map("n", "<esc><cr>", "<cmd>wqa<cr>", { desc = "save and exit", remap = true })
|
||||
map("n", "<esc><esc><cr>", "<cmd>wqa<cr>", { desc = "save and exit", remap = true })
|
||||
map("n", "<tab>", "<C-w>w", { desc = "switch pane", remap = true })
|
||||
map("n", "<esc><cr>", "<esc><cmd>wq!<cr>", { desc = "Save and Exit", remap = true })
|
||||
map("n", "<tab>", "<C-w>w", { desc = "Switch Pane", remap = true })
|
||||
|
||||
map("n", "+", ":vertical resize +5<CR>")
|
||||
map("n", "_", ":vertical resize -5<CR>")
|
||||
map("n", "=", ":resize +5<CR>")
|
||||
map("n", "-", ":resize -5<CR>")
|
||||
|
||||
map("n", "<leader>-", "<C-W>s", { desc = "split horizontally", remap = true })
|
||||
map("n", "<leader>/", "gcc", { desc = "toggle comments", remap = true })
|
||||
map("n", "<leader>|", "<C-W>v", { desc = "split vertically", remap = true })
|
||||
map("n", "<leader>-", "<C-W>s", { desc = "Split Horizontally", remap = true })
|
||||
map("n", "<leader>/", "gcc", { desc = "Toggle Comments", remap = true })
|
||||
map("n", "<leader>|", "<C-W>v", { desc = "Split Vertically", remap = true })
|
||||
|
||||
map("n", "<leader>b[", "<cmd>bprevious<CR>", { desc = "buffer previous", remap = true })
|
||||
map("n", "<leader>b]", "<cmd>bnext<CR>", { desc = "buffer next", remap = true })
|
||||
|
@ -33,7 +70,7 @@ map("n", "<leader>bn", "<cmd>enew<CR>", { desc = "buffer create", remap = true }
|
|||
|
||||
map("n", "<leader>e", function()
|
||||
Snacks.explorer()
|
||||
end, { desc = "explorer", remap = true })
|
||||
end, { desc = "Explorer", remap = true })
|
||||
map("n", "<leader>s", "<cmd>set hlsearch!<cr>", { desc = "toggle hlsearch", remap = true })
|
||||
|
||||
map("n", "<leader>ff", function()
|
||||
|
@ -51,12 +88,6 @@ map("n", "<leader>hs", function()
|
|||
Snacks.picker.search_history()
|
||||
end, { desc = "search", remap = true })
|
||||
|
||||
map(
|
||||
"n",
|
||||
"<leader>m",
|
||||
'<cmd>execute "set colorcolumn=" . (&colorcolumn == "" ? "80,120" : "")<cr>',
|
||||
{ desc = "toggle columns" }
|
||||
)
|
||||
map("n", "<leader>n", function()
|
||||
vim.cmd("set number!")
|
||||
vim.cmd('execute "set signcolumn=" . (&signcolumn == "yes" ? "no" : "yes")')
|
||||
|
@ -65,10 +96,15 @@ map("n", "<leader>n", function()
|
|||
else
|
||||
Snacks.indent.enable()
|
||||
end
|
||||
end, { desc = "toggle decorations", remap = true })
|
||||
map("n", "<leader>t", function()
|
||||
end, { desc = "Toggle Decorations", remap = true })
|
||||
|
||||
map("n", "<leader>T", function()
|
||||
Snacks.terminal()
|
||||
end, { desc = "terminal", remap = true })
|
||||
end, { desc = "Terminal", remap = true })
|
||||
|
||||
map("n", "<leader>s", "<cmd>set hlsearch!<cr>", { desc = "Toggle hlsearch", remap = true })
|
||||
|
||||
map("n", "<leader>us", "<cmd>set spell!<cr>", { desc = "toggle spell", remap = true })
|
||||
map("n", "<leader>uw", "<cmd>set wrap!<cr>", { desc = "toggle wrap", remap = true })
|
||||
|
||||
map("v", "<leader>/", "gc", { desc = "Toggle Comments", remap = true })
|
||||
|
|
44
config/common/nvim/lua/config/options.lua
Normal file
44
config/common/nvim/lua/config/options.lua
Normal file
|
@ -0,0 +1,44 @@
|
|||
vim.filetype.add({
|
||||
pattern = {
|
||||
["helmfile.y.ml"] = "helm",
|
||||
[".*.gotmpl"] = "helm",
|
||||
},
|
||||
})
|
||||
|
||||
vim.o.backup = false
|
||||
vim.o.breakindent = true
|
||||
vim.o.confirm = true
|
||||
vim.o.cursorline = true
|
||||
vim.o.expandtab = true
|
||||
vim.o.gdefault = true
|
||||
vim.o.hlsearch = true
|
||||
vim.o.inccommand = "split"
|
||||
vim.o.number = true
|
||||
vim.o.relativenumber = false
|
||||
vim.o.shiftround = true
|
||||
vim.o.showcmd = false
|
||||
vim.o.showmode = false
|
||||
vim.o.smartcase = true
|
||||
vim.o.smartindent = true
|
||||
vim.o.splitbelow = true
|
||||
vim.o.splitright = true
|
||||
vim.o.termguicolors = true
|
||||
vim.o.undofile = true
|
||||
vim.o.wrap = true
|
||||
vim.o.writebackup = false
|
||||
|
||||
vim.o.clipboard = ""
|
||||
vim.o.conceallevel = 0
|
||||
vim.o.fileencoding = "utf-8"
|
||||
vim.o.foldcolumn = "0"
|
||||
vim.o.mouse = ""
|
||||
vim.o.shiftwidth = 2
|
||||
vim.o.signcolumn = "yes"
|
||||
vim.o.softtabstop = 2
|
||||
vim.o.spelllang = "en_us,pl"
|
||||
vim.o.statuscolumn = ""
|
||||
vim.o.tabstop = 2
|
||||
vim.o.updatetime = 100
|
||||
vim.o.whichwrap = ""
|
||||
|
||||
vim.opt.shortmess:append({ W = true, I = true, c = true, C = true, S = false })
|
|
@ -1,64 +1,16 @@
|
|||
return {
|
||||
{ "L3MON4D3/LuaSnip", keys = {} },
|
||||
{
|
||||
"saghen/blink.cmp",
|
||||
dependencies = {
|
||||
"rafamadriz/friendly-snippets",
|
||||
},
|
||||
version = "*",
|
||||
config = function()
|
||||
require("blink.cmp").setup({
|
||||
snippets = { preset = "luasnip" },
|
||||
signature = { enabled = true },
|
||||
appearance = {
|
||||
use_nvim_cmp_as_default = false,
|
||||
nerd_font_variant = "normal",
|
||||
},
|
||||
sources = {
|
||||
default = { "lsp", "path", "snippets", "buffer" },
|
||||
providers = {
|
||||
cmdline = {
|
||||
min_keyword_length = 2,
|
||||
},
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
keymap = {
|
||||
preset = "none",
|
||||
["<Tab>"] = { "accept", "fallback" },
|
||||
},
|
||||
cmdline = {
|
||||
enabled = false,
|
||||
enabled = true,
|
||||
completion = { menu = { auto_show = true } },
|
||||
keymap = {
|
||||
["<Tab>"] = { "accept_and_enter", "fallback" },
|
||||
},
|
||||
},
|
||||
completion = {
|
||||
menu = {
|
||||
border = nil,
|
||||
scrolloff = 1,
|
||||
scrollbar = false,
|
||||
draw = {
|
||||
columns = {
|
||||
{ "kind_icon" },
|
||||
{ "label", "label_description", gap = 1 },
|
||||
{ "kind" },
|
||||
{ "source_name" },
|
||||
},
|
||||
},
|
||||
},
|
||||
documentation = {
|
||||
window = {
|
||||
border = nil,
|
||||
scrollbar = false,
|
||||
winhighlight = "Normal:BlinkCmpDoc,FloatBorder:BlinkCmpDocBorder,EndOfBuffer:BlinkCmpDoc",
|
||||
},
|
||||
auto_show = true,
|
||||
auto_show_delay_ms = 500,
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
require("luasnip.loaders.from_vscode").lazy_load()
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
return {
|
||||
"nvim-lualine/lualine.nvim",
|
||||
dependencies = {
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
config = function()
|
||||
require("lualine").setup({
|
||||
opts = {
|
||||
options = {
|
||||
theme = "monokai-pro",
|
||||
section_separators = "",
|
||||
|
@ -55,6 +51,5 @@ return {
|
|||
tabline = {
|
||||
lualine_a = { "buffers" },
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
|
|
@ -1,10 +1,15 @@
|
|||
return {
|
||||
{
|
||||
"loctvl842/monokai-pro.nvim",
|
||||
priority = 10000,
|
||||
config = function()
|
||||
require("monokai-pro").setup({
|
||||
priority = 1000,
|
||||
opts = {
|
||||
filter = "classic",
|
||||
})
|
||||
vim.cmd.colorscheme("monokai-pro")
|
||||
end,
|
||||
},
|
||||
},
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "monokai-pro",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
@ -1,13 +1,10 @@
|
|||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
build = ":TSUpdate",
|
||||
config = function()
|
||||
require("nvim-treesitter.configs").setup({
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"diff",
|
||||
"gotmpl",
|
||||
"hcl",
|
||||
"helm",
|
||||
"json",
|
||||
"lua",
|
||||
|
@ -18,8 +15,5 @@ return {
|
|||
"terraform",
|
||||
"vim",
|
||||
},
|
||||
highlight = { enable = true },
|
||||
indent = { enable = true },
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
|
|
@ -1,36 +1,39 @@
|
|||
return {
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
config = function()
|
||||
require("which-key").setup({
|
||||
opts_extend = { "spec" },
|
||||
opts = {
|
||||
preset = "helix",
|
||||
delay = 300,
|
||||
icons = {
|
||||
rules = false,
|
||||
breadcrumb = " ",
|
||||
separator = " ",
|
||||
group = " ",
|
||||
},
|
||||
plugins = {
|
||||
spelling = {
|
||||
enabled = false,
|
||||
},
|
||||
},
|
||||
win = {
|
||||
height = {
|
||||
max = math.huge,
|
||||
},
|
||||
mappings = false,
|
||||
},
|
||||
defaults = {},
|
||||
spec = {
|
||||
{
|
||||
mode = { "n", "v" },
|
||||
{
|
||||
"<leader>b",
|
||||
group = "buffer",
|
||||
expand = function()
|
||||
return require("which-key.extras").expand.buf()
|
||||
end,
|
||||
},
|
||||
{ "<leader>b", group = "buffer" },
|
||||
{ "<leader>c", group = "code" },
|
||||
{ "<leader>f", group = "find" },
|
||||
{ "<leader>h", group = "history" },
|
||||
{ "<leader>u", group = "ui" },
|
||||
{ "<leader><tab>", group = "tabs", hidden = true },
|
||||
{ "<leader>d", group = "debug", hidden = true },
|
||||
{ "<leader>dp", group = "profiler", hidden = true },
|
||||
{ "<leader>gh", group = "hunks", hidden = true },
|
||||
{ "<leader>q", group = "quit/session", hidden = true },
|
||||
{ "<leader>s", group = "search", hidden = true },
|
||||
{ "<leader>t", hidden = true },
|
||||
{ "<leader>w", hidden = true },
|
||||
{ "<leader>x", group = "diagnostics/quickfix", hidden = true },
|
||||
{ "gx", desc = "Open with system app", hidden = true },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue