 ;;           '(lambda()
 ;;              (local-set-key [tab] 'yas/expand)))
 
-;; in fact, I think this is how you bind special yasnippets to minor modes:
-;; source: http://capitaomorte.github.io/yasnippet/snippet-expansion.html
-;; Controlling Expansion -> Eligible snippets -> yas-activate-extra-mode
-(add-hook 'cocktail-mode-hook
-          #'(lambda ()
-              (yas-activate-extra-mode 'cocktail-mode)))
+;; iedit
+;; (part 2 of making Emacs a good C/C++ editor/IDE,
+;; source: https://www.youtube.com/watch?v=r_HW0EB67eY)
+
+;; fix iedit keybinding bug for Macs
+(define-key global-map (kbd "C-c ;") 'iedit-mode)
+
+;; CEDET mode
+;; (part 3 of making Emacs a good C/C++ editor/IDE,
+;; source: https://www.youtube.com/watch?v=Ib914gNr0ys)
+
+;; turn on Semantic mode
+(semantic-mode 1)
+;; define a function to add  Semantic as a suggestion backend to auto-complete
+;; and hook said function into c-mode-common-hook
+(defun my:add-semantic-to-auto-complete ()
+  (add-to-list 'ac-sources 'ac-source-semantic))
+(add-hook 'c-mode-common-hook 'my:add-semantic-to-auto-complete)
+
+;; turn on EDE mode
+(global-ede-mode 1)
+;;;; template for creating projects for a program
+;; (ede-cpp-root-project "my project"
+;;                       :file "/path/to/src/main.cpp"
+;;                       :include-path '("/../include_folder"))
+;;;; you can use system-include-path for setting up system header file
+;;;; locations
+
+;; turn on automatic reparsing of open buffers in Semantic
+(global-semantic-idle-scheduler-mode 1)
 
 ;;;; Python ;;;;
 

   cocktail creation easier."
  :init-value nil
  :lighter " cktl")

;;      (yafolding-temp-toggle t)))


;;;; LaTeX/Cocktails ;;;;

;;;; define minor mode for LaTeX'd cocktail recipes -- totally pesonal
(define-minor-mode cocktail-mode
