From unknown Tue Jun 17 03:40:19 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#65570 <65570@debbugs.gnu.org> To: bug#65570 <65570@debbugs.gnu.org> Subject: Status: [Tree Sitter] [Feature Request] Allow Adding User-Defined Queries Reply-To: bug#65570 <65570@debbugs.gnu.org> Date: Tue, 17 Jun 2025 10:40:19 +0000 retitle 65570 [Tree Sitter] [Feature Request] Allow Adding User-Defined Que= ries reassign 65570 emacs submitter 65570 Jacob Faibussowitsch severity 65570 wishlist thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 27 14:38:01 2023 Received: (at submit) by debbugs.gnu.org; 27 Aug 2023 18:38:01 +0000 Received: from localhost ([127.0.0.1]:46255 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qaKe9-0002mE-34 for submit@debbugs.gnu.org; Sun, 27 Aug 2023 14:38:01 -0400 Received: from lists.gnu.org ([2001:470:142::17]:45314) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qaKe6-0002lx-0G for submit@debbugs.gnu.org; Sun, 27 Aug 2023 14:37:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qaKdg-0006RO-W9 for bug-gnu-emacs@gnu.org; Sun, 27 Aug 2023 14:37:39 -0400 Received: from mail-qt1-x82f.google.com ([2607:f8b0:4864:20::82f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qaKde-0005zp-CN for bug-gnu-emacs@gnu.org; Sun, 27 Aug 2023 14:37:32 -0400 Received: by mail-qt1-x82f.google.com with SMTP id d75a77b69052e-4121788397fso5791571cf.0 for ; Sun, 27 Aug 2023 11:37:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693161447; x=1693766247; h=to:date:message-id:subject:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=4RBa+fGElTUSwWA8px9hoFB8O01B4ajrH9H1NQtM4RM=; b=WLnBPQMW7PUf4O9/HAsWq6ehAVtXxzEN2mOCfK5rMe+Qidat62AGlM27eDJP2guMiP OTKZ46GgtxpsCNmxHzJsINF23r15XlwwUMzwrgNN+oUCrsDhTw/QqmaQApTv6YiVWI+0 yt1Vju4U4RkhdKTQRVdbIJpkCPDyWGfsgZcomBukX5Ij8HwAI9nseI3YDS8xOgYZWA+F /EVJyEMljIGngffLuDCxSm9jiuZGTMggadob5uiU0/GmdYzECBD6tVWkKL4q4kHbPVKT qSlWSLtzxUYabJ9WGrIXthLDdaIVzD+o3NZ9Gp3TSXiZn9C5JPa3m7yNTVxAyzwSoxsP U3Bw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693161447; x=1693766247; h=to:date:message-id:subject:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=4RBa+fGElTUSwWA8px9hoFB8O01B4ajrH9H1NQtM4RM=; b=cd+zsjgqFFv8ZFVazFBCpvKv+xAm7hlKF0mXCL0z5bsbu8GNlKxmXmlpcZwCLvkD30 jt6OAi67kv0NW1sXkK7Pw7MWjk6xqvR5N1Ry9tp4WugVMZPOFD2jYEDhKbE56mjQElji /Psdv6feZg/qwvedTOF2hoTlflXuKCO96WVRMIPhhHe+9bWaAPgn0OetqNXqj9sBMsSz Y1NcU9Zo2y7JqiAIifA86/607hlJxfj1QqzderW2rXzEbcliwMRDpURzuNSfMaiY6hF+ lq/tlgwNxmCEvO2yWThKd81sxeQ6/ZY/qXNfTFyyimCBYA9VvkJPL4IhNEvMdi2TxyuD /IhA== X-Gm-Message-State: AOJu0YxrgebQtACeB9awqf3SPlnb1n0z2HO1W5C7Til1HrYXEP5H0al+ 1U07ATe+qv/IiO+jslO952mWd/KkZ/owyg== X-Google-Smtp-Source: AGHT+IGRZ/lz2Wgx4VXN1wSVFfuVGtxSq4FUuevIOSW5kfscnG5aA9VT+J+HpYoI0GWM7KBErWMdew== X-Received: by 2002:a0c:e183:0:b0:63d:30a:d9ea with SMTP id p3-20020a0ce183000000b0063d030ad9eamr27647961qvl.18.1693161447658; Sun, 27 Aug 2023 11:37:27 -0700 (PDT) Received: from smtpclient.apple (pool-108-21-63-133.nycmny.fios.verizon.net. [108.21.63.133]) by smtp.gmail.com with ESMTPSA id h3-20020a0cf203000000b00623839cba8csm2067666qvk.44.2023.08.27.11.37.26 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 27 Aug 2023 11:37:27 -0700 (PDT) From: Jacob Faibussowitsch Content-Type: multipart/mixed; boundary="Apple-Mail=_1A48FADA-22F1-4A4F-A984-3A603469EBEA" Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) Subject: [Tree Sitter] [Feature Request] Allow Adding User-Defined Queries Message-Id: <93EFC46C-7364-4900-8B43-3CF950509F20@gmail.com> Date: Sun, 27 Aug 2023 14:37:16 -0400 To: bug-gnu-emacs@gnu.org X-Mailer: Apple Mail (2.3731.700.6) Received-SPF: pass client-ip=2607:f8b0:4864:20::82f; envelope-from=jacob.fai@gmail.com; helo=mail-qt1-x82f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --Apple-Mail=_1A48FADA-22F1-4A4F-A984-3A603469EBEA Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hello, Is it possible for users to define their own custom font-lock queries? = If so, how? Per the documentation, font-locking is controlled by the contents of = `treesit-font-lock-settings`. Perusing `lisp/progmodes/c-ts-mode.el` one = finds `c-ts-mode--font-lock-settings`, which is used to populate = `treesit-font-lock-settings`, but there seems to be no way to override = or append to these settings. For example, suppose that I =E2=80=94 just for laughs =E2=80=94 wanted = to highlight the namespace name in the same face as integer-literals = for: ``` // namespace.cpp int x =3D 2; namespace foo { } ``` I might do: ``` ;; init.el ;; ensure the modes are overridden (add-to-list 'major-mode-remap-alist '(c-mode . c-ts-mode)) (add-to-list 'major-mode-remap-alist '(c++-mode . c++-ts-mode)) (add-to-list 'major-mode-remap-alist '(c-or-c++-mode . = c-or-c++-ts-mode)) ;; to make it ~pop~ (set-face-attribute 'font-lock-number-face nil :foreground "red") (use-package c-ts-mode :config (setq my-custom-font-lock-rules (treesit-font-lock-rules :language 'cpp :override t :feature 'type `((namespace_definition name: (namespace_identifier) @font-lock-number-face)))) (setq-local treesit-font-lock-settings my-custom-font-lock-rules) (treesit-major-mode-setup)) ``` But that does not seem to work. --Apple-Mail=_1A48FADA-22F1-4A4F-A984-3A603469EBEA Content-Disposition: inline; filename=PastedGraphic-1.png Content-Type: image/png; x-unix-mode=0666; name="PastedGraphic-1.png" Content-Transfer-Encoding: base64 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 p+6/dSD8QNNB5sHaQ5aHKg/TD5fWIXXT6nrrM+vbG5Ib2o6EHWlq9G48fNTx6I5jpscqjuscX3qC emL+iYGTRSf7TolP9ZzOON3ZNKnp/pmxZ240xzS3ng0/e+Fc8Lkz51nnT17wuXDsotfFI5eYl+ov u1+ua3FrOfy72++HW91b6654XGm46nm1sW1024lrftdOXw+8fu4G58blm5E3224l3Lpze/zt9jv8 O8/v5tx9fa/gXv/9OQ8ID0ofajwsf2T4qOoP2z/2tru3H+8I7Gh5HPf4fiev8+WTvCdfuuY/pT0t f2byrPq58/Nj3cHdV1+Me9H1Uvyyv6fkT80/K1/ZvDr0l/9fLb1je7teS14PvFn8Vv/tjneu75r6 ovsevc993/+h9KP+x52fmJ/Of076/Kx/6hfSl7Vfbb82fgv/9mAgd2BAzJVw5b8CGKxoejoAb3YA QEsGgA7PZ9RxivOfvCCKM6scgf+EFWdEeXEHoBb+v8f0wL+b2wDs2waPX1BffTwA0TQA4j0B6uIy VAfPavJzpawQ4Tlgc+TXtNw08G+K4sz5Q9w/t0Cm6gp+bv8F/Z18QhiL2z8AAACKZVhJZk1NACoA AAAIAAQBGgAFAAAAAQAAAD4BGwAFAAAAAQAAAEYBKAADAAAAAQACAACHaQAEAAAAAQAAAE4AAAAA AAAAkAAAAAEAAACQAAAAAQADkoYABwAAABIAAAB4oAIABAAAAAEAAADWoAMABAAAAAEAAAC8AAAA AEFTQ0lJAAAAU2NyZWVuc2hvdKB8g30AAAAJcEhZcwAAFiUAABYlAUlSJPAAAAHWaVRYdFhNTDpj b20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4Onht cHRrPSJYTVAgQ29yZSA2LjAuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53 My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24g cmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20v ZXhpZi8xLjAvIj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjE4ODwvZXhpZjpQaXhl bFlEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4yMTQ8L2V4aWY6UGl4 ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpVc2VyQ29tbWVudD5TY3JlZW5zaG90PC9leGlm OlVzZXJDb21tZW50PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6 eG1wbWV0YT4KccQxUgAAABxpRE9UAAAAAgAAAAAAAABeAAAAKAAAAF4AAABeAAAWHAUUsdwAABXo SURBVHgB7F0JeBVFtv6zkGBCWAMEJDAZRdkEeQrI9kAQEBhxAQaRCO4IagaRYXnqsARBFFGjMOwK iDrgG1AgwWFRUHaBDLIJ+IKA7LKDbKHmnG7q3u675d6+t/M0XfV9RXVX1TlV9Vf9XVWnKpcoAIK8 X7djxw6/aSpBIRBpBB555BFs3rwZmZmZ6NKlS6TVF5q+KCpJEavQ4FYFFYSAIlZBCKl0hYAFBHr0 6IHc3FwMHz5czVgW8FMiCoEijUCBS8Ei3XrVOIWATQgoYtkErFLrbAQUsZzd/6r1NiFgiVhRUVFI a5QGcU0gb32eTVVTahUCv18ELBErrWEaBq0apLV62G3DcHjnYdsRSL09FacOnsLZo2dtL6uoFlCP Gvbf5FPJVyB/nPw+8l+Q30teucghYI1YNFsN+lYn1vC6w3Fox6HI1ciHpn5f9kONVjUwquEo7NvM Q0G5UBBIoMyfkK/iRyif4ueQf4t8wENNP/Iq2hsBS8QqXrI4Wj3fSlsKLn13Ka78esVbcwRjsk5n IS4hDq81eA37c/dHULMzVJWiZi4nf478IvJ8l+Yn8mXJP0C+OXl2b5P/SHtS/4SLgCVihVtoqPKK WKEiZs6fSK9dyc8lf96cpL2NoX/vIX+BfAvy18grFx4CIRGr9I2lERMbYyqR9z35V3gx4dslVUhC 3A1xOH34NK5euorY+FjwHq38TeVxcNtB7Nu0D9fyzV3JM2JiGR4Ouhu2dRiKFS+G8feP12RkPIcn D5z0kjemB/NctnQCSpSIw6XL+TjiZw+XQDNmclleVAH7fz4NIYrOoqkhtenvWsuAP1P44/VnFVhH ICRiZe7M1AhhLK6gPdbzC55HnXvrYPwD4xFfIh69pvbSSCJ1/PDVD5jcfTLO/+L+lrYd0BYPjX5I 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 c+YAAAAASUVORK5CYII= --Apple-Mail=_1A48FADA-22F1-4A4F-A984-3A603469EBEA Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 You can see that 2 is obviously red, but foo is not (in fact, `M-x = describe-face` reports it as =E2=80=9Cdefault=E2=80=9D face). I want = both foo and 2 to have the same font face. You can reproduce this with (assuming you paste the above 2 snippets = into some directory: ``` $ emacs --init-directory=3D`pwd` ./namespace.cpp ``` Best regards, Jacob Faibussowitsch (Jacob Fai - booss - oh - vitch) --Apple-Mail=_1A48FADA-22F1-4A4F-A984-3A603469EBEA--