fseditor.js
is a Full Screen Editor (FSE) written by Deuce in JavaScript1) for the Synchronet Terminal Server.
The newest version of fseditor can always be download from Git
fseditor.js
is normally installed into the Synchronet exec
directory.
To add fseditor.js
to your FSE list, use the following settings in SCFG->External Programs->External Editors:
╔════════════════════════════════════════════════════════════════════╗ ║ Deuce's FSEditor Editor ║ ╠════════════════════════════════════════════════════════════════════╣ ║ │Name Deuce's FSEditor ║ ║ │Internal Code FSEDITOR ║ ║ │Command Line ?fseditor %f ║ ║ │Access Requirements ANSI ║ ║ │I/O Method Socket ║ ║ │Native Executable/Script Yes ║ ║ │Use Shell or New Context No ║ ║ │Record Terminal Width Yes ║ ║ │Word-wrap Quoted Text Yes, for terminal width ║ ║ │Automatically Quoted Text None ║ ║ │Editor Information Files WWIV EDITOR.INF/RESULT.ED ║ ║ │Expand Line Feeds to CRLF Yes ║ ║ │Handle Soft CRs N/A ║ ║ │Strip FidoNet Kludges No ║ ║ │Support UTF-8 Encoding Yes ║ ║ │BBS Drop File Type None ║ ╚════════════════════════════════════════════════════════════════════╝
The first argument to fseditor.js must be the path/name of the file to edit (specified as %f
in SCFG).
Optionally, -utf8
may be passed as a secondary argument to enable UTF-8 message support.
The ctrl/modopts.ini
file may contain an [fseditor]
section with the following keys:
Key | Default | Description |
---|---|---|
utf8_support | false | Enable UTF-8 message support (experimental at this time) |
default_tabstop | 8 | Specify the default interval of tab-stops (can be overridden and saved per-user) |
soft_cr | false | Soft carriage-returns are included in saved files |
The key bindings for using fseditor.js
are:
In edit mode, the following CTRL keys function:
CTRL-Key | Action |
---|---|
@ | Colour/Attribute (Same as CTRL-A) |
A | Colour/Attribute |
B | Home cursor (Beginning of line) |
C | Center line in message |
E | End of line |
F | Right one character |
G | Enter Graphic Char |
H | Backspace |
I | Tab |
J | Down one line |
K | List keybindings |
L | Insert line |
M | Carriage Return |
N | Page Down |
P | Page Up |
Q | Quick abort |
R | Redraw screen |
S | Edit Subject |
T | Change Tab Size |
U | Quote |
V | Toggle insert mode |
W | Delete word backwards |
Y | Delete Line |
Z | Save and exit |
\ | Edit Subject (Same as Xon CTRL-S) |
] | Move left |
^ | Move up |
_ | Quick abort (Same as Xoff CTRL-Q) |
Key | Action |
---|---|
CTRL-B | Home (Top of document) |
CTRL-E | End of document |
CTRL-J | Down one line |
CTRL-K | List keybindings |
CTRL-N | Page Down |
CTRL-P | Page Up |
CTRL-Q | Quick abort... FLOW CONTROL CHAR!!! |
CTRL-R | Redraw screen |
CTRL-^ | Up one line |
CTRL-_ | Quick abort (Same as CTRL-Q) |
SPACE | Toggle sepection of current line |
ENTER | Pastes selected lines into message |
A | Select All |
B | Enter block mode |
N | Unselect all (“Select None”) |
I am not completely opposed to changing some keybindings. However, the current ones fall into three catagories:
The breakdown is as follows:
ABCEFGHIJLMRWZ
KSTVY\]
@NPQU_
The following CTRL keys are currently unused: DOX[
CTRL-Q and CTRL-S I do *not* want to use without alternates as they are the Xon/Xoff chars used in flow control and are sometimes impossible to send from a terminal.
I am open to suggestions.