* lisp/textmodes/css-mode.el (css-completion-at-point): Auto-insert
": ;" after completing a property.
This commit is contained in:
parent
0e355e7816
commit
fe578ae4dd
1 changed files with 15 additions and 2 deletions
|
@ -696,7 +696,8 @@ cannot be completed sensibly: `custom-ident',
|
|||
;; Even though pseudo-elements should be prefixed by ::, a
|
||||
;; single colon is accepted for backward compatibility.
|
||||
"\\(?:\\(:" (regexp-opt (append css-pseudo-class-ids
|
||||
css-pseudo-element-ids) t)
|
||||
css-pseudo-element-ids)
|
||||
t)
|
||||
"\\|\\::" (regexp-opt css-pseudo-element-ids t) "\\)"
|
||||
"\\(?:([^)]+)\\)?"
|
||||
(if (not sassy)
|
||||
|
@ -965,10 +966,22 @@ pseudo-elements, pseudo-classes, at-rules, and bang-rules."
|
|||
(seq-let (prop-beg prop-end prop-table) (css--complete-property)
|
||||
(seq-let (sel-beg sel-end sel-table) (css--complete-selector)
|
||||
(when (or prop-table sel-table)
|
||||
;; FIXME: If both prop-table and sel-table are set but
|
||||
;; prop-beg/prop-end is different from sel-beg/sel-end
|
||||
;; we have a problem!
|
||||
`(,@(if prop-table
|
||||
(list prop-beg prop-end)
|
||||
(list sel-beg sel-end))
|
||||
,(completion-table-merge prop-table sel-table)))))))
|
||||
,(completion-table-merge prop-table sel-table)
|
||||
:exit-function
|
||||
,(lambda (string status)
|
||||
(and (eq status 'finished)
|
||||
prop-table
|
||||
(test-completion string prop-table)
|
||||
(not (and sel-table
|
||||
(test-completion string sel-table)))
|
||||
(progn (insert ": ;")
|
||||
(forward-char -1))))))))))
|
||||
|
||||
;;;###autoload
|
||||
(define-derived-mode css-mode prog-mode "CSS"
|
||||
|
|
Loading…
Add table
Reference in a new issue