GSoC Ideas for Basic

Markus Mohrhard markus.mohrhard at googlemail.com
Sat Feb 7 13:10:11 PST 2015


Hey,

please don't add stuff to the GSoC page unless you are going to mentor
them. The list is not an idea page for community members, but a list that
mentors put together as ideas for the students.

There are many more good ideas that mentors so please file them as
enhancement in bugzilla.


Regards,
Markus


On Sat, Feb 7, 2015 at 4:17 AM, John LeMoyne Castle <
lemoyne.castle at gmail.com> wrote:

> 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
> LibreOffice at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libreoffice
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20150207/9f7ab208/attachment.html>


More information about the LibreOffice mailing list