SciTE: Lua-Scripte funktionieren nicht

22/01/2013 - 23:13 von Burkhard Müller | Report spam
Moin NG!
Die Situation ist folgende: mein Lieblingseditior SciTE bietet die Möglichkeit,
Lua-Scripte einzubinden, die dann als Menüpunkt unter 'Tools' auswàhlbar sind.

Nun gibt es zwei Scripte (von insg. vier), die beim Aufruf nur eine Fehlermeldung
in der Output-Pane von SciTE produzieren: "Lua: error checking global scope
for command"
Auch ein Start von SciTE via Terminal spuckt keine weiteren Hinweise aus.
Ich habe die beiden Scripte selten benutzt und meine mich erinnern zu können,
daß sie früher mal (vor irgendeinem Update) funktioniert haben.

Ich habe mal versucht, mich in die Syntax von Lua einzuarbeiten,
aber das sind für mich immer noch böhmische Dörfer..

Das erste nicht funktionierende Script sieht so aus:
(Quelle: http://lua-users.org/wiki/SciteOpenUrl)
__________________________________________________________
function open_url()
local string = string
local function charat(s, p) return string.sub(s, p, p) end
local function delim(c) return string.match(c, "[\"'%s]") end
local txt = editor:GetSelText()
if #txt == 0 then
local p1 = editor.CurrentPos
local ln = editor:LineFromPosition(p1)
txt = editor:GetLine(ln)
if not txt then return end
local p2 = editor:PositionFromLine(ln)
p1 = p1 - p2 + 1; p2 = p1
while p1 > 1 do
if delim(charat(txt, p1 - 1)) then break end
p1 = p1 - 1
end
while p2 <= #txt do
if delim(charat(txt, p2)) then break end
p2 = p2 + 1
end
if p1 == p2 then return end
txt = string.sub(txt, p1, p2 - 1)
else
txt = string.gsub(txt, "^%s*(.-)%s*$", "%1")
if string.match(txt, "%s") then return end
end
if string.match(txt, "^http://.+") or
string.match(txt, "^ftp://.+") or
string.match(txt, "^www%..+") then
os.execute("x-www-browser "..txt.." &")
end
end
____________________________________________________________

SciTE Version ist 3.2.3, installierte Lua-libs sind lua50 und lua5.1.
Kann mich mal jemand anschubsen?

Danke, BM
 

Lesen sie die antworten

#1 Thomas PointedEars Lahn
23/01/2013 - 22:35 | Warnen spam
Burkhard Müller wrote:

Die Situation ist folgende: mein Lieblingseditior SciTE bietet die
Möglichkeit, Lua-Scripte einzubinden, die dann als Menüpunkt unter 'Tools'
auswàhlbar sind.

Nun gibt es zwei Scripte (von insg. vier), die beim Aufruf nur eine
Fehlermeldung in der Output-Pane von SciTE produzieren: "Lua: error
checking global scope for command"
Auch ein Start von SciTE via Terminal spuckt keine weiteren Hinweise aus.



Ist das wirklich alles? Keine Zeilennummer o. à.? Wie startest Du SciTE
via Terminal?

PointedEars

Twitter: @PointedEars2
Please do not Cc: me. / Bitte keine Kopien per E-Mail.

Ähnliche fragen