Re: EdSharp 2.3 released

  • From: "Matthew2007" <matthew2007@xxxxxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Mon, 8 Oct 2007 06:57:36 -0700


In reality you're actually a group of freakin quadruplets, right?

How the heck do you get so much accomplished--You're an immensely productive individual.


---- Original Message ----- From: "Jamal Mazrui" <empower@xxxxxxxxx> To: <blindmath@xxxxxxxxxx>; <programmingblind@xxxxxxxxxxxxx>; <program-l@xxxxxxxxxxxxx>; <guispeak@xxxxxxxxxxxxx>; <uaccess-l@xxxxxxxxxxxxxxx>
Sent: Monday, October 08, 2007 6:44 AM
Subject: EdSharp 2.3 released

Version 2.3
Released October 8, 2007

This version introduces a powerful scripting capability, strengthens HTML
snippets, and adds support for mathematical work with the LaTeX language.
Fixes and enhancements are documented below.


Fixed Indent, Outdent, Quote, Unquote, and Trim Blanks commands (Tab,
Shift+Tab, Control+Q, Control+Shift+Q, and Control+Shift+Enter) applying
to the next line, not just current line, when there is no selection.
Fixed the Reselect command (Control+Shift+F8) not remembering the last
result of the Complete Selection command (Shift+F8).  Fixed hot keys
causing errors in checked listboxes that should only apply in single
selection listboxes (e.g., Spacebar and Control+A).  Fixed the cursor not
being positioned according to the double caret (^^) when snippets are

Enhanced Alt+F7 to look up information about a word or phrase from three
web sites:,, and  EdSharp
prompts for a term, defaulting to the current chunk or selected text.  The
information retrieved is presented as structured text in a new editing

Enhanced the Explorer Folder (Alt+Backslash) and Command Prompt
(Control+Backslash) commands to prompt for four possible folders to open:
the EdSharp program folder, data folder, snippet folder, or folder
containing the current file.  Alt+Shift+V now opens a snippet file rather
than the snippet folder.

Added a configuration option that sets a maximum limit on the number of
files shown in the list of recent files (Alt+R).  The default is 30.  As
before, a file opened from this list is automatically converted to text if
an import conversion exists for its extension.  The List Favorites command
(Alt+L), however, now opens a file verbatim, assuming that you had set it
as a favorite to edit it literally, e.g., a .htm file.

Enhanced the bookmark capability to support multiple bookmarks (like
TextPal).  As before, press Control+K to set a bookmark.  If there is a
single bookmark, Alt+K goes to it.  If more than one, a list of bookmarked
lines is presented, with focus on the next one ahead of the cursor
position.  Thus you can sequentially visit bookmarks by pressing Alt+K and
Enter.  Control+Shift+K clears a bookmark at the cursor position.  To
clear all bookmarks at once, press Control+Shift+L to remove the file from
the list of favorites -- since a bookmarked file is automatically
considered a favorite.  If you want to keep the favorite status without
any bookmarks, then press Control+L to set the file as a favorite again.

Extended the import and export capability to support multiple target
formats.  If EdSharp finds more than one converter available for a file
extension, you are prompted which one to use.  This is illustrated by
explaining the pdf2ocr entry added to the Import section of EdSharp.ini.
It supports optical character recognition on image-based PDFs if the free package is installed from

The configuration file assumes that it has been unzipped into a directory
Since this large archive is not distributed with EdSharp, the
configuration entry is inactive by default due to a semicolon (;) comment
character at the start of the line.  Use the Manual Options command
(Alt+Shift+M) to delete the character and then save the revised
EdSharp.ini file (Control+S).  After doing so, EdSharp would offer two
choices when you specified a PDF with the Open Other Format command
(Control+Shift+O):  pdf and pdf2ocr.  If a converter entry does not
contain the digit 2 and another extension, it is assumed to be .txt.
Thus, you would then choose between the distributed converter for
text-based PDFs, and the manually installed one for image-based PDFs via

Added support for the LaTeX language (pronounced La Tech).  This is a
common language used for typesetting, especially for scientific
publications.  Sample LaTeX snippets, ending in a .tex extension, are
distributed with EdSharp.  You can convert from LaTeX to RTF and vice
versa.  To fully work with LaTeX, install the open source package for
Windows from

With that installation, EdSharp's LaTeX compiler option lets you check and
correct syntax.  You can then export to PDF or XML -- in this case, XHTML
containing embedded MathML (math markup language for the web).  If the
resulting .xml file is opened in Internet Explorer with a screen reader,
sophisticated mathematical statements will be intelligible when the free
MathPlayer add-in has been installed from

Certain configuration options are now associated with the current compiler
rather than being global .  Specifically, favorites, bookmarks, and
user-defined tokens apply to the current compiler (picked via
Control+Shift+F5), so you can work with items more relevant to each coding
project.  The new Reset Configuration command (Alt+Shift+0) lets you
easily remove custom settings and restore defaults of EdSharp.  This
command lets you choose whether to reset the main configuration, current
compiler configuration, or create a new compiler configuration.  The New
choice prompts for the compiler name, command line, AbbreviateOutput,
NavigatePart, and QuotePrefix settings.  A compiler configuration file is
stored in the EdSharp data folder in a file having the compiler name and a
.ini extension.  For example, if you created settings for the "Delphi"
compiler, EdSharp would create a Delphi entry in the Compilers section of
EdSharp.ini, and then store related favorites, bookmarks, and user-defined
tokens in Delphi.ini.   The EdSharp data folder is typically named
something like
C:\Documents and Settings\UserName\Application Data\EdSharp
If upgrading to EdSharp 2.3 from a previous version, pressing Alt+Shift+0
is recommended after installation, in order to start with a fresh set of
configuration values.

Enhanced snippet capabilities in several ways.  The Paste Snippet command
(Alt+V) now lists snippets in the Default snippet folder, as well as those
in the folder associated with a Compiler being used.  This lets you have a
set of snippets that are available regardless of the programming language
in use.

Changed the Paste Snippet command to show files with any extension, not
just .txt, thus letting an extension indicate the type of content to be
inserted.  EdSharp processes a snippet with a .js extension as JScript
.NET code to be evaluated.  Such a file can do almost anything in EdSharp,
as explained in the documentation below about EdSharp's new scripting
capability.  For example, the "ul from selected.js" file generates an HTML
unordered list from selected lines of text.  Made it possible to repeat
the same variable reference in a snippet, whereby the user is prompted
once for a value that is then used for multiple text insertions.

The HTML snippet collection has been substantially improved by Jim Homme,
optimizing the available tags, attributes, and their ordering to serve
common needs in developing web sites.  HTML and PHP page templates are
also included.  New .txt and .js snippet files will be installed when
upgrading EdSharp.  Since the installer does not replace snippets with the
same names, however, you need to manually clear the appropriate folder to
get a fresh set of these snippets.  You can do this by pressing
Control+Shift+F5, picking the HTML Tidy compiler, then pressing
Alt+Backslash and choosing the snippet folder to open in Windows Explorer
(or FileDir).  From that window, press Control+A and Delete to remove all
files in the folder.

An overview of the scripting capability follows:

Almost the complete object model of the EdSharp application has been
exposed to add-in code in the JScript .NET language, explained at

JScript is a version of JavaScript with access to the huge library of the
.NET Framework.  In EdSharp, JScript code may be used in the Evaluate
Expression command (Control+Equals), Replace Tokens command
(Control+Shift+Equals), and Paste Snippet command (Alt+V).  Stand-alone
JScript executables may also be created with the JScript .NET compiler
option if the .NET Framework 2.0 Software Development Kit has been
installed from

Using the Compile command (Control+F5) is the best way to debug JScript
code even if you want to use it as an add-in rather than stand-alone
executable.  This is because the JScript compiler provides error
information that is not available when add-in code fails to execute due to
syntax errors.

The EdSharp object model includes a hierarchy of classes corresponding to
the overall application, multiple document interface (MDI) frame, MDI
child windows, and RichTextBox (RTB) within each window.  Typically, a
script will manipulate text in the current RTB control.  The Frame
property of the App class refers to the single MDI frame.  The Child
property of that frame object refers to the active MDI child.  The RTB
property of that child object refers to the current editing control.

 Thus, a JScript routine might start by creating one or more object
variables as follows:

var frame = App.Frame
var child = frame.Child
var rtb = child.RTB

By convention, .NET properties are initially capitalized, whereas field
and local variables are not.  Methods of the frame object can invoke menu
items, e.g., a new editing window could be created with the following
Methods and properties of an RTB object are explained at

EdSharp also adds some methods and properties in its inherited version of
the RichTextBox class, e.g., the ReplaceRange method for replacing text
between two points in the current document.  Other EdSharp classes provide
convenient scripting methods, e.g., Dialog.Pick gets a user choice from a
listbox and Util.String2File saves a string of text to a file on disk.

I will document these classes further based on questions I receive.  At
present, the best way to learn them is to examine code in sample .js
snippet files and the main EdSharp.cs program file, which implement
behavior you experience when running the application.  Although the .cs
code is in the C# language, its syntax is similar to JScript, and the
names of classes, methods, and properties are the same.

View the list's information and change your settings at

__________ NOD32 2577 (20071008) Information __________

This message was checked by NOD32 antivirus system.

View the list's information and change your settings at //

Other related posts: