         (modi/update-etags-table)
         (etags-select-find-tag-at-point))
     (call-interactively #'ggtags-find-tag-dwim)))
+
+;;; xref, semantic/symref
+;; `xref' using `semantic-symref-detect-symref-tool' and
+;; `semantic-symref-calculate-rootdir' to figure out which tool is available
+;; for finding definitions and references. It looks for `global', `idutils',
+;; and `cscope'. If none of those are found, it defaults to `grep'.
+(use-package semantic/symref
+  :defer t
+  :config
+  (progn
+    ;; The `semantic-symref-calculate-rootdir' function does not find the
+    ;; "right" rootdir by default. So using `projectile-project-root' to do
+    ;; that job instead.
+    (with-eval-after-load 'projectile
+      (defalias 'semantic-symref-calculate-rootdir 'projectile-project-root))))
 
 (bind-keys
  :map modi-mode-map

;;      etags-table
;;    ctags-update
;;  modi/find-tag

;;; gtags, GNU global


;; Time-stamp: <2017-01-11 18:27:56 kmodi>

;; Setup for different tags

