[Geany-Users] Highlighting the lexical scope relative to the cursor position

James Brierley jmb8710 at xxxxx
Sat Dec 21 19:30:39 UTC 2013


On 20/12/13 01:03, Matthew Brush wrote:
> This would probably make a good plugin.
>
> It should be possible, at least for languages who's lexer supports
> folding and where folding is roughly equivalent to scope. Maybe
> something like:
>
>    * find the current line's fold level
>    * walk backwards each line until the fold level decreases
>        - store that line's start position
>    * walk forwards each line until the fold level decreases
>        - store that line's end position
>    * for each character/cell in between start and end, change style

Indeed, most languages are folded with respect to scope. I hadn’t 
thought of that because I don’t tend to use folds much. This is more or 
less the kind of simple algorithm I had in mind, but more general than 
the concrete brackets/parens example. Good idea.

> You could probably also do something similar but calculate the XY pixel
> coordinates of a box around the scope and draw an overlay window at that
> box's size and position, allowing input to go through to the Scintilla
> widget underneath (similar effect to XCode's scope highlighting). This
> is kind of a similar effect as my "blackout" experiment except around
> the scope box instead of the whole editor widget:
>
> http://codebrainz.ca/images/blackout-demo.png

Interesting idea. I think I’d do it the simpler and less radical way though.

Sounds like writing a little plugin is going on my to-do list then.

Thanks guys,

James

-- 
"Unix is the worst computer operating system, except
all the others that have been tried."


More information about the Users mailing list