    "TAB" '(other-window :which-key "other window")
    "b"  '(:ignore t :which-key "buffers")
    "bb" '(helm-buffers-list t :which-key "helm-buffers-list")
+
    "d"  '(:ignore t :which-key "describe")
    "df" '(describe-function :which "function")
    "dv" '(describe-variable :which "variable")
    "dk" '(describe-key :which "key")
+
    "e"  '(:ignore t :which-key "emacs")
    "ee" '((lambda () (interactive)(find-file "~/.emacs")) :which-key "open .emacs")
    "er" '((lambda () (interactive)(load-file "~/.emacs")) :which-key "reload .emacs")
+
    "f"  '(:ignore t :which-key "files")
    "ff" '(helm-find-files :which-key "find files")
    "fg" '(helm-rg :which-key "grep files")
    "fr" '(helm-recentf :which-key "recent files")
+
    "g"  '(:ignore t :which-key "git")
    "gs" '(magit-status :which-key "git status")
+
+   "l"  '(:ignore t :which-key "lsp")
+   "ld" '(lsp-describe-thing-at-point :which-key "describe thing")
+   "ll" '(lsp-find-definition :which-key "find implementation")
+
    "p"  '(:ignore t :which-key "projectile")
    "pf" '(helm-projectile-find-file :which-key "projects find file")
    "pp" '(helm-projectile-switch-project :which-key "projects")
    "pr" '(helm-projectile-rg :which-key "projects grep")
+
    "r"  '(:ignore t :which-key "ruby")
    "rc" '(inf-ruby-console-auto :which-key "ruby console")
    "rd" '(robe-doc :which-key "robe doc")
    "rj" '(robe-jump :which-key "robe jump")
+
    "s"  '(split-window-vertically :which-key "split vertically")
    "v"  '(split-window-horizontally :which-key "split horizontally")
+
    "w"  '(:ignore t :which-key "window")
    "wh" '(windmove-left :which-key "move left")
    "wj" '(windmove-down :which-key "move down")

  )

(use-package helm-projectile
  :ensure t
  )


(use-package slim-mode
  :ensure t
  )

;; Crystal language support
(use-package crystal-mode
  :ensure t)

;; Auto completion framework
(use-package company
