From unknown Fri Jun 20 07:17:37 2025
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.509 (Entity 5.509)
Content-Type: text/plain; charset=utf-8
From: bug#59906 <59906@debbugs.gnu.org>
To: bug#59906 <59906@debbugs.gnu.org>
Subject: Status: 29.0.60; typescript-ts-mode is not highlighting escape
sequences
Reply-To: bug#59906 <59906@debbugs.gnu.org>
Date: Fri, 20 Jun 2025 14:17:37 +0000
retitle 59906 29.0.60; typescript-ts-mode is not highlighting escape sequen=
ces
reassign 59906 emacs
submitter 59906 Jostein Kj=C3=B8nigsen
severity 59906 normal
thanks
From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 08 10:04:31 2022
Received: (at submit) by debbugs.gnu.org; 8 Dec 2022 15:04:31 +0000
Received: from localhost ([127.0.0.1]:57300 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1p3IRl-0003tg-S4
for submit@debbugs.gnu.org; Thu, 08 Dec 2022 10:04:30 -0500
Received: from lists.gnu.org ([209.51.188.17]:37958)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from ) id 1p3IRj-0003ta-4o
for submit@debbugs.gnu.org; Thu, 08 Dec 2022 10:04:24 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from )
id 1p3IRa-0000W7-2D
for bug-gnu-emacs@gnu.org; Thu, 08 Dec 2022 10:04:22 -0500
Received: from wout3-smtp.messagingengine.com ([64.147.123.19])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from )
id 1p3IRV-0007Jg-Ru
for bug-gnu-emacs@gnu.org; Thu, 08 Dec 2022 10:04:13 -0500
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
by mailout.west.internal (Postfix) with ESMTP id A55A0320097B;
Thu, 8 Dec 2022 10:04:07 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
by compute3.internal (MEProxy); Thu, 08 Dec 2022 10:04:07 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
secure.kjonigsen.net; h=cc:content-type:date:date:from:from
:in-reply-to:message-id:mime-version:reply-to:sender:subject
:subject:to:to; s=fm1; t=1670511847; x=1670598247; bh=RBQFJYI5/8
qK0KDDrPOdsBCzS/MQaKarSD2hDgOhuk4=; b=OXjCPPoVbowsDxYVgM758LPnwU
jNW/A87uJsmF/bkVdkBCSNaElzfj63ERoNfM5rzpwWhOBgeGCgGKgDdkFEc3s7bh
ti9IP4uymhjjEq7u+EuR85AbGbEBrKLWvalZEx14DxoHIOgD3XZo5zTt2aroKw2/
Pzh8Q4MKK+88bxO1NOqPHrPsqiEslec49SpI/fgTh0Rrd7YPvRt/WuPdDqp+CLLJ
VxxfQ+UoKk6yYvFPGf6UaOPZjlHvU91ySgX9MHVqsSLhEvzjXcNm7caX2jejSH1v
TNQsjPp6iN/jNbC3oLTOt69pKUoF2zEKnyiwnBe7TrQPrTww5aTTup4cozxw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
messagingengine.com; h=cc:content-type:date:date:feedback-id
:feedback-id:from:from:in-reply-to:message-id:mime-version
:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1670511847; x=
1670598247; bh=RBQFJYI5/8qK0KDDrPOdsBCzS/MQaKarSD2hDgOhuk4=; b=D
CvPY0bNS1xbhO3K77yEpuOkwaxWGZUVK66qu4A4sHYqz7XDJjrmqwd+FfUbWVpZC
F7KLHLEVuVFurqYdTKDqVSeNrGfbqEYaESBKcEiWsg77oB3cGZZQGMvTESQ1mHBx
iJ6R5v/GkknC3Z3vRJqyUoNIzKLHjLA0q0Al004Wr7WB1foZOYGQ6JE4yylAq2KX
LvH7CBaiU1YRIGv8uRpOkphwfvCy7IdDwpdPl1Z1LD+WKAGJVbaPqsjaLtwpPin+
57eVS5ayX5nI7c3XHNBYFjI3lKPAWvD3Qc0NbofHJf7NgEq5RoL4u/+OS/bgrwq0
QvIQzOzGVu18+ONB65p9Q==
X-ME-Sender:
X-ME-Received:
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvddtgdejvdcutefuodetggdotefrodftvf
curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
fjughrpegtkfffgggfvffhufesrgdtreertdefjeenucfhrhhomheplfhoshhtvghinhcu
mfhjpphnihhgshgvnhcuoehjohhsthgvihhnsehsvggtuhhrvgdrkhhjohhnihhgshgvnh
drnhgvtheqnecuggftrfgrthhtvghrnhepfeegfeefkeehleetgfdvkeetieffudfghfel
udevfefhheehffelheeitdevjedunecuffhomhgrihhnpehkjhhnihhgshgvnhdrnhhone
cuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepjhhoshht
vghinhesshgvtghurhgvrdhkjhhonhhighhsvghnrdhnvght
X-ME-Proxy:
Feedback-ID: ib2f84088:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
8 Dec 2022 10:04:06 -0500 (EST)
Content-Type: multipart/alternative;
boundary="------------u69m8a5ByomLf0Sa7ZSfsCKL"
Message-ID:
Date: Thu, 8 Dec 2022 16:04:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.4.2
Content-Language: en-US
To: "bug-gnu-emacs@gnu.org" ,
Yuan Fu , Theodor Thornhill
From: =?UTF-8?Q?Jostein_Kj=c3=b8nigsen?=
Subject: 29.0.60; typescript-ts-mode is not highlighting escape sequences
Received-SPF: pass client-ip=64.147.123.19;
envelope-from=jostein@secure.kjonigsen.net;
helo=wout3-smtp.messagingengine.com
X-Spam_score_int: -26
X-Spam_score: -2.7
X-Spam_bar: --
X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001,
RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001,
SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.6 (-)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -2.6 (--)
This is a multi-part message in MIME format.
--------------u69m8a5ByomLf0Sa7ZSfsCKL
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
In a buffer with typescript-ts-mode activated, write the following code:
const test = "quoted\"string\" contents";
The entire text, include the \" is highlighted as strings, and escape
sequences are not handled:
This code has the following tree-sitter syntax tree:
> (lexical_declaration kind: const
> (variable_declarator name: (identifier) value: =
> (string " (string_fragment) (escape_sequence) (string_fragment)
> (escape_sequence) (string_fragment) "))
> ;)
In typescript-ts-mode we seemingly have rules to handle fontification of
escape sequences:
> :language language
> :feature 'escape-sequence
> :override t
> '((escape_sequence) @font-lock-escape-face))
This feature is however not activated in the major-mode setup:
> (setq-local treesit-font-lock-feature-list
> '((comment declaration)
> (keyword string)
> (constant expression identifier number pattern property)
> (bracket delimiter)))
Naively I assumed that simply adding this feature would activate this
rule, but still \" is fontified as string.
Invalid escape sequences are not highlighted as warnings either (like
they are in json-ts-mode).
Would anyone like to take a stab at this? :)
--
Jostein
In GNU Emacs 29.0.60 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.33, cairo version 1.16.0) of 2022-12-08 built on dev-jostein
Repository revision: 8fb2afe051168b2eac2bba0ee102039d0af90a05
Repository branch: emacs-29
Windowing system distributor 'The X.Org Foundation', version 11.0.12201001
System Description: Ubuntu 22.04.1 LTS
Configured using:
'configure --with-tree-sitter'
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
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: TypeScript
Minor modes in effect:
global-git-commit-mode: t
magit-auto-revert-mode: t
lsp-diagnostics-mode: t
lsp-headerline-breadcrumb-mode: t
lsp-modeline-workspace-status-mode: t
lsp-modeline-diagnostics-mode: t
lsp-modeline-code-actions-mode: t
electric-pair-mode: t
lsp-completion-mode: t
editorconfig-mode: t
flycheck-mode: t
which-function-mode: t
nlinum-mode: t
company-mode: t
global-ede-mode: t
dap-tooltip-mode: t
dap-ui-many-windows-mode: t
dap-ui-controls-mode: t
dap-ui-mode: t
treemacs-filewatch-mode: t
treemacs-follow-mode: t
treemacs-git-mode: t
treemacs-fringe-indicator-mode: t
dap-auto-configure-mode: t
dap-mode: t
global-undo-tree-mode: t
undo-tree-mode: t
doom-modeline-mode: t
projectile-mode: t
ido-yes-or-no-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
server-mode: t
global-hl-line-mode: t
lsp-managed-mode: t
lsp-mode: t
yas-global-mode: t
yas-minor-mode: t
tooltip-mode: t
global-eldoc-mode: t
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
column-number-mode: t
line-number-mode: t
auto-fill-function: yas--auto-fill
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:
(dired-aux ede/dired magit-extras magit-bookmark 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
git-commit log-edit 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 semantic/lex-spp
ede/emacs semantic/db semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local bug-reference help-fns
radix-tree shadow sort flyspell ispell emacsbug message yank-media
rfc822 mml mml-sec epa derived mm-decode mm-bodies mm-encode mail-parse
rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045
ietf-drums mail-extr helm-command helm-elisp helm-eval
typescript-ts-mode lsp-diagnostics lsp-headerline lsp-icons lsp-modeline
view elec-pair js cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs executable misearch multi-isearch
vc-git diff-mode vc-dispatcher winner ffap disp-table tramp-archive
tramp-gvfs tramp-cache warnings time-stamp zeroconf dbus helm-bookmark
helm-net helm-adaptive helm-info treemacs-bookmarks treemacs-tags
bookmark face-remap add-log lsp-zig lsp-steep lsp-svelte lsp-sqls
lsp-ruby-syntax-tree lsp-yaml lsp-xml lsp-vimscript lsp-vhdl lsp-volar
lsp-vetur lsp-html lsp-verilog lsp-vala lsp-v lsp-typeprof lsp-ttcn3
lsp-toml lsp-terraform lsp-tex lsp-sorbet lsp-solargraph lsp-rust lsp-rf
lsp-remark lsp-racket lsp-r lsp-purescript lsp-pylsp lsp-pyls lsp-php
lsp-pls lsp-perlnavigator lsp-perl lsp-openscad lsp-ocaml lsp-magik
lsp-nix lsp-nim lsp-nginx lsp-mint lsp-marksman lsp-markdown lsp-lua
lsp-kotlin lsp-json lsp-javascript lsp-idris lsp-haxe lsp-groovy
lsp-hack lsp-graphql lsp-gleam lsp-go lsp-completion lsp-gdscript
lsp-fsharp lsp-fortran lsp-eslint lsp-erlang lsp-emmet lsp-elixir
lsp-elm lsp-dockerfile lsp-dhall lsp-d lsp-css lsp-csharp gnutls
lsp-crystal lsp-cmake lsp-clojure lsp-semantic-tokens lsp-clangd
lsp-beancount lsp-bash lsp-astro lsp-ansible lsp-angular lsp-ada
lsp-actionscript ido-completing-read+ memoize minibuf-eldef
elisp-slime-nav paredit editorconfig editorconfig-core
editorconfig-core-handle editorconfig-fnmatch realgud realgud-zshdb
realgud:zshdb-track-mode realgud:zshdb-core realgud:zshdb-init
realgud-trepan3k realgud:trepan3k-track-mode realgud:trepan3k-core
realgud:trepan3k-init realgud-trepan2 realgud:trepan2-track-mode
realgud:trepan2-core realgud:trepan2-init realgud-trepanpl
realgud:trepanpl-track-mode realgud:trepanpl-core realgud:trepanpl-init
realgud-trepanjs realgud:trepanjs-track-mode realgud:trepanjs-core
realgud:trepanjs-init realgud-lang-js realgud-trepan
realgud:trepan-track-mode realgud:trepan-core realgud:trepan-init
realgud-remake realgud:remake-track-mode realgud:remake-core
realgud:remake-init realgud-rdebug realgud-rdebug-track-mode
realgud-rdebug-core realgud-rdebug-init realgud-lang-ruby realgud-perldb
realgud:perldb-track-mode realgud:perldb-core realgud:perldb-init
realgud-lang-perl realgud-pdb realgud:pdb-track-mode realgud:pdb-core
realgud:pdb-init realgud-lang-python python treesit realgud-kshdb
realgud:kshdb-track-mode realgud:kshdb-core realgud:kshdb-init
realgud-gub realgud:gub-track-mode realgud:gub-core realgud:gub-init
realgud-gdb realgud:gdb-track-mode realgud:gdb-init realgud:gdb-core
realgud-bashdb realgud:bashdb-track-mode realgud:bashdb-core
realgud:bashdb-init realgud-lang-posix-shell realgud:run
realgud-locals-mode realgud-breakpoint-mode realgud-backtrack-mode
realgud-track-mode realgud-backtrace-mode realgud-attach
realgud-lang-java realgud-track realgud-shortkey realgud-menu
realgud-eval realgud-cmds realgud-send realgud-window realgud-utils
eshell realgud-init realgud-file realgud-core realgud-reset
realgud-buffer-helper realgud-buffer-breakpoint realgud-buffer-backtrace
realgud-locals realgud-buffer-locals realgud-buffer-command
realgud-buffer-info realgud-lochist realgud-bp realgud-bp-image-data
realgud-lang esh-mode esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg
esh-module esh-groups esh-util cus-start realgud-loc
realgud-buffer-source realgud-key key realgud-follow realgud-fringe
realgud-helper loc-changes realgud-regexp realgud-custom load-relative
flycheck highlight-symbol which-func edebug debug backtrace nlinum linum
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-web-html company-web company-css
web-completion-data company eww url-queue shr pixel-fill kinsoku
url-file svg mm-url gnus nnheader gnus-util mail-utils range mm-util
mail-prsvr ede/speedbar ede/files ede ede/detect ede/base ede/auto
ede/source eieio-base eieio-speedbar speedbar ezimage dframe
eieio-custom cedet dap-mouse dap-ui lsp-treemacs lsp-treemacs-generic
lsp-treemacs-themes treemacs-treelib treemacs treemacs-header-line
treemacs-compatibility treemacs-mode treemacs-interface
treemacs-persistence treemacs-filewatch-mode treemacs-follow-mode
treemacs-rendering treemacs-annotations treemacs-async
treemacs-workspaces treemacs-dom treemacs-visuals
treemacs-fringe-indicator treemacs-scope pulse treemacs-faces
treemacs-icons treemacs-themes treemacs-core-utils pfuture
treemacs-logging treemacs-customization treemacs-macros gdb-mi bindat
gud bui bui-list bui-info bui-entry bui-core bui-history bui-button
bui-utils lsp-lens dap-gdb-lldb dap-netcore dap-node dap-utils dom xml
dap-pwsh lsp-pwsh dap-python dap-mode dap-tasks dap-launch lsp-docker
yaml posframe dap-overlays undo-tree diff queue doom-modeline
doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path
compat compat-macs projectile lisp-mnt grep ibuf-ext ibuffer
ibuffer-loaddefs helm-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 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
ido-yes-or-no advice ido 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 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 edmacro
kmacro helm-core easy-mmode async-bytecomp helm-source helm-multi-match
helm-lib async helm-config delsel cl-extra autorevert server hl-line
lsp-mode lsp-protocol yasnippet help-mode xref project tree-widget
wid-edit spinner pcase network-stream puny nsm markdown-mode color
thingatpt noutline outline icons lv inline imenu ht filenotify f
f-shortdoc shortdoc s ewoc epg rfc6068 epg-config dash dracula-theme
compile-eslint compile text-property-search comint ansi-osc ansi-color
ring cl finder-inf tree-sitter-indent-autoloads expand-region-autoloads
ido-yes-or-no-autoloads nodejs-repl-autoloads marmalade-client-autoloads
doom-modeline-autoloads elisp-slime-nav-autoloads
multiple-cursors-autoloads dracula-theme-autoloads
git-timemachine-autoloads crontab-mode-autoloads
highlight-symbol-autoloads ssh-config-mode-autoloads langtool-autoloads
dap-mode-autoloads lsp-treemacs-autoloads treemacs-autoloads
cfrs-autoloads posframe-autoloads gh-autoloads marshal-autoloads
logito-autoloads pcache-autoloads kv-autoloads toml-mode-autoloads
company-web-autoloads shrink-path-autoloads realgud-autoloads
realgud-recursive-autoloads load-relative-autoloads paredit-autoloads
bui-autoloads tree-sitter-langs-autoloads helpful-autoloads
elisp-refs-autoloads magit-autoloads magit-section-autoloads
git-commit-autoloads with-editor-autoloads flycheck-package-autoloads
package-lint-autoloads rust-mode-autoloads yaml-mode-autoloads
macrostep-autoloads lsp-docker-autoloads yaml-autoloads
lsp-mode-autoloads spinner-autoloads f-autoloads hydra-autoloads
nlinum-autoloads ht-autoloads loc-changes-autoloads transient-autoloads
compat-autoloads web-mode-autoloads undo-tree-autoloads queue-autoloads
ace-window-autoloads avy-autoloads bmx-mode-autoloads company-autoloads
test-simple-autoloads js2-mode-autoloads web-autoloads s-autoloads
ido-completing-read+-autoloads memoize-autoloads lv-autoloads
imenu-anywhere-autoloads helm-projectile-autoloads projectile-autoloads
helm-autoloads popup-autoloads helm-core-autoloads async-autoloads
tree-sitter-autoloads tsc-autoloads editorconfig-autoloads
json-mode-autoloads rx json-snatcher-autoloads yasnippet-autoloads
web-completion-data-autoloads cargo-autoloads markdown-mode-autoloads
pfuture-autoloads flycheck-autoloads pkg-info-autoloads epl-autoloads
info dash-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 679481 87371)
(symbols 48 59262 47)
(strings 32 211608 16397)
(string-bytes 1 6867045)
(vectors 16 125808)
(vector-slots 8 2378444 112756)
(floats 8 591 891)
(intervals 56 9416 3545)
(buffers 992 46))
--
*Jostein Kjønigsen*
jostein.kjønigsen.no
jostein@kjonigsen.net - jostein@gmail.com
--------------u69m8a5ByomLf0Sa7ZSfsCKL
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit
In a buffer with typescript-ts-mode activated, write the
following code:
const test = "quoted\"string\" contents";
The entire text, include the \" is highlighted as strings, and
escape sequences are not handled:
This code has the following tree-sitter syntax tree:
(lexical_declaration kind: const
(variable_declarator name: (identifier) value: =
(string " (string_fragment) (escape_sequence)
(string_fragment) (escape_sequence) (string_fragment) "))
;)
In typescript-ts-mode we seemingly have rules to handle
fontification of escape sequences:
:language language
:feature 'escape-sequence
:override t
'((escape_sequence) @font-lock-escape-face))
This feature is however not activated in the major-mode setup:
(setq-local
treesit-font-lock-feature-list
'((comment declaration)
(keyword string)
(constant expression identifier number pattern
property)
(bracket delimiter)))
Naively I assumed that simply adding this feature would activate
this rule, but still \" is fontified as string.
Invalid escape sequences are not highlighted as warnings either
(like they are in json-ts-mode).
Would anyone like to take a stab at this? :)
--
Jostein
In GNU Emacs 29.0.60 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.33, cairo version 1.16.0) of 2022-12-08 built on dev-jostein
Repository revision: 8fb2afe051168b2eac2bba0ee102039d0af90a05
Repository branch: emacs-29
Windowing system distributor 'The X.Org Foundation', version
11.0.12201001
System Description: Ubuntu 22.04.1 LTS
Configured using:
'configure --with-tree-sitter'
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ
JPEG
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: TypeScript
Minor modes in effect:
global-git-commit-mode: t
magit-auto-revert-mode: t
lsp-diagnostics-mode: t
lsp-headerline-breadcrumb-mode: t
lsp-modeline-workspace-status-mode: t
lsp-modeline-diagnostics-mode: t
lsp-modeline-code-actions-mode: t
electric-pair-mode: t
lsp-completion-mode: t
editorconfig-mode: t
flycheck-mode: t
which-function-mode: t
nlinum-mode: t
company-mode: t
global-ede-mode: t
dap-tooltip-mode: t
dap-ui-many-windows-mode: t
dap-ui-controls-mode: t
dap-ui-mode: t
treemacs-filewatch-mode: t
treemacs-follow-mode: t
treemacs-git-mode: t
treemacs-fringe-indicator-mode: t
dap-auto-configure-mode: t
dap-mode: t
global-undo-tree-mode: t
undo-tree-mode: t
doom-modeline-mode: t
projectile-mode: t
ido-yes-or-no-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
server-mode: t
global-hl-line-mode: t
lsp-managed-mode: t
lsp-mode: t
yas-global-mode: t
yas-minor-mode: t
tooltip-mode: t
global-eldoc-mode: t
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
column-number-mode: t
line-number-mode: t
auto-fill-function: yas--auto-fill
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:
(dired-aux ede/dired magit-extras magit-bookmark 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
git-commit log-edit 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 semantic/lex-spp
ede/emacs semantic/db semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local bug-reference
help-fns
radix-tree shadow sort flyspell ispell emacsbug message yank-media
rfc822 mml mml-sec epa derived mm-decode mm-bodies mm-encode
mail-parse
rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045
ietf-drums mail-extr helm-command helm-elisp helm-eval
typescript-ts-mode lsp-diagnostics lsp-headerline lsp-icons
lsp-modeline
view elec-pair js cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles
cc-align cc-engine cc-vars cc-defs executable misearch
multi-isearch
vc-git diff-mode vc-dispatcher winner ffap disp-table
tramp-archive
tramp-gvfs tramp-cache warnings time-stamp zeroconf dbus
helm-bookmark
helm-net helm-adaptive helm-info treemacs-bookmarks treemacs-tags
bookmark face-remap add-log lsp-zig lsp-steep lsp-svelte lsp-sqls
lsp-ruby-syntax-tree lsp-yaml lsp-xml lsp-vimscript lsp-vhdl
lsp-volar
lsp-vetur lsp-html lsp-verilog lsp-vala lsp-v lsp-typeprof
lsp-ttcn3
lsp-toml lsp-terraform lsp-tex lsp-sorbet lsp-solargraph lsp-rust
lsp-rf
lsp-remark lsp-racket lsp-r lsp-purescript lsp-pylsp lsp-pyls
lsp-php
lsp-pls lsp-perlnavigator lsp-perl lsp-openscad lsp-ocaml
lsp-magik
lsp-nix lsp-nim lsp-nginx lsp-mint lsp-marksman lsp-markdown
lsp-lua
lsp-kotlin lsp-json lsp-javascript lsp-idris lsp-haxe lsp-groovy
lsp-hack lsp-graphql lsp-gleam lsp-go lsp-completion lsp-gdscript
lsp-fsharp lsp-fortran lsp-eslint lsp-erlang lsp-emmet lsp-elixir
lsp-elm lsp-dockerfile lsp-dhall lsp-d lsp-css lsp-csharp gnutls
lsp-crystal lsp-cmake lsp-clojure lsp-semantic-tokens lsp-clangd
lsp-beancount lsp-bash lsp-astro lsp-ansible lsp-angular lsp-ada
lsp-actionscript ido-completing-read+ memoize minibuf-eldef
elisp-slime-nav paredit editorconfig editorconfig-core
editorconfig-core-handle editorconfig-fnmatch realgud
realgud-zshdb
realgud:zshdb-track-mode realgud:zshdb-core realgud:zshdb-init
realgud-trepan3k realgud:trepan3k-track-mode realgud:trepan3k-core
realgud:trepan3k-init realgud-trepan2 realgud:trepan2-track-mode
realgud:trepan2-core realgud:trepan2-init realgud-trepanpl
realgud:trepanpl-track-mode realgud:trepanpl-core
realgud:trepanpl-init
realgud-trepanjs realgud:trepanjs-track-mode realgud:trepanjs-core
realgud:trepanjs-init realgud-lang-js realgud-trepan
realgud:trepan-track-mode realgud:trepan-core realgud:trepan-init
realgud-remake realgud:remake-track-mode realgud:remake-core
realgud:remake-init realgud-rdebug realgud-rdebug-track-mode
realgud-rdebug-core realgud-rdebug-init realgud-lang-ruby
realgud-perldb
realgud:perldb-track-mode realgud:perldb-core realgud:perldb-init
realgud-lang-perl realgud-pdb realgud:pdb-track-mode
realgud:pdb-core
realgud:pdb-init realgud-lang-python python treesit realgud-kshdb
realgud:kshdb-track-mode realgud:kshdb-core realgud:kshdb-init
realgud-gub realgud:gub-track-mode realgud:gub-core
realgud:gub-init
realgud-gdb realgud:gdb-track-mode realgud:gdb-init
realgud:gdb-core
realgud-bashdb realgud:bashdb-track-mode realgud:bashdb-core
realgud:bashdb-init realgud-lang-posix-shell realgud:run
realgud-locals-mode realgud-breakpoint-mode realgud-backtrack-mode
realgud-track-mode realgud-backtrace-mode realgud-attach
realgud-lang-java realgud-track realgud-shortkey realgud-menu
realgud-eval realgud-cmds realgud-send realgud-window
realgud-utils
eshell realgud-init realgud-file realgud-core realgud-reset
realgud-buffer-helper realgud-buffer-breakpoint
realgud-buffer-backtrace
realgud-locals realgud-buffer-locals realgud-buffer-command
realgud-buffer-info realgud-lochist realgud-bp
realgud-bp-image-data
realgud-lang esh-mode esh-cmd esh-ext esh-opt esh-proc esh-io
esh-arg
esh-module esh-groups esh-util cus-start realgud-loc
realgud-buffer-source realgud-key key realgud-follow
realgud-fringe
realgud-helper loc-changes realgud-regexp realgud-custom
load-relative
flycheck highlight-symbol which-func edebug debug backtrace nlinum
linum
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-web-html company-web
company-css
web-completion-data company eww url-queue shr pixel-fill kinsoku
url-file svg mm-url gnus nnheader gnus-util mail-utils range
mm-util
mail-prsvr ede/speedbar ede/files ede ede/detect ede/base ede/auto
ede/source eieio-base eieio-speedbar speedbar ezimage dframe
eieio-custom cedet dap-mouse dap-ui lsp-treemacs
lsp-treemacs-generic
lsp-treemacs-themes treemacs-treelib treemacs treemacs-header-line
treemacs-compatibility treemacs-mode treemacs-interface
treemacs-persistence treemacs-filewatch-mode treemacs-follow-mode
treemacs-rendering treemacs-annotations treemacs-async
treemacs-workspaces treemacs-dom treemacs-visuals
treemacs-fringe-indicator treemacs-scope pulse treemacs-faces
treemacs-icons treemacs-themes treemacs-core-utils pfuture
treemacs-logging treemacs-customization treemacs-macros gdb-mi
bindat
gud bui bui-list bui-info bui-entry bui-core bui-history
bui-button
bui-utils lsp-lens dap-gdb-lldb dap-netcore dap-node dap-utils dom
xml
dap-pwsh lsp-pwsh dap-python dap-mode dap-tasks dap-launch
lsp-docker
yaml posframe dap-overlays undo-tree diff queue doom-modeline
doom-modeline-segments doom-modeline-env doom-modeline-core
shrink-path
compat compat-macs projectile lisp-mnt grep ibuf-ext ibuffer
ibuffer-loaddefs helm-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 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
ido-yes-or-no advice ido 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 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
edmacro
kmacro helm-core easy-mmode async-bytecomp helm-source
helm-multi-match
helm-lib async helm-config delsel cl-extra autorevert server
hl-line
lsp-mode lsp-protocol yasnippet help-mode xref project tree-widget
wid-edit spinner pcase network-stream puny nsm markdown-mode color
thingatpt noutline outline icons lv inline imenu ht filenotify f
f-shortdoc shortdoc s ewoc epg rfc6068 epg-config dash
dracula-theme
compile-eslint compile text-property-search comint ansi-osc
ansi-color
ring cl finder-inf tree-sitter-indent-autoloads
expand-region-autoloads
ido-yes-or-no-autoloads nodejs-repl-autoloads
marmalade-client-autoloads
doom-modeline-autoloads elisp-slime-nav-autoloads
multiple-cursors-autoloads dracula-theme-autoloads
git-timemachine-autoloads crontab-mode-autoloads
highlight-symbol-autoloads ssh-config-mode-autoloads
langtool-autoloads
dap-mode-autoloads lsp-treemacs-autoloads treemacs-autoloads
cfrs-autoloads posframe-autoloads gh-autoloads marshal-autoloads
logito-autoloads pcache-autoloads kv-autoloads toml-mode-autoloads
company-web-autoloads shrink-path-autoloads realgud-autoloads
realgud-recursive-autoloads load-relative-autoloads
paredit-autoloads
bui-autoloads tree-sitter-langs-autoloads helpful-autoloads
elisp-refs-autoloads magit-autoloads magit-section-autoloads
git-commit-autoloads with-editor-autoloads
flycheck-package-autoloads
package-lint-autoloads rust-mode-autoloads yaml-mode-autoloads
macrostep-autoloads lsp-docker-autoloads yaml-autoloads
lsp-mode-autoloads spinner-autoloads f-autoloads hydra-autoloads
nlinum-autoloads ht-autoloads loc-changes-autoloads
transient-autoloads
compat-autoloads web-mode-autoloads undo-tree-autoloads
queue-autoloads
ace-window-autoloads avy-autoloads bmx-mode-autoloads
company-autoloads
test-simple-autoloads js2-mode-autoloads web-autoloads s-autoloads
ido-completing-read+-autoloads memoize-autoloads lv-autoloads
imenu-anywhere-autoloads helm-projectile-autoloads
projectile-autoloads
helm-autoloads popup-autoloads helm-core-autoloads async-autoloads
tree-sitter-autoloads tsc-autoloads editorconfig-autoloads
json-mode-autoloads rx json-snatcher-autoloads yasnippet-autoloads
web-completion-data-autoloads cargo-autoloads
markdown-mode-autoloads
pfuture-autoloads flycheck-autoloads pkg-info-autoloads
epl-autoloads
info dash-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 679481 87371)
(symbols 48 59262 47)
(strings 32 211608 16397)
(string-bytes 1 6867045)
(vectors 16 125808)
(vector-slots 8 2378444 112756)
(floats 8 591 891)
(intervals 56 9416 3545)
(buffers 992 46))
--------------u69m8a5ByomLf0Sa7ZSfsCKL--
From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 08 10:19:56 2022
Received: (at 59906) by debbugs.gnu.org; 8 Dec 2022 15:19:56 +0000
Received: from localhost ([127.0.0.1]:57376 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1p3Igm-00041n-BP
for submit@debbugs.gnu.org; Thu, 08 Dec 2022 10:19:56 -0500
Received: from out2.migadu.com ([188.165.223.204]:58331)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from ) id 1p3Igj-00041g-Ox
for 59906@debbugs.gnu.org; Thu, 08 Dec 2022 10:19:54 -0500
X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and
include these headers.
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thornhill.no;
s=key1; t=1670512792;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=XrJzcfchbRdQirvGGf2c4u8sZBRTDNxezJvwrWWu+Jc=;
b=UwDeN0mAY3cGHBvKFoyrb/fGaeMwKwtqaXDzXSZXhsi3w9v2+6xbAGnLSBNToPrBcLSs3T
KOCaABpvPSaIWWjO+9U3QIIbBXufgwoCVgqAgjEtTvkULdgFP+tnorJSnIjcDmE0B5WbuT
fmGYcGsolxoAZKAYaNhEM5HOGL6JB4LM192ve0GJqOSFwK9apQ6DPhq9TC5eBBSPhZTx1S
1yZRXRaNRNEgbOSxjg6nJvr0Jn1lnu3KWIkL9MJ9GCPMc0cBAdoFERZklMh9bHbdkppmbQ
Tno0FLX7k27b3hBLwA68GZIk3hWngTy8yAp4DdJXihOADf9CiAfZ0DRG1iJ4ig==
From: Theodor Thornhill
To: Jostein =?utf-8?Q?Kj=C3=B8nigsen?=
Subject: Re: bug#59906: 29.0.60; typescript-ts-mode is not highlighting
escape sequences
In-Reply-To:
("Jostein =?utf-8?Q?Kj=C3=B8nigsen=22's?= message of "Thu, 8 Dec 2022
16:04:05 +0100")
References:
Date: Thu, 08 Dec 2022 16:19:51 +0100
Message-ID: <87cz8tdiso.fsf@thornhill.no>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Migadu-Flow: FLOW_OUT
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 59906
Cc: 59906@debbugs.gnu.org, casouri@gmail.com
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -1.0 (-)
--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Jostein Kj=C3=B8nigsen writes:
> In a buffer with typescript-ts-mode activated, write the following code:
>
> const test =3D "quoted\"string\" contents";
>
> The entire text, include the \" is highlighted as strings, and escape seq=
uences are not handled:
>
> This code has the following tree-sitter syntax tree:
>
> (lexical_declaration kind: const
> (variable_declarator name: (identifier) value: =3D
> (string " (string_fragment) (escape_sequence) (string_fragment) (escap=
e_sequence) (string_fragment) "))
> ;)
>
> In typescript-ts-mode we seemingly have rules to handle fontification of =
escape sequences:=20
>
> :language language
> :feature 'escape-sequence
> :override t
> '((escape_sequence) @font-lock-escape-face))
>
> This feature is however not activated in the major-mode setup:=20
>
> (setq-local treesit-font-lock-feature-list
> '((comment declaration)
> (keyword string)
> (constant expression identifier number pattern propert=
y)
> (bracket delimiter)))
>
> Naively I assumed that simply adding this feature would activate this rul=
e, but still \" is fontified as string.
Yeah, there was an error there. See below patch.
Yuan, can you install this?
Theo
--=-=-=
Content-Type: text/x-diff
Content-Disposition: attachment;
filename=0001-Fix-escape-sequence-feature-in-typescript-ts-mode-bu.patch
>From 1b0f2a181c38902804e323b064ab85cf84d88ff5 Mon Sep 17 00:00:00 2001
From: Theodor Thornhill
Date: Thu, 8 Dec 2022 16:17:49 +0100
Subject: [PATCH] Fix escape-sequence feature in typescript-ts-mode (bug#59906)
* lisp/progmodes/typescript-ts-mode.el: (typescript-ts-mode,
tsx-ts-mode): Use escape-sequence feature.
---
lisp/progmodes/typescript-ts-mode.el | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/lisp/progmodes/typescript-ts-mode.el b/lisp/progmodes/typescript-ts-mode.el
index a56568ae78..d5ca813e34 100644
--- a/lisp/progmodes/typescript-ts-mode.el
+++ b/lisp/progmodes/typescript-ts-mode.el
@@ -362,8 +362,7 @@ typescript-ts-mode
(setq-local treesit-font-lock-settings
(typescript-ts-mode--font-lock-settings 'typescript))
(setq-local treesit-font-lock-feature-list
- '((comment declaration)
- (keyword string)
+ '((comment declaration keyword string escape-sequence)
(constant expression identifier number pattern property)
(bracket delimiter)))
@@ -397,8 +396,7 @@ tsx-ts-mode
(setq-local treesit-font-lock-settings
(typescript-ts-mode--font-lock-settings 'tsx))
(setq-local treesit-font-lock-feature-list
- '((comment declaration)
- (keyword string)
+ '((comment declaration keyword string escape-sequence)
(constant expression identifier jsx number pattern property)
(bracket delimiter)))
--
2.34.1
--=-=-=--
From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 08 12:24:07 2022
Received: (at 59906) by debbugs.gnu.org; 8 Dec 2022 17:24:08 +0000
Received: from localhost ([127.0.0.1]:58025 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1p3Kcx-0001Pd-Fl
for submit@debbugs.gnu.org; Thu, 08 Dec 2022 12:24:07 -0500
Received: from wout1-smtp.messagingengine.com ([64.147.123.24]:55705)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from ) id 1p3Kcw-0001PE-BJ
for 59906@debbugs.gnu.org; Thu, 08 Dec 2022 12:24:07 -0500
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
by mailout.west.internal (Postfix) with ESMTP id D7636320046F;
Thu, 8 Dec 2022 12:23:55 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
by compute6.internal (MEProxy); Thu, 08 Dec 2022 12:23:56 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
secure.kjonigsen.net; h=cc:cc:content-transfer-encoding
:content-type:date:date:from:from:in-reply-to:in-reply-to
:message-id:mime-version:references:reply-to:reply-to:sender
:subject:subject:to:to; s=fm1; t=1670520235; x=1670606635; bh=f0
qUNPQc6F/7QHF3T/rQSxb8yG3VsfouA+aBynouitw=; b=D+8b+6El8oSq6/b9d5
5OodaeJe8PCCg3V2BHDaD6cDUZGAP9O3nA/BhWmA8kqDtDFNYwNMykJZGrCPQhig
iI67dkzBEcVN/EceU6TBk8mA+LnqNmhcN2zm0IKVI4DYrr9TumBVhiAFRJyHVqlb
cIz07fF8hZjh3T7UzzJ+X9OQuMEQDYkTFLd5yYr9MazDUAErhwlDtY8RYuw/y7i2
XtmVgikExhTXLfLq9QmuXwPMaL2/sXoOWmziDeeO6IPHbxhpJuh8jz6cl7idS0y3
yyuLhtHnMf5/kF9Ms/YBWZzkncNV026CjntXIMFCESNoQfykxGcLeupXi989o8r3
YLcA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
messagingengine.com; h=cc:cc:content-transfer-encoding
:content-type:date:date:feedback-id:feedback-id:from:from
:in-reply-to:in-reply-to:message-id:mime-version:references
:reply-to:reply-to:sender:subject:subject:to:to:x-me-proxy
:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=
1670520235; x=1670606635; bh=f0qUNPQc6F/7QHF3T/rQSxb8yG3VsfouA+a
Bynouitw=; b=KSKRyNpfZi2wwjSH+v+/PpxIxzfd4n3lIUyDfQ26om2wgqU9q3Y
EfAGitpqd1iEoISEzHKsYWniLIlKqkZA9QeC+7UTldOAK6djPqCOax39n9dbZSPq
0Yd16ioTbqdyRegXR8Izt2oR1MTQqeuRJ1gbHvG88RcsZzE+UMiSJrvlANq8azCf
Vfw5PgCz+F2YmUtIgWEK2IHV6hLWS20RLAqHwl/R9KS8cBR+oOsNVIHmRExNv5fa
RzCTvjMPPtyAB/+hfccoq5jTmDi/sJSLLrEBL1W7EObTWquQI0yimiP+EkI33QKJ
pbKFb5MrgsG6xFxfalJXusT7KqquVorsYgg==
X-ME-Sender:
X-ME-Received:
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvddtgddutdduucetufdoteggodetrfdotf
fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
cujfgurhepkfffgggfrhfuvfevfhfhjggtgfesthekredttdefjeenucfhrhhomheplfho
shhtvghinhcumfhjpphnihhgshgvnhcuoehjohhsthgvihhnsehsvggtuhhrvgdrkhhjoh
hnihhgshgvnhdrnhgvtheqnecuggftrfgrthhtvghrnheptdeftdektdffueekvddvvdek
ueevuddviedtffffgffggeeltdekhefgtdejkeevnecuvehluhhsthgvrhfuihiivgeptd
enucfrrghrrghmpehmrghilhhfrhhomhepjhhoshhtvghinhesshgvtghurhgvrdhkjhho
nhhighhsvghnrdhnvght
X-ME-Proxy:
Feedback-ID: ib2f84088:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
8 Dec 2022 12:23:54 -0500 (EST)
Message-ID:
Date: Thu, 8 Dec 2022 18:23:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.5.1
Subject: Re: bug#59906: 29.0.60; typescript-ts-mode is not highlighting escape
sequences
Content-Language: nb-NO
To: Theodor Thornhill
References:
<87cz8tdiso.fsf@thornhill.no>
From: =?UTF-8?Q?Jostein_Kj=c3=b8nigsen?=
In-Reply-To: <87cz8tdiso.fsf@thornhill.no>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 59906
Cc: 59906@debbugs.gnu.org, casouri@gmail.com
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Reply-To: jostein@kjonigsen.net
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -1.7 (-)
On 08.12.2022 16:19, Theodor Thornhill wrote:
> Jostein Kjønigsen writes:
>
>> In a buffer with typescript-ts-mode activated, write the following code:
>>
>> const test = "quoted\"string\" contents";
>>
>> The entire text, include the \" is highlighted as strings, and escape sequences are not handled:
>>
>> This code has the following tree-sitter syntax tree:
>>
>> (lexical_declaration kind: const
>> (variable_declarator name: (identifier) value: =
>> (string " (string_fragment) (escape_sequence) (string_fragment) (escape_sequence) (string_fragment) "))
>> ;)
>>
>> In typescript-ts-mode we seemingly have rules to handle fontification of escape sequences:
>>
>> :language language
>> :feature 'escape-sequence
>> :override t
>> '((escape_sequence) @font-lock-escape-face))
>>
>> This feature is however not activated in the major-mode setup:
>>
>> (setq-local treesit-font-lock-feature-list
>> '((comment declaration)
>> (keyword string)
>> (constant expression identifier number pattern property)
>> (bracket delimiter)))
>>
>> Naively I assumed that simply adding this feature would activate this rule, but still \" is fontified as string.
> Yeah, there was an error there. See below patch.
>
> Yuan, can you install this?
>
> Theo
>
Yeah that works for me.
Yuan: another vote for installing right here :)
--
Jostein
From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 09 15:42:09 2022
Received: (at 59906-done) by debbugs.gnu.org; 9 Dec 2022 20:42:10 +0000
Received: from localhost ([127.0.0.1]:38375 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1p3kC9-00033m-Hs
for submit@debbugs.gnu.org; Fri, 09 Dec 2022 15:42:09 -0500
Received: from mail-pf1-f170.google.com ([209.85.210.170]:35832)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from ) id 1p3kC7-00033f-Nn
for 59906-done@debbugs.gnu.org; Fri, 09 Dec 2022 15:42:08 -0500
Received: by mail-pf1-f170.google.com with SMTP id g1so4531413pfk.2
for <59906-done@debbugs.gnu.org>; Fri, 09 Dec 2022 12:42:07 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
h=to:cc:date:message-id:subject:mime-version
:content-transfer-encoding:from:from:to:cc:subject:date:message-id
:reply-to; bh=bMKWS/jGf7w+w+0WsS++VJeop6EOLoMjX6Ijepspyg4=;
b=A0OqNkWh2y4PD6rxo30M4f7OXAfZyvOwjUWW0HXKDsf8ETJ6KznZmi2Mpb1E1gx4c/
e2INYCaXKEy12k3gPX6k+31z0pp4Gp0Iq+ISr0xBF/WxVHswzge4/LztWcAOjOQoSnGX
kqOFbjal927p+9CVZdoZihSiB7ipI1bVo0gDv8aNsOu/wzG5pIr3Jk+PIPEa9zC85EWy
t79K49MjukkIZK4lQb2LfQ9fPdUoaiGTTZlO6LNJwSjkWqq31Oq7Z5487t9Ea5kvYWNH
RozeIQEBTeKvD2YX9daES+LrFHslwZBwvqHGc0mZlezHwhQifHtqFbPjK1eHzqI/J2K2
ppYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=to:cc:date:message-id:subject:mime-version
:content-transfer-encoding:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=bMKWS/jGf7w+w+0WsS++VJeop6EOLoMjX6Ijepspyg4=;
b=HnexSPGbAS5+Wf3uXsTU4/9bnRZhNrhTAN2fgh6yEjtlY55B1EJI5T0j+3bI5rOLwt
No+76Ej1xmz+DS7bsRHecLdD8vdztlgowrYfZtbsjn7FOtPaujMgWHXOU7wqvrWPUiKX
isBAYtZeFAHJ7JEnCo7PVFxF0ODCGjI5zP8VdVCf7+0O3b8kPr0JkjDLtQf35fngR3CA
e7Q4vFfJe7hwdvO7AE0FSn01jAXQ3xoAKFsVEdAbSMISbhkC8SjJZRaJ8niQztgqR+i3
EcM9jbFWwjsYTnsxnrqSA38B6SCbwk9VwCRY+kQS/+4PUSI6nhXYzGfiWPXWUMJ/gQRB
qF/A==
X-Gm-Message-State: ANoB5pke7nJfM7W/9KseGrfYeKQLzsnw85RtVmocoHXYaXuPp5bhst0S
cLzqumFvrjjYispk/xUV+Gc=
X-Google-Smtp-Source: AA0mqf6QFaWxFuyWbOwUpM3TpzZlQtKxGkb0Ow5R/RZXlUh44qCZW9ieRMQPbp0TkvKLSX8Axdp2Hw==
X-Received: by 2002:a62:33c4:0:b0:56c:7216:fbc6 with SMTP id
z187-20020a6233c4000000b0056c7216fbc6mr6480647pfz.30.1670618521918;
Fri, 09 Dec 2022 12:42:01 -0800 (PST)
Received: from smtpclient.apple (cpe-172-117-161-177.socal.res.rr.com.
[172.117.161.177]) by smtp.gmail.com with ESMTPSA id
63-20020a621442000000b005764c8f8f15sm1615240pfu.73.2022.12.09.12.42.00
(version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
Fri, 09 Dec 2022 12:42:01 -0800 (PST)
From: Yuan Fu
Content-Type: text/plain;
charset=utf-8
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\))
Subject: Re: bug#59906: 29.0.60; typescript-ts-mode is not highlighting
escape sequences
Message-Id: <4A5322D7-45B0-4AAC-BFD3-C2DA9ABBF904@gmail.com>
Date: Fri, 9 Dec 2022 12:41:59 -0800
To: =?utf-8?Q?Jostein_Kj=C3=B8nigsen?=
X-Mailer: Apple Mail (2.3696.120.41.1.1)
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 59906-done
Cc: jostein@kjonigsen.net, 59906-done@debbugs.gnu.org,
Theodor Thornhill
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -1.0 (-)
Jostein Kj=C3=B8nigsen writes:
> On 08.12.2022 16:19, Theodor Thornhill wrote:
>> Jostein Kj=C3=B8nigsen writes:
>>
>>> In a buffer with typescript-ts-mode activated, write the following =
code:
>>>
>>> const test =3D "quoted\"string\" contents";
>>>
>>> The entire text, include the \" is highlighted as strings, and =
escape sequences are not handled:
>>>
>>> This code has the following tree-sitter syntax tree:
>>>
>>> (lexical_declaration kind: const
>>> (variable_declarator name: (identifier) value: =3D
>>> (string " (string_fragment) (escape_sequence) (string_fragment) =
(escape_sequence) (string_fragment) "))
>>> ;)
>>>
>>> In typescript-ts-mode we seemingly have rules to handle =
fontification of escape sequences:
>>>
>>> :language language
>>> :feature 'escape-sequence
>>> :override t
>>> '((escape_sequence) @font-lock-escape-face))
>>>
>>> This feature is however not activated in the major-mode setup:
>>>
>>> (setq-local treesit-font-lock-feature-list
>>> '((comment declaration)
>>> (keyword string)
>>> (constant expression identifier number pattern =
property)
>>> (bracket delimiter)))
>>>
>>> Naively I assumed that simply adding this feature would activate =
this rule, but still \" is fontified as string.
>> Yeah, there was an error there. See below patch.
>>
>> Yuan, can you install this?
>>
>> Theo
>>
> Yeah that works for me.
>
> Yuan: another vote for installing right here :)
Yep, applied, many thanks!
Yuan
From unknown Fri Jun 20 07:17:37 2025
Received: (at fakecontrol) by fakecontrolmessage;
To: internal_control@debbugs.gnu.org
From: Debbugs Internal Request
Subject: Internal Control
Message-Id: bug archived.
Date: Sat, 07 Jan 2023 12:24:05 +0000
User-Agent: Fakemail v42.6.9
# This is a fake control message.
#
# The action:
# bug archived.
thanks
# This fakemail brought to you by your local debbugs
# administrator