 See `svn-status--line-info->directory-p' for what counts as a directory."
   :group 'psvn-faces)
 
+;based on font-lock-warning-face
+(defface svn-status-locked-face
+  '((t
+     (:weight bold :foreground "Red")))
+  "Face for the phrase \"[ LOCKED ]\" *svn-status* buffers."
+  :group 'psvn-faces)
+
+;based on vhdl-font-lock-directive-face
+(defface svn-status-switched-face
+  '((((class color)
+      (background light))
+     (:foreground "CadetBlue"))
+    (((class color)
+      (background dark))
+     (:foreground "Aquamarine"))
+    (t
+     (:bold t :italic t)))
+  "Face for the phrase \"(switched)\" non-directories in svn status buffers."
+  :group 'psvn-faces)
+
 (defvar svn-highlight t)
 ;; stolen from PCL-CVS
 (defun svn-add-face (str face &optional keymap)
+  "Return string STR decorated with the specified FACE.
+If `svn-highlight' is nil then just return STR."
   (when svn-highlight
     ;; Do not use `list*'; cl.el might not have been loaded.  We could
     ;; put (require 'cl) at the top but let's try to manage without.

                                            local-rev
                                            last-change-rev
                                            author
                                            svn-update-mark)
                                      svn-status-info))
          (setq revision-width (max revision-width
                                    (length (number-to-string local-rev))

  (if condition
      (svn-add-face text face1)
    (svn-add-face text face2)))

(defun svn-status-maybe-add-string (condition string face)
  "If CONDITION then return STRING decorated with FACE.
Otherwise, return \"\"."
  (if condition
      (svn-add-face string face)
    ""))

; compatibility
; emacs 20
