   "Displays the buffer's full path relative to the project root (includes the
 project root). Excludes the file basename. See `*buffer-name' for that."
   (when buffer-file-name
-    (propertize
      (f-dirname
       (let ((buffer-path (file-relative-name buffer-file-name (projectile-project-root)))
             (max-length (truncate (/ (window-body-width) 1.75))))

                 doom--flycheck-cache)
            (and (setq doom--flycheck-err-cache flycheck-current-errors)
                 (setq doom--flycheck-cache
                       (let ((issues (doom-ml-flycheck-count 'error)))
                         (concat (if issues
                                     (concat
                                      (doom-ml-icon "x" 'doom-modeline-urgent 1.2)
                                      (propertize (format " %d issues" issues)
                                                  'face 'doom-modeline-urgent))
                                   (setq issues (doom-ml-flycheck-count 'warning))
                                   (if issues
                                       (concat
                                        (doom-ml-icon "x" 'doom-modeline-warning 1.2)
                                        (propertize (format " %d issues" issues)
                                                    'face 'doom-modeline-warning))
                                     (when active
                                       (doom-ml-icon "check" 'doom-modeline-info 1.2))))
                                 " ")))))
      (when active
        (concat
         (doom-ml-icon "check" 'doom-modeline-info 1.2) " ")))))

(defun *selection-info ()
  "Information about the current selection, such as how many characters and

                           :height 1.25)
                   'display '(raise -0.1))
       " "
       (propertize backend 'face (if active face 'mode-line-inactive))
       " "))))

(defvar-local doom--flycheck-err-cache nil "")
