Version 95 of Tiny Tcl/Tk IDE

Updated 2007-05-28 16:50:16 by wdb

wdb As an Emacs fan, here are the features I like mostly:

  • double-click on opening paren selects complete expr
  • speedbar shows procs and methods
  • command line allows quick tests

I submitted a question concerning how to customize Emacs to accept not only procs but also self-defined xprocs etc, but I got no answer. The solution of learning Elisp would take me more time than to make a new environment in Tcl/Tk. So, here it is: yet another IDE [L1 ], written in pure Tcl/Tk, optimised only for Tcl/Tk, quick'n'easy.

http://wolf-dieter-busch.de/html/res/Heimatseite/img/sw/ScreenshotTclIDEsyntaxHighlight.png

Written in pure Tcl/Tk such that you are not stuck to some special OO extension etc. Documentation (Beta) included: [L2 ]. 2007-05-28 -- update: syntax hilight making switchable because in very long procedures, has heavy work. Fixed a bug with smart-indent on non-complete strings in text window.

The Hilight deals only with the Endekalogue, i.e. the procedure if is recognized by its first position on command line, but the keyword else is not recognized as it is just another pure-string argument to an arbitrary procedure. Completely spoken: Tcl has no keywords. -- This syntax hilight recognizes {expand} constructions {*}... -- More on the GUI of syntax hilight: if you open a file which is very large, then you can edit it immediately, but it can take several seconds before you see the syntax hilighting as it is bound to after idle event. This idea is stolen from MS Frontpage (which I do not like very much, but honour to those who honour deserve).

By the way. How do we think about software patents? Never ever! Thank you for your patience.

Features

  • syntax hilight -- see screenshot above
  • double-click, see above
  • Tab key on start of line invokes smart indent
  • bookmarks
  • directory window provides preview of procs in closed docs
  • keywords (method, proc ...) are hideable as well as namespace paths in directory window
  • command-line provides quick test,
  • send regions from text window directly to console window.

Moreover

These features are packaged such that they can be used separately (feel free to test them):

  • syntaxhilight -- the main command is syntaxhighlight::highlight win
  • double-click -- changes Text bindings, see above
  • emacsIndent -- provides smart indent on Tab key
  • scrolledtext -- text widget with scrollbars
  • speedbar -- provides double-window with directory and file contents
  • consoleframe -- provides tiny console, not as top-level but as frame

Being optimised to easy overview on a project, this tool should be usable for a beginner.


2007 May 22 rgf To run this under linux with tclkit 8.4 I needed to comment out line 15 "namespace import speedbar::speedbar" ... apparently this is already done by the package?

wdb Yes it is. Some style guides say about delivering packages: do not pollute root namespace by importing your commands. But, formally seen, speedbar is constructor of a mega-widget, and I put it to the root namespace as well as constructors of core widgets. The double call of namespace import speedbar::speedbar is now removed.


Category Dev. Tools - Category Development - IDE