SciTE Customization GUI is intended to be your one-stop solution for your SciTE customization needs.
With SciTE Customization GUI you can create new themes from scratch without having to touch a single configuration file. Simply select 'Default Theme' from the file menu. This will start you out with a default theme. Then make your changes to the theme. Finally, select 'Save As' from the file menu and give it a name. Or you can select from an already existing theme.
You can see live changes to SciTE as you change things around (some settings are not live). You can change various SciTE4AutoIt3 settings such as Tidy, Tools, debug trace messages, etc.
I mostly want to try out new ideas which I hope will get used in the official SciTE4AutoIt3. I also wanted to see how large of a program I could script in AutoIt before it become a mass of unmaintable spaghetti. I feel that I am successful in that regard. It is reasonably easy to debug, extend and understand. I feel that this was achieved by employing the Model-View-Controller pattern. I also used AutoItObject which allows me to achieve a level of information hiding which would not have been possible otherwise.
I stand on the shoulders of giants so credit where credit is due. Thanks to Jos for the original SciTEConfig. Thanks to Jon for AutoIt. Melba23 for the SciTE Abbreviation Manager and the SciTE UserCalltip Manager.
Credits and changelog have be moved to the script.
Note: this is not an official script. Jon, Jos or the rest of the AutoIt team do not provide support. That's all up to me.
SciTE Customization GUI.zip -- downloads: ~5253
SciTE Customization GUI -- Source.zip -- Includes all of the required dependencies.
If you have every taken the time to set up a nice dark theme for your scite editor, you probably noticed shortly after a small yet really annoying flaw. For what ever reason, scite is not set up to let you change the caret fore color and caret line color per language. This really sucks if say you want to edit a properties file or any of the many other languages that Scite currently is setup to support. Pretty much all the other languages are set as light theme so unless you change the theme for those file types, you end up with something like below:
To get around this I came up with the following that seems to work pretty well.
Add the following properties to SciteUser.properties file (Options -> Open User Options File)
# The default values will be used only if an extention value is not defined. caret.default.line.back=#FFFED8 caret.default.fore=#000000 # Set Caret Colors per extention. You can add other extentions as well caret.au3.fore=#FFFFFF caret.au3.line.back=#111111
Next open SciteStartup.lua (Options -> Open Lua Startup Script) and add the following to the list of files loaded:
Now add CaretSwitch.lua file to your ~program files~AutoIt3SciTELUA directory.
CaretOnSwitchFile = EventClass:new(Common) CaretOnFileOpen = EventClass:new(Common) function CaretOnFileOpen:OnOpen(fn) --~ split up fullfilepath path, filename, ext = string.match(fn, "(.-)([^\\]-([^\\%.]+))$") if props['caret.' .. ext .. '.line.back'] ~= '' then props['caret.line.back'] = props['caret.' .. ext .. '.line.back'] else props['caret.line.back'] = props['caret.default.line.back'] end if props['caret.' .. ext .. '.fore'] ~= '' then props['caret.fore'] = props['caret.' .. ext .. '.fore'] else props['caret.fore'] = props['caret.default.fore'] end end function CaretOnSwitchFile:OnSwitchFile(fn) path, filename, ext = string.match(fn, "(.-)([^\\]-([^\\%.]+))$") if props['caret.' .. ext .. '.line.back'] ~= '' then lineback = props['caret.' .. ext .. '.line.back'] else lineback = props['caret.default.line.back'] end if props['caret.' .. ext .. '.fore'] ~= '' then fore = props['caret.' .. ext .. '.fore'] else fore = props['caret.default.fore'] end --~ these commands takes color values as BBGGRR even though all property colors are defined as RRGGBB. Brilliant!! editor.CaretLineBack = tonumber(string.sub(lineback, 6, 7) .. string.sub(lineback, 4, 5) .. string.sub(lineback, 2, 3), 16) editor.CaretFore = tonumber(string.sub(fore, 6, 7) .. string.sub(fore, 4, 5) .. string.sub(fore, 2, 3), 16) end
Last restart SciTE and that should be it. Let me know if you have any issues. Thanks
PS: If someone jumps on here and shows me a option to fix this I swear I'm going to stab my self in the eye. I searched for like 2 hours before coming to the conclusion that these values cant be set per language.