From d3a25a00bec8492a4c4a194f1bb18ddc50c06234 Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Fri, 4 Nov 2022 16:38:39 +0100 Subject: vim: improve gotmpl detection --- .vim/init.lua | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to '.vim/init.lua') diff --git a/.vim/init.lua b/.vim/init.lua index c10a11c..2d1162a 100644 --- a/.vim/init.lua +++ b/.vim/init.lua @@ -312,19 +312,21 @@ require('internal.statusline') require('internal.exrc').setup {} -- TODO: remove eventually +local is_gotmpl = function(bufnr) + for ln = 1, vim.api.nvim_buf_line_count(bufnr), 1 do + local line = vim.api.nvim_buf_get_lines(bufnr, ln-1, ln, true) + if #line == 0 then break end + if line[1]:match('{{.+}}') then + return true + end + end + return false +end vim.filetype.add { extension = { ha = 'hare', - html = function(_, bufnr) - for ln = 1, vim.api.nvim_buf_line_count(bufnr), 1 do - local line = vim.api.nvim_buf_get_lines(bufnr, ln-1, ln, true) - if #line == 0 then break end - if line[1]:match('{{.+}}') then - return 'gotmpl' - end - end - return 'html' - end, + html = function(_, bufnr) return is_gotmpl(bufnr) and 'gotmpl.html' or 'html' end, + yaml = function(_, bufnr) return is_gotmpl(bufnr) and 'gotmpl.yaml' or 'yaml' end, }, filename = { ['Caddyfile'] = 'conf', -- cgit 1.4.1