Function: vc-mtn-revision-completion-table

vc-mtn-revision-completion-table is a byte-compiled function defined in vc-mtn.el.gz.

Signature

(vc-mtn-revision-completion-table FILES)

Source Code

;; Defined in /usr/src/emacs/lisp/obsolete/vc-mtn.el.gz
(defun vc-mtn-revision-completion-table (_files)
  ;; What about using `files'?!?  --Stef
  (lambda (string pred action)
    (cond
     ;; Special chars for composite selectors.
     ((string-match ".*[^\\]\\(\\\\\\\\\\)*[/|;(]" string)
      (completion-table-with-context (substring string 0 (match-end 0))
                                     (vc-mtn-revision-completion-table nil)
                                     (substring string (match-end 0))
                                     pred action))
     ;; "Tag" selectors.
     ((string-match "\\`t:" string)
      (complete-with-action action
                            (mapcar (lambda (tag) (concat "t:" tag))
                                    (vc-mtn-list-tags))
                            string pred))
     ;; "Branch" or "Head" selectors.
     ((string-match "\\`[hb]:" string)
      (let ((prefix (match-string 0 string)))
        (complete-with-action action
                              (mapcar (lambda (tag) (concat prefix tag))
                                      (vc-mtn-list-branches))
                              string pred)))
     ;; "ID" selectors.
     ((string-match "\\`i:" string)
      (complete-with-action action
                            (mapcar (lambda (tag) (concat "i:" tag))
                                    (vc-mtn-list-revision-ids
                                     (substring string (match-end 0))))
                            string pred))
     (t
      (complete-with-action action
                            '("t:" "b:" "h:" "i:"
                              ;; Completion not implemented for these.
                              "c:" "a:" "k:" "d:" "m:" "e:" "l:" "i:" "p:"
                              ;; These have no arg to complete.
                              "u:" "w:"
                              ;; Selector functions.
                              "difference(" "lca(" "max(" "ancestors("
                              "descendants(" "parents(" "children("
                              "pick(")
                            string pred)))))