 (use-package company
   :init (global-company-mode))
 
-(use-package cursor-chg
-  :init (progn
-          (toggle-cursor-type-when-idle 1)
-          (change-cursor-mode 1)))
+(use-package counsel
+  :bind (("M-x" . counsel-M-x)
+         ("C-h b" . counsel-descbinds)
+         ("C-x C-f" . counsel-find-file)))
 
 (use-package dante
   :init  (add-hook 'haskell-mode-hook 'dante-mode))

(setq use-package-verbose t)
(require 'use-package)

(use-package avy
  :bind (("C-=" . avy-goto-word-1)
         ("M-g g" . avy-goto-line))

                helm-mode-fuzzy-match t
                helm-completion-in-region-fuzzy-match t))
  :bind (("C-c h" . helm-command-prefix)
         ("M-s o" . helm-occur)))

(use-package helm-ag
  :init (setq helm-ag-insert-at-point 'symbol)
  :bind (("C-c /" . helm-ag)
         ("C-c s" . helm-ag-project-root)))

(use-package helm-git-ls
  :bind ("C-x C-d" . helm-browse-project))

(use-package hydra)

(use-package ivy
  :bind ("C-x b" . ivy-switch-buffer)
  :init (setq ivy-use-virtual-buffers t))

(use-package macrostep
  :bind ("C-c e" . macrostep-expand))
