|
From: | Wilhelm Kirschbaum |
Subject: | bug#62536: 30.0.50; Can we add """ ... """ electric pair in elixir, just like python |
Date: | Sun, 02 Apr 2023 21:24:24 +0200 |
User-agent: | mu4e 1.9.3; emacs 30.0.50 |
Mou Tong <mou.tong@outlook.com> writes:Will it make sense to also add a newline when closing a multilinecomment/heredoc? It feels smoother to me rather than having to pressenter and then C-o ( open-line ) to position the cursor correctly?I agree with you, but I think it might be better to imitate what`c-mode` did: ```c int main () {|} ```When `electric-pair-mode` is on, input the left `{`, Emacs helps you complete the right `}`. After press enter, your cursor will move tothe next line and auto-indented according to your offset config: ```c int main () { | } ``` So how about making it work like this? ```elixir-ts @doc """|""" # after press enter @doc """ | """ ```Yes, I think that is better, let me have a go at it. I was concernedof doing unsolicited movement with my suggestion of inserting newlines.
Playing around with it I think we should add a newline, I changed my mind.
Unlike the c example above, the following syntax is not valid elixir: `""""""` and it requires a newline to make it valid. Part of the appeal of making the heredoc electric is to keep the syntax valid. There should never be a reason for the heredoc to be on a single line and also makes the tree-sitter grammar invalid, which
causes the blinking issue. This will mean: ``` @doc ""| ```when typing `"` it will insert `\n"""` and thus have the minimal valid elixir
syntax without doing extra movement. ``` @doc """| """ ``` This will be the change ( looking at the electric.el code ).
[Prev in Thread] | Current Thread | [Next in Thread] |