gibts hier irgendwelche Umwege?
Such mal im Forum nach der BigNum UDF.
gibts hier irgendwelche Umwege?
Such mal im Forum nach der BigNum UDF.
Vielleicht schaust Du mal da...
Na dann bietet es sich doch an, wenn man Zitate verwendet auch sofort die Quelle zu benennen - oder sehe ich das falsch? ![]()
Natürlich könnte ich diese "einfach" als Menüpunkt einbauen, aber dann sind diese ja "auswählbar".
Würde ich trotzdem so machen - dann prüfst du bei der Auswahl, ob ein Trenner gewählt wurde und tust einfach nichts.
d.h. es ist kein MySQL-ODBC Treiber installiert.
Dann arbeite ohne ODBC-Treiber.
Hier die UDF von prog@ndy:
Im Startpost hinzugefügt:
Dark-Theme für Lua-Skripte.
Wirf mal einen Blick in unser Unterforum Datenbanken. z.B. dieser Beitrag könnte für dich zutreffen.
OHK werde ich bei Gelegenheit auch noch aktualisieren.
Jetzt erst mal eine andere Version für "DebugToConsole", NEU: "DebugAU3.lua"
Mich hat schon immer gestört, dass komplexe Arrayvariablen oder Variablen in Punktnotation nicht mit einem einfachen Hotkey als Debugzeile eingefügt werden können.
Meine jetzige Lösung erkennt (so weit ich bisher sehen konnte) alle syntaktisch erlaubten Variablenschreibweisen. Arrayausdrücke in beliebiger Dimension, ineinander geschachtelt und/oder mit Funktionen als Index etc.
Im Text der Debugzeile vor dem Variablenwert werden Schleifenvariablen von Arrays einzeln aufgelöst, somit kann ein falscher Wert gleich dem entsprechenden Index zugeordnet werden. Sollte allerdings eine Variable mit einem Klammerausdruck beginnen, wird der gesamte innere Ausdruck aufgelöst, selbst wenn dort nochmals Array-Indizes enthalten sein sollten.
; $varXYZ
ConsoleWrite('@@_Debug_line' & @TAB & @TAB & @ScriptLineNumber & ' var: ' & '$varXYZ' & ' --> ' & $varXYZ & @CRLF)
; $var[$i]
ConsoleWrite('@@_Debug_line' & @TAB & @TAB & @ScriptLineNumber & ' var: ' & '$var[' & $i & ']' & ' --> ' & $var[$i] & @CRLF)
; $var[$i][$j]
ConsoleWrite('@@_Debug_line' & @TAB & @TAB & @ScriptLineNumber & ' var: ' & '$var[' & $i & '][' & $j & ']' & ' --> ' & $var[$i][$j] & @CRLF)
; $ar[0][1]
ConsoleWrite('@@_Debug_line' & @TAB & @TAB & @ScriptLineNumber & ' var: ' & '$ar[' & 0 & '][' & 1 & ']' & ' --> ' & $ar[0][1] & @CRLF)
; ($var[$i][$j])[$f][$g][$h]
ConsoleWrite('@@_Debug_line' & @TAB & @TAB & @ScriptLineNumber & ' var: ' & '(' & $var[$i][$j] & ')[' & $f & '][' & $g & '][' & $h & ']' & ' --> ' & ($var[$i][$j])[$f][$g][$h] & @CRLF)
; ($var[$i][$j]).mu.ma
ConsoleWrite('@@_Debug_line' & @TAB & @TAB & @ScriptLineNumber & ' var: ' & '(' & $var[$i][$j] & ').mu.ma' & ' --> ' & ($var[$i][$j]).mu.ma & @CRLF)
; ($var[$i][$j][$k][($l-15)^2][6*3]).mama.mia
ConsoleWrite('@@_Debug_line' & @TAB & @TAB & @ScriptLineNumber & ' var: ' & '(' & $var[$i][$j][$k][($l-15)^2][6*3] & ').mama.mia' & ' --> ' & ($var[$i][$j][$k][($l-15)^2][6*3]).mama.mia & @CRLF)
; $ar[_getIndex1($i)][_getIndex2($j)]
ConsoleWrite('@@_Debug_line' & @TAB & @TAB & @ScriptLineNumber & ' var: ' & '$ar[' & _getIndex1($i) & '][' & _getIndex2($j) & ']' & ' --> ' & $ar[_getIndex1($i)][_getIndex2($j)] & @CRLF)
; $tRectDraw.Bottom
ConsoleWrite('@@_Debug_line' & @TAB & @TAB & @ScriptLineNumber & ' var: ' & '$tRectDraw.Bottom' & ' --> ' & $tRectDraw.Bottom & @CRLF)
; $gm["Index"]
ConsoleWrite('@@_Debug_line' & @TAB & @TAB & @ScriptLineNumber & ' var: ' & '$gm[' & "Index" & ']' & ' --> ' & $gm["Index"] & @CRLF)
Alles anzeigen
Wie einbinden?
- "DebugAU3.lua" abspeichern
- Aufrufe über Hotkeys in der "SciTEUser.properties" definieren
- Für unterschiedliche Aufrufvarianten die props in der command-Zeile ( hier: command.38.$(au3) ) anpassen
Bsp.
command.name.38.$(au3)=DebugAU3 + Err + Ext
command.mode.38.$(au3)=subsystem:lua,savebefore:no
command.38.$(au3)=dostring do props['debug.err.au3'] = 'err_ext' props['debug.err.au3.raw'] = '0' dofile(props["Lua.User.Scripts.Path"]..'/DebugAU3.lua') end
command.shortcut.38.$(au3)=Alt+KeypadMinus
# props["Lua.User.Scripts.Path"] --> ist meine private Pfad Property für Lua Skripte
# Ersetzt das mit eurem Speicherpfad, z.B.: "C:\\users\\MICKYMOUSE\\scripts\\DebugAU3.lua"
# Debug type: props['debug.err.au3'] = '' (var only), or ('err' var+err, 'ext' var+ext, 'err_ext' var+err+ext)
# Debug text mode: props['debug.err.au3.raw'] = '0' or ('1' = 'raw')
Alles anzeigen
Eine kpl. Beschreibung findet ihr im Skriptkopf.
--[[ Debug current au3-variable, by @BugFix
• Recognizes all syntactically allowed forms of variables in au3 scripts (also nested and with functions inside)
• Resolve internal references in the description text for most syntax variants
• Non-resolvable syntax variants can be output as "raw" via call parameter
• Output: Variable only, Variable + Error, Variable + Error + Extended, Variable + Extended
• Any output type can be combined with the "raw" parameter
• All settings are made in the shortcut definition in "SciTEUser.properties".
example:
command.name.38.$(au3)=DebugAU3 + Err + Ext
command.mode.38.$(au3)=subsystem:lua,savebefore:no
command.38.$(au3)=dostring do props['debug.err.au3'] = 'err_ext' props['debug.err.au3.raw'] = '0' dofile(props["Lua.User.Scripts.Path"]..'/DebugAU3.lua') end
command.shortcut.38.$(au3)=Alt+KeypadMinus
props["Lua.User.Scripts.Path"] --> this is my private path property for lua scripts
replace this with your storage path, i.e. "C:\\users\\MICKYMOUSE\\scripts\\DebugAU3.lua"
Debug type: props['debug.err.au3'] = '' (var only), or ('err' var+err, 'ext' var+ext, 'err_ext' var+err+ext)
Debug text mode: props['debug.err.au3.raw'] = '0' or ('1' = 'raw')
]]
--[[ Samples, partly very specific ;=p
• $varXYZ
ConsoleWrite('@@_Debug_line' & @TAB & @TAB & @ScriptLineNumber & ' var: ' & '$varXYZ' & ' --> ' & $varXYZ & @CRLF)
• $var[$i]
ConsoleWrite('@@_Debug_line' & @TAB & @TAB & @ScriptLineNumber & ' var: ' & '$var[' & $i & ']' & ' --> ' & $var[$i] & @CRLF)
• $var[$i][$j]
ConsoleWrite('@@_Debug_line' & @TAB & @TAB & @ScriptLineNumber & ' var: ' & '$var[' & $i & '][' & $j & ']' & ' --> ' & $var[$i][$j] & @CRLF)
• $ar[0][1]
ConsoleWrite('@@_Debug_line' & @TAB & @TAB & @ScriptLineNumber & ' var: ' & '$ar[' & 0 & '][' & 1 & ']' & ' --> ' & $ar[0][1] & @CRLF)
• ($var[$i][$j])[$f][$g][$h]
ConsoleWrite('@@_Debug_line' & @TAB & @TAB & @ScriptLineNumber & ' var: ' & '(' & $var[$i][$j] & ')[' & $f & '][' & $g & '][' & $h & ']' & ' --> ' & ($var[$i][$j])[$f][$g][$h] & @CRLF)
• ($var[$i][$j]).mu.ma
ConsoleWrite('@@_Debug_line' & @TAB & @TAB & @ScriptLineNumber & ' var: ' & '(' & $var[$i][$j] & ').mu.ma' & ' --> ' & ($var[$i][$j]).mu.ma & @CRLF)
• ($var[$i][$j][$k][($l-15)^2][6*3]).mama.mia
ConsoleWrite('@@_Debug_line' & @TAB & @TAB & @ScriptLineNumber & ' var: ' & '(' & $var[$i][$j][$k][($l-15)^2][6*3] & ').mama.mia' & ' --> ' & ($var[$i][$j][$k][($l-15)^2][6*3]).mama.mia & @CRLF)
• $ar[_getIndex1($i)][_getIndex2($j)]
ConsoleWrite('@@_Debug_line' & @TAB & @TAB & @ScriptLineNumber & ' var: ' & '$ar[' & _getIndex1($i) & '][' & _getIndex2($j) & ']' & ' --> ' & $ar[_getIndex1($i)][_getIndex2($j)] & @CRLF)
• $tRectDraw.Bottom
ConsoleWrite('@@_Debug_line' & @TAB & @TAB & @ScriptLineNumber & ' var: ' & '$tRectDraw.Bottom' & ' --> ' & $tRectDraw.Bottom & @CRLF)
• $gm["Index"]
ConsoleWrite('@@_Debug_line' & @TAB & @TAB & @ScriptLineNumber & ' var: ' & '$gm[' & "Index" & ']' & ' --> ' & $gm["Index"] & @CRLF)
with the parameter
'err' is added: & "!@ " & @TAB & "#Error: " & @error & @CRLF)
'err_ext' is added: & "!@ " & @TAB & "#Error: " & @error & @TAB & "#Extended: " & @extended & @CRLF)
'ext' is added: & "!@ " & @TAB & "#Extended: " & @extended & @CRLF)
Howto use:
Place the cursor in the variable's base name or in front of the "$" and press the key combination.
If the variable is the first in the line, you can set the cursor to any position before it.
If the variable is the last one in the line, you can set the cursor to any position after it.
If the first part of the variable is enclosed in round brackets, an attempt is made to resolve the entire part as one value.
]]
local debugAU3 = {
caret = nil,
sline = nil,
iline = nil,
pstart = nil,
pend = nil,
svar = "$",
compareStr = function(self, _t, _v)
for _, v in pairs(_t) do
if v == _v then return true end
end
return false
end,
searchStartLeft = function(self)
if editor.CharAt[self.caret] == 36 then return self.caret end
while (editor.CharAt[editor.CurrentPos]) ~= 36 do
editor:CharLeft()
if (editor.CurrentPos == 0) or (editor:LineFromPosition(editor.CurrentPos) < self.iline) then
-- no match to the left of the cursor (now at editor position '0' or in the previous line)
-- search on the right side
return self:searchStartRight()
end
end
return editor.CurrentPos
end,
searchStartRight = function(self)
-- back to start position and search on the right side for the first "$"
editor.CurrentPos = self.caret
repeat
editor:CharRight()
until editor.CharAt[editor.CurrentPos] == 36
return editor.CurrentPos
end,
searchVar = function(self)
self.caret = editor.CurrentPos
self.iline = editor:LineFromPosition(self.caret)
self.sline = editor:GetCurLine()
if not self.sline:find("%$") then return nil end -- the line does not contain a variable
self.pstart = self:searchStartLeft()
local chrnext
local function nextCharLineEnd()
if editor:PositionAfter(editor.CurrentPos) == editor.LineEndPosition[self.iline] then
return true else return false end
end
local function grabArray(_addcurrent)
if string.char(editor.CharAt[editor:PositionAfter(editor.CurrentPos)]) ~= '[' then return nil end
if _addcurrent ~= nil then
self.svar = self.svar..string.char(editor.CharAt[editor.CurrentPos])
end
local count, slast = 0, ''
repeat
editor:CharRight()
chrnext = string.char(editor.CharAt[editor.CurrentPos])
if chrnext == '[' then
count = count +1
elseif chrnext == ']' then
if slast == '[' then
self.pend = self.pend -1
self.svar = self.svar:sub(1,(self.svar:len()-1))
break
end
count = count -1
end
slast = chrnext
self.svar = self.svar..chrnext
self.pend = editor.CurrentPos
if nextCharLineEnd() == true then break end
until (count == 0) and (string.char(editor.CharAt[editor:PositionAfter(editor.CurrentPos)]) ~= '[')
return true
end
local function grabDotNotation(_addcurrent)
if string.char(editor.CharAt[editor:PositionAfter(editor.CurrentPos)]) ~= '.' then return nil end
if nextCharLineEnd() == true then return nil end
if _addcurrent ~= nil then
self.svar = self.svar..string.char(editor.CharAt[editor.CurrentPos])
end
while editor:PositionAfter(editor.CurrentPos) ~= editor.CurrentPos do
editor:CharRight()
chrnext = string.char(editor.CharAt[editor.CurrentPos])
if chrnext:find('[%._%w]') then
self.svar = self.svar..chrnext
self.pend = editor.CurrentPos
else
editor:CharLeft()
self.pend = self.pend -1
break
end
end
return true
end
local function grabRoundBraces()
if string.char(editor.CharAt[editor:PositionAfter(editor.CurrentPos)]) ~= ')' then return nil end
if nextCharLineEnd() == true then return nil end
if (nextCharLineEnd() == false) and (editor:PositionFromLine(self.iline) < self.pstart) then
if (string.char(editor.CharAt[editor:PositionBefore(self.pstart)]) == '(') and
(string.char(editor.CharAt[editor:PositionAfter(editor.CurrentPos)]) == ')') then
editor:CharRight() -- goto ')'
if (grabDotNotation(true) ~= nil) or (grabArray(true) ~= nil) then
self.svar = '('..self.svar
end
end
end
return true
end
-- base name: $var
while editor:PositionAfter(editor.CurrentPos) ~= editor.CurrentPos do
chrnext = editor:PositionAfter(editor.CurrentPos)
if string.char(editor.CharAt[chrnext]):find('[_%w]') then
editor:CharRight()
self.svar = self.svar..string.char(editor.CharAt[editor.CurrentPos])
else -- caret now before the last char from variable name
self.pend = editor.CurrentPos
break
end
end
-- base name and possible dot notation: $var.abc
grabDotNotation()
-- base name and possible dot notation and following possible dot notation or array index
-- ($var.abc).def ($var.abc)[$i][$j][$k]
grabRoundBraces()
-- follows: space, comma, line end or a operator --> the variable is complete
chrnext = string.char(editor.CharAt[editor:PositionAfter(self.pend)])
if self:compareStr({' ','+','-','*','/','^',',','\r','\n'}, chrnext) then return true end
-- grabs the array, if any, in arbitrary dimensions
if chrnext == '[' then
-- each pair "[..]" will added
grabArray()
-- checks for possible following dot notation and add
grabDotNotation()
end
-- if result in round braces and
-- dot notation and/or array indices was found (also nested)
-- example ("|" is the caret position):
-- $f4 = ($array[((($va|r1).abc).def).ghi)][$y][$z][$var2][$var3]).prop
-- found: ((($var1).abc).def).ghi
-- $f4 = ($array[((($va|r1).abc).def).ghi)][$y][$z][$var2][$var3]).prop
-- found: ($array[((($var1).abc).def).ghi)][$y][$z][$var2][$var3]).prop
while true do
if grabRoundBraces() == nil then break end
end
return true
end,
writeDebugLine = function(self)
local function separateIndices(_s, _fromstart)
local ret = ''
local s, e, l = _s:find('%b[]')
if s == nil then return _s end
if _fromstart == true then ret = _s:sub(1, s -1) end
repeat
l = e
if s > l +1 then ret = ret.._s:sub(l +1, s -1) end
ret = ret.."[' & ".._s:sub(s +1, e -1).." & ']"
s, e = _s:find('%b[]', l)
until s == nil
if e ~= nil and e < _s:len() then ret = ret.._s:sub(e +1) end
return ret
end
if self:searchVar() == nil then
print("!> No or no valid variable found in line ["..(self.iline +1).."].")
else
local swrite, out, serr = self.svar, '', ''
if props['debug.err.au3'] == 'err' then
serr = ' & "!@ " & @TAB & "#Error: " & @error & @CRLF'
elseif props['debug.err.au3'] == 'err_ext' then
serr = ' & "!@ " & @TAB & "#Error: " & @error & @TAB & "#Extended: " & @extended & @CRLF'
elseif props['debug.err.au3'] == 'ext' then
serr = ' & "!@ " & @TAB & "#Extended: " & @extended & @CRLF'
end
-- for very special variables use raw mode (debug.err.au3.raw=1)
if props['debug.err.au3.raw'] == '0' then
-- if starts with "(" --> execute the code between the balanced "()"
local n, open, close, cl_last = 0, swrite:find('%b()')
if open ~= nil and open == 1 then
repeat
cl_last = close
n = n +1
if n == 1 then out = out.."(' & "..swrite:sub(open +1, close -1).." & ')" end
open, close = swrite:find('%b()', cl_last)
if open ~= nil then
out = out..separateIndices(swrite:sub(cl_last +1, open -1))
else
out = out..separateIndices(swrite:sub(cl_last +1))
end
until open == nil
else
out = separateIndices(self.svar, true)
end
end
out = "\nConsoleWrite('@@_Debug_line' & @TAB & @TAB & @ScriptLineNumber & ' var: ' & '"..out.."' & ' --> ' & "..self.svar.." & @CRLF"..serr..")"
editor:LineEnd()
editor:InsertText(editor.CurrentPos, out)
editor.CurrentPos = self.caret
editor:SetSel(self.caret, self.caret)
end
end
}
debugAU3:writeDebugLine()
Alles anzeigen
Danke für den Hinweis... könnte man eigentlich als Bug melden. Denn eine klare Trennung zwischen Suchwort und reg Expression gibt es dann, da das Suchwort von ist, ja eigentlich nicht?
Nein.
Entweder du hast ein reines Suchwort (String) oder du verwendest einen Regulären Ausdruck, der auf dein Suchwort zutrifft.
Um auf dein Bsp. mit 'vonhiernachHause' zurück zu kommen, wäre als Pattern möglich:
- Ausdruck beginnt mit "von"
- gefolgt von 1-beliebig viele Zeichen (hier könntest du noch verfeinern auf z. B. nur Buchstaben)
Pattern: "^von. *"
ui, ein Theme-battle
Nichts dagegen. ![]()
Ihr habt die Änderungen in der SciTEUser.properties eingefügt. Genau das wollte ich aber vermeiden, weil man dann eben nicht mal schnell ein anderes Theme testen kann.
- Alle Farbzuweisungen in eine eigene *.properties stecken.
- Diese theme.properties als letzten Befehl in der SciTEUser.properties importieren.
Meine Datei ist so groß, weil ich neben Kommentarzeilen auch einen Block mit Farbvariablen eingefügt habe.
Mit SciTE ein Dark Theme zu verwenden ist (beim ersten mal) etwas aufwändig. Es genügt ja nicht die Farben in den Styles von AutoIt zu ändern - es müssen sämtliche Properties rausgesucht werden, die eine Farbe verwenden.
Ebenso müssen die Styles für die Dateitypen angepasst werden, die man selbst auch in SciTE öffnet. Das betrifft auf jeden Fall die *.properties.
Der einfachste Weg ist, alle Angaben in einer eigenen Properties Datei zu definieren und diese als letzten Aufruf in die SciTEUser.properties zu setzen. Auf diese Weise kann man auch verschiedene Themes vorbereiten und nur durch Änderung des Aufrufs diese laden.
Es braucht auch keine andere Zuweisung in der SciTEUser.properties auskommentiert zu werden, da die geänderten Werte zuletzt geladen werden und somit vorherige Zuweisungen überschreiben.
Ich habe die verwendeten Farben vorher als Variablen definiert. Kann man natürlich weglassen und die Farbwerte direkt schreiben. Ich finde aber "sprechende" Farbnamen verständlicher.
EDIT:
Für die Bearbeitung von Lua-Skripten in SciTE, habe ich jetzt ein adäquates Theme erstellt.
Da für Lua in den Styles und Keyworddefinitionen ziemlich viel bunt zusammengeworfen wurde, habe ich das etwas umgebogen. Jetzt haben: if then local etc. eine eigene Keywordclass.
Ebenso habe ich alle Editorfunktionen (editor: /editor. /output: /output.) der Funktionsklasse zugefügt. (Ich weiß, dass nicht alle editor-Funktionen auch als output-Funktionen existieren, habe aber trotzdem 1:1 übernommen - ging am Schnellsten und schadet zumindest nicht.
)
Weiterhin gibt es eine Klasse "keywords.user" für eigene Funktionen, die ebenfalls im Style der Funktionen dargestellt werden. Dort habe ich z.Zt. nur "self" zu stehen - ist zwar keine Funktion, grenzt aber den Zugriff auf Methoden und Eigenschaften gut ab.
#========= COLOR VARIABLEN
# back colors
black.29=#1D1D1D
black.16=#101010
dark.slate.gray=#2F4F4F
#-------------------------
dark.back=$(black.29)
#-------------------------
#fore colors
white.antique=#FAEBD7
white.snow=#FFFAFA
gray.lite=#D3D3D3
#-------------------------
dark.fore=$(gray.lite)
#-------------------------
red=#FF0000
white=#FFFFFF
yellow=#FFA200
orange=#FFC90E
green=#00A800
magenta=#FF00FF
khaki=#F0E68C
chocolate=#D2691E
peachpuff=#FFDAB9
red.light=#FF3020
red.brown=#690015
red.medium=#FF201F
blue.steel=#46697E
yellow.light=#FFFF00
green.yellow=#ADFF2F
green.lightsea=#20B2AA
green.mediumsea=#3CB371
cyan.light=#D8F9F9
khaki.dark=#BDB76B
magenta.dark=#8B008B
magenta.medium=#C864C8
magenta.nobright=#D200D2
blue.royal=#4169E1
blue.deepsky=#00BFFF
black.light=#282321
pink.hot=#FF69B4
#========= FOLDING
fold.highlight.colour=$(red)
# 6 digit colours (#FF3020) and 8 digit colour+alpha (#FF302040) are supported.
fold.line.colour=$(red.light)
fold.margin.colour=$(dark.back)
fold.margin.highlight.colour=$(dark.back)
fold.fore=$(blue.steel)
fold.back=$(dark.back)
#========= GLOBAL DEFAULT STYLES FOR ALL LANGUAGES
# Default
style.*.32=$(font.base),fore:$(dark.fore),back:$(dark.back)
# Display line numbers in the margin
style.*.33=fore:$(dark.fore),back:$(dark.back)
# Brace highlight
style.*.34=fore:$(cyan.light),back:$(dark.back)
# Brace incomplete highlight
style.*.35=fore:$(khaki.dark),back:$(dark.back)
# Control characters
style.*.36=
# Indentation guides
style.*.37=fore:$(khaki.dark),back:$(dark.back)
# Calltipps
style.*.38=fore:$(red),back:$(dark.back)
#========= CARET
# the background colour and translucency used for line containing the caret
caret.line.back=$(black.16)
caret.line.back.alpha=256
caret.fore=$(dark.fore)
#~ caret.additional.fore=
selection.fore=$(orange)
selection.alpha=50
selection.back=$(magenta.dark)
#========= INLINE ERROR
# default
style.error.0=fore:$(dark.fore),back:$(dark.back)
# warnings
style.error.1=fore:$(magenta.nobright),back:$(khaki)
# errors
style.error.2=fore:$(white),back:$(red)
# fatal errors
#~ style.error.3=
# !! The severity of a message is inferred from finding the text "warning", "error", or "fatal" in the message.
#========= OUTPUT PANE uses errorlist colors
style.errorlist.32=$(font.small),$(dark.back)
style.errorlist.0=fore:$(dark.fore),back:$(dark.back),eolfilled
# diff changed >
style.errorlist.4=fore:$(blue.royal),back:$(dark.back),eolfilled
# diff changed !
style.errorlist.10=fore:$(red.light),back:$(dark.back),eolfilled
# diff addition +
style.errorlist.11=fore:$(green),back:$(dark.back),eolfilled
# diff deletion -
style.errorlist.12=fore:$(yellow),back:$(dark.back),eolfilled
# diff message --- and +++
style.errorlist.13=fore:$(magenta),back:$(dark.back),eolfilled
#========= ERROR MARKER
# The colours used to indicate error and warning lines in both the edit and output panes are set with these two values.
# If there is a margin on a pane then a symbol is displayed in the margin to indicate the error message for the output pane
# or the line causing the error message for the edit pane.
# The error.marker.fore is used as the outline colour.
error.marker.fore=$(yellow.light)
# The error.marker.back is used as the fill colour of the symbol.
# If there is no margin then the background to the line is set to the error.marker.back colour.
error.marker.back=$(black.light)
highlight.current.word.colour=$(blue.deepsky)
calltips.color.highlight=$(red)
edge.colour=$(red.brown)
#========= BOOKMARKS (display in the margin)
# The colours used to display bookmarks in the margin.
# If bookmark.fore is empty then a blue sphere is used.
# Symbols: http://www.scintilla.org/ScintillaDoc.html#SCI_MARKERDEFINE (0 - 31)
# 0-Kreis, 1-Quadrat, 2-Dreieck, 3-Rechteck, 4-Pfeil r., 8-Plus, 22-Full line, 23-..., 24->>>, 29-Underline
bookmark.symbol=2
bookmark.fore=$(green.yellow)
bookmark.back=$(green.yellow)
###=== PROPERTIES STYLES =======
# Default
style.props.0=fore:$(blue.deepsky)
# Comment
style.props.1=fore:$(dark.fore),$(font.comment)
# Selection
style.props.2=$(colour.string),back:$(magenta.dark),eolfilled
# Assignment operator
style.props.3=fore:$(red.light)
# Default value (@)
style.props.4=$(dark.fore)
# Key
style.props.5=fore:$(green),bold
# Background
style.props.32=$(font.base),back:$(dark.back)
# Matched Operators
style.props.34=fore:$(red),notbold
style.props.35=fore:$(red.light),notbold
comment.block.props=#~
###=============================
#========= COLOR SETTINGS AutoIt
#Background
style.au3.32=style.*.32=$(font.base),back:$(dark.back)
#CaretLineBackground
caret.line.back=$(black.16)
# Brace highlight
style.au3.34=fore:$(cyan.light),back:$(dark.back),bold
# Brace incomplete highlight
style.au3.35=fore:$(khaki.dark),back:$(dark.back),bold
# White space
style.au3.0=fore:$(dark.fore)
# Comment line
style.au3.1=fore:$(green.lightsea),italics
# Comment block
style.au3.2=fore:$(green.mediumsea),back:$(black.light),italics,eolfilled
# Number
style.au3.3=fore:$(blue.deepsky),back:$(dark.back)
# Function
style.au3.4=fore:$(khaki),back:$(dark.back)
# Keyword
style.au3.5=fore:$(chocolate),back:$(dark.back)
# Macro
style.au3.6=fore:$(magenta.nobright),back:$(dark.back)
# String
style.au3.7=fore:$(pink.hot),back:$(dark.back)
# Operator
style.au3.8=fore:$(khaki.dark),back:$(dark.back)
# Variable
style.au3.9=fore:$(dark.fore),back:$(dark.back),italics
# Send keys in string
style.au3.10=fore:$(red.medium),back:$(dark.back)
# Pre-Processor
style.au3.11=fore:$(peachpuff),back:$(dark.back)
# Special
style.au3.12=fore:$(peachpuff),back:$(dark.back)
# Abbrev-Expand
style.au3.13=fore:$(orange),back:$(dark.back)
# COM Objects
style.au3.14=fore:$(magenta.medium),back:$(dark.back),italics
#Standard UDF's
style.au3.15=fore:$(blue.royal),back:$(dark.back),italics
#User UDF's
style.au3.16=$(style.au3.15)
Alles anzeigen
# Lua styles
#========================================================= Globals already set in default dark.theme
# Default
#~ style.*.32=$(font.base),fore:#D3D3D3,back:#1D1D1D
# Display line numbers in the margin
#~ style.*.33=fore:#D3D3D3,back:#2F4F4F
# Brace highlight
#~ style.*.34=fore:#D8F9F9,back:#1D1D1D
# Brace incomplete highlight
#~ style.*.35=fore:#BDB76B,back:#1D1D1D
# Control characters
#~ style.*.36=
# Indentation guides
#~ style.*.37=fore:#BDB76B,back:#1D1D1D
# Calltipps
#~ style.*.38=fore:#FF0000,back:#1D1D1D
# FOLDING
#~ fold.highlight.colour=#FF0000
# 6 digit colours (#FF3020) and 8 digit colour+alpha (#FF302040) are supported.
#~ fold.line.colour=#FF3020
#~ fold.margin.colour=#1D1D1D
#~ fold.margin.highlight.colour=#1D1D1D
#~ fold.fore=#46697E
#~ fold.back=#1D1D1D
# CARET
# the background colour and translucency used for line containing the caret
#~ caret.line.back=#101010
#~ caret.line.back.alpha=256
#~ caret.fore=#D3D3D3
#~ caret.additional.fore=
#~ selection.fore=#FFC90E
#~ selection.alpha=50
#~ selection.back=#8B008B
#===================================================================================================
#Default
style.lua.32=$(font.code.base),back:#1D1D1D
# White space: Visible only in View Whitespace mode (or if it has a back colour)
style.lua.0=fore:#DCDCCC
# Block comment (Lua 5.0)
style.lua.1=$(colour.code.comment.box),$(font.code.comment.box),back:#D0F0F0,eolfilled
style.lua.1=fore:#7F9F7F,back:#282321,italics,eolfilled
# Line comment
style.lua.2=fore:#709F7F,italics
# Doc comment -- Not used in Lua (yet?)
style.lua.3=$(colour.notused),$(font.notused)
# Number
style.lua.4=fore:#8CD0B8,back:#1D1D1D
# Keyword --- Function !!
style.lua.5=fore:#00BFFF,back:#1D1D1D
# (Double quoted) String
style.lua.6=fore:#CC9393,back:#1D1D1D
# Character (Single quoted string)
style.lua.7=fore:#CC9393,back:#1D1D1D
# Literal string
style.lua.8=fore:#CC9393,back:#1D1D1D
# Preprocessor (obsolete in Lua 4.0 and up)
style.lua.9=fore:#FFCFAF,back:#1D1D1D
# Operators
style.lua.10=fore:#9F9D61,back:#1D1D1D
# Identifier (everything else...)
#~ style.lua.11=fore:#DCDCCC,back:#1D1D1D,italics
style.lua.11=fore:#F0E68C,back:#1D1D1D,italics
# End of line where string is not closed
style.lua.12=back:#880015,eolfilled
# Other keywords (bozo test colors, but toned down ;)
style.lua.13=$(style.lua.5),back:#1D1D1D
# table. / string. / math. / bit32. / utf8.
style.lua.14=fore:#00BFFF,back:#1D1D1D
# coroutine. / io. / os. / package. / module / require
style.lua.15=fore:#D200D2,back:#1D1D1D
# keywords5
style.lua.16=fore:#D2691E,back:#1D1D1D
# 17, 18, 19 are not recognized
#~ style.lua.17=fore:#FF0000,back:#1D1D1D
#~ style.lua.18=fore:#FF0000,back:#1D1D1D
#~ style.lua.19=fore:#FF0000,back:#1D1D1D
# Labels
style.lua.20=fore:#7F7F00,back:#1D1D1D
# Braces are only matched in operator style
braces.lua.style=10
# Add keywords5, 6, 7 & 8 for user-defined libraries
# ONLY #5 are recognized!!!
# delete default class: keywords.
keywords.$(file.patterns.lua)=
# for unique style set them as class: keywords5.
keywords5.$(file.patterns.lua)=\
and break do else elseif \
end for function if in \
local nil not or repeat \
return then until while false true goto
#~ keywords6.$(file.patterns.lua)=keyword_6
#~ keywords7.$(file.patterns.lua)=keyword_7
#~ keywords8.$(file.patterns.lua)=keyword_8
###########################################
# delete "require" from both properties (delete all, set new without "require")
# is correctly included in keyword class 4.
keywordclass2.lua50=
keywordclass2.lua50=$(keywordclass2.lua5) \
getfenv gcinfo loadlib loadstring \
setfenv unpack _LOADED LUA_PATH _REQUIREDNAME
keywordclass2.lua5x=
keywordclass2.lua5x=$(keywordclass2.lua5) \
getfenv gcinfo load loadlib loadstring \
select setfenv unpack \
_LOADED LUA_PATH _REQUIREDNAME \
package rawlen package bit32 utf8 _ENV
###########################################
# Define keywords
# User funcs
keywords.user=\
self
# Debug (not used by default)
keywords.debug=\
debug.debug debug.gethook debug.getinfo debug.getlocal debug.getupvalue \
debug.getfenv debug.getmetatable debug.getregistry debug.getuservalue \
debug.setlocal debug.setupvalue debug.sethook debug.traceback \
debug.setfenv debug.setmetatable debug.setuservalue \
debug.upvalueid debug.upvaluejoin
# SciTE keywords
keywords.scite.lua=\
scite.ConstantName scite.MenuCommand scite.Open \
scite.ReloadProperties scite.SendEditor scite.SendOutput \
scite.StripShow scite.StripSet scite.StripSetList scite.StripValue
# Editor & Output Pane keywords
keywords.editor.lua=\
editor:append editor:findtext editor:insert editor:match editor:remove editor:textrange editor:AddRefDocument \
editor:AddSelection editor:AddStyledText editor:AddText editor:AddUndoAction editor:Allocate editor:AnnotationClearAll \
editor:AnnotationGetStyles editor:AnnotationGetText editor:AnnotationSetStyles editor:AnnotationSetText \
editor:AppendText editor:AssignCmdKey editor:AutoCActive editor:AutoCCancel editor:AutoCComplete editor:AutoCGetCurrent \
editor:AutoCGetCurrentText editor:AutoCPosStart editor:AutoCSelect editor:AutoCShow editor:AutoCStops \
editor:BackTab editor:BeginUndoAction editor:BraceBadLight editor:BraceHighlight editor:BraceMatch editor:CallTipActive \
editor:CallTipCancel editor:CallTipPosStart editor:CallTipSetHlt editor:CallTipShow editor:Cancel editor:ChangeLexerState \
editor:CanPaste editor:CanRedo editor:CanUndo editor:CharLeft editor:CharLeftExtend editor:CharLeftRectExtend \
editor:CharPositionFromPoint editor:CharPositionFromPointClose editor:CharRight editor:CharRightExtend \
editor:CharRightRectExtend editor:ChooseCaretX editor:Clear editor:ClearAll editor:ClearAllCmdKeys editor:ClearCmdKey \
editor:ClearDocumentStyle editor:ClearRegisteredImages editor:ClearSelections editor:Colourise editor:ContractedFoldNext \
editor:ConvertEOLs editor:Copy editor:CopyAllowLine editor:CopyRange editor:CopyText editor:CreateDocument \
editor:Cut editor:DeleteBack editor:DeleteBackNotLine editor:DescribeKeyWordSets editor:DescribeProperty \
editor:DelLineLeft editor:DelLineRight editor:DelWordLeft editor:DelWordRight editor:DelWordRightEnd \
editor:DocLineFromVisible editor:DocumentEnd editor:DocumentEndExtend editor:DocumentStart editor:DocumentStartExtend \
editor:EditToggleOvertype editor:EmptyUndoBuffer editor:EncodedFromUTF8 editor:EndUndoAction editor:EnsureVisible \
editor:EnsureVisibleEnforcePolicy editor:FindColumn editor:FormatRange editor:FormFeed editor:GetCurLine \
editor:GetHotspotActiveBack editor:GetHotspotActiveFore editor:GetLastChild editor:GetLexerLanguage editor:GetLine \
editor:GetLineSelEndPosition editor:GetLineSelStartPosition editor:GetProperty editor:GetPropertyExpanded \
editor:GetSelText editor:GetStyledText editor:GetTag editor:GetText editor:GetTextRange editor:GotoLine \
editor:GotoPos editor:GrabFocus editor:HideLines editor:HideSelection editor:Home editor:HomeDisplay \
editor:HomeDisplayExtend editor:HomeExtend editor:HomeRectExtend editor:HomeWrap editor:HomeWrapExtend \
editor:IndicatorAllOnFor editor:IndicatorClearRange editor:IndicatorEnd editor:IndicatorFillRange editor:IndicatorStart \
editor:IndicatorValueAt editor:InsertText editor:LineCopy editor:LineCut editor:LineDelete editor:LineDown \
editor:LineDownExtend editor:LineDownRectExtend editor:LineDuplicate editor:LineEnd editor:LineEndDisplay \
editor:LineEndDisplayExtend editor:LineEndExtend editor:LineEndRectExtend editor:LineEndWrap editor:LineEndWrapExtend \
editor:LineFromPosition editor:LineLength editor:LineScroll editor:LineScrollDown editor:LineScrollUp \
editor:LinesJoin editor:LinesSplit editor:LineTranspose editor:LineUp editor:LineUpExtend editor:LineUpRectExtend \
editor:LoadLexerLibrary editor:LowerCase editor:MarginGetStyles editor:MarginGetText editor:MarginSetStyles \
editor:MarginSetText editor:MarginTextClearAll editor:MarkerAdd editor:MarkerAddSet editor:MarkerDefine \
editor:MarkerDefinePixmap editor:MarkerDelete editor:MarkerDeleteAll editor:MarkerDeleteHandle editor:MarkerGet \
editor:MarkerLineFromHandle editor:MarkerNext editor:MarkerPrevious editor:MarkerSetAlpha editor:MarkerSymbolDefined \
editor:MoveCaretInsideView editor:NewLine editor:Null editor:PageDown editor:PageDownExtend editor:PageDownRectExtend \
editor:PageUp editor:PageUpExtend editor:PageUpRectExtend editor:ParaDown editor:ParaDownExtend editor:ParaUp \
editor:ParaUpExtend editor:Paste editor:PointXFromPosition editor:PointYFromPosition editor:PositionAfter \
editor:PositionBefore editor:PositionFromLine editor:PositionFromPoint editor:PositionFromPointClose \
editor:PrivateLexerCall editor:PropertyNames editor:PropertyType editor:Redo editor:RegisterImage editor:ReleaseDocument \
editor:ReplaceSel editor:ReplaceTarget editor:ReplaceTargetRE editor:RotateSelection editor:ScrollCaret \
editor:SearchAnchor editor:SearchInTarget editor:SearchNext editor:SearchPrev editor:SelectAll editor:SelectionDuplicate \
editor:SetCharsDefault editor:SetFoldFlags editor:SetFoldMarginColour editor:SetFoldMarginHiColour editor:SetHotspotActiveBack \
editor:SetHotspotActiveFore editor:SetLengthForEncode editor:SetLexerLanguage editor:SetSavePoint editor:SetSel \
editor:SetSelBack editor:SetSelection editor:SetSelFore editor:SetStyling editor:SetStylingEx editor:SetText \
editor:SetVisiblePolicy editor:SetWhitespaceBack editor:SetWhitespaceFore editor:SetXCaretPolicy editor:SetYCaretPolicy \
editor:ShowLines editor:StartRecord editor:StartStyling editor:StopRecord editor:StutteredPageDown editor:StutteredPageDownExtend \
editor:StutteredPageUp editor:StutteredPageUpExtend editor:StyleClearAll editor:StyleGetFont editor:StyleResetDefault \
editor:SwapMainAnchorCaret editor:Tab editor:TargetAsUTF8 editor:TargetFromSelection editor:TextHeight \
editor:TextWidth editor:ToggleCaretSticky editor:ToggleFold editor:Undo editor:UpperCase editor:UsePopUp \
editor:UserListShow editor:VCHome editor:VCHomeExtend editor:VCHomeRectExtend editor:VCHomeWrap editor:VCHomeWrapExtend \
editor:VerticalCentreCaret editor:VisibleFromDocLine editor:WordEndPosition editor:WordLeft editor:WordLeftEnd \
editor:WordLeftEndExtend editor:WordLeftExtend editor:WordPartLeft editor:WordPartLeftExtend editor:WordPartRight \
editor:WordPartRightExtend editor:WordRight editor:WordRightEnd editor:WordRightEndExtend editor:WordRightExtend \
editor:WordStartPosition editor:WrapCount editor:ZoomIn editor:ZoomOut editor.AdditionalCaretFore editor.AdditionalCaretsBlink \
editor.AdditionalCaretsVisible editor.AdditionalSelAlpha editor.AdditionalSelBack editor.AdditionalSelectionTyping \
editor.AdditionalSelFore editor.Anchor editor.AnnotationLines editor.AnnotationStyle editor.AnnotationStyleOffset \
editor.AnnotationVisible editor.AutoCAutoHide editor.AutoCCancelAtStart editor.AutoCChooseSingle editor.AutoCDropRestOfWord \
editor.AutoCFillUps editor.AutoCIgnoreCase editor.AutoCMaxHeight editor.AutoCMaxWidth editor.AutoCSeparator \
editor.AutoCTypeSeparator editor.BackSpaceUnIndents editor.BufferedDraw editor.CallTipBack editor.CallTipFore \
editor.CallTipForeHlt editor.CallTipUseStyle editor.CaretFore editor.CaretLineBack editor.CaretLineBackAlpha \
editor.CaretLineVisible editor.CaretPeriod editor.CaretSticky editor.CaretStyle editor.CaretWidth editor.CharacterPointer \
editor.CharAt editor.CodePage editor.Column editor.ControlCharSymbol editor.CurrentPos editor.Cursor \
editor.DirectFunction editor.DirectPointer editor.DocPointer editor.EdgeColour editor.EdgeColumn editor.EdgeMode \
editor.EndAtLastLine editor.EndStyled editor.EOLMode editor.ExtraAscent editor.ExtraDescent editor.FirstVisibleLine \
editor.Focus editor.FoldExpanded editor.FoldLevel editor.FoldParent editor.FontQuality editor.HighlightGuide \
editor.HotspotActiveUnderline editor.HotspotSingleLine editor.HScrollBar editor.Indent editor.IndentationGuides \
editor.IndicAlpha editor.IndicatorCurrent editor.IndicatorValue editor.IndicFore editor.IndicStyle editor.IndicUnder \
editor.KeysUnicode editor.KeyWords editor.LayoutCache editor.Length editor.Lexer editor.LineCount editor.LineEndPosition \
editor.LineIndentation editor.LineIndentPosition editor.LinesOnScreen editor.LineState editor.LineVisible \
editor.MainSelection editor.MarginLeft editor.MarginMaskN editor.MarginRight editor.MarginSensitiveN \
editor.MarginStyle editor.MarginStyleOffset editor.MarginTypeN editor.MarginWidthN editor.MarkerFore \
editor.MarkerBack editor.MaxLineState editor.ModEventMask editor.Modify editor.MouseDownCaptures editor.MouseDwellTime \
editor.MultiPaste editor.MultipleSelection editor.Overtype editor.PasteConvertEndings editor.PositionCache \
editor.PrintColourMode editor.PrintMagnification editor.PrintWrapMode editor.Property editor.PropertyInt \
editor.ReadOnly editor.RectangularSelectionAnchor editor.RectangularSelectionAnchorVirtualSpace editor.RectangularSelectionCaret \
editor.RectangularSelectionCaretVirtualSpace editor.RectangularSelectionModifier editor.ScrollWidth editor.ScrollWidthTracking \
editor.SearchFlags editor.SelAlpha editor.SelectionEnd editor.SelectionIsRectangle editor.SelectionMode \
editor.SelectionNAnchor editor.SelectionNAnchorVirtualSpace editor.SelectionNCaret editor.SelectionNCaretVirtualSpace \
editor.SelectionNEnd editor.SelectionNStart editor.Selections editor.SelectionStart editor.SelEOLFilled \
editor.Status editor.StyleAt editor.StyleBack editor.StyleBits editor.StyleBitsNeeded editor.StyleBold \
editor.StyleCase editor.StyleChangeable editor.StyleCharacterSet editor.StyleEOLFilled editor.StyleFont \
editor.StyleFore editor.StyleHotSpot editor.StyleItalic editor.StyleSize editor.StyleUnderline editor.StyleVisible \
editor.TabIndents editor.TabWidth editor.TargetEnd editor.TargetStart editor.TextLength editor.TwoPhaseDraw \
editor.UndoCollection editor.UsePalette editor.UseTabs editor.ViewEOL editor.ViewWS editor.VirtualSpaceOptions \
editor.VScrollBar editor.WhitespaceChars editor.WhitespaceSize editor.WordChars editor.WrapIndentMode \
editor.WrapMode editor.WrapStartIndent editor.WrapVisualFlags editor.WrapVisualFlagsLocation editor.XOffset
keywords.output.lua=\
output:append output:findtext output:insert output:match output:remove output:textrange output:AddRefDocument \
output:AddSelection output:AddStyledText output:AddText output:AddUndoAction output:Allocate output:AnnotationClearAll \
output:AnnotationGetStyles output:AnnotationGetText output:AnnotationSetStyles output:AnnotationSetText \
output:AppendText output:AssignCmdKey output:AutoCActive output:AutoCCancel output:AutoCComplete output:AutoCGetCurrent \
output:AutoCGetCurrentText output:AutoCPosStart output:AutoCSelect output:AutoCShow output:AutoCStops \
output:BackTab output:BeginUndoAction output:BraceBadLight output:BraceHighlight output:BraceMatch output:CallTipActive \
output:CallTipCancel output:CallTipPosStart output:CallTipSetHlt output:CallTipShow output:Cancel output:ChangeLexerState \
output:CanPaste output:CanRedo output:CanUndo output:CharLeft output:CharLeftExtend output:CharLeftRectExtend \
output:CharPositionFromPoint output:CharPositionFromPointClose output:CharRight output:CharRightExtend \
output:CharRightRectExtend output:ChooseCaretX output:Clear output:ClearAll output:ClearAllCmdKeys output:ClearCmdKey \
output:ClearDocumentStyle output:ClearRegisteredImages output:ClearSelections output:Colourise output:ContractedFoldNext \
output:ConvertEOLs output:Copy output:CopyAllowLine output:CopyRange output:CopyText output:CreateDocument \
output:Cut output:DeleteBack output:DeleteBackNotLine output:DescribeKeyWordSets output:DescribeProperty \
output:DelLineLeft output:DelLineRight output:DelWordLeft output:DelWordRight output:DelWordRightEnd \
output:DocLineFromVisible output:DocumentEnd output:DocumentEndExtend output:DocumentStart output:DocumentStartExtend \
output:EditToggleOvertype output:EmptyUndoBuffer output:EncodedFromUTF8 output:EndUndoAction output:EnsureVisible \
output:EnsureVisibleEnforcePolicy output:FindColumn output:FormatRange output:FormFeed output:GetCurLine \
output:GetHotspotActiveBack output:GetHotspotActiveFore output:GetLastChild output:GetLexerLanguage output:GetLine \
output:GetLineSelEndPosition output:GetLineSelStartPosition output:GetProperty output:GetPropertyExpanded \
output:GetSelText output:GetStyledText output:GetTag output:GetText output:GetTextRange output:GotoLine \
output:GotoPos output:GrabFocus output:HideLines output:HideSelection output:Home output:HomeDisplay \
output:HomeDisplayExtend output:HomeExtend output:HomeRectExtend output:HomeWrap output:HomeWrapExtend \
output:IndicatorAllOnFor output:IndicatorClearRange output:IndicatorEnd output:IndicatorFillRange output:IndicatorStart \
output:IndicatorValueAt output:InsertText output:LineCopy output:LineCut output:LineDelete output:LineDown \
output:LineDownExtend output:LineDownRectExtend output:LineDuplicate output:LineEnd output:LineEndDisplay \
output:LineEndDisplayExtend output:LineEndExtend output:LineEndRectExtend output:LineEndWrap output:LineEndWrapExtend \
output:LineFromPosition output:LineLength output:LineScroll output:LineScrollDown output:LineScrollUp \
output:LinesJoin output:LinesSplit output:LineTranspose output:LineUp output:LineUpExtend output:LineUpRectExtend \
output:LoadLexerLibrary output:LowerCase output:MarginGetStyles output:MarginGetText output:MarginSetStyles \
output:MarginSetText output:MarginTextClearAll output:MarkerAdd output:MarkerAddSet output:MarkerDefine \
output:MarkerDefinePixmap output:MarkerDelete output:MarkerDeleteAll output:MarkerDeleteHandle output:MarkerGet \
output:MarkerLineFromHandle output:MarkerNext output:MarkerPrevious output:MarkerSetAlpha output:MarkerSymbolDefined \
output:MoveCaretInsideView output:NewLine output:Null output:PageDown output:PageDownExtend output:PageDownRectExtend \
output:PageUp output:PageUpExtend output:PageUpRectExtend output:ParaDown output:ParaDownExtend output:ParaUp \
output:ParaUpExtend output:Paste output:PointXFromPosition output:PointYFromPosition output:PositionAfter \
output:PositionBefore output:PositionFromLine output:PositionFromPoint output:PositionFromPointClose \
output:PrivateLexerCall output:PropertyNames output:PropertyType output:Redo output:RegisterImage output:ReleaseDocument \
output:ReplaceSel output:ReplaceTarget output:ReplaceTargetRE output:RotateSelection output:ScrollCaret \
output:SearchAnchor output:SearchInTarget output:SearchNext output:SearchPrev output:SelectAll output:SelectionDuplicate \
output:SetCharsDefault output:SetFoldFlags output:SetFoldMarginColour output:SetFoldMarginHiColour output:SetHotspotActiveBack \
output:SetHotspotActiveFore output:SetLengthForEncode output:SetLexerLanguage output:SetSavePoint output:SetSel \
output:SetSelBack output:SetSelection output:SetSelFore output:SetStyling output:SetStylingEx output:SetText \
output:SetVisiblePolicy output:SetWhitespaceBack output:SetWhitespaceFore output:SetXCaretPolicy output:SetYCaretPolicy \
output:ShowLines output:StartRecord output:StartStyling output:StopRecord output:StutteredPageDown output:StutteredPageDownExtend \
output:StutteredPageUp output:StutteredPageUpExtend output:StyleClearAll output:StyleGetFont output:StyleResetDefault \
output:SwapMainAnchorCaret output:Tab output:TargetAsUTF8 output:TargetFromSelection output:TextHeight \
output:TextWidth output:ToggleCaretSticky output:ToggleFold output:Undo output:UpperCase output:UsePopUp \
output:UserListShow output:VCHome output:VCHomeExtend output:VCHomeRectExtend output:VCHomeWrap output:VCHomeWrapExtend \
output:VerticalCentreCaret output:VisibleFromDocLine output:WordEndPosition output:WordLeft output:WordLeftEnd \
output:WordLeftEndExtend output:WordLeftExtend output:WordPartLeft output:WordPartLeftExtend output:WordPartRight \
output:WordPartRightExtend output:WordRight output:WordRightEnd output:WordRightEndExtend output:WordRightExtend \
output:WordStartPosition output:WrapCount output:ZoomIn output:ZoomOut output.AdditionalCaretFore output.AdditionalCaretsBlink \
output.AdditionalCaretsVisible output.AdditionalSelAlpha output.AdditionalSelBack output.AdditionalSelectionTyping \
output.AdditionalSelFore output.Anchor output.AnnotationLines output.AnnotationStyle output.AnnotationStyleOffset \
output.AnnotationVisible output.AutoCAutoHide output.AutoCCancelAtStart output.AutoCChooseSingle output.AutoCDropRestOfWord \
output.AutoCFillUps output.AutoCIgnoreCase output.AutoCMaxHeight output.AutoCMaxWidth output.AutoCSeparator \
output.AutoCTypeSeparator output.BackSpaceUnIndents output.BufferedDraw output.CallTipBack output.CallTipFore \
output.CallTipForeHlt output.CallTipUseStyle output.CaretFore output.CaretLineBack output.CaretLineBackAlpha \
output.CaretLineVisible output.CaretPeriod output.CaretSticky output.CaretStyle output.CaretWidth output.CharacterPointer \
output.CharAt output.CodePage output.Column output.ControlCharSymbol output.CurrentPos output.Cursor \
output.DirectFunction output.DirectPointer output.DocPointer output.EdgeColour output.EdgeColumn output.EdgeMode \
output.EndAtLastLine output.EndStyled output.EOLMode output.ExtraAscent output.ExtraDescent output.FirstVisibleLine \
output.Focus output.FoldExpanded output.FoldLevel output.FoldParent output.FontQuality output.HighlightGuide \
output.HotspotActiveUnderline output.HotspotSingleLine output.HScrollBar output.Indent output.IndentationGuides \
output.IndicAlpha output.IndicatorCurrent output.IndicatorValue output.IndicFore output.IndicStyle output.IndicUnder \
output.KeysUnicode output.KeyWords output.LayoutCache output.Length output.Lexer output.LineCount output.LineEndPosition \
output.LineIndentation output.LineIndentPosition output.LinesOnScreen output.LineState output.LineVisible \
output.MainSelection output.MarginLeft output.MarginMaskN output.MarginRight output.MarginSensitiveN \
output.MarginStyle output.MarginStyleOffset output.MarginTypeN output.MarginWidthN output.MarkerFore \
output.MarkerBack output.MaxLineState output.ModEventMask output.Modify output.MouseDownCaptures output.MouseDwellTime \
output.MultiPaste output.MultipleSelection output.Overtype output.PasteConvertEndings output.PositionCache \
output.PrintColourMode output.PrintMagnification output.PrintWrapMode output.Property output.PropertyInt \
output.ReadOnly output.RectangularSelectionAnchor output.RectangularSelectionAnchorVirtualSpace output.RectangularSelectionCaret \
output.RectangularSelectionCaretVirtualSpace output.RectangularSelectionModifier output.ScrollWidth output.ScrollWidthTracking \
output.SearchFlags output.SelAlpha output.SelectionEnd output.SelectionIsRectangle output.SelectionMode \
output.SelectionNAnchor output.SelectionNAnchorVirtualSpace output.SelectionNCaret output.SelectionNCaretVirtualSpace \
output.SelectionNEnd output.SelectionNStart output.Selections output.SelectionStart output.SelEOLFilled \
output.Status output.StyleAt output.StyleBack output.StyleBits output.StyleBitsNeeded output.StyleBold \
output.StyleCase output.StyleChangeable output.StyleCharacterSet output.StyleEOLFilled output.StyleFont \
output.StyleFore output.StyleHotSpot output.StyleItalic output.StyleSize output.StyleUnderline output.StyleVisible \
output.TabIndents output.TabWidth output.TargetEnd output.TargetStart output.TextLength output.TwoPhaseDraw \
output.UndoCollection output.UsePalette output.UseTabs output.ViewEOL output.ViewWS output.VirtualSpaceOptions \
output.VScrollBar output.WhitespaceChars output.WhitespaceSize output.WordChars output.WrapIndentMode \
output.WrapMode output.WrapStartIndent output.WrapVisualFlags output.WrapVisualFlagsLocation output.XOffset
# Add all to keyword class 3 (function)
keywords3.$(file.patterns.lua)=\
props $(keywords.debug) $(keywords.user) $(keywordclass3.lua5x) $(keywords.scite.lua) $(keywords.editor.lua) $(keywords.output.lua)
Alles anzeigen
Öffnet die SciTEUser.properties und dann <Datei><Neu> und speichert die Datei als dark.theme.properties. Jetzt den Inhalt aus dem Spoiler einfügen. (Oder die angehängte Datei unter "C:\Users\U-S-E-R\AppData\Local\AutoIt v3\SciTE\dark.theme.properties" speichern. Endung *.txt nur zum Hochladen)
In der SciTEUser.properties am Ende eintragen: import dark.theme.
Zum Verwenden des Lua-Dark-Themes genauso verfahren: Abspeichern im o.g. Pfad und am Ende der SciTEUser.properties eintragen: import dark.theme.lua
EDIT:
Ich verlinke hier gleich mal zu Themes anderer User in diesem Thread:
| Autor | Theme.properties Download | Vorschau |
| Mars | dark_theme_mars | Link |
| Kanashius | dark.theme.darcula | Link |
Hier mal zum Anschauen:
Properties-Datei:
AutoIt - Editorbereich
dark.editor1.png dark.editor2.png
AutoIt - Output
Bei der Farbgebung für den Errormarker (error.marker.fore / error.marker.back) ist zu beachten:
Das Errorsymbol ist ein hardcodierter Kreis. Der Rand bekommt die Farbe von .fore.
Mit der Farbe von .back wird die Fläche eingefärbt und ebenfalls die Hintergrundmarkierung für die erste Zeile einer Warnung oder einer Fehleranzeige im Outputbereich. Damit das vernünftig lesbar ist, bleibt hier eigentlich auch nur die dunkle Hintergrundfarbe zu setzen.
Und noch "dark.theme.lua"
Hast Du Dir die neue Beta von Jos schon angesehen?
Ich werds mal ansehen.
Ich habe SciTE auf neuem System in der aktuellen Version installiert. Leider funktioniert hier das Syntaxhighlighting eigener UDF nicht.
Laut Anweisung in SciTE ist so vorzugehen:
# Add the below lines to your SciTEUser.properties when you want to add User Abbreviations and UDFS
#import au3.keywords.user.abbreviations
#import au3.UserUdfs
Ich habe also meine UDF in der au3.UserUdfs.properties eingetragen und import au3.UserUdfs in die SciTEUser.properties.
Aber still ruht der See - es funktioniert nicht.
Das hat ja auch in der alten Version niemals funktioniert, der einzig mögliche Weg war, die eigenen UDF bei den Standard-UDF mit einzutragen. Ist natürlich immer eklig, weil man als User keinen Schreibzugriff im Programmordner hat.
Hat irgendjemand eine sinnvolle Lösung hierfür gefunden?
Ich will mal eine Leiche schänden. ![]()
Als ich gerade auf meinem neuen Rechner SciTE in das Dark-Theme gepfriemelt habe ist mir aufgefallen, dass es die 5.te Farbe auch schon default gibt (style.errorlist.13). Dort die Farbe eurer Wahl setzen - fertig.
("back" und "eolfilled" sind nur im Dark-Theme nötig)
# OUTPUT PANE uses errorlist colors
style.errorlist.32=$(font.small),#1D1D1D
style.errorlist.0=fore:#DCDCCC,back:#1D1D1D,eolfilled
# diff changed >
style.errorlist.4=fore:#0000F0,back:#1D1D1D,eolfilled
# diff changed !
style.errorlist.10=fore:#FF003F,back:#1D1D1D,eolfilled
# diff addition +
style.errorlist.11=fore:#00A800,back:#1D1D1D,eolfilled
# diff deletion -
style.errorlist.12=fore:#FFA200,back:#1D1D1D,eolfilled
# diff message --- and +++
style.errorlist.13=fore:#FF00FF,back:#1D1D1D,eolfilled
Alles anzeigen
Sieht bei mir so aus:
Ich verstehe unter einem Forum eine Plattform der "Hilfe zur Selbsthilfe" - so agieren wir (nebst eines Minimums an Höflichkeit) zumindest in den 2 Foren, die
ich adminstriere. Da beantwortet man die Fragen oder versucht es zumindest, mögen sie einem Profi auch noch flach erscheinen. Ich erachte mich nach über
40 Jahren Berufserfahrung mittlerweile als recht fit in meinem Fachbereich. Trotzdem / genau deswegen würde es mir nicht im Traum einfallen, jemandem zu
erklären, dass ich effektivere, übersichtlichere und sicherere Programme schreiben kann als sie/er, dass wissen die Fragenden, sonst würde sie/er nicht fragen!
Du wirst hier im Forum selten erleben, dass ich die Contenance verliere. Aber wenn ich deine Einlassungen hier lese, bin ich kurz davor.
Dir wäre also geholfen gewesen, wenn als erste Antwort auf deine Frage die Funktion Eval benannt worden wäre - ohne weiteren Kontext. Denn das verlangst du ja stur: Ich frage - ihr Forumvolk habt zu antworten.
Keine Ahnung, was in deinen administrierten Foren so abgeht. Hier geht es uns um Hilfe zur Selbsthilfe. Und in 7 von 10 Fällen ist einfach das XY-Problem gegeben. Wenn du unsere Erfahrungen ignorieren willst: WARUM FRAGST DU???
Da wirst du wohl einen DOS-Emulator für dein Adressprogramm brauchen (z.B. https://www.dosbox.com/). Oder du installierst eine VM mit Win98.
Dann hätte Deine Frage doch lauten sollen:
Wie konvertiere ich die Tabellen einer mit AutoIt erstellten SQLite-Datenbank nach HTML?
Die richtige Fragestellung - ein leidiges Problem. ![]()
@PSblnkd Ich empfehle mal, auch den Titel deines Threads dahingehend zu ändern. (SQLite-DB to HTML HowTo o.ä.)
Ich habe ja das Skript zur Markierung von Tab-Item in SciTE erstellt.
Jetzt nutze ich das auch unter Win 11. Bisher unter Win 7 lief das tadellos. Unter Win 11 funktioniert es auch - aber es flickert, nicht sehr störend - aber merkbar.
Könnt ihr das nachvollziehen - und habt ggf. eine Idee zur Lösung?
Wenn das dbf-Ausgabeformat wirklich eine DBase-Datenbank ist,
Ich habe mal aus meinem Uralt-Programm die erforderlichen Parts zum dBase-Datei lesen zusammengefasst. Kannst ja mal damit testen. Die DBF wird hier in ein Array eingelesen.
;-- TIME_STAMP 2023-09-25 12:49:21
#include <Array.au3>
#include <GUIConstantsEx.au3>
#include <WinAPIHObj.au3>
#include <WinAPIInternals.au3>
;===================================================================================================
$DBF = "C:\PATH\ZU_DEINER.DBF"
;===================================================================================================
Global Const $tagField = "char name[11];" & _ ; 0-10 | 11 bytes | field name
"char type;" & _ ; 11 | 1 byte | field type in ASCII
"uint memadress;" & _ ; 12-15 | 32 bit number | field data address
"byte len;" & _ ; 16 | 1 byte | field length
"byte deccount;" & _ ; 17 | 1 byte | field decimal count
"byte reserved[14];" ; 18-31 | 14 bytes | reserved bytes
Global Const $tagFileHeader = "byte ver;" & _ ; 0 | 1 byte | dBASE III version number
"byte date[3];" & _ ; 1-3 | 3 bytes | date of last update
"uint reccount;" & _ ; 4-7 | 32 bit number | number of records in data file
"ushort headerlength;" & _ ; 8-9 | 16 bit number | length of header structure
"ushort reclength;" & _ ; 10-11 | 16 bit number | length of the record
"byte reserved[20];" ; 12-31 | 20 bytes | reserved bytes
;~ $tagField & _ ; 32-n | 32 bytes each | field descriptor array
;~ "byte terminate;" ; n+1 | 1 byte | 0DH as the field terminator
Global $Header = DllStructCreate($tagFileHeader)
Global $DatabaseArray[1][2]
Global $databaseFieldInfos[1][5]
_ReadDBF($DBF)
_ArrayDisplay($databaseFieldInfos)
_ArrayDisplay($DatabaseArray)
Func _ReadDBF($inPathDBF)
Local $DBFFile = _WinAPI_CreateFile($inPathDBF, 2, 2, 2)
Local $ReadChars
If _WinAPI_ReadFile($DBFFile, DllStructGetPtr($Header), DllStructGetSize($Header), $ReadChars) Then
If DllStructGetData($Header, "ver") <> 3 Then ; Version muss
MsgBox(16, 'Error', "No supportet dbase format (only dbase 3 without .DBT-files)")
_WinAPI_CloseHandle($DBFFile)
Exit
EndIf
; $tagField erstellen
Local $FieldDescriptor = DllStructCreate($tagField)
; Infos aus Header auslesen
Local $HeaderLength = DllStructGetData($Header, "headerlength")
Local $FieldsCount = Floor(($HeaderLength - DllStructGetSize($Header) - 1) / DllStructGetSize($FieldDescriptor))
Local $RecordLength = DllStructGetData($Header, "reclength")
Local $RecordsCount = DllStructGetData($Header, "reccount")
; Zahl der Felder: (Headergröße- Dateiheadergröße- terminator-byte) / Feldbeschreibungs-größe
If $FieldsCount = 0 Then
MsgBox(16, '', "No fields")
Else
;~ Global $DatabaseArray[$RecordsCount + 1][$FieldsCount]
;~ Global $databaseFieldInfos[$FieldsCount][5]
ReDim $DatabaseArray[$RecordsCount + 1][$FieldsCount]
ReDim $databaseFieldInfos[$FieldsCount][5]
For $i = 1 To $FieldsCount
_WinAPI_ReadFile($DBFFile, DllStructGetPtr($FieldDescriptor), DllStructGetSize($FieldDescriptor), $ReadChars)
$DatabaseArray[0][$i - 1] = DllStructGetData($FieldDescriptor, "name")
For $s = 0 To 4
$databaseFieldInfos[$i - 1][$s] = DllStructGetData($FieldDescriptor, $s + 1)
Next
Next
Local $CHECKREAD = DllStructCreate("byte terminate")
_WinAPI_ReadFile($DBFFile, DllStructGetPtr($CHECKREAD), 1, $ReadChars)
If DllStructGetData($CHECKREAD, 1) == 0x0D Then
Local $RecordStruct = _CreateRecordStruct($databaseFieldInfos)
For $i = 1 To $RecordsCount
_WinAPI_ReadFile($DBFFile, DllStructGetPtr($RecordStruct), DllStructGetSize($RecordStruct), $ReadChars)
If $ReadChars = 0 Then
; keine Felder mehr (Fehler)
ReDim $DatabaseArray[$i][$FieldsCount]
ExitLoop
EndIf
For $j = 1 To $FieldsCount
$DatabaseArray[$i][$j - 1] = DllStructGetData($RecordStruct, "field" & $j)
#Region Datentypen konvertieren
Switch $databaseFieldInfos[$j - 1][1]
Case "C" ; characters: nothing
$DatabaseArray[$i][$j - 1] = OemToChar($DatabaseArray[$i][$j - 1])
Case "N" ; numeric
If StringInStr($DatabaseArray[$i][$j - 1], '.') Then
$DatabaseArray[$i][$j - 1] = StringTrimRight(StringStripWS(StringReplace($DatabaseArray[$i][$j - 1], '.', ','), 1), 2)
Else
$DatabaseArray[$i][$j - 1] = Number($DatabaseArray[$i][$j - 1])
EndIf
Case "L"
Switch $DatabaseArray[$i][$j - 1]
Case "?"
$DatabaseArray[$i][$j - 1] = "N/A"
Case 'Y', 'y', 'T', 't'
$DatabaseArray[$i][$j - 1] = True
Case 'N', 'n', 'F', 'f'
$DatabaseArray[$i][$j - 1] = False
EndSwitch
Case "D"
$DatabaseArray[$i][$j - 1] = StringRegExpReplace($DatabaseArray[$i][$j - 1], "\A(\d{4})(\d\d)(\d\d)\Z", "$1/$2/$3")
Case "M" ; not supportet
EndSwitch
#EndRegion Datentypen konvertieren
Next
Sleep(10)
Next
Else
MsgBox(0, 'Error', "Wrong fielddescript_or_table")
EndIf
EndIf
_WinAPI_CloseHandle($DBFFile)
EndIf
; Spalten infos hizufügen zu Feld-Info array
ReDim $databaseFieldInfos[UBound($databaseFieldInfos)+1][5]
$databaseFieldInfos[UBound($databaseFieldInfos)-1][0] = "[[ NAME ]]"
$databaseFieldInfos[UBound($databaseFieldInfos)-1][1] = "[[ TYP ]]"
$databaseFieldInfos[UBound($databaseFieldInfos)-1][2] = "[[ ADRESSE ??? ]]"
$databaseFieldInfos[UBound($databaseFieldInfos)-1][3] = "[[ Byte-Länge ]]"
$databaseFieldInfos[UBound($databaseFieldInfos)-1][4] = "[[ Dezimalstellen ]]"
EndFunc
Func _CreateRecordStruct(ByRef $databaseFieldInfos)
Local $sText = "char deleted;"
For $i = 1 To UBound($databaseFieldInfos)
$sText &= "char field" & $i & "[" & $databaseFieldInfos[$i - 1][3] & "];"
Next
Return DllStructCreate($sText)
EndFunc ;==>_CreateRecordStruct
;===============================================================================
; Name: OemToChar
; Description: Wandelt einen ASCII- in einen ANSI-String
; Parameter(s): $szSrc = String der umgewandelt werden soll
; Requirement(s): keine
; Return Value(s): bei Erfolg: umgewandelter String
; bei Fehler: "" und @error = 1
; Author(s): bernd670
;===============================================================================
Func OemToChar($szSrc)
Local $placeholder
For $i = 0 To StringLen($szSrc)
$placeholder &= " "
Next
Local $lRetVal = DllCall("user32.dll", "long", "OemToChar", "str", $szSrc, "str",$placeholder)
If IsArray($lRetVal) And $lRetVal[0] = 1 Then
Return SetError(0,0,$lRetVal[2])
EndIf
Return SetError(1,0,"")
EndFunc ;==>OemToChar
Alles anzeigen
Ich habe das Riesenglück, dass unsere Arbeitsplatzrechner nicht ans Internet angeschlossen sind und somit mögliche Sicherheitslücken in der Software so interessant sind, wie der bekannte Sack Reis in China.
Aus diesem Grund läuft auch immer noch absolut zuverlässig unser Warenwirtschaftssystem mit einem Softwarestand von 2002. ![]()
Der Softwarelieferant wollte uns schon mehrfach so supertolle Updates überbügeln. Da haben wir dankend abgelehnt. Die Updates hätten u.A. zu einer kompletten Änderung unserer Arbeitsabläufe führen müssen. Ich hatte die Software soweit aufgebohrt (mit AutoIt) und an unsere Bedürfnisse angepasst, dass sie genau in unsere Abläufe passt. Andersrum ist schwachsinnig.
Wie man sieht sind 20 Jahre ohne Änderung kein Anzeichen für etwas Schlechtes. Im Kern sollte es immer darum gehen: Bringt eine Veränderung allen/vielen Anwendern einen echten Mehrwert. (Optischer Schnickschnack zählt m.M. nicht dazu)