   :config
   (progn
     ;; swap tab/c-z as recommended by tuhdo
-    (define-key helm-map (kbd "<tab>") 'helm-execute-persistent-action) ; rebind tab to do persistent action
-    (define-key helm-map (kbd "C-i") 'helm-execute-persistent-action) ; make TAB works in terminal
-    (define-key helm-map (kbd "C-z")  'helm-select-action) ; list actions using C-z
-    (define-key helm-map [escape] 'helm-keyboard-quit))
+    (define-key helm-map (kbd "<tab>") #'helm-execute-persistent-action) ; rebind tab to do persistent action
+    (define-key helm-map (kbd "C-i") #'helm-execute-persistent-action) ; make TAB works in terminal
+    (define-key helm-map (kbd "C-z")  #'helm-select-action) ; list actions using C-z
+    (define-key helm-map [escape] #'helm-keyboard-quit))
 
   :bind
   (("M-x"       . helm-M-x)

  :commands irony-mode
  :init
  (progn
    (add-hook 'c++-mode-hook 'irony-mode)
    (add-hook 'c-mode-hook 'irony-mode)
    (add-hook 'objc-mode-hook 'irony-mode)
    ;; replace the `completion-at-point' and `complete-symbol' bindings in
    ;; irony-mode's buffers by irony-mode's function
    (defun me:irony-mode-hook ()
      (define-key irony-mode-map [remap completion-at-point]
        'irony-completion-at-point-async)
      (define-key irony-mode-map [remap complete-symbol]
        'irony-completion-at-point-async))
    (add-hook 'irony-mode-hook 'me:irony-mode-hook)
    (add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options))
  :config
  (progn
    (use-package company-irony
      :config
      (progn
        (add-to-list 'company-backends 'company-irony)))
    (use-package flycheck-irony
      :commands flycheck-irony-setup
      :config

  :commands hs-minor-mode
  :init
  (progn
    (add-hook 'c-mode-common-hook   #'hs-minor-mode)
    (add-hook 'c++-mode-hook        #'hs-minor-mode)
    (add-hook 'emacs-lisp-mode-hook #'hs-minor-mode)
    (add-hook 'sh-mode-hook         #'hs-minor-mode)
    (add-hook 'python-mode-hook     #'hs-minor-mode))
  :diminish hs-minor-mode)

(use-package avy :defer 3)
