Cooking with the NetBeans Platform
Building an IDE for Scheme with the NetBeans Platform
Antonio Vieiro
<antonio AT antonioshome.net>Revision History
Revision 1.0 2006-09
Table of Contents
1. About these notes
1.1. Why NetBeans Platform?
1.2. Why these notes?
1.3. About these notes
2. NetBeans Module System Basics
2.1. Public APIs, exported packages, documentation and the importance of APIs
2.2. Embracing change
2.3. Using... and being used: dependencies
2.4. Don't shout: I can't hear you anyway
2.5. One for all, and all for one!
2.6. Summary
2.7. What next?
3. Adding support for Scheme files
3.1. Modules, Module Suites and Library Wrappers
3.2. Building a Scheme Module Suite
3.3. Adding support for Scheme file types
3.4. What we have now: module structure in the IDE
3.5. But, where's the support for Scheme file types?
3.6. Let's run it!
3.7. Summary
4. Sandwiches!! (XML Layer Files)
4.1. What are sandwiches good for?
4.2. How sandwich files work
4.3. How to build your own XML layer files
4.4. The internals of the XML layer file
4.5. Summary
5. Adding an editor for Scheme files
5.1. Creating another module for the editor...
5.2. NetBeans' delicious EditorKits
5.3. Building a SchemeEditorKit
5.4. Adding dependencies to other modules
5.5. ... and registering our SchemeEditorKit
5.6. Ready, steady... what!?
5.7. Summary
6. Scheme Editor Options
6.1. Options and BaseOptions
6.2. Do we need a new module?
6.3. SchemeEditorOptions
6.4. Registering options with the XML Layer File
6.5. Using a plain syntax
6.6. Summary
7. Colorful editors: The Old, The Good and The Young
7.1. Adding color to editors: The Old, The Good and The Young!
7.2. The old way: overview
7.3. Executing Java code on module initialization
8. Adding Syntax Support
8.1. Syntax - non functional requirements
8.2. Building a custom syntax object
8.3. Syntax tricks
8.4. Multi syntaxes
9. Wrapping Scheme into our IDE (Library Wrappers)
9.1. Library Wrappers
9.2. Getting started: wrapping SISC
10. Invoking Scheme I (creating a Public API)
10.1. Yet another module? No, sir: it's TWO more modules
10.2. The Scheme Interpreter Module
10.3. Making our interface public
I. Building a standalone NetBeans editor
I.1. Building a standalone NetBeans editor
I.1.1. What we need
I.1.2. Little by little: Doing things by hand
I.1.3. A tiny library: Faster, simpler
I.1.4. Do it yourself!
11. Alphabetical Index