GNU bug report logs - #60689
29.0.60; typescript-ts-mode and tsx-ts-mode does not highlight imports as variables [PATCH]

Previous Next

Package: emacs;

Reported by: jostein <at> kjonigsen.net

Date: Mon, 9 Jan 2023 10:21:02 UTC

Severity: normal

Tags: patch

Found in version 29.0.60

Done: Jostein Kjønigsen <jostein <at> secure.kjonigsen.net>

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 60689 in the body.
You can then email your comments to 60689 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#60689; Package emacs. (Mon, 09 Jan 2023 10:21:02 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, 09 Jan 2023 10:21:02 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>,
 Yuan Fu <casouri <at> gmail.com>, Theodor Thornhill <theo <at> thornhill.no>
Subject: 29.0.60; typescript-ts-mode and tsx-ts-mode does not highlight
 imports as variables [PATCH]
Date: Mon, 9 Jan 2023 11:20:10 +0100
[Message part 1 (text/plain, inline)]
When importing packages/functions/whatever in typescript using 
import-statements, the imported entities are not highlighted.

This differs from when using require() syntax.

import jwt from "jsonwebtoken";        // jwt -not- highlighted
import { verify } from "jsonwebtoken"; // verify -not- highlighted
const jwt = require("jsonwebtoken");   // jwt is highlighted.

Attached is a patch which updates typescript-ts-mode and tsx-ts-mode to 
highlight these imports properly.

--
Jostein


In GNU Emacs 29.0.60 (build 9, x86_64-pc-linux-gnu, GTK+ Version
 3.24.34, cairo version 1.16.0) of 2023-01-08 built on ThinkPad-T14s
Repository revision: 1469aac20d8ebcd3c5cca898b814c305278d4c27
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-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 typescript-ts-mode vc-hg vc-bzr vc-src vc-sccs
vc-cvs vc-rcs log-view vc bug-reference json-ts-mode 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 view jka-compr woman man helm-command
helm-elisp helm-eval edebug helm-info markdown-mode color misearch
multi-isearch js c-ts-mode treesit cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs elec-pair speedbar
ezimage dframe powershell mail-extr disp-table flyspell ispell yaml-mode
dired-aux vc-git diff-mode vc-dispatcher vc-svn winner ffap
tramp-archive tramp-gvfs tramp-cache time-stamp zeroconf dbus add-log
face-remap 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 946232 70253)
 (symbols 48 48406 270)
 (strings 32 221316 13571)
 (string-bytes 1 6455828)
 (vectors 16 105031)
 (vector-slots 8 1185287 244553)
 (floats 8 1002 575)
 (intervals 56 30317 3140)
 (buffers 984 53))

-- 
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)]
[0001-typescript-ts-mode-Improve-syntax-highlight-for-impo.patch (text/x-patch, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60689; Package emacs. (Tue, 10 Jan 2023 04:08:01 GMT) Full text and rfc822 format available.

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

From: Yuan Fu <casouri <at> gmail.com>
To: Jostein Kjønigsen <jostein <at> secure.kjonigsen.net>
Cc: jostein <at> kjonigsen.net, Theodor Thornhill <theo <at> thornhill.no>,
 60689 <at> debbugs.gnu.org
Subject: Re: bug#60689: 29.0.60; typescript-ts-mode and tsx-ts-mode does not 
 highlight imports as variables [PATCH]
Date: Mon, 9 Jan 2023 20:07:29 -0800
Jostein Kjønigsen <jostein <at> secure.kjonigsen.net> writes:

> When importing packages/functions/whatever in typescript using import-statements, the imported entities are not
> highlighted.
>
> This differs from when using require() syntax.
>
> import jwt from "jsonwebtoken";        // jwt -not- highlighted
> import { verify } from "jsonwebtoken"; // verify -not- highlighted
> const jwt = require("jsonwebtoken");   // jwt is highlighted.
>
> Attached is a patch which updates typescript-ts-mode and tsx-ts-mode to highlight these imports properly.

Thanks! I applied the patch. I’ll add similar fixes to js-ts-mode.

Yuan




Reply sent to Jostein Kjønigsen <jostein <at> secure.kjonigsen.net>:
You have taken responsibility. (Tue, 10 Jan 2023 10:32:02 GMT) Full text and rfc822 format available.

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

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

From: Jostein Kjønigsen <jostein <at> secure.kjonigsen.net>
To: 60689-done <at> debbugs.gnu.org
Date: Tue, 10 Jan 2023 11:31:00 +0100
[Message part 1 (text/plain, inline)]
This bug can now be closed.

-- 
*Jostein Kjønigsen*
jostein.kjønigsen.no <https://jostein.kjønigsen.no>
jostein <at> kjonigsen.net - jostein <at> gmail.com
[Message part 2 (text/html, inline)]

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

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

Previous Next


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