[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#61368: [PATCH] Extend go-ts-mode with support for pre-filling return
From: |
Evgeni Kolev |
Subject: |
bug#61368: [PATCH] Extend go-ts-mode with support for pre-filling return statements |
Date: |
Sat, 18 Feb 2023 13:46:05 +0200 |
+ João, author of yasnippet.
Hi, João, I'd appreciate any suggestions you might have. I'm aiming to
extend go-ts-mode with a snippet-like feature. go-ts-mode would be
able to insert a "smart / context-aware" return statement. My question
is - is there a way for major modes to provide yasnippet snippets? My
understanding is the snippets are either created by each user
individually, or distributed as a collection of snippets (e.g.
yasnippet-snippets). Are there any major modes which provide snippets
(I wasn't able to find any in emacs' repo)?
On Thu, Feb 9, 2023 at 3:40 PM Eli Zaretskii <eliz@gnu.org> wrote:
> > Makes sense. I am familiar with electric-pair-mode. I see that it adds
> > a hook in post-self-insert-hook. Is your suggestion to do something
> > like this:
> > - add hook in post-self-insert-hook
> > - in the hook check if RET is typed after an "return"
> > - if yes, replace the "return" with the "context-aware return
> > statement", possibly using (yas-expand-snippet)
>
> Yes, something like that. See electric.el for more examples.
>
> Electric modes are usually minor modes that let major modes customize
> them by setting variables. Again, I think you will find examples in
> electric.el.
The attached patch now adds a (go-ts-electric-return-mode) which, when
enabled, replaces "return RET" with a context-aware return statement.
I used sh-script.el's (sh-electric-here-document-mode) as an example.
I'm concerned this electric mode can turn out to be too
aggressive/surprising for the user - "return RET" is a common text to
be entered, I'm not sure the user would always want it to be replaced.
For example, when debugging I might insert return statements all over
the place.
Put differently, I would be more comfortable if there's a distinct
mechanism to trigger the context-aware return, for example with a
trigger key like when a snippet is inserted.
0001-Extend-go-ts-mode-with-support-for-pre-filling-retur.patch
Description: Binary data
- bug#61368: [PATCH] Extend go-ts-mode with support for pre-filling return statements, Evgeni Kolev, 2023/02/08
- bug#61368: [PATCH] Extend go-ts-mode with support for pre-filling return statements, Eli Zaretskii, 2023/02/08
- bug#61368: [PATCH] Extend go-ts-mode with support for pre-filling return statements, Evgeni Kolev, 2023/02/09
- bug#61368: [PATCH] Extend go-ts-mode with support for pre-filling return statements, Eli Zaretskii, 2023/02/09
- bug#61368: [PATCH] Extend go-ts-mode with support for pre-filling return statements,
Evgeni Kolev <=
- bug#61368: [PATCH] Extend go-ts-mode with support for pre-filling return statements, João Távora, 2023/02/18
- bug#61368: [PATCH] Extend go-ts-mode with support for pre-filling return statements, Evgeni Kolev, 2023/02/20
- bug#61368: [PATCH] Extend go-ts-mode with support for pre-filling return statements, Eli Zaretskii, 2023/02/20
- bug#61368: [PATCH] Extend go-ts-mode with support for pre-filling return statements, Evgeni Kolev, 2023/02/22
bug#61368: [PATCH] Extend go-ts-mode with support for pre-filling return statements, Theodor Thornhill, 2023/02/08