nvim config update
This commit is contained in:
@@ -1,19 +1,30 @@
|
|||||||
{
|
{
|
||||||
|
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
||||||
"LuaSnip": { "branch": "master", "commit": "cdbf6f41381e5ee4810b4b09284b603d8f18365d" },
|
"LuaSnip": { "branch": "master", "commit": "cdbf6f41381e5ee4810b4b09284b603d8f18365d" },
|
||||||
"catppuccin": { "branch": "main", "commit": "fc537040147f0374a22b88142a20eb6781141f0b" },
|
"catppuccin": { "branch": "main", "commit": "fc537040147f0374a22b88142a20eb6781141f0b" },
|
||||||
|
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||||
|
"cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" },
|
||||||
"cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" },
|
"cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "41d3b2a9dbf03774a2c92c376d8371dcca9710a9" },
|
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||||
"lsp-zero.nvim": { "branch": "v3.x", "commit": "96f29a47fe48254cb3a826f6d7e90a108dae502d" },
|
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||||
"lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" },
|
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
|
||||||
|
"lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" },
|
||||||
|
"lazydev.nvim": { "branch": "main", "commit": "f59bd14a852ca43db38e3662395354cb2a9b13e0" },
|
||||||
|
"lspkind.nvim": { "branch": "master", "commit": "d79a1c3299ad0ef94e255d045bed9fa26025dab6" },
|
||||||
|
"lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" },
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "ddefe5ab051e7ca6a7b374754f0920c44668b54f" },
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "ddefe5ab051e7ca6a7b374754f0920c44668b54f" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "cd7835b15f5a4204fc37e0aa739347472121a54c" },
|
"mason.nvim": { "branch": "main", "commit": "cd7835b15f5a4204fc37e0aa739347472121a54c" },
|
||||||
|
"noice.nvim": { "branch": "main", "commit": "7b1960c48078a8b2fb44a89db82f4fa637b2d7c8" },
|
||||||
"nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" },
|
"nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" },
|
||||||
"nvim-highlight-colors": { "branch": "main", "commit": "231547093a788b925b8fc36351ad422701c3a8c8" },
|
"nvim-highlight-colors": { "branch": "main", "commit": "231547093a788b925b8fc36351ad422701c3a8c8" },
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "2b361e043810d5587d9af0787f8ce40da92ec5e9" },
|
"nvim-lspconfig": { "branch": "master", "commit": "2b361e043810d5587d9af0787f8ce40da92ec5e9" },
|
||||||
|
"nvim-scrollbar": { "branch": "main", "commit": "6994eb9f73d5fdc36ee2c8717940e8c853e51a49" },
|
||||||
"nvim-tree.lua": { "branch": "master", "commit": "53b0bcaadaffb505acff230578b56a86ec1ab38a" },
|
"nvim-tree.lua": { "branch": "master", "commit": "53b0bcaadaffb505acff230578b56a86ec1ab38a" },
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "dfd4fb330f75595813e2a2f83000580a36dd10ff" },
|
"nvim-treesitter": { "branch": "master", "commit": "dfd4fb330f75595813e2a2f83000580a36dd10ff" },
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "a1e6268779411048a87f767a27380089362a0ce2" },
|
"nvim-web-devicons": { "branch": "master", "commit": "3fafeea5f339223e888fd15eb4032260849cb038" },
|
||||||
"plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" },
|
"plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" },
|
||||||
|
"snacks.nvim": { "branch": "main", "commit": "9651a931043359fcc094ab5c67ac22554a602745" },
|
||||||
|
"telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" },
|
||||||
"telescope.nvim": { "branch": "master", "commit": "54930e1abfc94409e1bb9266e752ef8379008592" },
|
"telescope.nvim": { "branch": "master", "commit": "54930e1abfc94409e1bb9266e752ef8379008592" },
|
||||||
"vim-tmux-navigator": { "branch": "master", "commit": "7db70e08ea03b3e4d91f63713d76134512e28d7e" }
|
"vim-tmux-navigator": { "branch": "master", "commit": "7db70e08ea03b3e4d91f63713d76134512e28d7e" }
|
||||||
}
|
}
|
||||||
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>
|
-- clear highlight on search when pressing <ESC>
|
||||||
-- vim.keymap.set('n', '<ESC>', '<cmd>nohlsearch<CR>')
|
-- 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
|
-- Highlight when yanking text
|
||||||
vim.api.nvim_create_autocmd("TextYankPost", {
|
vim.api.nvim_create_autocmd("TextYankPost", {
|
||||||
desc = "Highlight when yanking text",
|
desc = "Highlight when yanking text",
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
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
|
-- https://mitchellt.com/2022/05/15/WSL-Neovim-Lua-and-the-Windows-Clipboard.html
|
||||||
if in_wsl then
|
if in_wsl then
|
||||||
@@ -65,7 +65,6 @@ local options = {
|
|||||||
smartcase = true,
|
smartcase = true,
|
||||||
|
|
||||||
showtabline = 0,
|
showtabline = 0,
|
||||||
cursorline = true,
|
|
||||||
|
|
||||||
background = "dark",
|
background = "dark",
|
||||||
termguicolors = true,
|
termguicolors = true,
|
||||||
@@ -83,8 +82,8 @@ local options = {
|
|||||||
updatetime = 50,
|
updatetime = 50,
|
||||||
|
|
||||||
showmode = false,
|
showmode = false,
|
||||||
list = true,
|
-- list = true,
|
||||||
listchars = { tab = '┬╗ ', trail = '┬╖', nbsp= 'ΓÉú'},
|
-- listchars = { tab = '┬╗ ', trail = '┬╖', nbsp= 'ΓÉú'},
|
||||||
|
|
||||||
inccommand = 'split',
|
inccommand = 'split',
|
||||||
cursorline = true,
|
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 {
|
return {
|
||||||
{
|
|
||||||
'L3MON4D3/LuaSnip',
|
|
||||||
dependencies = {
|
|
||||||
'saadparwaiz1/cmp_luasnip',
|
|
||||||
'rafamadriz/friendly-snippets',
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
require("luasnip.loaders.from_vscode").lazy_load()
|
|
||||||
end
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
'hrsh7th/nvim-cmp',
|
'hrsh7th/nvim-cmp',
|
||||||
dependencies = {
|
dependencies = {
|
||||||
'hrsh7th/cmp-nvim-lsp',
|
'hrsh7th/cmp-nvim-lsp',
|
||||||
'hrsh7th/cmp-buffer',
|
'hrsh7th/cmp-buffer',
|
||||||
-- 'hrsh7th/cmp-path',
|
'hrsh7th/cmp-path',
|
||||||
-- 'hrsh7th/cmp-cmdline',
|
'hrsh7th/cmp-cmdline',
|
||||||
'L3MON4D3/LuaSnip',
|
'onsails/lspkind.nvim',
|
||||||
|
{ 'L3MON4D3/LuaSnip', build = "make install_jsregexp" },
|
||||||
|
'saadparwaiz1/cmp_luasnip',
|
||||||
|
'rafamadriz/friendly-snippets',
|
||||||
},
|
},
|
||||||
|
lazy = false,
|
||||||
|
priority = 100,
|
||||||
config = function()
|
config = function()
|
||||||
|
vim.opt.completeopt = { "menu", "menuone" }
|
||||||
|
|
||||||
|
|
||||||
|
local lspkind = require('lspkind')
|
||||||
local cmp = require('cmp')
|
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({
|
cmp.setup({
|
||||||
|
formatting = {
|
||||||
|
format = lspkind.cmp_format({
|
||||||
|
mode = 'symbol_text',
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
ellipsis_char = '...',
|
||||||
|
show_labelDetails = true,
|
||||||
snippet = {
|
snippet = {
|
||||||
-- REQUIRED - you must specify a snippet engine
|
|
||||||
expand = function(args)
|
expand = function(args)
|
||||||
require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
|
-- vim.snippet.expand(args.body)
|
||||||
|
require('luasnip').lsp_expand(args.body)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
maxwidth = {
|
||||||
|
menu = 50,
|
||||||
|
abbr = 50,
|
||||||
|
},
|
||||||
window = {
|
window = {
|
||||||
-- completion = cmp.config.window.bordered(),
|
-- completion = cmp.config.window.bordered(),
|
||||||
-- documentation = cmp.config.window.bordered(),
|
-- documentation = cmp.config.window.bordered(),
|
||||||
@@ -37,14 +89,37 @@ return {
|
|||||||
['<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(),
|
||||||
['<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({
|
sources = cmp.config.sources({
|
||||||
{ name = 'nvim_lsp' },
|
{ name = 'nvim_lsp' },
|
||||||
{ name = 'luasnip' },
|
{ name = 'luasnip' },
|
||||||
}, {
|
{ name = 'path' },
|
||||||
{ name = 'buffer' },
|
{ name = 'buffer' },
|
||||||
})
|
}),
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Set configuration for specific filetype.
|
-- Set configuration for specific filetype.
|
||||||
@@ -63,6 +138,7 @@ return {
|
|||||||
-- { name = 'buffer' }
|
-- { name = 'buffer' }
|
||||||
-- }
|
-- }
|
||||||
-- })
|
-- })
|
||||||
|
--
|
||||||
|
|
||||||
-- -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
|
-- -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
|
||||||
-- cmp.setup.cmdline(':', {
|
-- cmp.setup.cmdline(':', {
|
||||||
|
|||||||
@@ -1,76 +1,76 @@
|
|||||||
return {
|
return {
|
||||||
{
|
-- lsp client plugin
|
||||||
-- lsp client plugin
|
"neovim/nvim-lspconfig", -- https://github.com/neovim/nvim-lspconfig
|
||||||
"neovim/nvim-lspconfig", -- https://github.com/neovim/nvim-lspconfig
|
dependencies = {
|
||||||
dependencies = {
|
"williamboman/mason.nvim", -- https://github.com/williamboman/mason.nvim
|
||||||
"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
|
||||||
"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
|
"folke/lazydev.nvim", -- https://github.com/folke/lazydev.nvim
|
||||||
},
|
ft = "lua",
|
||||||
config = function()
|
opts = {
|
||||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
library = {
|
||||||
|
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
|
||||||
require('mason').setup()
|
|
||||||
require('mason-lspconfig').setup({
|
|
||||||
ensure_installed = {
|
|
||||||
'lua_ls',
|
|
||||||
},
|
},
|
||||||
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
|
|
||||||
},
|
},
|
||||||
{
|
config = function()
|
||||||
"nvimtools/none-ls.nvim",
|
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||||
config = function()
|
|
||||||
local null_ls = require("null-ls")
|
|
||||||
|
|
||||||
null_ls.setup({
|
require('mason').setup()
|
||||||
sources = {
|
require('mason-lspconfig').setup({
|
||||||
null_ls.builtins.formatting.black,
|
ensure_installed = {
|
||||||
null_ls.builtins.formatting.isort,
|
'lua_ls',
|
||||||
}
|
},
|
||||||
})
|
handlers = {
|
||||||
end
|
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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -75,8 +75,8 @@ return {
|
|||||||
theme = 'catppuccin',
|
theme = 'catppuccin',
|
||||||
--fmt = string.lower,
|
--fmt = string.lower,
|
||||||
icons_enabled = true,
|
icons_enabled = true,
|
||||||
component_separators = { left = '', right = ''},
|
component_separators = { left = '', right = '' },
|
||||||
section_separators = { left = '', right = ''},
|
section_separators = { left = '', right = '' },
|
||||||
disabled_filetypes = {
|
disabled_filetypes = {
|
||||||
statusline = {},
|
statusline = {},
|
||||||
winbar = {},
|
winbar = {},
|
||||||
@@ -104,7 +104,7 @@ return {
|
|||||||
{
|
{
|
||||||
'branch',
|
'branch',
|
||||||
color = { fg = "#FFF" },
|
color = { fg = "#FFF" },
|
||||||
icon = { 'εéá', color = function() return { fg = getModeColor('a', 'bg') } end },
|
icon = { '', color = function() return { fg = getModeColor('a', 'bg') } end },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'diff',
|
'diff',
|
||||||
@@ -138,13 +138,13 @@ return {
|
|||||||
} },
|
} },
|
||||||
lualine_x = {
|
lualine_x = {
|
||||||
-- print recording messages
|
-- print recording messages
|
||||||
{
|
-- {
|
||||||
require("noice").api.statusline.mode.get,
|
-- require("noice").api.statusline.mode.get,
|
||||||
cond = function()
|
-- cond = function()
|
||||||
return require("noice").api.statusline.mode.has() and string.match(require("noice").api.statusline.mode.get(), '^recording @.$') ~= nil
|
-- return require("noice").api.statusline.mode.has() and string.match(require("noice").api.statusline.mode.get(), '^recording @.$') ~= nil
|
||||||
end,
|
-- end,
|
||||||
color = { fg = "#ff9e64" },
|
-- color = { fg = "#ff9e64" },
|
||||||
},
|
-- },
|
||||||
'encoding', 'fileformat', 'filetype' },
|
'encoding', 'fileformat', 'filetype' },
|
||||||
lualine_y = {
|
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 {
|
return {
|
||||||
"nvim-telescope/telescope.nvim",
|
"nvim-telescope/telescope.nvim",
|
||||||
tag = '0.1.3',
|
tag = '0.1.8',
|
||||||
dependencies = {'nvim-lua/plenary.nvim'},
|
dependencies = {
|
||||||
|
'nvim-lua/plenary.nvim',
|
||||||
|
{ 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' },
|
||||||
|
},
|
||||||
config = function()
|
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')
|
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>fg', builtin.live_grep, {})
|
||||||
vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
|
vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
|
||||||
vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})
|
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>fs', builtin.current_buffer_fuzzy_find, {})
|
||||||
vim.keymap.set('n', '<leader>fo', builtin.lsp_document_symbols, {})
|
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>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,
|
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