equal
deleted
inserted
replaced
1 |
|
2 (defvar mypasshide-prefix-re "^pass: *") |
|
3 |
|
4 (defun mypasshide--toggle-display (overlay hide) |
|
5 "Hide or reveal region. Signature follows convention for |
|
6 `reveal-toggle-invisible' from `reveal' mode." |
|
7 (if hide |
|
8 (overlay-put overlay 'display (propertize "****" 'face 'warning)) |
|
9 (overlay-put overlay 'display nil))) |
|
10 |
|
11 (defun mypasshide--hide () |
|
12 (save-excursion |
|
13 (goto-char (point-min)) |
|
14 (while (re-search-forward mypasshide-prefix-re nil t) |
|
15 (let* ((beg (match-end 0)) |
|
16 (end (line-end-position)) |
|
17 (overlay (make-overlay beg end))) |
|
18 (mypasshide--toggle-display overlay t) |
|
19 (overlay-put overlay 'reveal-toggle-invisible #'mypasshide--toggle-display) |
|
20 )))) |
|
21 |
|
22 ;;;###autoload |
|
23 (define-minor-mode mypasshide-mode |
|
24 "Hide passwords after `mypasshide-prefix-re' and activate |
|
25 `reveal-mode'. Disabling is not implemented." |
|
26 :group 'reveal |
|
27 (if mypasshide-mode |
|
28 (progn |
|
29 (mypasshide--hide) |
|
30 (reveal-mode)))) |
|
31 |
|
32 (provide 'mypasshide) |
|
33 |
|