Tartalomjegyzék

< 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([[<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
 
</head>
<body>
 
</body>
</html>]])
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