[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?
- treesit: how to get it to parse multiple languages, Andrew De Angelis, 2024/11/03
- Re: treesit: how to get it to parse multiple languages,
Eli Zaretskii <=
- Re: treesit: how to get it to parse multiple languages, Yuan Fu, 2024/11/05
- Re: treesit: how to get it to parse multiple languages, Andrew De Angelis, 2024/11/10
- Re: treesit: how to get it to parse multiple languages, Peter Oliver, 2024/11/10
- Re: treesit: how to get it to parse multiple languages, Juri Linkov, 2024/11/11
- Re: treesit: how to get it to parse multiple languages, Yuan Fu, 2024/11/19
- Re: treesit: how to get it to parse multiple languages, Vincenzo Pupillo, 2024/11/19
- Re: treesit: how to get it to parse multiple languages, Yuan Fu, 2024/11/24
- Re: treesit: how to get it to parse multiple languages, Vincenzo Pupillo, 2024/11/24
- Re: treesit: how to get it to parse multiple languages, Juri Linkov, 2024/11/29
- Re: treesit: how to get it to parse multiple languages, Yuan Fu, 2024/11/29