* bug#59833: 29.0.60; json-ts-mode fontifies everything as string
@ 2022-12-05 10:40 Jostein Kjønigsen
2022-12-05 11:24 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 20+ messages in thread
From: Jostein Kjønigsen @ 2022-12-05 10:40 UTC (permalink / raw)
To: 59833, casouri, theo, dev
[-- Attachment #1: Type: text/plain, Size: 11924 bytes --]
Hey everyone.
When opening a JSON-file in a build from emacs git emacs-29
release-branch, Emacs still defaults to json-mode.
Fontification in json-mode looks correct and proper.
When trying to insteas use json-ts-mode, literally everything is
fontified as strings.
When I change the code to disable the string-fontification rule, this
yields a buffer where everything is fontified using default-face. That
is, no other fontification is taking place.
Have this mode really been tested? Should it be working? Or is there an
error on my end?
Could someone else please give json-ts-mode a try?
--
Jostein
In GNU Emacs 29.0.60 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.34, cairo version 1.16.0) of 2022-12-02 built on ThinkPad-T14s
Repository revision: 1e36ad9458e8deacfc85da573bb0ca0f270d4802
Repository branch: emacs-29
Windowing system distributor 'The X.Org Foundation', version 11.0.12201003
System Description: Ubuntu 22.10
Configured using:
'configure --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: JSON
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
helm--remap-mouse-mode: t
async-bytecomp-package-mode: t
delete-selection-mode: t
global-auto-revert-mode: t
server-mode: t
shell-dirtrack-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
hs-minor-mode: t
Load-path shadows:
/home/jostein/.emacs.d/elpa/transient-20221127.2242/transient hides
/home/jostein/build/emacs/lisp/transient
/home/jostein/.emacs.d/elpa/eglot-20221020.1010/eglot hides
/home/jostein/build/emacs/lisp/progmodes/eglot
Features:
(shadow sort emacsbug help-fns radix-tree json-ts-mode dired-aux
ede/dired mule-util vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs
log-view json-mode json-snatcher yaml-mode magit-patch goto-addr
git-rebase magit-extras flyspell ispell 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 message sendmail yank-media rfc822 mml mml-sec epa 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 tabify misearch multi-isearch semantic/lex-spp ede/emacs
semantic/db semantic/find semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local bug-reference
helm-command helm-elisp helm-eval helm-info typescript-ts-mode js
mail-extr lsp-diagnostics lsp-headerline lsp-icons lsp-modeline view
vc-git diff-mode vc-dir vc vc-dispatcher disp-table elec-pair
csharp-mode treesit cc-langs cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars cc-defs winner ffap tramp-archive
tramp-gvfs tramp-cache warnings time-stamp zeroconf dbus 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 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 hideshow 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 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 derived dframe 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 all-the-icons all-the-icons-faces data-material
data-weathericons data-octicons data-fileicons data-faicons
data-alltheicons 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 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 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 powershell advice shell pcomplete
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 git-timemachine-autoloads rx
helm-projectile-autoloads expand-region-autoloads
all-the-icons-autoloads dracula-theme-autoloads eglot-autoloads
multiple-cursors-autoloads tree-sitter-langs-autoloads
projectile-autoloads nlinum-autoloads doom-modeline-autoloads
rust-mode-autoloads editorconfig-autoloads helm-autoloads
helm-core-autoloads async-autoloads assess-autoloads m-buffer-autoloads
cargo-autoloads package-lint-autoloads flycheck-autoloads
company-autoloads magit-autoloads magit-section-autoloads
web-mode-autoloads paredit-autoloads helpful-autoloads
elisp-refs-autoloads js2-mode-autoloads yaml-mode-autoloads
powershell-autoloads dap-mode-autoloads lsp-docker-autoloads
yaml-autoloads lsp-treemacs-autoloads treemacs-autoloads
posframe-autoloads hydra-autoloads pfuture-autoloads
ace-window-autoloads avy-autoloads lsp-mode-autoloads
markdown-mode-autoloads ht-autoloads git-commit-autoloads
with-editor-autoloads transient-autoloads compat-autoloads
pcache-autoloads f-autoloads popup-autoloads s-autoloads info
dash-autoloads macrostep-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 893822 107292)
(symbols 48 58306 34)
(strings 32 224415 12766)
(string-bytes 1 7012327)
(vectors 16 134309)
(vector-slots 8 2366207 177230)
(floats 8 1129 896)
(intervals 56 32198 3519)
(buffers 992 63))
--
Vennlig hilsen
*Jostein Kjønigsen*
jostein@kjonigsen.net 🍵 jostein@gmail.com
https://jostein.kjønigsen.no <https://jostein.kjønigsen.no>
[-- Attachment #2: Type: text/html, Size: 16130 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#59833: 29.0.60; json-ts-mode fontifies everything as string
2022-12-05 10:40 bug#59833: 29.0.60; json-ts-mode fontifies everything as string Jostein Kjønigsen
@ 2022-12-05 11:24 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-05 11:35 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-05 13:52 ` Randy Taylor
0 siblings, 2 replies; 20+ messages in thread
From: Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-12-05 11:24 UTC (permalink / raw)
To: 59833; +Cc: Randy Taylor, Yuan Fu, jostein
Jostein Kjønigsen <jostein@secure.kjonigsen.net> writes:
> Hey everyone.
>
> When opening a JSON-file in a build from emacs git emacs-29
> release-branch, Emacs still defaults to json-mode.
>
> Fontification in json-mode looks correct and proper.
>
> When trying to insteas use json-ts-mode, literally everything is
> fontified as strings.
>
> When I change the code to disable the string-fontification rule, this
> yields a buffer where everything is fontified using default-face. That
> is, no other fontification is taking place.
>
> Have this mode really been tested? Should it be working? Or is there an
> error on my end?
>
> Could someone else please give json-ts-mode a try?
>
Yeah, you are correct. It seems we've had a regression in this commit,
0ed313642227afdeccf48057eea458edca9d2962.
I believe this is the offending commit - what do you think, Randy?
Specifically the lhs should be fontified differently than the rhs, so
not everything is a string.
Do you want to do that, Randy, or should I?
Theo
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#59833: 29.0.60; json-ts-mode fontifies everything as string
2022-12-05 11:24 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-12-05 11:35 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-05 11:53 ` Jostein Kjønigsen
2022-12-05 13:52 ` Randy Taylor
1 sibling, 1 reply; 20+ messages in thread
From: Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-12-05 11:35 UTC (permalink / raw)
To: 59833; +Cc: Randy Taylor, Yuan Fu, jostein
[-- Attachment #1: Type: text/plain, Size: 1195 bytes --]
Theodor Thornhill <theo@thornhill.no> writes:
> Jostein Kjønigsen <jostein@secure.kjonigsen.net> writes:
>
>> Hey everyone.
>>
>> When opening a JSON-file in a build from emacs git emacs-29
>> release-branch, Emacs still defaults to json-mode.
>>
>> Fontification in json-mode looks correct and proper.
>>
>> When trying to insteas use json-ts-mode, literally everything is
>> fontified as strings.
>>
>> When I change the code to disable the string-fontification rule, this
>> yields a buffer where everything is fontified using default-face. That
>> is, no other fontification is taking place.
>>
>> Have this mode really been tested? Should it be working? Or is there an
>> error on my end?
>>
>> Could someone else please give json-ts-mode a try?
>>
>
> Yeah, you are correct. It seems we've had a regression in this commit,
> 0ed313642227afdeccf48057eea458edca9d2962.
>
> I believe this is the offending commit - what do you think, Randy?
>
> Specifically the lhs should be fontified differently than the rhs, so
> not everything is a string.
>
> Do you want to do that, Randy, or should I?
>
> Theo
Can you test this patch, Jostein?
Theo
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Add-back-in-font-locking-for-pair-in-json-ts-mode.patch --]
[-- Type: text/x-diff, Size: 1325 bytes --]
From 78068ae89d178e8aac126994c82df4a294440f44 Mon Sep 17 00:00:00 2001
From: Theodor Thornhill <theo@thornhill.no>
Date: Mon, 5 Dec 2022 12:34:08 +0100
Subject: [PATCH] Add back in font-locking for pair in json-ts-mode
* lisp/progmodes/json-ts-mode.el (json-ts-mode--font-lock-settings):
Add back in removed pair font-lock code.
(json-ts-mode): Use the new feature.
---
lisp/progmodes/json-ts-mode.el | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/lisp/progmodes/json-ts-mode.el b/lisp/progmodes/json-ts-mode.el
index 101e873cf6..7ec59704dc 100644
--- a/lisp/progmodes/json-ts-mode.el
+++ b/lisp/progmodes/json-ts-mode.el
@@ -93,6 +93,10 @@ json-ts-mode--font-lock-settings
:override t
'((escape_sequence) @font-lock-escape-face)
:language 'json
+ :feature 'pair
+ :override t
+ `((pair key: (_) @font-lock-variable-name-face))
+ :language 'json
:feature 'error
:override t
'((ERROR) @font-lock-warning-face))
@@ -156,7 +160,7 @@ json-ts-mode
;; Font-lock.
(setq-local treesit-font-lock-settings json-ts-mode--font-lock-settings)
(setq-local treesit-font-lock-feature-list
- '((constant number string)
+ '((constant number string pair)
(escape-sequence)
(bracket delimiter error)))
--
2.34.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* bug#59833: 29.0.60; json-ts-mode fontifies everything as string
2022-12-05 11:35 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-12-05 11:53 ` Jostein Kjønigsen
2022-12-05 12:06 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 20+ messages in thread
From: Jostein Kjønigsen @ 2022-12-05 11:53 UTC (permalink / raw)
To: Theodor Thornhill, 59833; +Cc: Randy Taylor, Yuan Fu, jostein
Yeah. That works for me.
I tried making a similar patch, but I guess I was trying to overspecify,
rather than just shortcutting the selection. Nice job!
--
Jostein
jostein@kjonigsen.net 🍵 jostein@gmail.com
https://jostein.kjønigsen.no <https://jostein.kjønigsen.no>
On 05.12.2022 12:35, Theodor Thornhill wrote:
> Theodor Thornhill <theo@thornhill.no> writes:
>
>> Jostein Kjønigsen <jostein@secure.kjonigsen.net> writes:
>>
>>> Hey everyone.
>>>
>>> When opening a JSON-file in a build from emacs git emacs-29
>>> release-branch, Emacs still defaults to json-mode.
>>>
>>> Fontification in json-mode looks correct and proper.
>>>
>>> When trying to insteas use json-ts-mode, literally everything is
>>> fontified as strings.
>>>
>>> When I change the code to disable the string-fontification rule, this
>>> yields a buffer where everything is fontified using default-face. That
>>> is, no other fontification is taking place.
>>>
>>> Have this mode really been tested? Should it be working? Or is there an
>>> error on my end?
>>>
>>> Could someone else please give json-ts-mode a try?
>>>
>> Yeah, you are correct. It seems we've had a regression in this commit,
>> 0ed313642227afdeccf48057eea458edca9d2962.
>>
>> I believe this is the offending commit - what do you think, Randy?
>>
>> Specifically the lhs should be fontified differently than the rhs, so
>> not everything is a string.
>>
>> Do you want to do that, Randy, or should I?
>>
>> Theo
> Can you test this patch, Jostein?
>
> Theo
>
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#59833: 29.0.60; json-ts-mode fontifies everything as string
2022-12-05 11:53 ` Jostein Kjønigsen
@ 2022-12-05 12:06 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 0 replies; 20+ messages in thread
From: Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-12-05 12:06 UTC (permalink / raw)
To: Jostein Kjønigsen, 59833
Cc: Randy Taylor, Yuan Fu, jostein, Eli Zaretskii
Jostein Kjønigsen <jostein@secure.kjonigsen.net> writes:
> Yeah. That works for me.
>
> I tried making a similar patch, but I guess I was trying to overspecify,
> rather than just shortcutting the selection. Nice job!
>
Great!
Yuan, Eli - can one of you apply for me? :-)
Theo
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#59833: 29.0.60; json-ts-mode fontifies everything as string
2022-12-05 11:24 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-05 11:35 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-12-05 13:52 ` Randy Taylor
2022-12-05 13:58 ` Randy Taylor
1 sibling, 1 reply; 20+ messages in thread
From: Randy Taylor @ 2022-12-05 13:52 UTC (permalink / raw)
To: Theodor Thornhill; +Cc: Yuan Fu, 59833, jostein
On Monday, December 5th, 2022 at 06:24, Theodor Thornhill <theo@thornhill.no> wrote:
>
>
> Jostein Kjønigsen jostein@secure.kjonigsen.net writes:
>
> > Hey everyone.
> >
> > When opening a JSON-file in a build from emacs git emacs-29
> > release-branch, Emacs still defaults to json-mode.
> >
> > Fontification in json-mode looks correct and proper.
> >
> > When trying to insteas use json-ts-mode, literally everything is
> > fontified as strings.
> >
> > When I change the code to disable the string-fontification rule, this
> > yields a buffer where everything is fontified using default-face. That
> > is, no other fontification is taking place.
> >
> > Have this mode really been tested? Should it be working? Or is there an
> > error on my end?
> >
> > Could someone else please give json-ts-mode a try?
>
>
> Yeah, you are correct. It seems we've had a regression in this commit,
> 0ed313642227afdeccf48057eea458edca9d2962.
>
> I believe this is the offending commit - what do you think, Randy?
>
> Specifically the lhs should be fontified differently than the rhs, so
> not everything is a string.
>
> Do you want to do that, Randy, or should I?
>
> Theo
Can someone show me an example JSON file that shows this problem? Everything looks the same for me in json-mode and json-ts-mode, except for the json-ts-mode extras (even with Theo's patch) both with my own Emacs config and emacs -Q. I must be doing something very silly.
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#59833: 29.0.60; json-ts-mode fontifies everything as string
2022-12-05 13:52 ` Randy Taylor
@ 2022-12-05 13:58 ` Randy Taylor
2022-12-05 14:12 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 20+ messages in thread
From: Randy Taylor @ 2022-12-05 13:58 UTC (permalink / raw)
To: Theodor Thornhill; +Cc: Yuan Fu, 59833, jostein
On Monday, December 5th, 2022 at 08:52, Randy Taylor <dev@rjt.dev> wrote:
>
> On Monday, December 5th, 2022 at 06:24, Theodor Thornhill theo@thornhill.no wrote:
>
> > Jostein Kjønigsen jostein@secure.kjonigsen.net writes:
> >
> > > Hey everyone.
> > >
> > > When opening a JSON-file in a build from emacs git emacs-29
> > > release-branch, Emacs still defaults to json-mode.
> > >
> > > Fontification in json-mode looks correct and proper.
> > >
> > > When trying to insteas use json-ts-mode, literally everything is
> > > fontified as strings.
> > >
> > > When I change the code to disable the string-fontification rule, this
> > > yields a buffer where everything is fontified using default-face. That
> > > is, no other fontification is taking place.
> > >
> > > Have this mode really been tested? Should it be working? Or is there an
> > > error on my end?
> > >
> > > Could someone else please give json-ts-mode a try?
> >
> > Yeah, you are correct. It seems we've had a regression in this commit,
> > 0ed313642227afdeccf48057eea458edca9d2962.
> >
> > I believe this is the offending commit - what do you think, Randy?
> >
> > Specifically the lhs should be fontified differently than the rhs, so
> > not everything is a string.
> >
> > Do you want to do that, Randy, or should I?
> >
> > Theo
>
>
> Can someone show me an example JSON file that shows this problem? Everything looks the same for me in json-mode and json-ts-mode, except for the json-ts-mode extras (even with Theo's patch) both with my own Emacs config and emacs -Q. I must be doing something very silly.
Scratch that, I got Theo's patch working, needed to rebuild. Looks good to me (although it would be nice to keep treesit-font-lock-feature-list alphabetized Theo ;)).
json-mode still fontifies pretty much everything as a string though (at least for me).
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#59833: 29.0.60; json-ts-mode fontifies everything as string
2022-12-05 13:58 ` Randy Taylor
@ 2022-12-05 14:12 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-05 14:42 ` Randy Taylor
0 siblings, 1 reply; 20+ messages in thread
From: Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-12-05 14:12 UTC (permalink / raw)
To: Randy Taylor; +Cc: Yuan Fu, 59833, jostein
[-- Attachment #1: Type: text/plain, Size: 2197 bytes --]
Randy Taylor <dev@rjt.dev> writes:
> On Monday, December 5th, 2022 at 08:52, Randy Taylor <dev@rjt.dev> wrote:
>>
>> On Monday, December 5th, 2022 at 06:24, Theodor Thornhill theo@thornhill.no wrote:
>>
>> > Jostein Kjønigsen jostein@secure.kjonigsen.net writes:
>> >
>> > > Hey everyone.
>> > >
>> > > When opening a JSON-file in a build from emacs git emacs-29
>> > > release-branch, Emacs still defaults to json-mode.
>> > >
>> > > Fontification in json-mode looks correct and proper.
>> > >
>> > > When trying to insteas use json-ts-mode, literally everything is
>> > > fontified as strings.
>> > >
>> > > When I change the code to disable the string-fontification rule, this
>> > > yields a buffer where everything is fontified using default-face. That
>> > > is, no other fontification is taking place.
>> > >
>> > > Have this mode really been tested? Should it be working? Or is there an
>> > > error on my end?
>> > >
>> > > Could someone else please give json-ts-mode a try?
>> >
>> > Yeah, you are correct. It seems we've had a regression in this commit,
>> > 0ed313642227afdeccf48057eea458edca9d2962.
>> >
>> > I believe this is the offending commit - what do you think, Randy?
>> >
>> > Specifically the lhs should be fontified differently than the rhs, so
>> > not everything is a string.
>> >
>> > Do you want to do that, Randy, or should I?
>> >
>> > Theo
>>
>>
>> Can someone show me an example JSON file that shows this problem? Everything looks the same for me in json-mode and json-ts-mode, except for the json-ts-mode extras (even with Theo's patch) both with my own Emacs config and emacs -Q. I must be doing something very silly.
>
> Scratch that, I got Theo's patch working, needed to rebuild.
No need to rebuild. Just C-M-x the defvar and revert buffer.
> Looks good to me (although it would be nice to keep treesit-font-lock-feature-list alphabetized Theo ;)).
>
See new patch!
> json-mode still fontifies pretty much everything as a string though (at least for me).
Not for me. I get number-face, bracket-face, constant-face,
warning-face. Don't you?
Will you commit this, Yuan?
Theo
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Add-back-in-font-locking-for-pair-in-json-ts-mode.patch --]
[-- Type: text/x-diff, Size: 2141 bytes --]
From 60b9dfeaec8d194c0b162f3eaa4ae4a4736d68e9 Mon Sep 17 00:00:00 2001
From: Theodor Thornhill <theo@thornhill.no>
Date: Mon, 5 Dec 2022 12:34:08 +0100
Subject: [PATCH] Add back in font-locking for pair in json-ts-mode
* lisp/progmodes/json-ts-mode.el (json-ts-mode--font-lock-settings):
Add back in removed pair font-lock code. Also alphabetize features.
(json-ts-mode): Use the new feature.
(bug#59833)
---
lisp/progmodes/json-ts-mode.el | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
diff --git a/lisp/progmodes/json-ts-mode.el b/lisp/progmodes/json-ts-mode.el
index 101e873cf6..0ce820bafb 100644
--- a/lisp/progmodes/json-ts-mode.el
+++ b/lisp/progmodes/json-ts-mode.el
@@ -78,24 +78,30 @@ json-ts-mode--font-lock-settings
'((["[" "]" "{" "}"]) @font-lock-bracket-face)
:language 'json
:feature 'constant
+ :override t
'([(null) (true) (false)] @font-lock-constant-face)
:language 'json
:feature 'delimiter
'((["," ":"]) @font-lock-delimiter-face)
:language 'json
- :feature 'number
- '((number) @font-lock-number-face)
- :language 'json
- :feature 'string
- '((string) @font-lock-string-face)
+ :feature 'error
+ :override t
+ '((ERROR) @font-lock-warning-face)
:language 'json
:feature 'escape-sequence
:override t
'((escape_sequence) @font-lock-escape-face)
:language 'json
- :feature 'error
+ :feature 'number
:override t
- '((ERROR) @font-lock-warning-face))
+ '((number) @font-lock-number-face)
+ :language 'json
+ :feature 'pair
+ :override t
+ `((pair key: (_) @font-lock-variable-name-face))
+ :language 'json
+ :feature 'string
+ '((string) @font-lock-string-face))
"Font-lock settings for JSON.")
(defun json-ts-mode--imenu-1 (node)
@@ -156,7 +162,7 @@ json-ts-mode
;; Font-lock.
(setq-local treesit-font-lock-settings json-ts-mode--font-lock-settings)
(setq-local treesit-font-lock-feature-list
- '((constant number string)
+ '((constant number string pair)
(escape-sequence)
(bracket delimiter error)))
--
2.34.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* bug#59833: 29.0.60; json-ts-mode fontifies everything as string
2022-12-05 14:12 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-12-05 14:42 ` Randy Taylor
2022-12-05 14:52 ` Jostein Kjønigsen
0 siblings, 1 reply; 20+ messages in thread
From: Randy Taylor @ 2022-12-05 14:42 UTC (permalink / raw)
To: Theodor Thornhill; +Cc: Yuan Fu, 59833, jostein
On Monday, December 5th, 2022 at 09:12, Theodor Thornhill <theo@thornhill.no> wrote:
>
>
> Randy Taylor dev@rjt.dev writes:
>
> > On Monday, December 5th, 2022 at 08:52, Randy Taylor dev@rjt.dev wrote:
> >
> > > On Monday, December 5th, 2022 at 06:24, Theodor Thornhill theo@thornhill.no wrote:
> > >
> > > > Jostein Kjønigsen jostein@secure.kjonigsen.net writes:
> > > >
> > > > > Hey everyone.
> > > > >
> > > > > When opening a JSON-file in a build from emacs git emacs-29
> > > > > release-branch, Emacs still defaults to json-mode.
> > > > >
> > > > > Fontification in json-mode looks correct and proper.
> > > > >
> > > > > When trying to insteas use json-ts-mode, literally everything is
> > > > > fontified as strings.
> > > > >
> > > > > When I change the code to disable the string-fontification rule, this
> > > > > yields a buffer where everything is fontified using default-face. That
> > > > > is, no other fontification is taking place.
> > > > >
> > > > > Have this mode really been tested? Should it be working? Or is there an
> > > > > error on my end?
> > > > >
> > > > > Could someone else please give json-ts-mode a try?
> > > >
> > > > Yeah, you are correct. It seems we've had a regression in this commit,
> > > > 0ed313642227afdeccf48057eea458edca9d2962.
> > > >
> > > > I believe this is the offending commit - what do you think, Randy?
> > > >
> > > > Specifically the lhs should be fontified differently than the rhs, so
> > > > not everything is a string.
> > > >
> > > > Do you want to do that, Randy, or should I?
> > > >
> > > > Theo
> > >
> > > Can someone show me an example JSON file that shows this problem? Everything looks the same for me in json-mode and json-ts-mode, except for the json-ts-mode extras (even with Theo's patch) both with my own Emacs config and emacs -Q. I must be doing something very silly.
> >
> > Scratch that, I got Theo's patch working, needed to rebuild.
>
>
> No need to rebuild. Just C-M-x the defvar and revert buffer.
I was even restarting and it wasn't picking up the changes for some reason.
>
> > Looks good to me (although it would be nice to keep treesit-font-lock-feature-list alphabetized Theo ;)).
>
>
> See new patch!
Thanks, I meant just the treesit-font-lock-feature-list variable :) (so moving pair before string).
Having the font-lock settings alphabetized too is great, but I remember running into some highlighting issues depending on the order of things.
For example, since error is above number, the number face will not be highlighted as error when an error occurs.
Try:
{
"test": 2
}
and remove the colon. Before your patch, the entire line is red. After, only "test" is red.
So in general, I think we should stick all :overrides at the bottom of that list (with error being the ultimate one), and keep everything above and below alphabetized, but separately, which is how I organized json-ts-mode.
>
> > json-mode still fontifies pretty much everything as a string though (at least for me).
>
>
> Not for me. I get number-face, bracket-face, constant-face,
> warning-face. Don't you?
Are you guys talking about the json-mode package? Jostein mentioned "Emacs still defaults to json-mode", but when I open a JSON file I get js-json-mode, which is what I assumed he meant. js-json-mode is what I was trying to match in json-ts-mode.
>
> Will you commit this, Yuan?
>
> Theo
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#59833: 29.0.60; json-ts-mode fontifies everything as string
2022-12-05 14:42 ` Randy Taylor
@ 2022-12-05 14:52 ` Jostein Kjønigsen
2022-12-05 15:00 ` Eli Zaretskii
` (2 more replies)
0 siblings, 3 replies; 20+ messages in thread
From: Jostein Kjønigsen @ 2022-12-05 14:52 UTC (permalink / raw)
To: Randy Taylor, Theodor Thornhill; +Cc: Yuan Fu, 59833, jostein
On 05.12.2022 15:42, Randy Taylor wrote:
>
> Thanks, I meant just the treesit-font-lock-feature-list variable :) (so moving pair before string).
>
> Having the font-lock settings alphabetized too is great, but I remember running into some highlighting issues depending on the order of things.
> For example, since error is above number, the number face will not be highlighted as error when an error occurs.
>
> Try:
> {
> "test": 2
> }
>
> and remove the colon. Before your patch, the entire line is red. After, only "test" is red.
>
> So in general, I think we should stick all :overrides at the bottom of that list (with error being the ultimate one), and keep everything above and below alphabetized, but separately, which is how I organized json-ts-mode.
Good observation. Agreed.
>
> Are you guys talking about the json-mode package? Jostein mentioned "Emacs still defaults to json-mode", but when I open a JSON file I get js-json-mode, which is what I assumed he meant. js-json-mode is what I was trying to match in json-ts-mode.
I've never heard of js-json-mode until today. I always use json-mode
(which AFAIK) is still the default for json-files, unless overridden in
your own .emacs setup.
I can see that in Emacs git right now, json-ts-mode behaves closely to
js-json-mode. I honestly expected it to match the Emacs-default
json-mode though, and found the current highlighting ... somewhat
unexpected.
IMO, yes the keys are technically speaking strings, but the are
predominantly and semantically keys, and IMO should be highlighted as
such. Just like json-mode does.
I realise this is somewhat subjective and preferential, but as far as my
preference goes, I clearly prefer json-mode over js-json-mode, and as
such also prefer the current patch-sets for json-ts-mode which Theo has
submitted.
(On my part we can avoid side-tracking related to why there are multiple
json-modes, unless has a deep need to contextualize these changes
related to those ;) )
--
Jostein
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#59833: 29.0.60; json-ts-mode fontifies everything as string
2022-12-05 14:52 ` Jostein Kjønigsen
@ 2022-12-05 15:00 ` Eli Zaretskii
2022-12-05 15:01 ` Randy Taylor
2022-12-05 15:03 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
2 siblings, 0 replies; 20+ messages in thread
From: Eli Zaretskii @ 2022-12-05 15:00 UTC (permalink / raw)
To: jostein; +Cc: dev, casouri, 59833, theo, jostein
> Cc: Yuan Fu <casouri@gmail.com>, 59833@debbugs.gnu.org, jostein@kjonigsen.net
> Date: Mon, 5 Dec 2022 15:52:17 +0100
> From: Jostein Kjønigsen <jostein@secure.kjonigsen.net>
>
> I've never heard of js-json-mode until today. I always use json-mode
> (which AFAIK) is still the default for json-files, unless overridden in
> your own .emacs setup.
Not in Emacs 29. I see the following in files.el, as part of
auto-mode-alist:
("\\.json\\'" . js-json-mode)
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#59833: 29.0.60; json-ts-mode fontifies everything as string
2022-12-05 14:52 ` Jostein Kjønigsen
2022-12-05 15:00 ` Eli Zaretskii
@ 2022-12-05 15:01 ` Randy Taylor
2022-12-05 15:03 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
2 siblings, 0 replies; 20+ messages in thread
From: Randy Taylor @ 2022-12-05 15:01 UTC (permalink / raw)
To: jostein; +Cc: Yuan Fu, 59833, Theodor Thornhill
On Monday, December 5th, 2022 at 09:52, Jostein Kjønigsen <jostein@secure.kjonigsen.net> wrote:
>
>
> On 05.12.2022 15:42, Randy Taylor wrote:
>
> > Thanks, I meant just the treesit-font-lock-feature-list variable :) (so moving pair before string).
> >
> > Having the font-lock settings alphabetized too is great, but I remember running into some highlighting issues depending on the order of things.
> > For example, since error is above number, the number face will not be highlighted as error when an error occurs.
> >
> > Try:
> > {
> > "test": 2
> > }
> >
> > and remove the colon. Before your patch, the entire line is red. After, only "test" is red.
> >
> > So in general, I think we should stick all :overrides at the bottom of that list (with error being the ultimate one), and keep everything above and below alphabetized, but separately, which is how I organized json-ts-mode.
>
> Good observation. Agreed.
>
> > Are you guys talking about the json-mode package? Jostein mentioned "Emacs still defaults to json-mode", but when I open a JSON file I get js-json-mode, which is what I assumed he meant. js-json-mode is what I was trying to match in json-ts-mode.
>
>
> I've never heard of js-json-mode until today. I always use json-mode
> (which AFAIK) is still the default for json-files, unless overridden in
> your own .emacs setup.
>
> I can see that in Emacs git right now, json-ts-mode behaves closely to
> js-json-mode. I honestly expected it to match the Emacs-default
> json-mode though, and found the current highlighting ... somewhat
> unexpected.
>
> IMO, yes the keys are technically speaking strings, but the are
> predominantly and semantically keys, and IMO should be highlighted as
> such. Just like json-mode does.
>
> I realise this is somewhat subjective and preferential, but as far as my
> preference goes, I clearly prefer json-mode over js-json-mode, and as
> such also prefer the current patch-sets for json-ts-mode which Theo has
> submitted.
>
> (On my part we can avoid side-tracking related to why there are multiple
> json-modes, unless has a deep need to contextualize these changes
> related to those ;) )
>
> --
> Jostein
You say "Emacs-default json-mode" but I don't see that anywhere. If you run emacs -Q and visit a JSON file, you get js-json-mode, which is the Emacs-default JSON mode, unless I'm missing something.
Regardless, I think your proposal (and Theo's patch) is great, and a definite improvement. I can't believe I've tolerated everything in JSON files as a string face for so long ;).
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#59833: 29.0.60; json-ts-mode fontifies everything as string
2022-12-05 14:52 ` Jostein Kjønigsen
2022-12-05 15:00 ` Eli Zaretskii
2022-12-05 15:01 ` Randy Taylor
@ 2022-12-05 15:03 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-05 15:35 ` Randy Taylor
2 siblings, 1 reply; 20+ messages in thread
From: Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-12-05 15:03 UTC (permalink / raw)
To: Jostein Kjønigsen, Randy Taylor; +Cc: Yuan Fu, 59833, jostein
[-- Attachment #1: Type: text/plain, Size: 2438 bytes --]
Jostein Kjønigsen <jostein@secure.kjonigsen.net> writes:
> On 05.12.2022 15:42, Randy Taylor wrote:
>>
>> Thanks, I meant just the treesit-font-lock-feature-list variable :) (so moving pair before string).
>>
>> Having the font-lock settings alphabetized too is great, but I remember running into some highlighting issues depending on the order of things.
>> For example, since error is above number, the number face will not be highlighted as error when an error occurs.
>>
>> Try:
>> {
>> "test": 2
>> }
>>
>> and remove the colon. Before your patch, the entire line is red. After, only "test" is red.
>>
>> So in general, I think we should stick all :overrides at the bottom
>> of that list (with error being the ultimate one), and keep everything
>> above and below alphabetized, but separately, which is how I
>> organized json-ts-mode.
> Good observation. Agreed.
Yes ok ok ;-)
>>
>> Are you guys talking about the json-mode package? Jostein mentioned
>> "Emacs still defaults to json-mode", but when I open a JSON file I
>> get js-json-mode, which is what I assumed he meant. js-json-mode is
>> what I was trying to match in json-ts-mode.
>
> I've never heard of js-json-mode until today. I always use json-mode
> (which AFAIK) is still the default for json-files, unless overridden in
> your own .emacs setup.
>
> I can see that in Emacs git right now, json-ts-mode behaves closely to
> js-json-mode. I honestly expected it to match the Emacs-default
> json-mode though, and found the current highlighting ... somewhat
> unexpected.
>
> IMO, yes the keys are technically speaking strings, but the are
> predominantly and semantically keys, and IMO should be highlighted as
> such. Just like json-mode does.
>
> I realise this is somewhat subjective and preferential, but as far as my
> preference goes, I clearly prefer json-mode over js-json-mode, and as
> such also prefer the current patch-sets for json-ts-mode which Theo has
> submitted.
>
> (On my part we can avoid side-tracking related to why there are multiple
> json-modes, unless has a deep need to contextualize these changes
> related to those ;) )
>
Yeah js-json-mode is a lot simpler, and is imo too simple. The json-mode
is not infact default in emacs, but there are two, one in melpa and one
in elpa, IIRC.
Anyway, last patch for now - are you both satisfied with this one?
Theo
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Add-back-in-font-locking-for-pair-in-json-ts-mode.patch --]
[-- Type: text/x-diff, Size: 1366 bytes --]
From ff88a7ca0d331b25579b5bbd7f90e2a7e31d109f Mon Sep 17 00:00:00 2001
From: Theodor Thornhill <theo@thornhill.no>
Date: Mon, 5 Dec 2022 15:59:41 +0100
Subject: [PATCH] Add back in font-locking for pair in json-ts-mode
* lisp/progmodes/json-ts-mode.el (json-ts-mode--font-lock-settings):
Add back in removed pair font-lock code. Also alphabetize features.
(json-ts-mode): Use the new feature.
(bug#59833)
---
lisp/progmodes/json-ts-mode.el | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/lisp/progmodes/json-ts-mode.el b/lisp/progmodes/json-ts-mode.el
index 101e873cf6..440ffb3128 100644
--- a/lisp/progmodes/json-ts-mode.el
+++ b/lisp/progmodes/json-ts-mode.el
@@ -93,6 +93,10 @@ json-ts-mode--font-lock-settings
:override t
'((escape_sequence) @font-lock-escape-face)
:language 'json
+ :feature 'pair
+ :override t
+ `((pair key: (_) @font-lock-variable-name-face))
+ :language 'json
:feature 'error
:override t
'((ERROR) @font-lock-warning-face))
@@ -156,7 +160,7 @@ json-ts-mode
;; Font-lock.
(setq-local treesit-font-lock-settings json-ts-mode--font-lock-settings)
(setq-local treesit-font-lock-feature-list
- '((constant number string)
+ '((constant number pair string)
(escape-sequence)
(bracket delimiter error)))
--
2.34.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* bug#59833: 29.0.60; json-ts-mode fontifies everything as string
2022-12-05 15:03 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-12-05 15:35 ` Randy Taylor
2022-12-05 15:37 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 20+ messages in thread
From: Randy Taylor @ 2022-12-05 15:35 UTC (permalink / raw)
To: Theodor Thornhill; +Cc: jostein, Yuan Fu, 59833, Jostein Kjønigsen
On Monday, December 5th, 2022 at 10:03, Theodor Thornhill <theo@thornhill.no> wrote:
>
> Yeah js-json-mode is a lot simpler, and is imo too simple. The json-mode
> is not infact default in emacs, but there are two, one in melpa and one
> in elpa, IIRC.
>
> Anyway, last patch for now - are you both satisfied with this one?
>
> Theo
It's perfect! Sorry for all the trouble :D.
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#59833: 29.0.60; json-ts-mode fontifies everything as string
2022-12-05 15:35 ` Randy Taylor
@ 2022-12-05 15:37 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-05 19:57 ` Yuan Fu
0 siblings, 1 reply; 20+ messages in thread
From: Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-12-05 15:37 UTC (permalink / raw)
To: Randy Taylor; +Cc: jostein, Yuan Fu, 59833, Jostein Kjønigsen
On 5 December 2022 16:35:12 CET, Randy Taylor <dev@rjt.dev> wrote:
>On Monday, December 5th, 2022 at 10:03, Theodor Thornhill <theo@thornhill.no> wrote:
>>
>> Yeah js-json-mode is a lot simpler, and is imo too simple. The json-mode
>> is not infact default in emacs, but there are two, one in melpa and one
>> in elpa, IIRC.
>>
>> Anyway, last patch for now - are you both satisfied with this one?
>>
>> Theo
>
>It's perfect! Sorry for all the trouble :D.
No problem :)
Yuan, will you commit this one?
Theo
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#59833: 29.0.60; json-ts-mode fontifies everything as string
2022-12-05 15:37 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-12-05 19:57 ` Yuan Fu
2022-12-05 20:14 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 20+ messages in thread
From: Yuan Fu @ 2022-12-05 19:57 UTC (permalink / raw)
To: Theodor Thornhill; +Cc: Randy Taylor, 59833, jostein, Jostein Kjønigsen
> On Dec 5, 2022, at 7:37 AM, Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors <bug-gnu-emacs@gnu.org> wrote:
>
>
>
> On 5 December 2022 16:35:12 CET, Randy Taylor <dev@rjt.dev> wrote:
>> On Monday, December 5th, 2022 at 10:03, Theodor Thornhill <theo@thornhill.no> wrote:
>>>
>>> Yeah js-json-mode is a lot simpler, and is imo too simple. The json-mode
>>> is not infact default in emacs, but there are two, one in melpa and one
>>> in elpa, IIRC.
>>>
>>> Anyway, last patch for now - are you both satisfied with this one?
>>>
>>> Theo
>>
>> It's perfect! Sorry for all the trouble :D.
>
> No problem :)
>
> Yuan, will you commit this one?
Yeah. IIUC :override t is not necessary for pair, right? If so, I’ll apply the patch and remove the :override, is that OK?
Yuan
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#59833: 29.0.60; json-ts-mode fontifies everything as string
2022-12-05 19:57 ` Yuan Fu
@ 2022-12-05 20:14 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-05 20:19 ` Randy Taylor
0 siblings, 1 reply; 20+ messages in thread
From: Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-12-05 20:14 UTC (permalink / raw)
To: Yuan Fu; +Cc: Randy Taylor, 59833, jostein, Jostein Kjønigsen
On 5 December 2022 20:57:55 CET, Yuan Fu <casouri@gmail.com> wrote:
>
>
>> On Dec 5, 2022, at 7:37 AM, Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors <bug-gnu-emacs@gnu.org> wrote:
>>
>>
>>
>> On 5 December 2022 16:35:12 CET, Randy Taylor <dev@rjt.dev> wrote:
>>> On Monday, December 5th, 2022 at 10:03, Theodor Thornhill <theo@thornhill.no> wrote:
>>>>
>>>> Yeah js-json-mode is a lot simpler, and is imo too simple. The json-mode
>>>> is not infact default in emacs, but there are two, one in melpa and one
>>>> in elpa, IIRC.
>>>>
>>>> Anyway, last patch for now - are you both satisfied with this one?
>>>>
>>>> Theo
>>>
>>> It's perfect! Sorry for all the trouble :D.
>>
>> No problem :)
>>
>> Yuan, will you commit this one?
>
>Yeah. IIUC :override t is not necessary for pair, right? If so, I’ll apply the patch and remove the :override, is that OK?
>
>Yuan
Please test it first, but sure! We want it to not be string face at least :)
Theo
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#59833: 29.0.60; json-ts-mode fontifies everything as string
2022-12-05 20:14 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-12-05 20:19 ` Randy Taylor
2022-12-05 20:22 ` Yuan Fu
0 siblings, 1 reply; 20+ messages in thread
From: Randy Taylor @ 2022-12-05 20:19 UTC (permalink / raw)
To: Theodor Thornhill; +Cc: Jostein Kjønigsen, Yuan Fu, 59833, jostein
On Monday, December 5th, 2022 at 15:14, Theodor Thornhill <theo@thornhill.no> wrote:
>
>
> On 5 December 2022 20:57:55 CET, Yuan Fu casouri@gmail.com wrote:
>
> > > On Dec 5, 2022, at 7:37 AM, Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors bug-gnu-emacs@gnu.org wrote:
> > >
> > > On 5 December 2022 16:35:12 CET, Randy Taylor dev@rjt.dev wrote:
> > >
> > > > On Monday, December 5th, 2022 at 10:03, Theodor Thornhill theo@thornhill.no wrote:
> > > >
> > > > > Yeah js-json-mode is a lot simpler, and is imo too simple. The json-mode
> > > > > is not infact default in emacs, but there are two, one in melpa and one
> > > > > in elpa, IIRC.
> > > > >
> > > > > Anyway, last patch for now - are you both satisfied with this one?
> > > > >
> > > > > Theo
> > > >
> > > > It's perfect! Sorry for all the trouble :D.
> > >
> > > No problem :)
> > >
> > > Yuan, will you commit this one?
> >
> > Yeah. IIUC :override t is not necessary for pair, right? If so, I’ll apply the patch and remove the :override, is that OK?
> >
> > Yuan
>
>
> Please test it first, but sure! We want it to not be string face at least :)
>
> Theo
It's necessary, since string comes first and pair needs to override it (just tested).
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#59833: 29.0.60; json-ts-mode fontifies everything as string
2022-12-05 20:19 ` Randy Taylor
@ 2022-12-05 20:22 ` Yuan Fu
2022-12-05 20:38 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 20+ messages in thread
From: Yuan Fu @ 2022-12-05 20:22 UTC (permalink / raw)
To: Randy Taylor
Cc: jostein, 59833, Theodor Thornhill, 59833-done,
Jostein Kjønigsen
> On Dec 5, 2022, at 12:19 PM, Randy Taylor <dev@rjt.dev> wrote:
>
> On Monday, December 5th, 2022 at 15:14, Theodor Thornhill <theo@thornhill.no> wrote:
>>
>>
>> On 5 December 2022 20:57:55 CET, Yuan Fu casouri@gmail.com wrote:
>>
>>>> On Dec 5, 2022, at 7:37 AM, Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors bug-gnu-emacs@gnu.org wrote:
>>>>
>>>> On 5 December 2022 16:35:12 CET, Randy Taylor dev@rjt.dev wrote:
>>>>
>>>>> On Monday, December 5th, 2022 at 10:03, Theodor Thornhill theo@thornhill.no wrote:
>>>>>
>>>>>> Yeah js-json-mode is a lot simpler, and is imo too simple. The json-mode
>>>>>> is not infact default in emacs, but there are two, one in melpa and one
>>>>>> in elpa, IIRC.
>>>>>>
>>>>>> Anyway, last patch for now - are you both satisfied with this one?
>>>>>>
>>>>>> Theo
>>>>>
>>>>> It's perfect! Sorry for all the trouble :D.
>>>>
>>>> No problem :)
>>>>
>>>> Yuan, will you commit this one?
>>>
>>> Yeah. IIUC :override t is not necessary for pair, right? If so, I’ll apply the patch and remove the :override, is that OK?
>>>
>>> Yuan
>>
>>
>> Please test it first, but sure! We want it to not be string face at least :)
>>
>> Theo
>
> It's necessary, since string comes first and pair needs to override it (just tested).
Ah, yes, of course, sorry for my ignorance. Applied!
Yuan
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#59833: 29.0.60; json-ts-mode fontifies everything as string
2022-12-05 20:22 ` Yuan Fu
@ 2022-12-05 20:38 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 0 replies; 20+ messages in thread
From: Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-12-05 20:38 UTC (permalink / raw)
To: Yuan Fu, Randy Taylor; +Cc: Jostein Kjønigsen, 59833, jostein, 59833-done
On 5 December 2022 21:22:09 CET, Yuan Fu <casouri@gmail.com> wrote:
>
>
>> On Dec 5, 2022, at 12:19 PM, Randy Taylor <dev@rjt.dev> wrote:
>>
>> On Monday, December 5th, 2022 at 15:14, Theodor Thornhill <theo@thornhill.no> wrote:
>>>
>>>
>>> On 5 December 2022 20:57:55 CET, Yuan Fu casouri@gmail.com wrote:
>>>
>>>>> On Dec 5, 2022, at 7:37 AM, Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors bug-gnu-emacs@gnu.org wrote:
>>>>>
>>>>> On 5 December 2022 16:35:12 CET, Randy Taylor dev@rjt.dev wrote:
>>>>>
>>>>>> On Monday, December 5th, 2022 at 10:03, Theodor Thornhill theo@thornhill.no wrote:
>>>>>>
>>>>>>> Yeah js-json-mode is a lot simpler, and is imo too simple. The json-mode
>>>>>>> is not infact default in emacs, but there are two, one in melpa and one
>>>>>>> in elpa, IIRC.
>>>>>>>
>>>>>>> Anyway, last patch for now - are you both satisfied with this one?
>>>>>>>
>>>>>>> Theo
>>>>>>
>>>>>> It's perfect! Sorry for all the trouble :D.
>>>>>
>>>>> No problem :)
>>>>>
>>>>> Yuan, will you commit this one?
>>>>
>>>> Yeah. IIUC :override t is not necessary for pair, right? If so, I’ll apply the patch and remove the :override, is that OK?
>>>>
>>>> Yuan
>>>
>>>
>>> Please test it first, but sure! We want it to not be string face at least :)
>>>
>>> Theo
>>
>> It's necessary, since string comes first and pair needs to override it (just tested).
>
>Ah, yes, of course, sorry for my ignorance. Applied!
>
>Yuan
Great news, thanks!
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2022-12-05 20:38 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-05 10:40 bug#59833: 29.0.60; json-ts-mode fontifies everything as string Jostein Kjønigsen
2022-12-05 11:24 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-05 11:35 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-05 11:53 ` Jostein Kjønigsen
2022-12-05 12:06 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-05 13:52 ` Randy Taylor
2022-12-05 13:58 ` Randy Taylor
2022-12-05 14:12 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-05 14:42 ` Randy Taylor
2022-12-05 14:52 ` Jostein Kjønigsen
2022-12-05 15:00 ` Eli Zaretskii
2022-12-05 15:01 ` Randy Taylor
2022-12-05 15:03 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-05 15:35 ` Randy Taylor
2022-12-05 15:37 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-05 19:57 ` Yuan Fu
2022-12-05 20:14 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-05 20:19 ` Randy Taylor
2022-12-05 20:22 ` Yuan Fu
2022-12-05 20:38 ` Theodor Thornhill via Bug reports for GNU Emacs, the Swiss army knife of text editors
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).