You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@netbeans.apache.org by Dmitry Semikin <dm...@gmail.com> on 2020/06/15 21:33:07 UTC

Re: AW: NETBEANS-1678: Option for coloring EOL - Could someone point at similar code?

Hello Everyone, hello Christian,

Thank you for your hint. Looking at the module you pointed to and at “NetBeans Mark Occurrences Module Tutorial” I put together a module, which kind of does the job. It is not yet completely ready, but I have couple of technical and organizational questions:

- In the provided example the font settings are retrieved using “org.netbeans.api.settings.FontColorSettings.getFontColors()”. But I cannot easily find, where can I add my own setting “EOL”, so that it is configurable from the Options dialog?
- When I change the background of the EOL symbol, this background spans till the very right edge of the text editor. Is it expected? In my opinion it does not look nice. Can it be fixed somehow? I tried to pass the option HighlightsContainer.ATTR_EXTENDS_EOL = Boolean.FALSE, but it did not help.
- Which Z-Order would be reasonable for EOL?
- HighlightsLayer.create() function takes as input “fixedSize” parameter, which, if I understand it correctly should tell they system, if the text-size may change as a result of highlight. In my understanding this depends on the AttributeSet used. My question is: is there some utility function, which would define “fixedSize” parameter based on provided AttributeSet, i.e. return “true”, if the AttributeSet explicitly contains font family or font size etc.?

Another couple of question related to integration to Netbeans:
- If this functionality is going to ever be integrated into Netbeans, how should it be implemented: as separate module, or as part of existing module?
- If existing module, which one?
- If new module, what is naming convention for the module and for the package (suggestions for the specific names would be nice).
- Are any automated tests needed for this particular case? What is considered to be useful to test?

The actual state of the module is available here:
https://github.com/DmitrySemikin/nb-eol-highlighter

Any additional suggestions and critics are very welcome.

My further planned step for now is to replace implementation, which re-scans whole file for every change with the implementation, which only checks the changed fragment of text. Then try to figure out myself (or with the help of the answers, if any), how to specify colors using options dialog.

Thanks in advance for any kind of comments.

Dmitrii.

On 2020/06/09 08:05:28, Christian Lenz <ch...@gmx.net> wrote: 
> Hey Dimitrii,
> 
> cool to hear that you want to work on it. Maybe you can find some more insights in this plugin too: https://github.com/tunnelvisionlabs/goworks/tree/master/tvl.editor.whitespace
> 
> 
> Cheers
> 
> Chris
> 
> 
> Von: Dmitrii Semikin
> Gesendet: Dienstag, 9. Juni 2020 08:29
> An: dev@netbeans.apache.org
> Betreff: Re: NETBEANS-1678: Option for coloring EOL - Could someone point at similar code?
> 
> Hello once again,
> 
> I did some digging and I hope, I realized the general idea about coloring. There are categories of tokens defined in Lexer of specific language. And there are "fontsColors.xml" files, which provide mapping of the categories of tokens to particular color. They also provide the list of coloring categories for the Options dialog.
> 
> So, to provide option for the coloring of EOLs separately one would need to:
> - Introduce new category of tokens in the language lexer (ultimately, in lexers for each language, if we want to have this feature in every language).
> - Adjust "fontsColors.xml" to provide coloring-category and default values for the color.
> 
> Could someone confirm, that my understanding is correct (or point out that it is not correct, maybe providing also some hint about what exactly is wrong)?
> 
> Could someone also tell, if it is a good idea to modify lexers for languages e.g. like Java (being honest I did not look at the implementation yet)?
> 
> Thank you in advance.
> Dmitrii.
> 
> 
> On 2020/06/06 15:54:25, Dmitrii Semikin <dm...@gmail.com> wrote: 
> > Hello  Everyone,
> > 
> > There is an issue: NETBEANS-1678 : Option for coloring EOL (https://issues.apache.org/jira/browse/NETBEANS-1678).
> > 
> > I prefer to have whitespace characters on, but find it annoying, that EOL is displayed with the same color as normal text - balck (too bold for me).
> > 
> > I woud probably try to implement this feature. So I would be greatful, if someone could point me to the place in code, where some similar coloring feature is already implemented (it would also increase chances, that it will be done :)). Also any addiitional ideas, suggestions or advices regarding the implementation would be very appreciated. I should say, that I have some idea about development for NB platform, but I am still rather inexperienced.
> > 
> > Thank you in advance.
> > 
> > Dmitrii.
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
> > For additional commands, e-mail: dev-help@netbeans.apache.org
> > 
> > For further information about the NetBeans mailing lists, visit:
> > https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
> > 
> > 
> > 
> > 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
> For additional commands, e-mail: dev-help@netbeans.apache.org
> 
> For further information about the NetBeans mailing lists, visit:
> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
> 
> 
> 
> 
>