[[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