@edem

Как правильно настроить подсветку синтаксиса Template Toolkit в Vim?

Вот Vim скрипт www.vim.org/scripts/script.php?script_id=830 который это делает. Добавил его в папку syntax, добавил нужные строки в filetype.vim:
au BufNewFile,BufRead *.tt2 call s:AdjustTT2Type()

func! s:AdjustTT2Type()
    if ( getline(1) . getline(2) . getline(3) =~ '<\chtml'
              && getline(1) . getline(2) . getline(3) !~ '<[%?]' )
       || getline(1) =~ '<!DOCTYPE HTML'
        setf tt2html
    else
        setf tt2
    endif
endfunc

To define START_TAG and END_TAG you like, you can set any pair of tags to 'b:tt2_syn_tags':
    "ASP"
    :let b:tt2_syn_tags = '<% %>'
    "PHP"
    :let b:tt2_syn_tags = '<? ?>'
    "TT2 and HTML"
    :let b:tt2_syn_tags = '\[% %] <!-- -->'



все подсвечивает, норм, но в одном пункте баг. Когда используем оператор диапозна [… ] (да и вообще любые квадратные скобки) он на них останавливается и весь последующий код воспринимает как tt, а не как html.

<html>
<body>
<ul>
[% FOREACH num IN [1..10] %]
<li>num: [% num %]</li>
[% END %]
</ul>
</body>
</html>


начиная со строки «IN [1....» идут косяки. Может быть кто-нибудь из вас знает как это можно исправить?


P.S. а если открыть файл из списка файлов NERDTree то вообще как обычный текст распознает…
  • Вопрос задан
  • 3069 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы