Тема: SciTE: интеллектуальная замена TAB'ов на пробелы в выделенном тексте
Скрипт для SciTE, на языке lua.
Заменяет TAB'ы на пробелы в выделенном тесксте, с учетом размера табуляции, так, чтобы текст не "разъезжался" после такой замены.
local sel_text = editor:GetSelText()
if sel_text == "" then print("Выделите текст для обработки!") end
local sel_start = editor.SelectionStart
local sel_end = editor.SelectionEnd
local text_out = ""
for i = sel_start, sel_end-1 do
local char = editor:textrange(i, i+1)
if char == "\t" then
local space_count = editor.Column[i+1] - editor.Column[i]
text_out = text_out..string.rep(" ", space_count)
else
text_out = text_out..char
end
end
editor:ReplaceSel(text_out)
Пример подключения в файле .properties:
command.name.135.*=Заменить TAB-ы на пробелы
command.135.*=dofile $(SciteDefaultHome)\tools\TabToSpace.lua
command.mode.135.*=subsystem:lua,savebefore:no
Автор скрипта - mozers.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.