                                     company-dabbrev-code
                                     company-dabbrev
                                     company-files)))))
-  (add-hook 'c-mode-hook '(lambda () (semantic-mode t)))
+  (add-hook 'c-mode-hook 'semantic-mode)
+  (add-hook 'c-mode-hook 'fa-config-default)
+  (add-hook 'c-mode-hook 'ede-enable-generic-projects)
   (add-hook 'c-mode-hook 'flycheck-mode)
+  (add-hook 'c-mode-hook 'hs-minor-mode)
+  (add-hook 'c-mode-hook 'c-turn-on-eldoc-mode)
+  ;; (add-hook 'c-mode-hook 'electric-spacing-mode)
   (add-hook 'c-mode-hook (lambda () (setq-local counsel-dash-docsets '("C"))))
-  ;(add-hook 'c-mode-hook 'electric-spacing-mode)
   :config
-  (add-to-list 'company-c-headers-path-system "/usr/include/c++/6.2.1"))
+  (require 'semantic)
+  (require 'semantic/ia)
+  (require 'semantic/db)
+  (require 'semantic/sb)
+  (require 'semantic/bovine)
+  (require 'semantic/bovine/c)
+  (require 'semantic/bovine/gcc)
+  (add-to-list 'company-c-headers-path-system "/usr/include/c++/6.2.1")
+  (add-to-list 'semantic-lex-c-preprocessor-symbol-file "/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/stddef.h")
+  (semanticdb-enable-gnu-global-databases 'c-mode t))
 
 (use-package company-c-headers
   :ensure t)
 
 (use-package srefactor
-  :ensure t
-  :bind
-  (:map c-mode-map
-   ("<M-return>" . srefactor-refactor-at-point)))
+  :ensure t)
+
+(use-package function-args
+  :ensure t)
+
+(use-package c-eldoc
+  :ensure t)
 
 (provide 'mds-c-pl)
-;;; mds-c-pl ends here
+;;; mds-c-pl.el ends here

  :mode
  ("\\.c$" . c-mode)
  ("\\.h$" . c-mode)
  :init
  (setq c-default-style "k&r"
        speedbar-show-unknow-files t
        semanticdb-default-save-directory (concat user-emacs-directory ".cache/semanticdb")
        semantic-default-submodes '(global-semantic-idle-scheduler-mode

                                    global-semantic-decoration-mode
                                    global-semantic-stickyfunc-mode
                                    global-semantic-mru-bookmark-mode
                                    global-semantic-idle-local-symbol-highlight-mode
                                    global-semantic-highlight-edits-mode
                                    global-semantic-show-parser-state-mode
                                    global-semantic-idle-breadcrumbs-mode
                                    global-semantic-show-unmatched-syntax-mode))
  (setq company-backends (remove 'company-clang company-backends))
  (add-hook 'c-mode-hook '(lambda ()
                            (set (make-local-variable 'company-transformers)
