autocomplete - Emacs + clojure. Autocompletion data from all source files in project -
i've been developing c# applications long time. commercial ides , tools provide extremely code completion features. i'm learning clojure , miss familiar workflow.
so, emacs. i've installed nrepl, ac-nrepl , clojure-mode. auto completion works fine in repl. works symbols in current buffer. not for:
- symbols other project files
- external libraries (managed leiningen).
is there existing package covers cases 1 , 2?
my clojure-related config:
;;;;;;;;;;;;;;; ;;; clojure ;;; ;;;;;;;;;;;;;;; (require 'nrepl) ;; configure nrepl.el (setq nrepl-hide-special-buffers t) (setq nrepl-popup-stacktraces-in-repl t) (setq nrepl-history-file "~/.emacs.d/nrepl-history") ;; default eldoc facilities (add-hook 'nrepl-connected-hook (defun pnh-clojure-mode-eldoc-hook () (add-hook 'clojure-mode-hook 'turn-on-eldoc-mode) (add-hook 'nrepl-interaction-mode-hook 'nrepl-turn-on-eldoc-mode) (nrepl-enable-on-existing-clojure-buffers))) ;; repl mode hook (add-hook 'nrepl-mode-hook 'subword-mode) ;; auto completion nrepl (require 'ac-nrepl) (eval-after-load "auto-complete" '(add-to-list 'ac-modes 'nrepl-mode)) (add-hook 'nrepl-mode-hook 'ac-nrepl-setup) (add-hook 'clojure-nrepl-mode-hook 'ac-nrepl-setup) (define-key clojure-mode-map (kbd "c-<ret>") 'nrepl-eval-expression-at-point) ;(global-set-key (kbd "c-<ret>") 'nrepl-eval-expression-at-point) ;;;;;;;;;;;;;;;;;;;;; ;;; auto-complete ;;; ;;;;;;;;;;;;;;;;;;;;; (require 'auto-complete-config) (add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict") (setq ac-delay 0.0) (setq ac-use-quick-help t) (setq ac-quick-help-delay 0.05) (setq ac-use-fuzzy 1) (setq ac-auto-start 1) (setq ac-auto-show-menu 1) (ac-config-default) (define-key ac-mode-map (kbd "c-spc") 'auto-complete)
after installing fresh nrepl , ac-nrepl, here put .emacs
(package-initialize) (require 'auto-complete) (global-auto-complete-mode) (add-hook 'nrepl-mode-hook 'ac-nrepl-setup) (add-hook 'nrepl-interaction-mode-hook 'ac-nrepl-setup) (add-hook 'clojure-nrepl-mode-hook 'ac-nrepl-setup)
when nrepl-jack-in
test-project , open file of it, have tab-completion on every namespace loaded in project. seems forgot 'ac-nrepl-setup
on 'nrepl-interaction-mode-hook
.
Comments
Post a Comment