From 688db12b72967520e405a1f89bf032cd4451521d Mon Sep 17 00:00:00 2001 From: aleidk Date: Sat, 4 Nov 2023 21:48:37 -0300 Subject: [PATCH 1/3] add astro to lsp settup --- config/nvim/lua/aleidk/plugins/lsp.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/config/nvim/lua/aleidk/plugins/lsp.lua b/config/nvim/lua/aleidk/plugins/lsp.lua index 10e0e24..495e7b1 100644 --- a/config/nvim/lua/aleidk/plugins/lsp.lua +++ b/config/nvim/lua/aleidk/plugins/lsp.lua @@ -49,6 +49,7 @@ return { -- Enable the following language servers -- To see options and cofigurations: https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md local servers = { + astro = {}, bashls = {}, cssls = {}, dockerls = {}, From 6141e5a31f65026de6d9ead345b11f3a5fb82f62 Mon Sep 17 00:00:00 2001 From: aleidk Date: Sun, 5 Nov 2023 17:30:17 -0300 Subject: [PATCH 2/3] Add comment docstring plugin to nvim --- config/nvim/lazy-lock.json | 1 + config/nvim/lua/aleidk/plugins/comments.lua | 15 +++++++++++++++ config/nvim/lua/aleidk/plugins/lsp.lua | 1 + 3 files changed, 17 insertions(+) diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json index a60d1fc..7b95820 100644 --- a/config/nvim/lazy-lock.json +++ b/config/nvim/lazy-lock.json @@ -30,6 +30,7 @@ "mini.pairs": { "branch": "main", "commit": "6f6bd7ed5757b40bc29c73dac0d743e4e6978124" }, "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, "neodev.nvim": { "branch": "main", "commit": "d617d9eb27e73e701e446874c6ea2cb528719260" }, + "neogen": { "branch": "main", "commit": "cb1f384df804c1bf729332c4f728253fe17962d4" }, "neogit": { "branch": "master", "commit": "01dc0a7e237a4d6d053cea2503f5dd1a81c1e310" }, "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, diff --git a/config/nvim/lua/aleidk/plugins/comments.lua b/config/nvim/lua/aleidk/plugins/comments.lua index 1e20a6b..e7f8fc4 100644 --- a/config/nvim/lua/aleidk/plugins/comments.lua +++ b/config/nvim/lua/aleidk/plugins/comments.lua @@ -31,4 +31,19 @@ return { MAP({ "n", "v" }, "gll", cb.cline, "Create a comment line") end, }, + { + "danymat/neogen", + config = { snippet_engine = "luasnip" }, + dependencies = { "nvim-treesitter/nvim-treesitter" }, + version = "*", -- stable releases + keys = { + { + "gcd", + function() + require("neogen").generate() + end, + desc = "Generate comment docstring", + }, + }, + }, } diff --git a/config/nvim/lua/aleidk/plugins/lsp.lua b/config/nvim/lua/aleidk/plugins/lsp.lua index 495e7b1..39c02ce 100644 --- a/config/nvim/lua/aleidk/plugins/lsp.lua +++ b/config/nvim/lua/aleidk/plugins/lsp.lua @@ -22,6 +22,7 @@ return { nmap("lr", vim.lsp.buf.rename, "Rename") nmap("la", vim.lsp.buf.code_action, "Code Action") + nmap("ld", vim.lsp.buf.type_definition, "Go to type definition") nmap("lf", function() vim.lsp.buf.format() end, "Format") From 0404494c8a3556cb555f91beddeb1a8ce2217e0f Mon Sep 17 00:00:00 2001 From: aleidk Date: Fri, 10 Nov 2023 15:59:14 -0300 Subject: [PATCH 3/3] Add experimental support for blade treesitter. --- config/nvim/after/queries/blade/highlights.scm | 9 +++++++++ config/nvim/after/queries/blade/injections.scm | 3 +++ config/nvim/lua/aleidk/options.lua | 1 + config/nvim/lua/aleidk/plugins/formatter.lua | 3 ++- config/nvim/lua/aleidk/plugins/treesitter.lua | 14 +++++++++++++- 5 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 config/nvim/after/queries/blade/highlights.scm create mode 100644 config/nvim/after/queries/blade/injections.scm diff --git a/config/nvim/after/queries/blade/highlights.scm b/config/nvim/after/queries/blade/highlights.scm new file mode 100644 index 0000000..29bec30 --- /dev/null +++ b/config/nvim/after/queries/blade/highlights.scm @@ -0,0 +1,9 @@ +(directive) @function +(directive_start) @function +(directive_end) @function +(comment) @comment +((parameter) @include (#set! "priority" 110)) +((php_only) @include (#set! "priority" 110)) +((bracket_start) @function (#set! "priority" 120)) +((bracket_end) @function (#set! "priority" 120)) +(keyword) @function diff --git a/config/nvim/after/queries/blade/injections.scm b/config/nvim/after/queries/blade/injections.scm new file mode 100644 index 0000000..0fde1fd --- /dev/null +++ b/config/nvim/after/queries/blade/injections.scm @@ -0,0 +1,3 @@ +((php) @injection.content + (#set! injection.combined) + (#set! injection.language php)) diff --git a/config/nvim/lua/aleidk/options.lua b/config/nvim/lua/aleidk/options.lua index 59c0c9f..7420cb7 100644 --- a/config/nvim/lua/aleidk/options.lua +++ b/config/nvim/lua/aleidk/options.lua @@ -70,5 +70,6 @@ vim.filetype.add({ pattern = { -- INFO: Match filenames like - ".env.example", ".env.local" and so on ["%.env%.[%w_.-]+"] = "dotenv", + [".*%.blade%.php"] = "blade", }, }) diff --git a/config/nvim/lua/aleidk/plugins/formatter.lua b/config/nvim/lua/aleidk/plugins/formatter.lua index 23af079..b48f49b 100644 --- a/config/nvim/lua/aleidk/plugins/formatter.lua +++ b/config/nvim/lua/aleidk/plugins/formatter.lua @@ -9,6 +9,7 @@ return { lua = { "stylua" }, python = { "blue" }, -- Use a sub-list to run only the first available formatter + json = { { "prettierd", "prettier" } }, javascript = { { "prettierd", "prettier" } }, typescript = { { "prettierd", "prettier" } }, javascriptreact = { { "prettierd", "prettier" } }, @@ -24,7 +25,7 @@ return { if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then return end - return { timeout_ms = 500, lsp_fallback = true } + return { timeout_ms = 2000, lsp_fallback = true } end, }, config = function(_, opts) diff --git a/config/nvim/lua/aleidk/plugins/treesitter.lua b/config/nvim/lua/aleidk/plugins/treesitter.lua index 055a9d7..fd0516a 100644 --- a/config/nvim/lua/aleidk/plugins/treesitter.lua +++ b/config/nvim/lua/aleidk/plugins/treesitter.lua @@ -93,6 +93,18 @@ return { vim.opt.foldexpr = "nvim_treesitter#foldexpr()" -- Uncoment this line to disable auto folding on file open - -- vim.cmd("set nofoldenable") + vim.cmd("set nofoldenable") + + -- TODO: remove this when blade treesitter is added to nvim-treesitter repo + -- Also remove the "config/nvim/after/queries/blade" folder. + local parser_config = require("nvim-treesitter.parsers").get_parser_configs() + parser_config.blade = { + install_info = { + url = "https://github.com/EmranMR/tree-sitter-blade", + files = { "src/parser.c" }, + branch = "main", + }, + filetype = "blade", + } end, }