我不知道这是否可行/合理,但我很想知道我是否可以在javascript文件中使用html突出显示我的字符串.我发现PHP中的字符串可能有sql语法高亮,所以我相信它是可能的.
但是,我不知道vim脚本,所以对此的任何帮助表示赞赏.
我正在使用Better Javascript syntax.
谢谢
最佳答案
是的,如果你不介意一些语法文件黑客攻击,这是可能的.首先,您需要在Javascript语法文件中包含HTML语法文件 – 请参阅:help syn-include获取有关该信息的信息;第二,你需要声明可以在某些元素(即字符串)中找到HTML语法.第三,如果您想要启用和禁用它,您可以使这些命令依赖于全局变量,并编写一些设置或取消设置变量的映射,然后重新加载语法文件.
有关包含如何工作的示例,请查看Syntax / html.vim(包括Javascript和CSS语法文件),Syntax / perl.vim(包括POD语法文件)或PHP.vim(包括sql语法)在字符串中突出显示,以全球可变的为条件).
编辑:在我的副本中做了一些实际的事情.
在语法/ javascript.vim的头部,在syn case ignore下面,添加
syn include @javaScriptHTML Syntax/html.vim
unlet b:current_Syntax
syn spell default " HTML enables spell-checking globally,turn it off
然后将@javaScriptHTML添加到javaScriptStringD和javaScriptStringS的contains =列表中.
最后你必须编辑Syntax / html.vim以防止它尝试包含Syntax / javascript.vim,如果它是从javascript加载的:找到读取的行
if main_Syntax != 'java' || exists("java_javascript")
并将其更改为
if main_Syntax != 'javascript' && ( main_Syntax != 'java' || exists("java_javascript")