I'm working on a package and I want to present a list to the users that they can select from.

The package allows editing of remote Dokuwiki pages from Emacs which can be found here: https://github.com/accidentalrebel/emacs-dokuwiki

I want to list pages that users can scroll up and down, once they press enter it should open the page they have selected. I'm thinking this can be done by listing the selection in a new buffer, then just code it in a way it can only accept up, down, and enter commands.

Are there other alternatives to doing this? I can use helm too but want to know if there are other simpler options.

  • It doesn't get any simpler than completing-read.
    – Drew
    Commented Feb 12, 2017 at 4:46
  • 1
    It's best to use completing-read. That will be translated to more advanced UI if user has installed ivy or helm.
    – xuhdev
    Commented Feb 12, 2017 at 10:12

1 Answer 1


Already referred by comments, completing-read is the way to go.

For example, the code below may give you some insight, also includes helm/counsel integration below.

  • Thank you to everyone for showing me completing-read. The sample code is also immensely helpful! Commented Feb 13, 2017 at 8:08
  • Please show an example or describe the solution. Otherwise this is almost a link-only answer.
    – Drew
    Commented Apr 20, 2017 at 14:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.