1
0
Fork 0

Compare commits

..

No commits in common. "0080ca78f2d44857bf92cf86db0281b84614bdb8" and "6567b163a7334543d6a0cfe695da68fe417fc27e" have entirely different histories.

6 changed files with 231 additions and 250 deletions

3
.gitmodules vendored
View file

@ -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
View file

@ -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()

View file

@ -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, {
}), }),
}, },
}) })

View file

@ -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, {}),
}) }
)
), ),
}, },
}) })

View file

@ -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