| 99 |
value |
value |
| 100 |
'kogiku-must-match-complete))) |
'kogiku-must-match-complete))) |
| 101 |
|
|
| 102 |
|
(defcustom kogiku-minibuffer-prompt-string "kogiku" |
| 103 |
|
"*Kogiku indicator in minibuffer." |
| 104 |
|
:group 'kogiku |
| 105 |
|
:type 'string) |
| 106 |
|
|
| 107 |
(defvar kogiku-original-function-for-minibuffer-local-completion-map |
(defvar kogiku-original-function-for-minibuffer-local-completion-map |
| 108 |
nil) |
nil) |
| 109 |
|
|
| 115 |
(when (and arg |
(when (and arg |
| 116 |
(eq minibuffer-completion-table 'read-file-name-internal)) |
(eq minibuffer-completion-table 'read-file-name-internal)) |
| 117 |
(setq minibuffer-completion-table 'kogiku-read-file-name-internal) |
(setq minibuffer-completion-table 'kogiku-read-file-name-internal) |
| 118 |
(kogiku-minibuffer-prompt)) |
(kogiku-minibuffer-prompt-e21)) |
| 119 |
(funcall kogiku-original-function-for-minibuffer-local-completion-map)) |
(funcall kogiku-original-function-for-minibuffer-local-completion-map) |
| 120 |
|
(kogiku-minibuffer-prompt-not-e21)) |
| 121 |
|
|
| 122 |
(defun kogiku-must-match-complete (&optional arg) |
(defun kogiku-must-match-complete (&optional arg) |
| 123 |
(interactive "P") |
(interactive "P") |
| 124 |
(when (and arg |
(when (and arg |
| 125 |
(eq minibuffer-completion-table 'read-file-name-internal)) |
(eq minibuffer-completion-table 'read-file-name-internal)) |
| 126 |
(setq minibuffer-completion-table 'kogiku-read-file-name-internal) |
(setq minibuffer-completion-table 'kogiku-read-file-name-internal) |
| 127 |
(kogiku-minibuffer-prompt)) |
(kogiku-minibuffer-prompt-e21)) |
| 128 |
(funcall kogiku-original-function-for-minibuffer-local-must-match-map)) |
(funcall kogiku-original-function-for-minibuffer-local-must-match-map) |
| 129 |
|
(kogiku-minibuffer-prompt-not-e21)) |
| 130 |
|
|
| 131 |
(defun kogiku-minibuffer-prompt () |
(defun kogiku-minibuffer-prompt-e21 () |
| 132 |
(when (fboundp 'field-beginning) |
(when (fboundp 'field-beginning) |
| 133 |
(let ((prompt (buffer-substring (point-min) (field-beginning))) |
(let ((prompt (buffer-substring (point-min) (field-beginning))) |
| 134 |
(buffer-read-only nil) |
(buffer-read-only nil) |
| 137 |
(save-excursion |
(save-excursion |
| 138 |
(when (string-match ":[^:]*" prompt) |
(when (string-match ":[^:]*" prompt) |
| 139 |
(setq prompt (concat (substring prompt 0 (match-beginning 0)) |
(setq prompt (concat (substring prompt 0 (match-beginning 0)) |
| 140 |
" (kogiku)" |
(format " (%s)" kogiku-minibuffer-prompt-string) |
| 141 |
(substring prompt (match-beginning 0)))) |
(substring prompt (match-beginning 0)))) |
| 142 |
(set-text-properties 0 (length prompt) props prompt) |
(set-text-properties 0 (length prompt) props prompt) |
| 143 |
(delete-region (point-min) (field-beginning)) |
(delete-region (point-min) (field-beginning)) |
| 144 |
(goto-char (point-min)) |
(goto-char (point-min)) |
| 145 |
(insert prompt)))))) |
(insert prompt)))))) |
| 146 |
|
|
| 147 |
|
(defvar kogiku-minibuffer-prompt-overlay nil) |
| 148 |
|
|
| 149 |
|
(defun kogiku-minibuffer-prompt-not-e21 () |
| 150 |
|
(unless (fboundp 'field-beginning) |
| 151 |
|
(when (eq minibuffer-completion-table 'kogiku-read-file-name-internal) |
| 152 |
|
(if kogiku-minibuffer-prompt-overlay |
| 153 |
|
(move-overlay kogiku-minibuffer-prompt-overlay |
| 154 |
|
(point-min) (1+ (point-min))) |
| 155 |
|
(setq kogiku-minibuffer-prompt-overlay |
| 156 |
|
(make-overlay (point-min) (1+ (point-min))))) |
| 157 |
|
(overlay-put kogiku-minibuffer-prompt-overlay |
| 158 |
|
'before-string |
| 159 |
|
(format "%s: " kogiku-minibuffer-prompt-string)) |
| 160 |
|
(overlay-put kogiku-minibuffer-prompt-overlay 'evaporate t)))) |
| 161 |
|
|
| 162 |
(if (fboundp 'compare-strings) |
(if (fboundp 'compare-strings) |
| 163 |
(defalias 'kogiku-compare-strings 'compare-strings) |
(defalias 'kogiku-compare-strings 'compare-strings) |
| 164 |
(defun kogiku-compare-strings (string1 start1 end1 string2 start2 end2) |
(defun kogiku-compare-strings (string1 start1 end1 string2 start2 end2) |