<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dictionary SYSTEM "file://localhost/System/Library/DTDs/sdef.dtd">
<dictionary title="Typinator Dictionary">
	
	<suite name="Standard Suite" code="????" description="Common classes and commands for most applications.">
		<cocoa name="NSCoreSuite"/>
		<class name="application" code="capp" description="An application&apos;s top level scripting object.">
			<cocoa class="TYApplication"/>
			<!--
			 <element type="window" access="r">
				<cocoa key="orderedWindows"/>
			 </element>
			 -->
			<property name="name" code="pnam" description="The name of the application." type="text" access="r"/>
			<property name="frontmost" code="pisf" description="Is this the frontmost (active) application?" type="boolean" access="r">
				<cocoa key="isActive"/>
			</property>
			<property name="version" code="vers" description="The version of the application." type="text" access="r"/>
			<!--
			<responds-to command="quit"/>
			 -->
		</class>
		
		<command name="quit" code="aevtquit" description="Quit the application.">
			<cocoa class="NSQuitCommand"/>
		</command>
		
		<command name="count" code="corecnte" description="Return the number of elements of a particular class within an object.">
			<cocoa class="NSCountCommand"/>
			<direct-parameter type="specifier" description="The objects to be counted."/>
			<parameter name="each" code="kocl" type="type" optional="yes" description="The class of objects to be counted." hidden="yes">
				<cocoa key="ObjectClass"/>
			</parameter>
			<result type="integer" description="The count."/>
		</command>
		
		<command name="exists" code="coredoex" description="Verify that an object exists.">
			<cocoa class="NSExistsCommand"/>
			<direct-parameter type="any" description="The object(s) to check."/>
			<result type="boolean" description="Did the object(s) exist?"/>
		</command>
		
		<command name="make" code="corecrel" description="Create a new object.">
			<cocoa class="NSCreateCommand"/>
			<parameter name="new" code="kocl" type="type" description="The class of the new object.">
				<cocoa key="ObjectClass"/>
			</parameter>
			<parameter name="at" code="insh" type="location specifier" optional="yes" description="The location at which to insert the object.">
				<cocoa key="Location"/>
			</parameter>
			<parameter name="with data" code="data" type="any" optional="yes" description="The initial contents of the object.">
				<cocoa key="ObjectData"/>
			</parameter>
			<parameter name="with properties" code="prdt" type="record" optional="yes" description="The initial values for properties of the object.">
				<cocoa key="KeyDictionary"/>
			</parameter>
			<result type="specifier" description="The new object."/>
		</command>

		<command name="delete" code="coredelo" description="Delete an object.">
			<cocoa class="NSDeleteCommand"/>
			<direct-parameter type="specifier" description="The object(s) to delete."/>
		</command>
		
	</suite>
	
	<suite name="Text Suite" code="????" description="Common text classes for all applications.">
		
		<value-type name="RGB color" code="cRGB">
			<cocoa class="NSColor"/>
		</value-type>
		
		<class name="rich text" plural="rich text" code="ctxt" description="Rich (styled) text.">
			<cocoa class="NSTextStorage"/>
			<type type="text"/>
			<property name="color" code="colr" type="RGB color" description="The color of the text's first character.">
				<cocoa key="foregroundColor"/>
			</property>
			<property name="font" code="font" type="text" description="The name of the font of the text's first character.">
				<cocoa key="fontName"/>
			</property>
			<property name="size" code="ptsz" type="integer" description="The size in points of the text's first character.">
				<cocoa key="fontSize"/>
			</property>
			<element type="character"/>
			<element type="paragraph"/>
			<element type="word"/>
			<element type="attribute run"/>
			<element type="attachment"/>
		</class>
		
		<class name="character" code="cha " description="One of some text's characters.">
			<cocoa class="NSTextStorage"/>
			<type type="text"/>
			<property name="color" code="colr" type="RGB color" description="Its color.">
				<cocoa key="foregroundColor"/>
			</property>
			<property name="font" code="font" type="text" description="The name of its font.">
				<cocoa key="fontName"/>
			</property>
			<property name="size" code="ptsz" type="integer" description="Its size, in points.">
				<cocoa key="fontSize"/>
			</property>
			<element type="character"/>
			<element type="paragraph"/>
			<element type="word"/>
			<element type="attribute run"/>
			<element type="attachment"/>
		</class>
		
		<class name="paragraph" code="cpar" description="One of some text's paragraphs.">
			<cocoa class="NSTextStorage"/>
			<type type="text"/>
			<property name="color" code="colr" type="RGB color" description="The color of the paragraph's first character.">
				<cocoa key="foregroundColor"/>
			</property>
			<property name="font" code="font" type="text" description="The name of the font of the paragraph's first character.">
				<cocoa key="fontName"/>
			</property>
			<property name="size" code="ptsz" type="integer" description="The size in points of the paragraph's first character.">
				<cocoa key="fontSize"/>
			</property>
			<element type="character"/>
			<element type="paragraph"/>
			<element type="word"/>
			<element type="attribute run"/>
			<element type="attachment"/>
		</class>
		
		<class name="word" code="cwor" description="One of some text's words.">
			<cocoa class="NSTextStorage"/>
			<type type="text"/>
			<property name="color" code="colr" type="RGB color" description="The color of the word's first character.">
				<cocoa key="foregroundColor"/>
			</property>
			<property name="font" code="font" type="text" description="The name of the font of the word's first character.">
				<cocoa key="fontName"/>
			</property>
			<property name="size" code="ptsz" type="integer" description="The size in points of the word's first character.">
				<cocoa key="fontSize"/>
			</property>
			<element type="character"/>
			<element type="paragraph"/>
			<element type="word"/>
			<element type="attribute run"/>
			<element type="attachment"/>
		</class>
		
		<class name="attribute run" code="catr" description="A chunk of text that all has the same attributes.">
			<cocoa class="NSTextStorage"/>
			<type type="text"/>
			<property name="color" code="colr" type="RGB color" description="Its color.">
				<cocoa key="foregroundColor"/>
			</property>
			<property name="font" code="font" type="text" description="The name of its font.">
				<cocoa key="fontName"/>
			</property>
			<property name="size" code="ptsz" type="integer" description="Its size, in points.">
				<cocoa key="fontSize"/>
			</property>
			<element type="character"/>
			<element type="paragraph"/>
			<element type="word"/>
			<element type="attribute run"/>
			<element type="attachment"/>
		</class>
		
		<class name="attachment" code="atts" inherits="rich text" description="A file embedded in text. This is just for use when embedding a file using the make command.">
			<cocoa class="NSAttachmentTextStorage"/>
			<property name="file name" code="atfn" type="text" description="The path to the embedded file.">
				<cocoa key="filename"/>
			</property>
		</class>
	</suite>
	
		<suite name="Typinator Suite" code="Typi">
		<class name="application" code="capp" description="The Typinator application.">
			<cocoa class="TYApplication"/>
			
			<property name="is paused" code="QPau" description="Are expansions currently paused?" type="boolean" access="rw">
				<cocoa key="isPaused"/>
			</property>
			
			<property name="current abbreviation" code="Cabb" description="The abbreviation that is currently being processed." type="text" access="r">
				<cocoa key="currentAbbreviation"/>
			</property>
			
			<property name="current terminator" code="Ctrm" description="The key that terminated the currently processed whole word abbreviation." type="text" access="r">
				<cocoa key="currentWholeWordTerminator"/>
			</property>
			
			<property name="expansion history" code="XHis" description="Up to 100 recently expanded abbreviations as text lines (most recent at the end)." type="text" access="r">
				<cocoa key="expansionHistory"/>
			</property>

			<property name="total expansions" code="StEx" description="Total number of expansions processed." type="integer" access="r">
				<cocoa key="nTotalExpansions"/>
			</property>
			
			<property name="total corrections" code="StCo" description="Total number of corrections processed." type="integer" access="r">
				<cocoa key="nTotalCorrections"/>
			</property>
			
			<property name="total keystrokes saved" code="StKS" description="Total number of keystrokes saved by expansions and corrections." type="integer" access="r">
				<cocoa key="totalSavedKeystrokes"/>
			</property>
			
			<property name="average typing speed" code="StTS" description="Average typing speed in keystrokes per minute." type="real" access="r">
				<cocoa key="averageTypingSpeed"/>
			</property>
			
			<element type="rule set" access="r">
				<cocoa key="ruleSetsForScript"/>
			</element>
			
			<element type="variable" access="r">
				<cocoa key="variablesForScript"/>
			</element>
			
			<responds-to command="quit">
				<cocoa method="handleQuitScriptCommand:"/>
			</responds-to>
			<responds-to command="pause expansions">
				<cocoa method="pauseExpansions:"/>
			</responds-to>
			<responds-to command="resume expansions">
				<cocoa method="resumeExpansions:"/>
			</responds-to>
			<responds-to command="cancel current expansion">
				<cocoa method="cancelCurrentExpansion:"/>
			</responds-to>
			<responds-to command="flush keyboard buffer">
				<cocoa method="flushKeyboardBuffer:"/>
			</responds-to>
			<responds-to command="expand string">
				<cocoa method="expandAbbreviation:"/>
			</responds-to>
			<responds-to command="create from selection">
				<cocoa method="newItemFromSelection:"/>
			</responds-to>
			<responds-to command="create from clipboard">
				<cocoa method="newItemFromClipboard:"/>
			</responds-to>
			<responds-to command="quick search">
				<cocoa method="quickSearchForString:"/>
			</responds-to>
		</class>
		
		<enumeration name="rule type" code="sRuT" description="The type of rules contained in a set.">
			<enumerator name="abbreviation rules" code="tAbb" description="The rules in the set replace abbreviations with expansions."/>
			<enumerator name="regular expression rules" code="tRex" description="The rules in the set are described by regular expressions."/>
		</enumeration>
		<enumeration name="purpose" code="sPur" description="The primary purpose of a set.">
			<enumerator name="shortcut expansion" code="pExp" description="The set contains expansions for abbreviations."/>
			<enumerator name="spelling correction" code="pCor" description="The set contains corrections for misspelled words."/>
		</enumeration>
		<enumeration name="case handling" code="casH" description="How is case handled when a rule is processed?">
			<enumerator name="case must match" code="cMat" description="Text must be typed exactly as defined."/>
			<enumerator name="case does not matter" code="cIgn" description="Text can be typed in any case variation."/>
			<enumerator name="case affects expansion" code="cAff" description="The case of the typed text is applied to the expansion."/>
		</enumeration>
		<enumeration name="expansion type" code="eTyp" description="Which kind of result is produced by an expansion?">
			<enumerator name="plain text" code="ptEx" description="Plain text; expansion assumes the format of the target application."/>
			<enumerator name="formatted text" code="ftEx" description="Formatted text; expansion has font and style information."/>
			<enumerator name="picture" code="pxEx" description="Picture; a picture is pasted as result of an expansion."/>
			<enumerator name="HTML" code="htEx" description="HTML; the result is text whose format is described in HTML. The text can contain links."/>
		</enumeration>

		<command name="pause expansions" code="TypiPaus" description="Pause expansions."/>
		<command name="resume expansions" code="TypiResu" description="Resume expansions."/>
		<command name="cancel current expansion" code="TypiCanc" description="Cancel currently processed expansion."/>
		<command name="flush keyboard buffer" code="TypiFlus" description="Flush the keyboard buffer (forget everything typed so far)."/>
		<command name="expand string" code="TypiExpa" description="Expand a string; insert the corresponding expansion in the current application.">
			<direct-parameter description="text to be expanded (as if it was typed)" type="text"/>
		</command>
		<command name="create from selection" code="TypiQDse" description="Create a new item with the contents of the current selection."/>
		<command name="create from clipboard" code="TypiQDcl" description="Create a new item with the contents of the clipboard."/>
		
		<command name="execute expansion" code="TypiExRu" description="Expand a rule; insert its expansion in the current application.">
			<direct-parameter description="the rule to expand" type="rule"/>
		</command>

		<command name="move" code="coremove" description="Move object(s) to a new location.">
			<cocoa class="TYMoveCommand"/>
			<direct-parameter type="specifier" description="the object(s) to move"/>
			<parameter name="to" code="insh" type="location specifier" description="The new location for the object(s).">
				<cocoa key="ToLocation"/>
			</parameter>
		</command>

		<command name="duplicate" code="coreclon" description="Copy an object.">
			<cocoa class="NSCloneCommand"/>
			<direct-parameter type="specifier" description="The object(s) to copy."/>
			<parameter name="to" code="insh" type="location specifier" description="The location for the new copy or copies." optional="yes">
				<cocoa key="ToLocation"/>
			</parameter>
			<parameter name="with properties" code="prdt" type="record" description="Properties to set in the new copy or copies right away." optional="yes">
				<cocoa key="WithProperties"/>
			</parameter>
		</command>

		<command name="quick search" code="TypiQuSe" description="Display the quick search field.">
			<direct-parameter description="optional search string" type="text"/>
		</command>

		<class name="rule set" plural="rule sets" code="RulS" description="collection of replacement rules">
			<cocoa class="AbbreviationSet"/>
			
			<element type="rule" access="r">
				<cocoa key="rulesOfSetForScript"/>
			</element>

			<property name="name" code="pnam" type="text" access="rw" description="The visible name of the rule set (as shown in the Typinator window).">
				<cocoa key="nameForScript"/>
			</property>
			<property name="unique id" code="ID  " type="text" access="r" description="The unique ID of the rule set.">
				<cocoa key="uniqueID"/>
			</property>
			<property name="enabled" code="Enab" type="boolean" access="rw" description="Is the set&apos;s master checkbox turned on?">
				<cocoa key="setIsEnabledForScript"/>
			</property>
			<property name="rule type" code="RulT" type="rule type" access="r" description="The type of rules (abbreviations or regular expressions) contained in this set.">
				<cocoa key="ruleTypeForScript"/>
			</property>
			<property name="purpose" code="Purp" type="purpose" access="rw" description="The primary purpose (expansion or correction) of the rules in this set.">
				<cocoa key="purposeForScript"/>
			</property>
			<property name="common prefix" code="cPrf" type="text" access="rw" description="Common prefix of all abbreviations in this set.">
				<cocoa key="prefixStringForScript"/>
			</property>
			<property name="common suffix" code="cSuf" type="text" access="rw" description="Common suffix of all abbreviations in this set.">
				<cocoa key="suffixStringForScript"/>
			</property>
			<property name="feedback sound" code="cSnd" type="text" access="rw" description="Name of the feedback sound when an expansion takes place.">
				<cocoa key="expansionSound"/>
			</property>
			<property name="rule table" code="rTab" type="text" access="r" description="Textual table of the rules in this set.">
				<cocoa key="ruleTableForScript"/>
			</property>

		</class>
		
		<class name="rule" plural="rules" code="Rule" description="a replacement rule, defined by an abbreviation or regular expression and the corresponding expansion.">
			<cocoa class="Abbreviation"/>
			
			<property name="name" code="pnam" type="text" access="r" description="The name of a rule is the same as the abbreviation or regular expression. Note that the name is not unique.">
				<cocoa key="abbreviationForScript"/>
			</property>
			<property name="unique id" code="ID  " type="text" access="r" description="The unique ID of the rule.">
				<cocoa key="uniqueID"/>
			</property>
			<property name="containing set" code="conS" type="rule set" access="r" description="The rule set containing the rule.">
				<cocoa key="containingSet"/>
			</property>

			<property name="abbreviation" code="aStr" type="text" access="rw" description="The abbreviation or regular expression.">
				<cocoa key="abbreviationForScript"/>
			</property>
			<property name="plain expansion" code="eStr" type="text" access="rw" description="The result of the replacement rule as plain text.">
				<cocoa key="expansionPlainStringForScript"/>
			</property>
			<property name="formatted expansion" code="fStr" type="rich text" access = "r" description="The formatted (rich) version of the expansion.">
				<cocoa key="formattedExpansionForScript"/>
			</property>
			<property name="description" code="dEsc" type="text" access="rw" description="Optional description that appears instead of the expansion in the list in the Typinator window.">
				<cocoa key="commentForScripting"/>
			</property>
			<property name="whole word" code="whWd" type="boolean" access="rw" description="Is the &quot;whole word&quot; option enabled for this rule?">
				<cocoa key="wholeWordForScript"/>
			</property>
			<property name="case handling" code="CasH" type="case handling" access="rw" description="How are case variations handled when the rule is processed?">
				<cocoa key="caseOptionForScript"/>
			</property>
			<property name="expansion type" code="ExTy" type="expansion type" access="rw" description="Which result is produced by this rule?">
				<cocoa key="expansionTypeForScript"/>
			</property>

			<property name="expansion count" code="Exp#" type="integer" access="r" description="How often has this rule been expanded?">
				<cocoa key="useCount"/>
			</property>
			<property name="last expanded" code="ExLa" type="date" access="r" description="When has this rule been expanded the last time?">
				<cocoa key="lastUsedDate"/>
			</property>
			
			<responds-to command="execute expansion">
				<cocoa method="expandRuleFromScript:"/>
			</responds-to>

		</class>

		<class name="variable" plural="variables" code="Vari" description="a variable that can be set and recalled within expansions. Variables are stored permanently.">
				<cocoa class="TYVariable"/>
	
				<property name="name" code="pnam" type="text" access="r" description="The variable's name.">
					<cocoa key="name"/>
				</property>
				<property name="value" code="vVal" type="text" access="rw" description="The variable's value.">
					<cocoa key="value"/>
				</property>
				<property name="unique id" code="ID  " type="text" access="r" description="The unique ID of the variable is the same as its name.">
					<cocoa key="uniqueID"/>
				</property>
				
		</class>
		
	</suite>
</dictionary>

