diff options
Diffstat (limited to 'lisp/nxml/rng-nxml.el')
-rw-r--r-- | lisp/nxml/rng-nxml.el | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/lisp/nxml/rng-nxml.el b/lisp/nxml/rng-nxml.el index 7d74fd3c8a7..d70a346159a 100644 --- a/lisp/nxml/rng-nxml.el +++ b/lisp/nxml/rng-nxml.el @@ -24,7 +24,6 @@ ;;; Code: -(require 'easymenu) (require 'xmltok) (require 'nxml-util) (require 'nxml-ns) @@ -180,7 +179,8 @@ Validation will be enabled if `rng-nxml-auto-validate-flag' is non-nil." ;; attributes are required (insert " ")))) ((member completion extra-strings) - (insert ">"))))))))) + (insert ">")))) + :company-kind ,(lambda () 'property)))))) (defconst rng-in-end-tag-name-regex (replace-regexp-in-string @@ -255,7 +255,8 @@ Validation will be enabled if `rng-nxml-auto-validate-flag' is non-nil." (when (and (eq status 'finished) (not (looking-at "="))) (insert "=\"\"") - (forward-char -1))))))))) + (forward-char -1))) + :company-kind ,(lambda (_) 'enum-member))))))) (defconst rng-in-attribute-value-regex (replace-regexp-in-string @@ -280,7 +281,8 @@ Validation will be enabled if `rng-nxml-auto-validate-flag' is non-nil." (lambda (_completion status) (when (eq status 'finished) (let ((delim (char-before value-start))) - (unless (eq (char-after) delim) (insert delim))))))) + (unless (eq (char-after) delim) (insert delim)))))) + (kind-function (lambda (_) 'value))) (and (rng-adjust-state-for-attribute lt-pos name-start) (if (string= (buffer-substring-no-properties name-start @@ -291,14 +293,16 @@ Validation will be enabled if `rng-nxml-auto-validate-flag' is non-nil." (rng-possible-namespace-uris (and colon (buffer-substring-no-properties (1+ colon) name-end)))) - :exit-function ,exit-function) + :exit-function ,exit-function + :company-kind ,kind-function) (rng-adjust-state-for-attribute-value name-start colon name-end) `(,value-start ,(point) ,(rng-strings-to-completion-table (rng-match-possible-value-strings)) - :exit-function ,exit-function)))))) + :exit-function ,exit-function + :company-kind ,kind-function)))))) (defun rng-possible-namespace-uris (prefix) (let ((ns (if prefix (nxml-ns-get-prefix prefix) @@ -523,7 +527,7 @@ set `xmltok-dtd'. Returns the position of the end of the token." (unless attribute-flag (setcdr ns-prefixes (cons nil (cdr ns-prefixes)))))) (setq iter (cdr iter))) - (rng-uniquify-equal + (seq-uniq (sort (apply #'append (cons extra-strings (mapcar (lambda (name) |