Автозакрытие скобок (простой вариант)
Автор: gansA / Дата: 30.05.2006 / Комментариев: 5
Категория: SciTE, LUA
Сам скрипт, находится в файле startup.lua:
Код lua:
function SymbolAutoClose(charAdded,symS,symE,pos)
if charAdded == symS then
editor:InsertText(pos,symE)
end
return 0
end
function OnChar(charAdded)
local pos = editor.CurrentPos
--// Автозакрытие
SymbolAutoClose(charAdded,'(',')',pos)
SymbolAutoClose(charAdded,'"','"',pos)
SymbolAutoClose(charAdded,'[',']',pos)
SymbolAutoClose(charAdded,'{','}',pos)
--// Проверка лексеров
local nLexer = editor.Lexer
if nLexer ~= 4 and nLexer ~= 5 then SymbolAutoClose(charAdded,'<','>',pos) end --// xml, html
if nLexer ~= 8 and nLexer ~= 28 then SymbolAutoClose(charAdded,"'",string.char(39),pos) end --// vb, vbscript
end
Функция SymbolAutoClose описывает пару символов, легко можно добавить дополнительные пары, например:
SymbolAutoClose(charAdded,'%','%',pos)
С помощью editor.Lexer определяется тип редактируемого файла, список всех номеров лексеров использумых в Scite находится в файле SciLexer.h (файл содержится в сорцах Scite). Версия для печати / Прочитано: 10220 раз(а)
Комментариев: 5 (rss)
1. Тугаринов Сергей / 30.05.2006 - 15:02
Софья оптом двери.


Хотелось бы добавить, что под этим файлом подразумевается файл со скриптами используемый при старте и работе SciTE.