From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 28 08:53:10 2016 Received: (at submit) by debbugs.gnu.org; 28 Mar 2016 12:53:10 +0000 Received: from localhost ([127.0.0.1]:40953 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1akWfO-0007kx-8b for submit@debbugs.gnu.org; Mon, 28 Mar 2016 08:53:10 -0400 Received: from eggs.gnu.org ([208.118.235.92]:50744) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1akWfM-0007kg-3l for submit@debbugs.gnu.org; Mon, 28 Mar 2016 08:53:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1akWfF-00009h-Rd for submit@debbugs.gnu.org; Mon, 28 Mar 2016 08:53:02 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM, HTML_MESSAGE,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:54327) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1akWfF-00009d-OK for submit@debbugs.gnu.org; Mon, 28 Mar 2016 08:53:01 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41706) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1akWfE-0003pF-Mr for bug-gnu-emacs@gnu.org; Mon, 28 Mar 2016 08:53:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1akWfB-00008i-9L for bug-gnu-emacs@gnu.org; Mon, 28 Mar 2016 08:53:00 -0400 Received: from mail-lf0-x22e.google.com ([2a00:1450:4010:c07::22e]:34168) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1akWfA-00008E-S6 for bug-gnu-emacs@gnu.org; Mon, 28 Mar 2016 08:52:57 -0400 Received: by mail-lf0-x22e.google.com with SMTP id c62so88849294lfc.1 for ; Mon, 28 Mar 2016 05:52:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:subject:to:cc:message-id:mime-version; bh=1xQpaqfHjnvBg99myh7tb5d11PYeJZM2IutNv62l2KM=; b=AKQwDTI0EBfBNuBHvd9yCHvvqrgcVSk5EN0ToPG3oWhFFxQZ+F1y9gh+TGR4rNb2+W fm0xtOaX7tiziOxcBhoxP+WWG2lM3sjVziKM57EXQu7Ze6WNGrF4IgsKOkMr2X9HKcMT M6cF3fzkiEcHDjbVmZD2z9jsqvULjCThPIA59eIGE6wLy4p1fYta024t8PdPvzPN0ETX 9Y32FLVWy8OW7dASnwHn9htaIc1kutrg6nmb5ghwXwtR1xsh0FmbPKSObmfSJPh/4zYx klm7SlGNI68qKSL5ZOPvfZwCufnRXVxXvPRH25VNZS+VaCQJ04IGwhdxvweLNLOh6/lP LMvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:subject:to:cc:message-id:mime-version; bh=1xQpaqfHjnvBg99myh7tb5d11PYeJZM2IutNv62l2KM=; b=RwIkrA67cRKACB0QrUTBBk0sdqMGiRHyN+Taf5NF+CYNXUUJ3Phxue+JVIjXrec3kC 6MhFQNUxm9CJLN/igPruWdO/eBB97zGun8FzCy6au61yWeWAkNUxXG5iiEj2znSm53jo kx6n5nFFKBg6ZL4dTMTjhyIRyPSK+hwf+KEUzwe6x/xKP0U0Tjdvhxpbvf0DVSQzT+XU GU/3ozDIKhdeWflaGzMmj4my32jhCjWEqRq1QaqTOrK1qLMc60ds0m1uMaZcIksrAr2u lk3zOEOvQp1HVySUxZ1ZO0MhOvJanj/wuuNFIqdOctCYyMy53cPvMlTWyEHkTxq3HjAN g/bA== X-Gm-Message-State: AD7BkJLyZRU23PeeYbWSwb5xiRBUvpawEOYqJIhPjRZCRYoyRswG1oCmIiY3krFqlMloiw== X-Received: by 10.25.143.65 with SMTP id r62mr8077209lfd.58.1459169575860; Mon, 28 Mar 2016 05:52:55 -0700 (PDT) Received: from [192.168.100.5] (cm-84.210.143.4.getinternet.no. [84.210.143.4]) by smtp.gmail.com with ESMTPSA id u10sm4512180lby.33.2016.03.28.05.52.54 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 28 Mar 2016 05:52:55 -0700 (PDT) Date: Mon, 28 Mar 2016 14:52:53 +0200 From: Simen =?iso-8859-1?q?Heggest=F8yl?= Subject: [PATCH] Support completion of bang-rules in CSS mode To: bug-gnu-emacs@gnu.org Message-Id: <1459169573.32373.0@smtp.gmail.com> X-Mailer: geary/0.10.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-/zc5BoS8qob4hNDoyIbC" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit Cc: Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) --=-/zc5BoS8qob4hNDoyIbC Content-Type: multipart/alternative; boundary="=-xReON/SnQaTgZkgSXu0a" --=-xReON/SnQaTgZkgSXu0a Content-Type: text/plain; charset=utf-8; format=flowed The attached patch adds support for completing bang-rules (rules that start with "!") in CSS and SCSS mode. -- Simen --=-xReON/SnQaTgZkgSXu0a Content-Type: text/html; charset=utf-8
The attached patch adds support for completing bang-rules (rules that
start with "!") in CSS and SCSS mode.

-- Simen

--=-xReON/SnQaTgZkgSXu0a-- --=-/zc5BoS8qob4hNDoyIbC Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Support-completion-of-bang-rules-in-CSS-mode.patch >From f33af8dcfa5b46a50f8baef880c5cc52d2e64e54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simen=20Heggest=C3=B8yl?= Date: Mon, 28 Mar 2016 14:31:49 +0200 Subject: [PATCH] Support completion of bang-rules in CSS mode lisp/textmodes/css-mode.el (css--complete-bang-rule): New function for completing a bang-rule. (css-completion-at-point): Add support for completing bang-rules. (scss-mode): Include Sass-specific completion rules. --- etc/NEWS | 4 ++-- lisp/textmodes/css-mode.el | 21 ++++++++++++++++++--- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index ce21532..e4fdfa7 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -136,8 +136,8 @@ different group ID. ** CSS mode --- -*** Support for completing attribute values using the 'completion-at-point' -command. +*** Support for completing attribute values and bang-rules using the +'completion-at-point' command. * New Modes and Packages in Emacs 25.2 diff --git a/lisp/textmodes/css-mode.el b/lisp/textmodes/css-mode.el index fd3459e..6c70759 100644 --- a/lisp/textmodes/css-mode.el +++ b/lisp/textmodes/css-mode.el @@ -732,6 +732,15 @@ css--complete-property (when (memq (char-before) '(?\{ ?\;)) (list start pos css-property-ids)))))) +(defun css--complete-bang-rule (&optional sassy) + "Complete (optionally SASSY) CSS bang-rule at point." + (save-excursion + (let ((pos (point))) + (skip-chars-backward "-[:alnum:]") + (when (eq (char-before) ?\!) + (list (point) pos (append (if sassy scss-bang-ids) + css-bang-ids)))))) + (defun css--complete-pseudo-element-or-class () "Complete pseudo-element or pseudo-class at point." (save-excursion @@ -795,11 +804,13 @@ css--complete-property-value (list (point) end (cons "inherit" (css--property-values property)))))))) -(defun css-completion-at-point () +(defun css-completion-at-point (&optional sassy) "Complete current symbol at point. Currently supports completion of CSS properties, property values, -pseudo-elements, pseudo-classes, and at-rules." +pseudo-elements, pseudo-classes, at-rules, and bang-rules. +SCSS-specific completions are included when SASSY is non-nil." (or (css--complete-property) + (css--complete-bang-rule sassy) (css--complete-property-value) (css--complete-pseudo-element-or-class) (css--complete-at-rule))) @@ -958,7 +969,11 @@ scss-mode (setq-local comment-continue " *") (setq-local comment-start-skip "/[*/]+[ \t]*") (setq-local comment-end-skip "[ \t]*\\(?:\n\\|\\*+/\\)") - (setq-local font-lock-defaults '(scss-font-lock-keywords nil t))) + (setq-local font-lock-defaults '(scss-font-lock-keywords nil t)) + (remove-hook 'completion-at-point-functions + #'css-completion-at-point t) + (add-hook 'completion-at-point-functions + (lambda () (css-completion-at-point 'sassy)) nil 'local)) (provide 'css-mode) ;;; css-mode.el ends here -- 2.8.0.rc3 --=-/zc5BoS8qob4hNDoyIbC-- From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 28 11:16:25 2016 Received: (at submit) by debbugs.gnu.org; 28 Mar 2016 15:16:25 +0000 Received: from localhost ([127.0.0.1]:42173 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1akYu1-0002wH-0g for submit@debbugs.gnu.org; Mon, 28 Mar 2016 11:16:25 -0400 Received: from eggs.gnu.org ([208.118.235.92]:52305) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1akYtz-0002vx-UO for submit@debbugs.gnu.org; Mon, 28 Mar 2016 11:16:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1akYtp-0004NU-3D for submit@debbugs.gnu.org; Mon, 28 Mar 2016 11:16:18 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:40770) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1akYtp-0004NQ-0P for submit@debbugs.gnu.org; Mon, 28 Mar 2016 11:16:13 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43231) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1akYtj-0007NY-QU for bug-gnu-emacs@gnu.org; Mon, 28 Mar 2016 11:16:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1akYtg-0004Kx-Kr for bug-gnu-emacs@gnu.org; Mon, 28 Mar 2016 11:16:07 -0400 Received: from chene.dit.umontreal.ca ([132.204.246.20]:43221) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1akYtg-0004KQ-GH for bug-gnu-emacs@gnu.org; Mon, 28 Mar 2016 11:16:04 -0400 Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id u2SFGaZX020964; Mon, 28 Mar 2016 11:16:36 -0400 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 84349AE071; Mon, 28 Mar 2016 11:16:01 -0400 (EDT) From: Stefan Monnier To: Simen =?windows-1252?Q?Heggest=F8yl?= Subject: Re: [PATCH] Support completion of bang-rules in CSS mode Message-ID: References: <1459169573.32373.0@smtp.gmail.com> Date: Mon, 28 Mar 2016 11:16:01 -0400 In-Reply-To: <1459169573.32373.0@smtp.gmail.com> ("Simen =?windows-1252?Q?Heggest=F8yl=22's?= message of "Mon, 28 Mar 2016 14:52:53 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV5625=0 X-NAI-Spam-Version: 2.3.0.9418 : core <5625> : inlines <4594> : streams <1610251> : uri <2174962> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit Cc: bug-gnu-emacs@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) > The attached patch adds support for completing bang-rules (rules that > start with "!") in CSS and SCSS mode. Looks fine, thanks. > + (list (point) pos (append (if sassy scss-bang-ids) > + css-bang-ids)))))) This duplicates code that's already elsewhere. Maybe we should have a new buffer-local var to keep the (s)css-bang-ids value appropriate for the current mode. Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 30 12:33:54 2016 Received: (at 23135) by debbugs.gnu.org; 30 Mar 2016 16:33:54 +0000 Received: from localhost ([127.0.0.1]:45285 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1alJ45-0001uc-SZ for submit@debbugs.gnu.org; Wed, 30 Mar 2016 12:33:54 -0400 Received: from mail-lf0-f45.google.com ([209.85.215.45]:36356) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1alJ42-0001uN-FM for 23135@debbugs.gnu.org; Wed, 30 Mar 2016 12:33:51 -0400 Received: by mail-lf0-f45.google.com with SMTP id e133so40377457lfe.3 for <23135@debbugs.gnu.org>; Wed, 30 Mar 2016 09:33:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:subject:to:cc:message-id:in-reply-to:references :mime-version; bh=L4RH+tqhDJyDEF/LHbfAniNb67Oq3hF9FbyHLBt8XgA=; b=wSfw7rrSbgidAg43QBAr86lC0BpceoDplk1yO00+Cm3JM6ivL/nTeq2D12MCzYdD4f /MRXBYGyL6lmqu4yW70J+Hko9jM+zxIz17g+08voBy0z2SkzKklwDmxezGWPCm5BsvMp kwW1OfkQEtFgxEQqE7WkH4hoW8pJzlSms8VjoVlGajos3X4n8edD77nePWI+uzvsouro VqKzVZYvuNhxWRHbDIumbgEamCyGwcqY7TWo1F8d+c2OVD12QL9eaNdSy/qhmJbV6lEG mxSCvu73uL3em9iMi9J3VZ++4Cz4ie7V6OtuxUuFFlg2Ch2518sKcHMgvQ6Zyirfrxv2 pwUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:subject:to:cc:message-id:in-reply-to :references:mime-version; bh=L4RH+tqhDJyDEF/LHbfAniNb67Oq3hF9FbyHLBt8XgA=; b=GwlpcvviOB5f3591Dav46SVF52/9mxVw2jfhHEk/Mddx/KJKEDR3TdUjUVs3KbzIr3 wEom7amWdwlGxQ6CLPrEEsMAdAqXkyP8AxcHk/tWKqhIuJMichU1CX5femHOPM3KS/KV BvDdOmpsK1Nv/oH/+TB3Z/KZ62iUiMFdq641pD/Klup0S95lds4w1W0GTRxTdL6yR4y3 CCQzl7LcE5i6lUN/FuqTDO5NDy8/TeaeqkEL7EYF8cPLJj2NAbO+cIYFehMib4G4hKE8 JvRgupNtV/jO03kfVe4opfcbghyS8Z152Tj+a1JALyIdP1qA9h44vVmaD4eQcZ+wJMm5 DopQ== X-Gm-Message-State: AD7BkJJuHm8gE2uKyzFF0kmAn9vwXarBdcuDAYHNJWwPSAssrNusWLOSZlpom5F8w2n+Ew== X-Received: by 10.25.90.21 with SMTP id o21mr3768768lfb.166.1459355624629; Wed, 30 Mar 2016 09:33:44 -0700 (PDT) Received: from [192.168.1.10] (136-245-11.connect.netcom.no. [176.11.245.136]) by smtp.gmail.com with ESMTPSA id g8sm679696lbs.37.2016.03.30.09.33.42 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 30 Mar 2016 09:33:43 -0700 (PDT) Date: Wed, 30 Mar 2016 18:33:33 +0200 From: Simen =?iso-8859-1?q?Heggest=F8yl?= Subject: Re: bug#23135: [PATCH] Support completion of bang-rules in CSS mode To: Stefan Monnier Message-Id: <1459355613.5367.0@smtp.gmail.com> In-Reply-To: References: <1459169573.32373.0@smtp.gmail.com> <=?ISO-8859-1?Q?1459169573.32373.0@smtp.gmail.com> <"Simen_Heggest?= =?ISO-8859-1?Q?=F8yl"'s_message_of_"Mon, _28_Mar_2016_14:52:53_+0200"> X-Mailer: geary/0.10.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-jH3FOawCgy8EKbVtxnYA" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 23135 Cc: 23135@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-jH3FOawCgy8EKbVtxnYA Content-Type: multipart/alternative; boundary="=-BKEYJoniWdBCBHEtCAE1" --=-BKEYJoniWdBCBHEtCAE1 Content-Type: text/plain; charset=utf-8; format=flowed On Mon, Mar 28, 2016 at 5:16 PM, Stefan Monnier wrote: >> + (list (point) pos (append (if sassy scss-bang-ids) >> + css-bang-ids)))))) > > This duplicates code that's already elsewhere. Maybe we should have > a new buffer-local var to keep the (s)css-bang-ids value appropriate > for > the current mode. Something like this? -- Simen --=-BKEYJoniWdBCBHEtCAE1 Content-Type: text/html; charset=utf-8 On Mon, Mar 28, 2016 at 5:16 PM, Stefan Monnier <monnier@IRO.UMontreal.CA> wrote:
+ (list (point) pos (append (if sassy scss-bang-ids) + css-bang-ids))))))
This duplicates code that's already elsewhere. Maybe we should have a new buffer-local var to keep the (s)css-bang-ids value appropriate for the current mode.

Something like this?

-- Simen
--=-BKEYJoniWdBCBHEtCAE1-- --=-jH3FOawCgy8EKbVtxnYA Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Support-completion-of-bang-rules-in-CSS-mode.patch >From 97b8d72f5fd8211d7244089c8fa1a1f2226ced0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simen=20Heggest=C3=B8yl?= Date: Mon, 28 Mar 2016 14:31:49 +0200 Subject: [PATCH] Support completion of bang-rules in CSS mode lisp/textmodes/css-mode.el (css--bang-ids): New buffer-local variable holding the list of bang-rules for the current mode. (css--font-lock-keywords): Retrieve bang-rules from `css--bang-ids' instead of computing them. (css--complete-bang-rule): New function for completing a bang-rule. (css-completion-at-point): Add support for completing bang-rules. (scss-font-lock-keywords): Change from a variable to a function in order to recompute `css--font-lock-keywords' when `css--bang-ids' has changed. (scss-mode): Include SCSS-specific completion rules. --- etc/NEWS | 4 ++-- lisp/textmodes/css-mode.el | 25 +++++++++++++++++++------ 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 66777e9..726b4b9 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -144,8 +144,8 @@ different group ID. ** CSS mode --- -*** Support for completing attribute values using the 'completion-at-point' -command. +*** Support for completing attribute values and bang-rules using the +'completion-at-point' command. * New Modes and Packages in Emacs 25.2 diff --git a/lisp/textmodes/css-mode.el b/lisp/textmodes/css-mode.el index fd3459e..cbef3d4 100644 --- a/lisp/textmodes/css-mode.el +++ b/lisp/textmodes/css-mode.el @@ -64,6 +64,10 @@ scss-bang-ids '("default" "global" "optional") "Additional identifiers that appear in the form !foo in SCSS.") +(defvar css--bang-ids css-bang-ids + "List of bang-rules for the current mode.") +(make-variable-buffer-local 'css--bang-ids) + (defconst css-descriptor-ids '("ascent" "baseline" "bbox" "cap-height" "centerline" "definition-src" "descent" "font-family" "font-size" "font-stretch" "font-style" @@ -600,9 +604,7 @@ css-proprietary-property "Face to use for vendor-specific properties.") (defun css--font-lock-keywords (&optional sassy) - `((,(concat "!\\s-*" - (regexp-opt (append (if sassy scss-bang-ids) - css-bang-ids))) + `((,(concat "!\\s-*" (regexp-opt css--bang-ids)) (0 font-lock-builtin-face)) ;; Atrules keywords. IDs not in css-at-ids are valid (ignored). ;; In fact the regexp should probably be @@ -732,6 +734,14 @@ css--complete-property (when (memq (char-before) '(?\{ ?\;)) (list start pos css-property-ids)))))) +(defun css--complete-bang-rule () + "Complete bang-rule at point." + (save-excursion + (let ((pos (point))) + (skip-chars-backward "-[:alnum:]") + (when (eq (char-before) ?\!) + (list (point) pos css--bang-ids))))) + (defun css--complete-pseudo-element-or-class () "Complete pseudo-element or pseudo-class at point." (save-excursion @@ -798,8 +808,9 @@ css--complete-property-value (defun css-completion-at-point () "Complete current symbol at point. Currently supports completion of CSS properties, property values, -pseudo-elements, pseudo-classes, and at-rules." +pseudo-elements, pseudo-classes, at-rules, and bang-rules." (or (css--complete-property) + (css--complete-bang-rule) (css--complete-property-value) (css--complete-pseudo-element-or-class) (css--complete-at-rule))) @@ -937,7 +948,7 @@ scss-mode-syntax-table (modify-syntax-entry ?$ "'" st) st)) -(defvar scss-font-lock-keywords +(defun scss-font-lock-keywords () (append `((,(concat "$" css-ident-re) (0 font-lock-variable-name-face))) (css--font-lock-keywords 'sassy) `((,(concat "@mixin[ \t]+\\(" css-ident-re "\\)[ \t]*(") @@ -958,7 +969,9 @@ scss-mode (setq-local comment-continue " *") (setq-local comment-start-skip "/[*/]+[ \t]*") (setq-local comment-end-skip "[ \t]*\\(?:\n\\|\\*+/\\)") - (setq-local font-lock-defaults '(scss-font-lock-keywords nil t))) + (setq-local css--bang-ids (append css-bang-ids scss-bang-ids)) + (setq-local font-lock-defaults + (list (scss-font-lock-keywords) nil t))) (provide 'css-mode) ;;; css-mode.el ends here -- 2.8.0.rc3 --=-jH3FOawCgy8EKbVtxnYA-- From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 30 17:06:47 2016 Received: (at 23135) by debbugs.gnu.org; 30 Mar 2016 21:06:47 +0000 Received: from localhost ([127.0.0.1]:45442 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1alNKA-0008Sm-Ql for submit@debbugs.gnu.org; Wed, 30 Mar 2016 17:06:46 -0400 Received: from chene.dit.umontreal.ca ([132.204.246.20]:49133) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1alNK8-0008Sd-MI for 23135@debbugs.gnu.org; Wed, 30 Mar 2016 17:06:45 -0400 Received: from pastel.home (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id u2UL7JvK001152; Wed, 30 Mar 2016 17:07:20 -0400 Received: by pastel.home (Postfix, from userid 20848) id D94A760441; Wed, 30 Mar 2016 17:06:42 -0400 (EDT) From: Stefan Monnier To: Simen =?windows-1252?Q?Heggest=F8yl?= Subject: Re: bug#23135: [PATCH] Support completion of bang-rules in CSS mode Message-ID: References: <1459169573.32373.0@smtp.gmail.com> <=?ISO-8859-1?Q?1459169573.32373.0@smtp.gmail.com> <1459355613.5367.0@smtp.gmail.com> Date: Wed, 30 Mar 2016 17:06:42 -0400 In-Reply-To: <1459355613.5367.0@smtp.gmail.com> ("Simen =?windows-1252?Q?H?= =?windows-1252?Q?eggest=F8yl=22's?= message of "Wed, 30 Mar 2016 18:33:33 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Level: X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0.2 X-NAI-Spam-Rules: 2 Rules triggered GEN_SPAM_FEATRE=0.2, RV5627=0 X-NAI-Spam-Version: 2.3.0.9418 : core <5627> : inlines <4619> : streams <1611442> : uri <2176013> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 23135 Cc: 23135@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > Something like this? Looks good to me, Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 31 15:23:46 2016 Received: (at 23135-done) by debbugs.gnu.org; 31 Mar 2016 19:23:46 +0000 Received: from localhost ([127.0.0.1]:46484 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aliC2-0008Id-LK for submit@debbugs.gnu.org; Thu, 31 Mar 2016 15:23:46 -0400 Received: from mail-lf0-f53.google.com ([209.85.215.53]:33569) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aliC0-0008IO-Tg for 23135-done@debbugs.gnu.org; Thu, 31 Mar 2016 15:23:45 -0400 Received: by mail-lf0-f53.google.com with SMTP id p188so39255770lfd.0 for <23135-done@debbugs.gnu.org>; Thu, 31 Mar 2016 12:23:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:subject:to:message-id:in-reply-to:references:mime-version; bh=FhbQQ/dUumvuQtAoonWm0PDQJyVNonfwzPM8BCzi9Bw=; b=QBUqBPhy7bxA9EyfuDr3HR6rfqUUPOcycnjhvkf0E+xR4JQWKPvzQXruWLlT7VRhE6 Qgw5LPnJS2qbeYxN+ppZK2nkEQ2d/DIHlpjBhk5cn9qbMkF0fhffKXTjYnIElkj6Bog2 651FCbB2PJ5NHj4bq54cqFTkyWqoDZPOC2p/hPqS4KPUrQZZltdpfxwY8Vn8CekaYnE1 gAcValOGRdmysgvftPyaJwztw6fZUp4vq1rt8aXTvnwBOOiqXi/BpIM1M0WbL0C+II2b mmzvyCqVl/IkLiVVlOfHfUGr/BP6l6A/W/xpeBr3KMWFnVCL73p6zDNllojrC5rs8FDl v1OA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:subject:to:message-id:in-reply-to :references:mime-version; bh=FhbQQ/dUumvuQtAoonWm0PDQJyVNonfwzPM8BCzi9Bw=; b=J5Qb7VDOcPjMzvITRg7gMABRUx/gTpaHFrHk+KzKCoAkHU+kWdy3V5vWatlrvkz1F9 Lvi6EiIb2RbkFDfBS5n11UpRj9ZA/20eOABH4wYemWmbEByKlW2P1AHdJdVXCcQsjA7q o3pTUaHAqe7IWLVsQgn98vVt9721VWRupjBlYETlS6XwYUayDgXqPAIer8Rzn4buNv4f lOmUmP9yWpaF0dOFh3JdpHT3owz7xHfvmRTlLusRnAuQ1n69LjzaYHDF/K4FWYiiH1wM 7V9euDQAtIIG4IuGDrJQsujOZoY7VAMBOuvp8IoRSmZkWlMnX36pisjXanYd5lqnM6Pd EA5A== X-Gm-Message-State: AD7BkJJzd2ksVgnoZh7ZDSVQGuZuRe8lHsIi3LSV3ziqepeajUBEdA3LoEmy3GLEv5TlgQ== X-Received: by 10.25.19.99 with SMTP id j96mr211947lfi.114.1459452219096; Thu, 31 Mar 2016 12:23:39 -0700 (PDT) Received: from [192.168.100.5] (cm-84.210.143.4.getinternet.no. [84.210.143.4]) by smtp.gmail.com with ESMTPSA id xf10sm1557706lbb.23.2016.03.31.12.23.38 for <23135-done@debbugs.gnu.org> (version=TLSv1/SSLv3 cipher=OTHER); Thu, 31 Mar 2016 12:23:38 -0700 (PDT) Date: Thu, 31 Mar 2016 21:23:37 +0200 From: Simen =?iso-8859-1?q?Heggest=F8yl?= Subject: Re: bug#23135: [PATCH] Support completion of bang-rules in CSS mode To: 23135-done@debbugs.gnu.org Message-Id: <1459452217.3117.1@smtp.gmail.com> In-Reply-To: References: <1459169573.32373.0@smtp.gmail.com> <=?ISO-8859-1?Q?1459169573.32373.0@smtp.gmail.com> <1459355613.5367.0@smtp.gmail.com> <=?ISO-8859-1?Q?1459355613.5367.0@smtp.gmail.com> <"Simen_Heggest=F8?= =?ISO-8859-1?Q?yl"'s_message_of_"Wed, _30_Mar_2016_18:33:33_+0200"> X-Mailer: geary/0.10.0 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="=-sugfCTS1QCGBSPyNYhs9" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 23135-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-sugfCTS1QCGBSPyNYhs9 Content-Type: text/plain; charset=utf-8; format=flowed Installed in master. -- Simen --=-sugfCTS1QCGBSPyNYhs9 Content-Type: text/html; charset=utf-8 Installed in master.

-- Simen
--=-sugfCTS1QCGBSPyNYhs9-- From unknown Mon Jun 23 23:54:31 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 29 Apr 2016 11:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator