Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ianthekirkland/2863969 to your computer and use it in GitHub Desktop.
Save ianthekirkland/2863969 to your computer and use it in GitHub Desktop.
(*
http://blog.smilesoftware.com/category/user-tips/textexpander/
Here are a couple of sample scripts to get you started. The first one creates a new group and then creates two snippets within it:
*)
tell application “TextExpander”
–– create a new group
make new group with properties {name:”My New Script Group”}
set newGroup to the result
tell newGroup
–– create a snippet, then set the major properties one by one
make new snippet
set newSnippet to the result
set the abbreviation of newSnippet to “tastytreat”
set the plain text expansion of newSnippet to “Toasted marshmallows are a tasty treat”
set the label of newSnippet to “Snippet from AppleScript”
–– create a snippet, setting properties immediately
make new snippet with properties {label:”Second Scripted Snippet”, abbreviation:”scrptwo”, plain text expansion:”Eat Two Marshmallows”}
set secondSnippet to the result
end tell
end tell
The second script checks for the existence of a URL-based group. If no such group is found, that URL is imported:
–– This script checks to make sure that a group based on a particular URL is present.
–– If not, it imports that group
set success to false
set groupURL to (“http://www.smilesoftware.com/te/example.textexpander” as text)
–– note coercion above: TE group source is type text, not URL
tell application “TextExpander”
set sourceList to the source of every group
if sourceList contains groupURL then
–– the desired group is already present
set success to true
else
set newGroup to import URL group using URL groupURL
–– the returned group is a placeholder for URL contents, which are downloaded asynchronously
repeat with i from 1 to 10
delay 1 –– allow some time for download, then poll the group placeholder
tell newGroup
–– find the number of snippets in the group
–– unless the group is supposed to be empty, zero snippets indicates download failure
count snippets
set snipCount to the result
if snipCount is not equal to 0 then
set success to true
exit repeat
end if
end tell
end repeat
end if
end tell
if not success then
beep –– real error handling goes here
end if
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment