Little renovations
This commit is contained in:
parent
9b6b27cd1c
commit
ace123f657
14 changed files with 135 additions and 109 deletions
69
init.lua
69
init.lua
|
|
@ -1,6 +1,9 @@
|
|||
vim.g.mapleader = "<Space>"
|
||||
|
||||
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,
|
||||
})
|
||||
|
|
|
|||
5
lua/config/diagnostics.lua
Normal file
5
lua/config/diagnostics.lua
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
vim.diagnostic.enable(true)
|
||||
vim.diagnostic.config({
|
||||
virtual_text = false,
|
||||
severity_sort = true,
|
||||
})
|
||||
58
lua/config/lsp.lua
Normal file
58
lua/config/lsp.lua
Normal file
|
|
@ -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'})
|
||||
22
lua/config/mappings.lua
Normal file
22
lua/config/mappings.lua
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
---Make string like ':cmd<CR>'
|
||||
---@param cmd string
|
||||
---@return string
|
||||
local function auto(cmd)
|
||||
return string.format(':%s<CR>', cmd)
|
||||
end
|
||||
|
||||
---Make string like '<Leader>cmd'
|
||||
---@param cmd string
|
||||
---@return string
|
||||
local function ld(cmd)
|
||||
return string.format('<Leader>%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)'})
|
||||
|
|
@ -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', '<leader>ff', builtin.find_files, { desc = 'Telescope find files' })
|
||||
vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = 'Telescope live grep' })
|
||||
vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = 'Telescope buffers' })
|
||||
vim.keymap.set('n', '<leader>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 = {
|
||||
{"<leader>xx","<cmd>Trouble diagnostics toggle<CR>",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
|
||||
}
|
||||
}
|
||||
3
lua/plugins/debug.lua
Normal file
3
lua/plugins/debug.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
return {
|
||||
'sakhnik/nvim-gdb',
|
||||
}
|
||||
7
lua/plugins/diagnostics.lua
Normal file
7
lua/plugins/diagnostics.lua
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
return
|
||||
{
|
||||
'folke/trouble.nvim',
|
||||
opts = {},
|
||||
cmd = "Trouble",
|
||||
}
|
||||
|
||||
3
lua/plugins/misc.lua
Normal file
3
lua/plugins/misc.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
return {
|
||||
'neovim/nvim-lspconfig',
|
||||
}
|
||||
4
lua/plugins/snip.lua
Normal file
4
lua/plugins/snip.lua
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
return {
|
||||
'L3MON4D3/LuaSnip',
|
||||
'saadparwaiz1/cmp_luasnip',
|
||||
}
|
||||
11
lua/plugins/telescope.lua
Normal file
11
lua/plugins/telescope.lua
Normal file
|
|
@ -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' },
|
||||
|
||||
},
|
||||
}
|
||||
|
||||
13
lua/plugins/theme.lua
Normal file
13
lua/plugins/theme.lua
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
function theme()
|
||||
vim.cmd('colorscheme tokyonight')
|
||||
end
|
||||
|
||||
return {
|
||||
{
|
||||
"folke/tokyonight.nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
config = theme,
|
||||
opts = {},
|
||||
},
|
||||
}
|
||||
3
lua/plugins/tree.lua
Normal file
3
lua/plugins/tree.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
return {
|
||||
'preservim/nerdtree',
|
||||
}
|
||||
3
lua/plugins/which.lua
Normal file
3
lua/plugins/which.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
return {
|
||||
'folke/which-key.nvim',
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue