From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Vladimir Kazanov Newsgroups: gmane.emacs.devel Subject: [ELPA] New package: ert-font-lock Date: Sat, 18 Nov 2023 10:43:20 +0000 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28590"; mail-complaints-to="usenet@ciao.gmane.io" To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Nov 18 11:44:22 2023 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 1r4IoG-0007Ga-Ld for ged-emacs-devel@m.gmane-mx.org; Sat, 18 Nov 2023 11:44:20 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r4InY-0002D8-Vv; Sat, 18 Nov 2023 05:43:37 -0500 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 1r4InX-0002Cz-FI for emacs-devel@gnu.org; Sat, 18 Nov 2023 05:43:35 -0500 Original-Received: from mail-lj1-x233.google.com ([2a00:1450:4864:20::233]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1r4InV-0001a8-RB for emacs-devel@gnu.org; Sat, 18 Nov 2023 05:43:35 -0500 Original-Received: by mail-lj1-x233.google.com with SMTP id 38308e7fff4ca-2c873cf9f74so7516561fa.0 for ; Sat, 18 Nov 2023 02:43:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700304211; x=1700909011; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=Vi9r/yXwS1iXLERbhRqtzsTVNJyc4FneRvrKLS8OULg=; b=jIchRaMviT/5Rn5Xez7pwxSIlMp3/312jjt1WxBewZ06E6MVJ+WQpMbU9NGTWqn5wj AkOl+mmmgIZlNzp1chhJGl3otQ46qbsn04EsFiNQCw0C82Kd02uVPvE1Lb14YQk02Nwp KVWjMSY94jogm6HRW+6FAKtDcwTD8uDLROpwOrJf2LPnOPmL9gzkb7uzzkOmEQJO9UBP 7ikyRjDBvb6HWyBSBdfQp2gtnu+ZlM5m6NtWQRQPhur0nP5DBPk6362jAFXgWal4v2CG 1wc7IQnyALs8PgzQrwDwQ+gCERy8lFd3Omqf6+kmIfb1OCQVjYwHpVl8iMeDVr2yh1ml JYbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700304211; x=1700909011; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=Vi9r/yXwS1iXLERbhRqtzsTVNJyc4FneRvrKLS8OULg=; b=WursUcsjL3/6Q+Ihory3lnRx3rYjGYZKAWptYL6eKroVdIs0SfKQgQ2kSGFczhrr3a l8OJeXvEU/EewJDQ7oa+uji6FJpIIONQEnGsXtXXkZP+M/r+oPWOlCCp/WARiiPKP5eE iZbU1YX2ALuqDtQbExx1hKR+QlqP3AiAO9egVXtlqdKwtdcN8ZaGOuHk/A+qqciRAkMc uPG7KtrrpQgxy6wnFaxppgIi3YjDD4YEMWIVpZMjl/Lg1ahQd75gzjqxeyRKNL2OagqL XmDQCduF+O0FDdTLfY1/BATozJEsgCFYFsihLjReSerbQy5CZg4eDeEfmfj2/73nIz2M iDtw== X-Gm-Message-State: AOJu0YwiwMywf1DZg9t5Oyjdz+TMT1lC+U5em4WGpfAiBR/IoP30Hmwo oF9vEr+7Bov6OBJDi0/vUUo1sRJFiS9u/Z2FZC/jvtlpww== X-Google-Smtp-Source: AGHT+IGchQomEeUpP//FqqKKnL+WaKUeAqTTqGWNbaagCGjGOQamxQb/hatGqgqRkAZTma6Ol/6AxXoFwDmgY6n6T5M= X-Received: by 2002:a2e:8713:0:b0:2c8:71f9:4ae8 with SMTP id m19-20020a2e8713000000b002c871f94ae8mr1429677lji.5.1700304210907; Sat, 18 Nov 2023 02:43:30 -0800 (PST) Received-SPF: pass client-ip=2a00:1450:4864:20::233; envelope-from=vekazanov@gmail.com; helo=mail-lj1-x233.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, T_SCC_BODY_TEXT_LINE=-0.01 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: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:312898 Archived-At: Hi all, I want to propose a new package to be included in ELPA. ert-font-lock (ERT Font Lock) is an extension to the standard ERT unit testing tool that makes it possible to write font-locking tests using a comment-based syntax. The syntax itself is based on the Tree-sitter unit testing system (https://tree-sitter.github.io/tree-sitter/syntax-highlighting#unit-testing). Find the package along with a test suite and a README here: https://github.com/vkazanov/ert-font-lock I am the sole author of the package, and did sign FSF papers some time ago so this should not be an issue. Comments, suggestions and critique are very welcome as the package is very new. I am open to ideas on the best places to publish the package if ELPA is not suitable for it. Some additional context. A while ago I created quakec-mode (https://github.com/vkazanov/quakec-mode). One of the most painful things about the mode is regex-based syntax highlighting. So I turned to creating a Tree-sitter grammar (https://github.com/vkazanov/tree-sitter-quakec) as well as a TS-based mode (https://github.com/vkazanov/quakec-ts-mode). While doing the syntax highlighting part proved to be much, much easier, I couldn't do work without relying on some kind of unit tests. Existing font-lock systems didn't feel convenient compared to the way Tree-sitter specifies parser tests so I replicated that. Thank you -- Regards, Vladimir Kazanov