* 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).