                      js2-mode
                      rust-mode
                      smart-hungry-delete
-                     helpful
                      dired-collapse
                      dired-rainbow
                      dired-quick-sort

     (dumb-jump-go))))

;; (require 'smart-jump)
;; (semantic-mode 1)
;; (require 'semantic/ia)
;; (setq semantic-c-obey-conditional-section-parsing-flag nil)
;; (delete '(scheme-mode . semantic-default-scheme-setup) semantic-new-buffer-setup-functions)

(defun my-c-imenu ()
  (interactive)
  (semantic-mode 1)
  (helm-semantic-or-imenu nil)
  (semantic-mode 0))

(bind-keys :map c-mode-base-map
           ("<C-tab>" . company-complete)
           ("C-." . my-c-imenu)
           ("M-o" . cff-find-other-file)
           ("M-." . ciao-goto-symbol)   ;; dumb-jump-go
           ("M-," . pop-tag-mark))      ;; dumb-jump-back

(require 'flycheck)

(require 'dumb-jump)
(setq dumb-jump-selector 'ivy
      dumb-jump-prefer-searcher 'rg)    ;; because https://github.com/jacktasia/dumb-jump/issues/129

(add-to-list 'dumb-jump-language-file-exts '(:language "c++" :ext "mm" :agtype "cpp" :rgtype "cpp"))
