- Offizieller Beitrag
Ich habe nach langem mal wieder SciTE aktualisiert (habe 2-3 Versionen übersprungen). Ich wollte bei der Gelegenheit mal Aufräumen und habe nicht drüber, sondern neu installiert.
Für meine Zwecke muss ich immer Änderungen in der SciTEStartup.lua vornehmen. Geht in SciTE wegen fehlender Rechte nicht mehr, ich muss also NP++ als Admin starten um das zu bearbeiten.
Relativ neu ist, dass im Startup Skript PersonalTools.lua geladen wird. Der Gedanke ist ja nicht verkehrt, aber das hieße, alle eigenen Skripte (speziell die Events darin) auf die EventClass PersonalTools anzupassen. Ist mir zuviel Arbeit und raubt mir auch die Übersicht, wenn alles in einer Klasse existiert.
Ich bleibe also bei meiner alten Arbeitsweise und habe jetzt nur ergänzt, um ein Skript, das die bisher in SciTEStartup.lua enthaltenen Aufrufe sammelt und an einem Ort gespeichert ist, wo ScITE auch Schreibrechte hat, also vorzugsweise der selbst angelegte Ordner für eigene Lua Skripte (property: "Lua.User.Scripts.Path")
Das Aufrufskript habe ich LuaUserScriptsLoad.lua genannt. Es enthält alle Aufrufe, die bisher im Lua Startskript unterhalb von EventClass:BeginEvents eingetragen waren.
Bei mir sieht das so aus:
LuaUserScriptsLoad.lua
do
LoadUserLuaFile("AutoStampSaveVersion.lua") -- Timpe-Stamp, Version Management
LoadUserLuaFile("ContinuousComments.lua") -- Aligned Comments
LoadUserLuaFile("EdgingSelection.lua") -- Paired Characters, Auto array declaration from selected values
LoadUserLuaFile("Ownhotkeys.lua") -- Activates OwnHotkeys
LoadUserLuaFile("MySciTETools.lua") -- My SciTE-Tools
LoadUserLuaFile("CodeAsHtml.lua") -- Au3 To HTML
LoadUserLuaFile("SelectStatement.lua") -- Selected code set in statement
LoadUserLuaFile("ShowHexColorFromCursor.lua") -- Displays colors inside SciTE
LoadUserLuaFile("CommentAutoPos.lua") -- Comments behind code in line starts automatically at given column
LoadUserLuaFile("ReplTabWithSpaces.lua") -- Inserts spaces while hit the TAB, with Backspace delete count spaces for Tab width
LoadUserLuaFile("CompletePath.lua") -- Explorer zur Ordner-/Dateiauswahl
LoadUserLuaFile("new_as_utf8bom.lua") -- Neue Datei als UTF8+BOM markieren
-- LoadUserLuaFile("MultiPosWrite.lua") -- an mehreren Positionen denselben Text schreiben
-- LoadUserLuaFile("LuaObj_Test.lua") -- TEST
-- LoadUserLuaFile("test_ run.lua") -- TEST
end
Alles anzeigen
Das Lua Startskript ist jetzt einmalig mit allem Notwendigen angepasst und braucht dann nicht mehr bearbeitet werden.
SciTEStartup.lua
--------------------------------------------------------------------------------
-- SciTE startup script.
--------------------------------------------------------------------------------
local sUserLua = props["Lua.User.Scripts.Path"]
LUA_USER_PATH = sUserLua .. "\\?.dll;" .. sUserLua .. "\\?\\?.dll;"
package.cpath = LUA_USER_PATH .. package.cpath
LUA_USER_LUA = sUserLua .. "\\?.lua;" .. sUserLua .. "\\?\\?.lua;"
package.path = LUA_USER_LUA .. package.path
-- A table listing all loaded files.
LoadLuaFileList = { }
--------------------------------------------------------------------------------
-- LoadLuaFile(file, directory)
--
-- Helper function for easily loading Lua files.
--
-- Parameters:
-- file - The name of a Lua file to load.
-- directory - If specified, file is looked for in that directory. By default,
-- this directory is $(SciTEDefaultHome)\Lua.
--------------------------------------------------------------------------------
function LoadLuaFile(file, directory)
if directory == nil then
directory = props["SciteDefaultHome"] .. "\\Lua\\"
end
table.insert(LoadLuaFileList, directory .. file)
dofile(directory .. file)
end -- LoadLuaFile()
--------------------------------------------------------------------------------
-- Load all the Lua files.
LoadLuaFile("Class.lua") -- Always load first.
LoadLuaFile("Common.lua") -- Always load second.
LoadLuaFile("AutoItPixmap.lua")
LoadLuaFile("AutoHScroll.lua")
LoadLuaFile("AutoItAutoComplete.lua")
LoadLuaFile("LUAAutoComplete.lua")
LoadLuaFile("LoadSession.lua")
LoadLuaFile("AutoItIndentFix.lua")
LoadLuaFile("EdgeMode.lua")
LoadLuaFile("SmartAutoCompleteHide.lua")
LoadLuaFile("Tools.lua")
LoadLuaFile("AutoItTools.lua")
LoadLuaFile("AutoItGotoDefinition.lua")
LoadLuaFile("SciTE_extras.lua")
if os.getenv("SCITE_USERHOME") ~= nil then
f = io.open(os.getenv("SCITE_USERHOME") .. "\\PersonalTools.lua")
if f ~= nil then
LoadLuaFile("PersonalTools.lua",os.getenv ("SCITE_USERHOME") .. "\\")
f:close()
end
else
f = io.open(os.getenv("USERPROFILE") .. "\\PersonalTools.lua")
if f ~= nil then
LoadLuaFile("PersonalTools.lua",os.getenv ("USERPROFILE") .. "\\")
f:close()
end
end
-- Start up the events (Calls OnStartup()).
EventClass:BeginEvents()
--------------------------------------------------------------------------------
-- Calls LoadLuaFile() with directory from Lua-User-Script property
--------------------------------------------------------------------------------
function LoadUserLuaFile(file)
LoadLuaFile(file, props["Lua.User.Scripts.Path"] .. "\\")
end -- LoadUserLuaFile()
--------------------------------------------------------------------------------
LoadUserLuaFile("LuaUserScriptsLoad.lua")
Alles anzeigen