diff options
| -rw-r--r-- | README | 32 | ||||
| -rw-r--r-- | doc/cheat.texi | 17 | ||||
| -rw-r--r-- | elisp/geiser-doc.el | 44 | 
3 files changed, 61 insertions, 32 deletions
| @@ -160,20 +160,24 @@  *** In the documentation browser: -    |------------+----------------------------------------------| -    | n, f       | Next page                                    | -    | p, b       | Previous page                                | -    | TAB, S-TAB | Next/previous link                           | -    |------------+----------------------------------------------| -    | k          | Kill current page and go to previous or next | -    | g, r       | Refresh page                                 | -    | c          | Clear browsing history                       | -    |------------+----------------------------------------------| -    | ., M-.     | Edit identifier at point                     | -    | z          | Switch to REPL                               | -    |------------+----------------------------------------------| -    | q          | Bury buffer                                  | -    |------------+----------------------------------------------| +    |----------+----------------------------------------------| +    | f        | Next page                                    | +    | b        | Previous page                                | +    |----------+----------------------------------------------| +    | TAB, n   | Next link                                    | +    | S-TAB, p | Previous link                                | +    | N        | Next section                                 | +    | P        | Previous section                             | +    |----------+----------------------------------------------| +    | k        | Kill current page and go to previous or next | +    | g, r     | Refresh page                                 | +    | c        | Clear browsing history                       | +    |----------+----------------------------------------------| +    | ., M-.   | Edit identifier at point                     | +    | z        | Switch to REPL                               | +    |----------+----------------------------------------------| +    | q        | Bury buffer                                  | +    |----------+----------------------------------------------|  *** In backtrace (evaluation/compile result) buffers: diff --git a/doc/cheat.texi b/doc/cheat.texi index 68e4274..108d5a2 100644 --- a/doc/cheat.texi +++ b/doc/cheat.texi @@ -150,13 +150,20 @@  @multitable @columnfractions .20 .4 .4  @headitem Key @tab Command @tab Description -@item n, f +@item TAB, n +@tab forward-button +@tab Next link +@item S-TAB, p +@tab backwards-button +@tab Previous link +@item N +@tab geiser-doc-next-section @tab Next section +@item P +@tab geiser-doc-previous-section @tab Previous section +@item f  @tab geiser-doc-next @tab Next page -@item p, b +@item b  @tab geiser-doc-previous @tab Previous page -@item TAB, S-TAB -@tab forward-button, backwards-button -@tab Next/previous link  @item k  @tab geiser-doc-kill-page  @tab Kill current page and go to previous or next diff --git a/elisp/geiser-doc.el b/elisp/geiser-doc.el index 7462c4a..1606dc4 100644 --- a/elisp/geiser-doc.el +++ b/elisp/geiser-doc.el @@ -262,6 +262,14 @@ With prefix argument, ask for symbol (with completion)."                                                      (symbol-at-point)))))      (when symbol (geiser-doc-symbol symbol)))) +(defconst geiser-doc--sections '(("Procedures:" procs) +                                 ("Syntax:" syntax) +                                 ("Variables:" vars) +                                 ("Submodules:" modules t))) + +(defconst geiser-doc--sections-re +  (format "^%s\n" (regexp-opt (mapcar 'car geiser-doc--sections)))) +  (defun geiser-doc-module (&optional module impl)    "Display information about a given module."    (interactive) @@ -277,17 +285,11 @@ With prefix argument, ask for symbol (with completion)."          (erase-buffer)          (geiser-doc--insert-title (format "%s" module) t)          (newline) -        (dolist (g '(("Procedures:" . procs) -                     ("Syntax:" . syntax) -                     ("Variables:" . vars))) +        (dolist (g geiser-doc--sections)            (geiser-doc--insert-list (car g) -                                   (cdr (assoc (cdr g) exports)) -                                   module +                                   (cdr (assoc (cadr g) exports)) +                                   (and (not (cddr g)) module)                                     impl)) -        (geiser-doc--insert-list "Submodules:" -                                 (cdr (assoc 'modules exports)) -                                 nil -                                 impl)          (setq geiser-doc--buffer-link                (geiser-doc--history-push                 (geiser-doc--make-link nil module impl))) @@ -296,6 +298,18 @@ With prefix argument, ask for symbol (with completion)."        (message "%s done" msg)        (geiser-doc--pop-to-buffer)))) +(defun geiser-doc-next-section () +  "Move to next section in this page." +  (interactive) +  (next-line) +  (re-search-forward geiser-doc--sections-re nil t) +  (previous-line)) + +(defun geiser-doc-previous-section () +  "Move to previous section in this page." +  (interactive) +  (re-search-backward geiser-doc--sections-re nil t)) +  (defun geiser-doc-next (&optional forget-current)    "Go to next page in documentation browser.  With prefix, the current page is deleted from history." @@ -365,12 +379,16 @@ With prefix, the current page is deleted from history."    (switch-to-geiser nil nil (current-buffer)))  (geiser-menu--defmenu doc geiser-doc-mode-map -  ("Next page" ("n" "f") geiser-doc-next "Next item" +  ("Next link" ("n") forward-button) +  ("Previous link" ("p") backward-button) +  ("Next section" ("N") geiser-doc-next-section) +  ("Previous section" ("P") geiser-doc-previous-section) +  -- +  ("Next page" ("f") geiser-doc-next "Next item"     :enable (geiser-doc--history-next-p)) -  ("Previous page" ("p" "b") geiser-doc-previous "Previous item" +  ("Previous page" ("b") geiser-doc-previous "Previous item"     :enable (geiser-doc--history-previous-p)) -  ("Next link" nil forward-button) -  ("Previous link" nil backward-button) +  --    ("Go to REPL" ("z" "\C-cz" "\C-c\C-z") geiser-doc-switch-to-repl)    ("Refresh" ("g" "r") geiser-doc-refresh "Refresh current page")    -- | 
