[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 :-)
Yuan
Re: Standardizing tree-sitter fontification features, Stefan Monnier, 2022/11/24
Re: Standardizing tree-sitter fontification features, Stephen Leake, 2022/11/26