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: LoadLuaFile("CaretSwitch.lua")  
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.   
 
CaretSwitch.zip