diff options
Diffstat (limited to 'syntax/tt2.vim')
-rw-r--r-- | syntax/tt2.vim | 214 |
1 files changed, 0 insertions, 214 deletions
diff --git a/syntax/tt2.vim b/syntax/tt2.vim index 870f0b1d..4f94834e 100644 --- a/syntax/tt2.vim +++ b/syntax/tt2.vim @@ -1,217 +1,3 @@ -if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1 - -" Language: TT2 (Perl Template Toolkit) -" Maintainer: vim-perl <vim-perl@googlegroups.com> -" Author: Moriki, Atsushi <4woods+vim@gmail.com> -" Homepage: http://github.com/vim-perl/vim-perl -" Bugs/requests: http://github.com/vim-perl/vim-perl/issues -" Last Change: 2015-04-25 -" -" Installation: -" put tt2.vim and tt2html.vim in to your syntax directory. -" -" add below in your filetype.vim. -" au BufNewFile,BufRead *.tt2 setf tt2 -" or -" au BufNewFile,BufRead *.tt2 -" \ if ( getline(1) . getline(2) . getline(3) =~ '<\chtml' | -" \ && getline(1) . getline(2) . getline(3) !~ '<[%?]' ) | -" \ || getline(1) =~ '<!DOCTYPE HTML' | -" \ setf tt2html | -" \ else | -" \ setf tt2 | -" \ endif -" -" define START_TAG, END_TAG -" "ASP" -" :let b:tt2_syn_tags = '<% %>' -" "PHP" -" :let b:tt2_syn_tags = '<? ?>' -" "TT2 and HTML" -" :let b:tt2_syn_tags = '\[% %] <!-- -->' -" -" Changes: -" 0.1.3 -" Changed fileformat from 'dos' to 'unix' -" Deleted 'echo' that print obstructive message -" 0.1.2 -" Added block comment syntax -" e.g. [%# COMMENT -" COMMENT TOO %] -" [%# IT'S SAFE %] HERE IS OUTSIDE OF TT2 DIRECTIVE -" [% # WRONG!! %] HERE STILL BE COMMENT -" 0.1.1 -" Release -" 0.1.0 -" Internal -" -" License: follow Vim :help uganda -" - -if !exists("b:tt2_syn_tags") - let b:tt2_syn_tags = '\[% %]' - "let b:tt2_syn_tags = '\[% %] \[\* \*]' -endif - -if !exists("b:tt2_syn_inc_perl") - let b:tt2_syn_inc_perl = 1 -endif - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn case match - -syn cluster tt2_top_cluster contains=tt2_perlcode,tt2_tag_region - -" TT2 TAG Region -if exists("b:tt2_syn_tags") - - let s:str = b:tt2_syn_tags . ' ' - let s:str = substitute(s:str,'^ \+','','g') - let s:str = substitute(s:str,' \+',' ','g') - - while stridx(s:str,' ') > 0 - - let s:st = strpart(s:str,0,stridx(s:str,' ')) - let s:str = substitute(s:str,'[^ ]* ','',"") - - let s:ed = strpart(s:str,0,stridx(s:str,' ')) - let s:str = substitute(s:str,'[^ ]* ','',"") - - exec 'syn region tt2_tag_region '. - \ 'matchgroup=tt2_tag '. - \ 'start=+\(' . s:st .'\)[-]\=+ '. - \ 'end=+[-]\=\(' . s:ed . '\)+ '. - \ 'contains=@tt2_statement_cluster keepend extend' - - exec 'syn region tt2_commentblock_region '. - \ 'matchgroup=tt2_tag '. - \ 'start=+\(' . s:st .'\)[-]\=\(#\)\@=+ '. - \ 'end=+[-]\=\(' . s:ed . '\)+ '. - \ 'keepend extend' - - "Include Perl syntax when 'PERL' 'RAWPERL' block - if b:tt2_syn_inc_perl - syn include @Perl $VIMRUNTIME/syntax/perl.vim - exec 'syn region tt2_perlcode '. - \ 'start=+\(\(RAW\)\=PERL\s*[-]\=' . s:ed . '\(\n\)\=\)\@<=+ ' . - \ 'end=+' . s:st . '[-]\=\s*END+me=s-1 contains=@Perl keepend' - endif - - "echo 'TAGS ' . s:st . ' ' . s:ed - unlet s:st - unlet s:ed - endwhile - -else - - syn region tt2_tag_region - \ matchgroup=tt2_tag - \ start=+\(\[%\)[-]\=+ - \ end=+[-]\=%\]+ - \ contains=@tt2_statement_cluster keepend extend - - syn region tt2_commentblock_region - \ matchgroup=tt2_tag - \ start=+\(\[%\)[-]\=#+ - \ end=+[-]\=%\]+ - \ keepend extend - - "Include Perl syntax when 'PERL' 'RAWPERL' block - if b:tt2_syn_inc_perl - syn include @Perl $VIMRUNTIME/syntax/perl.vim - syn region tt2_perlcode - \ start=+\(\(RAW\)\=PERL\s*[-]\=%]\(\n\)\=\)\@<=+ - \ end=+\[%[-]\=\s*END+me=s-1 - \ contains=@Perl keepend - endif -endif - -" Directive -syn keyword tt2_directive contained - \ GET CALL SET DEFAULT DEBUG - \ LAST NEXT BREAK STOP BLOCK - \ IF IN UNLESS ELSIF FOR FOREACH WHILE SWITCH CASE - \ USE PLUGIN MACRO META - \ TRY FINAL RETURN LAST - \ CLEAR TO STEP AND OR NOT MOD DIV - \ ELSE PERL RAWPERL END -syn match tt2_directive +|+ contained -syn keyword tt2_directive contained nextgroup=tt2_string_q,tt2_string_qq,tt2_blockname skipwhite skipempty - \ INSERT INCLUDE PROCESS WRAPPER FILTER - \ THROW CATCH -syn keyword tt2_directive contained nextgroup=tt2_def_tag skipwhite skipempty - \ TAGS - -syn match tt2_def_tag "\S\+\s\+\S\+\|\<\w\+\>" contained - -syn match tt2_variable +\I\w*+ contained -syn match tt2_operator "[+*/%:?-]" contained -syn match tt2_operator "\<\(mod\|div\|or\|and\|not\)\>" contained -syn match tt2_operator "[!=<>]=\=\|&&\|||" contained -syn match tt2_operator "\(\s\)\@<=_\(\s\)\@=" contained -syn match tt2_operator "=>\|," contained -syn match tt2_deref "\([[:alnum:]_)\]}]\s*\)\@<=\." contained -syn match tt2_comment +#.*$+ contained extend -syn match tt2_func +\<\I\w*\(\s*(\)\@=+ contained nextgroup=tt2_bracket_r skipempty skipwhite -" -syn region tt2_bracket_r start=+(+ end=+)+ contained contains=@tt2_statement_cluster keepend extend -syn region tt2_bracket_b start=+\[+ end=+]+ contained contains=@tt2_statement_cluster keepend extend -syn region tt2_bracket_b start=+{+ end=+}+ contained contains=@tt2_statement_cluster keepend extend - -syn region tt2_string_qq start=+"+ end=+"+ skip=+\\"+ contained contains=tt2_ivariable keepend extend -syn region tt2_string_q start=+'+ end=+'+ skip=+\\'+ contained keepend extend - -syn match tt2_ivariable +\$\I\w*\>\(\.\I\w*\>\)*+ contained -syn match tt2_ivariable +\${\I\w*\>\(\.\I\w*\>\)*}+ contained - -syn match tt2_number "\d\+" contained -syn match tt2_number "\d\+\.\d\+" contained -syn match tt2_number "0x\x\+" contained -syn match tt2_number "0\o\+" contained - -syn match tt2_blockname "\f\+" contained nextgroup=tt2_blockname_joint skipwhite skipempty -syn match tt2_blockname "$\w\+" contained contains=tt2_ivariable nextgroup=tt2_blockname_joint skipwhite skipempty -syn region tt2_blockname start=+"+ end=+"+ skip=+\\"+ contained contains=tt2_ivariable nextgroup=tt2_blockname_joint keepend skipwhite skipempty -syn region tt2_blockname start=+'+ end=+'+ skip=+\\'+ contained nextgroup=tt2_blockname_joint keepend skipwhite skipempty -syn match tt2_blockname_joint "+" contained nextgroup=tt2_blockname skipwhite skipempty - -syn cluster tt2_statement_cluster contains=tt2_directive,tt2_variable,tt2_operator,tt2_string_q,tt2_string_qq,tt2_deref,tt2_comment,tt2_func,tt2_bracket_b,tt2_bracket_r,tt2_number - -" Synchronizing -syn sync minlines=50 - -hi def link tt2_tag Type -hi def link tt2_tag_region Type -hi def link tt2_commentblock_region Comment -hi def link tt2_directive Statement -hi def link tt2_variable Identifier -hi def link tt2_ivariable Identifier -hi def link tt2_operator Statement -hi def link tt2_string_qq String -hi def link tt2_string_q String -hi def link tt2_blockname String -hi def link tt2_comment Comment -hi def link tt2_func Function -hi def link tt2_number Number - -if exists("b:tt2_syn_tags") - unlet b:tt2_syn_tags -endif - -let b:current_syntax = "tt2" - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim:ts=4:sw=4 - -endif if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'perl') == -1 " Language: TT2 (Perl Template Toolkit) |