Created
June 3, 2012 15:54
-
-
Save ianthekirkland/2863969 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(* | |
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