#Project plan for WinDIDE
Introduction
WinDIDE is a IDE written specifically for D that is built upon a generic text editor.
CodeEditNet Refactoring Action Items
- IN-PROCESS Complete Scintilla Code Generation from .iface file. Abstract all wrapper features from CodeEdit control.
- IN-PROCESS Custom C# Lexer support.
- INCOMPLETE Compare generated members with Scintilla.Net and Scintilla(C++) code to make sure the message ids and params are correct.
- INCOMPLETE New friendly API; build one method/property at a time, calling the newly generated abstraction layer. The new members will actually make sense! All C++ sillyness will be replaced with strongly typed arguments and classes.
- INCOMPLETE Finish new configuration system.
- INCOMPLETE Convert SciTE config files to new config system.
Text Editor Action Items
- IN-PROCESS Recent files list saved to config file.
- IN-PROCESS Plugin interfaces for specific language support
- INCOMPLETE Settings saved to config file.
- INCOMPLETE Refactor with new CodeEditNet (when completed)
D Action Items
- DONE Finish tokenizer. It should be able to tokenize with basic token classification, and line, column index, and length. Should be able to tokenize any string source. So basically, we can pull text in from a stream, or the scintilla control itself. The tokens could potentially contain only start and end indexes of the token data to keep them small. That could possibly be part of the tokenizer parameters.
- INCOMPLETE Add mirrored Syntax tree for the D language that mirrors the CodeEditNet control, and stays in sync with it. When autocomplete, calltips, and syntax checking are enabled, we will need to be able to look at the previous tokens, etc, to know what is valid for the next token. Also, we will have to keep a live list of available identifiers for the intellisense stuff.
- INCOMPLETE Need to run autocomplete code on phobos and tango libraries. Start with just a few source code samples, and move on to the entire library.