如何配置 Vim 来格式化 .gohtml 文件?

问题描述 投票:0回答:1

我默认使用lazyvim,结果发现gohtml不被识别为html,我最终创建了一个filetype.lua文件并将.gohtml设置为.html

这种情况下LSP是通过:LspInfo来识别的

但是保存的时候,甚至出现null-ls正在格式化,但其实并没有格式化。

我已经研究了几天,但还无法让它工作,如果我将其更改为 .html,它会格式化它,但这很痛苦。

html go neovim go-html-template
1个回答
0
投票

这是 filetype.lua 文件的示例:

local ft = vim.api.nvim_create_augroup('filetype_gohtml', { clear = true })
vim.api.nvim_create_autocmd('filetype', { group = ft, pattern = '.gohtml', callback = function()
  vim.bo.filetype = 'html'
end })

创建 filetype.lua 文件后,需要将其加载到 Vim 中。您可以通过将以下行添加到 vimrc 文件来完成此操作:

lua require('gohtml-filetype')

加载 filetype.lua 文件后,您应该能够使用 :LspInfo 来查看 LSP 将 .gohtml 文件识别为 HTML。但是,保存文件时您可能仍然会遇到格式问题。

这是因为 null-ls 格式化程序无法在没有额外配置的情况下自动格式化 .gohtml 文件。要解决此问题,您需要手动配置 null-ls 以对 .gohtml 文件使用适当的格式化程序。

以下是如何配置 null-ls 以对 .gohtml 文件使用 prettier 格式化程序的示例:

-- Enable null-ls
lua require('null-ls').setup({
  sources = {
    {
      name = 'prettier',
      command = 'prettier',
      filetypes = { 'html' },
    },
  },
})

通过此配置,null-ls 应该能够在保存 .gohtml 文件时自动格式化它们。

© www.soinside.com 2019 - 2024. All rights reserved.