{jstools major tasks

There should be a release at the completion of each task or small group of related tasks.

Redo find panel and find procedures
Make generic find procedures in jtext.tcl.  They should use the Tk4 text search widget command if available.

Command logging and macros
Logging lets people see what the API is for what they're doing.  Need a procedure for editting, saving, and loading macros.

Improve jtexttags.tcl
Add a third sublist for extensability (out­of­band information, like title of an HTML document or a manual page).

Fancier preferences mechanism
Something along the lines of EXMH.

Documentation style
Edit all documentation for style:
* Less capitalisation in titles
* Spelling: -ize for -ise
* Commands in bold rather than fixed­pitch
* Think about redoing boilerplate passages

Sysadmin tools
Log watcher like tail -f (perhaps based on jmore)
Account manager?
Backup manager?

X/Tk defaults configuration GUI

API to map from files to document types
E.g. *.tcl -> Tcl code; #!*tclsh* -> Tcl code, etc.

API to perform actions on different document types
E.g., view JPEG files with xv, view plain­text files internally with j:more, etc.

New jbrowser
Replace existing jbrowser with new multi­column, multi­window version.

Merge text and entry binding tables
Table would have e.g. bol, and that would translate to j:tkb:bol and/or j:ekb:bol.

Fancy mouse bindings
Mouse bindings for more kinds of selections, more gesture bindings.  You can use buttons as modifiers on other button actions!  That multiplies what you can do with one hand.

Also, hide mouse pointer when a character is pressed, and show it when the mouse is moved or a mouse button is pressed.

Improve basic bindings
Bring up to the level of base Tk4.

Improve bindings infrastructure
Implement a set of find­where­I­would­move­to procedure.  For instance, given a repeat count of four and an action of word­left, it would return the index at the beginning of the fourth word before the cursor.  Can use to extend selection or for vi commands that take a motion argument to specify what range they apply to.

Make jdoc embeddable
About boxes should support hypertext, for instance.

Notebook application

Sketching application

Improve richtext handling
Support lists, distinction between line break and paragraph break, preferences for fonts, lists, etc.

jedit HTML mode
Read in HTML; better anchor support, WYSIWYG.

jedit C mode

jedit csh mode

jedit sh mode

Improve jedit Tcl mode
Automatically look up information about proc or command under cursor.  Automatically jump to file with proc definition.  Better auto­indentation.  Ability to re­format.

Improve gesture commands
More of them; put a preferences mechanism on it.

User interface to command bindings/labels

User interface to LDB

Literate­Tcl mode
Compose documentation and code together.
} {{{richtext:font:roman {1.19 5.0 5.35 6.32 6.41 6.68 6.79 8.0 8.26 11.0 11.21 14.0 14.29 17.0 17.19 24.0 24.14 25.17 25.24 25.43 25.48 29.0 29.31 31.0 31.39 32.5 32.10 32.24 32.33 34.0 34.50 35.27 35.29 35.69 35.75 37.0 37.12 38.17 38.25 40.0 40.35 41.22 41.25 41.55 41.64 41.72 41.81 43.0 43.20 48.0 48.22 51.0 51.31 52.246 52.248 54.0 54.20 57.0 57.20 59.0 59.21 61.0 61.25 64.0 64.15 67.0 67.12 69.0 69.14 71.0 71.13 73.0 73.22 76.0 76.24 79.0 79.41 81.0 81.21 83.0 83.17 85.0}} {richtext:font:italic {6.68 6.72}} {richtext:font:bold {6.32 6.41 25.43 25.48 38.17 38.25}} {richtext:font:typewriter {6.72 6.79 25.17 25.24 32.5 32.10 32.24 32.33 35.27 35.29 35.69 35.75 41.22 41.25 41.55 41.64 41.72 41.81 52.246 52.248}} {richtext:font:heading0 {1.0 1.19}} {richtext:font:heading1 {5.0 5.35 8.0 8.26 11.0 11.21 14.0 14.29 17.0 17.19 24.0 24.14 29.0 29.31 31.0 31.39 34.0 34.50 37.0 37.12 40.0 40.35 43.0 43.20 48.0 48.22 51.0 51.31 54.0 54.20 57.0 57.20 59.0 59.21 61.0 61.25 64.0 64.15 67.0 67.12 69.0 69.14 71.0 71.13 73.0 73.22 76.0 76.24 79.0 79.41 81.0 81.21 83.0 83.17}}} {{matchend 79.14} {abbrevstart 46.111} {richptr 5.0} {abbrevend 46.119} {insert 1.0} {matchstart 79.5} {anchor 46.119} {current 1.0}}}