[Top][All Lists]

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

Re: Standardizing tree-sitter fontification features

From: Yuan Fu
Subject: Re: Standardizing tree-sitter fontification features
Date: Fri, 25 Nov 2022 12:55:48 -0800

> On Nov 25, 2022, at 11:03 AM, Randy Taylor <dev@rjt.dev> wrote:
> On Friday, November 25th, 2022 at 01:15, Yuan Fu <casouri@gmail.com> wrote:
>>> On Nov 24, 2022, at 5:13 PM, Randy Taylor dev@rjt.dev wrote:
>>> I wonder if assignment and definition are really worth having (and would 
>>> prefer to do without them), since they should be covered by the variable, 
>>> function, type and property features.
>> They are definitely useful. They are the things we currently highlight, and 
>> for a reason. Personally I only want to highlight identifiers in definition 
>> and assignment, not every occurrence of them. Since so much of a program 
>> consists of variable and function identifiers, highlighting all of them 
>> looks almost like highlighting everything. I just want some visual cues on 
>> the program structure, not programming in skittles :-)
> Fair enough. In that case, are we going to end up with duplication in the 
> variable and function features? So long as I can program in skittles, I am 
> happy :).

I don’t think duplication would be a problem. You can disable them, or just 
left it on: the face would be the same, the difference is only one _which_ ones 
to highlight.

>>> I would also add:
>>> - misc-punctuation, for anything not considered a delimiter or bracket. 
>>> Most modes would use this for any special punctuation they've got.
>> Is there any examples? Maybe just merge delimiter and punctuation together?
> Yes, see sh-script.el. $ is used for misc-punctuation. neovim and the Emacs 
> dynamic module tree-sitter implementation have more examples (they call it 
> special punctuation).
> I think we should keep them all separate.

Ok, then delimiter and misc-punctuation it is.

>>> - (maybe) literal instead of number? That way there is a group for chars 
>>> too (and any other literals if there are any?). Or a char feature in 
>>> addition to the existing number one. I'm undecided...
>> Literal seems to encompass numbers, strings, chars, and constants. So I 
>> don’t know how does it fit. We could add char to string feature.
> Sounds good. I think I've seen char also end up in constant in some of our 
> tree-sitter modes. Doesn't matter to me where it goes.

Hmm, what does neovim and emacs-tree-sitter do? (If you happen to know)

>>> Maybe a slight tangent but I also suggest we alphabetize all of these; both 
>>> the queries and the list of features. I'll send a patch to do that myself 
>>> once things cool down a bit. Although anything that overrides will need to 
>>> go at the bottom to make sure it gets applied.
>> Good idea :-) A tangent of your tangent: how did you alphabetize them? Did 
>> you use the sort-word package on EmacsWiki?
>> Yuan
> Manually ;) (except for the keyword and such lists, those I use the built-in 
> sort-lines on). I really like saying the alphabet over and over.

Well that’s a very convenient hobby :-)


reply via email to

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