DivaScheme

...for times when you wish your doctor would listen

Introduction

DivaScheme is an alternative set of key bindings for DrScheme. When DivaScheme is on, the most important functions of DrScheme are available through unchorded keystrokes, and the motion commands operate on sexps by default.

A demonstration video of DivaScheme's core features is available at YouTube. A larger, more legible version of the movie can be found here: divascheme-danny-demo.avi

Installation

DivaScheme is now distributed through the PLaneT repository. If you have previously installed DivaScheme, before installing this new release, you must remove the previous installation's collection directory.

To install and run DivaScheme, evaluate the following at the DrScheme REPL:

(require (planet "install.ss" ("divascheme" "divascheme.plt" 1 3)))

Documentation

For documentation on DivaScheme's commands, including tutorials, please search for "divascheme" in Help Desk after you have installed the package and re-started DrScheme. The documentation can also be browsed online. The latest announcement notes can also be found here in ann-2.3.txt.

Changes in Release 2.3

Graphical snips are supported.

Comments can be edited without exiting DivaScheme.

Up and down can be used in Insert Mode. install.ss will try to automatically upgrade your keybindings appropriately.

Tab autocompletion behavior has been improved. In DrScheme v371+, autocompletion will consider keywords provided by the language.

generate-stags no longer installs when DivaScheme is installed, since not all users have directory write permissions to plt/bin. Search for "generate-stags" in Help Desk for details on installing generate-stags.

Improved lexical whitespace cleanup and tokenization.

Bugfix: switching tabs while in insert mode would violate invariants.

Workaround: Check Syntax is temporarily disabled during Insert Mode.

Bugfix: joining on column 1 would potentially collapse two symbols.

Lots of other bug fixes and general improvements in memory usage and performance.

Previous release announcements

Credits

DivaScheme was designed and implemented by Romain Legendre, Guillaume Marceau, Danny Yoo, Kathi Fisler and Shriram Krishnamurthi. We thank Jay McCarthy for his help.

Thanks also to Aleks Bromfield, Jon Rafkind, Matthias Felleisen, Mark Haniford, Chris Warrington, David Cabana, Kyle Smith, Geoffrey Knauth, Will Farr, and Matt Jadud for their feedback and bug reports.

Send comments and bug reports to dyoo@cs.wpi.edu.