|
@@ -78,7 +78,7 @@
|
|
"Book module for Diatheke to query."
|
|
"Book module for Diatheke to query."
|
|
:type '(choice (const :tag "None" nil)
|
|
:type '(choice (const :tag "None" nil)
|
|
(string :tag "Module abbreviation (e.g. \"KJV\")"))
|
|
(string :tag "Module abbreviation (e.g. \"KJV\")"))
|
|
- :local t
|
|
|
|
|
|
+;; :local t
|
|
:group 'bible-mode)
|
|
:group 'bible-mode)
|
|
|
|
|
|
;;;
|
|
;;;
|
|
@@ -583,25 +583,27 @@ Genesis 1:1 is used."
|
|
(defun bible-mode-select-module ()
|
|
(defun bible-mode-select-module ()
|
|
"Ask user for a new text module for the current `bible-mode' buffer."
|
|
"Ask user for a new text module for the current `bible-mode' buffer."
|
|
(interactive)
|
|
(interactive)
|
|
- (let ((module (completing-read "Module: " bible-mode-modules)))
|
|
|
|
- (setq-local bible-mode-module module)
|
|
|
|
- (bible-mode--display)))
|
|
|
|
|
|
+;; (let* ((bible-mode-module (completing-read "Module: " bible-mode-modules)))
|
|
|
|
+;; (bible-mode--display))
|
|
|
|
+
|
|
|
|
+ (setq-default bible-mode-module (completing-read "Module: " bible-mode-modules))
|
|
|
|
+ (bible-mode--display))
|
|
|
|
|
|
;;;###autoload
|
|
;;;###autoload
|
|
-(defun bible-mode-toggle-word-study()
|
|
|
|
|
|
+(defun bible-mode-toggle-word-study ()
|
|
"Toggle the inclusion of word study for the active `bible-mode' buffer."
|
|
"Toggle the inclusion of word study for the active `bible-mode' buffer."
|
|
(interactive)
|
|
(interactive)
|
|
(setq bible-mode-word-study-enabled (not bible-mode-word-study-enabled))
|
|
(setq bible-mode-word-study-enabled (not bible-mode-word-study-enabled))
|
|
(if (equal major-mode 'bible-search-mode)
|
|
(if (equal major-mode 'bible-search-mode)
|
|
- (bible-mode--display-search bible-mode-search-query bible-mode-search-mode bible-mode-module)
|
|
|
|
|
|
+ (bible-mode--display-search bible-mode-search-query bible-mode-search-mode)
|
|
(bible-mode--display)))
|
|
(bible-mode--display)))
|
|
|
|
|
|
-(defun bible-mode-toggle-red-letter()
|
|
|
|
|
|
+(defun bible-mode-toggle-red-letter ()
|
|
"Toggle red letter mode for the active `bible-mode' buffer."
|
|
"Toggle red letter mode for the active `bible-mode' buffer."
|
|
(interactive)
|
|
(interactive)
|
|
(setq bible-mode-red-letter-enabled (not bible-mode-red-letter-enabled))
|
|
(setq bible-mode-red-letter-enabled (not bible-mode-red-letter-enabled))
|
|
(if (equal major-mode 'bible-search-mode)
|
|
(if (equal major-mode 'bible-search-mode)
|
|
- (bible-mode--display-search bible-mode-search-query bible-mode-search-mode bible-mode-module)
|
|
|
|
|
|
+ (bible-mode--display-search bible-mode-search-query bible-mode-search-mode)
|
|
(bible-mode--display)))
|
|
(bible-mode--display)))
|
|
|
|
|
|
;;;###autoload
|
|
;;;###autoload
|
|
@@ -621,8 +623,9 @@ requires an index to be built using the `mkfastmod' program. `lucene' is
|
|
the default search."
|
|
the default search."
|
|
(interactive "sBible Search: ")
|
|
(interactive "sBible Search: ")
|
|
(when (> (length query) 0)
|
|
(when (> (length query) 0)
|
|
- (let* ((searchmode (completing-read "Search Mode: " '("lucene" "phrase" "regex" "multiword") nil t "lucene")))
|
|
|
|
- (bible-mode--open-search query searchmode bible-mode-module))))
|
|
|
|
|
|
+ (let* ((bible-mode-module (buffer-local-value 'bible-mode-module (current-buffer)))
|
|
|
|
+ (searchmode (completing-read "Search Mode: " '("lucene" "phrase" "regex" "multiword") nil t "lucene")))
|
|
|
|
+ (bible-mode--open-search query searchmode))))
|
|
|
|
|
|
;;;###autoload
|
|
;;;###autoload
|
|
(defun bible-search-mode-follow-verse ()
|
|
(defun bible-search-mode-follow-verse ()
|
|
@@ -929,13 +932,23 @@ Note: compiler warns about unused `window' argument."
|
|
(puthash query (bible-mode--morph-query query database) hash)))
|
|
(puthash query (bible-mode--morph-query query database) hash)))
|
|
|
|
|
|
(defvar bible-mode-outline-strings
|
|
(defvar bible-mode-outline-strings
|
|
- '((" I." . "\n I.")
|
|
|
|
- (" 1." . "\n 1.")
|
|
|
|
- (" 2." . "\n 2.")
|
|
|
|
- (" 3." . "\n 3.")
|
|
|
|
- (" a." . "\n a.")
|
|
|
|
- (" b." . "\n b.")
|
|
|
|
- (" c." . "\n c.")
|
|
|
|
|
|
+ '((" I." . "\n I.")
|
|
|
|
+ (" II." . "\n II.")
|
|
|
|
+ (" III." . "\n III.")
|
|
|
|
+ (" IV." . "\n IV.")
|
|
|
|
+ (" V." . "\n V.")
|
|
|
|
+ (" 1." . "\n 1.")
|
|
|
|
+ (" 2." . "\n 2.")
|
|
|
|
+ (" 3." . "\n 3.")
|
|
|
|
+ (" 4." . "\n 4.")
|
|
|
|
+ (" 5." . "\n 5.")
|
|
|
|
+ (" 6." . "\n 6.")
|
|
|
|
+ (" 7." . "\n 7.")
|
|
|
|
+ (" 8." . "\n 8.")
|
|
|
|
+ (" 9." . "\n 9.")
|
|
|
|
+ (" a." . "\n a.")
|
|
|
|
+ (" b." . "\n b.")
|
|
|
|
+ (" c." . "\n c.")
|
|
(". ." . ".")
|
|
(". ." . ".")
|
|
(" . " . ". ")))
|
|
(" . " . ". ")))
|
|
|
|
|
|
@@ -1132,12 +1145,15 @@ XXX In processing subnodes, each case will prepend a space if it needs it."
|
|
(add-face-text-property (- (point) (length word)) (point) '(:foreground "gray50"))))))))
|
|
(add-face-text-property (- (point) (length word)) (point) '(:foreground "gray50"))))))))
|
|
|
|
|
|
|
|
|
|
-(defvar bible-mode-debugme nil)
|
|
|
|
|
|
+;;(defvar bible-mode-debugme nil)
|
|
|
|
|
|
(defun bible-mode--display (&optional verse)
|
|
(defun bible-mode--display (&optional verse)
|
|
"Render text for `bible-mode'.
|
|
"Render text for `bible-mode'.
|
|
If VERSE is supplied, set cursor at verse."
|
|
If VERSE is supplied, set cursor at verse."
|
|
|
|
|
|
|
|
+ ;; Display buffers can have different modules.
|
|
|
|
+ (setq-local bible-mode-module (default-value 'bible-mode-module))
|
|
|
|
+
|
|
;; Clear buffer and insert the result of calling bible-mode--exec-diatheke.
|
|
;; Clear buffer and insert the result of calling bible-mode--exec-diatheke.
|
|
(setq buffer-read-only nil)
|
|
(setq buffer-read-only nil)
|
|
(erase-buffer)
|
|
(erase-buffer)
|
|
@@ -1229,7 +1245,7 @@ If VERSE is supplied, set cursor at verse."
|
|
"Keymap action function---select module user chooses."
|
|
"Keymap action function---select module user chooses."
|
|
(interactive)
|
|
(interactive)
|
|
(let ((item (get-text-property (point) 'module)))
|
|
(let ((item (get-text-property (point) 'module)))
|
|
- (setq-default bible-mode-module item)
|
|
|
|
|
|
+ (setq-default bible-mode-module item)
|
|
(bible-open)))
|
|
(bible-open)))
|
|
|
|
|
|
|
|
|
|
@@ -1266,29 +1282,28 @@ If VERSE is supplied, set cursor at verse."
|
|
|
|
|
|
;;;;; Bible Searching
|
|
;;;;; Bible Searching
|
|
|
|
|
|
-(defun bible-mode--open-search (query searchmode mod)
|
|
|
|
|
|
+(defun bible-mode--open-search (query searchmode)
|
|
"Open a search buffer of QUERY using SEARCHMODE in module MOD."
|
|
"Open a search buffer of QUERY using SEARCHMODE in module MOD."
|
|
- (let ((buf (get-buffer-create (concat "*bible-search-" (downcase mod) "-" query "*"))))
|
|
|
|
|
|
+ (let ((buf (get-buffer-create (concat "*bible-search-" (downcase bible-mode-module) "-" query "*"))))
|
|
(set-buffer buf)
|
|
(set-buffer buf)
|
|
(bible-search-mode)
|
|
(bible-search-mode)
|
|
- (bible-mode--display-search query searchmode mod)
|
|
|
|
|
|
+ (bible-mode--display-search query searchmode)
|
|
(pop-to-buffer buf nil t)))
|
|
(pop-to-buffer buf nil t)))
|
|
|
|
|
|
-(defun bible-mode--display-search (query searchmode mod)
|
|
|
|
- "Render results of search QUERY from SEARCHMODE.
|
|
|
|
-Module MOD is used for the query."
|
|
|
|
|
|
+(defun bible-mode--display-search (query searchmode)
|
|
|
|
+ "Render results of search QUERY from SEARCHMODE."
|
|
(setq buffer-read-only nil)
|
|
(setq buffer-read-only nil)
|
|
(erase-buffer)
|
|
(erase-buffer)
|
|
|
|
|
|
(let* ((result (string-trim (replace-regexp-in-string
|
|
(let* ((result (string-trim (replace-regexp-in-string
|
|
"Entries .+?--" ""
|
|
"Entries .+?--" ""
|
|
- (bible-mode--exec-diatheke query nil "plain" searchmode mod))))
|
|
|
|
|
|
+ (bible-mode--exec-diatheke query nil "plain" searchmode bible-mode-module))))
|
|
(match 0)
|
|
(match 0)
|
|
(matchstr "")
|
|
(matchstr "")
|
|
(verses nil)
|
|
(verses nil)
|
|
(query-verses "")
|
|
(query-verses "")
|
|
fullverses)
|
|
fullverses)
|
|
- (if (equal result (concat "none (" mod ")"))
|
|
|
|
|
|
+ (if (equal result (concat "none (" bible-mode-module ")"))
|
|
(insert "No results found."
|
|
(insert "No results found."
|
|
(if (equal searchmode "lucene")
|
|
(if (equal searchmode "lucene")
|
|
" Verify index has been build with mkfastmod."
|
|
" Verify index has been build with mkfastmod."
|
|
@@ -1316,7 +1331,8 @@ Module MOD is used for the query."
|
|
(if query-verses
|
|
(if query-verses
|
|
(setq query-verses (concat query-verses ";" verse))
|
|
(setq query-verses (concat query-verses ";" verse))
|
|
(setq query-verses verse)))
|
|
(setq query-verses verse)))
|
|
- (setq fullverses (let ((bible-mode-show-diatheke-exec nil)) (bible-mode--exec-diatheke query-verses nil nil nil mod)))
|
|
|
|
|
|
+ (setq fullverses (let ((bible-mode-show-diatheke-exec nil))
|
|
|
|
+ (bible-mode--exec-diatheke query-verses nil nil nil bible-mode-module)))
|
|
|
|
|
|
(insert fullverses)
|
|
(insert fullverses)
|
|
|
|
|
|
@@ -1324,10 +1340,10 @@ Module MOD is used for the query."
|
|
(erase-buffer)
|
|
(erase-buffer)
|
|
(bible-mode--insert-domnode-recursive (dom-by-tag html-dom-tree 'body) nil nil)
|
|
(bible-mode--insert-domnode-recursive (dom-by-tag html-dom-tree 'body) nil nil)
|
|
(goto-char (point-min))
|
|
(goto-char (point-min))
|
|
- (while (search-forward (concat "(" mod ")") nil t)
|
|
|
|
|
|
+ (while (search-forward (concat "(" bible-mode-module ")") nil t)
|
|
(replace-match "")))))
|
|
(replace-match "")))))
|
|
|
|
|
|
- (setq mode-name (concat "Bible Search (" mod))
|
|
|
|
|
|
+ (setq mode-name (concat "Bible Search (" bible-mode-module))
|
|
(when bible-mode-search-range
|
|
(when bible-mode-search-range
|
|
(setq mode-name (concat mode-name " [" bible-mode-search-range "]")))
|
|
(setq mode-name (concat mode-name " [" bible-mode-search-range "]")))
|
|
(setq mode-name (concat mode-name ")"))
|
|
(setq mode-name (concat mode-name ")"))
|
|
@@ -1425,6 +1441,7 @@ left-to-right. XXX Why doesn't this work for the tooltips?"
|
|
|
|
|
|
(defun bible-mode--set-location (book chapter &optional verse)
|
|
(defun bible-mode--set-location (book chapter &optional verse)
|
|
"Set the BOOK, CHAPTER and optionally VERSE of the active `bible-mode' buffer."
|
|
"Set the BOOK, CHAPTER and optionally VERSE of the active `bible-mode' buffer."
|
|
|
|
+ (setq-local bible-mode-module (default-value 'bible-mode-module))
|
|
(setq-local bible-mode-current-book book)
|
|
(setq-local bible-mode-current-book book)
|
|
(setq-local bible-mode-current-book-name (car book))
|
|
(setq-local bible-mode-current-book-name (car book))
|
|
(setq-local bible-mode-current-chapter chapter)
|
|
(setq-local bible-mode-current-chapter chapter)
|