From unknown Mon Jun 23 23:55:34 2025 X-Loop: help-debbugs@gnu.org Subject: bug#23135: [PATCH] Support completion of bang-rules in CSS mode Resent-From: Simen =?UTF-8?Q?Heggest=C3=B8yl?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 28 Mar 2016 12:54:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 23135 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 23135@debbugs.gnu.org Cc: Stefan Monnier X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.145916959029823 (code B ref -1); Mon, 28 Mar 2016 12:54:02 +0000 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 =?UTF-8?Q?Heggest=C3=B8yl?= 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-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 unknown Mon Jun 23 23:55:34 2025 X-Loop: help-debbugs@gnu.org Subject: bug#23135: [PATCH] Support completion of bang-rules in CSS mode Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 28 Mar 2016 15:17:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 23135 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Simen =?UTF-8?Q?Heggest=C3=B8yl?= Cc: 23135@debbugs.gnu.org X-Debbugs-Original-Cc: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.145917818511305 (code B ref -1); Mon, 28 Mar 2016 15:17:02 +0000 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 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 =?UTF-8?Q?Heggest=C3=B8yl?="'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-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 unknown Mon Jun 23 23:55:34 2025 X-Loop: help-debbugs@gnu.org Subject: bug#23135: [PATCH] Support completion of bang-rules in CSS mode Resent-From: Simen =?UTF-8?Q?Heggest=C3=B8yl?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 30 Mar 2016 16:34:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 23135 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Stefan Monnier Cc: 23135@debbugs.gnu.org Received: via spool by 23135-submit@debbugs.gnu.org id=B23135.14593556347358 (code B ref 23135); Wed, 30 Mar 2016 16:34:01 +0000 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 =?UTF-8?Q?Heggest=C3=B8yl?= Message-Id: <1459355613.5367.0@smtp.gmail.com> In-Reply-To: References: <1459169573.32373.0@smtp.gmail.com> <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-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 unknown Mon Jun 23 23:55:34 2025 X-Loop: help-debbugs@gnu.org Subject: bug#23135: [PATCH] Support completion of bang-rules in CSS mode Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 30 Mar 2016 21:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 23135 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Simen =?UTF-8?Q?Heggest=C3=B8yl?= Cc: 23135@debbugs.gnu.org Received: via spool by 23135-submit@debbugs.gnu.org id=B23135.145937200732540 (code B ref 23135); Wed, 30 Mar 2016 21:07:01 +0000 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 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 =?UTF-8?Q?Heggest=C3=B8yl?="'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-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 unknown Mon Jun 23 23:55:34 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Simen =?UTF-8?Q?Heggest=C3=B8yl?= Subject: bug#23135: closed (Re: bug#23135: [PATCH] Support completion of bang-rules in CSS mode) Message-ID: References: <1459452217.3117.1@smtp.gmail.com> <1459169573.32373.0@smtp.gmail.com> X-Gnu-PR-Message: they-closed 23135 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: patch Reply-To: 23135@debbugs.gnu.org Date: Thu, 31 Mar 2016 19:24:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1459452242-31942-1" This is a multi-part message in MIME format... ------------=_1459452242-31942-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #23135: [PATCH] Support completion of bang-rules in CSS mode which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 23135@debbugs.gnu.org. --=20 23135: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D23135 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1459452242-31942-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit 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-- ------------=_1459452242-31942-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit 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-- ------------=_1459452242-31942-1--