Coming in 8.1.18: Script editor improvements

You can move selected code right or left. Move right with TAB and move left with SHIFT + TAB.


True but beware, especially of the first line - still messy when pasting blocks of code to match the indent level of the destination.


The thing is that this even happens when you copy the script from an event handler into another event handler, you still get the indents which you need to bulk select and shift+tab back which is mildly annoying.


:cough: dark mode… :cough:


You young whippersnappers need to kick that habit. Induces eyestrain, headaches, and early onset presbyopia. Bright backgrounds with dark text are always superior. Look up how camera aperture affects depth of field and apply that to a human’s pupils.



Dark mode was actually kicked around a little bit, but having it just in script editors didn’t really make sense. The entire rest of the designer would still be locked in ‘light mode’, so it’d just be weird. And having theming support for the entire designer is basically a non-starter; it’s too tied into Vision.

No weirder than this:

1 Like

Yeah… you can’t do that anymore :see_no_evil:


I’ll still take just editors over nothing :stuck_out_tongue: haha!

Been using 8.1.18 on Windows machines and I’m loving the new editor. However there is one change/regression that is bugging me.

On prior script editors, the opening parentheses, curly braces, brackets etc… are highlighted when you are one the closing of the same. However in 8.1.18 it doesn’t seem to be doing that.




On longer statements it is super handy to try and find those errors where you are missing a closing braces or something.

Any idea if this is getting put back in? Or is there a setting I’m missing to bring this back?


Updated to 8.1.18 yesterday, I was excited to use the new editor…

But the first frustration came very quicky:
start typing "{}".format

Oh cool, autocompletetion and all !

type the first parenthesis, end up with this:

Wait, what just happened ?

edit: little gif showcasing it. I’m not pressing enter or selecting anything, just typing my regular .format().

1 Like

And another thing…

When opening up a scripts that is quite long… the right hand side where there are normally all the functions created by the script is blank. This is super annoying.

It does throw and error in the designer console:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at org.fife.ui.rsyntaxtextarea.folding.PythonFoldParser.getFolds(
	at org.fife.ui.rsyntaxtextarea.folding.DefaultFoldManager.reparse(
	at org.fife.ui.rsyntaxtextarea.folding.DefaultFoldManager$1.parse(
	at org.fife.ui.rsyntaxtextarea.ParserManager.actionPerformed(
	at java.desktop/javax.swing.Timer.fireActionPerformed(Unknown Source)
	at java.desktop/javax.swing.Timer$ Source)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$ Source)
	at java.desktop/java.awt.EventQueue$ Source)
	at java.base/ Method)
	at java.base/$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at com.inductiveautomation.snap.swing.RibsEventQueue.dispatchEvent(
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/ Source)


Can you post (or DM me) the script you’re using here?

Thanks to @bschroeder and @mazeyrat for sending in samples (and @bschroeder for noticing the crucial insight) - the issue with parsing is with continuation lines/expressions wrapped to multiple lines. I’m going to do my best to work around it (ideally for 8.1.19) but for now, avoid patterns like this:

for key in ["abc-%s" % site,
			"def-%s" % site,
			"ghi-%s" % site]:

Or other continuations with mixed indentation:

def abc2():

Coming soon…


VERY cool! Definitely excited for this one!!

Really cool, super excited for this. I see you keep showing it in script editor/script console. I assume (hope) this functionality extends when I am writing a script on a button onAction? That is what irks me the most currently - having to switch from a vision window to the script library to see my functions documentation.

Hi! I’ve encountered this bug wherein the right side of the Scripting is empty. This applies to all of our projects and scripts under Scripting.

Read like 4 posts up where this exact bug is addressed.