Subject: bug#61996: 30.0.50; Submitting elixir-ts-mode and heex-ts-mode

From: Wilhelm Kirschbaum <[email-masked]>
Date: Mon, 06 Mar 2023 19:23:39 +0200

Eli Zaretskii <[email-masked]> writes:

>> Cc: [email-masked], [email-masked]
>> From: Wilhelm Kirschbaum <[email-masked]>
>> Date: Mon, 06 Mar 2023 09:04:13 +0200
>> 
>> I would like to submit elixir-ts-mode and heex-ts-mode to emacs 
>> master.
>
> Thanks.  Please state in the comments to each mode with which 
> grammars
> is it compatible, so that users could know from which URL to 
> download
> the required grammar libraries.  The heex-ts-mode mentions that, 
> but
> elixir-ts-mode doesn't, AFAICT.
>

Will this make sense in the Commentary section: "The
tree-sitter grammar for Elixir can be downloaded from 
https://github.com/phoenixframework/tree-sitter-heex."

>> +(defcustom heex-ts-mode-indent-offset 2
>> +  "Indentation of Heex statements."
>> +  :version "29.1"
>
> I think these modes should go to the master branch, so "30.1" is 
> more
> accurate.
>

Thanks, will change.

>> +(if (treesit-ready-p 'elixir)
>> +    (progn
>> +      (add-to-list 'auto-mode-alist '("\\.elixir\\'" . 
>> elixir-ts-mode))
>> +      (add-to-list 'auto-mode-alist '("\\.ex\\'" . 
>> elixir-ts-mode))
>> +      (add-to-list 'auto-mode-alist '("\\.exs\\'" . 
>> elixir-ts-mode))
>> +      (add-to-list 'auto-mode-alist '("mix\\.lock" . 
>> elixir-ts-mode))))
>> +
>> +(if (treesit-ready-p 'heex)
>> +    (add-to-list 'auto-mode-alist '("\\.[hl]?eex\\'" . 
>> heex-ts-mode)))
>                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Copy/paste error, I presume?
>
> Thanks.

This was intentional, but perhaps a bad choice and lack of 
understanding of how the
-ts-modes should be activated. elixir-ts-mode should ideally load 
 the
HEEx grammar, but should also technically be able to function 
without.
The Elixir language author mentioned that heex can practically be 
seen
as part of Elixir, so requiring heex-ts-mode makes sense, sort of.

heex-ts-mode and elixir-ts-mode used to be in one file, but I was 
asked to
split them for the MELPA submission. The HEEx language should 
actually
also be able to embed Elixir, but this is not essential and we can 
do
without imo. Would it make sense have them in one file? 

I will update the patch with the above changes including some 
tests.