gbl*_*ock 0 javascript vim syntax-highlighting
我想用突出显示程序中常用的某些功能来扩展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()
我希望它ChinoView在任何javascript文件中突出显示。我觉得JS的语法突出显示要么是覆盖它,要么是没有被读取。
编辑:如果我不得不猜测发生了什么事,那是当它看起来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文件类型,则需要在:setfiletype chino中ftplugin/chino.vim,然后在您的脚本中包含默认的javascript语法syntax/chino.vim(在进行初步检查之后,再进行设置b:current_syntax):
runtime! syntax/javascript.vim syntax/javascript/*.vim
| 归档时间: | 
 | 
| 查看次数: | 1834 次 | 
| 最近记录: |