[[oktatas:programozás:lua|< Lua]]
====== Lua és Scite ======
===== Lua a Scite programban =====
A legjobb referencia a Scite forrásában, az include könyvtárban található Scintilla.iface állomány.
===== Lua script futtatása Scite programból =====
A local,user vagy global beállításokhoz fel kell vegyük a következő sorokat:
command.name.1.*=Script neve
command.subsystem.1.*=3
command.1.*=dofile /home/joska/.scite/lua/script01.lua
A script ezek után futtatható lesz az "Eszközök" menüből vagy a Ctrl + 1 billentyűkombinációval.
Gyorsbillentyűt is megadhatunk:
command.name.20.*=Script neve
command.subsystem.20.*=3
command.20.*=dofile /home/joska/.scite/lua/script01.lua
command.shortcut.20.*=Alt+x
Vegyük észre, hogy kicseréltem a 1-s értéket minden sorban 20-ra. Ne foglaljuk feleslegesen a Ctrl + 1 billentyűkombinációt ha nem használjuk.
===== Az editor objektum tagjai =====
^ Tulajdonság ^ Leírás ^
| editor.CurrentPos | Aktuális kurzorpozíció |
| editor.FirstVisibleLine | Első látható sor |
| editor.LinesOnScreen | sorok |
^ Metódus ^ Leírás ^
| editor:LineScroll(x,y) | Görgetés |
| editor:LineFromPosition(x) | Visszaadja az x-dik sort |
| editor:GetLine(l) | Visszaadj a sort? |
| editor:findtext(txt, flags, 0) | Keresés szövegben. A metódus visszatér két pozícióértékkel |
| editor:ReplaceSel(s) | Kijelölés cseréje s-re |
| editor:ClearAll() | Az egész dokumentum törlése |
| editor:textrange(p1,p2) | Visszaadja a szöveget p1-től p2 pozícióig. |
| editor:AppendText(s) | A dokumentum végéhez fűzi s-t. |
| editor:InsertText(p,s) | Adott pozíciónál szúrja be s-t. A -1 az aktuális pozíciót jelenti |
| editor:ScrollCaret() | Ahova szöveg beszúrásra kerül oda görget? |
A findtext() két értékkel tér vissza, két pozícióval:
local s,e = editor:findtext(txt,flags,0)
===== HTML5 minimum beillesztő =====
function html5()
editor:AddText([[
]])
end
===== sorvége karakterek törlése =====
-- sorvége karakterek törlése egy stringből
function chomp(line)
return string.gsub(line, "[\r\n]+$", "")
end
===== Csere megvalósítása =====
function replace_all(mit,mire)
editor:BeginUndoAction()
for resz in editor:match(mit) do
resz:replace(mire)
end
editor:EndUndoAction()
end
===== Linkek =====
* http://lua-users.org/wiki/SciteQuickStartXhtml
* http://lua-users.org/wiki/UsingLuaWithScite