                               (call-interactively (if (get-buffer "*compilation*")
                                                       'recompile
                                                     'compile))))
-;; (global-set-key (kbd "M-o") 'other-window)
+(global-set-key (kbd "M-o") 'other-window)
 (global-set-key (kbd "C-c C-g") 'goto-line)
 
 (setq message-send-mail-function 'smtpmail-send-it

  (save-place-mode 1))

;; (desktop-save-mode 1)

(quelpa '(hlsl-mode :fetcher github :repo "darfink/hlsl-mode"))
(autoload 'hlsl-mode "hlsl-mode" nil t)

      (rtags-imenu)
    (helm-semantic-or-imenu nil)))

(defun my-non-special-modes-setup ()
  (setq indicate-empty-lines t)
  (whitespace-mode)
  (goto-address-mode))

(defun my-prog-modes-hook ()
  (my-non-special-modes-setup)
  (make-local-variable 'comment-auto-fill-only-comments)
  (setq comment-auto-fill-only-comments t)
  (highlight-symbol-mode)
  (highlight-symbol-nav-mode)    ;; M-n, M-p
  (company-mode)
  (define-key prog-mode-map (kbd "<C-tab>") 'company-complete)
  (define-key prog-mode-map (kbd "C-.") 'my-imenu))

(add-hook 'text-mode-hook 'auto-fill-mode)
(add-hook 'text-mode-hook 'my-non-special-modes-setup)
(add-hook 'diff-mode-hook 'my-non-special-modes-setup)

(add-hook 'prog-mode-hook 'my-prog-modes-hook)

(require 'etags)
(defun push-tag-mark () (xref-push-marker-stack))
