为了账号安全,请及时绑定邮箱和手机立即绑定

GoImports 杀死 html 语法高亮

GoImports 杀死 html 语法高亮

Go
料青山看我应如是 2021-12-20 16:48:20
在下面的代码中:var rootTemplate = template.Must(template.New("root").Parse(`<!DOCTYPE html><html><head> /SNIP/</html>`))我可以使用此功能将 html 部分突出显示为 html:function! GoHtml()    if !empty(b:current_syntax)        unlet b:current_syntax    endif    syn include @html syntax/html.vim    syntax region htmlCode start=+<!DOCTYPE+ keepend end=+</html>+ contains=@html containedIn=goRawString containedendfunctionautocmd BufEnter *.go call GoHtml()但是,在我保存文档后,调用 GoImports 时 html 语法突出显示消失了: let g:go_fmt_command = "GoImports"有没有办法保持嵌入的 html 突出显示?
查看完整描述

1 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

最后我把它钉在了这个上面:


function! GoHtml()

    GoFmt

    if !empty(b:current_syntax)

            unlet b:current_syntax

    endif

    syn include @html syntax/html.vim

    syntax region htmlCode start=+<!DOCTYPE+ keepend end=+</html>+ contains=@html containedin=goRawString contained

endfunction


autocmd BufEnter *.go call GoHtml()

autocmd BufWrite *.go call GoHtml()


execute pathogen#infect()


" don't save automatically, let us handle this

let g:go_fmt_autosave = 0


" for golang: automatically run GoImports

let g:go_fmt_command = "GoImports"

这样我就可以按照我想要的方式混合 go 和 html 代码。


查看完整回答
反对 回复 2021-12-20
  • 1 回答
  • 0 关注
  • 128 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信