Q1qq >можно ли научить его среди html кода подсвечивать то, что находится между <% и %> как perl?
можно, используя scintillua (т.е. LPEG-лексеры). Но работать будет медленнее "нормального" лексера.
См.
http://caladbolg.net/luadoc/textadept/modules/lexer.html начиная от Embedded Lexers
Добавлено: Краткое руководство, как встроить один лексер в другой, на примере html+perl:
I. Устанавливаем scintillua:
1. берём последнюю версию scintillua:
http://code.google.com/p/scintillua/ 2. распаковываем папку lexers/ в папку со scite.exe
3. добавляем в SciTEGlobal.properties строчку "import lexers/lpeg", или, что предпочтительнее, добавляем в SciTEUser.properties строчку "import ../lexers/lpeg"
4. добавляем в параметр menu.language "язык Lpeg" (т.е. строчку "LPeg|lpeg||")
убедимся, что оно работает: выберем в меню язык сначала LPeg (всё должно обесцветится), потом Properties (добавилось немножко цветов. Но наш лексер лучше)
II. Встраиваем лексер perl в лексер hypertext:
1. открываем lexers/hypertext.lua
2. в самом конце добавляем следующий код:
Код: -- Embedded Perl
local perl = l.load('perl')
local perl_start_rule = token('perl_tag', P'<%' )
local perl_end_rule = token('perl_tag', P'%>' )
_tokenstyles[#_tokenstyles+1] = { 'perl_tag', l.style_embedded }
l.embed_lexer(_M, perl, perl_start_rule, perl_end_rule)