GEMScript commands

- (*) non-standard commands
- All parameters are strings (the behaviour parameters are not case-sensitive)
- The commands apply first on the block, and if no selection, on the entire text

ú Name: appGetLongName
  Returns: "Joe"
  Comment: the name of the application (used for example by MultiStrip)

ú Name: appGetVersion (*)
  Returns: the version number in string format "1.47"

ú Name: close
  Comment: same as new in the 1.47 version, close the current text
           and make a new one. 

ú Name: copy
  Comment: copy the text clipboard at text cursor position
  
ú Name: cut
  Comment: cut the selected block to text clipboard
  
ú Name: delete
  Comment: delete the selected block
  
ú Name: deselect (*)
  Parameter 1: "block.start", "block.end" (default)
  Comment: deselect the current block and set the text cursor at start or end

ú Name: destroyTags (*)
  Comment: destroy the tags (marked with < and <) in the current text
  
ú Name: getAllCommands
  Returns: alphabetical sorted list of GEMScript commands

ú Name: getFirstLink (*)
  Returns: a pathfile (unix format) or the complete URL, if not found nothing (false)
  Parameter 1: "link.source", "link.reference", "link.all" (default)
  Comment: you can choose with the parameter the type of link you want
           to get (source are mostly embedded files (ie images),
           reference are mostly http link to HTML document). The next links
           are get with getNextLink command
           
ú Name: getFront
  Returns: the filename of current edited text.

ú Name: getNextLink (*)
  Returns: a pahtfile, if not found nothing.
  Comment: you must call getFirstLink before use this command.
  
ú Name: isASCIIMode (*)
  Returns: "1" (true) if the ASCII mode is selected, nothing (false) instead
  
ú Name: isEntityMode (*)
  Returns: "1" (true) if the entity mode is active, nothing (false) instead
  
ú Name: isLocked (*)
  Returns: "1" (true) if Joe has been locked, nothing (false) instead
  
ú Name: isSelected (*)
  Returns: "1" (true) if a block selection exist in the edited text,
           nothing (false) instead
          
ú Name: lock (*)
  Comment: lock the Joe's interface, only the window can be manipulated
           use this if you have long and exclusive GEMScript manipulations
           
ú Name: merge
  Parameter 1: filename
  Parameter 2: "text.start", "texte.end", "text.cursor" (default)
  Comment: merge a textfile with the edited one.
  
ú Name: new
  Comment: same as close for the 1.47 version (behaviour will be
           modified for multiple textfile managment)
           
ú Name: open
  Parameter 1: filename
  Comment: loads a textfile
  
ú Name: paste
  Comment: insert the text clipboard at text cursor position
  
ú Name: print
  
ú Name: quit
  Comment: there's no alert of confirmation

ú Name: reduce (*)
  Comment: the double lines are made one, the lines are TRIMed
  
ú Name: renameAs (*)
  Parameter 1: filename
  Comment: rename the current edited file with the new filename
  
ú Name: replace (*)
  Parameter 1: string to search
  Parameter 2: string to replace
  Parameter 3: "case.sensitive", "case.indifferent" (default)
  Comment: replace all occurences in the block (if selection) or the text
  
ú Name: save
  Comment: save the edited file
  
ú Name: saveAs
  Parameter 1: filename
  Comment: save the edited file with a new filename
  
ú Name: selectAll
  Comment: select all the text as block

ú Name: selectFirstString (*)
  Parameter 1: string to search
  Parameter 2: "case.sensitive", "case.indifferent" (default)
  Returns: "1" (true) if found and selected, nothing (false) instead
  Comment: select the first found string, the next strings are selected
           with selectNextString command

ú Name: selectFirstTag (*)
  Parameter 1: tagname such as IMG, TABLE or P (case indifferent)
  Parameter 2: "tag.group" (ie for tables), "tag.element" (default) (ie for images)
  Returns: "1" (true) if found and selected, nothing (false) instead
  Comment: select the first type of tag in the text. Its nature is defined
           in parameter 1 and its type (element or property/group) in parameter 2.
           The next same tags must be selected with selectNextTag

ú Name: selectLine (*)
  Parameter 1: line number
  Returns: "1" (true) if the line number is correct and the line is selected
           nothing (false) if the line number is the last line and the 
           line is selected.
           An error occurs if the line number is too big.
           
ú Name: selectNextString (*)
  Returns: "1" (true) if found and selected, nothing (false) instead
  Comment: you must specify the search with selectFirstString before
  
ú Name: selectNextTag (*)
  Returns: "1" (true) if found and selected, nothing (false) instead
  Comment: you muit specify th search  with selectFirstTag before
  
ú Name: selectTagUnderCursor (*)
  Parameter 1: "tag.group" (ie for tables), "tag.element" (default) (ie for images)
  Returns: "1" (true) if a tag has been found under cursor and selected
           nothing (false) if not
           
ú Name: setLineEnd (*)
  Parameter 1: "CR" and/or "LF" (case indifferent)
  Comment: set the line end for saving the text
           (Atari/DOS is "CRLF", Unix is "LF", Mac is "CR")
  
ú Name: toASCII (*)
  Comment: transform HTML entities to ASCII characters
  
ú Name: toEntity (*)
  Comment: transform ASCII characters to HTML entities
  
ú Name: toFront
  Parameter 1: filemane
  Comment: dummy command, will be used with multiple file managment
  
ú Name: toHTMLChar (*)
  Parameter 1: "<" and/or ">" and/or "&" and/or """
  Comment: transform the reserved HTML characters to HTML entities (& to &amp;)
  
ú Name: toReservedChar (*)
  Parameter 1: "<" and/or ">" and/or "&" and/or """
  Comment: transform the HTML entities &amp; and/or &lt; etc to HTML reserved characters
  
ú Name: toUpper (*)
  Comment: set the text to capital letters
  
ú Name: undo
  Comment: not implemented for the moment, a thousand apologizes :(
  
ú Name: unlock
  Comment: unlock Joe and make it react to user commands
  
