 (use-package saveplace
   :ensure t
   :init (progn
-	  (save-place-mode t)
-	  (setq save-place-file "~/.cache/emacs/saveplace")))
+          (save-place-mode t)
+          (setq save-place-file "~/.cache/emacs/saveplace")))
 
 ;; Persistant undo using undo-tree
 (use-package undo-tree


;; Better modeline
(setq-default mode-line-format (list '(:eval (if (eq 'emacs evil-state)
						 "! "
					       ": ")) ;; vim or emacs mode
				     ;; (car (cdr (reverse (split-string (buffer-file-name) "/"))))
				     ;; the buffer name; the file name as a tool tip

				     '(:eval (list (if (eq buffer-file-name nil)
						       ""
						     (concatenate 'string
								  (car (cdr (reverse (split-string (buffer-file-name)
												   "/"))))
								  "/"))
						   (propertize "%b"
							       'face
							       (if (buffer-modified-p)
								   'font-lock-string-face
								 'font-lock-type-face)
							       'help-echo
							       (buffer-file-name))))
				     '(:eval (when-let (vc vc-mode) ;; git branch
					       (list " @"
						     (propertize (substring vc 5)
								 'face
								 'font-lock-comment-face)
						     " ")))
				     ;; spacer

				     '(:eval (propertize " "
							 'display
							 `((space :align-to (- (+ right right-fringe right-margin)
									       ,(+ 2
										   (+ (string-width (format-mode-line "%l:%c"))
										      (string-width (format-mode-line "%m")))))))))
				     (propertize "%l:%c" 'face 'font-lock-variable-name-face) ;; position in file
				     (propertize " %m " 'face 'font-lock-constant-face) ;; current mode
				     ))

;; Print emacs startup time
(add-hook 'emacs-startup-hook
	  (lambda ()
	    (message "Emacs ready in %s with %d garbage collections."
		     (format "%.2f seconds"
			     (float-time (time-subtract after-init-time before-init-time)))
		     gcs-done)))

;; drop gc threshold back
(setq gc-cons-threshold 800000)

  :ensure t
  :commands imenu-list-smart-toggle
  :init (global-set-key (kbd "M--")
                        (lambda (&optional alternate)
                          (interactive "P")
                          (if alternate
                              (imenu-list-smart-toggle)
                            (call-interactively 'imenu)))):config
  (progn
    (setq imenu-list-focus-after-activation t)
    (setq imenu-list-after-jump-hook nil)
