protoculture-autocomplete.el 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. ;; ---------- ---------- ---------- ---------- ---------- ---------- ----------
  2. ;; Acknowledgements:
  3. ;; https://github.com/byuksel/Emacs-as-a-C-Cplusplus-Editor-IDE-settings/
  4. ;; byuksel for the headers.
  5. ;; `gcc -xc++ -E -v -` combined output for my main systems:
  6. ;; /usr/include/c++/5
  7. ;; /usr/include/x86_64-linux-gnu/c++/5
  8. ;; /usr/include/c++/5/backward
  9. ;; /usr/lib/gcc/x86_64-linux-gnu/5/include
  10. ;; /usr/local/include
  11. ;; /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed
  12. ;; /usr/include/x86_64-linux-gnu
  13. ;; /usr/include
  14. ;;
  15. ;;
  16. ;; deps:
  17. ;; gcc
  18. ;; gcc/x86_64-linux-gnu/6/
  19. ;;
  20. ;; emacs deps:
  21. ;; melpa
  22. ;; auto-complete
  23. ;; auto-complete-config
  24. ;; auto-complete-c-headers
  25. ;;
  26. ;; troubleshooting:
  27. ;; On Debian, gcc might need:
  28. ;; sudo apt-get install --reinstall build-essential
  29. ;;
  30. ;; ---------- ---------- ---------- ---------- ---------- ---------- ----------
  31. (require 'auto-complete)
  32. (require 'auto-complete-config)
  33. (ac-config-default)
  34. ; let's define a function which initializes auto-complete-c-headers and gets called for c/c++ hooks
  35. (defun my:ac-c-header-init ()
  36. (require 'auto-complete-c-headers)
  37. (add-to-list 'ac-sources 'ac-source-c-headers)
  38. (add-to-list 'achead:include-directories '"/usr/lib/gcc/x86_64-linux-gnu/6/include")
  39. )
  40. ;; hooks
  41. (add-hook 'c++-mode-hook 'my:ac-c-header-init)
  42. (add-hook 'c-mode-hook 'my:ac-c-header-init)
  43. (provide 'protoculture-autocomplete)