Apologies, but I am having trouble accessing my wiki account: it has been a long while. So, I am delivering this via email. If there is no ESC veto or rework demand in the next few days I will get these into the GSoC Idea page even if I have to re-register.
The lexer idea came from elsewhere (dev or qa list, I think) but immediately appealed to me after seeing many bugs in the editing functions of the current BASIC IDE and looking at fixing them. Similarly the user guide request is in bugzilla as an enhancement request. So... Here are a couple ideas for Libre Office BASIC [*LOB*]: *Project 1: BUG - BASIC User's Guide (a dev guide for LOB) *Starting from outline work up an accurate description and usage samples for every element of LOB on the TDF Wiki. Starts with the existing help so is easy level but is fat book length. Offers: Immediate contribution Skills: LOB programming, documentation Results: -- Internal: clarity and completeness of LOB & IDE issue reports, -- Int/Ext : at least a good start on the BUG as wiki, -- External: better user experience, easier transition from MSO/VBA to LibreOffice Extra/2nd project: UNO description/examples in BASIC Extra/2nd project: all examples in Python *Project 2: Lexer and folder for LOB in scintilla *Get scintilla to understand LOB well enough to support syntax highlighting, folding, annotation, auto-indent and maybe autocompletion. The idea is to bring LOB to scintilla, not to integrate scintilla into current IDE. The concept of the lexer is straightforward, but the BASIC syntax is not simple. Many elements have alternate forms and usage: Built-ins can be used as expression or statement; Arrays have option base, dim and redim, Array() and issues as function argument; There is VBA support (or not); Etc. Each element treated by the lexer could use one or more of 1) syntax highlighting of correct form, 2) error/warn on incorrect or risky usage, 3) hint/suggested fix [annotation]. Autoindent and autocompletion could be implemented within (or more properly alongside?) the lexer/folder. Wrapping the editor as a useful extension would require delving into the integration issues around loading and saving Basic from odt/ods documents. Skill Level: Medium Offers: experience in developing developer tools Skills: C++ programming Results: the best LOB editor ever -- Internal: -- Int/Ext : wrap the results as an extension -- External: code editor extension (& free-standing) Extra: Autocomplete Extra/2nd project: UNO support in lexer (introspection) ===== end of GSoc ideas Context for the 2d project and many more potential projects: The overarching idea is to replace the current BASIC only IDE with an open source multi-language IDE. Current IDE is old-school stuff unlike most of LibO: it is fragile and has few possible maintainers and those that are active are already booked up. The open source projects *potentially* added to LibO code base include scintilla, GTk, Glade, Geany, Anjuta Fixing the raft of issues with the action of the current IDE is a nice side effect but is a minor result compared to the amount of effort in integrating a new IDE . The project of replacing the whole IDE is far beyond the scope of GSoC. Consequently, only a few of the sub-projects may produce an immediately visible effect on LibreOffice like the ones above. Different paths available: Path A: Rebuild existing IDE Replace editor with scintilla and move windowing to GTk. + lessens Runtime/IDE integration issues - will still be LOB only Path B: Replace existing IDE with code editor (Geany) and plugins (Glade) Step-by-step might be the best path ... could also be slowest and most work - needs to work through ~all Runtime/IDE integration issues to succeed - needs Glade integration to support dialog boxes Path C: Replace existing IDE with tailored full-featured IDE (Anjuta) + minimizes IDE development, so might be fastest path - needs to work through ~all Runtime/IDE integration issues to succeed + could end up with an IDE in LibO that can be used to develop anything, including LibO -- View this message in context: http://nabble.documentfoundation.org/GSoC-Ideas-for-Basic-tp4139212.html Sent from the Dev mailing list archive at Nabble.com. _______________________________________________ LibreOffice mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice
