helpful

a fork of Wilfred's helpful
git clone https://git.trogloxene.org/helpful.git
Log | Files | Refs | README

commit c1fa68fa092201353d3666040c1e89bd31720227
parent 4ab9da8f434b0d0c17e80e29f7d56e02ae43f8bd
Author: Wilfred Hughes <me@wilfred.me.uk>
Date:   Sun, 31 Dec 2017 00:33:24 +0000

Highlight keywords in docstrings

See defface for an example.

Diffstat:
MCHANGELOG.md | 2++
Mhelpful.el | 14++++++++++++++
2 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md @@ -7,6 +7,8 @@ Added disassemble buttons to byte-code functions in symbol properties. Fixed an issue with the prompt when setting variables to symbol values. +Quoted keywords in docstrings are now highlighted. + # v0.5 Allow function tracing to be enabled/disabled from Helpful buffers. diff --git a/helpful.el b/helpful.el @@ -542,6 +542,19 @@ blank line afterwards." (-cons* first-line "" (cdr lines))) docstring))) +(defun helpful--propertize-keywords (docstring) + "Propertize quoted keywords in docstrings." + (replace-regexp-in-string + ;; Replace all text of the form `foo'. + (rx "`" + (group ":" symbol-start (+? anything) symbol-end) + "'") + (lambda (it) + (propertize (match-string 1 it) + 'face 'font-lock-builtin-face)) + docstring + t t)) + (defun helpful--propertize-symbols (docstring) "Convert symbol references in docstrings to buttons." (replace-regexp-in-string @@ -640,6 +653,7 @@ unescaping too." (helpful--split-first-line) (helpful--propertize-info) (helpful--propertize-symbols) + (helpful--propertize-keywords) (s-trim))) (helpful--format-docstring "(apply '+ 1 '(1 2))")