unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#20107: [PATCH 1/3] css-mode: Discriminate between pseudo-classes and -elements
@ 2015-03-14 11:19 Simen Heggestøyl
  2015-03-14 11:21 ` bug#20107: [PATCH 2/3] css-mode: Add support for completion in `css-mode' Simen Heggestøyl
  2015-03-14 11:22 ` bug#20107: [PATCH 3/3] css-mode: Update CSS property list Simen Heggestøyl
  0 siblings, 2 replies; 6+ messages in thread
From: Simen Heggestøyl @ 2015-03-14 11:19 UTC (permalink / raw)
  To: 20107

[-- Attachment #1: Type: text/plain, Size: 3150 bytes --]

Hi.

The following patch makes `css-mode' discriminate between
pseudo-classes and pseudo-ids. While it might not seem immediately
useful to do so, it will become useful when completion at point is
implemented in a later patch.


 From b87dadfbbacbd1372ba31e2f591a260e7b4b581f Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Simen=20Heggest=C3=B8yl?= <simenheg@gmail.com>
Date: Sat, 14 Mar 2015 10:54:39 +0100
Subject: [PATCH 1/3] Discriminate between pseudo-classes and -elements

* textmodes/css-mode.el (css--font-lock-keywords): Discriminate
between pseudo-classes and pseudo-elements.
(css-pseudo-ids): Remove.
(css-pseudo-class-ids): New variable.
(css-pseudo-element-ids): New variable.
---
 lisp/ChangeLog             |  8 ++++++++
 lisp/textmodes/css-mode.el | 21 ++++++++++++++++-----
 2 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index d393190..70122c7 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,11 @@
+2015-03-14  Simen Heggestøyl  <simenheg@gmail.com>
+
+	* textmodes/css-mode.el (css--font-lock-keywords): Discriminate
+	between pseudo-classes and pseudo-elements.
+	(css-pseudo-ids): Remove.
+	(css-pseudo-class-ids): New variable.
+	(css-pseudo-element-ids): New variable.
+
 2015-03-13  Kevin Ryde  <user42_kevin@yahoo.com.au>

 	info-look fixes for Texinfo 5
diff --git a/lisp/textmodes/css-mode.el b/lisp/textmodes/css-mode.el
index 44dc4df..dc11d44 100644
--- a/lisp/textmodes/css-mode.el
+++ b/lisp/textmodes/css-mode.el
@@ -120,10 +120,17 @@
 ;;    (media . "^ +\\* '\\([^ '\n]+\\)' media group")
 ;;    (property . "^ +\\* '\\([^ '\n]+\\)',")))

-(defconst css-pseudo-ids
-  '("active" "after" "before" "first" "first-child" "first-letter" 
"first-line"
-    "focus" "hover" "lang" "left" "link" "right" "visited")
-  "Identifiers for pseudo-elements and pseudo-classes.")
+(defconst css-pseudo-class-ids
+  '("active" "checked" "disabled" "empty" "enabled" "first"
+    "first-child" "first-of-type" "focus" "hover" "indeterminate" 
"lang"
+    "last-child" "last-of-type" "left" "link" "nth-child"
+    "nth-last-child" "nth-last-of-type" "nth-of-type" "only-child"
+    "only-of-type" "right" "root" "target" "visited")
+  "Identifiers for pseudo-classes.")
+
+(defconst css-pseudo-element-ids
+  '("after" "before" "first-letter" "first-line")
+  "Identifiers for pseudo-elements.")

 (defconst css-at-ids
   '("charset" "font-face" "import" "media" "page")
@@ -258,7 +265,11 @@
          (concat "\\(?:" scss--hash-re
                  "\\|[^@/:{} \t\n#]\\)"
                  "[^:{}#]*\\(?:" scss--hash-re "[^:{}#]*\\)*"))
-       "\\(?::" (regexp-opt css-pseudo-ids t)
+       ;; 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)
+       "\\|\\::" (regexp-opt css-pseudo-element-ids t) "\\)"
        "\\(?:([^\)]+)\\)?"
        (if (not sassy)
            "[^:{}\n]*"
-- 
2.1.4

[-- Attachment #2: Type: text/html, Size: 4845 bytes --]

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* bug#20107: [PATCH 2/3] css-mode: Add support for completion in `css-mode'
  2015-03-14 11:19 bug#20107: [PATCH 1/3] css-mode: Discriminate between pseudo-classes and -elements Simen Heggestøyl
@ 2015-03-14 11:21 ` Simen Heggestøyl
  2015-03-14 11:22 ` bug#20107: [PATCH 3/3] css-mode: Update CSS property list Simen Heggestøyl
  1 sibling, 0 replies; 6+ messages in thread
From: Simen Heggestøyl @ 2015-03-14 11:21 UTC (permalink / raw)
  To: 20107

[-- Attachment #1: Type: text/plain, Size: 3878 bytes --]

Hi.

The following patch adds support for completion at point to
`css-mode'.


 From e312007cab0bfc72b59bab16ca56d8c5f6e29fa8 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Simen=20Heggest=C3=B8yl?= <simenheg@gmail.com>
Date: Sat, 14 Mar 2015 11:05:55 +0100
Subject: [PATCH 2/3] Add support for completion in `css-mode'

* textmodes/css-mode.el (css--complete-property): New function for
completing CSS properties.
(css--complete-pseudo-element-or-class): New function for
completing CSS pseudo-elements and pseudo-classes.
(css--complete-at-rule): New function for completing CSS at-rules.
(css-completion-at-point): New function providing completion for
`css-mode'.
(css-mode): Add support for completion.
---
 lisp/ChangeLog             |  8 ++++++++
 lisp/textmodes/css-mode.el | 45 
+++++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 51 insertions(+), 2 deletions(-)

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 70122c7..36a1f87 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -5,6 +5,14 @@
 	(css-pseudo-ids): Remove.
 	(css-pseudo-class-ids): New variable.
 	(css-pseudo-element-ids): New variable.
+	(css--complete-property): New function for completing CSS
+	properties.
+	(css--complete-pseudo-element-or-class): New function for
+	completing CSS pseudo-elements and pseudo-classes.
+	(css--complete-at-rule): New function for completing CSS at-rules.
+	(css-completion-at-point): New function providing completion for
+	`css-mode'.
+	(css-mode): Add support for completion.

 2015-03-13  Kevin Ryde  <user42_kevin@yahoo.com.au>

diff --git a/lisp/textmodes/css-mode.el b/lisp/textmodes/css-mode.el
index dc11d44..d467343 100644
--- a/lisp/textmodes/css-mode.el
+++ b/lisp/textmodes/css-mode.el
@@ -28,7 +28,7 @@

 ;; - electric ; and }
 ;; - filling code with auto-fill-mode
-;; - completion
+;; - attribute value completion
 ;; - fix font-lock errors with multi-line selectors

 ;;; Code:
@@ -345,6 +345,45 @@
     (`(:before . ,(or "{" "("))
      (if (smie-rule-hanging-p) (smie-rule-parent 0)))))

+;;; Completion
+
+(defun css--complete-property ()
+  "Complete property at point."
+  (save-excursion
+    (let ((pos (point)))
+      (skip-chars-backward "-[:alnum:]")
+      (let ((start (point)))
+        (skip-chars-backward " \t\r\n")
+        (when (memq (char-before) '(?\{ ?\;))
+          (list start pos css-property-ids))))))
+
+(defun css--complete-pseudo-element-or-class ()
+  "Complete pseudo-element or pseudo-class at point."
+  (save-excursion
+    (let ((pos (point)))
+      (skip-chars-backward "-[:alnum:]")
+      (when (eq (char-before) ?\:)
+        (list (point) pos
+              (if (eq (char-before (- (point) 1)) ?\:)
+                  css-pseudo-element-ids
+                css-pseudo-class-ids))))))
+
+(defun css--complete-at-rule ()
+  "Complete at-rule (statement beginning with `@') at point."
+  (save-excursion
+    (let ((pos (point)))
+      (skip-chars-backward "-[:alnum:]")
+      (when (eq (char-before) ?\@)
+        (list (point) pos css-at-ids)))))
+
+(defun css-completion-at-point ()
+  "Complete current symbol at point.
+Currently supports completion of CSS properties, pseudo-elements,
+pesudo-classes, and at-rules."
+  (or (css--complete-property)
+      (css--complete-pseudo-element-or-class)
+      (css--complete-at-rule)))
+
 ;;;###autoload
 (define-derived-mode css-mode fundamental-mode "CSS"
   "Major mode to edit Cascading Style Sheets."
@@ -360,7 +399,9 @@
               :forward-token #'css-smie--forward-token
               :backward-token #'css-smie--backward-token)
   (setq-local electric-indent-chars
-              (append css-electric-keys electric-indent-chars)))
+              (append css-electric-keys electric-indent-chars))
+  (add-hook 'completion-at-point-functions
+            #'css-completion-at-point nil 'local))

 (defvar comment-continue)

-- 
2.1.4

[-- Attachment #2: Type: text/html, Size: 6529 bytes --]

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* bug#20107: [PATCH 3/3] css-mode: Update CSS property list
  2015-03-14 11:19 bug#20107: [PATCH 1/3] css-mode: Discriminate between pseudo-classes and -elements Simen Heggestøyl
  2015-03-14 11:21 ` bug#20107: [PATCH 2/3] css-mode: Add support for completion in `css-mode' Simen Heggestøyl
@ 2015-03-14 11:22 ` Simen Heggestøyl
  2015-03-14 14:05   ` Stefan Monnier
  2015-03-18 17:41   ` Simen Heggestøyl
  1 sibling, 2 replies; 6+ messages in thread
From: Simen Heggestøyl @ 2015-03-14 11:22 UTC (permalink / raw)
  To: 20107

[-- Attachment #1: Type: text/plain, Size: 13117 bytes --]

Hi.

The following patch updates the list of CSS properties.

There was code for extracting these properties automatically, but it
produced an incorrect property list for CSS2, and it didn't include
any CSS3 modules.

I found it more convenient to compile the list manually, and I can
volunteer to keep this list updated. If it is desirable still to keep
the automatic extraction code, I can look into fixing that as well.


 From 19ff074753bbf39b022036cda3b6a6d5390ca635 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Simen=20Heggest=C3=B8yl?= <simenheg@gmail.com>
Date: Sat, 14 Mar 2015 11:14:52 +0100
Subject: [PATCH 3/3] Update CSS property list

* textmodes/css-mode.el (css-extract-keyword-list): Remove function in
favor of manual extraction.
(css-extract-parse-val-grammar): Remove function in favor of
manual extraction.
(css-extract-props-and-vals): Remove function in favor of manual
extraction.
(css-at-ids): Update list of CSS at-rule ids.
(css-property-ids): Update list of CSS properties.
---
 lisp/ChangeLog             |   8 ++
 lisp/textmodes/css-mode.el | 210 
+++++++++++++++++++++------------------------
 2 files changed, 105 insertions(+), 113 deletions(-)

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 36a1f87..c5851eb 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -13,6 +13,14 @@
 	(css-completion-at-point): New function providing completion for
 	`css-mode'.
 	(css-mode): Add support for completion.
+	(css-extract-keyword-list): Remove function in favor of manual
+	extraction.
+	(css-extract-parse-val-grammar): Remove function in favor of
+	manual extraction.
+	(css-extract-props-and-vals): Remove function in favor of manual
+	extraction.
+	(css-at-ids): Update list of CSS at-rule ids.
+	(css-property-ids): Update list of CSS properties.

 2015-03-13  Kevin Ryde  <user42_kevin@yahoo.com.au>

diff --git a/lisp/textmodes/css-mode.el b/lisp/textmodes/css-mode.el
index d467343..1a3b3fc 100644
--- a/lisp/textmodes/css-mode.el
+++ b/lisp/textmodes/css-mode.el
@@ -37,89 +37,6 @@
   "Cascading Style Sheets (CSS) editing mode."
   :group 'languages)

-
-(defun css-extract-keyword-list (res)
-  (with-temp-buffer
-    (url-insert-file-contents "http://www.w3.org/TR/REC-CSS2/css2.txt")
-    (goto-char (point-max))
-    (search-backward "Appendix H. Index")
-    (forward-line)
-    (delete-region (point-min) (point))
-    (let ((result nil)
-          keys)
-      (dolist (re res)
-        (goto-char (point-min))
-        (setq keys nil)
-        (while (re-search-forward (cdr re) nil t)
-          (push (match-string 1) keys))
-        (push (cons (car re) (sort keys 'string-lessp)) result))
-      (nreverse result))))
-
-(defun css-extract-parse-val-grammar (string env)
-  (let ((start 0)
-        (elems ())
-        name)
-    (while (string-match
-            (concat "\\(?:"
-                    (concat "<a [^>]+><span [^>]+>\\(?:"
-                            "&lt;\\([^&]+\\)&gt;\\|'\\([^']+\\)'"
-                            "\\)</span></a>")
-                    "\\|" "\\(\\[\\)"
-                    "\\|" "\\(]\\)"
-                    "\\|" "\\(||\\)"
-                    "\\|" "\\(|\\)"
-                    "\\|" "\\([*+?]\\)"
-                    "\\|" "\\({[^}]+}\\)"
-                    "\\|" "\\(\\w+\\(?:-\\w+\\)*\\)"
-                    "\\)[ \t\n]*")
-            string start)
-      ;; (assert (eq start (match-beginning 0)))
-      (setq start (match-end 0))
-      (cond
-       ;; Reference to a type of value.
-       ((setq name (match-string-no-properties 1 string))
-        (push (intern name) elems))
-       ;; Reference to another property's values.
-       ((setq name (match-string-no-properties 2 string))
-        (setq elems (delete-dups (append (cdr (assoc name env)) 
elems))))
-       ;; A literal
-       ((setq name (match-string-no-properties 9 string))
-        (push name elems))
-       ;; We just ignore the rest.  I.e. we ignore the structure 
because
-       ;; it's too difficult to exploit anyway (it would allow us to 
only
-       ;; complete top/center/bottom after one of left/center/right and
-       ;; vice-versa).
-       (t nil)))
-    elems))
-
-
-(defun css-extract-props-and-vals ()
-  (with-temp-buffer
-    (url-insert-file-contents 
"http://www.w3.org/TR/CSS21/propidx.html")
-    (goto-char (point-min))
-    (let ((props ()))
-      (while (re-search-forward "#propdef-\\([^\"]+\\)\"><span 
class=\"propinst-\\1 xref\">'\\1'</span></a>" nil t)
-        (let ((prop (match-string-no-properties 1)))
-          (save-excursion
-            (goto-char (match-end 0))
-            (search-forward "<td>")
-            (let ((vals-string (buffer-substring (point)
-                                                 (progn
-                                                   (re-search-forward 
"[ \t\n]+|[ \t\n]+<a href=\"cascade.html#value-def-inherit\" 
class=\"noxref\"><span class=\"value-inst-inherit\">inherit</span></a>")
-                                                   (match-beginning 
0)))))
-              ;;
-              (push (cons prop (css-extract-parse-val-grammar 
vals-string props))
-                    props)))))
-      props)))
-
-;; Extraction was done with:
-;; (css-extract-keyword-list
-;;  '((pseudo . "^ +\\* :\\([^ \n,]+\\)")
-;;    (at . "^ +\\* @\\([^ \n,]+\\)")
-;;    (descriptor . "^ +\\* '\\([^ '\n]+\\)' (descriptor)")
-;;    (media . "^ +\\* '\\([^ '\n]+\\)' media group")
-;;    (property . "^ +\\* '\\([^ '\n]+\\)',")))
-
 (defconst css-pseudo-class-ids
   '("active" "checked" "disabled" "empty" "enabled" "first"
     "first-child" "first-of-type" "focus" "hover" "indeterminate" 
"lang"
@@ -133,7 +50,7 @@
   "Identifiers for pseudo-elements.")

 (defconst css-at-ids
-  '("charset" "font-face" "import" "media" "page")
+  '("charset" "font-face" "import" "media" "namespace" "page")
   "Identifiers that appear in the form @foo.")

 (defconst css-descriptor-ids
@@ -149,36 +66,103 @@
   "Identifiers for types of media.")

 (defconst css-property-ids
-  '("azimuth" "background" "background-attachment" "background-color"
-    "background-image" "background-position" "background-repeat" 
"block"
-    "border" "border-bottom" "border-bottom-color" 
"border-bottom-style"
-    "border-bottom-width" "border-collapse" "border-color" 
"border-left"
-    "border-left-color" "border-left-style" "border-left-width" 
"border-right"
+  '(;; CSS 2.1 properties (http://www.w3.org/TR/CSS21/propidx.html).
+    ;;
+    ;; Properties duplicated by any of the CSS3 modules below have
+    ;; been removed.
+    "azimuth" "border-collapse" "border-spacing" "bottom"
+    "caption-side" "clear" "clip" "content" "counter-increment"
+    "counter-reset" "cue" "cue-after" "cue-before" "direction" 
"display"
+    "elevation" "empty-cells" "float" "height" "left" "line-height"
+    "list-style" "list-style-image" "list-style-position"
+    "list-style-type" "margin" "margin-bottom" "margin-left"
+    "margin-right" "margin-top" "max-height" "max-width" "min-height"
+    "min-width" "orphans" "overflow" "padding" "padding-bottom"
+    "padding-left" "padding-right" "padding-top" "page-break-after"
+    "page-break-before" "page-break-inside" "pause" "pause-after"
+    "pause-before" "pitch" "pitch-range" "play-during" "position"
+    "quotes" "richness" "right" "speak" "speak-header" "speak-numeral"
+    "speak-punctuation" "speech-rate" "stress" "table-layout" "top"
+    "unicode-bidi" "vertical-align" "visibility" "voice-family" 
"volume"
+    "widows" "width" "z-index"
+
+    ;; CSS Animations
+    ;; (http://www.w3.org/TR/css3-animations/#property-index)
+    "animation" "animation-delay" "animation-direction"
+    "animation-duration" "animation-fill-mode"
+    "animation-iteration-count" "animation-name"
+    "animation-play-state" "animation-timing-function"
+
+    ;; CSS Backgrounds and Borders Module Level 3
+    ;; (http://www.w3.org/TR/css3-background/#property-index)
+    "background" "background-attachment" "background-clip"
+    "background-color" "background-image" "background-origin"
+    "background-position" "background-repeat" "background-size"
+    "border" "border-bottom" "border-bottom-color"
+    "border-bottom-left-radius" "border-bottom-right-radius"
+    "border-bottom-style" "border-bottom-width" "border-color"
+    "border-image" "border-image-outset" "border-image-repeat"
+    "border-image-slice" "border-image-source" "border-image-width"
+    "border-left" "border-left-color" "border-left-style"
+    "border-left-width" "border-radius" "border-right"
     "border-right-color" "border-right-style" "border-right-width"
-    "border-spacing" "border-style" "border-top" "border-top-color"
-    "border-top-style" "border-top-width" "border-width" "bottom"
-    "caption-side" "clear" "clip" "color" "compact" "content"
-    "counter-increment" "counter-reset" "cue" "cue-after" "cue-before"
-    "cursor" "dashed" "direction" "display" "dotted" "double" 
"elevation"
-    "empty-cells" "float" "font" "font-family" "font-size" 
"font-size-adjust"
-    "font-stretch" "font-style" "font-variant" "font-weight" "groove" 
"height"
-    "hidden" "inline" "inline-table" "inset" "left" "letter-spacing"
-    "line-height" "list-item" "list-style" "list-style-image"
-    "list-style-position" "list-style-type" "margin" "margin-bottom"
-    "margin-left" "margin-right" "margin-top" "marker-offset" "marks"
-    "max-height" "max-width" "min-height" "min-width" "orphans" 
"outline"
-    "outline-color" "outline-style" "outline-width" "outset" "overflow"
-    "padding" "padding-bottom" "padding-left" "padding-right" 
"padding-top"
-    "page" "page-break-after" "page-break-before" "page-break-inside" 
"pause"
-    "pause-after" "pause-before" "pitch" "pitch-range" "play-during" 
"position"
-    "quotes" "richness" "ridge" "right" "run-in" "size" "solid" "speak"
-    "speak-header" "speak-numeral" "speak-punctuation" "speech-rate" 
"stress"
-    "table" "table-caption" "table-cell" "table-column" 
"table-column-group"
-    "table-footer-group" "table-header-group" "table-layout" 
"table-row"
-    "table-row-group" "text-align" "text-decoration" "text-indent"
-    "text-shadow" "text-transform" "top" "unicode-bidi" 
"vertical-align"
-    "visibility" "voice-family" "volume" "white-space" "widows" "width"
-    "word-spacing" "z-index")
+    "border-style" "border-top" "border-top-color"
+    "border-top-left-radius" "border-top-right-radius"
+    "border-top-style" "border-top-width" "border-width" "box-shadow"
+
+    ;; CSS Basic User Interface Module Level 3 (CSS3 UI)
+    ;; (http://www.w3.org/TR/css3-ui/#property-index)
+    "box-sizing" "caret-color" "cursor" "nav-down" "nav-left"
+    "nav-right" "nav-up" "outline" "outline-color" "outline-offset"
+    "outline-style" "outline-width" "resize" "text-overflow"
+
+    ;; CSS Color Module Level 3
+    ;; (http://www.w3.org/TR/css3-color/#property)
+    "color" "opacity"
+
+    ;; CSS Flexible Box Layout Module Level 1
+    ;; (http://www.w3.org/TR/css-flexbox-1/#property-index)
+    "align-content" "align-items" "align-self" "flex" "flex-basis"
+    "flex-direction" "flex-flow" "flex-grow" "flex-shrink" "flex-wrap"
+    "justify-content" "order"
+
+    ;; CSS Fonts Module Level 3
+    ;; (http://www.w3.org/TR/css3-fonts/#property-index)
+    "font" "font-family" "font-feature-settings" "font-kerning"
+    "font-language-override" "font-size" "font-size-adjust"
+    "font-stretch" "font-style" "font-synthesis" "font-variant"
+    "font-variant-alternates" "font-variant-caps"
+    "font-variant-east-asian" "font-variant-ligatures"
+    "font-variant-numeric" "font-variant-position" "font-weight"
+
+    ;; CSS Text Decoration Module Level 3
+    ;; (http://dev.w3.org/csswg/css-text-decor-3/#property-index)
+    "text-decoration" "text-decoration-color" "text-decoration-line"
+    "text-decoration-skip" "text-decoration-style" "text-emphasis"
+    "text-emphasis-color" "text-emphasis-position" 
"text-emphasis-style"
+    "text-shadow" "text-underline-position"
+
+    ;; CSS Text Module Level 3
+    ;; (http://www.w3.org/TR/css3-text/#property-index)
+    "hanging-punctuation" "hyphens" "letter-spacing" "line-break"
+    "overflow-wrap" "tab-size" "text-align" "text-align-last"
+    "text-indent" "text-justify" "text-transform" "white-space"
+    "word-break" "word-spacing" "word-wrap"
+
+    ;; CSS Transforms Module Level 1
+    ;; (http://www.w3.org/TR/css3-2d-transforms/#property-index)
+    "backface-visibility" "perspective" "perspective-origin"
+    "transform" "transform-origin" "transform-style"
+
+    ;; CSS Transitions
+    ;; (http://www.w3.org/TR/css3-transitions/#property-index)
+    "transition" "transition-delay" "transition-duration"
+    "transition-property" "transition-timing-function"
+
+    ;; Filter Effects Module Level 1
+    ;; (http://www.w3.org/TR/filter-effects/#property-index)
+    "color-interpolation-filters" "filter" "flood-color"
+    "flood-opacity" "lighting-color")
   "Identifiers for properties.")

 (defcustom css-electric-keys '(?\} ?\;) ;; '()
-- 
2.1.4

[-- Attachment #2: Type: text/html, Size: 20974 bytes --]

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* bug#20107: [PATCH 3/3] css-mode: Update CSS property list
  2015-03-14 11:22 ` bug#20107: [PATCH 3/3] css-mode: Update CSS property list Simen Heggestøyl
@ 2015-03-14 14:05   ` Stefan Monnier
  2015-03-15 12:46     ` Simen Heggestøyl
  2015-03-18 17:41   ` Simen Heggestøyl
  1 sibling, 1 reply; 6+ messages in thread
From: Stefan Monnier @ 2015-03-14 14:05 UTC (permalink / raw)
  To: Simen Heggestøyl; +Cc: 20107

> There was code for extracting these properties automatically, but it
> produced an incorrect property list for CSS2,

This code was written long ago, and these kinds of things often need to
be tweaked for new versions of the file.

> and it didn't include any CSS3 modules.

Obviously ;-)

> I found it more convenient to compile the list manually, and I can
> volunteer to keep this list updated.  If it is desirable still to keep
> the automatic extraction code, I can look into fixing that as well.

As long as the source document lends itself to it, I like to have actual
code to extract the data (I find it easier to write (and tweak next time
around) the code than to do the extraction manually).

But if you're volunteering to be css-mode's maintainer, it's your call.

Other than that all 3 patches look good, feel free to install them.


        Stefan





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#20107: [PATCH 3/3] css-mode: Update CSS property list
  2015-03-14 14:05   ` Stefan Monnier
@ 2015-03-15 12:46     ` Simen Heggestøyl
  0 siblings, 0 replies; 6+ messages in thread
From: Simen Heggestøyl @ 2015-03-15 12:46 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 20107

[-- Attachment #1: Type: text/plain, Size: 625 bytes --]

> As long as the source document lends itself to it, I like to have 
> actual
> code to extract the data (I find it easier to write (and tweak next 
> time
> around) the code than to do the extraction manually).
> 
> But if you're volunteering to be css-mode's maintainer, it's your 
> call.

I'd be happy to!

I might look into restoring the extraction code to ease the
maintaining job later on. At this point I just wanted to get css-mode
up to speed with CSS3 ASAP.

> Other than that all 3 patches look good, feel free to install them.

Would if I could, but I don't have write access to the Emacs
repository.

 -- Simen

[-- Attachment #2: Type: text/html, Size: 1010 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#20107: [PATCH 3/3] css-mode: Update CSS property list
  2015-03-14 11:22 ` bug#20107: [PATCH 3/3] css-mode: Update CSS property list Simen Heggestøyl
  2015-03-14 14:05   ` Stefan Monnier
@ 2015-03-18 17:41   ` Simen Heggestøyl
  1 sibling, 0 replies; 6+ messages in thread
From: Simen Heggestøyl @ 2015-03-18 17:41 UTC (permalink / raw)
  To: 20107-done

[-- Attachment #1: Type: text/plain, Size: 2 bytes --]




[-- Attachment #2: Type: text/html, Size: 4 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-03-18 17:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-14 11:19 bug#20107: [PATCH 1/3] css-mode: Discriminate between pseudo-classes and -elements Simen Heggestøyl
2015-03-14 11:21 ` bug#20107: [PATCH 2/3] css-mode: Add support for completion in `css-mode' Simen Heggestøyl
2015-03-14 11:22 ` bug#20107: [PATCH 3/3] css-mode: Update CSS property list Simen Heggestøyl
2015-03-14 14:05   ` Stefan Monnier
2015-03-15 12:46     ` Simen Heggestøyl
2015-03-18 17:41   ` Simen Heggestøyl

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).