Compare commits

...

7 Commits

Author SHA1 Message Date
janishutz 9423b98d5f feat(snippets): Add double square brackets snippet 2026-04-24 11:52:35 +02:00
janishutz 2b3b2c5996 feat(lsp): Add yaml language server 2026-04-17 14:57:29 +02:00
janishutz 21bb788396 fix(keybinds): Update for nvim 0.12 2026-04-16 15:43:27 +02:00
janishutz 1a5d9f1e4b fix(tex): Install latex grammar regardless, but don't load 2026-04-14 11:42:54 +02:00
janishutz 22c5b1fc58 fix(tex): Allow texlab to control highlighting 2026-04-14 11:42:17 +02:00
janishutz c78d5756b9 feat(highlighting): TS plugin deprecated, replace with Arborist
Arborist is now used to manage the treesitter parsers,
as nvim-treesitter was archived earlier this month
2026-04-14 11:37:42 +02:00
janishutz 35a331f827 [Lua] Load luarocks modules directory 2026-03-25 10:24:31 +01:00
9 changed files with 76 additions and 63 deletions
+4
View File
@@ -6,6 +6,10 @@ It uses Lazy.nvim as the plugin manager, lspconfig for the language server confi
## Linter configs
You may find the linter configs and setup-scripts for some linters that require some extra setup [here](https://git.janishutz.com/janishutz/dotfiles/)
# Lua notes
To get your luarocks packages to be picked up by the language server, it is currently configured to only look at the `cwd` that nvim is open in.
I may expand that in the future to do a proper search for all open buffers, but that would require a language server restart to apply on every buffer add
# Issues with jdtls
Ensure you have jdk21-opnejdk or newer installed. On Arch (and derivatives) you can switch the preferred java version using `archlinux-java set <version name>`
+2 -2
View File
@@ -71,13 +71,13 @@ keymap.set("n", "<leader><leader>x", ":!chmod +x %:p<CR>", opts("make current fi
keymap.set(
"n",
"<leader>#",
":w<CR>:!chmod +x %:p<CR>ggi#!/bin/sh<CR><CR><Esc>:setfiletype bash<CR>",
":w<CR>:!chmod +x %:p<CR>ggO#!/bin/sh<CR><CR><Esc>:setfiletype bash<CR>",
opts("setup sh script")
)
keymap.set(
"n",
"<leader><leader>#",
":set syntax=python<CR>:w<CR>:!chmod +x %:p<CR>:LspStart pyright<CR>i#!/usr/bin/env python3<CR><CR>",
":set syntax=python<CR>:w<CR>:!chmod +x %:p<CR>ggO#!/usr/bin/env python3<CR><CR>",
opts("setup python script")
)
+3 -2
View File
@@ -20,12 +20,13 @@ lsp.config("lua_ls", {
library = {
vim.fn.expand("$VIMRUNTIME/lua"),
vim.fn.stdpath("config") .. "/lua",
vim.fn.expand("~/.luarocks/share/lua/5.3"),
vim.fn.expand("~/.luarocks/share/lua/5.4"),
-- To use LÖVR, follow https://lovr.org/docs/dev/VS_Code_Setup#manual-installation
-- TL;DR run lovr api cats in the lovr-docs repo and update the path below
-- Then update the blow path (if you have not used the script in this repo)
vim.fn.expand("~/.local/share/lovr-docs/api/cats"),
"/usr/share/lua/5.3",
vim.fn.expand(vim.fn.getcwd() .. "/lua_modules/share/lua/5.4"),
"/usr/share/lua/5.4",
},
},
},
+17
View File
@@ -0,0 +1,17 @@
-- ┌ ┐
-- │ GitHub Actions │
-- └ ┘
local lsp = vim.lsp
local capabilities = require("lsp-options").capabilities
local on_attach = require("lsp-options").on_attach
lsp.config("yamlls", {
capabilities = capabilities,
on_attach = on_attach,
})
-- ── Enable configs ───────────────────────────────────────────────
local enable = vim.lsp.enable
enable("yamlls")
+1
View File
@@ -38,6 +38,7 @@ return {
require("plugins.lsp.ls.sql")
require("plugins.lsp.ls.text")
require("plugins.lsp.ls.web")
require("plugins.lsp.ls.yaml")
-- ───────────────────────────────────────────────────────────────────
end,
}
+1
View File
@@ -47,6 +47,7 @@ return {
"verible",
"vtsls",
"vue_ls",
"yamlls"
},
-- auto-install configured servers (with lspconfig)
automatic_enable = false,
+42
View File
@@ -0,0 +1,42 @@
return {
-- Treesitter parser support
"arborist-ts/arborist.nvim",
config = function()
require("arborist").setup({
update_cadence = "weekly",
prefer_wasm = false,
install_popular = false,
ensure_installed = {
"asm",
"bash",
"c",
"cpp",
"css",
"gotmpl",
"haskell",
"helm",
"html",
"hyprlang",
"java",
"javadoc",
"javascript",
"jsdoc",
"json",
"latex",
"lua",
"markdown",
"python",
"scss",
"toml",
"typescript",
"tsx",
"xml",
"yaml",
},
ignore = {
"tex",
"latex",
},
})
end,
}
-59
View File
@@ -1,59 +0,0 @@
return {
-- syntax highlighting
"nvim-treesitter/nvim-treesitter",
branch = "master",
event = { "BufRead", "BufNewFile" },
build = ":TSUpdate",
config = function()
require("nvim-treesitter.configs").setup({
ensure_installed = {
"asm",
"bash",
"c",
"cpp",
"css",
"gotmpl",
"haskell",
"helm",
"html",
"hyprlang",
"java",
"javadoc",
"javascript",
"jsdoc",
"json",
"jsonc",
-- "latex",
"lua",
"markdown",
"meson",
"nginx",
"php",
"python",
"rasi",
"requirements",
"robots",
"ruby",
"rust",
"scss",
"sql",
"svelte",
"swift",
"toml",
"typescript",
"tsx",
"verilog",
"vue",
"xml",
"yaml",
"zathurarc",
},
sync_install = false,
highlight = {
enable = true,
disable = { "tex" },
},
})
end,
}
+6
View File
@@ -332,6 +332,12 @@
"\\langle $1 \\rangle"
]
},
"dblbrackets": {
"prefix": "dblbrackets",
"body": [
"\\llbracket $1 \\rrbracket"
]
},
"fill-width": {
"prefix": "#fill",
"body": [