conf-autocomplete.el 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. ;;; Code:
  2. (require 'company)
  3. (require 'company-statistics)
  4. (require 'company-quickhelp)
  5. (require 'company-dabbrev)
  6. (require 'company-dabbrev-code)
  7. (defvar distopico:company-enable-yas t
  8. "Enable yasnippet for all backends.")
  9. (defvar distopico:company-ignore-backend '(company-eclim)
  10. "Backends to be ignored by default.")
  11. ;; Give a change to company-mode
  12. (setq company-dabbrev-other-buffers t
  13. company-dabbrev-code-other-buffers t
  14. ;;company-complete-number t
  15. company-idle-delay 0.2
  16. company-show-numbers t
  17. company-quickhelp-delay nil
  18. company-minimum-prefix-length 1
  19. company-dabbrev-downcase nil
  20. company-dabbrev-ignore-case nil
  21. company-selection-wrap-around t
  22. company-tooltip-align-annotations t
  23. ;;company-transformers (company-sort-by-backend-importance company-sort-by-occurrence company-sort-prefer-same-case-prefix)
  24. company-statistics-file (in-emacs-d ".cache/company-statistics-cache.el")
  25. abbrev-file-name (in-emacs-d ".cache/abbrev_defs"))
  26. (add-to-list 'company-transformers
  27. 'company-sort-by-occurrence 'append)
  28. ;; Custom shortcurts
  29. (eval-after-load 'company
  30. '(define-key company-active-map (kbd "M-h") #'company-quickhelp-manual-begin))
  31. ;; Functions
  32. ;;;###autoload
  33. (defun distopico:backend-with-yas (backends)
  34. "Add support of yasnippet to `BACKENDS'."
  35. (remove nil (mapcar (lambda (backend)
  36. (unless (member backend distopico:company-ignore-backend)
  37. (if (or (not 'distopico:company-enable-yas) (and (listp backend) (member 'company-yasnippet backend)))
  38. backend
  39. (append (if (consp backend) backend (list backend))
  40. '(:with company-yasnippet)))))
  41. backends)))
  42. (defun distopico:after-init-hook ()
  43. "Hooks when Emacs init."
  44. (setq company-backends (distopico:backend-with-yas company-backends))
  45. (global-company-mode t)
  46. (company-quickhelp-mode t)
  47. (company-statistics-mode t))
  48. ;; Run
  49. (add-hook 'after-init-hook 'distopico:after-init-hook)
  50. (provide 'conf-autocomplete)