An extension API is something that could be bolted on top of CSL pretty
simply as another layer. For example, an implementation of the semantic
highlighting interface that delegates to instances it finds in some lookup.
And repeat that pattern for everything else.

That would be straightforward to do, just a layer on top of it.

I was thinking about that last night, as I've written several things that
use Antlr 4 grammars with it, and have written a bunch of generic things
for, for example, generating TokenIds from an Antlr Vocabulary instance
(one problem for anyone extending a language is that someone has to expose
an API for their TokenIds - but you're better off looking them up by rule
name if the grammar ever changes). You could also do some things like
supplying pairs of delimiter tokens to a generic braces matcher.

Are there any cases a layer on top of CSL would not solve? If so, I don't
think that needs to be implemented as a part of the CSL api, though it does
need to be implemented.

I do think CSL is one of the big ones in terms of widely used friend APIs.
I'd rather have a plan to add an extensible layer on top of it than delay
until CSL reaches extensibility nirvana.

-Tim

On Sat, Sep 22, 2018 at 4:41 AM Svata Dedic <[email protected]>
wrote:

> Hi,
>
> Sorry to disagree, but CSL APIs are bad example, but for another reason.
> The CSL API design is (IMHO) bad at its core: Language provides a great
> way for a new language support to start, but then it is almost
> impossible to plug in a new functionality from a 3rd party extension.
> Just try to plug in a supplemental completion handler, or add some
> addition things into structure view.
>
> Before CSL is stable/public API, it needs to be thoroughly reviewed,
> with focus on a clean and extensible design.
>
> -S.
>
> Dne 22.9.2018 v 10:10 Sven Reimers napsal(a):
> > Hi,
> >
> > csl is a good example. It is the backbone of most of the language
> supports
> > in NetBeans and could benefit from a stable API to make implementing
> > support for other languages easier - maybe something to pick up for
> > NetBeans 11?
> >
> > -Sven
> >
> > Geertjan Wielenga <[email protected]> schrieb am
> > Sa., 22. Sep. 2018, 09:54:
> >
> >> On Sat, Sep 22, 2018 at 2:01 AM, Laszlo Kishalmi <
> >> [email protected]>
> >> wrote:
> >>
> >>>
> >>>
> >>> Option 4: Make Module Public when There is more than a Certain Number
> of
> >>> Friend Dependencies.
> >>>
> >>> So sometime in the future I'm going to create a list of how many
> friends
> >> a
> >>> module does have and share the list with you.
> >>>
> >>
> >>
> >> That is a very good solution, I think.
> >>
> >> Gj
> >>
> >>
> >>
> >>
> >>>
> >>>
> >>> Thank you all who participated in this effort!
> >>>
> >>> Laszlo Kishalmi
> >>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: [email protected]
> >>> For additional commands, e-mail:
> [email protected]
> >>>
> >>> For further information about the NetBeans mailing lists, visit:
> >>> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
> >>>
> >>>
> >>>
> >>>
> >>
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
> For further information about the NetBeans mailing lists, visit:
> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
>
>
>
> --
http://timboudreau.com

Reply via email to