Function: rng-complete-attribute-name

rng-complete-attribute-name is a byte-compiled function defined in rng-nxml.el.gz.

Signature

(rng-complete-attribute-name LT-POS)

Source Code

;; Defined in /usr/src/emacs/lisp/nxml/rng-nxml.el.gz
(defun rng-complete-attribute-name (lt-pos)
  (when (save-excursion
	  (re-search-backward rng-in-attribute-regex lt-pos t))
    (let ((attribute-start (match-beginning 1))
	  rng-undeclared-prefixes)
      (and (rng-adjust-state-for-attribute lt-pos
					   attribute-start)
	   (let ((target-names
		  (rng-match-possible-attribute-names))
		 (extra-strings
		  (mapcar (lambda (prefix)
			    (if prefix
				(concat "xmlns:" prefix)
			      "xmlns"))
			  rng-undeclared-prefixes)))
             `(,attribute-start
               ,(save-excursion (skip-chars-forward "-[:alnum:]_.:") (point))
               ,(apply-partially #'rng-complete-qname-function
                                 target-names t extra-strings)
               :exit-function
               ,(lambda (_completion status)
                  (when (and (eq status 'finished)
                             (not (looking-at "=")))
                    (insert "=\"\"")
                    (forward-char -1)))
               :company-kind ,(lambda (_) 'enum-member)))))))