emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Eric Abrahamsen <eric@ericabrahamsen.net>
To: emacs-orgmode@gnu.org
Subject: Re: Poll: new keybinding for org-insert-structure-template?
Date: Thu, 14 Dec 2017 13:19:33 -0800	[thread overview]
Message-ID: <87vah9ovmi.fsf@ericabrahamsen.net> (raw)
In-Reply-To: 87o9n11xxi.fsf@gmx.us

Rasmus <rasmus@gmx.us> writes:

> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> Rasmus <rasmus@gmx.us> writes:
>>
>>> Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
>>>
>>>> Hello,
>>>>
>>>> Rasmus <rasmus@gmx.us> writes:
>>>>
>>>>> Nicolas, are there any public interfaces to make ox export like
>>>>> interfaces?
>>>>
>>>> No, there isn't. However, Org provides `org-mks'.
>>>
>>> Good point.  It isn’t quite as nice as the export dispatcher.  Let’s wait
>>> and see what Eric prefers.
>>
>> I don't have to own this! I don't have a strong feeling about it, and
>> left to my own devices would just keep the single-character keys.
>
> It’s pretty nice and quick with only one character.
>
>> But I see why people would want more/longer keys, and better
>> discoverability.
>
> Discoverability is nice to have, but it’s a secondary issue.
>
>
>> The main desires are:
>>
>> 1. String keys of arbitrary length.
>> 2. Discoverability: either a window of choices pops up automatically, or
>>    you can do it with TAB, etc.
>> 3. Ideally, you don't have to hit an extra key to finish.
>>
>> Given that, it seems to me that `org-mks' is just fine. It doesn't do as
>> much as the export dispatcher, but I don't see that it needs to.
>
> It doesn’t seem to offer a way to distinguish between a single "a" and
> "ab".
>
> (org-mks '(("a" "a.. templates")
>            ("a" "export ascii" "")
>            ("ab" "abstract" "")
>            ("l" "latex" ""))
>          "Select a template"
>          "Template key: "
>          '(("q" "Abort")))
>
> Perhaps the best way would be to automatically reserve upper case letters
> for blocks with keys longer than one character, although that seems a bit
> arbitrary.
>
> (org-mks '(("A" "a.. templates")
>            ("a" "export ascii" "")
>            ("Ab" "abstract" "")
>            ("l" "latex" ""))
>          "Select a template"
>          "Template key: "
>          '(("q" "Abort")))

Right, you can't have a string act as both a "sub-menu dispatcher" and a
menu item at the same time.

I don't see that it's a big deal, though. For the default value, at
least, it's pretty clear how we would arrange the values: SRC and EXPORT
need sub-menus, and everything else doesn't. Ie:

'(("s" "Source Code")
  ("se" "Elisp" "src elisp")
  ("sp" "Python" "src python")
  ...etc
  ("e" "Export Block")
  ("eh" "HTML" "export html")
  ("el" "LaTeX" "export latex")
  ...etc
  ("v" "Verbatim" "verbatim")
  ("q" "Quote" "quote")
  ("E" "Example" "example")
  ...etc
  )

That's not so bad, is it?

Eric

  reply	other threads:[~2017-12-14 21:19 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-10  0:23 Poll: new keybinding for org-insert-structure-template? Eric Abrahamsen
2017-12-10 11:26 ` Rasmus
2017-12-10 19:37   ` Eric Abrahamsen
2017-12-12  7:48     ` Rasmus
2017-12-12  7:55       ` Nicolas Goaziou
2017-12-12 13:49         ` Rasmus
2017-12-12 14:02           ` Key binding popup interface (Was: Re: Poll: new keybinding for org-insert-structure-template on org mode list) Kaushal Modi
2017-12-12 18:45             ` Key binding popup interface Eric S Fraga
2017-12-12 18:56               ` Kaushal Modi
2017-12-12 19:53                 ` Alan E. Davis
2017-12-12 20:20             ` Eric Abrahamsen
2017-12-12 20:33               ` Kaushal Modi
2017-12-12 20:44                 ` Eric Abrahamsen
2017-12-12 20:56                   ` Kaushal Modi
2017-12-12 21:01             ` Stefan Monnier
2017-12-12 21:19               ` Kaushal Modi
2017-12-12 21:48                 ` Stefan Monnier
2017-12-13 15:38                   ` Kaushal Modi
2017-12-13 16:18                     ` Stefan Monnier
2017-12-12 23:51               ` Robert Weiner
2017-12-13 15:40                 ` Kaushal Modi
2017-12-13 16:25                   ` Robert Weiner
2017-12-13  6:52               ` John Wiegley
2017-12-13 15:43                 ` Kaushal Modi
2017-12-13  0:45           ` Poll: new keybinding for org-insert-structure-template? Eric Abrahamsen
2017-12-14  9:06             ` Rasmus
2017-12-14 21:19               ` Eric Abrahamsen [this message]
2017-12-15 11:22                 ` Rasmus
2017-12-15 12:59                   ` Kaushal Modi
2017-12-15 13:15                     ` Rasmus
2017-12-15 17:40                       ` Eric Abrahamsen
2017-12-18 18:23                         ` Eric Abrahamsen
2017-12-19 11:40                           ` Rasmus
2017-12-20 16:36                             ` Eric Abrahamsen
2017-12-20 16:48                               ` Eric Abrahamsen
2017-12-21  9:16                                 ` Rasmus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87vah9ovmi.fsf@ericabrahamsen.net \
    --to=eric@ericabrahamsen.net \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).