Scite Lua Scripting Extension API для начинающих

Это может быть глупый вопрос, но как мне получить доступ к таким вещам, как editor:addtext()?

http://www.scintilla.org/PaneAPI.html

http://www.scintilla.org/SciTELua.html

Я вижу, как его использовать, но не знаю, куда его поставить. Откуда доступны функции? И как они бегают? Может ли он работать из любой обычной программы Lua?


person user3279589    schedule 06.02.2014    source источник
comment
Пожалуйста, было бы полезно дать больше информации о том, чего вы пытаетесь достичь и что у вас уже есть.   -  person Aurélien Thieriot    schedule 06.02.2014


Ответы (1)


Глупый пример:
1. Откройте меню "Параметры" -> "Открыть сценарий запуска Lua"
2. Напишите любой код Lua, например. print('Selected: <'..editor:GetSelText()..'>')
3. Нажмите Ctrl-S (как будто вы хотите сохранить этот файл), ваш скрипт будет немедленно выполнен, вывод появится в панели вывода (справа).
4. Повторите шаги 2-3< br>


Менее глупый пример:
Вставьте это в SciTEGlobal.properties

ext.lua.startup.script=$(SciteDefaultHome)/your_script.lua

#print length of selected text
command.33.*=PrintSelectionLength
command.subsystem.33.*=3
command.mode.33.*=savebefore:no
command.shortcut.33.*=F1

# User defined key commands
user.shortcuts=\
F1|1133|\
Ctrl+Shift+V|IDM_PASTEANDDOWN|\
Ctrl+PageUp|IDM_PREVFILE|\
Ctrl+PageDown|IDM_NEXTFILE|

user.context.menu=\
Selection Length    (F1)|1133|\
||\
Toggle Output|IDM_TOGGLEOUTPUT|

Вставьте это в your_script.lua

function PrintSelectionLength()
   local sel = editor:GetSelText()
   print(#sel..' chars selected')
   print(table.concat({sel:byte(1,-1)},','))
end

Теперь вы можете нажать F1, чтобы увидеть ASCII-коды выделенных символов при редактировании любого файла в SciTE.

person Egor Skriptunoff    schedule 06.02.2014
comment
Есть ли способ получить доступ к этим функциям во время работы Scite, когда вы работаете над другим документом? - person user3279589; 06.02.2014
comment
Да, любые изменения в SciTEGlobal.properties применяются "на лету" без перезапуска SciTE. - person Egor Skriptunoff; 06.02.2014
comment
Спасибо, думаю разберусь - person user3279589; 06.02.2014