|
@@ -55,11 +55,6 @@
|
|
|
;; with lexical information will display that informatio in a "term"
|
|
|
;; buffer.
|
|
|
|
|
|
-
|
|
|
-;;;
|
|
|
-;;; "bm-" is used as shorthand (see Local Variables) for "bible-mode-"
|
|
|
-;;; Names of the form "bm--" are intended to be "unexported".
|
|
|
-
|
|
|
;;; Code:
|
|
|
|
|
|
;;;; Requirements
|
|
@@ -240,6 +235,8 @@ which are of the form
|
|
|
(defvar-local bible-mode-search-mode "phrase"
|
|
|
"Search mode: either `lucene' or `phrase'.")
|
|
|
|
|
|
+(defvar bible-mode-search-range nil)
|
|
|
+
|
|
|
(defvar-local bible-mode-has-strongs nil
|
|
|
"Set if the module being displayed has strongs numbers availabile.")
|
|
|
|
|
@@ -319,7 +316,7 @@ which are of the form
|
|
|
'("Bible Search" . bible-search))
|
|
|
|
|
|
;;;; Not yet
|
|
|
-;;;(define-key bible-mode-map "r" 'bible-mode-set-search-range)
|
|
|
+(define-key bible-mode-map "r" 'bible-mode-set-search-range)
|
|
|
;;;;; Misc
|
|
|
(define-key bible-mode-map "m" 'bible-mode-select-module)
|
|
|
(define-key bible-mode-map "w" 'bible-mode-toggle-word-study)
|
|
@@ -566,6 +563,17 @@ Genesis 1:1 is used."
|
|
|
(when chapter
|
|
|
(bible-mode--set-location bible-mode-current-book chapter))))
|
|
|
|
|
|
+(defun bible-mode-set-search-range ()
|
|
|
+ "Ask user for a new text module for the current `bible-mode' buffer."
|
|
|
+ (interactive)
|
|
|
+ (let ((range (read-string "Range (<return> to clear): " nil nil nil)))
|
|
|
+ (if (string-equal range "")
|
|
|
+ (setq bible-mode-search-range nil)
|
|
|
+ (setq bible-mode-search-range range))
|
|
|
+;; (bible-mode--display)
|
|
|
+))
|
|
|
+
|
|
|
+
|
|
|
;;;###autoload
|
|
|
(defun bible-mode-select-module ()
|
|
|
"Ask user for a new text module for the current `bible-mode' buffer."
|
|
@@ -650,7 +658,6 @@ OT/NT etc. If that module doesn't have that verse...???"
|
|
|
(setq book-abbrev (car verse-ref))
|
|
|
(setq chapter-verse (split-string (cadr verse-ref) ":"))))
|
|
|
|
|
|
- ;; (setq book (cdr (assoc book-abbrev bible-mode-book-name-abbreviations-alist)))
|
|
|
(setq book (car verse-ref))
|
|
|
(setq chapter (car chapter-verse)
|
|
|
verse (cadr chapter-verse))
|
|
@@ -698,7 +705,8 @@ OT/NT etc. If that module doesn't have that verse...???"
|
|
|
(if searchtype
|
|
|
(progn
|
|
|
(setq filter nil) ; search is not compatible with filters XXX
|
|
|
- (setq args (append args (list "-s" (pcase searchtype ("lucene" "lucene") ("phrase" "phrase"))))))
|
|
|
+ (setq args (append args (list "-s" (pcase searchtype ("lucene" "lucene") ("phrase" "phrase")))))
|
|
|
+ (when bible-mode-search-range (setq args (append args (list "-r" bible-mode-search-range)))))
|
|
|
(progn
|
|
|
(if filter
|
|
|
(setq filter (concat filter diatheke-filter-options))
|
|
@@ -1283,13 +1291,14 @@ Module MOD is used for the query."
|
|
|
|
|
|
(when match
|
|
|
(push
|
|
|
- ;; Massage match to make it more sortable, get rid of
|
|
|
- ;; some characters.
|
|
|
+ ;; Massage match to make it more sortable, get rid of some characters.
|
|
|
(replace-regexp-in-string
|
|
|
"I " "1"
|
|
|
(replace-regexp-in-string
|
|
|
"II " "2"
|
|
|
- (replace-regexp-in-string ".+; " "" matchstr)))
|
|
|
+ (replace-regexp-in-string
|
|
|
+ "III " "3"
|
|
|
+ (replace-regexp-in-string ".+; " "" matchstr))))
|
|
|
verses)))
|
|
|
|
|
|
(setq match 0)
|
|
@@ -1309,7 +1318,10 @@ Module MOD is used for the query."
|
|
|
(while (search-forward (concat "(" mod ")") nil t)
|
|
|
(replace-match "")))))
|
|
|
|
|
|
- (setq mode-name (concat "Bible Search (" mod ")"))
|
|
|
+ (setq mode-name (concat "Bible Search (" mod))
|
|
|
+ (when bible-mode-search-range
|
|
|
+ (setq mode-name (concat mode-name " [" bible-mode-search-range "]")))
|
|
|
+ (setq mode-name (concat mode-name ")"))
|
|
|
(setq buffer-read-only t)
|
|
|
(setq-local bible-mode-search-query query)
|
|
|
(setq-local bible-mode-search-mode searchmode)
|