From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: More font-lock faces for tree-sitter Date: Fri, 28 Oct 2022 08:48:00 -0400 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15280"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: "emacs-devel@gnu.org" To: Randy Taylor Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Oct 28 14:48:34 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ooOmn-0003hO-QC for ged-emacs-devel@m.gmane-mx.org; Fri, 28 Oct 2022 14:48:34 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ooOmY-0007GZ-KD; Fri, 28 Oct 2022 08:48:18 -0400 Original-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 1ooOmX-0007GG-5E for emacs-devel@gnu.org; Fri, 28 Oct 2022 08:48:17 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ooOmL-000792-BY for emacs-devel@gnu.org; Fri, 28 Oct 2022 08:48:16 -0400 Original-Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 909D9440B05; Fri, 28 Oct 2022 08:48:03 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 6B741440691; Fri, 28 Oct 2022 08:48:02 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1666961282; bh=cAVIH29wRwNc+4WYMb0e12gCerSyUxCjuOEmLjcSOVM=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=k3SyLSR7RFXoI7rb6NwthID2g5Y9IWuSFLf+4XxLab+KlFw9HZxzh0o9QIHuUmFx0 EV7x9dH63vwVuRlMyJchxl4iFsXQGpHsZ7dTEbjlL+E/M1PA5NmjMdP4zshMidr362 Mo+G7dkkth2+J1rd3qA76TO9zIydOSuxDwOfVhgfNbYudTg44hhVtyKbC3p9ucukUL Z9jE1NnJy4BpecNq6N0L7KEADwBR8RaNpbIAC6M4Nx/XtZk5Ks9vtxG3D6PpGOtDCl ObTT0f/AOGWOP5V5b0U96+uE17JPSIL8DnCduj1H1xG3fdQa6Vuv/J7VeTdDFpb4qw gsvWUDPfliacw== Original-Received: from pastel (65-110-220-202.cpe.pppoe.ca [65.110.220.202]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 46562120F7E; Fri, 28 Oct 2022 08:48:02 -0400 (EDT) In-Reply-To: (Randy Taylor's message of "Fri, 28 Oct 2022 02:26:45 +0000") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: "Emacs-devel" Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:298672 Archived-At: > Here are some that I had in mind: > - font-lock-escape-face > - For escape characters in strings. > - font-lock-property-face > - Usually an object property, like a member in a class or struct. > - font-lock-punctuation-face > - In addition, we could get even more specific: font-lock-punctuation-{delimiter, bracket, special} > - font-lock-number-face > - font-lock-operator-face Note that most of the above faces relate to the lexical category of the element, i.e. things that are usually very easy to handle with regexps and which thus aren't made significantly easier by tree-sitter (whose strength is to recognize actual syntactic structures). Where tree-sitter shines is for example when you need to distinguish the two different kinds of commas in a code like: x = foo (y++, (z++, y+z)); -- Stefan