bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#62536: 30.0.50; Can we add """ ... """ electric pair in elixir, just


From: Wilhelm Kirschbaum
Subject: bug#62536: 30.0.50; Can we add """ ... """ electric pair in elixir, just like python
Date: Tue, 04 Apr 2023 19:54:45 +0200
User-agent: mu4e 1.9.3; emacs 30.0.50


Hi João,


I had a look and don't see how without changing elec-pair.el that
there
is a more elegant way to do this.  I am happy with the current
patches
to be installed and then perhaps if there is a better way we can
apply
it to both python-mode and elixir-ts-mode later.

It seems what you are trying to do is actually a functionality
of electric-layout-mode,  right? It's creating newlines between
two sets of '"""' so that if the user types one newline between
them, then one extra newline is inserted after and the line is
indented one level deeper than the '"""'.

If so, it would seem like 'electric-layout-rules' would be a good
match.  The behaviour would happen _only_ if the user has
electric-layout-mode, which is the standard Emacs mode for
controlling this kind of electricity.  The last paragraph
of the docstring of 'electric-layout-rules' seems to describe
a powerful enough mechanism to do achieve what the custom
psif does.

João

The custom psif is not for the newline, but for pairing up the triple quotes `"""` with another set of tripe quotes when electric-pair-mode is
enabled.  The newline is for keeping the syntax valid in elixir,
otherwise the font and navigation breaks because `""""""` is not valid
Elixir syntax and the tree-sitter grammar really does not like it.

Unless electric-indent-chars can identify the triple quotes, we need a custom psif regardless of other functionality, but I don't see this
option.  Maybe I am wrong and you can point me to this feature?

If it does not make sense to add the newline as this might not be
expected behaviour when electric-layout-mode is not enabled, we can add a check before inserting the newline? I don't know if many people using elixir-ts-mode will know about the electric layout mode and might get annoyed with electric-pair-mode for heredocs ( tripple quote pairs ).




reply via email to

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