diff --git a/nvim/ftplugin/html.lua b/nvim/ftplugin/html.lua
new file mode 100644
index 0000000..ab35d19
--- /dev/null
+++ b/nvim/ftplugin/html.lua
@@ -0,0 +1,4 @@
+vim.bo.tabstop = 2
+vim.bo.shiftwidth = 2
+vim.bo.softtabstop = 0
+vim.bo.expandtab = false
diff --git a/nvim/lua/config/autocmds.lua b/nvim/lua/config/autocmds.lua
index 3d30a64..c9bad3d 100644
--- a/nvim/lua/config/autocmds.lua
+++ b/nvim/lua/config/autocmds.lua
@@ -6,18 +6,20 @@ vim.api.nvim_create_autocmd("TextYankPost", {
end,
})
-vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
- desc = "Enforce Terraform filetype",
- pattern = { "*.tf" },
- callback = function()
- vim.opt.filetype = "terraform"
- end,
-})
+-- Filetype detection
-vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
- desc = "Enforce ProGuard filetype",
- pattern = { "*.pro" },
- callback = function()
- vim.opt.filetype = "proguard"
- end,
-})
+local filetype_maps = {
+ { pattern = "*.tf", ft = "terraform" },
+ { pattern = "*.pro", ft = "progruard" },
+ { pattern = "*.mjml", ft = "html" },
+}
+
+for _, mapping in ipairs(filetype_maps) do
+ vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
+ desc = string.format("Enforce filetype for %s", mapping["pattern"]),
+ pattern = { mapping["pattern"] },
+ callback = function()
+ vim.opt.filetype = mapping["ft"]
+ end,
+ })
+end