branch: externals/hyperbole
commit 424203e56c5f7374d627bbc2793bc4072551bdd1
Author: bw <[email protected]>
Commit: bw <[email protected]>
hywiki.el - Conditionaly load company-mode backend function
---
hui.el | 2 +-
hywiki.el | 27 ++++++++++++++-------------
2 files changed, 15 insertions(+), 14 deletions(-)
diff --git a/hui.el b/hui.el
index 3ba334a777..d230333d74 100644
--- a/hui.el
+++ b/hui.el
@@ -1753,7 +1753,7 @@ button's source file name when the button data is stored
externally."
If EDIT-FLAG is non-nil, edit button at point in BUT-WINDOW,
otherwise, prompt for button label and create a button.
LBL-KEY is internal form of button label. BUT-LOC is the file or buffer
-in which to create button. BUT-DIR is the directory of BUT-LOC.
+in which to create the button. BUT-DIR is the directory of BUT-LOC.
TYPE-AND-ARGS is the action type for the button followed by any
arguments it requires. Any text properties are removed from string
arguments."
diff --git a/hywiki.el b/hywiki.el
index 83ea51d17f..ffe46942c0 100644
--- a/hywiki.el
+++ b/hywiki.el
@@ -3,7 +3,7 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 21-Apr-24 at 22:41:13
-;; Last-Mod: 24-Apr-24 at 02:26:23 by Bob Weiner
+;; Last-Mod: 5-May-24 at 09:46:52 by Bob Weiner
;;
;; SPDX-License-Identifier: GPL-3.0-or-later
;;
@@ -183,16 +183,16 @@ nil, else return the file name of the page."
(page-buf (when page-file (find-file-noselect page-file))))
(when page-buf
(save-excursion
- (set-buffer page-buf)
- (barf-if-buffer-read-only)
- (save-restriction
- (widen)
- (goto-char (if start-flag (point-min) (point-max)))
- (unless (bolp) (insert (newline)))
- (insert text)
- (unless (bolp) (insert (newline)))
- (goto-char (if start-flag (point-min) (point-max)))
- page-file)))))
+ (with-current-buffer page-buf
+ (barf-if-buffer-read-only)
+ (save-restriction
+ (widen)
+ (goto-char (if start-flag (point-min) (point-max)))
+ (unless (bolp) (insert (newline)))
+ (insert text)
+ (unless (bolp) (insert (newline)))
+ (goto-char (if start-flag (point-min) (point-max)))
+ page-file))))))
(defun hywiki-at-wikiword (&optional org-link-flag)
"Return HyWiki word and optional #section at point or nil if not on one.
@@ -413,11 +413,12 @@ Use `hywiki-get-page' to determine whether a HyWiki page
exists."
page-files)))
(setq hywiki-pages-hasht (hash-make page-elts))))
+(when (featurep 'company)
(defun hywiki-company-hasht-backend (command &optional _arg &rest ignored)
"A `company-mode` backend that completes from the keys of a hash table."
(interactive (list 'interactive))
(when (hywiki-at-wikiword)
- (case command
+ (pcase command
('interactive (company-begin-backend 'company-hash-table-backend))
('prefix (company-grab-word))
('candidates
@@ -426,7 +427,7 @@ Use `hywiki-get-page' to determine whether a HyWiki page
exists."
(cl-loop for key being the hash-keys in (hywiki-get-page-list)
when (string-prefix-p prefix key)
collect key))))
- ('sorted t))))
+ ('sorted t)))))
(defun hywiki-org-link-complete (&optional _arg)
"Complete HyWiki page names for `org-insert-link'."