modified lsp config.
This commit is contained in:
parent
1796fdbbf9
commit
e90208c701
|
@ -10,9 +10,6 @@ vim.g.mapleader = ';'
|
||||||
--do package management
|
--do package management
|
||||||
require('impatient')
|
require('impatient')
|
||||||
require('packages')
|
require('packages')
|
||||||
require('LSPconfig')
|
|
||||||
require('cmp-lsp')
|
|
||||||
|
|
||||||
|
|
||||||
--helper functions
|
--helper functions
|
||||||
local function keyCode(string)
|
local function keyCode(string)
|
||||||
|
|
|
@ -1,51 +1,7 @@
|
||||||
local lsp_installer = require("nvim-lsp-installer")
|
local lsp_installer = require("nvim-lsp-installer")
|
||||||
|
|
||||||
|
|
||||||
-- Include the servers you want to have installed by default below
|
|
||||||
local install_servers=function()
|
|
||||||
local servers = {
|
|
||||||
'pyright',
|
|
||||||
'bashls',
|
|
||||||
'rust_analyzer',
|
|
||||||
'sumenko_lua',
|
|
||||||
'ltex',
|
|
||||||
'texlab',
|
|
||||||
}
|
|
||||||
|
|
||||||
local flag=false;
|
|
||||||
for _, name in pairs(servers) do
|
|
||||||
local server_is_found, server = lsp_installer.get_server(name)
|
|
||||||
if server_is_found and not server:is_installed() then
|
|
||||||
print("Installing " .. name)
|
|
||||||
server:install()
|
|
||||||
flag=true;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if flag then
|
|
||||||
print('All Servers Installed')
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
lsp_installer.on_server_ready(function(server)
|
|
||||||
local opts = {}
|
local opts = {}
|
||||||
|
|
||||||
if server.name == "rust_analyzer" then
|
|
||||||
-- Initialize the LSP via rust-tools instead
|
|
||||||
require("rust-tools").setup {
|
|
||||||
-- The "server" property provided in rust-tools setup function are the
|
|
||||||
-- settings rust-tools will provide to lspconfig during init.
|
|
||||||
-- We merge the necessary settings from nvim-lsp-installer (server:get_default_options())
|
|
||||||
-- with the user's own settings (opts).
|
|
||||||
server = vim.tbl_deep_extend("force", server:get_default_options(), opts),
|
|
||||||
}
|
|
||||||
server:attach_buffers()
|
|
||||||
-- Only if standalone support is needed
|
|
||||||
require("rust-tools").start_standalone_if_required()
|
|
||||||
else
|
|
||||||
server:setup(opts)
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
|
|
||||||
local on_attach = function()
|
local on_attach = function()
|
||||||
local function set_keymap(...) vim.api.nvim_set_keymap(...) end
|
local function set_keymap(...) vim.api.nvim_set_keymap(...) end
|
||||||
local function set_option(...) vim.api.nvim_set_option(...) end
|
local function set_option(...) vim.api.nvim_set_option(...) end
|
||||||
|
@ -75,4 +31,3 @@ local on_attach = function()
|
||||||
set_keymap('', ';lm', '<cmd>lua vim.lsp.buf.formatting()<CR>', opts)
|
set_keymap('', ';lm', '<cmd>lua vim.lsp.buf.formatting()<CR>', opts)
|
||||||
end
|
end
|
||||||
on_attach()
|
on_attach()
|
||||||
install_servers()
|
|
||||||
|
|
|
@ -47,27 +47,22 @@ cmp.setup {
|
||||||
{ name = 'nvim_lsp' },
|
{ name = 'nvim_lsp' },
|
||||||
{ name = 'path' },
|
{ name = 'path' },
|
||||||
{ name = 'luasnip' },
|
{ name = 'luasnip' },
|
||||||
{ name = 'buffer' },
|
|
||||||
{ name = 'dictionary' },
|
|
||||||
{ name = 'spell' },
|
|
||||||
{ name = 'nvim_lsp_signature_help' },
|
{ name = 'nvim_lsp_signature_help' },
|
||||||
{ name = 'emoji' },
|
{ name = 'emoji' },
|
||||||
{ name = 'latex_symbols' },
|
{ name = 'latex_symbols' },
|
||||||
|
-- { name = 'buffer' },
|
||||||
-- { name = 'digraphs' },
|
-- { name = 'digraphs' },
|
||||||
|
-- { name = 'dictionary' },
|
||||||
|
-- { name = 'spell' },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
cmp.setup.cmdline(':', {
|
|
||||||
sources = {
|
|
||||||
{ name = 'cmdline' }
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
cmp.setup.cmdline('/', {
|
cmp.setup.cmdline('/', {
|
||||||
sources = cmp.config.sources({
|
sources = cmp.config.sources({
|
||||||
{ name = 'nvim_lsp_document_symbol' },
|
{ name = 'nvim_lsp_document_symbol' },
|
||||||
{ name = 'treesitter' },
|
{ name = 'treesitter' },
|
||||||
}, {
|
}, {
|
||||||
-- { name = 'buffer' }
|
{ name = 'buffer' },
|
||||||
|
{ name = 'cmdline' },
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
|
@ -24,10 +24,36 @@ return require('packer').startup(function(use)
|
||||||
incremental_selection={enable=true}
|
incremental_selection={enable=true}
|
||||||
}end,
|
}end,
|
||||||
}
|
}
|
||||||
|
|
||||||
use {
|
use {
|
||||||
'neovim/nvim-lspconfig',
|
{
|
||||||
'williamboman/nvim-lsp-installer',
|
"williamboman/nvim-lsp-installer",
|
||||||
|
config = function ()
|
||||||
|
require("nvim-lsp-installer").setup {
|
||||||
|
ensure_installed = {
|
||||||
|
'pyright',
|
||||||
|
'bashls',
|
||||||
|
'rust_analyzer',
|
||||||
|
'sumenko_lua',
|
||||||
|
'texlab',
|
||||||
|
},
|
||||||
|
automatic_installation = false,
|
||||||
|
ui = {
|
||||||
|
icons = {
|
||||||
|
server_installed = "✓",
|
||||||
|
server_pending = "➜",
|
||||||
|
server_uninstalled = "✗"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
after = "nvim-lsp-installer",
|
||||||
|
config = function()
|
||||||
|
require('LSPconfig')
|
||||||
|
end
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
use {'hrsh7th/nvim-cmp',
|
use {'hrsh7th/nvim-cmp',
|
||||||
|
@ -46,7 +72,10 @@ return require('packer').startup(function(use)
|
||||||
'hrsh7th/cmp-emoji',
|
'hrsh7th/cmp-emoji',
|
||||||
'ray-x/cmp-treesitter',
|
'ray-x/cmp-treesitter',
|
||||||
'uga-rosa/cmp-dictionary',
|
'uga-rosa/cmp-dictionary',
|
||||||
}
|
},
|
||||||
|
config = function()
|
||||||
|
require('cmp-lsp')
|
||||||
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
use {'L3MON4D3/LuaSnip',
|
use {'L3MON4D3/LuaSnip',
|
||||||
|
@ -75,43 +104,43 @@ return require('packer').startup(function(use)
|
||||||
'kyazdani42/nvim-web-devicons', -- optional, for file icon
|
'kyazdani42/nvim-web-devicons', -- optional, for file icon
|
||||||
},
|
},
|
||||||
config = function() require'nvim-tree'.setup {
|
config = function() require'nvim-tree'.setup {
|
||||||
view={mapping={
|
-- view={mapping={
|
||||||
{ key = {"<CR>", "o", "<2-LeftMouse>"}, action = "edit" },
|
-- { key = {"<CR>", "o", "<2-LeftMouse>"}, action = "edit" },
|
||||||
{ key = "<C-e>", action = "edit_in_place" },
|
-- { key = "<C-e>", action = "edit_in_place" },
|
||||||
{ key = {"O"}, action = "edit_no_picker" },
|
-- { key = {"O"}, action = "edit_no_picker" },
|
||||||
{ key = {"<2-RightMouse>", "<C-]>"}, action = "cd" },
|
-- { key = {"<2-RightMouse>", "<C-]>"}, action = "cd" },
|
||||||
{ key = "<C-v>", action = "vsplit" },
|
-- { key = "<C-v>", action = "vsplit" },
|
||||||
{ key = "<C-x>", action = "split" },
|
-- { key = "<C-x>", action = "split" },
|
||||||
{ key = "<C-t>", action = "tabnew" },
|
-- { key = "<C-t>", action = "tabnew" },
|
||||||
{ key = "<", action = "prev_sibling" },
|
-- { key = "<", action = "prev_sibling" },
|
||||||
{ key = ">", action = "next_sibling" },
|
-- { key = ">", action = "next_sibling" },
|
||||||
{ key = "P", action = "parent_node" },
|
-- { key = "P", action = "parent_node" },
|
||||||
{ key = "<BS>", action = "close_node" },
|
-- { key = "<BS>", action = "close_node" },
|
||||||
{ key = "<Tab>", action = "preview" },
|
-- { key = "<Tab>", action = "preview" },
|
||||||
{ key = "K", action = "first_sibling" },
|
-- { key = "K", action = "first_sibling" },
|
||||||
{ key = "J", action = "last_sibling" },
|
-- { key = "J", action = "last_sibling" },
|
||||||
{ key = "I", action = "toggle_ignored" },
|
-- { key = "I", action = "toggle_ignored" },
|
||||||
{ key = "H", action = "toggle_dotfiles" },
|
-- { key = "H", action = "toggle_dotfiles" },
|
||||||
{ key = "R", action = "refresh" },
|
-- { key = "R", action = "refresh" },
|
||||||
{ key = "a", action = "create" },
|
-- { key = "a", action = "create" },
|
||||||
{ key = "d", action = "remove" },
|
-- { key = "d", action = "remove" },
|
||||||
{ key = "D", action = "trash" },
|
-- { key = "D", action = "trash" },
|
||||||
{ key = "r", action = "rename" },
|
-- { key = "r", action = "rename" },
|
||||||
{ key = "<C-r>", action = "full_rename" },
|
-- { key = "<C-r>", action = "full_rename" },
|
||||||
{ key = "x", action = "cut" },
|
-- { key = "x", action = "cut" },
|
||||||
{ key = "c", action = "copy" },
|
-- { key = "c", action = "copy" },
|
||||||
{ key = "p", action = "paste" },
|
-- { key = "p", action = "paste" },
|
||||||
{ key = "y", action = "copy_name" },
|
-- { key = "y", action = "copy_name" },
|
||||||
{ key = "Y", action = "copy_path" },
|
-- { key = "Y", action = "copy_path" },
|
||||||
{ key = "gy", action = "copy_absolute_path" },
|
-- { key = "gy", action = "copy_absolute_path" },
|
||||||
{ key = "[c", action = "prev_git_item" },
|
-- { key = "[c", action = "prev_git_item" },
|
||||||
{ key = "]c", action = "next_git_item" },
|
-- { key = "]c", action = "next_git_item" },
|
||||||
{ key = "-", action = "dir_up" },
|
-- { key = "-", action = "dir_up" },
|
||||||
{ key = "s", action = "system_open" },
|
-- { key = "s", action = "system_open" },
|
||||||
{ key = "q", action = "close" },
|
-- { key = "q", action = "close" },
|
||||||
{ key = "g?", action = "toggle_help" },
|
-- { key = "g?", action = "toggle_help" },
|
||||||
{ key = "W", action = "collapse_all" }
|
-- { key = "W", action = "collapse_all" }
|
||||||
}}
|
-- }}
|
||||||
} end
|
} end
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue