Changeset 18859 for lang/elisp
- Timestamp:
- 09/05/08 00:25:18 (3 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
lang/elisp/anything-c-moccur/trunk/anything-c-moccur.el
r18824 r18859 3 3 4 4 ;; Author: Kenji.Imakado <ken.imakaado -at- gmail.com> 5 ;; Version: 0. 15 ;; Version: 0.2 6 6 ;; Keywords: occur 7 7 ;; Prefix: anything-c-moccur- … … 217 217 (anything-c-moccur-anything-try-execute-persistent-action)) 218 218 219 ;;; Advise and Hack220 (defun anything-c-moccur-anything-execute-persistent-action ()221 "If a candidate was selected then perform the associated action without quitting anything."222 (interactive)223 (save-selected-window224 (select-window (get-buffer-window anything-buffer))225 (select-window (setq minibuffer-scroll-window226 (if (one-window-p t) (split-window) (next-window (selected-window) 1))))227 (let* ((anything-window (get-buffer-window anything-buffer))228 ;;(same-window-regexps '("."))229 (selection (if anything-saved-sources230 ;; the action list is shown231 anything-saved-selection232 (anything-get-selection)))233 (default-action (anything-get-action))234 (action (assoc-default 'persistent-action (anything-get-current-source))))235 (setq action (or action default-action))236 (if (and (listp action)237 (not (functionp action))) ; lambda238 ;; select the default action239 (setq action (cdar action)))240 (set-window-dedicated-p anything-window t)241 (unwind-protect242 (and action selection (funcall action selection))243 (set-window-dedicated-p anything-window nil)))))244 245 219 (defun anything-c-moccur-initialize () 246 (setq anything-c-moccur-anything-invoking-flag t) 247 (setq anything-c-moccur-anything-current-buffer (current-buffer)) 248 (setq anything-c-moccur-saved-info nil)) 220 (setq anything-c-moccur-saved-info nil 221 anything-c-moccur-anything-invoking-flag t)) 249 222 250 223 (defun anything-c-moccur-anything-try-execute-persistent-action () 251 (when (and (ignore-errors (anything-get-current-source)) 252 anything-c-moccur-enable-auto-look-flag) 253 (anything-c-moccur-anything-execute-persistent-action))) 224 (when (and anything-c-moccur-enable-auto-look-flag 225 anything-c-moccur-anything-invoking-flag) 226 (unless (zerop (buffer-size (get-buffer (anything-buffer-get)))) 227 (anything-execute-persistent-action)))) 254 228 255 229 (defmacro anything-c-moccur-with-anything-env (sources &rest body) … … 261 235 anything-c-moccur-anything-idle-delay) 262 236 (t anything-idle-delay)))) 263 (anything-c-moccur-initialize)264 237 (add-hook 'anything-c-moccur-anything-after-update-hook 'anything-c-moccur-anything-try-execute-persistent-action) 265 238 (unwind-protect … … 268 241 (remove-hook 'anything-c-moccur-anything-after-update-hook 'anything-c-moccur-anything-try-execute-persistent-action)))) 269 242 270 (defun anything-c-moccur-anything-update-initial-pattern ()271 (let ((minibuffer-window (active-minibuffer-window)))272 (when (and minibuffer-window273 (stringp anything-c-moccur-anything-initial-pattern))274 (with-current-buffer (window-buffer minibuffer-window)275 (insert anything-c-moccur-anything-initial-pattern)276 (anything-check-minibuffer-input)))))277 278 (defadvice anything (around anything-c-moccur-enable-initial-pattern activate)279 (cond ((and (boundp 'anything-c-moccur-anything-invoking-flag)280 anything-c-moccur-anything-invoking-flag281 (not (string-equal "" anything-c-moccur-anything-initial-pattern)))282 (add-hook 'minibuffer-setup-hook 'anything-c-moccur-anything-update-initial-pattern)283 (unwind-protect284 ad-do-it285 (remove-hook 'minibuffer-setup-hook 'anything-c-moccur-anything-update-initial-pattern)))286 (t287 ad-do-it)))288 289 243 (defun anything-c-moccur-clean-up () 290 244 (setq anything-c-moccur-anything-invoking-flag nil) 291 292 245 (when (overlayp anything-c-moccur-current-line-overlay) 293 246 (delete-overlay anything-c-moccur-current-line-overlay))) 294 295 (defadvice anything-cleanup (after anything-c-moccur-clean-up activate protect)296 (ignore-errors297 (anything-c-moccur-clean-up)))298 247 299 248 ;; (anything-next-line) 後のanything-update-hook … … 301 250 (defvar anything-c-moccur-anything-after-update-hook nil) 302 251 (defadvice anything-process-delayed-sources (after anything-c-moccur-anything-after-update-hook activate protect) 303 (when (and (boundp 'anything-c-moccur-anything-invoking-flag)304 anything-c-moccur-anything-invoking-flag)305 (ignore-errors306 (run-hooks 'anything-c-moccur-anything-after-update-hook))))252 (when (and (boundp 'anything-c-moccur-anything-invoking-flag) 253 anything-c-moccur-anything-invoking-flag) 254 (ignore-errors 255 (run-hooks 'anything-c-moccur-anything-after-update-hook)))) 307 256 308 257 (defadvice anything-select-action (before anything-c-moccur-saved-info activate) … … 391 340 392 341 (defun anything-c-moccur-occur-by-moccur-get-candidates () 393 (anything-c-moccur-moccur-search anything-pattern t (list anything-c -moccur-anything-current-buffer))342 (anything-c-moccur-moccur-search anything-pattern t (list anything-current-buffer)) 394 343 (anything-c-moccur-occur-by-moccur-scraper)) 395 344 396 345 (defun anything-c-moccur-occur-by-moccur-persistent-action (candidate) 397 (pop-to-buffer anything-c-moccur-anything-current-buffer)398 346 (anything-c-moccur-widen-if-need) 399 347 (goto-line (string-to-number candidate)) … … 416 364 (action . (("Goto line" . anything-c-moccur-occur-by-moccur-goto-line))) 417 365 (persistent-action . anything-c-moccur-occur-by-moccur-persistent-action) 366 (init . anything-c-moccur-initialize) 367 (cleanup . anything-c-moccur-clean-up) 418 368 (match . (identity)) 419 369 (requires-pattern . 3) … … 426 376 (let* ((initial-pattern (if anything-c-moccur-enable-initial-pattern 427 377 (or (thing-at-point 'symbol) "") 428 "")) 429 (anything-c-moccur-anything-initial-pattern initial-pattern)) 378 ""))) 430 379 (when anything-c-moccur-push-mark-flag 431 380 (push-mark)) 432 (anything ))))381 (anything nil initial-pattern)))) 433 382 434 383 (defun anything-c-moccur-occur-by-moccur-only-function () 435 384 (interactive) 436 385 (anything-c-moccur-with-anything-env (list anything-c-source-occur-by-moccur) 437 (let ((anything-c-moccur-anything-initial-pattern "! ")) 438 (when anything-c-moccur-push-mark-flag 439 (push-mark)) 440 (anything)))) 386 (when anything-c-moccur-push-mark-flag 387 (push-mark)) 388 (anything nil "! "))) 441 389 442 390 (defun anything-c-moccur-occur-by-moccur-only-comment () 443 391 (interactive) 444 392 (anything-c-moccur-with-anything-env (list anything-c-source-occur-by-moccur) 445 (let ((anything-c-moccur-anything-initial-pattern ";;; ")) 446 (when anything-c-moccur-push-mark-flag 447 (push-mark)) 448 (anything)))) 393 (when anything-c-moccur-push-mark-flag 394 (push-mark)) 395 (anything ";;; "))) 449 396 450 397 ;;; dmoccur … … 483 430 (anything-c-moccur-next-line-if-info-line) 484 431 485 (let ((real-candidate (if anything-saved-sources 486 ;; the action list is shown 487 anything-saved-selection 488 (anything-get-selection)))) 432 (let ((real-candidate (anything-get-selection))) 489 433 490 434 (multiple-value-bind (buffer file-path) … … 494 438 (stringp file-path) 495 439 (file-readable-p file-path)) 496 (find-file-other-window file-path) 440 441 (find-file file-path) 497 442 498 443 (anything-c-moccur-widen-if-need) … … 529 474 (match . (identity)) 530 475 (requires-pattern . 5) 476 (init . anything-c-moccur-initialize) 477 (cleanup . anything-c-moccur-clean-up) 531 478 (delayed) 532 479 (volatile))) … … 565 512 (match . (identity)) 566 513 (requires-pattern . 3) 514 (init . anything-c-moccur-initialize) 515 (cleanup . anything-c-moccur-clean-up) 567 516 (delayed) 568 517 (volatile))) … … 651 600 (anything-c-moccur-match-only-internal "\" ")) 652 601 602 603 (dont-compile 604 (when (fboundp 'expectations) 605 (expectations 606 (desc "initialize test") 607 (expect t 608 (let (v) 609 (anything-test-candidates 610 '(((name . "TEST") 611 (candidates "foo") 612 (init . (lambda () 613 (anything-c-moccur-initialize) 614 (setq v anything-c-moccur-anything-invoking-flag))) 615 (cleanup . anything-c-moccur-clean-up)))) 616 v)) 617 (desc "cleanup test") 618 (expect nil 619 (let ((anything-c-moccur-anything-invoking-flag t)) 620 (anything-test-candidates 621 '(anything-c-source-occur-by-moccur)) 622 anything-c-moccur-anything-invoking-flag)) 623 (desc "anything-c-source-occur-by-moccur") 624 (expect '(("Occur by Moccur" (" 2 bbb"))) 625 (let ((buf (get-buffer-create "*test anything-c-moccur*"))) 626 (with-current-buffer buf 627 (insert "aaa\nbbb\nccc") 628 (prin1 629 (anything-test-candidates 630 '(anything-c-source-occur-by-moccur) "bbb") 631 (kill-buffer buf))))) 632 ))) 633 634 653 635 (provide 'anything-c-moccur) 654 636
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)