Compare commits
No commits in common. "0080ca78f2d44857bf92cf86db0281b84614bdb8" and "6567b163a7334543d6a0cfe695da68fe417fc27e" have entirely different histories.
0080ca78f2
...
6567b163a7
6 changed files with 231 additions and 250 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
|
@ -91,6 +91,3 @@
|
||||||
[submodule "pack/general/start/telescope-luasnip.nvim"]
|
[submodule "pack/general/start/telescope-luasnip.nvim"]
|
||||||
path = pack/general/start/telescope-luasnip.nvim
|
path = pack/general/start/telescope-luasnip.nvim
|
||||||
url = https://github.com/benfowler/telescope-luasnip.nvim
|
url = https://github.com/benfowler/telescope-luasnip.nvim
|
||||||
[submodule "pack/general/start/formatter.nvim"]
|
|
||||||
path = pack/general/start/formatter.nvim
|
|
||||||
url = https://github.com/mhartington/formatter.nvim
|
|
||||||
|
|
|
||||||
429
init.lua
429
init.lua
|
|
@ -4,7 +4,7 @@ local g = vim.g
|
||||||
local opt = vim.opt
|
local opt = vim.opt
|
||||||
|
|
||||||
---- General Config ----
|
---- General Config ----
|
||||||
opt.mouse = "a"
|
opt.mouse = 'a'
|
||||||
opt.tabstop = 2
|
opt.tabstop = 2
|
||||||
opt.shiftwidth = 2
|
opt.shiftwidth = 2
|
||||||
opt.number = true
|
opt.number = true
|
||||||
|
|
@ -23,7 +23,7 @@ opt.shortmess:append({ I = true })
|
||||||
--opt.whichwrap = {'<','>','[',']'}
|
--opt.whichwrap = {'<','>','[',']'}
|
||||||
opt.cmdheight = 2
|
opt.cmdheight = 2
|
||||||
opt.showcmd = true
|
opt.showcmd = true
|
||||||
g.mapleader = " "
|
g.mapleader = ' '
|
||||||
|
|
||||||
---- Terminal ----
|
---- Terminal ----
|
||||||
vim.api.nvim_create_autocmd({ "TermOpen" }, {
|
vim.api.nvim_create_autocmd({ "TermOpen" }, {
|
||||||
|
|
@ -36,116 +36,100 @@ vim.api.nvim_create_autocmd({ "TermOpen" }, {
|
||||||
|
|
||||||
---- Theming ----
|
---- Theming ----
|
||||||
opt.termguicolors = true
|
opt.termguicolors = true
|
||||||
opt.background = "dark"
|
opt.background = 'dark'
|
||||||
g.gruvbox_italic = true
|
g.gruvbox_italic = true
|
||||||
cmd.colorscheme("gruvbox")
|
cmd.colorscheme('gruvbox')
|
||||||
opt.listchars = {
|
opt.listchars = {
|
||||||
eol = "↲",
|
eol = '↲' ,
|
||||||
tab = "▶▹",
|
tab = '▶▹',
|
||||||
nbsp = "␣",
|
nbsp = '␣',
|
||||||
extends = "…",
|
extends = '…',
|
||||||
trail = "•",
|
trail = '•'}
|
||||||
}
|
|
||||||
-- vim-airline config ---
|
-- vim-airline config ---
|
||||||
g.airline_powerline_fonts = true
|
g.airline_powerline_fonts = true
|
||||||
g.airline_theme = "powerlineish"
|
g.airline_theme = 'powerlineish'
|
||||||
g["airline#extensions#tabline#enabled"] = 1
|
g['airline#extensions#tabline#enabled'] = 1
|
||||||
g["airline#extensions#tabline#left_sep"] = " "
|
g['airline#extensions#tabline#left_sep'] = ' '
|
||||||
g["airline#extensions#tabline#left_alt_sep"] = "|"
|
g['airline#extensions#tabline#left_alt_sep'] = '|'
|
||||||
|
|
||||||
---- Maps ----
|
---- Maps ----
|
||||||
vim.keymap.set("!", "<C-BS>", "<C-w>")
|
vim.keymap.set('!','<C-BS>','<C-w>')
|
||||||
vim.keymap.set("v", ">", ">gv")
|
vim.keymap.set('v','>','>gv')
|
||||||
vim.keymap.set("v", "<", "<gv")
|
vim.keymap.set('v','<','<gv')
|
||||||
vim.keymap.set("n", "<C-L>", ":nohlsearch<CR>")
|
vim.keymap.set('n','<C-L>',':nohlsearch<CR>')
|
||||||
|
|
||||||
---- Treesitter ----
|
---- Treesitter ----
|
||||||
local ts = require("nvim-treesitter.configs")
|
local ts = require 'nvim-treesitter.configs'
|
||||||
ts.setup({
|
ts.setup {
|
||||||
ensure_installed = {
|
ensure_installed = {
|
||||||
"bash",
|
'bash',
|
||||||
"c",
|
'c',
|
||||||
"cmake",
|
'cmake',
|
||||||
"comment",
|
'comment',
|
||||||
"cpp",
|
'cpp',
|
||||||
"css",
|
'css',
|
||||||
"dockerfile",
|
'dockerfile',
|
||||||
"diff",
|
'diff',
|
||||||
"dot",
|
'dot',
|
||||||
"git_config",
|
'git_config',
|
||||||
"git_rebase",
|
'git_rebase',
|
||||||
"gitattributes",
|
'gitattributes',
|
||||||
"gitcommit",
|
'gitcommit',
|
||||||
"gitignore",
|
'gitignore',
|
||||||
"go",
|
'go',
|
||||||
"html",
|
'html',
|
||||||
"http",
|
'http',
|
||||||
"ini",
|
'ini',
|
||||||
"javascript",
|
'javascript',
|
||||||
"json",
|
'json',
|
||||||
"kdl",
|
'kdl',
|
||||||
"kotlin",
|
'kotlin',
|
||||||
"latex",
|
'latex',
|
||||||
"lua",
|
'lua',
|
||||||
"make",
|
'make',
|
||||||
"markdown",
|
'markdown',
|
||||||
"markdown_inline",
|
'markdown_inline',
|
||||||
"passwd",
|
'passwd',
|
||||||
"perl",
|
'perl',
|
||||||
"php",
|
'php',
|
||||||
"python",
|
'python',
|
||||||
"regex",
|
'regex',
|
||||||
"rust",
|
'rust',
|
||||||
"scss",
|
'scss',
|
||||||
"sql",
|
'sql',
|
||||||
"terraform",
|
'terraform',
|
||||||
"toml",
|
'toml',
|
||||||
"typescript",
|
'typescript',
|
||||||
"vim",
|
'vim',
|
||||||
"yaml",
|
'yaml',
|
||||||
},
|
},
|
||||||
highlight = { enable = true, indent = true },
|
highlight = {enable = true, indent = true}}
|
||||||
})
|
|
||||||
|
|
||||||
---- Filetypes ---
|
---- Filetypes ---
|
||||||
vim.filetype.add({ extension = { kdl = "kdl" } })
|
vim.filetype.add({ extension = {kdl = 'kdl'} })
|
||||||
---- formatter.nvim ----
|
|
||||||
local formatter = require("formatter")
|
|
||||||
formatter.setup({
|
|
||||||
filetype = {
|
|
||||||
lua = {
|
|
||||||
require("formatter.filetypes.lua").stylua,
|
|
||||||
},
|
|
||||||
python = {
|
|
||||||
require("formatter.filetypes.python").isort,
|
|
||||||
},
|
|
||||||
["*"] = {
|
|
||||||
require("formatter.filetypes.any").remove_trailing_whitespace,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
---- LSP ----
|
---- LSP ----
|
||||||
local lsp = require("lspconfig")
|
local lsp = require 'lspconfig'
|
||||||
|
|
||||||
-- Use an on_attach function to only map the following keys
|
-- Use an on_attach function to only map the following keys
|
||||||
-- after the language server attaches to the current buffer
|
-- after the language server attaches to the current buffer
|
||||||
local on_lsp_attach = function(client, bufnr)
|
local on_lsp_attach = function(client, bufnr)
|
||||||
vim.keymap.set("n", "gD", vim.lsp.buf.declaration)
|
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||||
vim.keymap.set("n", "gd", vim.lsp.buf.definition)
|
vim.keymap.set('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts)
|
||||||
vim.keymap.set("n", "K", vim.lsp.buf.hover)
|
vim.keymap.set('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
|
||||||
vim.keymap.set("n", "gi", vim.lsp.buf.implementation)
|
vim.keymap.set('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
|
||||||
vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help)
|
vim.keymap.set('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
|
||||||
vim.keymap.set("n", "<Leader>D", vim.lsp.buf.type_definition)
|
vim.keymap.set('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
||||||
vim.keymap.set("n", "<Leader>rn", vim.lsp.buf.rename)
|
vim.keymap.set('n', '<Leader>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
|
||||||
vim.keymap.set("n", "<Leader>ca", vim.lsp.buf.code_action)
|
vim.keymap.set('n', '<Leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
|
||||||
vim.keymap.set("n", "gr", vim.lsp.buf.references)
|
vim.keymap.set('n', '<Leader>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
|
||||||
vim.keymap.set("n", "<Leader>e", vim.diagnostic.open_float)
|
vim.keymap.set('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
|
||||||
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev)
|
vim.keymap.set('n', '<Leader>e', '<cmd>lua vim.diagnostic.open_float()<CR>', opts)
|
||||||
vim.keymap.set("n", "]d", vim.diagnostic.goto_next)
|
vim.keymap.set('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<CR>', opts)
|
||||||
vim.keymap.set("n", "<Leader>q", vim.diagnostic.setloclist)
|
vim.keymap.set('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<CR>', opts)
|
||||||
vim.keymap.set("n", "<F3>", function()
|
vim.keymap.set('n', '<Leader>q', '<cmd>lua vim.diagnostic.setloclist()<CR>', opts)
|
||||||
vim.lsp.buf.format({ async = true })
|
vim.keymap.set('n', '<F3>', '<cmd>lua vim.lsp.buf.formatting()<CR>', opts)
|
||||||
end)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Use a loop to conveniently call 'setup' on multiple servers and
|
-- Use a loop to conveniently call 'setup' on multiple servers and
|
||||||
|
|
@ -170,42 +154,41 @@ local servers = {
|
||||||
vim.api.nvim_create_autocmd({ "BufWritePre" }, {
|
vim.api.nvim_create_autocmd({ "BufWritePre" }, {
|
||||||
callback = function()
|
callback = function()
|
||||||
vim.lsp.buf.format()
|
vim.lsp.buf.format()
|
||||||
cmd("Format")
|
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
---- Plugins ----
|
---- Plugins ----
|
||||||
-- Go
|
-- Go
|
||||||
g.ale_go_golangci_lint_options = ""
|
g.ale_go_golangci_lint_options = ''
|
||||||
g.ale_go_golangci_lint_package = 1
|
g.ale_go_golangci_lint_package = 1
|
||||||
---- nvim-lint ----
|
---- nvim-lint ----
|
||||||
local lint = require("lint")
|
local lint = require 'lint'
|
||||||
local clippy_format = "%E%f:%l:%c: %\\d%#:%\\d%# %.%\\{-}"
|
local clippy_format = '%E%f:%l:%c: %\\d%#:%\\d%# %.%\\{-}'
|
||||||
.. "error:%.%\\{-} %m,%W%f:%l:%c: %\\d%#:%\\d%# %.%\\{-}"
|
.. 'error:%.%\\{-} %m,%W%f:%l:%c: %\\d%#:%\\d%# %.%\\{-}'
|
||||||
.. "warning:%.%\\{-} %m,%C%f:%l %m,%-G,%-G"
|
.. 'warning:%.%\\{-} %m,%C%f:%l %m,%-G,%-G'
|
||||||
.. "error: aborting %.%#,%-G"
|
.. 'error: aborting %.%#,%-G'
|
||||||
.. "error: Could not compile %.%#,%E"
|
.. 'error: Could not compile %.%#,%E'
|
||||||
.. "error: %m,%Eerror[E%n]: %m,%-G"
|
.. 'error: %m,%Eerror[E%n]: %m,%-G'
|
||||||
.. "warning: the option `Z` is unstable %.%#,%W"
|
.. 'warning: the option `Z` is unstable %.%#,%W'
|
||||||
.. "warning: %m,%Inote: %m,%C %#--> %f:%l:%c"
|
.. 'warning: %m,%Inote: %m,%C %#--> %f:%l:%c'
|
||||||
|
|
||||||
lint.linters.clippy = {
|
lint.linters.clippy = {
|
||||||
cmd = "cargo clippy",
|
cmd = 'cargo clippy',
|
||||||
stdin = false,
|
stdin = false,
|
||||||
append_fname = true,
|
append_fname = true,
|
||||||
args = {},
|
args = {},
|
||||||
stream = "stdout",
|
stream = 'stdout',
|
||||||
ignore_exitcode = false,
|
ignore_exitcode = false,
|
||||||
env = nil,
|
env = nil,
|
||||||
parser = require("lint.parser").from_errorformat(clippy_format),
|
parser = require('lint.parser').from_errorformat(clippy_format)
|
||||||
}
|
}
|
||||||
|
|
||||||
linters = {
|
linters = {
|
||||||
bash = { "shellcheck" },
|
bash = {'shellcheck'},
|
||||||
go = { "golangcilint" },
|
go = {'golangcilint'},
|
||||||
python = { "flake8" },
|
python = {'flake8'},
|
||||||
rust = { "clippy" },
|
rust = {'clippy'},
|
||||||
yaml = { "yamllint" },
|
yaml = {'yamllint'},
|
||||||
}
|
}
|
||||||
-- set linters --
|
-- set linters --
|
||||||
lint.linters_by_ft = linters
|
lint.linters_by_ft = linters
|
||||||
|
|
@ -221,59 +204,70 @@ for ft, ft_linters in pairs(linters) do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if on_change then
|
if on_change then
|
||||||
vim.api.nvim_create_autocmd({ "FileType" }, {
|
vim.api.nvim_create_autocmd(
|
||||||
pattern = ft,
|
{"FileType"},
|
||||||
|
{
|
||||||
|
pattern=ft,
|
||||||
callback = function()
|
callback = function()
|
||||||
vim.api.nvim_create_autocmd({ "TextChanged" }, {
|
vim.api.nvim_create_autocmd(
|
||||||
|
{"TextChanged" },
|
||||||
|
{
|
||||||
callback = function()
|
callback = function()
|
||||||
lint.try_lint(nil, { ignore_errors = true })
|
lint.try_lint(nil, {ignore_errors=true})
|
||||||
end,
|
end,
|
||||||
})
|
}
|
||||||
end,
|
)
|
||||||
})
|
end
|
||||||
|
}
|
||||||
|
)
|
||||||
end
|
end
|
||||||
if on_write then
|
if on_write then
|
||||||
vim.api.nvim_create_autocmd({ "FileType" }, {
|
vim.api.nvim_create_autocmd(
|
||||||
pattern = ft,
|
{"FileType"},
|
||||||
|
{
|
||||||
|
pattern=ft,
|
||||||
callback = function()
|
callback = function()
|
||||||
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
|
vim.api.nvim_create_autocmd(
|
||||||
|
{"BufWritePost" },
|
||||||
|
{
|
||||||
callback = function()
|
callback = function()
|
||||||
lint.try_lint(nil, { ignore_errors = true })
|
lint.try_lint(nil, {ignore_errors=true})
|
||||||
end,
|
end,
|
||||||
})
|
}
|
||||||
end,
|
)
|
||||||
})
|
end
|
||||||
|
}
|
||||||
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
---- LuaSnip
|
---- LuaSnip
|
||||||
local luasnip = require("luasnip")
|
require('luasnip.loaders.from_lua').lazy_load()
|
||||||
require("luasnip.loaders.from_lua").lazy_load()
|
local luasnip = require 'luasnip'
|
||||||
luasnip.config.set_config({
|
luasnip.config.set_config({
|
||||||
store_selection_keys = "<c-s>",
|
store_selection_keys = '<c-s>',
|
||||||
})
|
})
|
||||||
vim.keymap.set({ "i", "s" }, "<Tab>", function()
|
vim.keymap.set({"i", "s"}, "<Tab>", function()
|
||||||
if luasnip.expand_or_jumpable() then
|
if luasnip.expand_or_jumpable() then
|
||||||
luasnip.expand_or_jump()
|
luasnip.expand_or_jump()
|
||||||
else
|
else
|
||||||
vim.api.nvim_feedkeys(
|
vim.api.nvim_feedkeys(
|
||||||
vim.api.nvim_replace_termcodes("<Tab>", true, false, true),
|
vim.api.nvim_replace_termcodes('<Tab>',true,false,true),
|
||||||
"n", -- noremap to avoid infinite recursion
|
'n', -- noremap to avoid infinite recursion
|
||||||
true
|
true)
|
||||||
)
|
|
||||||
end
|
end
|
||||||
end, { silent = true })
|
end, {silent = true})
|
||||||
vim.keymap.set({ "i", "s" }, "<S-Tab>", function()
|
vim.keymap.set({"i", "s"}, "<S-Tab>", function()
|
||||||
if luasnip.jumpable(-1) then
|
if luasnip.jumpable(-1) then
|
||||||
luasnip.jump(-1)
|
luasnip.jump(-1)
|
||||||
end
|
end
|
||||||
end, { silent = true })
|
end, {silent = true})
|
||||||
---- completion-nvim
|
---- completion-nvim
|
||||||
local cmp = require("cmp")
|
local cmp = require'cmp'
|
||||||
|
|
||||||
cmp.setup({
|
cmp.setup({
|
||||||
snippet = {
|
snippet = {
|
||||||
expand = function(args)
|
expand = function(args)
|
||||||
luasnip.lsp_expand(args.body)
|
require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
window = {
|
window = {
|
||||||
|
|
@ -281,25 +275,26 @@ cmp.setup({
|
||||||
-- documentation = cmp.config.window.bordered(),
|
-- documentation = cmp.config.window.bordered(),
|
||||||
},
|
},
|
||||||
mapping = cmp.mapping.preset.insert({
|
mapping = cmp.mapping.preset.insert({
|
||||||
["<C-b>"] = cmp.mapping.scroll_docs(-4),
|
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
||||||
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||||
["<C-Space>"] = cmp.mapping.complete(),
|
['<C-Space>'] = cmp.mapping.complete(),
|
||||||
["<C-e>"] = cmp.mapping.abort(),
|
['<C-e>'] = cmp.mapping.abort(),
|
||||||
-- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
-- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||||
["<CR>"] = cmp.mapping.confirm({ select = true }),
|
['<CR>'] = cmp.mapping.confirm({ select = true }),
|
||||||
}),
|
}),
|
||||||
sources = cmp.config.sources({
|
sources = cmp.config.sources({
|
||||||
{ name = "nvim_lsp" },
|
{ name = 'nvim_lsp' },
|
||||||
{ name = "luasnip" },
|
{ name = 'luasnip' },
|
||||||
{ name = "path" },
|
{ name = 'path' },
|
||||||
{ name = "buffer" },
|
{ name = 'buffer' },
|
||||||
}),
|
})
|
||||||
})
|
})
|
||||||
--cmd [[autocmd FileType *\(TelescopePrompt\)\@<! lua require'completion'.on_attach()]]
|
--cmd [[autocmd FileType *\(TelescopePrompt\)\@<! lua require'completion'.on_attach()]]
|
||||||
|
|
||||||
-- Setup lspconfig.
|
-- Setup lspconfig.
|
||||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||||
lsp.util.default_config = vim.tbl_deep_extend("force", lsp.util.default_config, { capabilities = capabilities })
|
lsp.util.default_config = vim.tbl_deep_extend(
|
||||||
|
'force', lsp.util.default_config, { capabilities = capabilities, })
|
||||||
for server, add_to_config in pairs(servers) do
|
for server, add_to_config in pairs(servers) do
|
||||||
config = {
|
config = {
|
||||||
on_attach = on_lsp_attach,
|
on_attach = on_lsp_attach,
|
||||||
|
|
@ -307,7 +302,7 @@ for server, add_to_config in pairs(servers) do
|
||||||
debounce_text_changes = 150,
|
debounce_text_changes = 150,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
for k, v in pairs(add_to_config) do
|
for k,v in pairs(add_to_config) do
|
||||||
config[k] = v
|
config[k] = v
|
||||||
end
|
end
|
||||||
lsp[server].setup(config)
|
lsp[server].setup(config)
|
||||||
|
|
@ -315,105 +310,93 @@ end
|
||||||
---- git-blame.nvim
|
---- git-blame.nvim
|
||||||
g.gitblame_enabled = 0
|
g.gitblame_enabled = 0
|
||||||
---- gitsigns.nvim
|
---- gitsigns.nvim
|
||||||
require("gitsigns").setup({
|
require('gitsigns').setup {
|
||||||
on_attach = function(bufnr)
|
on_attach = function(bufnr)
|
||||||
local gs = package.loaded.gitsigns
|
local gs = package.loaded.gitsigns
|
||||||
|
|
||||||
-- Navigation
|
-- Navigation
|
||||||
vim.keymap.set("n", "]c", function()
|
vim.keymap.set('n', ']c', function()
|
||||||
if vim.wo.diff then
|
if vim.wo.diff then return ']c' end
|
||||||
return "]c"
|
vim.schedule(function() gs.next_hunk() end)
|
||||||
end
|
return '<Ignore>'
|
||||||
vim.schedule(function()
|
end, {expr=true})
|
||||||
gs.next_hunk()
|
|
||||||
end)
|
|
||||||
return "<Ignore>"
|
|
||||||
end, { expr = true })
|
|
||||||
|
|
||||||
vim.keymap.set("n", "[c", function()
|
vim.keymap.set('n', '[c', function()
|
||||||
if vim.wo.diff then
|
if vim.wo.diff then return '[c' end
|
||||||
return "[c"
|
vim.schedule(function() gs.prev_hunk() end)
|
||||||
end
|
return '<Ignore>'
|
||||||
vim.schedule(function()
|
end, {expr=true})
|
||||||
gs.prev_hunk()
|
|
||||||
end)
|
|
||||||
return "<Ignore>"
|
|
||||||
end, { expr = true })
|
|
||||||
|
|
||||||
-- Actions
|
-- Actions
|
||||||
vim.keymap.set({ "n", "v" }, "<leader>hs", ":Gitsigns stage_hunk<CR>")
|
vim.keymap.set({'n', 'v'}, '<leader>hs', ':Gitsigns stage_hunk<CR>')
|
||||||
vim.keymap.set({ "n", "v" }, "<leader>hr", ":Gitsigns reset_hunk<CR>")
|
vim.keymap.set({'n', 'v'}, '<leader>hr', ':Gitsigns reset_hunk<CR>')
|
||||||
vim.keymap.set("n", "<leader>hS", gs.stage_buffer)
|
vim.keymap.set('n', '<leader>hS', gs.stage_buffer)
|
||||||
vim.keymap.set("n", "<leader>hu", gs.undo_stage_hunk)
|
vim.keymap.set('n', '<leader>hu', gs.undo_stage_hunk)
|
||||||
vim.keymap.set("n", "<leader>hR", gs.reset_buffer)
|
vim.keymap.set('n', '<leader>hR', gs.reset_buffer)
|
||||||
vim.keymap.set("n", "<leader>hp", gs.preview_hunk)
|
vim.keymap.set('n', '<leader>hp', gs.preview_hunk)
|
||||||
vim.keymap.set("n", "<leader>hb", function()
|
vim.keymap.set('n', '<leader>hb', function() gs.blame_line{full=true} end)
|
||||||
gs.blame_line({ full = true })
|
vim.keymap.set('n', '<leader>tb', gs.toggle_current_line_blame)
|
||||||
end)
|
vim.keymap.set('n', '<leader>hd', gs.diffthis)
|
||||||
vim.keymap.set("n", "<leader>tb", gs.toggle_current_line_blame)
|
vim.keymap.set('n', '<leader>hD', function() gs.diffthis('~') end)
|
||||||
vim.keymap.set("n", "<leader>hd", gs.diffthis)
|
vim.keymap.set('n', '<leader>td', gs.toggle_deleted)
|
||||||
vim.keymap.set("n", "<leader>hD", function()
|
|
||||||
gs.diffthis("~")
|
|
||||||
end)
|
|
||||||
vim.keymap.set("n", "<leader>td", gs.toggle_deleted)
|
|
||||||
|
|
||||||
-- Text object
|
-- Text object
|
||||||
vim.keymap.set({ "o", "x" }, "ih", ":<C-U>Gitsigns select_hunk<CR>")
|
vim.keymap.set({'o', 'x'}, 'ih', ':<C-U>Gitsigns select_hunk<CR>')
|
||||||
end,
|
end
|
||||||
})
|
}
|
||||||
---- Comment.nvim
|
---- Comment.nvim
|
||||||
require("Comment").setup()
|
require('Comment').setup()
|
||||||
---- vim-markdown
|
---- vim-markdown
|
||||||
g.vim_markdown_no_default_key_mappings = 1
|
g.vim_markdown_no_default_key_mappings = 1
|
||||||
g.vim_markdown_folding_disabled = 1
|
g.vim_markdown_folding_disabled = 1
|
||||||
g.vim_markdown_toml_frontmatter = 1
|
g.vim_markdown_toml_frontmatter = 1
|
||||||
---- Telescope
|
---- Telescope
|
||||||
local telescope = require("telescope")
|
local telescope = require 'telescope'
|
||||||
telescope.setup({
|
telescope.setup{
|
||||||
defaults = {
|
defaults = {
|
||||||
file_ignore_patterns = { "%.avif", "%.jpg", "%.pdf", "%.png", "%.webp" },
|
file_ignore_patterns = {"%.avif", "%.jpg", "%.pdf", "%.png", "%.webp"},
|
||||||
},
|
},
|
||||||
pickers = {
|
pickers = {
|
||||||
find_files = {
|
find_files = {
|
||||||
hidden = true,
|
hidden = true,
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
})
|
}
|
||||||
telescope.load_extension("fzy_native")
|
telescope.load_extension('fzy_native')
|
||||||
telescope.load_extension("luasnip")
|
telescope.load_extension('luasnip')
|
||||||
local builtin = require("telescope.builtin")
|
local builtin = require('telescope.builtin')
|
||||||
vim.keymap.set("n", "<Leader>f", builtin.fd)
|
vim.keymap.set('n', '<Leader>f', builtin.fd)
|
||||||
vim.keymap.set("n", "<Leader>b", builtin.buffers)
|
vim.keymap.set('n', '<Leader>b', builtin.buffers)
|
||||||
vim.keymap.set("n", "<Leader>/", builtin.current_buffer_fuzzy_find)
|
vim.keymap.set('n', '<Leader>/', builtin.current_buffer_fuzzy_find)
|
||||||
vim.keymap.set("n", "<Leader>g", builtin.live_grep)
|
vim.keymap.set('n', '<Leader>g', builtin.live_grep)
|
||||||
vim.keymap.set("n", "<Leader>cg", builtin.grep_string)
|
vim.keymap.set('n', '<Leader>cg', builtin.grep_string)
|
||||||
vim.keymap.set("n", "<Leader>:", builtin.commands)
|
vim.keymap.set('n', '<Leader>:', builtin.commands)
|
||||||
vim.keymap.set("n", "<Leader>s", telescope.extensions.luasnip.luasnip)
|
vim.keymap.set('n', '<Leader>s', telescope.extensions.luasnip.luasnip)
|
||||||
---- nvim-dap
|
---- nvim-dap
|
||||||
local dap = require("dap")
|
local dap = require('dap')
|
||||||
vim.fn.sign_define("DapBreakpoint", { text = "🟥", texthl = "", linehl = "", numhl = "" })
|
vim.fn.sign_define('DapBreakpoint',{ text ='🟥', texthl ='', linehl ='', numhl =''})
|
||||||
vim.fn.sign_define("DapStopped", { text = "▶️", texthl = "", linehl = "", numhl = "" })
|
vim.fn.sign_define('DapStopped',{ text ='▶️', texthl ='', linehl ='', numhl =''})
|
||||||
-- Set keymaps to control the debugge
|
-- Set keymaps to control the debugge
|
||||||
vim.keymap.set("n", "<leader>dc", dap.continue)
|
vim.keymap.set('n', '<leader>dc', require 'dap'.continue)
|
||||||
vim.keymap.set("n", "<leader>do", dap.step_over)
|
vim.keymap.set('n', '<leader>do', require 'dap'.step_over)
|
||||||
vim.keymap.set("n", "<leader>di", dap.step_into)
|
vim.keymap.set('n', '<leader>di', require 'dap'.step_into)
|
||||||
vim.keymap.set("n", "<leader>dO", dap.step_out)
|
vim.keymap.set('n', '<leader>dO', require 'dap'.step_out)
|
||||||
vim.keymap.set("n", "<leader>db", dap.toggle_breakpoint)
|
vim.keymap.set('n', '<leader>db', require 'dap'.toggle_breakpoint)
|
||||||
vim.keymap.set("n", "<leader>dB", function()
|
vim.keymap.set('n', '<leader>dB', function()
|
||||||
dap.set_breakpoint(vim.fn.input("Breakpoint condition: "))
|
require 'dap'.set_breakpoint(vim.fn.input('Breakpoint condition: '))
|
||||||
end)
|
end)
|
||||||
local dapui = require("dapui")
|
local dapui = require('dapui')
|
||||||
dap.listeners.after.event_initialized["dapui_config"] = function()
|
dap.listeners.after.event_initialized["dapui_config"]=function()
|
||||||
dapui.open()
|
dapui.open()
|
||||||
end
|
end
|
||||||
dap.listeners.before.event_terminated["dapui_config"] = function()
|
dap.listeners.before.event_terminated["dapui_config"]=function()
|
||||||
dapui.close()
|
dapui.close()
|
||||||
end
|
end
|
||||||
dap.listeners.before.event_exited["dapui_config"] = function()
|
dap.listeners.before.event_exited["dapui_config"]=function()
|
||||||
dapui.close()
|
dapui.close()
|
||||||
end
|
end
|
||||||
-- nvim-dap-go
|
-- nvim-dap-go
|
||||||
require("dap-go").setup()
|
require('dap-go').setup()
|
||||||
|
|
||||||
---- web-devicons
|
---- web-devicons
|
||||||
require("nvim-web-devicons").setup()
|
require('nvim-web-devicons').setup()
|
||||||
|
|
|
||||||
|
|
@ -8,9 +8,7 @@ local func = ls.function_node
|
||||||
local choice = ls.choice_node
|
local choice = ls.choice_node
|
||||||
local dynamicn = ls.dynamic_node
|
local dynamicn = ls.dynamic_node
|
||||||
|
|
||||||
local date = function()
|
local date = function() return {os.date('%Y-%m-%d')} end
|
||||||
return { os.date("%Y-%m-%d") }
|
|
||||||
end
|
|
||||||
|
|
||||||
ls.add_snippets(nil, {
|
ls.add_snippets(nil, {
|
||||||
all = {
|
all = {
|
||||||
|
|
@ -23,3 +21,4 @@ ls.add_snippets(nil, {
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,14 +15,17 @@ ls.add_snippets(nil, {
|
||||||
{
|
{
|
||||||
trig = "link",
|
trig = "link",
|
||||||
namr = "markdown_link",
|
namr = "markdown_link",
|
||||||
dscr = "Create markdown link [txt](url)",
|
dscr = "Create markdown link [txt](url)"
|
||||||
},
|
},
|
||||||
fmt("[{txt}]({url})", {
|
fmt(
|
||||||
|
"[{txt}]({url})",
|
||||||
|
{
|
||||||
txt = insert(1),
|
txt = insert(1),
|
||||||
url = func(function(_, snip)
|
url = func(function(_, snip)
|
||||||
return snip.env.TM_SELECTED_TEXT[1] or {}
|
return snip.env.TM_SELECTED_TEXT[1] or {}
|
||||||
end, {}),
|
end, {}),
|
||||||
})
|
}
|
||||||
|
)
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -8,9 +8,7 @@ local func = ls.function_node
|
||||||
local choice = ls.choice_node
|
local choice = ls.choice_node
|
||||||
local dynamicn = ls.dynamic_node
|
local dynamicn = ls.dynamic_node
|
||||||
|
|
||||||
local date = function()
|
local date = function() return {os.date('%Y-%m-%d')} end
|
||||||
return { os.date("%Y-%m-%d") }
|
|
||||||
end
|
|
||||||
|
|
||||||
ls.add_snippets(nil, {
|
ls.add_snippets(nil, {
|
||||||
terraform = {
|
terraform = {
|
||||||
|
|
@ -18,15 +16,17 @@ ls.add_snippets(nil, {
|
||||||
trig = "prov",
|
trig = "prov",
|
||||||
namr = "AWS provider",
|
namr = "AWS provider",
|
||||||
dscr = "AWS provider to be included in the `terraform` section",
|
dscr = "AWS provider to be included in the `terraform` section",
|
||||||
}, {
|
},
|
||||||
|
{
|
||||||
text({
|
text({
|
||||||
"required_providers {",
|
"required_providers {",
|
||||||
" aws = {",
|
" aws = {",
|
||||||
' source = "hashicorp/aws"',
|
" source = \"hashicorp/aws\"",
|
||||||
' version = "~> 4.0"',
|
" version = \"~> 4.0\"",
|
||||||
" }",
|
" }",
|
||||||
"}",
|
"}",
|
||||||
}),
|
}),
|
||||||
}),
|
})
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
Subproject commit 9c44c9d80863aef1cef5b5c354c393ed5d74e634
|
|
||||||
Loading…
Add table
Reference in a new issue