首页 > 解决方案 > vim 标记的模板文字语法区域在打字稿中不起作用

问题描述

我想突出显示带有 javascript 标记的字符串模板,就像 neovim 中的 SQL 语法一样。我可以在某些时候突出显示工作,但不是所有时候。

将以下代码段放入~/.config/nvim/after/syntax/typescript.vim

unlet b:current_syntax
syn include @SQL syntax/sql.vim
syn region sqlTemplate 
        \ start="sql`"
        \ end="`"
        \ contains=@SQL

将在打字稿文件中突出显示以下内容:

在此处输入图像描述

在添加相同的代码段时,~/.config/nvim/after/syntax/javascript.vim 将正确突出显示 javascript 文件中的所有内容:

在此处输入图像描述

如何让打字稿在所有情况下正确突出显示标记的模板文字?由于某种原因,打字稿语法似乎覆盖了语法区域。

FWIW,我在这个 wiki https://vim.fandom.com/wiki/Different_syntax_highlighting_within_regions_of_a_file中找到了很多信息,我在 neovim repo 中打开了一个问题,尽管它没有引起任何关注https://github.com/ neovim/neovim/issues/12008

标签: typescriptsyntaxneovim

解决方案


推荐阅读