/
i.g.panov
/
nvim_config
Обзор
Документация
Войти
/
i.g.panov
/
nvim_config
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
init.lua
44 строки
2 KB
Ivan Panov
Настроил:
25 дек 2025, 15:38
25 дек 2025, 15:38
06ea3b5
Код
Авторство
О чём код?
require("conf") vim.lsp.enable('pyright') vim.lsp.enable('ruff') vim.lsp.enable('gopls') vim.lsp.enable('lua_ls') vim.api.nvim_create_autocmd('LspAttach', { group = vim.api.nvim_create_augroup('my.lsp', {}), callback = function(args) local client = assert(vim.lsp.get_client_by_id(args.data.client_id)) if client:supports_method('textDocument/implementation') then -- Create a keymap for vim.lsp.buf.implementation ... end -- Enable auto-completion. Note: Use CTRL-Y to select an item. |complete_CTRL-Y| if client:supports_method('textDocument/completion') then -- Optional: trigger autocompletion on EVERY keypress. May be slow! -- local chars = {}; for i = 32, 126 do table.insert(chars, string.char(i)) end -- client.server_capabilities.completionProvider.triggerCharacters = chars vim.lsp.completion.enable(true, client.id, args.buf, {autotrigger = true}) end -- Auto-format ("lint") on save. -- Usually not needed if server supports "textDocument/willSaveWaitUntil". if not client:supports_method('textDocument/willSaveWaitUntil') and client:supports_method('textDocument/formatting') then vim.api.nvim_create_autocmd('BufWritePre', { group = vim.api.nvim_create_augroup('my.lsp', {clear=false}), buffer = args.buf, callback = function() vim.lsp.buf.format({ bufnr = args.buf, id = client.id, timeout_ms = 1000 }) end, }) end end, }) vim.api.nvim_create_autocmd({"FocusLost", "BufLeave"}, { pattern = "*", callback = function() if vim.bo.modified then vim.cmd("silent! write") end end, })