GNU bug report logs - #60500
29.0.60; typescript-ts-mode and tsx-ts-mode has inconsistent features/fontification wrt other ts major-modes

Previous Next

Package: emacs;

Reported by: jostein <at> kjonigsen.net

Date: Mon, 2 Jan 2023 20:06:01 UTC

Severity: normal

Tags: patch

Found in version 29.0.60

Done: Yuan Fu <casouri <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 60500 in the body.
You can then email your comments to 60500 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#60500; Package emacs. (Mon, 02 Jan 2023 20:06:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to jostein <at> kjonigsen.net:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 02 Jan 2023 20:06:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Jostein Kjønigsen <jostein <at> secure.kjonigsen.net>
To: "bug-gnu-emacs <at> gnu.org" <bug-gnu-emacs <at> gnu.org>
Cc: Yuan Fu <casouri <at> gmail.com>, Theodor Thornhill <theo <at> thornhill.no>,
 Eli Zaretskii <eliz <at> gnu.org>
Subject: 29.0.60; typescript-ts-mode and tsx-ts-mode has inconsistent
 features/fontification wrt other ts major-modes
Date: Mon, 2 Jan 2023 21:05:37 +0100
[Message part 1 (text/plain, inline)]
Typescript-ts-mode and tsx-ts-mode does not use the "standardized" 
features and fontification levels requested by Stefan/Eli.

Major inconsistencies:

* highlighting ALL variables/properties, not just declarations
* highlight call-expressions on syntax-highlightingh-level 3 (should be 
on 4, using "function"-feature)
* no syntax-highlighting for method-names inside interfaces.

Attached is a patch which fixes these 3 issues and makes it much more 
consistent with csharp-ts-mode.

*Theo:* Could you take this for a test-drive and see if you see any issues?

*Yuan:* Can we get this installed on Emacs-29 branch or is it too late 
now? :)

--

In GNU Emacs 29.0.60 (build 7, x86_64-pc-linux-gnu, GTK+ Version
 3.24.34, cairo version 1.16.0) of 2023-01-01 built on ThinkPad-T14s
Repository revision: f12f72b0e09c7a45098955c1304499963a5eb9a7
Repository branch: emacs-29
Windowing system distributor 'The X.Org Foundation', version 11.0.12201003
System Description: Ubuntu 22.10

Configured using:
 'configure --with-json --with-tree-sitter'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY
INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS
TREE_SITTER X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB

Important settings:
  value of $LC_MONETARY: nb_NO.UTF-8
  value of $LC_NUMERIC: nb_NO.UTF-8
  value of $LC_TIME: nb_NO.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Magit

Minor modes in effect:
  global-undo-tree-mode: t
  undo-tree-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  editorconfig-mode: t
  which-function-mode: t
  helm-mode: t
  helm-minibuffer-history-mode: t
  shell-dirtrack-mode: t
  helm--remap-mouse-mode: t
  async-bytecomp-package-mode: t
  delete-selection-mode: t
  global-auto-revert-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  global-nlinum-mode: t
  ido-yes-or-no-mode: t
  override-global-mode: t
  server-mode: t
  global-hl-line-mode: t
  pixel-scroll-precision-mode: t
  doom-modeline-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/jostein/.emacs.d/elpa/transient-20221202.1727/transient hides 
/home/jostein/build/emacs/lisp/transient

Features:
(shadow sort emacsbug git-rebase helm-bookmark helm-net helm-adaptive
magit-bookmark bookmark mail-extr typescript-ts-mode js magit-extras
flyspell ispell undo-tree queue magit-submodule magit-obsolete
magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull
magit-fetch magit-clone magit-remote magit-commit magit-sequence
magit-notes magit-worktree magit-tag magit-merge magit-branch
magit-reset magit-files magit-refs magit-status magit magit-repos
magit-apply magit-wip magit-log magit-diff smerge-mode diff git-commit
log-edit message sendmail yank-media rfc822 mml mml-sec epa epg rfc6068
epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047
rfc2045 ietf-drums mailabbrev gmm-utils mailheader pcvs-util magit-core
magit-autorevert magit-margin magit-transient magit-process with-editor
magit-mode transient magit-git magit-base magit-section crm compat-27
compat-26 executable helm-command helm-elisp helm-eval edebug helm-info
misearch multi-isearch bug-reference face-remap disp-table elec-pair
csharp-mode c-ts-mode treesit cc-langs cc-mode cc-fonts cc-guess
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs vc-git
diff-mode vc-dispatcher vc-svn winner ffap tramp-archive tramp-gvfs
tramp-cache time-stamp zeroconf dbus add-log ido-completing-read+
memoize minibuf-eldef elisp-slime-nav paredit highlight-symbol flycheck
editorconfig editorconfig-core editorconfig-core-handle
editorconfig-fnmatch company-oddmuse company-keywords company-etags
etags fileloop generator company-gtags company-dabbrev-code
company-dabbrev company-files company-clang company-capf company-cmake
company-semantic company-template company-bbdb company eglot
external-completion array jsonrpc ert ewoc debug backtrace flymake-proc
flymake warnings which-func hideshow eww url-queue thingatpt shr
pixel-fill kinsoku url-file svg xml dom puny mm-url gnus nnheader
gnus-util mail-utils range mm-util mail-prsvr helm-imenu pcase imenu
ob-plantuml org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro
org-src ob-comint org-pcomplete org-list org-footnote org-faces
org-entities noutline outline ob-emacs-lisp ob-core ob-eval org-cycle
org-table ol org-fold org-fold-core org-keys oc org-loaddefs find-func
cal-menu calendar cal-loaddefs org-version org-compat org-macs helm-mode
helm-misc helm-files image-dired image-dired-tags image-dired-external
image-dired-util xdg image-mode dired dired-loaddefs exif tramp
tramp-loaddefs trampver tramp-integration cus-edit pp cus-load icons
wid-edit files-x tramp-compat shell pcomplete parse-time iso8601
time-date ls-lisp helm-buffers helm-occur helm-tags helm-locate
helm-grep helm-regexp format-spec helm-utils helm-help helm-types helm
helm-global-bindings helm-easymenu helm-core async-bytecomp helm-source
helm-multi-match helm-lib async helm-config delsel autorevert filenotify
yasnippet derived nlinum linum ido-yes-or-no advice ido edmacro kmacro
use-package-bind-key bind-key easy-mmode xref project server hl-line
pixel-scroll cua-base compile-eslint compile comint ansi-osc ansi-color
ring doom-modeline doom-modeline-segments doom-modeline-env
doom-modeline-core all-the-icons all-the-icons-faces data-material
data-weathericons data-octicons data-fileicons data-faicons
data-alltheicons shrink-path rx f f-shortdoc shortdoc
text-property-search s dash compat compat-macs dracula-theme cl-extra
help-mode use-package-ensure use-package-core finder-inf
flycheck-autoloads helm-autoloads helm-core-autoloads
expand-region-autoloads all-the-icons-autoloads bmx-mode-autoloads
doom-modeline-autoloads async-autoloads dracula-theme-autoloads
highlight-symbol-autoloads multiple-cursors-autoloads
projectile-autoloads nlinum-autoloads pkg-info-autoloads epl-autoloads
undo-tree-autoloads rust-mode-autoloads editorconfig-autoloads
magit-autoloads yasnippet-autoloads elisp-slime-nav-autoloads
crontab-mode-autoloads ido-yes-or-no-autoloads magit-section-autoloads
cargo-autoloads ido-completing-read+-autoloads memoize-autoloads
paredit-autoloads company-autoloads yaml-mode-autoloads
powershell-autoloads dap-mode-autoloads lsp-docker-autoloads
yaml-autoloads lsp-treemacs-autoloads treemacs-autoloads cfrs-autoloads
posframe-autoloads hydra-autoloads pfuture-autoloads
ace-window-autoloads avy-autoloads bui-autoloads lsp-mode-autoloads
lv-autoloads markdown-mode-autoloads spinner-autoloads ht-autoloads
git-commit-autoloads transient-autoloads compat-autoloads
cmake-mode-autoloads shrink-path-autoloads f-autoloads info
dash-autoloads s-autoloads popup-autoloads queue-autoloads package
browse-url url url-proxy url-privacy url-expand url-methods url-history
url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers
url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache
json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs
cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify
ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty
make-network-process emacs)

Memory information:
((conses 16 1404910 128978)
 (symbols 48 47016 24)
 (strings 32 203095 12541)
 (string-bytes 1 6450958)
 (vectors 16 95226)
 (vector-slots 8 1840465 212702)
 (floats 8 890 1003)
 (intervals 56 86732 4097)
 (buffers 984 44))

-- 
Vennlig hilsen
*Jostein Kjønigsen*

jostein <at> kjonigsen.net 🍵 jostein <at> gmail.com
https://jostein.kjønigsen.no <https://jostein.kjønigsen.no>
[Message part 2 (text/html, inline)]
[0002-lisp-progmodes-typescript-ts-mode.el-fontification-i.patch (text/x-patch, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60500; Package emacs. (Mon, 02 Jan 2023 20:10:02 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: jostein <at> kjonigsen.net
Cc: bug-gnu-emacs <at> gnu.org, theo <at> thornhill.no, casouri <at> gmail.com
Subject: Re: 29.0.60; typescript-ts-mode and tsx-ts-mode has inconsistent
 features/fontification wrt other ts major-modes
Date: Mon, 02 Jan 2023 22:09:39 +0200
> Date: Mon, 2 Jan 2023 21:05:37 +0100
> Cc: Yuan Fu <casouri <at> gmail.com>, Theodor Thornhill <theo <at> thornhill.no>,
>  Eli Zaretskii <eliz <at> gnu.org>
> From: Jostein Kjønigsen <jostein <at> secure.kjonigsen.net>
> 
> Yuan: Can we get this installed on Emacs-29 branch or is it too late now? :)

Fixes are okay on the emacs-29 branch.  That's what that branch is
for.

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60500; Package emacs. (Mon, 02 Jan 2023 20:13:01 GMT) Full text and rfc822 format available.

Message #11 received at 60500 <at> debbugs.gnu.org (full text, mbox):

From: Jostein Kjønigsen <jostein <at> secure.kjonigsen.net>
To: 60500 <at> debbugs.gnu.org, Yuan Fu <casouri <at> gmail.com>,
 Theodor Thornhill <theo <at> thornhill.no>
Subject: Re: bug#60500: Acknowledgement (29.0.60; typescript-ts-mode and
 tsx-ts-mode has inconsistent features/fontification wrt other ts major-modes)
Date: Mon, 2 Jan 2023 21:12:35 +0100
[Message part 1 (text/plain, inline)]
Previous patch was incomplete and only introduced the new feature on one 
of the major-modes.

This latest patch introduces it on both and should be good.

--
Jostein

[0002-lisp-progmodes-typescript-ts-mode.el-fontification-i.patch (text/x-patch, attachment)]

Added tag(s) patch. Request was from Jostein Kjønigsen <jostein <at> secure.kjonigsen.net> to control <at> debbugs.gnu.org. (Mon, 02 Jan 2023 20:35:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60500; Package emacs. (Mon, 02 Jan 2023 20:58:02 GMT) Full text and rfc822 format available.

Message #16 received at 60500 <at> debbugs.gnu.org (full text, mbox):

From: Theodor Thornhill <theo <at> thornhill.no>
To: jostein <at> kjonigsen.net, 60500 <at> debbugs.gnu.org, Yuan Fu <casouri <at> gmail.com>
Subject: Re: bug#60500: Acknowledgement (29.0.60; typescript-ts-mode and
 tsx-ts-mode has inconsistent features/fontification wrt other ts
 major-modes)
Date: Mon, 02 Jan 2023 21:56:58 +0100
Jostein Kjønigsen <jostein <at> secure.kjonigsen.net> writes:

> Previous patch was incomplete and only introduced the new feature on one 
> of the major-modes.
>
> This latest patch introduces it on both and should be good.
>

Looks very good to me :-)

Theo




Reply sent to Yuan Fu <casouri <at> gmail.com>:
You have taken responsibility. (Mon, 02 Jan 2023 22:28:02 GMT) Full text and rfc822 format available.

Notification sent to jostein <at> kjonigsen.net:
bug acknowledged by developer. (Mon, 02 Jan 2023 22:28:02 GMT) Full text and rfc822 format available.

Message #21 received at 60500-done <at> debbugs.gnu.org (full text, mbox):

From: Yuan Fu <casouri <at> gmail.com>
To: Theodor Thornhill <theo <at> thornhill.no>
Cc: 60500-done <at> debbugs.gnu.org, jostein <at> kjonigsen.net
Subject: Re: bug#60500: 29.0.60; typescript-ts-mode and tsx-ts-mode has 
 inconsistent features/fontification wrt other ts major-modes
Date: Mon, 2 Jan 2023 14:27:17 -0800
Theodor Thornhill <theo <at> thornhill.no> writes:

> Jostein Kjønigsen <jostein <at> secure.kjonigsen.net> writes:
>
>> Previous patch was incomplete and only introduced the new feature on one 
>> of the major-modes.
>>
>> This latest patch introduces it on both and should be good.
>>
>
> Looks very good to me :-)
>
> Theo

Applied, thanks!

Yuan




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 31 Jan 2023 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 140 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.