emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Prefixed manual describe-function and api overview


From: Philippe Vaucher
Subject: Re: Prefixed manual describe-function and api overview
Date: Fri, 5 Jun 2020 09:55:08 +0200

>   > Following up on our previous discussions, here is a working
>   > implementation of the completion mechanism based on the manual:
>
> Could you tell me in 6 lines what it does?

Right sorry, I should have said it anyway. I added the mailing list
for others to have my description as well.

There are several function, but the one I mainly want to show you guys
is `prefixed-manual-describe-function`. It is like `describe-function`
(C-h f), but before you get to select a function you have to select a
"topic" first. The topics are the clickable links at
https://www.gnu.org/software/emacs/manual/html_node/elisp/index.html#Top.
Once you select a topic, then you get to select a function but your
choices are limited to the functions of said topic.

This simulates the experience you get when you have a consistently prefixed api.

If you want to get a quick overview, please eval the following code
and select "Strings and Characters" for the topic (the example is
hardcoded to propose string functions):

(let ((topic (completing-read "Topic: " '("Introduction" "Lisp Data
Types" "Numbers" "Strings and Characters" "Lists" "Sequences Arrays
Vectors" "Records" "Hash Tables" "Symbols" "Evaluation" "Control
Structures")))
      (function  (intern (completing-read "Function: " '("stringp"
"string-or-null-p" "char-or-string-p" "make-string" "string"
"substring" "substring-no-properties" "concat" "split-string"
"store-substring" "clear-string" "char-equal" "string" "string-equal"
"string-collate-equalp" "string" "string-lessp" "string-greaterp"
"string-collate-lessp" "string-version-lessp" "string-prefix-p"
"string-suffix-p" "compare-strings" "assoc-string" "number-to-string"
"string-to-number" "char-to-string" "string-to-char" "format"
"format-message" "downcase" "upcase" "capitalize" "upcase-initials"
"case-table-p" "set-standard-case-table" "standard-case-table"
"current-case-table" "set-case-table" "set-case-syntax-pair"
"set-case-syntax-delims" "set-case-syntax"
"describe-buffer-case-table")))))
  (describe-function function))

Kind regards,
Philippe



reply via email to

[Prev in Thread] Current Thread [Next in Thread]