[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Tree sitter support for C-like languages
From: |
Yuan Fu |
Subject: |
Re: Tree sitter support for C-like languages |
Date: |
Fri, 11 Nov 2022 21:43:21 -0800 |
> On Nov 10, 2022, at 10:01 PM, Theodor Thornhill <theo@thornhill.no> wrote:
>
> Yuan Fu <casouri@gmail.com> writes:
>
>>> On Nov 10, 2022, at 9:45 AM, Theodor Thornhill <theo@thornhill.no> wrote:
>>>
>>>
>>>
>>> Hi all,
>>>
>>> See the attached patch for support for several C-like languages.
>>>
>>> They all support:
>>> - Font locking
>>> - Indentation (with styles for c/c++)
>>> - Movement
>>> - Imenu
>>> - Which-func
>>>
>>> These modes are meant as a supplement to tree-sitter.
>>>
>>> I'm hopeful for some constructive criticism, and some testing. This
>>> patch needs to be applied to the feature/tree-sitter branch, and should
>>> hopefully be applied there before we merge the branch to master, well
>>> before Emacs 29 is cut.
>>>
>>> I hope you like it,
>>>
>>> Theo
>>
>> This is fantastic! I’m trying them out right now :-)
>>
>> Some things I noticed:
>>
>> The indentation for the closing bracket of a struct is off:
>>
>> struct regexp_cache
>> {
>> struct regexp_cache *next;
>> };
>>
>
> Yeah.
>
>> Imenu has some duplicate entries, the patch below should fix that.
>>
>> I also added the new contextual thingy to font-lock settings.
>
> Thanks, added!
>
> See below patch. The struct issue was an ordering problem when I
> extracted the styles. Should be good now
>
> Theo
>
> <0001-Add-Tree-Sitter-modes-for-C-like-languages.patch>
I noticed that with the default indent style, Emacs indents like this:
int main () {
for (int j = 0; j < 5; j++)
a[j] = 3;
int i = 1;
swap(i, a[i+1]);
Point p = {0, 1};
}
int main ()
{
for (int j = 0; j < 5; j++)
a[j] = 3;
int i = 1;
swap(i, a[i+1]);
Point p = {0, 1};
}
Is this expected?
Yuan
- Tree sitter support for C-like languages, Theodor Thornhill, 2022/11/10
- Re: Tree sitter support for C-like languages, Stefan Monnier, 2022/11/10
- Re: Tree sitter support for C-like languages, Yuan Fu, 2022/11/10
- Re: Tree sitter support for C-like languages, Theodor Thornhill, 2022/11/12
- Re: Tree sitter support for C-like languages, Yuan Fu, 2022/11/12
- Re: Tree sitter support for C-like languages, Theodor Thornhill, 2022/11/12
- Re: Tree sitter support for C-like languages, Eli Zaretskii, 2022/11/12
- Re: Tree sitter support for C-like languages, Theodor Thornhill, 2022/11/12
- Re: Tree sitter support for C-like languages, Theodor Thornhill, 2022/11/12
- Re: Tree sitter support for C-like languages, Eli Zaretskii, 2022/11/12