добавлены форматировщики и LSP-сервера

This commit is contained in:
2023-03-21 06:26:16 +10:00
parent 74cc3389e8
commit ce27dbe7e8
6 changed files with 310 additions and 183 deletions

View File

@@ -1,7 +1,7 @@
-- Инициализация "neovim/nvim-lspconfig"
local lspconfig = require('lspconfig')
-- Активация вещания готовых набросков
-- Активация вещания готовых набросков
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true
@@ -17,30 +17,104 @@ lspconfig.intelephense.setup({
capabilities = capabilities
})
-- Инициализация "vscode-html-language-server" (LSP-сервер для HTML)
-- Инициализация "hrsh7th/vscode-html-language-server" (LSP-сервер для HTML)
lspconfig.html.setup({
init_options = {
configurationSection = { 'html' },
embeddedLanguages = {
css = false,
javascript = false
},
provideFormatter = true,
},
on_attach = lspconfig_on_attach,
coq.lsp_ensure_capabilities(),
capabilities = capabilities
})
-- Инициализация "vscode-html-language-server" (LSP-сервер для CSS)
-- Инициализация "aca/emmet-ls" (LSP-сервер для HTML)
lspconfig.emmet_ls.setup({
init_options = {
html = {
options = {
["bem.enabled"] = true,
},
},
},
on_attach = lspconfig_on_attach,
coq.lsp_ensure_capabilities(),
capabilities = capabilities
})
-- Инициализация "hrsh7th/vscode-langservers-extracted" (LSP-сервер для JS, вспомогательный для CSS)
lspconfig.cssls.setup({
settings = {
css = {
validate = true
},
less = {
validate = true
},
scss = {
validate = true
}
},
on_attach = lspconfig_on_attach,
coq.lsp_ensure_capabilities(),
capabilities = capabilities
})
-- Инициализация "vscode-langservers-extracted" (LSP-сервер для JavaScript и PostScript)
-- Инициализация "antonk52/cssmodules-language-server" (LSP-сервер для JS, вспомогательный для CSS)
lspconfig.cssmodules_ls.setup({
init_options = {
camelCase = false,
},
on_attach = lspconfig_on_attach,
coq.lsp_ensure_capabilities(),
capabilities = capabilities
})
-- Инициализация "denoland/deno" (LSP-сервер для JavaScript и PostScript)
lspconfig.denols.setup({
init_options = {
enable = true,
unstable = false
},
on_attach = lspconfig_on_attach,
coq.lsp_ensure_capabilities(),
capabilities = capabilities
})
-- Инициализация "vscode-langservers-extracted" (LSP-сервер для JSON)
-- Инициализация "hrsh7th/vscode-langservers-extracted" (LSP-сервер для JSON)
lspconfig.jsonls.setup({
on_attach = lspconfig_on_attach,
coq.lsp_ensure_capabilities(),
capabilities = capabilities
})
-- Инициализация "luals/lua-language-server" (LSP-сервер для Lua)
lspconfig.lua_ls.setup({
settings = {
Lua = {
runtime = {
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
version = 'LuaJIT',
},
diagnostics = {
-- Get the language server to recognize the `vim` global
globals = { 'vim' },
},
workspace = {
-- Make the server aware of Neovim runtime files
library = vim.api.nvim_get_runtime_file("", true),
},
-- Do not send telemetry data containing a randomized but unique identifier
telemetry = {
enable = false,
},
},
},
on_attach = lspconfig_on_attach,
coq.lsp_ensure_capabilities(),
capabilities = capabilities
})

View File

@@ -4,32 +4,32 @@ vim.cmd('packadd packer.nvim')
return require('packer').startup(function(use)
-- Менеджер плагинов Packer (автообновление)
use 'wbthomason/packer.nvim'
-- Быстрая настройка LSP-серверов
use {
'neovim/nvim-lspconfig',
after = 'coq_nvim',
after = 'coq_nvim',
config = function() require('plugins/lspconfig') end
}
-- Прогресс LSP
use {
'j-hui/fidget.nvim',
config = function() require('plugins/fidget') end
}
-- Прогресс LSP
use {
'j-hui/fidget.nvim',
config = function() require('plugins/fidget') end
}
-- Интерфейс отображающий найденные проблемы LSP-серверами
use {
'folke/trouble.nvim',
requires = 'kyazdani42/nvim-web-devicons',
config = function() require('plugins/trouble') end
}
-- Интерфейс отображающий найденные проблемы LSP-серверами
use {
'folke/trouble.nvim',
requires = 'kyazdani42/nvim-web-devicons',
config = function() require('plugins/trouble') end
}
-- Пиктограммы для плагинов
use {
'onsails/lspkind-nvim',
config = function() require('plugins/lspkind') end
}
-- Пиктограммы для плагинов
use {
'onsails/lspkind-nvim',
config = function() require('plugins/lspkind') end
}
-- Пиктограммы для плагинов
use {
@@ -38,10 +38,10 @@ return require('packer').startup(function(use)
}
-- Интеграция с GIT
use {
'lewis6991/gitsigns.nvim',
config = function() require('plugins/gitsigns') end
}
use {
'lewis6991/gitsigns.nvim',
config = function() require('plugins/gitsigns') end
}
-- Обработчик GIT-команд
use 'tpope/vim-fugitive'
@@ -49,50 +49,50 @@ return require('packer').startup(function(use)
-- Отображение изменений GIT
use 'mhinz/vim-signify'
-- Отрисовка в реальном времени найденных ошибок LSP-серверами
-- Отрисовка в реальном времени найденных ошибок LSP-серверами
use {
'onsails/diaglist.nvim',
config = function() require('plugins/diaglist') end
}
'onsails/diaglist.nvim',
config = function() require('plugins/diaglist') end
}
-- Интерфейс строки состояния
-- Интерфейс строки состояния
use {
'nvim-lualine/lualine.nvim',
requires = 'kyazdani42/nvim-web-devicons',
config = function() require('plugins/lualine') end
}
-- Дополнение для "nvim-lualine/lualine.nvim" с отображением прогресса работы с LSP-серверами
'nvim-lualine/lualine.nvim',
requires = 'kyazdani42/nvim-web-devicons',
config = function() require('plugins/lualine') end
}
-- Дополнение для "nvim-lualine/lualine.nvim" с отображением прогресса работы с LSP-серверами
use {
'arkav/lualine-lsp-progress',
config = function() require('plugins/lualine-lsp-progress') end
}
-- Интерфейс строки буфера файлов
-- Интерфейс строки буфера файлов
use {
'akinsho/bufferline.nvim',
tag = "v3.*",
'akinsho/bufferline.nvim',
tag = "v3.*",
requires = 'nvim-tree/nvim-web-devicons',
config = function() require('plugins/bufferline') end
}
-- Интерфейс древовидной структуры файлов
-- Интерфейс древовидной структуры файлов
use {
'nvim-neo-tree/neo-tree.nvim',
branch = 'v2.x',
requires = {
'nvim-lua/plenary.nvim',
'kyazdani42/nvim-web-devicons',
'MunifTanjim/nui.nvim'
},
config = function() require('plugins/neo-tree') end
}
'nvim-neo-tree/neo-tree.nvim',
branch = 'v2.x',
requires = {
'nvim-lua/plenary.nvim',
'kyazdani42/nvim-web-devicons',
'MunifTanjim/nui.nvim'
},
config = function() require('plugins/neo-tree') end
}
-- Автодополнение скобок и кавычек
use {
'windwp/nvim-autopairs',
config = function() require('plugins/autopairs') end
}
-- Автодополнение скобок и кавычек
use {
'windwp/nvim-autopairs',
config = function() require('plugins/autopairs') end
}
-- Цвета для отображения найденных ошибок LSP-сервером в случае если другие цвета не найдены
use 'folke/lsp-colors.nvim'
@@ -136,7 +136,7 @@ return require('packer').startup(function(use)
-- Интерфейс для поиска
use {
'nvim-telescope/telescope.nvim',
'nvim-telescope/telescope.nvim',
tag = '0.1.1',
config = function() require('plugins/telescope') end
}
@@ -160,7 +160,7 @@ return require('packer').startup(function(use)
-- Интерфейс для отображения тегов в отдельном окне
use 'preservim/tagbar'
-- PHP-теги для "preservim/tagbar" (phpctags для ctags)
-- PHP-теги для "preservim/tagbar" (phpctags для ctags)
use {
'vim-php/phpctags',
run = 'composer install'
@@ -177,4 +177,10 @@ return require('packer').startup(function(use)
-- Аналог LSP-сервера для подержки синтаксиса nginx
use 'chr4/nginx.vim'
-- Форматировщик Prettier
use {
'prettier/vim-prettier',
run = 'yarn install --frozen-lockfile --production'
}
end)