(provide 'init-ac) (defun ac-add-files() "Set up filepath completion sources" (setq ac-sources (append '(ac-source-filename ac-source-files-in-current-dir) ac-sources))) ;; (use-package auto-complete :diminish auto-complete-mode :init (progn (require 'auto-complete-config) (setq ac-auto-start nil) (setq ac-auto-show-menu t ; Suggestions box must be invoked manually (see core-keymaps.el) ac-use-menu-map t ; Enable ac-menu-map map when menu is open ac-use-quick-help nil ; Don't show tooltips unless invoked (see core-keymaps.el) ac-use-fuzzy nil ac-candidate-limit 25) (setq-default ac-sources '(ac-source-abbrev ac-source-dictionary ac-source-words-in-same-mode-buffers)) (add-hook 'emacs-lisp-mode-hook 'ac-emacs-lisp-mode-setup) (add-hook 'css-mode-hook 'ac-css-mode-setup) (add-hook 'shell-script-mode-hook 'ac-add-files) ;; (add-hook 'auto-complete-mode-hook 'ac-common-setup) (global-auto-complete-mode t) ;; Fix line number flux bug (ac-linum-workaround)) :config (progn (add-to-list 'ac-dictionary-files (expand-file-name "global" *ac-dicts-dir)) (add-to-list 'ac-dictionary-directories *ac-dicts-dir) (imap ac-mode-map (kbd "C-x C-f") 'ac-complete-filename) (imap ac-mode-map (kbd "C-SPC") 'auto-complete) ;; (imap ac-mode-map (kbd "C-S-SPC") 'auto-complete) (define-key ac-completing-map (kbd "") 'ac-expand) (define-key ac-completing-map (kbd "C-n") 'ac-next) (define-key ac-completing-map (kbd "C-p") 'ac-previous) (define-key ac-completing-map (kbd "") 'ac-quick-help) (define-key ac-completing-map (kbd "ESC") 'ac-stop) (define-key ac-completing-map (kbd "RET") 'ac-complete) ;; Tell ido not to care about case (setq completion-ignore-case t)))