Compare commits
46 Commits
Author | SHA1 | Date | |
---|---|---|---|
a5f8af912d | |||
f202f573b4 | |||
ac9217b199 | |||
af80811be0 | |||
cfa8c9fbd4 | |||
588240ca09 | |||
49805748d4 | |||
945143a34e | |||
214f5fccdf | |||
7d50bf0626 | |||
5a11d740e1 | |||
b714f28662 | |||
c16fb5d49b | |||
789b1b4fd4 | |||
913902ba36 | |||
2ac3f0daa1 | |||
94c338765c | |||
c1cb4467ec | |||
c452fd730c | |||
827aa5380a | |||
119dcb949a | |||
e1c54ac638 | |||
ab41ff551b | |||
f70d350085 | |||
59495c1871 | |||
8ca7245129 | |||
276b8032be | |||
92106484ed | |||
1699091d70 | |||
2a5ab3109a | |||
dbec83d57a | |||
ad092e96f9 | |||
0255b8fdb1 | |||
a9aea4b5a1 | |||
e51199cffa | |||
3654098520 | |||
81370cf714 | |||
1f4c1964fd | |||
e6443ad7dc | |||
86ba1bc62d | |||
ed93ce9c15 | |||
4742390960 | |||
5a19f6b5fe | |||
32ba8ea3fe | |||
1891b02d9d | |||
6fd2c88024 |
11
.github/dependabot.yml
vendored
Normal file
11
.github/dependabot.yml
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
# To get started with Dependabot version updates, you'll need to specify which
|
||||
# package ecosystems to update and where the package manifests are located.
|
||||
# Please see the documentation for all configuration options:
|
||||
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
|
||||
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions" # See documentation for possible values
|
||||
directory: "/" # Location of package manifests
|
||||
schedule:
|
||||
interval: "weekly"
|
69
CHANGELOG.md
69
CHANGELOG.md
@ -1,5 +1,74 @@
|
||||
# Changelog
|
||||
|
||||
## [12.10.0](https://github.com/LazyVim/LazyVim/compare/v12.9.0...v12.10.0) (2024-06-07)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **prettier:** prettier is now enabled for all supported filetypes and no longer requires a config file by default ([7d50bf0](https://github.com/LazyVim/LazyVim/commit/7d50bf0626f768b4d036b500ff204835fa405b74))
|
||||
* **prettier:** with the prettier & astro extra, prettier will be enabled if the prettier-astro-plugin is available ([214f5fc](https://github.com/LazyVim/LazyVim/commit/214f5fccdf468030b05851ebfbef8394485322fb))
|
||||
* **svelte:** with prettier & svelte extra, prettier will be enabled when prettier-plugin-svelte is available ([945143a](https://github.com/LazyVim/LazyVim/commit/945143a34e298541989a9f050a3fb2ced6646e9e))
|
||||
* **util:** added LazyVim.has_extra ([b714f28](https://github.com/LazyVim/LazyVim/commit/b714f286623cca6e3da31df43c4cf4354a46c36d))
|
||||
* **util:** added LazyVim.memoize ([5a11d74](https://github.com/LazyVim/LazyVim/commit/5a11d740e119d392858b97b69470201e66e66212))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **clojure:** removed rainbow delimiters and fixed some plugin setups. Closes [#3530](https://github.com/LazyVim/LazyVim/issues/3530) ([cfa8c9f](https://github.com/LazyVim/LazyVim/commit/cfa8c9fbd45a36784f76d4842bc385828214ee1c))
|
||||
* **cmp:** don't enable `snippets` source without `nvim-snippets` ([#3527](https://github.com/LazyVim/LazyVim/issues/3527)) ([af80811](https://github.com/LazyVim/LazyVim/commit/af80811be01f5349544a1b21e9dd03f0e25fefca))
|
||||
* **extras:** load prettier extra before svelte/astro ([4980574](https://github.com/LazyVim/LazyVim/commit/49805748d4cefc077cc0c81e864f1757198fc3f4))
|
||||
* **formatting:** remove deprecation check on some options ([c16fb5d](https://github.com/LazyVim/LazyVim/commit/c16fb5d49bfe10041fb36f6ac80a755767b9e6bf))
|
||||
* **prettier:** fixup ([ac9217b](https://github.com/LazyVim/LazyVim/commit/ac9217b1994ad00b488ba73021d89afac03873ee))
|
||||
|
||||
## [12.9.0](https://github.com/LazyVim/LazyVim/compare/v12.8.0...v12.9.0) (2024-06-07)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **autocmd:** enable spell for typst and text file ([#3505](https://github.com/LazyVim/LazyVim/issues/3505)) ([8ca7245](https://github.com/LazyVim/LazyVim/commit/8ca72451298f60e6440ac48293052c5e82bd8ec6))
|
||||
* **docs:** add link to LazyVim For Ambitious Developers to README ([#3504](https://github.com/LazyVim/LazyVim/issues/3504)) ([2a5ab31](https://github.com/LazyVim/LazyVim/commit/2a5ab3109a7e5f3ef98c2a93f24738797c6d9cc6))
|
||||
* **lang:** add clojure support ([#2179](https://github.com/LazyVim/LazyVim/issues/2179)) ([913902b](https://github.com/LazyVim/LazyVim/commit/913902ba362603a4620f8981fdedac7f53816b3a))
|
||||
* **neo-tree:** added l:open and h:close_node to neo-tree. Closes [#3293](https://github.com/LazyVim/LazyVim/issues/3293) ([dbec83d](https://github.com/LazyVim/LazyVim/commit/dbec83d57a1d5936ac860c37e0393a89b7cae7e9))
|
||||
* **options:** when available use treesitter spell regions for spell checking ([276b803](https://github.com/LazyVim/LazyVim/commit/276b8032bedb6e1601ae85ecdfaee63217843b4f))
|
||||
* **sql:** add SQL extra ([#1740](https://github.com/LazyVim/LazyVim/issues/1740)) ([59495c1](https://github.com/LazyVim/LazyVim/commit/59495c18714d8ae4c0b5f7a41dad96e39f9eb189))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **editor:** telescope init error when trouble.nvim is disabled ([#3518](https://github.com/LazyVim/LazyVim/issues/3518)) ([c452fd7](https://github.com/LazyVim/LazyVim/commit/c452fd730c94bfcbb5f9f4af1cae3c851f9456a3))
|
||||
* **lualine:** only show one Lualine component for symbols ([#3514](https://github.com/LazyVim/LazyVim/issues/3514)) ([827aa53](https://github.com/LazyVim/LazyVim/commit/827aa5380a883e6a2a9904c253627489d43d3050)), closes [#3511](https://github.com/LazyVim/LazyVim/issues/3511)
|
||||
* **mini.files:** fix error about `opts.mappings` ([#3507](https://github.com/LazyVim/LazyVim/issues/3507)) ([9210648](https://github.com/LazyVim/LazyVim/commit/92106484ed89efb364568fa27a689bd8be83d066))
|
||||
* removed leader-m, since it is leading to too many issues. Still available at leader-wm ([119dcb9](https://github.com/LazyVim/LazyVim/commit/119dcb949a84d9b10a620c9ad8400c220c5e5adb))
|
||||
|
||||
## [12.8.0](https://github.com/LazyVim/LazyVim/compare/v12.7.0...v12.8.0) (2024-06-06)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **options:** added linebreak=true to default options ([1f4c196](https://github.com/LazyVim/LazyVim/commit/1f4c1964fd9dda8db511bc47bc9a568a6230dff0))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **markdown:** missing markdown-toc in mason ([#3499](https://github.com/LazyVim/LazyVim/issues/3499)) ([a9aea4b](https://github.com/LazyVim/LazyVim/commit/a9aea4b5a14523641aceb23ba6717c07043faca1))
|
||||
* **mason-nvim-dap:** correctly configure to auto-install debug adapters ([#3493](https://github.com/LazyVim/LazyVim/issues/3493)) ([86ba1bc](https://github.com/LazyVim/LazyVim/commit/86ba1bc62d4d39b1c68e267076dfc59315814048))
|
||||
* **octo:** fixed octo's rendering of comment signs when lines are wrapped ([81370cf](https://github.com/LazyVim/LazyVim/commit/81370cf7145edbcb1d2ca79bf014e7342a44b106))
|
||||
* **octo:** load octo on `octo://*` events, so that those buffers work after session restore ([e6443ad](https://github.com/LazyVim/LazyVim/commit/e6443ad7dcb6e3cca286aa6b94eb418e6fa15d8c))
|
||||
* **php:** php gets recommended in every .git repo ([#3496](https://github.com/LazyVim/LazyVim/issues/3496)) ([3654098](https://github.com/LazyVim/LazyVim/commit/365409852080dd9565cdf1afbdf8f4b375b4f052))
|
||||
* **prettier:** fix prettier config detection. Closes [#3497](https://github.com/LazyVim/LazyVim/issues/3497) ([e51199c](https://github.com/LazyVim/LazyVim/commit/e51199cffa290e0bf50a632fcc8eb1ee437801f9))
|
||||
* **prettier:** use prettier to check if prettier should run on the file ([0255b8f](https://github.com/LazyVim/LazyVim/commit/0255b8fdb16e81a84d3642df96bd8d504fcb4a40))
|
||||
|
||||
## [12.7.0](https://github.com/LazyVim/LazyVim/compare/v12.6.0...v12.7.0) (2024-06-06)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **extras:** add thrift lang support ([#2804](https://github.com/LazyVim/LazyVim/issues/2804)) ([5a19f6b](https://github.com/LazyVim/LazyVim/commit/5a19f6b5fe6f88804a7a80649b6587ef30dcdc85))
|
||||
* **extras:** added extra for neogen. Closes [#2881](https://github.com/LazyVim/LazyVim/issues/2881) ([6fd2c88](https://github.com/LazyVim/LazyVim/commit/6fd2c88024447b7eed20ca5461be784df07a3787))
|
||||
* **extras:** added gleam lang support ([#2802](https://github.com/LazyVim/LazyVim/issues/2802)) ([1891b02](https://github.com/LazyVim/LazyVim/commit/1891b02d9d50e935739fdaff6095b04a7760bf99))
|
||||
* **lang:** add elm ([#3023](https://github.com/LazyVim/LazyVim/issues/3023)) ([4742390](https://github.com/LazyVim/LazyVim/commit/4742390960d6fa41ba7ea53cd3cd17a8d7f48084))
|
||||
* **lang:** added php support ([#1450](https://github.com/LazyVim/LazyVim/issues/1450)) ([32ba8ea](https://github.com/LazyVim/LazyVim/commit/32ba8ea3fedb4ace60bc019fc895f4f07d0a60dc))
|
||||
|
||||
## [12.6.0](https://github.com/LazyVim/LazyVim/compare/v12.5.0...v12.6.0) (2024-06-06)
|
||||
|
||||
|
||||
|
21
NEWS.md
21
NEWS.md
@ -2,6 +2,27 @@
|
||||
|
||||
## 11.x
|
||||
|
||||
- **prettier** extra now works for all prettier supported filetypes
|
||||
and will be enabled for astro/svelte extra if you have a proper
|
||||
config file with the correct prettier plugin
|
||||
|
||||
- **New Language Support:** SQL, Clojure, Thrift, Elm, Gleam, Angular,
|
||||
NuShell, Svelte, Kotlin, Astro, Toml and PHP
|
||||
|
||||
- The **typescript** extra now uses `vtsls` instead of `tsserver`
|
||||
|
||||
- **New Extras:** `copilot-chat`, `git`, `octo`, `inc-rename` and `neogen`
|
||||
|
||||
- **Keymaps:**
|
||||
|
||||
- `<leader>gB` to open the current repo in the browser
|
||||
- `gco` and `gcO` to add a comment below or above the current line
|
||||
- `<leader>wm` to toggle window maximize
|
||||
|
||||
- **lazydev.nvim:** faster alternative to `neodev.nvim`
|
||||
|
||||
- **Options:** Added `linebreak=true` to default options.
|
||||
|
||||
- **Neovim >= 0.10** now uses the much faster [lazydev.nvim](https://github.com/folke/lazydev.nvim)
|
||||
instead of `neodev.nvim`
|
||||
|
||||
|
@ -115,6 +115,10 @@ There's a great video created by [@elijahmanor](https://github.com/elijahmanor)
|
||||
|
||||
[](https://www.youtube.com/watch?v=N93cTbtLCIM)
|
||||
|
||||
[@dusty-phillips](https://github.com/dusty-phillips) is working on a book called
|
||||
[LazyVim for Ambitious Developers](https://lazyvim-ambitious-devs.phillips.codes)
|
||||
available for free online.
|
||||
|
||||
## 📂 File Structure
|
||||
|
||||
The files under config will be automatically loaded at the appropriate time,
|
||||
|
@ -1,4 +1,4 @@
|
||||
*LazyVim.txt* For Neovim >= 0.9.0 Last change: 2024 June 06
|
||||
*LazyVim.txt* For Neovim >= 0.9.0 Last change: 2024 June 07
|
||||
|
||||
==============================================================================
|
||||
Table of Contents *LazyVim-table-of-contents*
|
||||
@ -102,6 +102,10 @@ There’s a great video created by @elijahmanor
|
||||
|
||||
<https://www.youtube.com/watch?v=N93cTbtLCIM>
|
||||
|
||||
@dusty-phillips <https://github.com/dusty-phillips> is working on a book called
|
||||
LazyVim for Ambitious Developers
|
||||
<https://lazyvim-ambitious-devs.phillips.codes> available for free online.
|
||||
|
||||
|
||||
FILE STRUCTURE *LazyVim-file-structure*
|
||||
|
||||
@ -125,6 +129,7 @@ Refer to the docs <https://lazyvim.github.io>
|
||||
2. *image*: https://user-images.githubusercontent.com/292349/213447056-92290767-ea16-430c-8727-ce994c93e9cc.png
|
||||
3. *@elijahmanor*:
|
||||
4. *Watch the video*: https://img.youtube.com/vi/N93cTbtLCIM/hqdefault.jpg
|
||||
5. *@dusty-phillips*:
|
||||
|
||||
Generated by panvimdoc <https://github.com/kdheepak/panvimdoc>
|
||||
|
||||
|
@ -66,6 +66,7 @@ vim.api.nvim_create_autocmd("FileType", {
|
||||
"checkhealth",
|
||||
"neotest-summary",
|
||||
"neotest-output-panel",
|
||||
"dbout",
|
||||
},
|
||||
callback = function(event)
|
||||
vim.bo[event.buf].buflisted = false
|
||||
@ -85,7 +86,7 @@ vim.api.nvim_create_autocmd("FileType", {
|
||||
-- wrap and check for spell in text filetypes
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
group = augroup("wrap_spell"),
|
||||
pattern = { "gitcommit", "markdown" },
|
||||
pattern = { "*.txt", "*.tex", "*.typ", "gitcommit", "markdown" },
|
||||
callback = function()
|
||||
vim.opt_local.wrap = true
|
||||
vim.opt_local.spell = true
|
||||
|
@ -182,7 +182,6 @@ map("n", "<leader>w|", "<C-W>v", { desc = "Split Window Right", remap = true })
|
||||
map("n", "<leader>-", "<C-W>s", { desc = "Split Window Below", remap = true })
|
||||
map("n", "<leader>|", "<C-W>v", { desc = "Split Window Right", remap = true })
|
||||
map("n", "<leader>wm", function() LazyVim.toggle.maximize() end, { desc = "Maximize Toggle" })
|
||||
map("n", "<leader>m", function() LazyVim.toggle.maximize() end, { desc = "Maximize Toggle" })
|
||||
|
||||
-- tabs
|
||||
map("n", "<leader><tab>l", "<cmd>tablast<cr>", { desc = "Last Tab" })
|
||||
|
@ -64,6 +64,7 @@ opt.grepprg = "rg --vimgrep"
|
||||
opt.ignorecase = true -- Ignore case
|
||||
opt.inccommand = "nosplit" -- preview incremental substitute
|
||||
opt.laststatus = 3 -- global statusline
|
||||
opt.linebreak = true -- Wrap lines at convenient points
|
||||
opt.list = true -- Show some invisible characters (tabs...
|
||||
opt.mouse = "a" -- Enable mouse mode
|
||||
opt.number = true -- Print line number
|
||||
@ -81,6 +82,7 @@ opt.signcolumn = "yes" -- Always show the signcolumn, otherwise it would shift t
|
||||
opt.smartcase = true -- Don't ignore case with capitals
|
||||
opt.smartindent = true -- Insert indents automatically
|
||||
opt.spelllang = { "en" }
|
||||
opt.spelloptions:append("noplainbuffer")
|
||||
opt.splitbelow = true -- Put new windows below current
|
||||
opt.splitkeep = "screen"
|
||||
opt.splitright = true -- Put new windows right of current
|
||||
|
@ -19,7 +19,6 @@ return {
|
||||
-- auto_brackets = { "python" }
|
||||
-- }
|
||||
-- ```
|
||||
|
||||
opts = function()
|
||||
vim.api.nvim_set_hl(0, "CmpGhostText", { link = "Comment", default = true })
|
||||
local cmp = require("cmp")
|
||||
@ -112,7 +111,9 @@ return {
|
||||
return LazyVim.cmp.expand(item.body)
|
||||
end,
|
||||
}
|
||||
table.insert(opts.sources, { name = "snippets" })
|
||||
if LazyVim.has("nvim-snippets") then
|
||||
table.insert(opts.sources, { name = "snippets" })
|
||||
end
|
||||
end,
|
||||
keys = {
|
||||
{
|
||||
|
@ -72,6 +72,8 @@ return {
|
||||
},
|
||||
window = {
|
||||
mappings = {
|
||||
["l"] = "open",
|
||||
["h"] = "close_node",
|
||||
["<space>"] = "none",
|
||||
["Y"] = {
|
||||
function(state)
|
||||
@ -238,7 +240,9 @@ return {
|
||||
opts = function()
|
||||
local actions = require("telescope.actions")
|
||||
|
||||
local open_with_trouble = require("trouble.sources.telescope").open
|
||||
local open_with_trouble = function(...)
|
||||
return require("trouble.sources.telescope").open(...)
|
||||
end
|
||||
local find_files_no_ignore = function()
|
||||
local action_state = require("telescope.actions.state")
|
||||
local line = action_state.get_current_line()
|
||||
|
35
lua/lazyvim/plugins/extras/coding/neogen.lua
Normal file
35
lua/lazyvim/plugins/extras/coding/neogen.lua
Normal file
@ -0,0 +1,35 @@
|
||||
return {
|
||||
"danymat/neogen",
|
||||
cmd = "Neogen",
|
||||
keys = {
|
||||
{
|
||||
"<leader>cn",
|
||||
function()
|
||||
require("neogen").generate()
|
||||
end,
|
||||
desc = "Generate Annotations (Neogen)",
|
||||
},
|
||||
},
|
||||
opts = function(_, opts)
|
||||
if opts.snippet_engine ~= nil then
|
||||
return
|
||||
end
|
||||
|
||||
local map = {
|
||||
["LuaSnip"] = "luasnip",
|
||||
["nvim-snippy"] = "snippy",
|
||||
["vim-vsnip"] = "vsnip",
|
||||
}
|
||||
|
||||
for plugin, engine in pairs(map) do
|
||||
if LazyVim.has(plugin) then
|
||||
opts.snippet_engine = engine
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
if vim.snippet then
|
||||
opts.snippet_engine = "nvim"
|
||||
end
|
||||
end,
|
||||
}
|
@ -11,112 +11,114 @@ local function get_args(config)
|
||||
end
|
||||
|
||||
return {
|
||||
"mfussenegger/nvim-dap",
|
||||
recommended = true,
|
||||
desc = "Debugging support. Requires language specific adapters to be configured. (see lang extras)",
|
||||
{
|
||||
"mfussenegger/nvim-dap",
|
||||
recommended = true,
|
||||
desc = "Debugging support. Requires language specific adapters to be configured. (see lang extras)",
|
||||
|
||||
dependencies = {
|
||||
dependencies = {
|
||||
|
||||
-- fancy UI for the debugger
|
||||
{
|
||||
"rcarriga/nvim-dap-ui",
|
||||
dependencies = { "nvim-neotest/nvim-nio" },
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "<leader>du", function() require("dapui").toggle({ }) end, desc = "Dap UI" },
|
||||
{ "<leader>de", function() require("dapui").eval() end, desc = "Eval", mode = {"n", "v"} },
|
||||
},
|
||||
opts = {},
|
||||
config = function(_, opts)
|
||||
local dap = require("dap")
|
||||
local dapui = require("dapui")
|
||||
dapui.setup(opts)
|
||||
dap.listeners.after.event_initialized["dapui_config"] = function()
|
||||
dapui.open({})
|
||||
end
|
||||
dap.listeners.before.event_terminated["dapui_config"] = function()
|
||||
dapui.close({})
|
||||
end
|
||||
dap.listeners.before.event_exited["dapui_config"] = function()
|
||||
dapui.close({})
|
||||
end
|
||||
end,
|
||||
},
|
||||
|
||||
-- virtual text for the debugger
|
||||
{
|
||||
"theHamsta/nvim-dap-virtual-text",
|
||||
opts = {},
|
||||
},
|
||||
|
||||
-- mason.nvim integration
|
||||
{
|
||||
"jay-babu/mason-nvim-dap.nvim",
|
||||
dependencies = "mason.nvim",
|
||||
cmd = { "DapInstall", "DapUninstall" },
|
||||
opts = {
|
||||
-- Makes a best effort to setup the various debuggers with
|
||||
-- reasonable debug configurations
|
||||
automatic_installation = true,
|
||||
|
||||
-- You can provide additional configuration to the handlers,
|
||||
-- see mason-nvim-dap README for more information
|
||||
handlers = {},
|
||||
|
||||
-- You'll need to check that you have the required things installed
|
||||
-- online, please don't ask me how to install them :)
|
||||
ensure_installed = {
|
||||
-- Update this to ensure that you have the debuggers for the langs you want
|
||||
-- fancy UI for the debugger
|
||||
{
|
||||
"rcarriga/nvim-dap-ui",
|
||||
dependencies = { "nvim-neotest/nvim-nio" },
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "<leader>du", function() require("dapui").toggle({ }) end, desc = "Dap UI" },
|
||||
{ "<leader>de", function() require("dapui").eval() end, desc = "Eval", mode = {"n", "v"} },
|
||||
},
|
||||
opts = {},
|
||||
config = function(_, opts)
|
||||
local dap = require("dap")
|
||||
local dapui = require("dapui")
|
||||
dapui.setup(opts)
|
||||
dap.listeners.after.event_initialized["dapui_config"] = function()
|
||||
dapui.open({})
|
||||
end
|
||||
dap.listeners.before.event_terminated["dapui_config"] = function()
|
||||
dapui.close({})
|
||||
end
|
||||
dap.listeners.before.event_exited["dapui_config"] = function()
|
||||
dapui.close({})
|
||||
end
|
||||
end,
|
||||
},
|
||||
|
||||
-- virtual text for the debugger
|
||||
{
|
||||
"theHamsta/nvim-dap-virtual-text",
|
||||
opts = {},
|
||||
},
|
||||
},
|
||||
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "<leader>d", "", desc = "+debug" },
|
||||
{ "<leader>dB", function() require("dap").set_breakpoint(vim.fn.input('Breakpoint condition: ')) end, desc = "Breakpoint Condition" },
|
||||
{ "<leader>db", function() require("dap").toggle_breakpoint() end, desc = "Toggle Breakpoint" },
|
||||
{ "<leader>dc", function() require("dap").continue() end, desc = "Continue" },
|
||||
{ "<leader>da", function() require("dap").continue({ before = get_args }) end, desc = "Run with Args" },
|
||||
{ "<leader>dC", function() require("dap").run_to_cursor() end, desc = "Run to Cursor" },
|
||||
{ "<leader>dg", function() require("dap").goto_() end, desc = "Go to Line (No Execute)" },
|
||||
{ "<leader>di", function() require("dap").step_into() end, desc = "Step Into" },
|
||||
{ "<leader>dj", function() require("dap").down() end, desc = "Down" },
|
||||
{ "<leader>dk", function() require("dap").up() end, desc = "Up" },
|
||||
{ "<leader>dl", function() require("dap").run_last() end, desc = "Run Last" },
|
||||
{ "<leader>do", function() require("dap").step_out() end, desc = "Step Out" },
|
||||
{ "<leader>dO", function() require("dap").step_over() end, desc = "Step Over" },
|
||||
{ "<leader>dp", function() require("dap").pause() end, desc = "Pause" },
|
||||
{ "<leader>dr", function() require("dap").repl.toggle() end, desc = "Toggle REPL" },
|
||||
{ "<leader>ds", function() require("dap").session() end, desc = "Session" },
|
||||
{ "<leader>dt", function() require("dap").terminate() end, desc = "Terminate" },
|
||||
{ "<leader>dw", function() require("dap.ui.widgets").hover() end, desc = "Widgets" },
|
||||
},
|
||||
|
||||
config = function()
|
||||
local Config = require("lazyvim.config")
|
||||
vim.api.nvim_set_hl(0, "DapStoppedLine", { default = true, link = "Visual" })
|
||||
|
||||
for name, sign in pairs(Config.icons.dap) do
|
||||
sign = type(sign) == "table" and sign or { sign }
|
||||
vim.fn.sign_define(
|
||||
"Dap" .. name,
|
||||
{ text = sign[1], texthl = sign[2] or "DiagnosticInfo", linehl = sign[3], numhl = sign[3] }
|
||||
)
|
||||
end
|
||||
|
||||
-- setup dap config by VsCode launch.json file
|
||||
local vscode = require("dap.ext.vscode")
|
||||
local _filetypes = require("mason-nvim-dap.mappings.filetypes")
|
||||
local filetypes = vim.tbl_deep_extend("force", _filetypes, {
|
||||
["node"] = { "javascriptreact", "typescriptreact", "typescript", "javascript" },
|
||||
["pwa-node"] = { "javascriptreact", "typescriptreact", "typescript", "javascript" },
|
||||
})
|
||||
local json = require("plenary.json")
|
||||
vscode.json_decode = function(str)
|
||||
return vim.json.decode(json.json_strip_comments(str))
|
||||
end
|
||||
vscode.load_launchjs(nil, filetypes)
|
||||
end,
|
||||
},
|
||||
|
||||
-- mason.nvim integration
|
||||
{
|
||||
"jay-babu/mason-nvim-dap.nvim",
|
||||
dependencies = "mason.nvim",
|
||||
cmd = { "DapInstall", "DapUninstall" },
|
||||
opts = {
|
||||
-- Makes a best effort to setup the various debuggers with
|
||||
-- reasonable debug configurations
|
||||
automatic_installation = true,
|
||||
|
||||
-- You can provide additional configuration to the handlers,
|
||||
-- see mason-nvim-dap README for more information
|
||||
handlers = {},
|
||||
|
||||
-- You'll need to check that you have the required things installed
|
||||
-- online, please don't ask me how to install them :)
|
||||
ensure_installed = {
|
||||
-- Update this to ensure that you have the debuggers for the langs you want
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "<leader>d", "", desc = "+debug" },
|
||||
{ "<leader>dB", function() require("dap").set_breakpoint(vim.fn.input('Breakpoint condition: ')) end, desc = "Breakpoint Condition" },
|
||||
{ "<leader>db", function() require("dap").toggle_breakpoint() end, desc = "Toggle Breakpoint" },
|
||||
{ "<leader>dc", function() require("dap").continue() end, desc = "Continue" },
|
||||
{ "<leader>da", function() require("dap").continue({ before = get_args }) end, desc = "Run with Args" },
|
||||
{ "<leader>dC", function() require("dap").run_to_cursor() end, desc = "Run to Cursor" },
|
||||
{ "<leader>dg", function() require("dap").goto_() end, desc = "Go to Line (No Execute)" },
|
||||
{ "<leader>di", function() require("dap").step_into() end, desc = "Step Into" },
|
||||
{ "<leader>dj", function() require("dap").down() end, desc = "Down" },
|
||||
{ "<leader>dk", function() require("dap").up() end, desc = "Up" },
|
||||
{ "<leader>dl", function() require("dap").run_last() end, desc = "Run Last" },
|
||||
{ "<leader>do", function() require("dap").step_out() end, desc = "Step Out" },
|
||||
{ "<leader>dO", function() require("dap").step_over() end, desc = "Step Over" },
|
||||
{ "<leader>dp", function() require("dap").pause() end, desc = "Pause" },
|
||||
{ "<leader>dr", function() require("dap").repl.toggle() end, desc = "Toggle REPL" },
|
||||
{ "<leader>ds", function() require("dap").session() end, desc = "Session" },
|
||||
{ "<leader>dt", function() require("dap").terminate() end, desc = "Terminate" },
|
||||
{ "<leader>dw", function() require("dap.ui.widgets").hover() end, desc = "Widgets" },
|
||||
},
|
||||
|
||||
config = function()
|
||||
local Config = require("lazyvim.config")
|
||||
vim.api.nvim_set_hl(0, "DapStoppedLine", { default = true, link = "Visual" })
|
||||
|
||||
for name, sign in pairs(Config.icons.dap) do
|
||||
sign = type(sign) == "table" and sign or { sign }
|
||||
vim.fn.sign_define(
|
||||
"Dap" .. name,
|
||||
{ text = sign[1], texthl = sign[2] or "DiagnosticInfo", linehl = sign[3], numhl = sign[3] }
|
||||
)
|
||||
end
|
||||
|
||||
-- setup dap config by VsCode launch.json file
|
||||
local vscode = require("dap.ext.vscode")
|
||||
local _filetypes = require("mason-nvim-dap.mappings.filetypes")
|
||||
local filetypes = vim.tbl_deep_extend("force", _filetypes, {
|
||||
["node"] = { "javascriptreact", "typescriptreact", "typescript", "javascript" },
|
||||
["pwa-node"] = { "javascriptreact", "typescriptreact", "typescript", "javascript" },
|
||||
})
|
||||
local json = require("plenary.json")
|
||||
vscode.json_decode = function(str)
|
||||
return vim.json.decode(json.json_strip_comments(str))
|
||||
end
|
||||
vscode.load_launchjs(nil, filetypes)
|
||||
end,
|
||||
}
|
||||
|
@ -104,27 +104,29 @@ return {
|
||||
"nvim-lualine/lualine.nvim",
|
||||
optional = true,
|
||||
opts = function(_, opts)
|
||||
table.insert(opts.sections.lualine_c, {
|
||||
"aerial",
|
||||
sep = " ", -- separator between symbols
|
||||
sep_icon = "", -- separator between icon and symbol
|
||||
if not vim.g.trouble_lualine then
|
||||
table.insert(opts.sections.lualine_c, {
|
||||
"aerial",
|
||||
sep = " ", -- separator between symbols
|
||||
sep_icon = "", -- separator between icon and symbol
|
||||
|
||||
-- The number of symbols to render top-down. In order to render only 'N' last
|
||||
-- symbols, negative numbers may be supplied. For instance, 'depth = -1' can
|
||||
-- be used in order to render only current symbol.
|
||||
depth = 5,
|
||||
-- The number of symbols to render top-down. In order to render only 'N' last
|
||||
-- symbols, negative numbers may be supplied. For instance, 'depth = -1' can
|
||||
-- be used in order to render only current symbol.
|
||||
depth = 5,
|
||||
|
||||
-- When 'dense' mode is on, icons are not rendered near their symbols. Only
|
||||
-- a single icon that represents the kind of current symbol is rendered at
|
||||
-- the beginning of status line.
|
||||
dense = false,
|
||||
-- When 'dense' mode is on, icons are not rendered near their symbols. Only
|
||||
-- a single icon that represents the kind of current symbol is rendered at
|
||||
-- the beginning of status line.
|
||||
dense = false,
|
||||
|
||||
-- The separator to be used to separate symbols in dense mode.
|
||||
dense_sep = ".",
|
||||
-- The separator to be used to separate symbols in dense mode.
|
||||
dense_sep = ".",
|
||||
|
||||
-- Color the symbol icons.
|
||||
colored = true,
|
||||
})
|
||||
-- Color the symbol icons.
|
||||
colored = true,
|
||||
})
|
||||
end
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
@ -1,6 +1,14 @@
|
||||
return {
|
||||
"echasnovski/mini.files",
|
||||
opts = {
|
||||
mappings = {
|
||||
toggle_hidden = "g.",
|
||||
change_cwd = "gc",
|
||||
go_in_horizontal = "<C-w>s",
|
||||
go_in_vertical = "<C-w>v",
|
||||
go_in_horizontal_plus = "<C-w>S",
|
||||
go_in_vertical_plus = "<C-w>V",
|
||||
},
|
||||
windows = {
|
||||
preview = true,
|
||||
width_focus = 30,
|
||||
@ -82,22 +90,17 @@ return {
|
||||
|
||||
vim.keymap.set(
|
||||
"n",
|
||||
opts.mappings.toggle_hidden or "g.",
|
||||
opts.mappings.toggle_hidden,
|
||||
toggle_dotfiles,
|
||||
{ buffer = buf_id, desc = "Toggle hidden files" }
|
||||
)
|
||||
|
||||
vim.keymap.set(
|
||||
"n",
|
||||
opts.mappings.change_cwd or "gc",
|
||||
files_set_cwd,
|
||||
{ buffer = args.data.buf_id, desc = "Set cwd" }
|
||||
)
|
||||
vim.keymap.set("n", opts.mappings.change_cwd, files_set_cwd, { buffer = args.data.buf_id, desc = "Set cwd" })
|
||||
|
||||
map_split(buf_id, opts.mappings.go_in_horizontal or "<C-w>s", "horizontal", false)
|
||||
map_split(buf_id, opts.mappings.go_in_vertical or "<C-w>v", "vertical", false)
|
||||
map_split(buf_id, opts.mappings.go_in_horizontal_plus or "<C-w>S", "horizontal", true)
|
||||
map_split(buf_id, opts.mappings.go_in_vertical_plus or "<C-w>V", "vertical", true)
|
||||
map_split(buf_id, opts.mappings.go_in_horizontal, "horizontal", false)
|
||||
map_split(buf_id, opts.mappings.go_in_vertical, "vertical", false)
|
||||
map_split(buf_id, opts.mappings.go_in_horizontal_plus, "horizontal", true)
|
||||
map_split(buf_id, opts.mappings.go_in_vertical_plus, "vertical", true)
|
||||
end,
|
||||
})
|
||||
|
||||
|
@ -29,14 +29,16 @@ return {
|
||||
"nvim-lualine/lualine.nvim",
|
||||
optional = true,
|
||||
opts = function(_, opts)
|
||||
table.insert(opts.sections.lualine_c, {
|
||||
function()
|
||||
return require("nvim-navic").get_location()
|
||||
end,
|
||||
cond = function()
|
||||
return package.loaded["nvim-navic"] and require("nvim-navic").is_available()
|
||||
end,
|
||||
})
|
||||
if not vim.g.trouble_lualine then
|
||||
table.insert(opts.sections.lualine_c, {
|
||||
function()
|
||||
return require("nvim-navic").get_location()
|
||||
end,
|
||||
cond = function()
|
||||
return package.loaded["nvim-navic"] and require("nvim-navic").is_available()
|
||||
end,
|
||||
})
|
||||
end
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
@ -1,23 +1,88 @@
|
||||
---@diagnostic disable: inject-field
|
||||
if lazyvim_docs then
|
||||
-- By default, prettier will only be used for formatting
|
||||
-- if a prettier configuration file is found in the project.
|
||||
-- Set to `false` to always use prettier for supported filetypes.
|
||||
vim.g.lazyvim_prettier_needs_config = true
|
||||
-- Enable the option to require a Prettier config file
|
||||
-- If no prettier config file is found, the formatter will not be used
|
||||
vim.g.lazyvim_prettier_needs_config = false
|
||||
end
|
||||
|
||||
local needs_config = vim.g.lazyvim_prettier_needs_config ~= false
|
||||
---@alias ConformCtx {buf: number, filename: string, dirname: string}
|
||||
local M = {}
|
||||
|
||||
-- local check = vim.g.lazyvim_prettier
|
||||
local supported = {
|
||||
"css",
|
||||
"graphql",
|
||||
"handlebars",
|
||||
"html",
|
||||
"javascript",
|
||||
"javascriptreact",
|
||||
"json",
|
||||
"jsonc",
|
||||
"less",
|
||||
"markdown",
|
||||
"markdown.mdx",
|
||||
"scss",
|
||||
"typescript",
|
||||
"typescriptreact",
|
||||
"vue",
|
||||
"yaml",
|
||||
}
|
||||
|
||||
local enabled = {} ---@type table<string, boolean>
|
||||
--- Checks if a Prettier config file exists for the given context
|
||||
---@param ctx ConformCtx
|
||||
function M.has_config(ctx)
|
||||
vim.fn.system({ "prettier", "--find-config-path", ctx.filename })
|
||||
return vim.v.shell_error == 0
|
||||
end
|
||||
|
||||
--- Checks if a parser can be inferred for the given context:
|
||||
--- * If the filetype is in the supported list, return true
|
||||
--- * Otherwise, check if a parser can be inferred
|
||||
---@param ctx ConformCtx
|
||||
function M.has_parser(ctx)
|
||||
local ft = vim.bo[ctx.buf].filetype --[[@as string]]
|
||||
-- default filetypes are always supported
|
||||
if vim.tbl_contains(supported, ft) then
|
||||
return true
|
||||
end
|
||||
-- otherwise, check if a parser can be inferred
|
||||
local ret = vim.fn.system({ "prettier", "--file-info", ctx.filename })
|
||||
---@type boolean, string?
|
||||
local ok, parser = pcall(function()
|
||||
return vim.fn.json_decode(ret).inferredParser
|
||||
end)
|
||||
return ok and parser and parser ~= vim.NIL
|
||||
end
|
||||
|
||||
M.has_config = LazyVim.memoize(M.has_config)
|
||||
M.has_parser = LazyVim.memoize(M.has_parser)
|
||||
|
||||
return {
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = { ensure_installed = { "prettier" } },
|
||||
},
|
||||
|
||||
-- conform
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
optional = true,
|
||||
---@param opts ConformOpts
|
||||
opts = function(_, opts)
|
||||
table.insert(opts.ensure_installed, "prettier")
|
||||
opts.formatters_by_ft = opts.formatters_by_ft or {}
|
||||
for _, ft in ipairs(supported) do
|
||||
opts.formatters_by_ft[ft] = { "prettier" }
|
||||
end
|
||||
|
||||
opts.formatters = opts.formatters or {}
|
||||
opts.formatters.prettier = {
|
||||
condition = function(_, ctx)
|
||||
return M.has_parser(ctx) and (vim.g.lazyvim_prettier_needs_config ~= true or M.has_config(ctx))
|
||||
end,
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
-- none-ls support
|
||||
{
|
||||
"nvimtools/none-ls.nvim",
|
||||
optional = true,
|
||||
@ -27,44 +92,4 @@ return {
|
||||
table.insert(opts.sources, nls.builtins.formatting.prettier)
|
||||
end,
|
||||
},
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
optional = true,
|
||||
opts = {
|
||||
formatters_by_ft = {
|
||||
["javascript"] = { "prettier" },
|
||||
["javascriptreact"] = { "prettier" },
|
||||
["typescript"] = { "prettier" },
|
||||
["typescriptreact"] = { "prettier" },
|
||||
["vue"] = { "prettier" },
|
||||
["css"] = { "prettier" },
|
||||
["scss"] = { "prettier" },
|
||||
["less"] = { "prettier" },
|
||||
["html"] = { "prettier" },
|
||||
["json"] = { "prettier" },
|
||||
["jsonc"] = { "prettier" },
|
||||
["yaml"] = { "prettier" },
|
||||
["markdown"] = { "prettier" },
|
||||
["markdown.mdx"] = { "prettier" },
|
||||
["graphql"] = { "prettier" },
|
||||
["handlebars"] = { "prettier" },
|
||||
["svelte"] = { "prettier" },
|
||||
},
|
||||
formatters = {
|
||||
prettier = {
|
||||
condition = function(_, ctx)
|
||||
if not needs_config then
|
||||
return true
|
||||
end
|
||||
if enabled[ctx.filename] == nil then
|
||||
enabled[ctx.filename] = vim.fs.find(function(name, path)
|
||||
return name:match("^%.prettierrc%.") or name:match("^prettier%.config%.")
|
||||
end, { path = ctx.filename, upward = true })[1] ~= nil
|
||||
end
|
||||
return enabled[ctx.filename]
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
@ -7,11 +7,7 @@ return {
|
||||
end,
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = function(_, opts)
|
||||
opts.ensure_installed = opts.ensure_installed or {}
|
||||
-- for ansiblels validation
|
||||
vim.list_extend(opts.ensure_installed, { "ansible-lint" })
|
||||
end,
|
||||
opts = { ensure_installed = { "ansible-lint" } },
|
||||
},
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
|
@ -15,11 +15,7 @@ return {
|
||||
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function(_, opts)
|
||||
if type(opts.ensure_installed) == "table" then
|
||||
vim.list_extend(opts.ensure_installed, { "astro" })
|
||||
end
|
||||
end,
|
||||
opts = { ensure_installed = { "astro" } },
|
||||
},
|
||||
|
||||
-- LSP Servers
|
||||
@ -45,4 +41,14 @@ return {
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"conform.nvim",
|
||||
opts = function(_, opts)
|
||||
if LazyVim.has_extra("formatting.prettier") then
|
||||
opts.formatters_by_ft = opts.formatters_by_ft or {}
|
||||
opts.formatters_by_ft.astro = { "prettier" }
|
||||
end
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
@ -16,11 +16,7 @@ return {
|
||||
-- Add C/C++ to treesitter
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function(_, opts)
|
||||
if type(opts.ensure_installed) == "table" then
|
||||
vim.list_extend(opts.ensure_installed, { "cpp" })
|
||||
end
|
||||
end,
|
||||
opts = { ensure_installed = { "cpp" } },
|
||||
},
|
||||
|
||||
{
|
||||
@ -120,11 +116,7 @@ return {
|
||||
-- Ensure C/C++ debugger is installed
|
||||
"williamboman/mason.nvim",
|
||||
optional = true,
|
||||
opts = function(_, opts)
|
||||
if type(opts.ensure_installed) == "table" then
|
||||
vim.list_extend(opts.ensure_installed, { "codelldb" })
|
||||
end
|
||||
end,
|
||||
opts = { ensure_installed = { "codelldb" } },
|
||||
},
|
||||
opts = function()
|
||||
local dap = require("dap")
|
||||
|
99
lua/lazyvim/plugins/extras/lang/clojure.lua
Normal file
99
lua/lazyvim/plugins/extras/lang/clojure.lua
Normal file
@ -0,0 +1,99 @@
|
||||
return {
|
||||
recommended = function()
|
||||
return LazyVim.extras.wants({
|
||||
ft = { "clojure", "edn" },
|
||||
root = { "project.clj", "deps.edn", "build.boot", "shadow-cljs.edn", "bb.edn" },
|
||||
})
|
||||
end,
|
||||
|
||||
-- Add Clojure & related to treesitter
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = { ensure_installed = { "clojure" } },
|
||||
},
|
||||
|
||||
-- Extend auto completion
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
optional = true,
|
||||
dependencies = {
|
||||
"PaterJason/cmp-conjure",
|
||||
},
|
||||
opts = function(_, opts)
|
||||
if type(opts.sources) == "table" then
|
||||
vim.list_extend(opts.sources, { name = "clojure" })
|
||||
end
|
||||
end,
|
||||
},
|
||||
|
||||
-- Add s-exp mappings
|
||||
{ "PaterJason/nvim-treesitter-sexp", opts = {}, event = "LazyFile" },
|
||||
|
||||
-- Colorize the output of the log buffer
|
||||
{
|
||||
"m00qek/baleia.nvim",
|
||||
opts = {
|
||||
line_starts_at = 3,
|
||||
},
|
||||
config = function(_, opts)
|
||||
vim.g.conjure_baleia = require("baleia").setup(opts)
|
||||
|
||||
vim.api.nvim_create_user_command("BaleiaColorize", function()
|
||||
vim.g.conjure_baleia.once(vim.api.nvim_get_current_buf())
|
||||
end, { bang = true })
|
||||
|
||||
vim.api.nvim_create_user_command("BaleiaLogs", vim.g.conjure_baleia.logger.show, { bang = true })
|
||||
end,
|
||||
},
|
||||
|
||||
-- Use Clojure REPL
|
||||
{
|
||||
"Olical/conjure",
|
||||
event = "LazyFile",
|
||||
config = function(_, _)
|
||||
require("conjure.main").main()
|
||||
require("conjure.mapping")["on-filetype"]()
|
||||
end,
|
||||
init = function()
|
||||
-- print color codes if baleia.nvim is available
|
||||
local colorize = require("lazyvim.util").has("baleia.nvim")
|
||||
|
||||
if colorize then
|
||||
vim.g["conjure#log#strip_ansi_escape_sequences_line_limit"] = 0
|
||||
else
|
||||
vim.g["conjure#log#strip_ansi_escape_sequences_line_limit"] = 1
|
||||
end
|
||||
|
||||
-- disable diagnostics in log buffer and colorize it
|
||||
vim.api.nvim_create_autocmd({ "BufWinEnter" }, {
|
||||
pattern = "conjure-log-*",
|
||||
callback = function()
|
||||
local buffer = vim.api.nvim_get_current_buf()
|
||||
vim.diagnostic.enable(false, { bufnr = buffer })
|
||||
|
||||
if colorize and vim.g.conjure_baleia then
|
||||
vim.g.conjure_baleia.automatically(buffer)
|
||||
end
|
||||
|
||||
vim.keymap.set(
|
||||
{ "n", "v" },
|
||||
"[c",
|
||||
"<CMD>call search('^; -\\+$', 'bw')<CR>",
|
||||
{ silent = true, buffer = true, desc = "Jumps to the begining of previous evaluation output." }
|
||||
)
|
||||
vim.keymap.set(
|
||||
{ "n", "v" },
|
||||
"]c",
|
||||
"<CMD>call search('^; -\\+$', 'w')<CR>",
|
||||
{ silent = true, buffer = true, desc = "Jumps to the begining of next evaluation output." }
|
||||
)
|
||||
end,
|
||||
})
|
||||
|
||||
-- prefer LSP for jump-to-definition and symbol-doc, and use conjure
|
||||
-- alternatives with <localleader>K and <localleader>gd
|
||||
vim.g["conjure#mapping#doc_word"] = "K"
|
||||
vim.g["conjure#mapping#def_word"] = "gd"
|
||||
end,
|
||||
},
|
||||
}
|
@ -7,11 +7,7 @@ return {
|
||||
end,
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function(_, opts)
|
||||
if type(opts.ensure_installed) == "table" then
|
||||
vim.list_extend(opts.ensure_installed, { "cmake" })
|
||||
end
|
||||
end,
|
||||
opts = { ensure_installed = { "cmake" } },
|
||||
},
|
||||
{
|
||||
"nvimtools/none-ls.nvim",
|
||||
@ -34,10 +30,7 @@ return {
|
||||
},
|
||||
{
|
||||
"mason.nvim",
|
||||
opts = function(_, opts)
|
||||
opts.ensure_installed = opts.ensure_installed or {}
|
||||
vim.list_extend(opts.ensure_installed, { "cmakelang", "cmakelint" })
|
||||
end,
|
||||
opts = { ensure_installed = { "cmakelang", "cmakelint" } },
|
||||
},
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
|
@ -7,18 +7,11 @@ return {
|
||||
end,
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function(_, opts)
|
||||
if type(opts.ensure_installed) == "table" then
|
||||
vim.list_extend(opts.ensure_installed, { "dockerfile" })
|
||||
end
|
||||
end,
|
||||
opts = { ensure_installed = { "dockerfile" } },
|
||||
},
|
||||
{
|
||||
"mason.nvim",
|
||||
opts = function(_, opts)
|
||||
opts.ensure_installed = opts.ensure_installed or {}
|
||||
vim.list_extend(opts.ensure_installed, { "hadolint" })
|
||||
end,
|
||||
opts = { ensure_installed = { "hadolint" } },
|
||||
},
|
||||
{
|
||||
"nvimtools/none-ls.nvim",
|
||||
|
@ -7,13 +7,7 @@ return {
|
||||
end,
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function(_, opts)
|
||||
vim.list_extend(opts.ensure_installed, {
|
||||
"elixir",
|
||||
"heex",
|
||||
"eex",
|
||||
})
|
||||
end,
|
||||
opts = { ensure_installed = { "elixir", "heex", "eex" } },
|
||||
},
|
||||
{
|
||||
"nvim-neotest/neotest",
|
||||
|
35
lua/lazyvim/plugins/extras/lang/elm.lua
Normal file
35
lua/lazyvim/plugins/extras/lang/elm.lua
Normal file
@ -0,0 +1,35 @@
|
||||
return {
|
||||
recommended = {
|
||||
ft = { "elm" },
|
||||
root = { "elm.json" },
|
||||
},
|
||||
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = { ensure_installed = { "elm" } },
|
||||
},
|
||||
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = { ensure_installed = { "elm-format" } },
|
||||
},
|
||||
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
optional = true,
|
||||
opts = {
|
||||
formatters_by_ft = {
|
||||
elm = { "elm_format" },
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = {
|
||||
servers = {
|
||||
elmls = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
@ -5,19 +5,13 @@ return {
|
||||
-- Treesitter git support
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function(_, opts)
|
||||
opts.ensure_installed = opts.ensure_installed or {}
|
||||
vim.list_extend(opts.ensure_installed, { "git_config", "gitcommit", "git_rebase", "gitignore", "gitattributes" })
|
||||
end,
|
||||
opts = { ensure_installed = { "git_config", "gitcommit", "git_rebase", "gitignore", "gitattributes" } },
|
||||
},
|
||||
|
||||
{
|
||||
"nvim-cmp",
|
||||
dependencies = {
|
||||
{
|
||||
"petertriho/cmp-git",
|
||||
opts = {},
|
||||
},
|
||||
{ "petertriho/cmp-git", opts = {} },
|
||||
},
|
||||
---@module 'cmp'
|
||||
---@param opts cmp.ConfigSchema
|
||||
|
20
lua/lazyvim/plugins/extras/lang/gleam.lua
Normal file
20
lua/lazyvim/plugins/extras/lang/gleam.lua
Normal file
@ -0,0 +1,20 @@
|
||||
return {
|
||||
recommended = {
|
||||
ft = "gleam",
|
||||
root = "gleam.toml",
|
||||
},
|
||||
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = { ensure_installed = { "gleam" } },
|
||||
},
|
||||
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = {
|
||||
servers = {
|
||||
gleam = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
@ -7,14 +7,7 @@ return {
|
||||
end,
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function(_, opts)
|
||||
vim.list_extend(opts.ensure_installed, {
|
||||
"go",
|
||||
"gomod",
|
||||
"gowork",
|
||||
"gosum",
|
||||
})
|
||||
end,
|
||||
opts = { ensure_installed = { "go", "gomod", "gowork", "gosum" } },
|
||||
},
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
@ -90,10 +83,7 @@ return {
|
||||
-- Ensure Go tools are installed
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = function(_, opts)
|
||||
opts.ensure_installed = opts.ensure_installed or {}
|
||||
vim.list_extend(opts.ensure_installed, { "goimports", "gofumpt" })
|
||||
end,
|
||||
opts = { ensure_installed = { "goimports", "gofumpt" } },
|
||||
},
|
||||
{
|
||||
"nvimtools/none-ls.nvim",
|
||||
@ -101,10 +91,7 @@ return {
|
||||
dependencies = {
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = function(_, opts)
|
||||
opts.ensure_installed = opts.ensure_installed or {}
|
||||
vim.list_extend(opts.ensure_installed, { "gomodifytags", "impl" })
|
||||
end,
|
||||
opts = { ensure_installed = { "gomodifytags", "impl" } },
|
||||
},
|
||||
},
|
||||
opts = function(_, opts)
|
||||
@ -132,10 +119,7 @@ return {
|
||||
dependencies = {
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = function(_, opts)
|
||||
opts.ensure_installed = opts.ensure_installed or {}
|
||||
vim.list_extend(opts.ensure_installed, { "delve" })
|
||||
end,
|
||||
opts = { ensure_installed = { "delve" } },
|
||||
},
|
||||
{
|
||||
"leoluz/nvim-dap-go",
|
||||
|
@ -9,11 +9,7 @@ return {
|
||||
-- Add Haskell to treesitter
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function(_, opts)
|
||||
if type(opts.ensure_installed) == "table" then
|
||||
vim.list_extend(opts.ensure_installed, { "haskell" })
|
||||
end
|
||||
end,
|
||||
opts = { ensure_installed = { "haskell" } },
|
||||
},
|
||||
|
||||
{
|
||||
@ -33,10 +29,7 @@ return {
|
||||
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = function(_, opts)
|
||||
opts.ensure_installed = opts.ensure_installed or {}
|
||||
vim.list_extend(opts.ensure_installed, { "haskell-language-server" })
|
||||
end,
|
||||
opts = { ensure_installed = { "haskell-language-server" } },
|
||||
},
|
||||
|
||||
{
|
||||
@ -45,10 +38,7 @@ return {
|
||||
dependencies = {
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = function(_, opts)
|
||||
opts.ensure_installed = opts.ensure_installed or {}
|
||||
vim.list_extend(opts.ensure_installed, { "haskell-debug-adapter" })
|
||||
end,
|
||||
opts = { ensure_installed = { "haskell-debug-adapter" } },
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -16,7 +16,11 @@ return {
|
||||
})
|
||||
end,
|
||||
|
||||
{ "towolf/vim-helm", ft = "helm" },
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = { ensure_installed = { "helm" } },
|
||||
},
|
||||
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = {
|
||||
|
@ -33,10 +33,7 @@ return {
|
||||
-- Add java to treesitter.
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function(_, opts)
|
||||
opts.ensure_installed = opts.ensure_installed or {}
|
||||
vim.list_extend(opts.ensure_installed, { "java" })
|
||||
end,
|
||||
opts = { ensure_installed = { "java" } },
|
||||
},
|
||||
|
||||
-- Ensure java debugger and test packages are installed.
|
||||
@ -46,10 +43,7 @@ return {
|
||||
dependencies = {
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = function(_, opts)
|
||||
opts.ensure_installed = opts.ensure_installed or {}
|
||||
vim.list_extend(opts.ensure_installed, { "java-test", "java-debug-adapter" })
|
||||
end,
|
||||
opts = { ensure_installed = { "java-debug-adapter", "java-test" } },
|
||||
},
|
||||
},
|
||||
},
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user