--- Begin Message ---
Subject: |
30.0.50; Add jsx faces to typescript-ts-mode |
Date: |
Fri, 24 Mar 2023 16:49:35 -0700 |
X-Debbugs-CC: theo@thornhill.no
Hey Theo, I want to add separate faces for JSX tags and attributes.
Otherwise users will be in a world of pain if they want to use different
fontification for JSX tag and funcall, and JSX attribute and constant. WDYT?
Yuan
faces.patch
Description: Binary data
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#62429: 30.0.50; Add jsx faces to typescript-ts-mode |
Date: |
Thu, 30 Mar 2023 01:11:48 -0700 |
> On Mar 29, 2023, at 10:25 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>
>> From: Yuan Fu <casouri@gmail.com>
>> Date: Wed, 29 Mar 2023 17:28:40 -0700
>> Cc: monnier@iro.umontreal.ca,
>> 62429@debbugs.gnu.org,
>> theo@thornhill.no
>>
>>>> JSX is basically HTML mixed with Javascript, so JSX tags and attributes
>>>> are just HTML tags and attributes. Normally it’s fine to just use some
>>>> semi-related font-lock face for them; mhtml.el uses function-call-face and
>>>> constant-face for tags and attributes. But because in JSX, HTML tags and
>>>> attribtues appear in the same buffer with Javascript code, if we use
>>>> function-call-face and constant-face for tags and attributes, it’s
>>>> impossible to change their appearance and not affect the functions and
>>>> constants in Javascript code, because we are using the same face for JS
>>>> functions and HTML tags, and JS constants and HTML attributes.
>>>
>>> OK, but then how will these JSX-specific faces fit into the overall
>>> scheme of treesit-font-lock faces? For example, in what level will
>>> they be used, and how will users know what level to set to see these
>>> faces in their buffers?
>>
>> At level 3 for tsx-ts-mode, under the “jsx” feature. So they are enabled by
>> default. Though it’s true that it’s not immediately obvious what face to
>> customize. At the very least these faces appear in the customize group of
>> typescript. We can add something to the docstring of the major mode, too.
>>
>>>
>>> These are the downsides of mode-specific faces, and if we think it's
>>> important enough to have them, we should resolve these issues when we
>>> install such faces.
>
> Then it is fine by me, as long as those measures you mentioned are
> taken to make sure users know how to customize font-lock with these
> faces.
Cool. I pushed the change.
Yuan
--- End Message ---