image

Types of Entities Shown in the Terminology List

image

This is a list of the various types of entities shown in the terminology list in the dictionary window, as well as in results from searching in the dictionary window and the dictionaries inspector.

Suite
A suite (image) is an artificial grouping of entities created by the developer of the application’s scripting model. A suite can contain any other type of entity (except another suite), and in most dictionaries, every dictionary entry is part of some suite. The terminology list displays all such terms twice — first within their suites, and then by category.
Command
A command is a verb, something that you tell an application or one of its objects to do. The icon distinguishes between a function (image), which returns a result, and a plain command (image), which does not. Command parameters are marked in a search result by image.
Event
An event (image) is a message sent by an application to your code. Your code can receive this message through an event handler. For example, Folder Actions are implemented through events; see the Folder Actions suite in the Scripting Additions dictionary.

Dictionaries do not always distinguish events from commands, so Script Debugger may sometimes classify events as commands.

Class
A class (image) is a datatype. A class can have attributes — properties (image) and elements (which are themselves denominated as classes). Most of what you do in scripting an application involves working with properties and elements. You get and set the values of properties, and you manipulate elements in various ways (asking for particular elements or lists of elements, creating new elements, deleting elements, and so forth).
Record
A record (image) is a sort of lightweight class, typically used only in communicating data between an application and your script. Script Debugger distinguishes records from classes only when the target application has an sdef-based dictionary (because only an sdef-based dictionary can draw such a distinction).
Enumeration
An enumeration (image) is a datatype whose value is always one of a predefined list of constants (image). For example, in some dictionaries the close command has a saving parameter whose value is a member of the save options enumeration: either the constant yes or the constant no or the constant ask. An enumeration’s constants are called its enumerators. Enumerations sometimes have no English name, so in that case Script Debugger names them by their raw Apple event code.

In the dictionary info pane, each enumeration is listed, with its enumerators, on a page of its own. A value type is shown as a hyperlink with the enumeration name. Click this link to see the enumeration’s own page, listing its enumerator values. For example, the saving parameter of the close command might be listed as the save options enumeration; to see the actual values you’re allowed to supply for this parameter, you’d click save options to see the save options enumeration on its own page, where the enumerators yes, no, and ask are listed.

Type
A type (image) is a built-in AppleScript datatype, such as boolean or string. It is not always obvious what the distinction is between a Type and a Class. In some contexts, the difference is that a Class can have attributes (properties and elements), but some dictionaries fail to draw this distinction consistently.
Scripting Addition
This category appears only at the start of the Scripting Additions terminology list. Script Debugger collects the dictionaries of all installed scripting additions into a single dictionary, but this category lets you browse an individual scripting addition. A scripting addition category lists both suites and categories, just as at top level, so in the Scripting Additions terminology list, a command (say) might be shown four times: inside its scripting addition under its suite, inside its scripting addition under its category (Commands), at top level under its suite, and at top level under its category (Commands).

Individual scripting additions are marked as to their location, namely the ScriptingAdditions folder in the Library at the system (image), computer (image), user (image), or network (image) level.

Summary of Symbols
image # in a folder Enumeration
image # in a circle Constant (Enumerator)
image C in a circle Class
image C in a hexagon Command
image E in a hexagon Event
image F in a hexagon Function (Command with result)
image P in a square Parameter
image Pr in a square Property
image R in a circle Record
image S in a folder Suite
image T in a circle Type
image ! in a triangle PowerPC-only*
image Mac OS X-style X System**
image iMac display Computer**
image Person silhouette User**
image Network globe Network**

* The PowerPC-only icon appears when Script Debugger is running natively on an Intel-based machine and a scripting addition is PowerPC only. It alerts you to the fact that Intel-native AppleScript environments, including Script Debugger, will not load this scripting addition. (But a Carbon applet, or any application that executes AppleScript scripts and is not a universal binary and therefore runs under Rosetta, will load such a scripting addition.)

** Scripting Addition icons reflect the location of the Library/ScriptingAdditions folder containing the marked scripting addition file: /System, top level, the user’s home folder, or the network, respectively.