在vim中扩展Javascript语法高亮显示
Extending Javascript syntax highlighting in vim
我想扩展我的JS语法突出显示,突出显示某些函数,将在我的程序中常用。我使用janus来保持我所有的插件顺序。现在我有一个名为vim-chino
的文件在这里我有一个syntax
文件夹和一个ftdetect
文件夹。在这两个我有一个chino.vim
文件。这是我的syntax/chino.vim
文件:
if !exists("main_syntax")
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
let main_syntax = 'javascript'
endif
syn match chinoKeywords "ChinoView"
hi def link chinoKeywords Function
let b:current_syntax = "javascript"
if main_syntax == 'javascript'
unlet main_syntax
endif
和在我的ftdetect/chino.vim
我有:
function! s:DetectJS()
if getline(1) =~# '^#!.*/bin/env's'+node'>'
setfiletype javascript
endif
endfunction
autocmd BufNewFile,BufRead * call s:DetectJS()
我想在任何javascript文件中突出ChinoView
。我觉得JS的语法高亮要么覆盖它,要么没有被读取。
EDIT:如果我不得不猜测发生的事情是,当它看着b:current_syntax
它已经有一个语法,所以它退出。
您的ftplugin/chino.vim
将语法设置为javascript
,但是您定义的额外突出显示是针对新的chino语法。不适合在一起。
如果你只想在所有 Javascript中突出显示一个额外的关键字,你可以让默认的Vim检测发生,并将这些行添加到after/syntax/javascript.vim
(你可能不得不创建这个目录和文件):
syn match chinoKeywords "ChinoView"
hi def link chinoKeywords Function
但是,如果您想根据文件的shebang行定义不同的chino文件类型,则需要在ftplugin/chino.vim
中添加:setfiletype chino
,然后在syntax/chino.vim
中包含默认的javascript语法(在初始检查之后,在设置b:current_syntax
之前):
runtime! syntax/javascript.vim syntax/javascript/*.vim
相关文章:
- Markdown语法高亮显示未按预期工作
- 动态更新Ace Editor+Requirejs的语法高亮显示
- 如何在JavaScript中实现html语法高亮显示
- CKEditor代码片段插件在yii2框架中不做语法高亮
- 用于大型字符串的 Javascript 语法高亮显示器
- 语法高亮 Javascript 在 LyX 中,插入子程序列表>
- React:呈现语法高亮显示的代码块
- Javascript/jQuery如何将Load Spinner附加到语法高亮插件
- Sublime 3套装适用于Jade语法高亮、Linting、Auto Complete等
- 可以't使语法高亮显示在“;Ace”;文本编辑器
- Javascript库对OCaml代码的语法高亮显示有很好的支持
- JavaScript RegEx语法高亮显示
- 嵌入HTML的Orion文本编辑器中C代码的语法高亮显示
- AngularJS和Highlight.js的动态语法高亮显示
- 语法高亮显示正则表达式不工作,因为现有的正则表达式匹配
- 源代码语法高亮显示与代码折叠
- JavaScript语法高亮显示
- 用于代码语法高亮显示的Javascript库
- 如何用语法高亮显示用户在文本区域中输入的HTML代码
- 为什么在网页中添加语法高亮后滚动条不工作