|
15 | 15 | (:use (generic generic-edit) |
16 | 16 | (utils library cursor))) |
17 | 17 |
|
| 18 | +(define search-replace-text "") |
| 19 | + |
| 20 | + |
| 21 | +(tm-define (update-search-pos-text action) |
| 22 | + (let* ((index-str (get-alt-selection-index "alternate" action))) |
| 23 | + (if (== index-str "") |
| 24 | + (set-auxiliary-widget-title (translate search-replace-text)) |
| 25 | + (set-auxiliary-widget-title |
| 26 | + (string-append (translate search-replace-text) " (" index-str ")"))))) |
| 27 | + |
| 28 | + |
| 29 | + |
18 | 30 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
19 | 31 | ;; Basic search and replace buffers management |
20 | 32 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
153 | 165 | (begin |
154 | 166 | (selection-cancel) |
155 | 167 | (cancel-alt-selection "alternate") |
| 168 | + (update-search-pos-text "new") |
156 | 169 | (go-to** (get-search-reference #t))) |
157 | 170 | (let* ((t (buffer-tree)) |
158 | 171 | (sels* (tree-perform-search t what (tree->path t) limit)) |
|
165 | 178 | ((null? sels) |
166 | 179 | (selection-cancel) |
167 | 180 | (cancel-alt-selection "alternate") |
| 181 | + (update-search-pos-text "new") |
168 | 182 | (go-to** (get-search-reference #t)) |
169 | 183 | (set! ok? #f)) |
170 | 184 | (else |
171 | 185 | (set-alt-selection "alternate" sels) |
172 | 186 | (with after? (next-search-result #t #f) |
173 | 187 | (when (not after?) |
174 | | - (selection-cancel)))))))) |
| 188 | + (selection-cancel)) |
| 189 | + (update-search-pos-text "new"))))))) |
175 | 190 | (with-buffer (search-buffer) |
176 | 191 | (if ok? |
177 | 192 | (init-default "bg-color") |
|
219 | 234 | (selection-set-range-set sel) |
220 | 235 | (go-to* (car sel)) |
221 | 236 | (when strict? (set-search-reference (car sel))) |
| 237 | + (update-search-pos-text (if forward? "next" "previous")) |
222 | 238 | #t)))) |
223 | 239 |
|
224 | 240 | (define (extreme-search-result last?) |
|
228 | 244 | (begin |
229 | 245 | (selection-set-range-set sel) |
230 | 246 | (go-to* (car sel)) |
231 | | - (set-search-reference (car sel)))))) |
| 247 | + (set-search-reference (car sel)) |
| 248 | + (update-search-pos-text (if last? "last" "first")))))) |
232 | 249 |
|
233 | 250 | (tm-define (search-next-match forward?) |
234 | 251 | (with-buffer (master-buffer) |
|
368 | 385 | (start-editing) |
369 | 386 | (replace-next by) |
370 | 387 | (end-editing)) |
371 | | - (perform-search*))) |
| 388 | + (perform-search*) |
| 389 | + (update-search-pos-text "new"))) |
372 | 390 |
|
373 | 391 | (tm-define (replace-all) |
374 | 392 | (and-with by (or (by-tree) current-replace) |
|
377 | 395 | (while (replace-next by) |
378 | 396 | (perform-search*)) |
379 | 397 | (end-editing)) |
380 | | - (perform-search*))) |
| 398 | + (perform-search*) |
| 399 | + (update-search-pos-text "new"))) |
381 | 400 |
|
382 | 401 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
383 | 402 | ;; Customized keyboard shortcuts in search and replace modes |
|
970 | 989 |
|
971 | 990 | (tm-define (interactive-search) |
972 | 991 | (:interactive #t) |
| 992 | + (set! search-replace-text "search") |
973 | 993 | (set-boolean-preference "search-and-replace" #f) |
974 | 994 | (if (and (get-boolean-preference "toolbar search") |
975 | 995 | (not (buffer-aux? (current-buffer)))) |
|
978 | 998 |
|
979 | 999 | (tm-define (interactive-replace) |
980 | 1000 | (:interactive #t) |
| 1001 | + (set! search-replace-text "search and replace") |
981 | 1002 | (set-boolean-preference "search-and-replace" #t) |
982 | 1003 | (if (and (get-boolean-preference "toolbar replace") |
983 | 1004 | (not (buffer-aux? (current-buffer)))) |
|
0 commit comments