diff --git a/nvim/after/ftplugin/blade.lua b/nvim/after/ftplugin/blade.lua new file mode 100644 index 0000000..ee233b9 --- /dev/null +++ b/nvim/after/ftplugin/blade.lua @@ -0,0 +1 @@ +vim.opt_local.commentstring = "{{-- %s --}}" diff --git a/nvim/lua/juancwu/plugins/autotag.lua b/nvim/lua/juancwu/plugins/autotag.lua index fad4051..1c40a6a 100644 --- a/nvim/lua/juancwu/plugins/autotag.lua +++ b/nvim/lua/juancwu/plugins/autotag.lua @@ -19,6 +19,7 @@ return { "handlebars", "hbs", "templ", + "blade", }, config = function() local autotag = require("nvim-ts-autotag") diff --git a/nvim/lua/juancwu/plugins/conform.lua b/nvim/lua/juancwu/plugins/conform.lua index 4d398eb..c110946 100644 --- a/nvim/lua/juancwu/plugins/conform.lua +++ b/nvim/lua/juancwu/plugins/conform.lua @@ -15,7 +15,7 @@ local formatters_by_ft = { zig = { "zigfmt" }, rust = { "rustfmt" }, templ = { "templ" }, - php = { "biome" }, + php = { "pint" }, blade = { "blade-formatter" }, } diff --git a/nvim/lua/juancwu/plugins/lsp.lua b/nvim/lua/juancwu/plugins/lsp.lua index f0fa329..6c8d785 100644 --- a/nvim/lua/juancwu/plugins/lsp.lua +++ b/nvim/lua/juancwu/plugins/lsp.lua @@ -92,6 +92,9 @@ return { extension = { templ = "templ", }, + pattern = { + [".*%.blade%.php"] = "blade", + }, }) local servers = { @@ -103,6 +106,21 @@ return { filetypes = { "templ" }, }, intelephense = {}, + html = { + filetypes = { "html", "twig", "hbs", "blade" }, + }, + emmet_ls = { + filetypes = { + "html", + "typescriptreact", + "javascriptreact", + "css", + "sass", + "scss", + "less", + "blade", + }, + }, lua_ls = { settings = { Lua = { @@ -122,23 +140,37 @@ return { "typescript", "javascriptreact", "typescriptreact", + "blade", }, init_options = { userLanguages = { templ = "html", + blade = "html", }, }, }, } local ensure_installed = vim.tbl_keys(servers or {}) - vim.list_extend(ensure_installed, { "stylua", "yamlfmt", "biome", "goimports" }) + vim.list_extend(ensure_installed, { "stylua", "yamlfmt", "biome", "goimports", "pint", "blade-formatter" }) -- require("mason-tool-installer").setup({ ensure_installed = ensure_installed }) local profiles = { base = { "yamlfmt" }, lua = { "lua_ls", "stylua" }, - web = { "ts_ls", "tailwindcss", "biome", "intelephense", "templ", "cssls", "css_variables" }, + web = { + "ts_ls", + "tailwindcss", + "biome", + "intelephense", + "templ", + "cssls", + "css_variables", + "html", + "emmet_ls", + "pint", + "blade-formatter", + }, go = { "gopls", "goimports" }, rust = { "rust_analyzer" }, zig = { "zls" },