mirror of
https://github.com/LazyVim/LazyVim.git
synced 2026-07-25 14:01:06 +00:00
Merge remote-tracking branch 'refs/remotes/upstream/main'
fetched updates
This commit is contained in:
commit
0e20106887
20 changed files with 286 additions and 162 deletions
20
CHANGELOG.md
20
CHANGELOG.md
|
|
@ -1,5 +1,25 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [12.4.0](https://github.com/LazyVim/LazyVim/compare/v12.3.0...v12.4.0) (2024-06-04)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **hipatterns:** added vue/astro ([d6c59d9](https://github.com/LazyVim/LazyVim/commit/d6c59d9a411a96fab22df03368b16740ea19da04))
|
||||||
|
* **lazydev:** new lazydev config based on trigger words ([39da851](https://github.com/LazyVim/LazyVim/commit/39da8514d32c9eba40efa045c2d12d2170e206cf))
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* fixup for nvim-snippets compat on 0.9. Fixes [#3426](https://github.com/LazyVim/LazyVim/issues/3426) ([83c0c94](https://github.com/LazyVim/LazyVim/commit/83c0c9405acf4682d473188dd2ce3126c1261ea9))
|
||||||
|
* hack for dashboard.nvim so that it shows errors when exiting ([6c3fd9f](https://github.com/LazyVim/LazyVim/commit/6c3fd9fedfa83bac9e63c04d24ff2760569b845e))
|
||||||
|
* **hipatterns:** update mini-hipatterns.lua config to add support for heex, rust and svelte files ([#3430](https://github.com/LazyVim/LazyVim/issues/3430)) ([1731e45](https://github.com/LazyVim/LazyVim/commit/1731e455d41a9baa6c80bbc9e89e23c104479431))
|
||||||
|
* **lazydev:** easier way of defining library plugin paths ([bb66618](https://github.com/LazyVim/LazyVim/commit/bb66618f1fc265c7a702f3d13d704ffbb1066178))
|
||||||
|
* **luasnip:** move mappings to cmp spec so that they dont conflict with native snippets ([da7b773](https://github.com/LazyVim/LazyVim/commit/da7b7738eb84b00c949f48afabebd39266e61d75))
|
||||||
|
* **todo-comments:** use toggle for Trouble todo commands ([#3424](https://github.com/LazyVim/LazyVim/issues/3424)) ([028d5bc](https://github.com/LazyVim/LazyVim/commit/028d5bcac5b2a9b6ceb23e2df9c92bdc7d711674))
|
||||||
|
* **todo-comments:** use trouble filters for showing only todo/fix/fixmes ([6da95ee](https://github.com/LazyVim/LazyVim/commit/6da95ee7d35f7eab4297c2229d8d79d43f5d12bc))
|
||||||
|
* **ui:** fix incorrect colors on change colorscheme (lualine) ([#3431](https://github.com/LazyVim/LazyVim/issues/3431)) ([4d706f1](https://github.com/LazyVim/LazyVim/commit/4d706f1bdc687f1d4d4cd962ec166c65c453633e))
|
||||||
|
|
||||||
## [12.3.0](https://github.com/LazyVim/LazyVim/compare/v12.2.0...v12.3.0) (2024-06-02)
|
## [12.3.0](https://github.com/LazyVim/LazyVim/compare/v12.2.0...v12.3.0) (2024-06-02)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
*LazyVim.txt* For Neovim >= 0.9.0 Last change: 2024 June 02
|
*LazyVim.txt* For Neovim >= 0.9.0 Last change: 2024 June 05
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
Table of Contents *LazyVim-table-of-contents*
|
Table of Contents *LazyVim-table-of-contents*
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,12 @@ vim.g.root_spec = { "lsp", { ".git", "lua" }, "cwd" }
|
||||||
-- Set to false to disable.
|
-- Set to false to disable.
|
||||||
vim.g.lazygit_config = true
|
vim.g.lazygit_config = true
|
||||||
|
|
||||||
|
-- Options for the LazyVim statuscolumn
|
||||||
|
vim.g.lazyvim_statuscolumn = {
|
||||||
|
folds_open = false, -- show fold sign when fold is open
|
||||||
|
folds_githl = false, -- highlight fold sign with git sign color
|
||||||
|
}
|
||||||
|
|
||||||
-- Optionally setup the terminal to use
|
-- Optionally setup the terminal to use
|
||||||
-- This sets `vim.o.shell` and does some additional configuration for:
|
-- This sets `vim.o.shell` and does some additional configuration for:
|
||||||
-- * pwsh
|
-- * pwsh
|
||||||
|
|
|
||||||
|
|
@ -204,14 +204,14 @@ return {
|
||||||
{
|
{
|
||||||
"folke/lazydev.nvim",
|
"folke/lazydev.nvim",
|
||||||
ft = "lua",
|
ft = "lua",
|
||||||
opts = function()
|
cmd = "LazyDev",
|
||||||
return {
|
opts = {
|
||||||
library = {
|
library = {
|
||||||
uv = "luvit-meta/library",
|
{ path = "luvit-meta/library", words = { "vim%.uv" } },
|
||||||
lazyvim = "LazyVim",
|
{ path = "LazyVim", words = { "LazyVim" } },
|
||||||
},
|
{ path = "lazy.nvim", words = { "LazyVim" } },
|
||||||
}
|
},
|
||||||
end,
|
},
|
||||||
},
|
},
|
||||||
-- Manage libuv types with lazy. Plugin will never be loaded
|
-- Manage libuv types with lazy. Plugin will never be loaded
|
||||||
{ "Bilal2453/luvit-meta", lazy = true },
|
{ "Bilal2453/luvit-meta", lazy = true },
|
||||||
|
|
|
||||||
|
|
@ -8,12 +8,22 @@ return {
|
||||||
{ "folke/ts-comments.nvim", enabled = false },
|
{ "folke/ts-comments.nvim", enabled = false },
|
||||||
{ import = "lazyvim.plugins.extras.coding.mini-comment" },
|
{ import = "lazyvim.plugins.extras.coding.mini-comment" },
|
||||||
|
|
||||||
-- Use neodev instead of lazydev
|
-- Use neodev-types with lazydev
|
||||||
{ "folke/lazydev.nvim", enabled = false },
|
{ "folke/neodev.nvim", config = function() end },
|
||||||
|
{
|
||||||
|
"folke/lazydev.nvim",
|
||||||
|
opts = function(_, opts)
|
||||||
|
opts.library = opts.library or {}
|
||||||
|
table.insert(opts.library, { "neodev.nvim/types/stable" })
|
||||||
|
end,
|
||||||
|
config = function(_, opts)
|
||||||
|
-- force lazydev to load on Neovim 0.9
|
||||||
|
require("lazydev.config").have_0_10 = true
|
||||||
|
require("lazydev").setup(opts)
|
||||||
|
end,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"neovim/nvim-lspconfig",
|
"neovim/nvim-lspconfig",
|
||||||
dependencies = {
|
dependencies = {},
|
||||||
{ "folke/neodev.nvim", opts = {} },
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
38
lua/lazyvim/plugins/extras/editor/inc-rename.lua
Normal file
38
lua/lazyvim/plugins/extras/editor/inc-rename.lua
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
return {
|
||||||
|
|
||||||
|
-- Rename with cmdpreview
|
||||||
|
recommended = true,
|
||||||
|
desc = "Incremental LSP renaming based on Neovim's command-preview feature",
|
||||||
|
{
|
||||||
|
"smjonas/inc-rename.nvim",
|
||||||
|
cmd = "IncRename",
|
||||||
|
opts = {},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- LSP Keymaps
|
||||||
|
{
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
opts = function()
|
||||||
|
local keys = require("lazyvim.plugins.lsp.keymaps").get()
|
||||||
|
keys[#keys + 1] = {
|
||||||
|
"<leader>cr",
|
||||||
|
function()
|
||||||
|
local inc_rename = require("inc_rename")
|
||||||
|
return ":" .. inc_rename.config.cmd_name .. " " .. vim.fn.expand("<cword>")
|
||||||
|
end,
|
||||||
|
expr = true,
|
||||||
|
desc = "Rename (inc-rename.nvim)",
|
||||||
|
has = "rename",
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
--- Noice integration
|
||||||
|
{
|
||||||
|
"folke/noice.nvim",
|
||||||
|
optional = true,
|
||||||
|
opts = {
|
||||||
|
presets = { inc_rename = true },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
56
lua/lazyvim/plugins/extras/lang/angular.lua
Normal file
56
lua/lazyvim/plugins/extras/lang/angular.lua
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
return {
|
||||||
|
recommended = function()
|
||||||
|
return LazyVim.extras.wants({
|
||||||
|
root = {
|
||||||
|
"angular.json",
|
||||||
|
"nx.json", --support for nx workspace
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
|
||||||
|
{
|
||||||
|
"nvim-treesitter",
|
||||||
|
opts = function(_, opts)
|
||||||
|
if type(opts.ensure_installed) == "table" then
|
||||||
|
vim.list_extend(opts.ensure_installed, { "angular", "scss" })
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- angularls depends on typescript
|
||||||
|
{ import = "lazyvim.plugins.extras.lang.typescript" },
|
||||||
|
|
||||||
|
-- LSP Servers
|
||||||
|
{
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
opts = {
|
||||||
|
servers = {
|
||||||
|
angularls = {},
|
||||||
|
},
|
||||||
|
setup = {
|
||||||
|
angularls = function()
|
||||||
|
LazyVim.lsp.on_attach(function(client)
|
||||||
|
if client.name == "angularls" then
|
||||||
|
--HACK: disable angular renaming capability due to duplicate rename popping up
|
||||||
|
client.server_capabilities.renameProvider = false
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Configure tsserver plugin
|
||||||
|
{
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
opts = function(_, opts)
|
||||||
|
LazyVim.extend(opts.servers.vtsls, "settings.vtsls.tsserver.globalPlugins", {
|
||||||
|
{
|
||||||
|
name = "@angular/language-server",
|
||||||
|
location = LazyVim.get_pkg_path("angular-language-server", "/node_modules/@angular/language-server"),
|
||||||
|
enableForWorkspaceTypeScriptVersions = false,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
@ -39,11 +39,7 @@ return {
|
||||||
LazyVim.extend(opts.servers.vtsls, "settings.vtsls.tsserver.globalPlugins", {
|
LazyVim.extend(opts.servers.vtsls, "settings.vtsls.tsserver.globalPlugins", {
|
||||||
{
|
{
|
||||||
name = "@astrojs/ts-plugin",
|
name = "@astrojs/ts-plugin",
|
||||||
location = LazyVim.get_pkg_path(
|
location = LazyVim.get_pkg_path("astro-language-server", "/node_modules/@astrojs/ts-plugin"),
|
||||||
"astro-language-server",
|
|
||||||
"/node_modules/@astrojs/ts-plugin",
|
|
||||||
{ warn = false }
|
|
||||||
),
|
|
||||||
enableForWorkspaceTypeScriptVersions = true,
|
enableForWorkspaceTypeScriptVersions = true,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
return {
|
|
||||||
-- "numiras/semshi",
|
|
||||||
"wookayin/semshi", -- use a maintained fork
|
|
||||||
ft = "python",
|
|
||||||
build = ":UpdateRemotePlugins",
|
|
||||||
init = function()
|
|
||||||
-- Disabled these features better provided by LSP or other more general plugins
|
|
||||||
vim.g["semshi#error_sign"] = false
|
|
||||||
vim.g["semshi#simplify_markup"] = false
|
|
||||||
vim.g["semshi#mark_selected_nodes"] = false
|
|
||||||
vim.g["semshi#update_delay_factor"] = 0.001
|
|
||||||
|
|
||||||
-- This autocmd must be defined in init to take effect
|
|
||||||
vim.api.nvim_create_autocmd({ "VimEnter", "ColorScheme" }, {
|
|
||||||
group = vim.api.nvim_create_augroup("SemanticHighlight", {}),
|
|
||||||
callback = function()
|
|
||||||
-- Only add style, inherit or link to the LSP's colors
|
|
||||||
vim.cmd([[
|
|
||||||
highlight! link semshiGlobal @none
|
|
||||||
highlight! link semshiImported @none
|
|
||||||
highlight! link semshiParameter @lsp.type.parameter
|
|
||||||
highlight! link semshiBuiltin @function.builtin
|
|
||||||
highlight! link semshiAttribute @field
|
|
||||||
highlight! link semshiSelf @lsp.type.selfKeyword
|
|
||||||
highlight! link semshiUnresolved @none
|
|
||||||
highlight! link semshiFree @none
|
|
||||||
highlight! link semshiAttribute @none
|
|
||||||
highlight! link semshiParameterUnused @none
|
|
||||||
]])
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +1,3 @@
|
||||||
-- NOTE: This setup does not define any lsp or dap specific key bindings
|
|
||||||
-- It is recommended that the LazyVim extras dap-core is imported "lazyvim.plugins.extras.dap.core"
|
|
||||||
-- If you like you can setup your own key bindings.
|
|
||||||
-- For minimalistic setup have a look at https://github.com/scalameta/nvim-metals/discussions/39
|
|
||||||
return {
|
return {
|
||||||
recommended = function()
|
recommended = function()
|
||||||
return LazyVim.extras.wants({
|
return LazyVim.extras.wants({
|
||||||
|
|
@ -10,44 +6,72 @@ return {
|
||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
{
|
{
|
||||||
"hrsh7th/nvim-cmp",
|
"nvim-treesitter/nvim-treesitter",
|
||||||
requires = {
|
opts = function(_, opts)
|
||||||
{ "hrsh7th/cmp-nvim-lsp" },
|
if type(opts.ensure_installed) == "table" then
|
||||||
{ "hrsh7th/cmp-vsnip" },
|
vim.list_extend(opts.ensure_installed, { "scala" })
|
||||||
{ "hrsh7th/vim-vsnip" },
|
end
|
||||||
},
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"scalameta/nvim-metals",
|
"scalameta/nvim-metals",
|
||||||
dependencies = {
|
ft = { "scala", "sbt" },
|
||||||
"nvim-lua/plenary.nvim",
|
config = function() end,
|
||||||
"mfussenegger/nvim-dap",
|
},
|
||||||
},
|
{
|
||||||
ft = { "scala", "sbt", "java" },
|
"neovim/nvim-lspconfig",
|
||||||
init = function()
|
opts = {
|
||||||
local metals_config = require("metals").bare_config()
|
servers = {
|
||||||
metals_config.init_options.statusBarProvider = "off"
|
metals = {
|
||||||
metals_config.settings = {
|
keys = {
|
||||||
showImplicitArguments = true,
|
{
|
||||||
excludedPackages = { "akka.actor.typed.javadsl", "com.github.swagger.akka.javadsl" },
|
"<leader>me",
|
||||||
}
|
function()
|
||||||
metals_config.capabilities = require("cmp_nvim_lsp").default_capabilities()
|
require("telescope").extensions.metals.commands()
|
||||||
metals_config.on_attach = function(client, bufnr)
|
end,
|
||||||
require("metals").setup_dap()
|
desc = "Metals commands",
|
||||||
end
|
},
|
||||||
|
{
|
||||||
|
"<leader>mc",
|
||||||
|
function()
|
||||||
|
require("metals").compile_cascade()
|
||||||
|
end,
|
||||||
|
desc = "Metals compile cascade",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
init_options = {
|
||||||
|
statusBarProvider = "off",
|
||||||
|
},
|
||||||
|
settings = {
|
||||||
|
showImplicitArguments = true,
|
||||||
|
excludedPackages = { "akka.actor.typed.javadsl", "com.github.swagger.akka.javadsl" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
setup = {
|
||||||
|
metals = function(_, opts)
|
||||||
|
local metals = require("metals")
|
||||||
|
local metals_config = vim.tbl_deep_extend("force", metals.bare_config(), opts)
|
||||||
|
metals_config.on_attach = LazyVim.has("nvim-dap") and metals.setup_dap or nil
|
||||||
|
|
||||||
local nvim_metals_group = vim.api.nvim_create_augroup("nvim-metals", { clear = true })
|
local nvim_metals_group = vim.api.nvim_create_augroup("nvim-metals", { clear = true })
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
vim.api.nvim_create_autocmd("FileType", {
|
||||||
-- NOTE: You may or may not want java included here. You will need it if you
|
pattern = { "scala", "sbt" },
|
||||||
-- want basic Java support but it may also conflict if you are using
|
callback = function()
|
||||||
-- something like nvim-jdtls which also works on a java filetype autocmd.
|
metals.initialize_or_attach(metals_config)
|
||||||
pattern = { "scala", "sbt", "java" },
|
end,
|
||||||
callback = function()
|
group = nvim_metals_group,
|
||||||
require("metals").initialize_or_attach(metals_config)
|
})
|
||||||
|
return true
|
||||||
end,
|
end,
|
||||||
group = nvim_metals_group,
|
},
|
||||||
})
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"mfussenegger/nvim-dap",
|
||||||
|
optional = true,
|
||||||
|
opts = function()
|
||||||
-- Debug settings
|
-- Debug settings
|
||||||
local dap = require("dap")
|
local dap = require("dap")
|
||||||
dap.configurations.scala = {
|
dap.configurations.scala = {
|
||||||
|
|
@ -70,29 +94,5 @@ return {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
end,
|
end,
|
||||||
keys = {
|
|
||||||
{
|
|
||||||
"<leader>me",
|
|
||||||
function()
|
|
||||||
require("telescope").extensions.metals.commands()
|
|
||||||
end,
|
|
||||||
desc = "Metals commands",
|
|
||||||
ft = { "scala", "sbt", "java" },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>mc",
|
|
||||||
function()
|
|
||||||
require("metals").compile_cascade()
|
|
||||||
end,
|
|
||||||
desc = "Metals compile cascade",
|
|
||||||
ft = { "scala", "sbt", "java" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
opts = function(_, opts)
|
|
||||||
vim.list_extend(opts.ensure_installed, { "scala" })
|
|
||||||
end,
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -39,11 +39,7 @@ return {
|
||||||
LazyVim.extend(opts.servers.vtsls, "settings.vtsls.tsserver.globalPlugins", {
|
LazyVim.extend(opts.servers.vtsls, "settings.vtsls.tsserver.globalPlugins", {
|
||||||
{
|
{
|
||||||
name = "typescript-svelte-plugin",
|
name = "typescript-svelte-plugin",
|
||||||
location = LazyVim.get_pkg_path(
|
location = LazyVim.get_pkg_path("svelte-language-server", "/node_modules/typescript-svelte-plugin"),
|
||||||
"svelte-language-server",
|
|
||||||
"/node_modules/typescript-svelte-plugin",
|
|
||||||
{ warn = false }
|
|
||||||
),
|
|
||||||
enableForWorkspaceTypeScriptVersions = true,
|
enableForWorkspaceTypeScriptVersions = true,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ return {
|
||||||
"nvim-treesitter/nvim-treesitter",
|
"nvim-treesitter/nvim-treesitter",
|
||||||
opts = function(_, opts)
|
opts = function(_, opts)
|
||||||
if type(opts.ensure_installed) == "table" then
|
if type(opts.ensure_installed) == "table" then
|
||||||
vim.list_extend(opts.ensure_installed, { "bibtex", "latex" })
|
vim.list_extend(opts.ensure_installed, { "bibtex" })
|
||||||
end
|
end
|
||||||
if type(opts.highlight.disable) == "table" then
|
if type(opts.highlight.disable) == "table" then
|
||||||
vim.list_extend(opts.highlight.disable, { "latex" })
|
vim.list_extend(opts.highlight.disable, { "latex" })
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,20 @@ M.plugin = {
|
||||||
-- custom LazyVim option to enable the tailwind integration
|
-- custom LazyVim option to enable the tailwind integration
|
||||||
tailwind = {
|
tailwind = {
|
||||||
enabled = true,
|
enabled = true,
|
||||||
ft = { "typescriptreact", "javascriptreact", "css", "javascript", "typescript", "html" },
|
ft = {
|
||||||
|
"astro",
|
||||||
|
"css",
|
||||||
|
"heex",
|
||||||
|
"html",
|
||||||
|
"html-eex",
|
||||||
|
"javascript",
|
||||||
|
"javascriptreact",
|
||||||
|
"rust",
|
||||||
|
"svelte",
|
||||||
|
"typescript",
|
||||||
|
"typescriptreact",
|
||||||
|
"vue",
|
||||||
|
},
|
||||||
-- full: the whole css class will be highlighted
|
-- full: the whole css class will be highlighted
|
||||||
-- compact: only the color will be highlighted
|
-- compact: only the color will be highlighted
|
||||||
style = "full",
|
style = "full",
|
||||||
|
|
@ -37,14 +50,6 @@ M.plugin = {
|
||||||
}
|
}
|
||||||
end,
|
end,
|
||||||
config = function(_, opts)
|
config = function(_, opts)
|
||||||
-- backward compatibility
|
|
||||||
if opts.tailwind == true then
|
|
||||||
opts.tailwind = {
|
|
||||||
enabled = true,
|
|
||||||
ft = { "typescriptreact", "javascriptreact", "css", "javascript", "typescript", "html" },
|
|
||||||
style = "full",
|
|
||||||
}
|
|
||||||
end
|
|
||||||
if type(opts.tailwind) == "table" and opts.tailwind.enabled then
|
if type(opts.tailwind) == "table" and opts.tailwind.enabled then
|
||||||
-- reset hl groups when colorscheme changes
|
-- reset hl groups when colorscheme changes
|
||||||
vim.api.nvim_create_autocmd("ColorScheme", {
|
vim.api.nvim_create_autocmd("ColorScheme", {
|
||||||
|
|
|
||||||
|
|
@ -244,8 +244,11 @@ return {
|
||||||
if LazyVim.lsp.is_enabled("denols") and LazyVim.lsp.is_enabled("vtsls") then
|
if LazyVim.lsp.is_enabled("denols") and LazyVim.lsp.is_enabled("vtsls") then
|
||||||
local is_deno = require("lspconfig.util").root_pattern("deno.json", "deno.jsonc")
|
local is_deno = require("lspconfig.util").root_pattern("deno.json", "deno.jsonc")
|
||||||
LazyVim.lsp.disable("vtsls", is_deno)
|
LazyVim.lsp.disable("vtsls", is_deno)
|
||||||
LazyVim.lsp.disable("denols", function(root_dir)
|
LazyVim.lsp.disable("denols", function(root_dir, config)
|
||||||
return not is_deno(root_dir)
|
if not is_deno(root_dir) then
|
||||||
|
config.settings.deno.enable = false
|
||||||
|
end
|
||||||
|
return false
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ function M.get()
|
||||||
{ "<leader>cc", vim.lsp.codelens.run, desc = "Run Codelens", mode = { "n", "v" }, has = "codeLens" },
|
{ "<leader>cc", vim.lsp.codelens.run, desc = "Run Codelens", mode = { "n", "v" }, has = "codeLens" },
|
||||||
{ "<leader>cC", vim.lsp.codelens.refresh, desc = "Refresh & Display Codelens", mode = { "n" }, has = "codeLens" },
|
{ "<leader>cC", vim.lsp.codelens.refresh, desc = "Refresh & Display Codelens", mode = { "n" }, has = "codeLens" },
|
||||||
{ "<leader>cR", LazyVim.lsp.rename_file, desc = "Rename File", mode ={"n"}, has = { "workspace/didRenameFiles", "workspace/willRenameFiles" } },
|
{ "<leader>cR", LazyVim.lsp.rename_file, desc = "Rename File", mode ={"n"}, has = { "workspace/didRenameFiles", "workspace/willRenameFiles" } },
|
||||||
|
{ "<leader>cr", vim.lsp.buf.rename, desc = "Rename", has = "rename" },
|
||||||
{
|
{
|
||||||
"<leader>cA",
|
"<leader>cA",
|
||||||
function()
|
function()
|
||||||
|
|
@ -50,20 +51,7 @@ function M.get()
|
||||||
{ "<a-p>", function() LazyVim.lsp.words.jump(-vim.v.count1, true) end, has = "documentHighlight",
|
{ "<a-p>", function() LazyVim.lsp.words.jump(-vim.v.count1, true) end, has = "documentHighlight",
|
||||||
desc = "Prev Reference", cond = function() return LazyVim.lsp.words.enabled end },
|
desc = "Prev Reference", cond = function() return LazyVim.lsp.words.enabled end },
|
||||||
}
|
}
|
||||||
if LazyVim.has("inc-rename.nvim") then
|
|
||||||
M._keys[#M._keys + 1] = {
|
|
||||||
"<leader>cr",
|
|
||||||
function()
|
|
||||||
local inc_rename = require("inc_rename")
|
|
||||||
return ":" .. inc_rename.config.cmd_name .. " " .. vim.fn.expand("<cword>")
|
|
||||||
end,
|
|
||||||
expr = true,
|
|
||||||
desc = "Rename",
|
|
||||||
has = "rename",
|
|
||||||
}
|
|
||||||
else
|
|
||||||
M._keys[#M._keys + 1] = { "<leader>cr", vim.lsp.buf.rename, desc = "Rename", has = "rename" }
|
|
||||||
end
|
|
||||||
return M._keys
|
return M._keys
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -157,24 +157,25 @@ return {
|
||||||
{
|
{
|
||||||
function() return require("noice").api.status.command.get() end,
|
function() return require("noice").api.status.command.get() end,
|
||||||
cond = function() return package.loaded["noice"] and require("noice").api.status.command.has() end,
|
cond = function() return package.loaded["noice"] and require("noice").api.status.command.has() end,
|
||||||
color = LazyVim.ui.fg("Statement"),
|
color = function() return LazyVim.ui.fg("Statement") end,
|
||||||
},
|
},
|
||||||
-- stylua: ignore
|
-- stylua: ignore
|
||||||
{
|
{
|
||||||
function() return require("noice").api.status.mode.get() end,
|
function() return require("noice").api.status.mode.get() end,
|
||||||
cond = function() return package.loaded["noice"] and require("noice").api.status.mode.has() end,
|
cond = function() return package.loaded["noice"] and require("noice").api.status.mode.has() end,
|
||||||
color = LazyVim.ui.fg("Constant"),
|
color = function() return LazyVim.ui.fg("Constant") end,
|
||||||
},
|
},
|
||||||
-- stylua: ignore
|
-- stylua: ignore
|
||||||
{
|
{
|
||||||
function() return " " .. require("dap").status() end,
|
function() return " " .. require("dap").status() end,
|
||||||
cond = function () return package.loaded["dap"] and require("dap").status() ~= "" end,
|
cond = function() return package.loaded["dap"] and require("dap").status() ~= "" end,
|
||||||
color = LazyVim.ui.fg("Debug"),
|
color = function() return LazyVim.ui.fg("Debug") end,
|
||||||
},
|
},
|
||||||
|
-- stylua: ignore
|
||||||
{
|
{
|
||||||
require("lazy.status").updates,
|
require("lazy.status").updates,
|
||||||
cond = require("lazy.status").has_updates,
|
cond = require("lazy.status").has_updates,
|
||||||
color = LazyVim.ui.fg("Special"),
|
color = function() return LazyVim.ui.fg("Special") end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"diff",
|
"diff",
|
||||||
|
|
@ -298,7 +299,6 @@ return {
|
||||||
bottom_search = true,
|
bottom_search = true,
|
||||||
command_palette = true,
|
command_palette = true,
|
||||||
long_message_to_split = true,
|
long_message_to_split = true,
|
||||||
inc_rename = true,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
-- stylua: ignore
|
-- stylua: ignore
|
||||||
|
|
@ -354,7 +354,7 @@ return {
|
||||||
{ action = 'lua require("persistence").load()', desc = " Restore Session", icon = " ", key = "s" },
|
{ action = 'lua require("persistence").load()', desc = " Restore Session", icon = " ", key = "s" },
|
||||||
{ action = "LazyExtras", desc = " Lazy Extras", icon = " ", key = "x" },
|
{ action = "LazyExtras", desc = " Lazy Extras", icon = " ", key = "x" },
|
||||||
{ action = "Lazy", desc = " Lazy", icon = " ", key = "l" },
|
{ action = "Lazy", desc = " Lazy", icon = " ", key = "l" },
|
||||||
{ action = "qa", desc = " Quit", icon = " ", key = "q" },
|
{ action = function() vim.api.nvim_input("<cmd>qa<cr>") end, desc = " Quit", icon = " ", key = "q" },
|
||||||
},
|
},
|
||||||
footer = function()
|
footer = function()
|
||||||
local stats = require("lazy").stats()
|
local stats = require("lazy").stats()
|
||||||
|
|
|
||||||
|
|
@ -246,7 +246,9 @@ function M.get_pkg_path(pkg, path, opts)
|
||||||
path = path or ""
|
path = path or ""
|
||||||
local ret = root .. "/packages/" .. pkg .. "/" .. path
|
local ret = root .. "/packages/" .. pkg .. "/" .. path
|
||||||
if opts.warn and not vim.loop.fs_stat(ret) then
|
if opts.warn and not vim.loop.fs_stat(ret) then
|
||||||
M.warn(("Mason package path not found for **%s**:\n- `%s`"):format(pkg, path))
|
M.warn(
|
||||||
|
("Mason package path not found for **%s**:\n- `%s`\nYou may need to force update the package."):format(pkg, path)
|
||||||
|
)
|
||||||
end
|
end
|
||||||
return ret
|
return ret
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,10 @@ M.deprecated_extras = {
|
||||||
["lazyvim.plugins.extras.coding.mini-ai"] = "`mini.ai` is now a core LazyVim plugin (again)",
|
["lazyvim.plugins.extras.coding.mini-ai"] = "`mini.ai` is now a core LazyVim plugin (again)",
|
||||||
["lazyvim.plugins.extras.lazyrc"] = "local spec files are now a lazy.nvim feature",
|
["lazyvim.plugins.extras.lazyrc"] = "local spec files are now a lazy.nvim feature",
|
||||||
["lazyvim.plugins.extras.editor.trouble-v3"] = "Trouble v3 has been merged in main",
|
["lazyvim.plugins.extras.editor.trouble-v3"] = "Trouble v3 has been merged in main",
|
||||||
|
["lazyvim.plugins.extras.lang.python-semshi"] = [[The python-semshi extra has been removed,
|
||||||
|
because it's causing too many issues.
|
||||||
|
Either use `basedpyright`, or copy the [old extra](https://github.com/LazyVim/LazyVim/blob/c1f5fcf9c7ed2659c9d5ac41b3bb8a93e0a3c6a0/lua/lazyvim/plugins/extras/lang/python-semshi.lua#L1) to your own config.
|
||||||
|
]],
|
||||||
}
|
}
|
||||||
|
|
||||||
M.deprecated_modules = {}
|
M.deprecated_modules = {}
|
||||||
|
|
|
||||||
|
|
@ -73,21 +73,41 @@ function M.inlay_hints(buf, value)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
---@type {k:string, v:any}[]
|
||||||
M._maximized = nil
|
M._maximized = nil
|
||||||
function M.maximize()
|
---@param state boolean?
|
||||||
|
function M.maximize(state)
|
||||||
|
if state == (M._maximized ~= nil) then
|
||||||
|
return
|
||||||
|
end
|
||||||
if M._maximized then
|
if M._maximized then
|
||||||
vim.o.winwidth = M._maximized.width
|
for _, opt in ipairs(M._maximized) do
|
||||||
vim.o.winheight = M._maximized.height
|
vim.o[opt.k] = opt.v
|
||||||
|
end
|
||||||
M._maximized = nil
|
M._maximized = nil
|
||||||
vim.cmd("wincmd =")
|
vim.cmd("wincmd =")
|
||||||
else
|
else
|
||||||
M._maximized = {
|
M._maximized = {}
|
||||||
width = vim.o.winwidth,
|
local function set(k, v)
|
||||||
height = vim.o.winheight,
|
table.insert(M._maximized, 1, { k = k, v = vim.o[k] })
|
||||||
}
|
vim.o[k] = v
|
||||||
vim.o.winwidth = 999
|
end
|
||||||
vim.o.winheight = 999
|
set("winwidth", 999)
|
||||||
|
set("winheight", 999)
|
||||||
|
set("winminwidth", 10)
|
||||||
|
set("winminheight", 4)
|
||||||
|
vim.cmd("wincmd =")
|
||||||
end
|
end
|
||||||
|
-- `QuitPre` seems to be executed even if we quit a normal window, so we don't want that
|
||||||
|
-- `VimLeavePre` might be another consideration? Not sure about differences between the 2
|
||||||
|
vim.api.nvim_create_autocmd("ExitPre", {
|
||||||
|
once = true,
|
||||||
|
group = vim.api.nvim_create_augroup("lazyvim_restore_max_exit_pre", { clear = true }),
|
||||||
|
desc = "Restore width/height when close Neovim while maximized",
|
||||||
|
callback = function()
|
||||||
|
M.maximize(false)
|
||||||
|
end,
|
||||||
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
setmetatable(M, {
|
setmetatable(M, {
|
||||||
|
|
|
||||||
|
|
@ -99,12 +99,18 @@ function M.statuscolumn()
|
||||||
|
|
||||||
local components = { "", "", "" } -- left, middle, right
|
local components = { "", "", "" } -- left, middle, right
|
||||||
|
|
||||||
|
local show_open_folds = vim.g.lazyvim_statuscolumn and vim.g.lazyvim_statuscolumn.folds_open
|
||||||
|
local use_githl = vim.g.lazyvim_statuscolumn and vim.g.lazyvim_statuscolumn.folds_githl
|
||||||
|
|
||||||
if show_signs then
|
if show_signs then
|
||||||
---@type Sign?,Sign?,Sign?
|
---@type Sign?,Sign?,Sign?
|
||||||
local left, right, fold
|
local left, right, fold, githl
|
||||||
for _, s in ipairs(M.get_signs(buf, vim.v.lnum)) do
|
for _, s in ipairs(M.get_signs(buf, vim.v.lnum)) do
|
||||||
if s.name and (s.name:find("GitSign") or s.name:find("MiniDiffSign")) then
|
if s.name and (s.name:find("GitSign") or s.name:find("MiniDiffSign")) then
|
||||||
right = s
|
right = s
|
||||||
|
if use_githl then
|
||||||
|
githl = s["texthl"]
|
||||||
|
end
|
||||||
else
|
else
|
||||||
left = s
|
left = s
|
||||||
end
|
end
|
||||||
|
|
@ -112,9 +118,16 @@ function M.statuscolumn()
|
||||||
if vim.v.virtnum ~= 0 then
|
if vim.v.virtnum ~= 0 then
|
||||||
left = nil
|
left = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
vim.api.nvim_win_call(win, function()
|
vim.api.nvim_win_call(win, function()
|
||||||
if vim.fn.foldclosed(vim.v.lnum) >= 0 then
|
if vim.fn.foldclosed(vim.v.lnum) >= 0 then
|
||||||
fold = { text = vim.opt.fillchars:get().foldclose or "", texthl = "Folded" }
|
fold = { text = vim.opt.fillchars:get().foldclose or "", texthl = githl or "Folded" }
|
||||||
|
elseif
|
||||||
|
show_open_folds
|
||||||
|
and not LazyVim.ui.skip_foldexpr[buf]
|
||||||
|
and vim.treesitter.foldexpr(vim.v.lnum):sub(1, 1) == ">"
|
||||||
|
then -- fold start
|
||||||
|
fold = { text = vim.opt.fillchars:get().foldopen or "", texthl = githl }
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
-- Left: mark or non-git sign
|
-- Left: mark or non-git sign
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue