   "Set useful mode line abbreviations according to profile PROFILE.
 See `sml/replacer-regexp-alist'."
   (let* ((root (profile-get profile 'project-root-dir))
+         (remote (profile-get profile 'remote-prefix))
          (sml-alist (profile-collect-sml-regexps
                      (profile-get profile 'ctags-alist)
-                     profile root)))
+                     profile remote root)))
     (mapc (lambda (elt)
             (when (car elt)
               (add-to-list 'sml/replacer-regexp-list

                    root)
                   (list root))))))

(defun profile-collect-sml-regexps (lst profile root)
  "Extract a list of cons cells representing a modeline replacement pair.
LST is a list of lists of properties, see `ctags-alist'.  PROFILE is the
current profile.  ROOT is the current profile root.  The return value
will be a list cons cells, see `sml/replacer-regexp-list'."
  (let (path title)
    (mapcar (lambda(elt)
              (setq path (cadr elt))
              (setq title (car elt))
              (cons
               (when path
                 (if (f-absolute? path) path
                   (f-short path)))
               (concat (upcase title) ":")))
            lst)))


LST is a list in the format of `ctags-alist'.  ROOT is the root
directory of the current profile."
  (mapcar (lambda (path)
            (if (and path (file-name-absolute-p path))
                path
              (concat root path)))
          (mapcar 'cadr lst)))
