Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
module:slyedit [2018/03/25 12:57] – created nightfoxmodule:slyedit [2024/02/12 09:43] (current) – [UTF-8 support] nightfox
Line 1: Line 1:
 ====== SlyEdit ====== ====== SlyEdit ======
-[[http://digdist.synchro.net/DigDistBBSStuff/DigDistBBSStuff.html|SlyEdit Message Editor]] is the second full-featured full screen editor for Synchronet, written by ''[[person:nightfox]]'' in JavaScript.  SlyEdit can run in one of two styles, to mimic the look & feel of IceEdit or DCT Edit, two popular BBS message editors from the 1990s.  The style is specified by a command-line argument.  SlyEdit also supports customization of options via a configuration file and colors via theme files.\\+SlyEdit is the second full-featured full screen editor for Synchronet, written by ''[[person:nightfox]]'' in JavaScript.  SlyEdit can run in one of two styles, to mimic the look & feel of IceEdit or DCT Edit, two popular BBS message editors from the 1990s.  The style is specified by a command-line argument.  SlyEdit also supports customization of options via a configuration file and colors via theme files.\\
 \\ \\
-SlyEdit will recognize the user's terminal size and set up the screen accordingly.  The width of the edit area will always be 80 characters and support up to 79 characters of text; however, an increased terminal size will provide more room for information to be displayed such as the message area, from/to names, etc.  Also, a terminal height greater than the standard 24 or 25 characters will provide a taller edit area, allowing more of the message to be seen on the screen at a time.\\+SlyEdit will recognize the user's terminal size and set up the screen accordingly.\\
 \\ \\
 Thanks go out to all the sysops and users who have reported bugs, made suggestions, and helped test SlyEdit, including the following people: Thanks go out to all the sysops and users who have reported bugs, made suggestions, and helped test SlyEdit, including the following people:
Line 13: Line 13:
 SlyEdit is normally installed into the Synchronet ''[[dir:exec]]'' directory.  Its configuration files are normally located in the ''[[dir:ctrl]]'' directory.  See ''[[howto:editor:slyedit]]'' for SCFG installation instructions for SlyEdit. SlyEdit is normally installed into the Synchronet ''[[dir:exec]]'' directory.  Its configuration files are normally located in the ''[[dir:ctrl]]'' directory.  See ''[[howto:editor:slyedit]]'' for SCFG installation instructions for SlyEdit.
  
-===== SlyEdit configuration file ===== +===== SlyEdit configuration (and configuration file===== 
-The configuration file, SlyEdit.cfg (located in the ''[[dir:ctrl]]'' directory), is a regular text file.  It is split up into 3 sections - Behavior, Ice colors, and DCT colors.  These sections are designated by [BEHAVIOR], [ICE_COLORS], and [DCT_COLORS], respectively.  Each setting has a name=value format.  Comments can be added on their own line starting with a ; (semicolon) character.  The settings for SlyEdit.cfg are described below:\\+There is a menu-driven configuration script you can use to configure the options for SlyEdit.  To use it, open a command prompt, change to your sbbs/exec directory, and run this command:\\ 
 +  jsexec slyedcfg 
 +Alternately, you can specify the .js filename extension if you want to: 
 +  jsexec slyedcfg.js 
 +You can also edit the configuration file manually. The configuration file, SlyEdit.cfg (located in the ''[[dir:ctrl]]'' directory), is a regular text file.  It is split up into 3 sections - Behavior, Ice colors, and DCT colors.  These sections are designated by [BEHAVIOR], [ICE_COLORS], and [DCT_COLORS], respectively.  Each setting has a name=value format.  Comments can be added on their own line starting with a ; (semicolon) character.  The settings for SlyEdit.cfg are described below:\\
 \\ \\
 Behavior settings Behavior settings
Line 23: Line 27:
 | inputTimeoutMS                  | The amount of time (in milliseconds) to use for the input timeout.  If this option is not specified, this option will default to 300000.  This option was added in version 1.08. | | inputTimeoutMS                  | The amount of time (in milliseconds) to use for the input timeout.  If this option is not specified, this option will default to 300000.  This option was added in version 1.08. |
 | reWrapQuoteLines                | Whether or not to re-wrap quote lines. Valid values are true and false.  This feature is enabled by default.  With this feature enabled, SlyEdit will re-wrap quote lines to still be complete and readable after the quote prefix character is added to the front of the quote lines.  SlyEdit is able to recognize quote lines beginning with > or 2 letters and a > (such as EO>).  If this feature is disabled, quote lines will simply be trimmed to make room for the quote prefix character to be added to the front.  This option was added in version 1.15, replacing the older option splitLongQuoteLines. | | reWrapQuoteLines                | Whether or not to re-wrap quote lines. Valid values are true and false.  This feature is enabled by default.  With this feature enabled, SlyEdit will re-wrap quote lines to still be complete and readable after the quote prefix character is added to the front of the quote lines.  SlyEdit is able to recognize quote lines beginning with > or 2 letters and a > (such as EO>).  If this feature is disabled, quote lines will simply be trimmed to make room for the quote prefix character to be added to the front.  This option was added in version 1.15, replacing the older option splitLongQuoteLines. |
 +| allowColorSelection             | Whether or not to let the user change the text color. This option was added in version 1.80. |
 +| saveColorsAsANSI                | Whether or not to save message color/attribute codes as ANSI (if not, they will be saved as Synchronet attribute codes).  Normally, this should be false, since Synchronet does not word-wrap messages with ANSI codes and is able to convert Synchronet attribute codes to ANSI for other BBS systems as needed.  This option was added in version 1.80. |
 | allowCrossPosting               | Whether or not to allow cross-posting.  Valid values are true and false.  This setting is enabled by default.  This option was added in version 1.20. | | allowCrossPosting               | Whether or not to allow cross-posting.  Valid values are true and false.  This setting is enabled by default.  This option was added in version 1.20. |
 | enableTextReplacements          | Whether or not to enable text replacements (AKA macros).  Valid values are false (disabled), true (enabled with basic/literal text matching), and regex (enabled using regular expressions). | | enableTextReplacements          | Whether or not to enable text replacements (AKA macros).  Valid values are false (disabled), true (enabled with basic/literal text matching), and regex (enabled using regular expressions). |
Line 34: Line 40:
 | indentQuoteLinesWithInitials    | When prefixing quoted messages lines with the previous author's initials, this setting specifies whether or not to indent quoted lines with a space.  Valid values are true and false.  Defaults to true.  This setting serves as the default for user settings, which each user can change for themselves.  If not specified in SlyEdit.cfg, this setting is disabled by default. | | indentQuoteLinesWithInitials    | When prefixing quoted messages lines with the previous author's initials, this setting specifies whether or not to indent quoted lines with a space.  Valid values are true and false.  Defaults to true.  This setting serves as the default for user settings, which each user can change for themselves.  If not specified in SlyEdit.cfg, this setting is disabled by default. |
 | allowEditQuoteLines             | Whether or not to allow the user to edit quote lines.  Valid values are true and false.  Defaults to true.  This was added in version 1.52. | | allowEditQuoteLines             | Whether or not to allow the user to edit quote lines.  Valid values are true and false.  Defaults to true.  This was added in version 1.52. |
 +| allowSpellCheck                 | Whether or not the spell check feature is allowed.  Valid values are true and false; it defaults to true if not specified.  You might want to disable spell check if, for instance, the spell check feature causes an "out of memory" error on your system.  This option was added in version 1.71. |
 +| dictionaryFilenames             | A comma-separated list of filenames for dictionaries, for the spell checker feature.  The filenames are in the format dictionary_<language>.txt, where <language> is the language name.  For dictionaryFilenames, you can also just specify the language names if you want.  The dictionary filenames will be looked for in sbbs/mods, sbbs/ctrl, and then the directory where SlyEdit.js is located.  Note that the dictionary files must be sorted for proper word matching, and the words in the dictionary must be all lower-case, since SlyEdit does case-insensitive matching via all lower-cased words.  This was added in version 1.64. |
  
 \\ \\
Line 51: Line 59:
 ===== Color theme configuration files ===== ===== Color theme configuration files =====
 The color theme configuration files (located in the ''[[dir:ctrl]]'' directory) are regular text files.  Each setting has a name=value format.  Comments can be added on their own line starting with a ; (semicolon) character.  The color settings use Synchronet's ''[[custom:ctrl-a_codes]]''.\\ The color theme configuration files (located in the ''[[dir:ctrl]]'' directory) are regular text files.  Each setting has a name=value format.  Comments can be added on their own line starting with a ; (semicolon) character.  The color settings use Synchronet's ''[[custom:ctrl-a_codes]]''.\\
 +\\
 +The color theme files are plain text files that can be edited with a text editor.  For each color setting, you can specify color attribute characters as specified in the Synchronet documentation for ''[[custom:ctrl-a_codes]]'' Note that you don't need control (Ctrl-A) characters for the color settings; just the attribute characters (As of SlyEdit 1.81 (2022-11-26)).  A couple examples of specifying colors:\\
 +High green: **gh**\\
 +Normal cyan: **c**\\
 +\\
 \\ \\
 The following are the default Ice-style theme files included with SlyEdit: The following are the default Ice-style theme files included with SlyEdit:
Line 168: Line 181:
 | Ctrl-Z                          | Save the message | | Ctrl-Z                          | Save the message |
 | Ctrl-A                          | Abort the message | | Ctrl-A                          | Abort the message |
 +| Ctrl-Q                          | Quote the previous message (for use when replying to a message - Opens the quote line selection window) |
 +| Ctrl-S                          | Change subject (supported with Synchronet 3.17c development builds from July 21, 2019 or newer) |
 | Ctrl-D                          | Delete a line | | Ctrl-D                          | Delete a line |
-| Ctrl-                         Quote the previous message (for use when replying to a message - Opens the quote line selection window) | +| Ctrl-                         Select/set text color 
-| Ctrl-N                          | Find the next occurrence of text (text search) | +| Ctrl-G                          | Input graphic character 
-| Ctrl-O                          | Import a text file from the BBS machine (sysop only) | +| Ctrl-                         Help screen: List command keys 
-| Ctrl-X                          | Export message to a file on the BBS machine (sysop only) +| Ctrl-R                          | Spell checker |
-| Ctrl-G                          | General help +
-| Ctrl-                         Command key help +
-| Ctrl-R                          | SlyEdit program information |+
 | Ctrl-C                          | Cross-post message area selection | | Ctrl-C                          | Cross-post message area selection |
 | Ctrl-T                          | List the text replacements configured for SlyEdit | | Ctrl-T                          | List the text replacements configured for SlyEdit |
 | Ctrl-U                          | Configure user settings | | Ctrl-U                          | Configure user settings |
 +| Ctrl-W                          | Word/text search |
 +| Ctrl-N                          | Find the next occurrence of text (text search) |
 +| Ctrl-O                          | Import a text file from the BBS machine (sysop only) |
 +| Ctrl-X                          | Export message to a file on the BBS machine (sysop only) |
 | ESC                             | Toggle command menu | | ESC                             | Toggle command menu |
 | INS (Insert) or Ctrl-I          | Toggle insert/overwrite mode | | INS (Insert) or Ctrl-I          | Toggle insert/overwrite mode |
 | Home                            | Move cursor to the beginning of the line | | Home                            | Move cursor to the beginning of the line |
 | End                             | Move cursor to the end of the line | | End                             | Move cursor to the end of the line |
-| PageUp                          | Page up | +| Arrow keys                      | Navigate (set cursor position) in the message | 
-| PageDown                        | Page down |+| PageUp                          | Move up one page in the message 
 +| PageDown                        | Move down one page in the message |
  
 ==== Quote Mode ==== ==== Quote Mode ====
Line 228: Line 245:
 \\ \\
 ===== Slash Commands ===== ===== Slash Commands =====
-Synchronet also supports the following slash commands, to be used on a blank line by themselves (they are not case-sensitive):+SlyEdit also supports the following slash commands, to be used on a blank line by themselves (they are not case-sensitive):
 ^ Command                         ^ Description^ ^ Command                         ^ Description^
 | /S                              | Save the message | | /S                              | Save the message |
Line 236: Line 253:
 | /T                              | List the text replacements configured for SlyEdit | | /T                              | List the text replacements configured for SlyEdit |
 | /U                              | Configure user settings | | /U                              | Configure user settings |
 +| /UPLOAD (or /UL)                | Upload a message contained in a text file |
 +
 +\\
 +===== UTF-8 support =====
 +As of version 1.88b (2024-02-11), SlyEdit is able to accept UTF-8 character/text input.
  
 \\ \\
Line 248: Line 270:
 | 1.18                            | 1.31 | | 1.18                            | 1.31 |
  
 +\\
 +===== Spell checker and dictionaries =====
 +Since version 1.64, SlyEdit has a spell check feature.  Spell check can be started by the user with the Ctrl-R hotkey, or by the Edit > Spell Checker option in the DCT-style ESC menu (only available when in DCT mode).  For spell check, SlyEdit will check each word to see if it exists in the configured dictionary/dictionaries, and if not, it will prompt the user for a corrected version of the word.  The sysop can configure one or multiple dictionaries in SlyEdit.cfg with the dictionaryFilenames option.  Dictionary files need to be in the format dictionary_<languageName>.txt, where <languageName> is the name of the language.  Also, ideally, the language names should follow standard language tags, as in "en-us" for English (US), etc.  See these web pages for more information:
 +https://en.wikipedia.org/wiki/Language_localisation
 +http://www.lingoes.net/en/translator/langcode.htm
 +Also, the dictionary filenames will be parsed and the language name will be used in the menu of dictionaries in the user options - The user is able to enable/disable the configured dictionaries for their own use for the spell checker.
 +
 +For the dictionaryFilenames option in SlyEdit.cfg, you can specify a comma-separated list of dictionary filenames.  The dictionary filenames are in the format dictionary_<languageName>.txt, where <language> is the language name.  In this list, the filenames can be in that format, or just <languageName>.txt, or just <languageName> You can leave the setting blank to use all dictionary files that exist on the system.  Language names are meant to be in ISO standard language and localization tags - For example, en-US specifies English with spellings for the US.  Also, for dictionaries with localized spellings, the filenames can have a "-supplemental" at the end of their name before the extension if they only contain words that are unique to a particular region that don't exist for all regions.  Also, dictionary filenames can just contain the language without a localization if they contain words common to all regions.
 +For example:
 +^ Filename                          ^ Description ^
 +| dictionary_en.txt                 | General English dictionary with spellings common to all regions |
 +| dictionary_en-US-supplemental.txt | English word spellings only specific to the US |
 +| dictionary_en-US.txt              | Full English US dictionary |
 +
 +SlyEdit will search for the dictionary files in the following directories, in this order:
 +  - sbbs/mods
 +  - sbbs/ctrl
 +  - SlyEdit's own directory
 +
 +Dictionary files must be sorted in order for word matching to work properly (SlyEdit uses a binary search for quick word matching, which requires the words to be sorted).
  
 ===== See Also ===== ===== See Also =====
   * [[:module:|module index]]   * [[:module:|module index]]
 +  * [[howto:editor:index|Install Message Editors]]
 {{tag>}} {{tag>}}
  
module/slyedit.1522007832.txt · Last modified: 2018/03/25 12:57 by nightfox
Back to top
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0