2013-04-25 3 views
0

내 프로그램에서 일반적으로 사용되는 특정 기능을 강조 표시하여 JS 구문 강조를 확장하고 싶습니다. 모든 플러그인을 순서대로 유지하려면 janus을 사용하고 있습니다. 지금 나는 vim-chino이라고 부르는 파일을 가지고 있는데 거기에 syntax 폴더와 ftdetect 폴더가 있습니다. 둘 다 나는 chino.vim 파일을 가지고 있습니다. 이건 내 syntax/chino.vim 파일입니다 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을 강조하고 싶습니다. JS에 대한 구문 강조 표시가이를 무시하고 있거나 읽지 못하고있는 것 같습니다.

편집 : 만약 내가 어디에서 어떤 일이 일어나고 있는지 짐작할 수 있다면, b:current_syntax은 이미 구문이 있기 때문에 종료됩니다.

+0

': syn list chinoKeywords'가 아무 것도 출력하는지 확인할 수 있습니까? 일치하지 않으면 syn 일치가 적용되지 않습니다. – FDinoff

+0

그렇습니다. 'No such highlight group name : chinoKeywords'라고합니다. 나는 또한'syn 키워드 chinoKeywords ChinoView'를 시도했지만 그 중 하나는 작동하지 않습니다. – gblock

+0

'syntax/chino.vim' 대신에'syn match chinoKeywords ChinoView''와 ''hi def link chinoKeywords Function'을's : DetectJS()'에 추가 할 수 있습니까? ('setfiletype javascript' 이후) – FDinoff

답변

4

귀하의 ftplugin/chino.vim 세트 javascript에 대한 구문, 그러나 당신이 정의한 강조 여분의 새로운 치노 구문입니다. 그건 맞지 않아.

syn match chinoKeywords "ChinoView" 
hi def link chinoKeywords Function 

을하지만, 다른를 정의하려면 : 당신은 그냥 원하는 경우

는 여분의 키워드는 바로 기본 빔 감지가 발생하자 after/syntax/javascript.vim에 그 라인을 추가 할 수 있습니다, 모든 자바 스크립트에서 강조 파일의 오두막 라인에 따라 치노 파일 형식, 당신은 당신의 ftplugin/chino.vim:setfiletype chino 필요하고 기본을 포함하여 syntax/chino.vim (당신이 b:current_syntax을 설정 초기 검사 후, 전)에서 자바 스크립트 구문 :

runtime! syntax/javascript.vim syntax/javascript/*.vim 
+0

이미 자바 스크립트 강조 표시를 확장하기 위해 플러그인을 사용하고 있습니다. 어쨌든 플러그인의'.vim' 파일을 편집하지 않고 추가 강조를 추가 할 수 있습니까? – gblock

+0

내가 말했듯이,'~/.vim/after/syntax/javascript.vim'는 원래 구문 스크립트 다음에 나온 것입니다. 거기에 추가를 시도하십시오. –

+0

Janus를 사용하고 있기 때문에 vim-chino 폴더에 구문 폴더를 만들고 이름은'javascript.vim'이고 단지 다음을 가지고 있습니다 : 'syn match chinoKeywords "ChinoView"' 'hi def link chinoKeywords Function' 안에 있습니다. 도와 주셔서 감사합니다! – gblock

관련 문제