From ace123f657781e7feb1750240b9c241f41cb5442 Mon Sep 17 00:00:00 2001 From: Rendo Date: Tue, 28 Jul 2026 18:55:04 +0500 Subject: [PATCH] Little renovations --- init.lua | 69 ++-------------------------- lua/config/diagnostics.lua | 5 ++ lua/config/lsp.lua | 58 +++++++++++++++++++++++ lua/config/mappings.lua | 22 +++++++++ lua/{plugins.lua => plugins/cmp.lua} | 43 ----------------- lua/plugins/debug.lua | 3 ++ lua/plugins/diagnostics.lua | 7 +++ lua/plugins/misc.lua | 3 ++ lua/plugins/snip.lua | 4 ++ lua/plugins/telescope.lua | 11 +++++ lua/plugins/theme.lua | 13 ++++++ lua/plugins/tree.lua | 3 ++ lua/plugins/which.lua | 3 ++ search.lua => lua/search.lua | 0 14 files changed, 135 insertions(+), 109 deletions(-) create mode 100644 lua/config/diagnostics.lua create mode 100644 lua/config/lsp.lua create mode 100644 lua/config/mappings.lua rename lua/{plugins.lua => plugins/cmp.lua} (72%) create mode 100644 lua/plugins/debug.lua create mode 100644 lua/plugins/diagnostics.lua create mode 100644 lua/plugins/misc.lua create mode 100644 lua/plugins/snip.lua create mode 100644 lua/plugins/telescope.lua create mode 100644 lua/plugins/theme.lua create mode 100644 lua/plugins/tree.lua create mode 100644 lua/plugins/which.lua rename search.lua => lua/search.lua (100%) diff --git a/init.lua b/init.lua index a8cb914..2a6af71 100644 --- a/init.lua +++ b/init.lua @@ -1,6 +1,9 @@ vim.g.mapleader = "" require("config.lazy") +require("config.lsp") +require("config.diagnostics") +require("config.mappings") require("lazy").setup("plugins") local opt = vim.opt @@ -23,69 +26,3 @@ opt.showbreak = "—>" opt.mouse = "n" opt.mousemodel = "popup" opt.mousescroll = {"ver:1", "hor:0"} - - -vim.lsp.config('lua_ls', { - on_init = function(client) - if client.workspace_folders then - local path = client.workspace_folders[1].name - if - path ~= vim.fn.stdpath('config') - and (vim.uv.fs_stat(path .. '/.luarc.json') or vim.uv.fs_stat(path .. '/.luarc.jsonc')) - then - return - end - end - - client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, { - runtime = { - -- Tell the language server which version of Lua you're using (most - -- likely LuaJIT in the case of Neovim) - version = 'LuaJIT', - -- Tell the language server how to find Lua modules same way as Neovim - -- (see `:h lua-module-load`) - path = { - 'lua/?.lua', - 'lua/?/init.lua', - }, - }, - -- Make the server aware of Neovim runtime files - workspace = { - checkThirdParty = false, - library = { - vim.env.VIMRUNTIME, - -- Depending on the usage, you might want to add additional paths - -- here. - -- '${3rd}/luv/library', - -- '${3rd}/busted/library', - }, - -- Or pull in all of 'runtimepath'. - -- NOTE: this is a lot slower and will cause issues when working on - -- your own configuration. - -- See https://github.com/neovim/nvim-lspconfig/issues/3189 - -- library = vim.api.nvim_get_runtime_file('', true), - }, - }) - end, - settings = { - Lua = {}, - }, -}) - -vim.lsp.config('rust_analyzer', { - settings = { - ['rust-analyzer'] = { - diagnostics = { - enable = false; - } - } - } -}) - -vim.lsp.enable({'clangd','lua_ls','rust_analyzer'}) - -vim.diagnostic.enable(true) -vim.diagnostic.config({ - virtual_text = false, - severity_sort = true, -}) diff --git a/lua/config/diagnostics.lua b/lua/config/diagnostics.lua new file mode 100644 index 0000000..af37d00 --- /dev/null +++ b/lua/config/diagnostics.lua @@ -0,0 +1,5 @@ +vim.diagnostic.enable(true) +vim.diagnostic.config({ + virtual_text = false, + severity_sort = true, +}) diff --git a/lua/config/lsp.lua b/lua/config/lsp.lua new file mode 100644 index 0000000..d822ab4 --- /dev/null +++ b/lua/config/lsp.lua @@ -0,0 +1,58 @@ +vim.lsp.config('lua_ls', { + on_init = function(client) + if client.workspace_folders then + local path = client.workspace_folders[1].name + if + path ~= vim.fn.stdpath('config') + and (vim.uv.fs_stat(path .. '/.luarc.json') or vim.uv.fs_stat(path .. '/.luarc.jsonc')) + then + return + end + end + + client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, { + runtime = { + -- Tell the language server which version of Lua you're using (most + -- likely LuaJIT in the case of Neovim) + version = 'LuaJIT', + -- Tell the language server how to find Lua modules same way as Neovim + -- (see `:h lua-module-load`) + path = { + 'lua/?.lua', + 'lua/?/init.lua', + }, + }, + -- Make the server aware of Neovim runtime files + workspace = { + checkThirdParty = false, + library = { + vim.env.VIMRUNTIME, + -- Depending on the usage, you might want to add additional paths + -- here. + -- '${3rd}/luv/library', + -- '${3rd}/busted/library', + }, + -- Or pull in all of 'runtimepath'. + -- NOTE: this is a lot slower and will cause issues when working on + -- your own configuration. + -- See https://github.com/neovim/nvim-lspconfig/issues/3189 + -- library = vim.api.nvim_get_runtime_file('', true), + }, + }) + end, + settings = { + Lua = {}, + }, +}) + +vim.lsp.config('rust_analyzer', { + settings = { + ['rust-analyzer'] = { + diagnostics = { + enable = false; + } + } + } +}) + +vim.lsp.enable({'clangd','lua_ls','rust_analyzer'}) diff --git a/lua/config/mappings.lua b/lua/config/mappings.lua new file mode 100644 index 0000000..4167a4f --- /dev/null +++ b/lua/config/mappings.lua @@ -0,0 +1,22 @@ +---Make string like ':cmd' +---@param cmd string +---@return string +local function auto(cmd) + return string.format(':%s', cmd) +end + +---Make string like 'cmd' +---@param cmd string +---@return string +local function ld(cmd) + return string.format('%s', cmd) +end + + +local builtin = require('telescope.builtin') +vim.keymap.set('n', ld('ff'), builtin.find_files, { desc = 'Telescope find files' }) +vim.keymap.set('n', ld('fg'), builtin.live_grep, { desc = 'Telescope live grep' }) +vim.keymap.set('n', ld('fb'), builtin.buffers, { desc = 'Telescope buffers' }) +vim.keymap.set('n', ld('fh'), builtin.help_tags, { desc = 'Telescope help tags' }) + +vim.keymap.set('n', ld('tt'), auto('Trouble diagnostics toggle'), {desc = 'Toggle diagnostics (Trouble)'}) diff --git a/lua/plugins.lua b/lua/plugins/cmp.lua similarity index 72% rename from lua/plugins.lua rename to lua/plugins/cmp.lua index 09e690e..b26ba89 100644 --- a/lua/plugins.lua +++ b/lua/plugins/cmp.lua @@ -81,22 +81,7 @@ function config_cmp() end -function theme() - vim.cmd('colorscheme tokyonight') -end - -function config_telescope() - local builtin = require('telescope.builtin') - vim.keymap.set('n', 'ff', builtin.find_files, { desc = 'Telescope find files' }) - vim.keymap.set('n', 'fg', builtin.live_grep, { desc = 'Telescope live grep' }) - vim.keymap.set('n', 'fb', builtin.buffers, { desc = 'Telescope buffers' }) - vim.keymap.set('n', 'fh', builtin.help_tags, { desc = 'Telescope help tags' }) -end - return { - 'L3MON4D3/LuaSnip', - 'saadparwaiz1/cmp_luasnip', - 'neovim/nvim-lspconfig', 'hrsh7th/cmp-nvim-lsp', 'hrsh7th/cmp-buffer', 'hrsh7th/cmp-path', @@ -105,32 +90,4 @@ return { 'hrsh7th/nvim-cmp', config = config_cmp }, - 'sakhnik/nvim-gdb', - { - "folke/tokyonight.nvim", - lazy = false, - priority = 1000, - config = theme, - opts = {}, - }, - 'preservim/nerdtree', - 'folke/which-key.nvim', - { - 'folke/trouble.nvim', - opts = {}, - cmd = "Trouble", - keys = { - {"xx","Trouble diagnostics toggle",desc = "Diagnostics (Trouble)"}, - } - }, - { - 'nvim-telescope/telescope.nvim', version = '*', - dependencies = { - 'nvim-lua/plenary.nvim', - -- optional but recommended - { 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' }, - - }, - config = config_telescope - } } diff --git a/lua/plugins/debug.lua b/lua/plugins/debug.lua new file mode 100644 index 0000000..1af59de --- /dev/null +++ b/lua/plugins/debug.lua @@ -0,0 +1,3 @@ +return { + 'sakhnik/nvim-gdb', +} diff --git a/lua/plugins/diagnostics.lua b/lua/plugins/diagnostics.lua new file mode 100644 index 0000000..9325825 --- /dev/null +++ b/lua/plugins/diagnostics.lua @@ -0,0 +1,7 @@ +return + { + 'folke/trouble.nvim', + opts = {}, + cmd = "Trouble", + } + diff --git a/lua/plugins/misc.lua b/lua/plugins/misc.lua new file mode 100644 index 0000000..cc298f1 --- /dev/null +++ b/lua/plugins/misc.lua @@ -0,0 +1,3 @@ +return { + 'neovim/nvim-lspconfig', +} diff --git a/lua/plugins/snip.lua b/lua/plugins/snip.lua new file mode 100644 index 0000000..241f02e --- /dev/null +++ b/lua/plugins/snip.lua @@ -0,0 +1,4 @@ +return { + 'L3MON4D3/LuaSnip', + 'saadparwaiz1/cmp_luasnip', +} diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua new file mode 100644 index 0000000..58427d0 --- /dev/null +++ b/lua/plugins/telescope.lua @@ -0,0 +1,11 @@ +return + { + 'nvim-telescope/telescope.nvim', version = '*', + dependencies = { + 'nvim-lua/plenary.nvim', + -- optional but recommended + { 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' }, + + }, + } + diff --git a/lua/plugins/theme.lua b/lua/plugins/theme.lua new file mode 100644 index 0000000..7ed156a --- /dev/null +++ b/lua/plugins/theme.lua @@ -0,0 +1,13 @@ +function theme() + vim.cmd('colorscheme tokyonight') +end + +return { + { + "folke/tokyonight.nvim", + lazy = false, + priority = 1000, + config = theme, + opts = {}, + }, +} diff --git a/lua/plugins/tree.lua b/lua/plugins/tree.lua new file mode 100644 index 0000000..a623987 --- /dev/null +++ b/lua/plugins/tree.lua @@ -0,0 +1,3 @@ +return { + 'preservim/nerdtree', +} diff --git a/lua/plugins/which.lua b/lua/plugins/which.lua new file mode 100644 index 0000000..57af31e --- /dev/null +++ b/lua/plugins/which.lua @@ -0,0 +1,3 @@ +return { + 'folke/which-key.nvim', +} diff --git a/search.lua b/lua/search.lua similarity index 100% rename from search.lua rename to lua/search.lua