prev | toc | next
 

Lists:

In addition to directories, props can also be organized in `lists'. A list is a group of properties which are handled together in such a way that they emulate a document or computer file. Lists can be created and edited with the list editor, command lsedit, syntax lsedit <object> = <list name>. This is useful for descriptions that need formatting such as paragraph breaks, indentations, and so forth. Complex MPI strings can be stored in a list rather than a property as well, in which case indentation and other whitespace can be used to make the code more readable than it would be as one long uninterrupted string. There are other uses.

====================================
>lsedit here = maindesc
  <    Welcome to the list editor. You can get help by entering `.h'     >
  < `.end' will exit and save the list. `.abort' will abort any changes. >
  <    To save changes to the list, and continue editing, use `.save'    >
  < Insert at line 1 >

            <you type type type some text text text>

> .end
  < Editor exited. >
  < list saved. >
====================================

Lists are stored as a set of properties sharing the same path name, and ending with #/<line number>.

====================================
> ex here = maindesc#/
  str /maindesc#/1: (a line of text you entered... )
  str /maindesc#/2: (another line... )
  str /maindesc#/3: (another line... )
  (etc)
====================================

The list name can be a path name that includes propdirs. For example, you could store multiple descs in propdir _descs.

====================================
> lsedit me = _descs/snazzy
  <enter your `snazzy' desc>
> .end

> lsedit me = _descs/grungy
  <enter your `grungy' desc>
> .end
====================================

(The server, recall, always references the _/de property for a description. If you write a description with lsedit, you will need to put an MPI string in this property that tells the server where to find the description and how to display it.

====================================
> lsedit me = _descs/snazzy
  <enter `snazzy' desc... >
> look me
  You see nothing special.
> @desc me = {list:_descs/snazzy}
  Description set.
> look me
  Ooo la la! Today Mistral is modeling the latest from the Spiegal
  Catalogue: a gownless evening strap with... (etc etc)
====================================

The MPI string stored in _/de can be made considerably more elaborate and flexible than the one shown here. (See Section 3.1 for a more complete discussion of MPI.)

The syntax for removing a list is @set <object> = <[path/]list name>#/:

====================================
> @set me = descs/snazzy#/:
  Property removed.
====================================

prev | toc | top | next