|
|
|
@ -248,6 +248,12 @@ vim.opt.rtp:prepend(lazypath)
|
|
|
|
|
-- NOTE: Here is where you install your plugins.
|
|
|
|
|
require('lazy').setup({
|
|
|
|
|
-- NOTE: Plugins can be added with a link (or for a github repo: 'owner/repo' link).
|
|
|
|
|
{
|
|
|
|
|
'pmizio/typescript-tools.nvim',
|
|
|
|
|
dependencies = { 'nvim-lua/plenary.nvim', 'neovim/nvim-lspconfig' },
|
|
|
|
|
opts = {},
|
|
|
|
|
},
|
|
|
|
|
'mg979/vim-visual-multi',
|
|
|
|
|
'tpope/vim-sleuth', -- Detect tabstop and shiftwidth automatically
|
|
|
|
|
|
|
|
|
|
-- NOTE: Plugins can also be added by using a table,
|
|
|
|
@ -527,8 +533,9 @@ require('lazy').setup({
|
|
|
|
|
-- NOTE: `opts = {}` is the same as calling `require('fidget').setup({})`
|
|
|
|
|
{ 'j-hui/fidget.nvim', opts = {} },
|
|
|
|
|
|
|
|
|
|
-- Allows extra capabilities provided by nvim-cmp
|
|
|
|
|
'hrsh7th/cmp-nvim-lsp',
|
|
|
|
|
-- `neodev` configures Lua LSP for your Neovim config, runtime and plugins
|
|
|
|
|
-- used for completion, annotations and signatures of Neovim apis
|
|
|
|
|
{ 'folke/neodev.nvim', opts = {} },
|
|
|
|
|
},
|
|
|
|
|
config = function()
|
|
|
|
|
-- Brief aside: **What is LSP?**
|
|
|
|
@ -686,8 +693,25 @@ require('lazy').setup({
|
|
|
|
|
-- Some languages (like typescript) have entire language plugins that can be useful:
|
|
|
|
|
-- https://github.com/pmizio/typescript-tools.nvim
|
|
|
|
|
--
|
|
|
|
|
-- But for many setups, the LSP (`ts_ls`) will work just fine
|
|
|
|
|
-- ts_ls = {},
|
|
|
|
|
-- But for many setups, the LSP (`tsserver`) will work just fine
|
|
|
|
|
tsserver = {
|
|
|
|
|
init_options = {
|
|
|
|
|
plugins = {
|
|
|
|
|
{
|
|
|
|
|
name = '@vue/typescript-plugin',
|
|
|
|
|
languages = { 'vue' },
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
volar = {
|
|
|
|
|
filetypes = { 'typescript', 'javascript', 'javascriptreact', 'typescriptreact', 'vue' },
|
|
|
|
|
init_options = {
|
|
|
|
|
vue = {
|
|
|
|
|
hybridMode = false,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
--
|
|
|
|
|
pylsp = {},
|
|
|
|
|
cmake = {},
|
|
|
|
@ -758,7 +782,7 @@ require('lazy').setup({
|
|
|
|
|
-- Disable "format_on_save lsp_fallback" for languages that don't
|
|
|
|
|
-- have a well standardized coding style. You can add additional
|
|
|
|
|
-- languages here or re-enable it for the disabled ones.
|
|
|
|
|
local disable_filetypes = { c = true, cpp = true }
|
|
|
|
|
local disable_filetypes = { c = true, cpp = true, py = true, ts = true, vue = true }
|
|
|
|
|
local lsp_format_opt
|
|
|
|
|
if disable_filetypes[vim.bo[bufnr].filetype] then
|
|
|
|
|
lsp_format_opt = 'never'
|
|
|
|
@ -776,10 +800,13 @@ require('lazy').setup({
|
|
|
|
|
json = { 'clang-format-15' },
|
|
|
|
|
lua = { 'stylua' },
|
|
|
|
|
-- Conform can also run multiple formatters sequentially
|
|
|
|
|
python = { 'isort' },
|
|
|
|
|
python = { 'ruff' },
|
|
|
|
|
--
|
|
|
|
|
-- You can use 'stop_after_first' to run the first available formatter from the list
|
|
|
|
|
-- javascript = { "prettierd", "prettier", stop_after_first = true },
|
|
|
|
|
-- You can use a sub-list to tell conform to run *until* a formatter
|
|
|
|
|
-- is found.
|
|
|
|
|
-- javascript = { 'prettier' },
|
|
|
|
|
-- vue = { 'prettier' },
|
|
|
|
|
-- typescript = { 'prettier' },
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|