<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dictionary SYSTEM "file://localhost/System/Library/DTDs/sdef.dtd">
<dictionary title="Coda Terminology" xmlns:xi="http://www.w3.org/2003/XInclude">
	<xi:include href="file:///System/Library/ScriptingDefinitions/CocoaStandard.sdef" xpointer="xpointer(/dictionary/suite)"/>
	<suite name="Coda Suite" code="TStu" description="Coda specific classes.">
		
        <enumeration name="saveable file format" code="savf">
			<enumerator name="text" code="txt " description="Text Document Format">
				<cocoa string-value="public.text"/>
			</enumerator>
		</enumeration>
        
		<!-- constants -->
		<enumeration name="connectprotocol" code="PRot">
			<enumerator name="FTP" code="FTP " description="FTP Protocol"/>
			<enumerator name="FTP implicit SSL" code="FSSL" description="FTP with implicit SLL"/>
			<enumerator name="FTP TLS SSL" code="FTPS" description="FTP with TLS/SSL"/>
			<enumerator name="S3" code="S3  " description="Amazon S3"/>
			<enumerator name="SFTP" code="SFTP" description="SFTP"/>
			<enumerator name="WebDAV" code="WDAV" description="WebDAV"/>
			<enumerator name="WebDAV HTTPS" code="SDAV" description="WebDAV with HTTPS"/>
		</enumeration>
		
        <enumeration name="resumetype" code="resu">
			<enumerator name="ask" code="aTRN" description="Ask how to proceed if a duplicate file exists."/>
			<enumerator name="overwrite" code="oTRN" description="Overwrite a duplicate file."/>
			<enumerator name="resume" code="rTRN" description="Try and continue transferring a duplicate file."/>
			<enumerator name="skip" code="sTRN" description="Skip a duplicate file."/>
		</enumeration>
		
        <enumeration name="itemtype" code="BIty">
			<enumerator name="folder item" code="FKfo" description="Browser item folders."/>
			<enumerator name="file item" code="FKfi" description="Browser item files."/>
			<enumerator name="alias item" code="FKal" description="Browser item aliases."/>
			<enumerator name="smart folder item" code="FKsm" description="Browser item smart folders."/>
		</enumeration>
		
        <class-extension extends="application">
			<element type="site" access="r">
				<cocoa key="sites"/>
			</element>
            <element type="skip rule" access="r">
				<cocoa key="skipList"/>
			</element>
            <property name="suppress errors" code="TsSE" type="boolean" description="Do not show error dialogs during AppleScript execution (on by default).">
				<cocoa key="suppressAppleScriptDialogs"/>
			</property>

		</class-extension>
		
        <class-extension extends="window">
            <cocoa class="NSWindow"/>
			<contents description="The selected tab of a window." type="tab">
				<cocoa key="codaSelectedTabController"/>
			</contents>
            <property name="selected tab" code="Wist" description="The selected tab of a window." type="tab">
				<cocoa key="codaSelectedTabController"/>
			</property>
			<element type="tab">
				<cocoa key="codaTabControllers"/>
			</element>
            <property name="local browser" code="Wilb" description="The local file browser." type="file browser">
                <cocoa key="codaLocalFileViewController"/>
            </property>
            <property name="remote browser" code="Wirb" description="The remote file browser if available." type="file browser">
                <cocoa key="codaRemoteFileViewController"/>
            </property>
            <responds-to command="connect">
				<cocoa method="connectToScriptCommand:"/>
			</responds-to>
            <responds-to command="disconnect">
				<cocoa method="disconnectScriptCommand:"/>
			</responds-to>
            <responds-to command="publish">
				<cocoa method="publishScriptCommand:"/>
			</responds-to>
		</class-extension>
		
        <class name="tab" code="CdTb" description="A tab." plural="tabs">
			<cocoa class="TabController"/>
			<contents description="The selected split of a tab." type="split">
                <cocoa key="selectedSplitController"/>
            </contents>
            <property name="selected split" code="Dous" description="The selected split of a tab." type="split">
                <cocoa key="selectedSplitController"/>
            </property>
            <property name="name" code="pnam" description="The name of tab." type="text" access="r" >
                <cocoa key="displayName"/>
            </property>
            <element type="split">
				<cocoa key="splitControllers"/>
			</element>
            <responds-to command="close">
				<cocoa method="closeScriptCommand:"/>
			</responds-to>
		</class>
		
        <class name="split" code="CdSp" description="A split." plural="splits">
			<cocoa class="SplitController"/>
            <contents description="Text document of a split." type="document">
                <cocoa key="textDocument"/>
			</contents>
			<property name="editor" code="CdPT" description="Text document of a split." type="document">
				<cocoa key="textDocument"/>
			</property>
            <property name="selected range" code="Spsl" description="The range of selected text in the split based on location and length.">
				<cocoa key="selection"/>
                <type type="integer" list="yes"/>
			</property>
            <property name="line number" code="Spln" description="The current line number of the editor in the split." type="integer" access="r">
				<cocoa key="currentLineNumber"/>
			</property>
            <property name="line range" code="Sprc" description="The range of the current line in the split based on location and length." access="r">
				<cocoa key="rangeOfCurrentLine"/>
                <type type="integer" list="yes"/>
			</property>
            <property name="line text" code="Spcl" description="The string of the current line of the editor in the split." type="text" access="r">
				<cocoa key="currentLine"/>
			</property>
            <property name="selected text" code="Spst" description="The selected text of the editor in the split." type="text">
				<cocoa key="selectedText"/>
			</property>
            <property name="full text" code="pttx" description="The text of the editor in the split." type="rich text">
                <cocoa key="ASTextStorage"/>           
            </property>
            <responds-to command="close">
				<cocoa method="closeScriptCommand:"/>
			</responds-to>
		</class>
		
        <class-extension extends="document">
			<cocoa class="TextDocument"/>
            <contents description="The text of the file." type="rich text">
                <cocoa key="ASTextStorage"/>
            </contents>
            <property name="text" code="ctxt" description="The text of the file." type="rich text">
                <cocoa key="ASTextStorage"/>                
            </property>
			<property name="uses tabs" code="Cdut" description="Indicates if the document uses tabs or spaces for indentation." type="boolean" access="r">
				<cocoa key="scriptUsesTabs"/>
			</property>
            <property name="tab width" code="Cdtw" description="The width of a tab when using spaces as tabs." type="integer" access="r">
				<cocoa key="scriptTabWidth"/>
			</property>
            <property name="displayed name" code="dnam" description="The user-visble name of the file." type="text" access="r">
				<cocoa key="displayName"/>
			</property>
            <property name="name" code="pnam" description="The name of the file." type="text" access="r">
				<cocoa key="filename"/>
			</property>
            <property name="line ending" code="PTld" description="The file line ending character(s)." type="text" access="r">
				<cocoa key="lineEndingString"/>
			</property>

		</class-extension>
		
        <class name="site" code="CdSt" description="A site." plural="sites">
			<cocoa class="CodaSite"/>
			<property name="address" code="Stad" description="The address of the site." type="text" access="r">
				<cocoa key="address"/>
			</property>
            <property name="local path" code="Stlp" description="The local path of the site." type="text" access="r">
				<cocoa key="localPath"/>
			</property>
            <property name="name" code="pnam" description="The name of the site." type="text" access="r">
				<cocoa key="name"/>
			</property>
            <property name="password" code="Stpa" description="The password of the site." type="text" access="r">
				<cocoa key="password"/>
			</property>
            <property name="port" code="Stpt" description="The port of the site." type="integer" access="r">
				<cocoa key="port"/>
			</property>
            <property name="protocol" code="Stpo" description="The protocol a site uses to connect." type="connectprotocol" access="r">
				<cocoa key="protocol"/>
			</property>
            <property name="remote path" code="Strp" description="The remote path of the site." type="text" access="r">
				<cocoa key="remotePath"/>
			</property>
            <property name="URL" code="Stur" description="The URL specified for the site." type="text" access="r">
				<cocoa key="siteURL"/>
			</property>
            <property name="user name" code="Stus" description="The user name of the site." type="text" access="r">
				<cocoa key="username"/>
			</property>
		</class>
        
        <class name="file browser" code="FilV" description="A file browser in Coda.">
			<cocoa class="FileViewController"/>
			
			<element type="browser item" plural="browser items" access="r">
				<cocoa key="files"/>
			</element>
			
			<element type="selected browser item" plural="selected browser items" access="r">
				<cocoa key="selectedFiles"/>
			</element>
            
			<property name="root path" code="FiCP" type="text" access="r" description="The current file browser path." >
				<cocoa key="currentPath"/>
			</property>
			<property name="remote" code="FiIR" type="boolean" access="r" description="Whether the file browser is listing remote files." >
				<cocoa key="iRemote"/>
			</property>
			<property name="show hidden" code="FiSH" type="boolean" description="Whether the file browser is showing invisible files." >
				<cocoa key="showHiddenFiles"/>
			</property>
			<!--
            <property name="favorite" code="FAvr" type="favorite" access="r" description="The favorite the file browser is associated with (if applicable).">
				<cocoa key="favorite"/>
			</property>
             -->
			<property name="address" code="Addr" type="text" access="r" description="The server address the file browser is associated with (if applicable).">
				<cocoa key="address"/>
			</property>
			<property name="username" code="FAUn" type="text" access="r" description="The server user name the file browser is associated with (if applicable).">
				<cocoa key="username"/>
			</property>
			
			<responds-to command="change location">
				<cocoa method="changeDirectoryScriptCommand:"/>
			</responds-to>
			<responds-to command="create folder">
				<cocoa method="createFolderWithNameScriptCommand:"/>
			</responds-to>
			<responds-to command="create file">
				<cocoa method="createFileWithNameScriptCommand:"/>
			</responds-to>
			<responds-to command="refresh">
				<cocoa method="refreshScriptCommand:"/>
			</responds-to>
			<responds-to command="rename">
				<cocoa method="renameScriptCommand:"/>
			</responds-to>
			<responds-to command="upload">
				<cocoa method="uploadScriptCommand:"/>
			</responds-to>
			<responds-to command="download">
				<cocoa method="downloadScriptCommand:"/>
			</responds-to>
			<responds-to command="delete item">
				<cocoa method="deleteScriptCommand:"/>
			</responds-to>
            
		</class>
        
        <class name="skip rule" code="SkRu" description="A Coda Skip Rule.">
			<cocoa class="PCPredicateGroup"/>
			
			<property name="name" code="pnam" type="text" access="r" description="The name of the skip rule.">
				<cocoa key="name"/>
			</property>
			
			<property name="enabled" code="skEn" type="boolean" access="r" description="Is the skip rule currently enabled in Coda.">
				<cocoa key="enabled"/>
			</property>
			
			<property name="identifier" code="ID  " type="text" access="r" description="The unique identifier of the rule.">
				<cocoa key="identifier"/>
			</property>
		</class>
		
		<class name="browser item" code="PAbi" description="A file, folder or alias.">
			<cocoa class="PCApplescriptNodeWrapper"/>
			
			<property name="name" code="pnam" type="text" access="r" description="The name of the browser item.">
				<cocoa key="name"/>
			</property>
            
			<property name="display name" code="PAdn" type="text" access="r" description="The display name of the browser item.">
				<cocoa key="displayName"/>
			</property>
            
			<property name="path" code="PApa" type="text" access="r" description="The path of the browser item.">
				<cocoa key="path"/>
			</property>
			
			<property name="size" code="PAsz" type="integer" access="r" description="The logical size of the browser item.">
				<cocoa key="size"/>
			</property>
			
			<property name="physical size" code="PApz" type="integer" access="r" description="The actual space used on disk of the browser item.">
				<cocoa key="physicalSize"/>
			</property>
			
			<property name="creation date" code="PAcd" type="date" access="r" description="The date on which the browser item was created.">
				<cocoa key="creationDate"/>
			</property>
            
			<property name="modification date" code="PAmd" type="date" access="r" description="The date on which the browser item was last modified.">
				<cocoa key="modificationDate"/>
			</property>
			
			<property name="item type" code="BIty" type="itemtype" access="r" description="The type of the browser item.">
				<cocoa key="type"/>
			</property>
            
		</class>
        
		<class name="selected browser item" code="PAsb" description="A file, folder or alias." inherits="browser item">
			<cocoa class="PCApplescriptNodeWrapper"/>
		</class>
        
        <!-- window commands -->
		<command name="connect" code="TStuConf" description="Connect to a site or a specified server.">
			<cocoa class="NSScriptCommand"/>
			<direct-parameter type="window" code="CoWc"  hidden="yes" description="Window to act on.">
				<cocoa key="Window"/>
			</direct-parameter>
			<parameter name="to" code="CoSi" description="The site to connect to." type="site" optional="yes">
				<cocoa key="Site"/>
			</parameter>
			<parameter name="to address" code="CoAd" description="The address to connect to." type="text" optional="yes">
				<cocoa key="Address"/>
			</parameter>
			<parameter name="as user" code="CoUs" description="The user name to use when connecting." type="text" optional="yes">
				<cocoa key="User"/>
			</parameter>
			<parameter name="using port" code="CoPo" description="The network port to use when connecting." type="integer" optional="yes">
				<cocoa key="Port"/>
			</parameter>
			<parameter name="with initial path" code="CoIp" description="The initial path to change to after the connection is made." type="text" optional="yes">
				<cocoa key="InitialPath"/>
			</parameter>
			<parameter name="with password" code="CoPa" description="The password to use when connecting." type="text" optional="yes">
				<cocoa key="Password"/>
			</parameter>
			<parameter name="with protocol" code="CoPr" description="The connection type to use when connecting." type="connectprotocol" optional="yes">
				<cocoa key="Protocol"/>
			</parameter>
            <result description="Whether the connection was successful." type="boolean"/>
		</command>
        
        <command name="disconnect" code="TStuDict" description="Disconnect a site.">
			<cocoa class="NSScriptCommand"/>
			<direct-parameter type="window" code="CoDi" hidden="yes" description="The window to close the site in.">
				<cocoa key="window"/>
			</direct-parameter>
		</command>
        
        <command name="publish" code="TStuPubl" description="Upload locally changed files from the current site to their corresponding location on the server.">
			<cocoa class="NSScriptCommand"/>
			<direct-parameter type="window" code="CoDp" hidden="yes" description="The window to publish site changes in.">
				<cocoa key="window"/>
			</direct-parameter>
            <result description="Whether the publish was successful." type="boolean"/>
		</command>
        
        <!-- file browser commands -->
		<command name="change location" code="TStuDisc" description="Change the current location of the file browser.">
			<cocoa class="NSScriptCommand"/>
			<direct-parameter type="file browser" code="DiFi"  hidden="yes" description="File browser to act on.">
				<cocoa key="FileBrowser"/>
			</direct-parameter>
			<parameter name="to path" code="DiPa" type="text" description="The path you want to change to." >
				<cocoa key="Path"/>
			</parameter>
			<result description="Whether the change location was successful." type="boolean"/>
		</command>
		
		<command name="create folder" code="TStuFold" description="Create a new folder.">
			<cocoa class="NSScriptCommand"/>
			<direct-parameter type="file browser" code="FoFi" description="File browser to act on." hidden="yes">
				<cocoa key="FileBrowser"/>
			</direct-parameter>
			<parameter name="named" code="FoNa" description="The name for the new folder." type="text">
				<cocoa key="Name"/>
			</parameter>
			<result description="Whether the folder creation was successful." type="boolean"/>
		</command>
		
		<command name="create file" code="TStuFile" description="Create a new file.">
			<cocoa class="NSScriptCommand"/>
			<direct-parameter type="file browser" code="FiFi" hidden="yes" description="File browser to act on.">
				<cocoa key="FileBrowser"/>
			</direct-parameter>
			<parameter name="named" code="FiNa" type="text" description="The name for the new file.">
				<cocoa key="Name"/>
			</parameter>
			<result description="Whether the file creation was successful." type="boolean"/>
		</command>
		
		<command name="refresh" code="TStuRefr" description="Refresh the file list.">
			<cocoa class="NSScriptCommand"/>
			<direct-parameter type="file browser" code="FiFi" hidden="yes" description="File browser to act on.">
				<cocoa key="FileBrowser"/>
			</direct-parameter>
		</command>
		
		<command name="rename" code="TStuRena" description="Rename a file at a path.">
			<cocoa class="NSScriptCommand"/>
			<direct-parameter code="ReFi" type="file browser" hidden="yes" description="The file browser to rename in.">
				<cocoa key="FileBrowser"/>
			</direct-parameter>
			<parameter name="item at path" code="RePa" type="text" description="The path to the item being renamed.">
				<cocoa key="Path"/>
			</parameter>
			<parameter name="to" code="ReTo" type="text" description="The new name of the item.">
				<cocoa key="To"/>
			</parameter>
			<result description="Whether the rename was successful." type="boolean"/>
		</command>
		
		<command name="download" code="TStuDown" description="Download a file at a path.">
			<cocoa class="NSScriptCommand"/>
			<direct-parameter code="DoFi" type="file browser" hidden="yes" description="The file browser to download from.">
				<cocoa key="FileBrowser"/>
			</direct-parameter>
			<parameter name="item at path" code="DoPa" type="text" description="The path of the remote item being downloaded.">
				<cocoa key="Path"/>
			</parameter>
			<parameter name="to" code="DoTo" type="text" optional="yes" description="The local folder path to download the item to.">
				<cocoa key="To"/>
			</parameter>
			<parameter name="with resume mode" code="DoRm" type="resumetype" optional="yes" description="The action to take if a duplicate file exists.">
				<cocoa key="ResumeMode"/>
			</parameter>
			<parameter name="continue after error" code="DoCo" type="boolean" optional="yes" description="Continue the download if an error occurs.">
				<cocoa key="ContinueOnError"/>
			</parameter>
			<parameter name="using skip rules" code="DoSr" optional="yes" description="A list of skip rules to apply to the download.">
				<type type="skip rule" list="yes"/>
				<cocoa key="SkipRules"/>
			</parameter>
			<result description="Whether the download was successful." type="boolean"/>
		</command>
        
		<command name="upload" code="TStuUplo" description="Upload a file at a path.">
			<cocoa class="NSScriptCommand"/>
			<direct-parameter code="UpFi" type="file browser" hidden="yes" description="The file browser to upload to.">
				<cocoa key="FileBrowser"/>
			</direct-parameter>
			<parameter name="item at path" code="UpPa" type="text" description="The path of the local item being uploaded.">
				<cocoa key="Path"/>
			</parameter>
			<parameter name="to" code="UpTo" type="text" optional="yes" description="The remote folder path to upload the item to.">
				<cocoa key="To"/>
			</parameter>
			<parameter name="with resume mode" code="UpRm" type="resumetype" optional="yes" description="The action to take if a duplicate file exists.">
				<cocoa key="ResumeMode"/>
			</parameter>
			<parameter name="continue after error" code="UpCo" type="boolean" optional="yes" description="Continue the upload if an error occurs.">
				<cocoa key="ContinueOnError"/>
			</parameter>
			<parameter name="using skip rules" code="upSr" optional="yes" description="A list of skip rules to apply to the upload.">
				<type type="skip rule" list="yes"/>
				<cocoa key="SkipRules"/>
			</parameter>
			<result description="Whether the upload was successful." type="boolean"/>
		</command>
		
		<command name="delete item" code="TStuDele" description="Delete a file at a path.">
			<cocoa class="NSScriptCommand"/>
			<direct-parameter code="DeFi" type="file browser" hidden="yes" description="The file browser to delete in.">
				<cocoa key="FileBrowser"/>
			</direct-parameter>
			<parameter name="at path" code="DePa" type="text" description="The path of the item being deleted.">
				<cocoa key="Path"/>
			</parameter>
			<result description="Whether the delete was successful." type="boolean"/>
		</command>

	</suite>
	
	<suite name="Text Suite" code="????" description="Common text classes for all applications.">
		
		<class name="rich text" plural="rich text" code="ctxt" description="Rich (styled) text.">
			<cocoa class="NSTextStorage"/>
			<type type="text"/>
			<property name="font" code="font" type="text" description="The name of the font of the text's first character." access="r">
				<cocoa key="fontName"/>
			</property>
			<property name="size" code="ptsz" type="integer" description="The size in points of the text's first character." access="r">
				<cocoa key="fontSize"/>
			</property>
			<element type="character"/>
			<element type="paragraph"/>
			<element type="word"/>
			<element type="attribute run"/>
		</class>
		
		<class name="character" code="cha " description="One of some text's characters.">
			<cocoa class="NSTextStorage"/>
			<type type="text"/>
			<property name="font" code="font" type="text" description="The name of its font." access="r">
				<cocoa key="fontName"/>
			</property>
			<property name="size" code="ptsz" type="integer" description="Its size, in points." access="r">
				<cocoa key="fontSize"/>
			</property>
			<element type="character"/>
			<element type="paragraph"/>
			<element type="word"/>
			<element type="attribute run"/>
		</class>
		
		<class name="paragraph" code="cpar" description="One of some text's paragraphs.">
			<cocoa class="NSTextStorage"/>
			<type type="text"/>
			<property name="font" code="font" type="text" description="The name of the font of the paragraph's first character." access="r">
				<cocoa key="fontName"/>
			</property>
			<property name="size" code="ptsz" type="integer" description="The size in points of the paragraph's first character." access="r">
				<cocoa key="fontSize"/>
			</property>
			<element type="character"/>
			<element type="paragraph"/>
			<element type="word"/>
			<element type="attribute run"/>
		</class>
		
		<class name="word" code="cwor" description="One of some text's words.">
			<cocoa class="NSTextStorage"/>
			<type type="text"/>
			<property name="font" code="font" type="text" description="The name of the font of the word's first character." access="r">
				<cocoa key="fontName"/>
			</property>
			<property name="size" code="ptsz" type="integer" description="The size in points of the word's first character." access="r">
				<cocoa key="fontSize"/>
			</property>
			<element type="character"/>
			<element type="paragraph"/>
			<element type="word"/>
			<element type="attribute run"/>
		</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="font" code="font" type="text" description="The name of its font." access="r">
				<cocoa key="fontName"/>
			</property>
			<property name="size" code="ptsz" type="integer" description="Its size, in points." access="r">
				<cocoa key="fontSize"/>
			</property>
			<element type="character"/>
			<element type="paragraph"/>
			<element type="word"/>
			<element type="attribute run"/>
		</class>
		
	</suite>
</dictionary>