emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Status update of tree-sitter features


From: Dmitry Gutov
Subject: Re: Status update of tree-sitter features
Date: Thu, 29 Dec 2022 02:34:47 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2

On 29/12/2022 02:23, Yuan Fu wrote:

function                every function identifier

The description makes it easy to mistake for function definitions as well. 
Whereas the place where this category is used is function/method calls, right? 
And perhaps some other references to methods inside the code where the language 
parser can distinguish those from property access, etc.

If it's only about calls, maybe call this category funcall?

Function, property and variable are for every occurrence of them (the touted 
“consistent highlighting”). So there will be a bit of overlap between function, 
variable, and definition.

By "overlap", do you mean that font-lock rules should also have entries for variable/function definitions with category 'variable'/'function'?

In case somebody removes 'definition' from their list of enabled features but keeps 'variable' and 'function' there?

variable                every variable identifier

'variable', so far, seems like the least useful. When enabled, it lights up 
every bit of text that remained from other matchers -- because identifier are 
everywhere.

Yes, but apparently people want it ;-)

Well, if they really do.

I figured that people who added this maybe haven't tested this thoroughly. And that maybe they expected the effect of that "local variables highlights" feature that some editors showcase already.

There is this more advanced prior art for highlighting variables, by tracking 
the scopes using custom annotations, see locals.scm here:

https://tree-sitter.github.io/tree-sitter/syntax-highlighting#local-variables

What's displayed under "Result" would be really handy to have in Ruby.

It's nothing urgent, of course. Maybe for Emacs 30?

Yeah, this requires some non-trivial addition to the current fontification code.

Thank you.

For Emacs 29, though, I would discourage the use of 'variable’.

It’s on level 4, meaning not enabled by default, so I think it’s fine.

Fair enough. If someone wants function/property but not variable, they could fine-tune the list.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]