Navigator
|
|
Minimum Requirements
|
Downloadable Items
|
|
|
STS/MLXEditor is a collaboration between Sons of Thunder Software and MindLube Games to provide the ability to
use an external text editing application for script editing instead of Revolution's built-in script editor.
The STS/MLXEditor provides the ability to use an external text editor for script eidting purposes, rather than
using the internal Script Editor in Revolution. It does this by intercepting editScript messages in the IDE
(see Editing Process below), and then sending it to the editor of your choice. When activated, the external
editor will be launched by all of the usual script editing methods:
- Command-Option keypress
- contextual menu in the application overview
- contextual menu in the property inspector
- the "Object" menu's edit script items
- typing "edit the script of <obj>" in the message box
How Do I Install STS/MLXEditor?
Simply put the stsMLXEditor.rev file into the Plugins folder of your Revolution folder structure, and
relaunch Revolution. It should automatically load and display the main window:
How Do I Use STS/MLXEditor?
Before using STS/MLXEditor, you must first select a text editor to use, and have the appropriate
Transcript commands defined for launching your selected text editor. If you select an editor from the
popup menu, the commands for running that editor will automatically be inserted into the commands field.
If you have some other editor you would like to use, select "Custom" from the popup menu and enter the
Transcript commands to launch that editor. You can click the "Test" button to determine if your editor
launches properly (you should see the script of the Test button itself displaying in your selected
editor of choice).
Transcript Commands
The Transcript commands can be any valid command lines that work in Revolution, with the exception
that you must include a %s placeholder to take the place of the temporary file that is used
to pass the script off to the editor (see Editing Process, below); this placeholder will be
replaced when the script is edited.
Minimizing
Once you have set everything the way you want, click the Minimize button and it will minimize to a small
floating palette that lets you return to the larger window (click the button), and activate/deactivate
STS/MLXEditor by clicking the checkbox. You can also choose to have it start up in a minimized state by
clicking the "Start up in minimized state" checkbox.
Editing Process
- When an editScript message is sent, STS/MLXEditor intercepts it, and gets the control's id and script,
and writes it out to a temporary file.
- It launches your text editor on the temp file, and keeps track of the object's id, the filename, and
file's last modified time. This a "watched file".
- It periodically wakes up from idle and checks each of it's "watched file" to see if they have been
edited (saved). If not, STS/MLXEditor goes back to sleep.
- When a modified file is found, it maps the filename back into a long control id and sets the
script property of the object with the contents of the file.
- If any errors occur from setting the script property, the standard exception dialog used by the
IDE will appear with the script error, just like when using the built-in editor. One difference
between this and the built-in editor is that normally we can't jump to a specific line number
and code chunk like the built-in editor can. Certain editors (like TextMate) provide a
mechanism to allow this to happen, but at this point, anything like this would need to
be hard-coded into STS/MLXEditor.
Interaction Between the External Editor and IDE Editor
- The external editor will not open a script if the IDE script editor window is open. This is to
avoid synchronization problems and accidental overwrites by having them both open at the same
time. Please be aware of this and take caution not to edit the same script with both editors,
at the same time.
- However, you can temporarily disable the MLXEditor action by holding down the SHIFT key
while issuing a script edit command (by mouse or keyboard). By holding down SHIFT,
STS/MLXEditor will pass the scriptEdit command and normal IDE editing will occur. When
the IDE script editor appears, let go of the SHIFT key.
Debugger Interaction
Of course you cannot use an external editor to debug a script (not enough interactivity), so the
STS/MLXEditor will automatically use the built-in debugger for debugging and will NOT launch your
selected text editor.
Of course, you can always set breakpoints in a script that is open in the text editor by using the
"breakpoint" keyword; you just can't set them by clicking in the margins like you can in the built-in
script editor.
Although you can use ANY text editor with STS/MLXEditor and Revolution, several editors include the
ability to extend their support for other languages, allowing one to provide colorization rules,
parsing of data, identifying function or handler names, etc. The modules below have
been developed for supporting text editor applications:
Text Editor |
Module Created By |
Features |
|
BBEdit
7.1.4 or higher Macintosh
|
Bare Bones Software
|
Trevor DeVore
Last updated: 2008-05-11
|
Populates the Function Popup with commands, functions, getProp and setProp handlers
in the current document
Syntax coloring for all Revolution commands, functions, control statements, comment blocks
NOTE: This includes modules for both PowerPC and Intel Macs
|
|
SubEthaEdit
2.2 or higher Macintosh
|
The Coding Monkeys
|
Christian Langers
Last updated: 2007-08-09
|
Populates the Function Popup with commands, functions, getProp and setProp handlers
in the current document
Syntax coloring for all Revolution commands, functions, control statements, comment blocks
Includes support for private commands and functions
Added hotkeys in Mode menu for often-used code snippets
|
|
TextMate
1.5 or higher Macintosh
|
MacroMates
|
Ken Ray
Last updated: 2006-08-11
|
Populates the Function Popup with commands, functions, getProp and setProp handlers
in the current document
Syntax coloring for all Revolution commands, functions, control statements, comment blocks
Snippets for creating new handlers, functions, and control statements with tab triggers
Commands for commenting/uncommenting selected text
Code folding for handlers, functions, if/switch/repeat/try blocks
Automatic indentation for on/function/command/if/switch/repeat/try blocks
Support for private commands and functions, and the 'command' alternative to 'on'
|
|
UltraEdit-32
Windows
|
IDM Computer Solutions
|
Xavier Bury
Last updated: 2007-03-04 |
Syntax coloring for all Revolution commands, functions, control statements, comment blocks
|
If you create your own modules or improve on the ones here, please contact us so we can make them available.
|