irongit

My nvim configuration

fix: treesitter

huncholanehuncholaneauthored
parent 6700474commit 7076fae16d5c690ef94701146bc8e7b40418f927Browse files

8 files changed, +130 -39

+3-0.gitignore
@@ -6,3 +6,6 @@ debug
66 foo.*
77 *.log
88 data
9+
10+# opensrc — vendored dependency sources (not tracked)
11+opensrc/
+33-32lazy-lock.json
@@ -1,51 +1,52 @@
11 {
2- "auto-session": { "branch": "main", "commit": "292492ab7af4bd8b9e37e28508bc8ce995722fd5" },
3- "blink.cmp": { "branch": "main", "commit": "40380e711b616a28affb0f4086a2f7de2f2a556b" },
4- "bruno.nvim": { "branch": "main", "commit": "114155856d1ff76ad766efbb66fb270f20006c32" },
2+ "auto-session": { "branch": "main", "commit": "3e145ee9af42eb6764908a1a481f53fe7f0bdbe5" },
3+ "blink.cmp": { "branch": "main", "commit": "5ee69ea52492fa038b3a1cd8de55edffe205c77d" },
4+ "blink.lib": { "branch": "main", "commit": "2cb62890cee636fe46722d03b7b2331e54fb3755" },
5+ "bruno.nvim": { "branch": "main", "commit": "54bdebc62aa6ffc7906464a20d182c0a660be836" },
56 "crates.nvim": { "branch": "main", "commit": "afcd1cc3eeceb5783676fc8464389b9216a29d05" },
67 "dotenv.nvim": { "branch": "main", "commit": "7d516e9293c6e3ac21830fb10a4e8674c02747c6" },
78 "flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" },
8- "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
9- "gitsigns.nvim": { "branch": "main", "commit": "20ad4419564d6e22b189f6738116b38871082332" },
10- "grug-far.nvim": { "branch": "main", "commit": "b58b2d65863f4ebad88b10a1ddd519e5380466e0" },
9+ "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
10+ "gitsigns.nvim": { "branch": "main", "commit": "dd3f588bacbeb041be6facf1742e42097f62165d" },
11+ "grug-far.nvim": { "branch": "main", "commit": "5506c2f59dc9ab2ed6c233585412b24d31d51521" },
1112 "hydra.nvim": { "branch": "main", "commit": "8c4a9f621ec7cdc30411a1f3b6d5eebb12b469dc" },
12- "image.nvim": { "branch": "master", "commit": "da2be65c153ba15a14a342b05591652a6df70d58" },
13- "kulala.nvim": { "branch": "main", "commit": "c328aeb219c4b77106917dd2698c90ea9657281b" },
14- "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
15- "leetcode.nvim": { "branch": "master", "commit": "fdd3f91800b3983e27bc9fcfb99cfa7293d7f11a" },
13+ "image.nvim": { "branch": "master", "commit": "44e07129cd0ea0c60afa7a1991d35b5765b51a6b" },
14+ "kulala.nvim": { "branch": "main", "commit": "6397ad2406995d5ceb061ba04677f7a96fcfb953" },
15+ "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
16+ "leetcode.nvim": { "branch": "master", "commit": "4e8b3683940a8377379ce9398e7f329e3560b42c" },
1617 "lsp_signature.nvim": { "branch": "master", "commit": "62cadce83aaceed677ffe7a2d6a57141af7131ea" },
17- "lspkind.nvim": { "branch": "master", "commit": "3ddd1b4edefa425fda5a9f95a4f25578727c0bb3" },
18- "lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" },
18+ "lspkind.nvim": { "branch": "master", "commit": "c7274c48137396526b59d86232eabcdc7fed8a32" },
19+ "lualine.nvim": { "branch": "master", "commit": "131a558e13f9f28b15cd235557150ccb23f89286" },
1920 "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
20- "mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
21- "mini.ai": { "branch": "main", "commit": "0d3c9cf22e37b86b7a0dfbe7ef129ee7a5f4f93c" },
21+ "mason.nvim": { "branch": "main", "commit": "16ba83bfc8a25f52bb545134f5bee082b195c460" },
22+ "mini.ai": { "branch": "main", "commit": "4ce4c35e411ea329a15d4b15e9c89c2a3089e437" },
2223 "mini.pairs": { "branch": "main", "commit": "b7fde3719340946feb75017ef9d75edebdeb0566" },
23- "mini.surround": { "branch": "main", "commit": "d205d1741d1fcc1f3117b4e839bf00f74ad72fa2" },
24- "none-ls-extras.nvim": { "branch": "main", "commit": "70659cc3d38151424298ab46b0f67f2251cef231" },
25- "none-ls.nvim": { "branch": "main", "commit": "550197530c12b4838d685cf4e0d5eb4cca8d52c7" },
24+ "mini.surround": { "branch": "main", "commit": "1e37ade260e2b655c3a9b8407ba7e6b0fb995b28" },
25+ "none-ls-extras.nvim": { "branch": "main", "commit": "167f29529ff1438e673b1792a71aaf79ddd6c74f" },
26+ "none-ls.nvim": { "branch": "main", "commit": "f9d557ac7cd28a3a993b5ea49716498bd540b01f" },
2627 "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
27- "nvim-autopairs": { "branch": "master", "commit": "7a2c97cccd60abc559344042fefb1d5a85b3e33b" },
28- "nvim-lspconfig": { "branch": "master", "commit": "2010fc6ec03e2da552b4886fceb2f7bc0fc2e9c0" },
28+ "nvim-autopairs": { "branch": "master", "commit": "7b9923abad60b903ece7c52940e1321d39eccc79" },
29+ "nvim-lspconfig": { "branch": "master", "commit": "9573948c38bfabeec353ae7dd7d3ffec4c506a6b" },
2930 "nvim-navic": { "branch": "master", "commit": "f5eba192f39b453675d115351808bd51276d9de5" },
30- "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
31- "nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
32- "nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
33- "otter.nvim": { "branch": "main", "commit": "a455e68a99d395889ab30a25ac3846a135e93c46" },
34- "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
31+ "nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" },
32+ "nvim-ts-autotag": { "branch": "main", "commit": "88c1453db4ba7dd24131086fe51fdf74e587d275" },
33+ "nvim-web-devicons": { "branch": "master", "commit": "dfbfaa967a6f7ec50789bead7ef87e336c1fa63c" },
34+ "otter.nvim": { "branch": "main", "commit": "d781eda3bc18dbc8677f9a24abdc705fb74e4428" },
35+ "plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" },
3536 "rusty": { "branch": "main", "commit": "f310310991ecd50ca10745f8960cb5b8bd2ef208" },
36- "snacks.nvim": { "branch": "main", "commit": "fe7cfe9800a182274d0f868a74b7263b8c0c020b" },
37+ "snacks.nvim": { "branch": "main", "commit": "882c996cf28183f4d63640de0b4c02ec886d01f2" },
3738 "telescope-changed-files": { "branch": "main", "commit": "0ccf50680abba21127c46c477f4646f2c5589767" },
38- "telescope-live-grep-args.nvim": { "branch": "master", "commit": "b80ec2c70ec4f32571478b501218c8979fab5201" },
39- "telescope.nvim": { "branch": "master", "commit": "0294ae3eafe662c438addb8692d9c98ef73a983e" },
40- "tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" },
39+ "telescope-live-grep-args.nvim": { "branch": "master", "commit": "53e9df55b3651dd7cf77e172f1e8c9a17407acca" },
40+ "telescope.nvim": { "branch": "master", "commit": "7d324792b7943e4aa16ad007212e6acc6f9fe335" },
41+ "tokyonight.nvim": { "branch": "main", "commit": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6" },
4142 "tree-sitter-html": { "branch": "master", "commit": "73a3947324f6efddf9e17c0ea58d454843590cc0" },
42- "vim-dadbod": { "branch": "master", "commit": "e95afed23712f969f83b4857a24cf9d59114c2e6" },
43+ "vim-dadbod": { "branch": "master", "commit": "6d1d41da4873a445c5605f2005ad2c68c99d8770" },
4344 "vim-dadbod-completion": { "branch": "master", "commit": "a8dac0b3cf6132c80dc9b18bef36d4cf7a9e1fe6" },
44- "vim-dadbod-ui": { "branch": "master", "commit": "236179fd6bdc2aabeb1326d428e6b29d41044d8e" },
45+ "vim-dadbod-ui": { "branch": "master", "commit": "07e92e22114cc5b1ba4938d99897d85b58e20475" },
4546 "vim-dispatch": { "branch": "master", "commit": "a2ff28abdb2d89725192db5b8562977d392a4d3f" },
4647 "vim-easy-align": { "branch": "master", "commit": "9815a55dbcd817784458df7a18acacc6f82b1241" },
47- "vim-fugitive": { "branch": "master", "commit": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4" },
48+ "vim-fugitive": { "branch": "master", "commit": "3b753cf8c6a4dcde6edee8827d464ba9b8c4a6f0" },
4849 "vim-visual-multi": { "branch": "master", "commit": "a6975e7c1ee157615bbc80fc25e4392f71c344d4" },
4950 "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" },
50- "yazi.nvim": { "branch": "main", "commit": "3f81faf0cf838acb312f0f0d75ac1a8ac69166ed" }
51+ "yazi.nvim": { "branch": "main", "commit": "81097571080ce0c5ab9e0311ed8ad03ff080ef47" }
5152 }
+70-0lsp/astro.lua
@@ -0,0 +1,70 @@
1+---@brief
2+---
3+--- https://github.com/withastro/language-tools/tree/main/packages/language-server
4+---
5+--- `astro-ls` can be installed via `npm`:
6+--- ```sh
7+--- npm install -g @astrojs/language-server
8+--- ```
9+---
10+--- If typescript is installed globally, you might get the `\`typescript.tsdk\` init option is required` error.
11+--- You will need to manually pass the typescript SDK path. Here is an example of a Nix configuration where typescript is installed via Nix's Home-manager:
12+---
13+--- ```nix
14+--- { config, pkgs, ... }:
15+---
16+--- {
17+--- home.packages = with pkgs; [
18+--- typescript
19+--- ];
20+---
21+--- programs.neovim = {
22+--- plugins = with pkgs.vimPlugins; [
23+--- nvim-lspconfig
24+--- ];
25+--- extraPackages = with pkgs; [
26+--- astro-language-server
27+--- ];
28+--- initLua = ''
29+--- vim.lsp.config['astro'] = {
30+--- init_options = {
31+--- typescript = {
32+--- tsdk = ${pkgs.typescript}/lib/node_modules/typescript/lib,
33+--- },
34+--- },
35+--- }
36+---
37+--- vim.lsp.enable('astro')
38+---
39+--- -- ...
40+--- '';
41+--- };
42+--- }
43+--- ```
44+--- The path can also be passed via a variable, like `vim.g.tsdk = "${pkgs.typescript}/lib/node_modules/typescript/lib"` and then used in the Lua Neovim config.
45+
46+local util = require("lspconfig.util")
47+
48+---@type vim.lsp.Config
49+return {
50+ cmd = function(dispatchers, config)
51+ local cmd = "astro-ls"
52+ if (config or {}).root_dir then
53+ local local_cmd = vim.fs.joinpath(config.root_dir, "node_modules/.bin", cmd)
54+ if vim.fn.executable(local_cmd) == 1 then
55+ cmd = local_cmd
56+ end
57+ end
58+ return vim.lsp.rpc.start({ cmd, "--stdio" }, dispatchers)
59+ end,
60+ filetypes = { "astro" },
61+ root_markers = { "package.json", "tsconfig.json", "jsconfig.json", ".git" },
62+ init_options = {
63+ typescript = {},
64+ },
65+ before_init = function(_, config)
66+ if config.init_options and config.init_options.typescript and not config.init_options.typescript.tsdk then
67+ config.init_options.typescript.tsdk = util.get_typescript_server_path(config.root_dir)
68+ end
69+ end,
70+}
+0-0lsp/aws-yml.lua → lsp/aws-yml.backup

No content changes (mode or rename only).

+14-2lua/commands.lua
@@ -16,6 +16,18 @@ vim.api.nvim_create_user_command("DBUITab", function(_)
1616 vim.cmd("DBUI")
1717 end, { desc = "Open new tab in /tmp/sql with DBUI" })
1818
19+--- New buffer for given file type
20+vim.api.nvim_create_user_command("Enew", function(opts)
21+ vim.cmd("enew")
22+ vim.bo.filetype = opts.args
23+end, {
24+ desc = "New buffer for file type",
25+ nargs = 1,
26+ complete = function(arglead)
27+ return vim.fn.getcompletion(arglead, "filetype")
28+ end,
29+})
30+
1931 -- ########################################################################## --
2032 -- -Scratch
2133 -- ########################################################################## --
@@ -65,10 +77,10 @@ vim.api.nvim_create_autocmd("BufEnter", {
6577
6678 vim.api.nvim_create_autocmd("BufEnter", {
6779 pattern = "*.zsh",
68- callback = function ()
80+ callback = function()
6981 vim.bo.filetype = "sh"
7082 vim.bo.syntax = "sh"
71- end
83+ end,
7284 })
7385
7486 -- ########################################################################## --
+3-1lua/plugins.lua
@@ -11,8 +11,10 @@ local plugins = {
1111 backend = "sixel",
1212 processor = "magick_cli",
1313 integrations = {
14+ -- Disabled: sixel rendering under tmux throws on every cursor move
15+ -- through a markdown file. Use :MarkdownPreview for rendered READMEs.
1416 markdown = {
15- enabled = true,
17+ enabled = false,
1618 only_render_image_at_cursor = true,
1719 only_render_image_at_cursor_mode = "popup",
1820 },
+4-1lua/plugins/blink.lua
@@ -42,11 +42,14 @@ return {
4242 "saghen/blink.cmp",
4343 dependencies = {
4444 "rafamadriz/friendly-snippets",
45+ "saghen/blink.lib",
4546 -- "tamago324/nlsp-settings.nvim",
4647 { "onsails/lspkind.nvim", config = lspkind_config },
4748 "kristijanhusak/vim-dadbod-completion",
4849 },
49- build = "cargo build --release",
50+ build = function()
51+ require("blink.cmp").build():pwait()
52+ end,
5053 opts = {
5154 enabled = function()
5255 return vim.g.blink_cmp_enabled ~= false
+3-3lua/plugins/treesitter.lua
@@ -1,12 +1,12 @@
11 ---@type LazySpec
22 return {
33 "nvim-treesitter/nvim-treesitter",
4- branch = 'master',
4+ branch = 'main',
55 lazy = false,
66 build = ":TSUpdate",
77 config = function()
8- require("nvim-treesitter.configs").setup({
9- ensure_installed = { "c", "lua", "vim", "vimdoc", "json", "python", "rust", "typescript", "markdown", "bash", "http" },
8+ require("nvim-treesitter.config").setup({
9+ ensure_installed = { "c", "lua", "vim", "vimdoc", "json", "python", "rust", "typescript", "markdown", "bash", "http", "astro" },
1010 highlight = {
1111 enable = true
1212 },