emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: treesit: how to get it to parse multiple languages


From: Eli Zaretskii
Subject: Re: treesit: how to get it to parse multiple languages
Date: Mon, 04 Nov 2024 14:02:42 +0200

> From: Andrew De Angelis <bobodeangelis@gmail.com>
> Date: Sun, 3 Nov 2024 13:28:57 -0500
> 
> I'm trying to get a better understanding of treesit.el, and I've stumbled on 
> a couple of things that make me
> think the manual is either outdated/faulty, or just not entirely clear and 
> I'm missing something.
> 
> The latter is most likely, but I'd appreciate any help in figuring out what 
> exactly is wrong in my
> approach/setup. I would be happy to contribute to the manual, if needed, to 
> ensure it is clearer.
> 
> This is the relevant section of the manual:
> https://www.gnu.org/software/emacs/manual/html_node/elisp/Multiple-Languages.html
> I've started out with simply trying to recreate the setup described in the 
> manual, but I've run into some
> issues. 
> Here's what I've done so far:
>  - I've defined a very simple `html-ts-mode`, using the elisp functions from 
> the manual:
> https://github.com/andrewdea/poc-html-ts-mode/blob/main/html-ts-mode.el
>  - I activate this mode when visiting the example.html file (which is also 
> copied from the manual):
> https://github.com/andrewdea/poc-html-ts-mode/blob/main/example.html
>  - the queries seem to be working as expected: when I'm in a buffer visiting 
> example.html, evaluating
> `(treesit-query-capture 'html css-query)` and `(treesit-query-capture 'html 
> js-query)` return the expected
> nodes
>  - ISSUE: `treesit-update-ranges` doesn't seem to be working as expected: 
> even if I call it multiple times, the
> parser for the whole buffer seems to still be 'html. `(treesit-language-at 
> (point))` always returns 'html, even
> when I'm inside the nodes captured by the css-query or js-query.
> 
> Some additional context: the reason I'm looking into tree-sitter (and its 
> functionalities to support multiple
> languages) is to potentially use it to fontify markdown code blocks and to 
> improve emacs support for python
> notebooks. For markdown, I was trying a similar approach to the HTML one 
> described in the manual, but ran
> into other similar issues:
> https://www.reddit.com/r/emacs/comments/1gcrv8k/syntaxhighlighting_codeblocks_in_markdown/.
> I'm just including this as context.
> 
> Let me know if any of this is not clear.
> 
> Thanks in advance for all your help!

Yuan, can you help Andrew?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]