[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Validating tree-sitter major modes and grammar
From: |
Yuan Fu |
Subject: |
Re: Validating tree-sitter major modes and grammar |
Date: |
Mon, 23 Dec 2024 19:12:18 -0800 |
> On Dec 20, 2024, at 1:09 AM, Yuan Fu <casouri@gmail.com> wrote:
>
> Continuing from the tree-sitter maternity thread, I cooked up some script to
> go over each builtin tree-sitter mode, clone the grammars it uses, and check
> whether the font-lock queries are compatible with the latest version of the
> grammar. If everything works fine, the script adds some comment in the source
> file listing the version that was checked.
>
> For example, I ran the script for c-ts-mode and c++-ts-mode, and this is the
> comment inserted to c-ts-mode.el:
>
> ;;; Tree-sitter language versions
> ;;
> ;; c-ts-mode is known to work with the following languages and version:
> ;; - tree-sitter-c: v0.23.4
> ;;
> ;; c++-ts-mode is known to work with the following languages and version:
> ;; - tree-sitter-cpp: v0.23.4-1-gf41b4f6
> ;;
> ;; We try our best to make builtin modes work with latest grammar
> ;; versions, so a more recent grammar version has a good chance to work.
> ;; Send us a bug report if it doesn't.
>
> The version is taken from “git describe”. If the grammar isn’t versioned,
> it’ll just be the hash of HEAD. In order for “git describe” to work, I had to
> do full clones, and some tree-sitter grammar’s repo is very slow to clone. I
> wonder if there’s anything we can do to speed it up?
>
> Any thoughts/comments? I pushed the code to master so others can play with it.
>
> BTW, the script revealed that cmake-ts-mode isn’t compatible with the latest
> grammar. I’ll try fix it later.
(This is now fixed.)
CC’ing maintainers for builtin modes for comments. Also, Eli, what’s your
thoughts on this after the clarification?
Yuan
Message not available