Mar*_*ani 9 vim syntax-highlighting
我在Python程序中使用多行字符串进行SQL查询.
有没有办法告诉Vim在其中应用不同的突出显示规则,可能是使用--SQL
标记?
Mar*_*ani 11
function! TextEnableCodeSnip(filetype,start,end,textSnipHl) abort
let ft=toupper(a:filetype)
let group='textGroup'.ft
if exists('b:current_syntax')
let s:current_syntax=b:current_syntax
" Remove current syntax definition, as some syntax files (e.g. cpp.vim)
" do nothing if b:current_syntax is defined.
unlet b:current_syntax
endif
execute 'syntax include @'.group.' syntax/'.a:filetype.'.vim'
try
execute 'syntax include @'.group.' after/syntax/'.a:filetype.'.vim'
catch
endtry
if exists('s:current_syntax')
let b:current_syntax=s:current_syntax
else
unlet b:current_syntax
endif
execute 'syntax region textSnip'.ft.'
\ matchgroup='.a:textSnipHl.'
\ start="'.a:start.'" end="'.a:end.'"
\ contains=@'.group
endfunction
au FileType python call TextEnableCodeSnip('sqlpostgres', "'''", "'''", 'SpecialComment')
Run Code Online (Sandbox Code Playgroud)
现在,每个多行三重单引号字符串都会获得sql语法.三重双引号字符串仍然很明显.我已经改变了sqlpostgres.vim来给出绿色的SQL细微差别以区分这两种语言,并且它在256色墨水池方案中看起来很甜美.
归档时间: |
|
查看次数: |
1695 次 |
最近记录: |