Auto-indent (автоотступ) для PHP и JavaScript

В SciTE auto-indent (автоотступ) для PHP и Java-Script отключен (точнее, не настроен) по умолчанию. Чтобы его включить, добавляем следующий код в конец файла html.properties:

Код .properties:

# PHP Auto-Indent
statement.indent.$(file.patterns.html)=121 do else for if while case function
statement.end.$(file.patterns.html)=127 ;
statement.lookback.$(file.patterns.html)=20
block.start.$(file.patterns.html)=127 {
block.end.$(file.patterns.html)=127 }

# JS Auto-Indent
statement.indent.$(file.patterns.html)=47 do else for if while case function
statement.end.$(file.patterns.html)=50 ;
block.start.$(file.patterns.html)=50 {
block.end.$(file.patterns.html)=50 }


В принципе, таким же образом настраивается автоотступ для ASP, Embedded Python, VB-Script и т.д.
Для этого, в statement.end, block.start и block.end число после знака "=" нужно заменить на соответствующий код (например, 127 соответствует символам класса "оператор PHP", а 50 - "оператор (символ) Embedded JavaScript"). А вот для того, чтобы найти нужный код, надо немного почитать комментарии к стилям в html.properties ;)

block.start и block.end определяют символы начала/конца блока. Во всех C-подобных языках это символы "{" и "}"

statement.indent отвечает за автоотступ после определенных ключевых слов. Заметьте, что ключевые слова в списке разделяются пробелами, а самый первый элемент списка - это код класса этих ключевых слов (47 соответствует ключевым словам JavaScript, 121 - ключевым словам PHP)

ну а statement.end - это символ окончания блока, начатого одним из ключевых слов, перечисленных в statement.start. Он имеет тот же код, как и block.start/block.end, и для C-подобных языков это символ ";"


UPDATE by Tugarinov Sergey
Благодаря моим кривым рукам, всюду находящим дыры и мудрым советам находчивого DB6 ( http://scite.ruteam.ru/users/db6 ) был найден и исправлен косяк возникающий при использовании автоидента.
Для этого достаточно точно указать язык для которого вы собираетесь использовать сабж, например для PHP, необходимо прописать не Код .properties:
$(file.patterns.html)
как описывалось выше, а Код .properties:
$(file.patterns.php)



Огигинал новости «Auto-indent (автоотступ) для PHP и JavaScript»   -
«SciTE - редактор кода для программистов»   -