One interesting snippet is that the Intellipad tool, part of the Oslo framework, is scripted with IronPython.
Oslo is a modelling platform "that aim to significantly simplify designing, building, managing and scaling service-oriented and composite applications that can span from the enterprise to the Internet". It includes a new declarative language called "M" "for working with data and building domain models".
UPDATE: Martin Fowler has a new blog entry covering Oslo in more depth.
Intellipad is inspired by Emacs, and in fact had the codename "Emacs.NET". It is user scripted with IronPython instead of Lisp. Online material is hard to find, but this page has some screenshots.
It looks like Intellipad is useful outside of its Oslo home. Dody Gunawinata described it as "a WPF editor with IronPython crack".
Almost all commands that are available in Intellipad have been written in Python using the object model exposed by the application. The Python files are scattered inside the Settings directory.
Commands.py contains most of the commands for Intellipad.
Configuration specific commands are placed in their respective directories (Emacs or VI or VisualStudio).
A command definition consists of three parts.
- A "Executed" function definition, that acts as the command handler and provides the logic for the command
- An optional "CanExecute" function definition, that determines when the command is enabled
- A command wireup, that is done by calling the "Common.Command" function. This is the where the Executed and CanExecute are wired together along with the Command Name and default key binding
For the moment, a restart is required for the changes to take effect.