Elisp: Get User Input
Ask for File Name
read-file-name
-
Ask user to give a file name.
Return a string.
(read-file-name "Enter file name:")
Ask for Directory
read-directory-name
-
Ask user to give a directory name.
Return a string.
(read-directory-name "Directory:")
Ask for String
read-string
-
Ask user to type a string.
Return a string.
(read-string "Enter name:")
Ask for Regex
read-regexp
-
Ask user to type a
Regex
.
Return a string.
(read-regexp "Type a regex:")
Ask for Number
read-number
-
Ask user to type a number.
Return the answer.
(read-number "Type a number: " 10)
Select from a List
The best way to ask user to select from a list, is by completing-read
.
(let ((xlist '("cat" "dog" "dragon" "tiger"))) (message "%s" (completing-read "pick one:" xlist nil t)))
Query User for Yes/No
y-or-n-p
-
Ask user a yes or no question.
Return t if user types āyā and nil if user types ānā.
(if (y-or-n-p "Do it?") (progn ;; code to do something here ) (progn ;; code if user answered no. ) )