Did you know that TextExpander has secret codes? Well, before TextExpander 7.0, they weren’t so secret. You could manually insert shortcodes for features like Fill-in Fields, optional sections, and cursor movement into any Snippet.
We’ve since hidden those codes behind a graphical interface… for most Snippets. However, they still work in script Snippets, like AppleScript, JavaScript, and Shell Script.
And here’s a trick: You can insert any of these codes into one of those Snippet types, change the content type to Plain Text or Rich Text, and they will appear as their graphical elements.
Why is this a good trick to know? In short, speed:
If you know the codes, you can quickly type them out instead of clicking through menus.
You can programmatically create long Popup Menus and Optional Sections. A couple of examples:
This shouldn’t need to be a “trick.” Your article gives no reason as to why they were hidden in the first place. It would be much better, if, say, the snippet syntax was recognised and changed colour – for each recognised syntax term – as you typed in Plain Text or Rich Text. Upon saving, it just gets parsed/replaced with the lozenges then appearing.
That decision was made before I arrived, and most of that team has moved on, so it’s as much of a mystery to me as it is to you. My assumptions as to why the change was made:
Raw codes were confusing less-technical users.
Almost no one used the feature.
You can still use the codes with the more-advanced scripting content types.
I’d say these are probably reasonable guesses/assumptions @josh👍
As a product owner you’d want as many different users to be able to use what is easiest for them and their use case. UX design principles 101 right?
Help! On the latest version, switching the content type from plain/rich text to javascript doesn’t display the underlying javascript, it still shows the GUI elements like [(popup)] and [(optional section)]. How can I extract the javascript so I can edit it further in an LLM? Thanks!
Unfortunately that is a one-way street. I haven’t tested this, but you might try screenshotting the Snippet and feeding it to your LLM so it can recreate the code. Then save that JavaScript source for in the future.
This is your space to ask questions, find support, and share ideas with fellow TextExpander users and our product team. As a first step, take a moment to introduce yourself to the community.