emacs-bug-tracker
[Top][All Lists]
Advanced

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

bug#62429: closed (30.0.50; Add jsx faces to typescript-ts-mode)


From: GNU bug Tracking System
Subject: bug#62429: closed (30.0.50; Add jsx faces to typescript-ts-mode)
Date: Thu, 30 Mar 2023 08:13:02 +0000

Your message dated Thu, 30 Mar 2023 01:11:48 -0700
with message-id <FF2FDBE4-94AA-4E97-9EBC-301994B9D655@gmail.com>
and subject line Re: bug#62429: 30.0.50; Add jsx faces to typescript-ts-mode
has caused the debbugs.gnu.org bug report #62429,
regarding 30.0.50; Add jsx faces to typescript-ts-mode
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
62429: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62429
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- 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

Attachment: 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 ---

reply via email to

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