 
     ;; TODO
     ;; - Replace with variable values
-    ;;RainbowDelimiters
+    ;; RainbowDelimiters
     `(rainbow-delimiters-depth-1-face   ((t (:foreground "#458588"))))
     `(rainbow-delimiters-depth-2-face   ((t (:foreground "#b16286"))))
     `(rainbow-delimiters-depth-3-face   ((t (:foreground "#cc241d"))))

  (error "requires Emacs 24 or later."))

(deftheme gruvbox "A retro-groove colour theme")

(let ((gruvbox-dark0_hard  (if (display-graphic-p) "#1d2021" "color-234"))
      (gruvbox-dark0       (if (display-graphic-p) "#282828" "color-235"))
      (gruvbox-dark0_soft  (if (display-graphic-p) "#32302f" "color-236"))

    `(linum ((t (:foreground ,gruvbox-dark4))))
    `(hl-line ((t (:background ,gruvbox-dark1))))
    `(region ((t (:background ,gruvbox-dark2)))) ;;selection
    `(minibuffer-prompt ((t (:background ,gruvbox-dark0 :foreground ,gruvbox-neutral_green :bold t))))

    ;; Built-in syntax
    `(font-lock-builtin-face ((t (:foreground ,gruvbox-neutral_orange))))
    `(font-lock-constant-face ((t (:foreground ,gruvbox-neutral_purple))))
    `(font-lock-comment-face ((t (:foreground ,gruvbox-dark4))))
    `(font-lock-function-name-face ((t (:foreground ,gruvbox-neutral_green))))
    `(font-lock-keyword-face ((t (:foreground ,gruvbox-neutral_red))))
    `(font-lock-string-face ((t (:foreground ,gruvbox-neutral_green))))
    `(font-lock-variable-name-face ((t (:foreground ,gruvbox-neutral_blue))))
    `(font-lock-type-face ((t (:foreground ,gruvbox-neutral_purple))))
    `(font-lock-warning-face ((t (:foreground ,gruvbox-neutral_red :bold t))))

    ;; whitespace-mode
    `(whitespace-space ((t (:background ,gruvbox-dark0 :foreground ,gruvbox-dark4))))
    `(whitespace-hspace ((t (:background ,gruvbox-dark0 :foreground ,gruvbox-dark4))))
    `(whitespace-tab ((t (:background ,gruvbox-dark0 :foreground ,gruvbox-dark4))))
    `(whitespace-newline ((t (:background ,gruvbox-dark0 :foreground ,gruvbox-dark4))))
    `(whitespace-trailing ((t (:background ,gruvbox-dark1 :foreground ,gruvbox-neutral_red))))
    `(whitespace-line ((t (:background ,gruvbox-dark1 :foreground ,gruvbox-neutral_red))))
    `(whitespace-space-before-tab ((t (:background ,gruvbox-dark0 :foreground ,gruvbox-dark4))))
    `(whitespace-indentation ((t (:background ,gruvbox-dark0 :foreground ,gruvbox-dark4))))
    `(whitespace-empty ((t (:background nil :foreground nil))))
