nvim config update
This commit is contained in:
9
.config/nvim/lua/kamu/debug.lua
Normal file
9
.config/nvim/lua/kamu/debug.lua
Normal file
@@ -0,0 +1,9 @@
|
||||
for _, style in ipairs({ "compact", "fancy", "minimal" }) do
|
||||
for _, level in ipairs({ "debug", "warn", "error" }) do
|
||||
Snacks.notifier.notify(
|
||||
"- `notifier` says **hello**\n- and *goodbye*",
|
||||
level,
|
||||
{ style = style, timeout = 10000, title = "Snacks" }
|
||||
)
|
||||
end
|
||||
end
|
||||
@@ -17,6 +17,10 @@ vim.keymap.set("n", "<leader>nh", vim.cmd.noh)
|
||||
-- clear highlight on search when pressing <ESC>
|
||||
-- vim.keymap.set('n', '<ESC>', '<cmd>nohlsearch<CR>')
|
||||
|
||||
vim.keymap.set("n", "<space><space>x", "<cmd>source %<CR>")
|
||||
vim.keymap.set("n", "<space>x", ":.lua<CR>")
|
||||
vim.keymap.set("v", "<space>x", ":lua<CR>")
|
||||
|
||||
-- Highlight when yanking text
|
||||
vim.api.nvim_create_autocmd("TextYankPost", {
|
||||
desc = "Highlight when yanking text",
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
in_wsl = os.getenv('WSL_DISTRO_NAME') ~= nil
|
||||
local in_wsl = os.getenv('WSL_DISTRO_NAME') ~= nil
|
||||
|
||||
-- https://mitchellt.com/2022/05/15/WSL-Neovim-Lua-and-the-Windows-Clipboard.html
|
||||
if in_wsl then
|
||||
vim.g.clipboard = {
|
||||
name = 'wsl clipboard',
|
||||
copy = {
|
||||
["+"] = { "clip.exe" },
|
||||
["*"] = { "clip.exe" }
|
||||
copy = {
|
||||
["+"] = { "clip.exe" },
|
||||
["*"] = { "clip.exe" }
|
||||
},
|
||||
paste = {
|
||||
paste = {
|
||||
["+"] = { 'powershell.exe -c [Console]::Out.Write($(Get-Clipboard -Raw).tostring().replace("`r", ""))' },
|
||||
["*"] = { 'powershell.exe -c [Console]::Out.Write($(Get-Clipboard -Raw).tostring().replace("`r", ""))' } },
|
||||
cache_enabled = true
|
||||
@@ -65,7 +65,6 @@ local options = {
|
||||
smartcase = true,
|
||||
|
||||
showtabline = 0,
|
||||
cursorline = true,
|
||||
|
||||
background = "dark",
|
||||
termguicolors = true,
|
||||
@@ -83,8 +82,8 @@ local options = {
|
||||
updatetime = 50,
|
||||
|
||||
showmode = false,
|
||||
list = true,
|
||||
listchars = { tab = '┬╗ ', trail = '┬╖', nbsp= 'ΓÉú'},
|
||||
-- list = true,
|
||||
-- listchars = { tab = '┬╗ ', trail = '┬╖', nbsp= 'ΓÉú'},
|
||||
|
||||
inccommand = 'split',
|
||||
cursorline = true,
|
||||
|
||||
@@ -1,33 +1,85 @@
|
||||
local function check_backspace()
|
||||
local col = vim.fn.col(".") - 1
|
||||
if col == 0 or vim.fn.getline("."):sub(col, col):match("%s") then
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
local function T(str)
|
||||
return vim.api.nvim_replace_termcodes(str, true, true, true)
|
||||
end
|
||||
|
||||
return {
|
||||
{
|
||||
'L3MON4D3/LuaSnip',
|
||||
dependencies = {
|
||||
'saadparwaiz1/cmp_luasnip',
|
||||
'rafamadriz/friendly-snippets',
|
||||
},
|
||||
config = function()
|
||||
require("luasnip.loaders.from_vscode").lazy_load()
|
||||
end
|
||||
},
|
||||
{
|
||||
'hrsh7th/nvim-cmp',
|
||||
dependencies = {
|
||||
'hrsh7th/cmp-nvim-lsp',
|
||||
'hrsh7th/cmp-buffer',
|
||||
-- 'hrsh7th/cmp-path',
|
||||
-- 'hrsh7th/cmp-cmdline',
|
||||
'L3MON4D3/LuaSnip',
|
||||
'hrsh7th/cmp-path',
|
||||
'hrsh7th/cmp-cmdline',
|
||||
'onsails/lspkind.nvim',
|
||||
{ 'L3MON4D3/LuaSnip', build = "make install_jsregexp" },
|
||||
'saadparwaiz1/cmp_luasnip',
|
||||
'rafamadriz/friendly-snippets',
|
||||
},
|
||||
lazy = false,
|
||||
priority = 100,
|
||||
config = function()
|
||||
vim.opt.completeopt = { "menu", "menuone" }
|
||||
|
||||
|
||||
local lspkind = require('lspkind')
|
||||
local cmp = require('cmp')
|
||||
local ls = require("luasnip")
|
||||
ls.setup({
|
||||
history = true,
|
||||
})
|
||||
|
||||
ls.filetype_extend("latex", { "tex" })
|
||||
|
||||
-- require("luasnip.loaders.from_vscode").lazy_load()
|
||||
require("luasnip.loaders.from_lua").load({
|
||||
-- paths = vim.api.nvim_get_runtime_file("lua/kamu/snippets/", true)[1]
|
||||
paths = "~/.config/nvim/lua/kamu/snippets/",
|
||||
})
|
||||
-- require("luasnip.loaders").edit_snippet_files()
|
||||
|
||||
-- vim.keymap.set({ "i", "s" }, "<Tab>", function()
|
||||
-- if ls.expand_or_jumpable() then
|
||||
-- ls.expand_or_jump()
|
||||
-- else
|
||||
-- return "<Tab>"
|
||||
-- end
|
||||
-- end, { expr = true, silent = true })
|
||||
--
|
||||
-- vim.keymap.set({ "i", "s" }, "<S-Tab>", function()
|
||||
-- if ls.jumpable(-1) then
|
||||
-- ls.jump(-1)
|
||||
-- else
|
||||
-- print("can't go further back")
|
||||
-- end
|
||||
-- end, { silent = true })
|
||||
|
||||
cmp.setup({
|
||||
formatting = {
|
||||
format = lspkind.cmp_format({
|
||||
mode = 'symbol_text',
|
||||
}),
|
||||
},
|
||||
ellipsis_char = '...',
|
||||
show_labelDetails = true,
|
||||
snippet = {
|
||||
-- REQUIRED - you must specify a snippet engine
|
||||
expand = function(args)
|
||||
require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
|
||||
-- vim.snippet.expand(args.body)
|
||||
require('luasnip').lsp_expand(args.body)
|
||||
end,
|
||||
},
|
||||
maxwidth = {
|
||||
menu = 50,
|
||||
abbr = 50,
|
||||
},
|
||||
window = {
|
||||
-- completion = cmp.config.window.bordered(),
|
||||
-- documentation = cmp.config.window.bordered(),
|
||||
@@ -37,14 +89,37 @@ return {
|
||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-Space>'] = cmp.mapping.complete(),
|
||||
['<C-e>'] = cmp.mapping.abort(),
|
||||
['<Tab>'] = cmp.mapping.confirm({ select = false }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||
-- ['<Tab>'] = cmp.mapping.confirm({ select = false }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||
['<CR>'] = cmp.mapping.confirm({ select = false }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||
['<Tab>'] = cmp.mapping(function(fallback)
|
||||
if vim.fn.pumvisible() == 1 then
|
||||
vim.fn.feedkeys(T('<C-n>'), 'n')
|
||||
elseif ls.expand_or_jumpable() then
|
||||
ls.expand_or_jump()
|
||||
elseif not check_backspace() then
|
||||
cmp.mapping.complete()(core, fallback)
|
||||
else
|
||||
vim.cmd(':>')
|
||||
vim.cmd(':startinsert')
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
['<S-Tab>'] = cmp.mapping(function(fallback)
|
||||
if vim.fn.pumvisible() == 1 then
|
||||
vim.fn.feedkeys(T('<C-p>'), 'n')
|
||||
elseif ls.jumpable(-1) then
|
||||
ls.jump(-1)
|
||||
else
|
||||
vim.cmd(':<')
|
||||
vim.cmd(':startinsert')
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
}),
|
||||
sources = cmp.config.sources({
|
||||
{ name = 'nvim_lsp' },
|
||||
{ name = 'luasnip' },
|
||||
}, {
|
||||
{ name = 'path' },
|
||||
{ name = 'buffer' },
|
||||
})
|
||||
}),
|
||||
})
|
||||
|
||||
-- Set configuration for specific filetype.
|
||||
@@ -63,6 +138,7 @@ return {
|
||||
-- { name = 'buffer' }
|
||||
-- }
|
||||
-- })
|
||||
--
|
||||
|
||||
-- -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
|
||||
-- cmp.setup.cmdline(':', {
|
||||
|
||||
@@ -1,76 +1,76 @@
|
||||
return {
|
||||
{
|
||||
-- lsp client plugin
|
||||
"neovim/nvim-lspconfig", -- https://github.com/neovim/nvim-lspconfig
|
||||
dependencies = {
|
||||
"williamboman/mason.nvim", -- https://github.com/williamboman/mason.nvim
|
||||
"williamboman/mason-lspconfig.nvim", -- https://github.com/williamboman/mason-lspconfig.nvim bridges the gab between lspconfig and mason
|
||||
-- "folke/neodev.nvim", -- https://github.com/folke/neodev.nvim
|
||||
},
|
||||
config = function()
|
||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||
|
||||
require('mason').setup()
|
||||
require('mason-lspconfig').setup({
|
||||
ensure_installed = {
|
||||
'lua_ls',
|
||||
-- lsp client plugin
|
||||
"neovim/nvim-lspconfig", -- https://github.com/neovim/nvim-lspconfig
|
||||
dependencies = {
|
||||
"williamboman/mason.nvim", -- https://github.com/williamboman/mason.nvim
|
||||
"williamboman/mason-lspconfig.nvim", -- https://github.com/williamboman/mason-lspconfig.nvim bridges the gab between lspconfig and mason
|
||||
{
|
||||
"folke/lazydev.nvim", -- https://github.com/folke/lazydev.nvim
|
||||
ft = "lua",
|
||||
opts = {
|
||||
library = {
|
||||
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
|
||||
},
|
||||
handlers = {
|
||||
-- set up all installed servers automatically
|
||||
function(server_name)
|
||||
require("lspconfig")[server_name].setup({
|
||||
-- print(server_name),
|
||||
capabilities = capabilities
|
||||
})
|
||||
end,
|
||||
|
||||
["ansiblels"] = function()
|
||||
require("lspconfig")['ansiblels'].setup({
|
||||
filetypes = {
|
||||
"yaml",
|
||||
},
|
||||
-- settings = {
|
||||
-- },
|
||||
})
|
||||
end,
|
||||
}
|
||||
})
|
||||
|
||||
-- require("neodev").setup({})
|
||||
|
||||
vim.api.nvim_create_autocmd('LspAttach', {
|
||||
group = vim.api.nvim_create_augroup('KamuLspConfig', {}),
|
||||
callback = function(ev)
|
||||
local opts = { buffer = ev.buf }
|
||||
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts)
|
||||
vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts)
|
||||
vim.keymap.set("n", "<leader>ca", function() vim.lsp.buf.code_action() end, opts)
|
||||
vim.keymap.set('n', '<space>f', function()
|
||||
vim.lsp.buf.format { async = true }
|
||||
end, opts)
|
||||
|
||||
vim.keymap.set("n", "<leader>vws", function() vim.lsp.buf.workspace_symbol() end, opts)
|
||||
vim.keymap.set("n", "<leader>vd", function() vim.diagnostic.open_float() end, opts)
|
||||
vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, opts)
|
||||
vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, opts)
|
||||
vim.keymap.set("n", "<leader>vrr", function() vim.lsp.buf.references() end, opts)
|
||||
vim.keymap.set("n", "<leader>vrn", function() vim.lsp.buf.rename() end, opts)
|
||||
vim.keymap.set("i", "<C-h>", function() vim.lsp.buf.signature_help() end, opts)
|
||||
end,
|
||||
})
|
||||
end
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"nvimtools/none-ls.nvim",
|
||||
config = function()
|
||||
local null_ls = require("null-ls")
|
||||
config = function()
|
||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||
|
||||
null_ls.setup({
|
||||
sources = {
|
||||
null_ls.builtins.formatting.black,
|
||||
null_ls.builtins.formatting.isort,
|
||||
}
|
||||
})
|
||||
end
|
||||
}
|
||||
require('mason').setup()
|
||||
require('mason-lspconfig').setup({
|
||||
ensure_installed = {
|
||||
'lua_ls',
|
||||
},
|
||||
handlers = {
|
||||
function(server_name)
|
||||
require("lspconfig")[server_name].setup({
|
||||
capabilities = capabilities
|
||||
})
|
||||
end,
|
||||
|
||||
["ansiblels"] = function()
|
||||
require("lspconfig")['ansiblels'].setup({
|
||||
filetypes = {
|
||||
"yaml",
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd('LspAttach', {
|
||||
-- group = vim.api.nvim_create_augroup('KamuLspConfig', {}),
|
||||
callback = function(ev)
|
||||
local opts = { buffer = ev.buf }
|
||||
local client = vim.lsp.get_client_by_id(ev.data.client_id)
|
||||
if not client then return end
|
||||
|
||||
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts)
|
||||
vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts)
|
||||
vim.keymap.set("n", "<leader>ca", function() vim.lsp.buf.code_action() end, opts)
|
||||
vim.keymap.set('n', '<space>f', function()
|
||||
vim.lsp.buf.format { async = true }
|
||||
end, opts)
|
||||
|
||||
vim.keymap.set("n", "<leader>vws", function() vim.lsp.buf.workspace_symbol() end, opts)
|
||||
vim.keymap.set("n", "<leader>vd", function() vim.diagnostic.open_float() end, opts)
|
||||
vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, opts)
|
||||
vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, opts)
|
||||
vim.keymap.set("n", "<leader>vrr", function() vim.lsp.buf.references() end, opts)
|
||||
vim.keymap.set("n", "<leader>vrn", function() vim.lsp.buf.rename() end, opts)
|
||||
vim.keymap.set("i", "<C-h>", function() vim.lsp.buf.signature_help() end, opts)
|
||||
|
||||
-- Format on save
|
||||
if client.supports_method('textDocument/formatting') and vim.bo.filetype == "lua" then
|
||||
vim.api.nvim_create_autocmd('BufWritePre', {
|
||||
buffer = ev.buf,
|
||||
callback = function()
|
||||
vim.lsp.buf.format({ bufnr = ev.buf, id = client.id })
|
||||
end,
|
||||
})
|
||||
end
|
||||
end,
|
||||
})
|
||||
end
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ end
|
||||
|
||||
return {
|
||||
'nvim-lualine/lualine.nvim',
|
||||
dependencies = {
|
||||
dependencies = {
|
||||
'kyazdani42/nvim-web-devicons',
|
||||
'folke/noice.nvim',
|
||||
},
|
||||
@@ -75,8 +75,8 @@ return {
|
||||
theme = 'catppuccin',
|
||||
--fmt = string.lower,
|
||||
icons_enabled = true,
|
||||
component_separators = { left = '', right = ''},
|
||||
section_separators = { left = '', right = ''},
|
||||
component_separators = { left = '', right = '' },
|
||||
section_separators = { left = '', right = '' },
|
||||
disabled_filetypes = {
|
||||
statusline = {},
|
||||
winbar = {},
|
||||
@@ -104,7 +104,7 @@ return {
|
||||
{
|
||||
'branch',
|
||||
color = { fg = "#FFF" },
|
||||
icon = { 'εéá', color = function() return { fg = getModeColor('a', 'bg') } end },
|
||||
icon = { '', color = function() return { fg = getModeColor('a', 'bg') } end },
|
||||
},
|
||||
{
|
||||
'diff',
|
||||
@@ -138,13 +138,13 @@ return {
|
||||
} },
|
||||
lualine_x = {
|
||||
-- print recording messages
|
||||
{
|
||||
require("noice").api.statusline.mode.get,
|
||||
cond = function()
|
||||
return require("noice").api.statusline.mode.has() and string.match(require("noice").api.statusline.mode.get(), '^recording @.$') ~= nil
|
||||
end,
|
||||
color = { fg = "#ff9e64" },
|
||||
},
|
||||
-- {
|
||||
-- require("noice").api.statusline.mode.get,
|
||||
-- cond = function()
|
||||
-- return require("noice").api.statusline.mode.has() and string.match(require("noice").api.statusline.mode.get(), '^recording @.$') ~= nil
|
||||
-- end,
|
||||
-- color = { fg = "#ff9e64" },
|
||||
-- },
|
||||
'encoding', 'fileformat', 'filetype' },
|
||||
lualine_y = {
|
||||
{
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
return {
|
||||
"folke/noice.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
},
|
||||
dependencies = {
|
||||
"rcarriga/nvim-notify",
|
||||
"MunifTanjim/nui.nvim",
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("noice").setup(opts)
|
||||
|
||||
require("notify").setup({
|
||||
background_colour = "#000000",
|
||||
level = 2,
|
||||
minimum_width = 50,
|
||||
render = "compact",
|
||||
time_formats = {
|
||||
notification = "%T",
|
||||
notification_history = "%FT%T"
|
||||
},
|
||||
timeout = 5000,
|
||||
top_down = true
|
||||
})
|
||||
end,
|
||||
}
|
||||
66
.config/nvim/lua/kamu/plugins/snacks.lua
Normal file
66
.config/nvim/lua/kamu/plugins/snacks.lua
Normal file
@@ -0,0 +1,66 @@
|
||||
return {
|
||||
"folke/snacks.nvim",
|
||||
priority = 1000,
|
||||
lazy = false,
|
||||
keys = {
|
||||
{ "<leader>sh", "<cmd>lua Snacks.notifier.show_history()<CR>", mode = "n", desc = "Show the notification History" }
|
||||
},
|
||||
opts = {
|
||||
bigfile = { enabled = true },
|
||||
notifier = {
|
||||
enabled = true,
|
||||
{
|
||||
timeout = 3000, -- default timeout in ms
|
||||
width = { min = 40, max = 0.4 },
|
||||
height = { min = 1, max = 0.6 },
|
||||
margin = { top = 0, right = 1, bottom = 0 },
|
||||
padding = true, -- add 1 cell of left/right padding to the notification window
|
||||
sort = { "level", "added" }, -- sort by level and time
|
||||
level = vim.log.levels.TRACE,
|
||||
icons = {
|
||||
error = " ",
|
||||
warn = " ",
|
||||
info = " ",
|
||||
debug = " ",
|
||||
trace = " ",
|
||||
},
|
||||
keep = function(notif)
|
||||
return vim.fn.getcmdpos() > 0
|
||||
end,
|
||||
style = "compact",
|
||||
top_down = true, -- place notifications from top to bottom
|
||||
date_format = "%R", -- time format for notifications
|
||||
more_format = " ↓ %d lines ",
|
||||
refresh = 50, -- refresh at most every 50ms
|
||||
}
|
||||
},
|
||||
quickfile = { enabled = true },
|
||||
statuscolumn = { enabled = true },
|
||||
words = { enabled = true },
|
||||
},
|
||||
init = function()
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
pattern = "VeryLazy",
|
||||
callback = function()
|
||||
_G.dd = function(...)
|
||||
Snacks.debug.inspect(...)
|
||||
end
|
||||
_G.bt = function()
|
||||
Snacks.debug.backtrace()
|
||||
end
|
||||
vim.print = _G.dd -- Override print to use snacks for `:=` command
|
||||
|
||||
Snacks.toggle.option("spell", { name = "Spelling" }):map("<leader>us")
|
||||
Snacks.toggle.option("wrap", { name = "Wrap" }):map("<leader>uw")
|
||||
Snacks.toggle.option("relativenumber", { name = "Relative Number" }):map("<leader>uL")
|
||||
Snacks.toggle.diagnostics():map("<leader>ud")
|
||||
Snacks.toggle.line_number():map("<leader>ul")
|
||||
Snacks.toggle.option("conceallevel", { off = 0, on = vim.o.conceallevel > 0 and vim.o.conceallevel or 2 }):map(
|
||||
"<leader>uc")
|
||||
Snacks.toggle.treesitter():map("<leader>uT")
|
||||
Snacks.toggle.option("background", { off = "light", on = "dark", name = "Dark Background" }):map("<leader>ub")
|
||||
Snacks.toggle.inlay_hints():map("<leader>uh")
|
||||
end,
|
||||
})
|
||||
end,
|
||||
}
|
||||
@@ -1,17 +1,39 @@
|
||||
return {
|
||||
"nvim-telescope/telescope.nvim",
|
||||
tag = '0.1.3',
|
||||
dependencies = {'nvim-lua/plenary.nvim'},
|
||||
"nvim-telescope/telescope.nvim",
|
||||
tag = '0.1.8',
|
||||
dependencies = {
|
||||
'nvim-lua/plenary.nvim',
|
||||
{ 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' },
|
||||
},
|
||||
config = function()
|
||||
require("telescope").setup()
|
||||
require("telescope").setup({
|
||||
pickers = {
|
||||
find_files = {
|
||||
theme = "ivy",
|
||||
},
|
||||
},
|
||||
extensions = {
|
||||
fzf = {},
|
||||
}
|
||||
})
|
||||
|
||||
require('telescope').load_extension('fzf')
|
||||
|
||||
local builtin = require('telescope.builtin')
|
||||
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
|
||||
vim.keymap.set('n', '<leader>ff', builtin.find_files)
|
||||
vim.keymap.set('n', '<leader>fn', function() builtin.find_files { cwd = vim.fn.stdpath("config") } end)
|
||||
vim.keymap.set('n', '<leader>fr', function()
|
||||
builtin.live_grep {
|
||||
cwd = "~/reports",
|
||||
file_ignore_patterns = { "/Makefile$", "%.png$", "%.PNG$" }
|
||||
}
|
||||
end)
|
||||
vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
|
||||
vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
|
||||
vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})
|
||||
vim.keymap.set('n', '<leader>fs', builtin.current_buffer_fuzzy_find, {})
|
||||
vim.keymap.set('n', '<leader>fo', builtin.lsp_document_symbols, {})
|
||||
vim.keymap.set('n', '<leader>fi', builtin.lsp_incoming_calls, {})
|
||||
vim.keymap.set('n', '<leader>fm', function() builtin.treesitter({default_text=":method:"}) end)
|
||||
vim.keymap.set('n', '<leader>fm', function() builtin.treesitter({ default_text = ":method:" }) end)
|
||||
end,
|
||||
}
|
||||
|
||||
31
.config/nvim/lua/kamu/snippets/plaintex/syss.lua
Normal file
31
.config/nvim/lua/kamu/snippets/plaintex/syss.lua
Normal file
@@ -0,0 +1,31 @@
|
||||
-- require("luasnip.session.snippet_collection").clear_snippets("tex")
|
||||
|
||||
local ls = require("luasnip")
|
||||
local s = ls.snippet
|
||||
local i = ls.insert_node
|
||||
local sn = ls.snippet_node
|
||||
local t = ls.text_node
|
||||
local f = ls.function_node
|
||||
local c = ls.choice_node
|
||||
local d = ls.dynamic_node
|
||||
local r = ls.restore_node
|
||||
local fmt = require("luasnip.extras.fmt").fmt
|
||||
|
||||
local snippets = {
|
||||
-- s("todo", fmt("\\sytodo[{}]{{ {} }}{}", { c(1, { t("todo"), t("techqa") }), i(2, "techqa"), i(0) })),
|
||||
s("todo",
|
||||
fmt("\\sytodo[{}]{{{}}}{}",
|
||||
{
|
||||
i(1, "techqa"),
|
||||
i(2),
|
||||
i(0)
|
||||
}
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
local autosnippets = {}
|
||||
|
||||
ls.add_snippets("tex", snippets)
|
||||
|
||||
return snippets, autosnippets
|
||||
Reference in New Issue
Block a user