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, }