]> code.delx.au - gnu-emacs-elpa/blobdiff - company-css.el
Add some C++11 keywords, fixes #478
[gnu-emacs-elpa] / company-css.el
index 0caf617b9e88e066a50d48fd0661261ce0b69a77..cf8c683ce2d5cdc5de92210a01acba666150e86e 100644 (file)
@@ -1,4 +1,4 @@
-;;; company-css.el --- company-mode completion back-end for css-mode  -*- lexical-binding: t -*-
+;;; company-css.el --- company-mode completion backend for css-mode  -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2009, 2011, 2014  Free Software Foundation, Inc.
 
@@ -26,6 +26,8 @@
 (require 'company)
 (require 'cl-lib)
 
+(declare-function web-mode-language-at-pos "web-mode" (&optional pos))
+
 (defconst company-css-property-alist
   ;; see http://www.w3.org/TR/CSS21/propidx.html
   '(("azimuth" angle "left-side" "far-left" "left" "center-left" "center"
                 (push child results))
             (push value results)))
         (setq results (sort results 'string<))
-        (puthash attribute results company-css-property-cache)
+        (puthash attribute
+                 (if (fboundp 'delete-consecutive-dups)
+                     (delete-consecutive-dups results)
+                   (delete-dups results))
+                 company-css-property-cache)
         results)))
 
 ;;; bracket detection
@@ -407,11 +413,13 @@ Returns \"\" if no property found, but feasible at this position."
 
 ;;;###autoload
 (defun company-css (command &optional arg &rest ignored)
-  "`company-mode' completion back-end for `css-mode'."
+  "`company-mode' completion backend for `css-mode'."
   (interactive (list 'interactive))
   (cl-case command
     (interactive (company-begin-backend 'company-css))
-    (prefix (and (derived-mode-p 'css-mode)
+    (prefix (and (or (derived-mode-p 'css-mode)
+                     (and (derived-mode-p 'web-mode)
+                          (string= (web-mode-language-at-pos) "css")))
                  (or (company-grab company-css-tag-regexp 1)
                      (company-grab company-css-pseudo-regexp 1)
                      (company-grab company-css-property-value-regexp 2)