Armin Moradi wrote:
Here we go, I got it working: Download these files: auto-complete.el auto-complete-cpp.el auto-complete-gtags.el auto-complete-semantic.el auto-complete-yasnippet.el put them in a directory, let's say ~/.emacs.d/elisp/ then add this to your ~/.emacs file: ==================== (add-to-list 'load-path "~/.emacs.d/elisp") (require 'auto-complete) (global-auto-complete-mode) ==================== It worked for me, but let me know if it worked for you too! (the auto-completion is really nice btw!)
I couldn't get it to auto-complete C++ keywords _not_ present in the buffer. So I changed my auto-complete-cpp.el (attached below). I made some minor changes to an example code posted on the emacs wiki page to include auto-complete both from the current buffer and from a list of keywords defined in auto-complete-cpp.el.
Now my .emacs looks like this, ;; load path for elisp files (add-to-list 'load-path "~/.emacs.d/elisp") ;; autocomplete extension (require 'auto-complete) (when (require 'auto-complete nil t) (require 'auto-complete-cpp) (global-auto-complete-mode)) -- Suvayu Open source is the future. It sets us free.
(require 'auto-complete) ;; (defvar ac-c++-sources ;; '(ac-source-c++-keywords)) ;; (ac-define-dictionary-source ;; ac-source-c++-keywords ;; '("and" "bool" "compl" "do" "export" "goto" "namespace" "or_eq" "return" ;; "struct" "try" "using" "xor" "and_eq" "break" "const" "double" "extern" ;; "if" "new" "private" "short" "switch" "typedef" "virtual" "xor_eq" "asm" ;; "case" "const_cast" "dynamic_cast" "false" "inline" "not" "protected" ;; "signed" "template" "typeid" "void" "auto" "catch" "continue" "else" ;; "float" "int" "not_eq" "public" "sizeof" "this" "typename" "volatile" ;; "bitand" "char" "default" "enum" "for" "long" "operator" "register" ;; "static" "throw" "union" "wchar_t" "bitor" "class" "delete" "explicit" ;; "friend" "mutable" "or" "reinterpret_cast" "static_cast" "true" ;; "unsigned" "while")) ;; (defun ac-c++-setup () ;; (setq ac-sources (append ac-c++-sources ac-sources))) ;; (defun ac-c++-init () ;; (add-hook 'c++-mode-hook 'ac-c++-setup)) (defconst c++-keywords (sort (list "and" "bool" "compl" "do" "export" "goto" "namespace" "or_eq" "return" "struct" "try" "using" "xor" "and_eq" "break" "const" "double" "extern" "if" "new" "private" "short" "switch" "typedef" "virtual" "xor_eq" "asm" "case" "const_cast" "dynamic_cast" "false" "inline" "not" "protected" "signed" "template" "typeid" "void" "auto" "catch" "continue" "else" "float" "int" "not_eq" "public" "sizeof" "this" "typename" "volatile" "bitand" "char" "default" "enum" "for" "long" "operator" "register" "static" "throw" "union" "wchar_t" "bitor" "class" "delete" "explicit" "friend" "mutable" "or" "reinterpret_cast" "static_cast" "true" "unsigned" "while" "include" ) #'(lambda (a b) (> (length a) (length b))))) (defvar ac-source-c++ '((candidates . (lambda () (all-completions ac-target c++-keywords)))) "Source for c++ keywords.") (add-hook 'c++-mode-hook (lambda () ;; (make-local-variable 'ac-sources) (setq ac-sources '(ac-source-abbrev ac-source-words-in-buffer ac-source-c++)))) (provide 'auto-complete-cpp)
-- fedora-list mailing list fedora-list@xxxxxxxxxx To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list Guidelines: http://fedoraproject.org/wiki/Communicate/MailingListGuidelines