mylisp/mypasshide.el
author Oleksandr Gavenko <gavenkoa@gmail.com>
Wed, 16 Jun 2021 12:50:08 +0300
changeset 1734 ae2c6a001464
parent 1666 06937ff1ec5f
permissions -rw-r--r--
Add some standard places to PATH if they are not set by login script. Rearrange the order of paths so system's are first, user's are last. For Cygwin this helps with Cygwin's paths to be situated before "C:/Windows" (Emacs is not started from a login shell on Windows!).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1640
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     1
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     2
(defvar mypasshide-prefix-re "^pass: *")
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
(defun mypasshide--toggle-display (overlay hide)
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
  "Hide or reveal region. Signature follows convention for
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
`reveal-toggle-invisible' from `reveal' mode."
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     7
  (if hide
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     8
      (overlay-put overlay 'display (propertize "****" 'face 'warning))
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     9
    (overlay-put overlay 'display nil)))
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    10
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    11
(defun mypasshide--hide ()
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    12
  (save-excursion
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    13
    (goto-char (point-min))
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    14
    (while (re-search-forward mypasshide-prefix-re nil t)
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    15
      (let* ((beg (match-end 0))
1641
bbb65280822b Fixed indention.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1640
diff changeset
    16
             (end (line-end-position))
bbb65280822b Fixed indention.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1640
diff changeset
    17
             (overlay (make-overlay beg end)))
1640
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    18
        (mypasshide--toggle-display overlay t)
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    19
        (overlay-put overlay 'reveal-toggle-invisible #'mypasshide--toggle-display)
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
        ))))
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    21
1644
83380a5779c6 Marked function for autoload.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1641
diff changeset
    22
;;;###autoload
1640
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    23
(define-minor-mode mypasshide-mode
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    24
  "Hide passwords after `mypasshide-prefix-re' and activate
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    25
`reveal-mode'. Disabling is not implemented."
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    26
  :group 'reveal
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    27
  (if mypasshide-mode
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    28
      (progn
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    29
        (mypasshide--hide)
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    30
        (reveal-mode))))
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    31
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    32
(provide 'mypasshide)
cbcc2ac8f3e3 Implemented mypasshide-mode for hiding passwords from my .org files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    33