386 (defun rzgrep () |
386 (defun rzgrep () |
387 (interactive) |
387 (interactive) |
388 (let ( (grep-find-template "find . -type f <F> -exec zgrep <C> -nH -e <R> {} +") (grep-find-ignored-files nil) ) |
388 (let ( (grep-find-template "find . -type f <F> -exec zgrep <C> -nH -e <R> {} +") (grep-find-ignored-files nil) ) |
389 (cl-flet ( (grep-compute-defaults () nil) ) |
389 (cl-flet ( (grep-compute-defaults () nil) ) |
390 (call-interactively #'rgrep)))) |
390 (call-interactively #'rgrep)))) |
|
391 |
|
392 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
393 (message "CEDET, semantic, SRecord") |
|
394 |
|
395 ;; For debug use 'semantic-debug-idle-function' and 'semantic-debug-idle-work-function'. |
|
396 |
|
397 (eval-when 'compile |
|
398 (require 'cedet nil t) |
|
399 (require 'srecode nil t) |
|
400 (require 'srecode/table nil t) |
|
401 (require 'semantic nil t) |
|
402 (require 'semantic/idle nil t) |
|
403 (require 'ede/linux nil t)) |
|
404 |
|
405 (eval-and-compile |
|
406 (when (or |
|
407 (and (= emacs-major-version 23) (>= emacs-minor-version 2)) |
|
408 (>= emacs-major-version 24) ) |
|
409 (require 'cedet) |
|
410 (require 'mode-local))) |
|
411 |
|
412 (defun my-srecode-reload-templates () |
|
413 "Reload all templates under `srecode-map-load-path'. Useful |
|
414 during template developing." |
|
415 (interactive) |
|
416 (setq srecode-mode-table-list nil |
|
417 srecode-current-map nil) |
|
418 (srecode-map-update-map) ) |
|
419 |
|
420 (defun my-c-mode-cedet-hook () |
|
421 ;; (local-set-key [C-return] 'semantic-complete-symbol) |
|
422 ;; (local-set-key [C-return] 'semantic-complete-analyze-inline) |
|
423 ;; (local-set-key "." 'semantic-complete-self-insert) |
|
424 ;; (local-set-key ">" 'semantic-complete-self-insert) |
|
425 ) |
|
426 (add-hook 'c-mode-common-hook 'my-c-mode-cedet-hook) |
|
427 |
|
428 (when (featurep 'cedet) |
|
429 (require 'semantic) |
|
430 (global-semantic-idle-scheduler-mode 1) |
|
431 (global-semantic-idle-summary-mode 1) |
|
432 (global-semantic-idle-completions-mode -1) |
|
433 (global-semantic-mru-bookmark-mode 1) |
|
434 ;; (setq semantic-stickyfunc-sticky-classes '(function type variable include package)) |
|
435 (global-semantic-stickyfunc-mode -1) |
|
436 (global-semantic-highlight-func-mode -1) |
|
437 (global-semantic-decoration-mode 1) |
|
438 (when (fboundp 'global-semantic-idle-local-symbol-highlight-mode) |
|
439 (global-semantic-idle-local-symbol-highlight-mode 1)) |
|
440 (setq semantic-idle-scheduler-idle-time 10) |
|
441 (setq semantic-idle-scheduler-work-idle-time 60) |
|
442 (setq semantic-idle-scheduler-max-buffer-size 100000) |
|
443 ;; (setq semantic-idle-work-parse-neighboring-files-flag nil) |
|
444 ;; semantic-dependency-system-include-path, semantic-customize-system-include-path |
|
445 ;; file local project unloaded system recursive |
|
446 (setq-mode-local c-mode semanticdb-find-default-throttle '(file local)) |
|
447 (add-hook 'c-mode-hook (lambda nil (semantic-add-system-include "~/.emacs.d/include" 'c-mode))) |
|
448 (add-hook 'c-mode-hook (lambda nil (semantic-add-system-include "~/.emacs.d/include" 'c++-mode))) |
|
449 (global-semanticdb-minor-mode 1) |
|
450 (ignore-errors |
|
451 (global-cedet-m3-minor-mode 1)) |
|
452 (semantic-mode 1) |
|
453 (global-ede-mode 1) |
|
454 (require 'srecode) |
|
455 (defvar srecode-map-load-path nil) |
|
456 (add-to-list 'srecode-map-load-path (locate-user-emacs-file "srecode/")) |
|
457 (global-srecode-minor-mode 1) |
|
458 (add-hook 'prog-mode-hook 'srecode-minor-mode) |
|
459 (ignore-errors |
|
460 (cedet-ectag-version-check) |
|
461 (semantic-load-enable-primary-ectags-support)) |
|
462 (ignore-errors |
|
463 (cedet-gnu-global-version-check) |
|
464 (require 'cedet-global) |
|
465 (semanticdb-enable-gnu-global-databases 'c-mode) |
|
466 (semanticdb-enable-gnu-global-databases 'c++-mode)) |
|
467 (ignore-errors |
|
468 (require 'cedet-java)) |
|
469 (setq project-linux-build-directory-default 'same |
|
470 project-linux-architecture-default "x86") |
|
471 ;; (require 'semantic/db-javap) |
|
472 ;; (add-to-list 'ede-locate-setup-options 'ede-locate-idutils) |
|
473 ;; (add-to-list 'ede-locate-setup-options 'ede-locate-global) |
|
474 ;; (ignore-errors (require 'cedet-idutils)) |
|
475 (ignore-errors |
|
476 (require 'semantic/ia) |
|
477 (define-key semantic-mode-map (kbd "C-c , .") 'semantic-ia-fast-jump) |
|
478 (define-key semantic-mode-map (kbd "C-c , d") 'semantic-ia-show-doc) |
|
479 (define-key semantic-mode-map (kbd "C-c , D") 'semantic-ia-show-summary) |
|
480 (define-key semantic-mode-map (kbd "C-c , ?") 'semantic-ia-complete-symbol-menu) |
|
481 ;; (define-key semantic-mode-map [(control return)] 'semantic-ia-complete-symbol) |
|
482 ;; (define-key semantic-mode-map (kbd "C-c , C") 'semantic-ia-describe-class) |
|
483 ;; semantic-decoration-include-visit |
|
484 ;; semantic-analyze-proto-impl-toggle |
|
485 ) |
|
486 ;; END OF: (when (featurep 'cedet) ...) |
|
487 ) |