|
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 identifierThe 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.
[Prev in Thread] | Current Thread | [Next in Thread] |