 
 ;;;; Use case insensitive file completion
 (setq-default completion-ignore-case t)
-
-
-;;; Find File at Point
-(require 'ffap)
-(ffap-bindings)
 
 ;;;; Keybindings
 (global-set-key "\C-co" 'occur)

  (package-install 'projectile)
  (package-install 'quelpa)
  (package-install 'sphinx-mode)
  (package-install 'yaml-mode)
  (package-install 'yapfify)
  (quelpa '(evergreen :repo "chasinglogic/evergreen.el" :fetcher github))
  )

;;; IDO
(require 'ido)
(setq ido-enable-flex-matching t)
(setq ido-everywhere t)
(setq ido-use-filename-at-point 'guess)
(setq ido-ignore-extensions t)
(ido-mode 1)

;;; Projectile
(require 'projectile)
(define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map)
(projectile-mode +1)
(setq projectile-enable-caching t)
; Switch directly into dired mode when switching projects rather than find file
(setq projectile-switch-project-action #'projectile-dired)
(add-hook 'projectile-idle-timer-hook #'my-projectile-idle-timer-function)

;;; cquery and lsp -- semantic parsing of C++ code. Find definitions and calls, etc
(require 'lsp-ui)
(add-hook 'lsp-mode-hook 'lsp-ui-mode)
(require 'lsp-mode)
(require 'lsp-clients)
(add-hook 'c++-mode-hook #'lsp)
(add-hook 'python-mode-hook #'lsp)
(add-hook 'java-mode-hook #'lsp)
(require 'cquery)
(setq cquery-executable "/usr/local/bin/cquery")
(setq cquery-sem-highlight-method 'font-lock)
;; alternatively, (setq cquery-sem-highlight-method 'overlay)

(require 'company-lsp)
(push 'company-lsp company-backends)

;; For rainbow semantic highlighting
(cquery-use-default-rainbow-sem-highlight)


;;; magit: Git porcelain

(when (require 'flycheck nil t)
    (setq elpy-modules (delq 'elpy-module-flymake elpy-modules))
    (add-hook 'elpy-mode-hook 'flycheck-mode))

(setq python-shell-interpreter "python"
      python-shell-interpreter-args "-i")
(setq python-shell-interpreter "jupyter"
      python-shell-interpreter-args "console --simple-prompt"
      python-shell-prompt-detect-failure-warning nil)
(add-to-list 'python-shell-completion-native-disabled-interpreters
             "jupyter")

;;; Make sure autosuggest of keybindings is enabled. Maybe I'll learn something
(setq suggest-key-bindings t)
