GNU bug report logs - #13425
new css-mode indenter

Previous Next

Package: emacs;

Reported by: E Sabof <esabof <at> gmail.com>

Date: Sun, 13 Jan 2013 07:45:01 UTC

Severity: wishlist

Done: Simen Heggestøyl <simenheg <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #29 received at 13425 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: Simen Heggestøyl <simenheg <at> gmail.com>
Cc: 13425 <at> debbugs.gnu.org, Tom Tromey <tom <at> tromey.com>
Subject: Re: bug#13425: close this bug?
Date: Sun, 29 Jan 2017 13:15:42 -0500
>> The above problem is trivially fixed with the patch below, but it seems
>> too easy, so it probably introduces problems elsewhere.
> Indeed, that causes problems with selectors that contain colons, like:

Then we need to change css-smie--forward-token and
css-smie--backward-token.  Two ways to fix it:
- either make them distinguish between ", between selector" and ",
  between values".
- or make them distinguish between ": for selectors" and ": for values".

Then we can change the grammar to give different precedences for the two
different cases.

E.g.

    (defun css-smie--backward-token ()
      [...]
      (if (css--colon-inside-selector-p)
          ":-selector" ":"))

and then

 (defconst css-smie-grammar
   (smie-prec2->grammar
    (smie-precs->prec2 '((assoc ";") (left ":") (assoc ",")
                         (left ":-selector")))))

So the question is mostly: whether it's easier to distinguish the two
different kinds of commas, or whether it's easier to distinguish the two
different kinds of colons.


        Stefan




This bug report was last modified 8 years and 112 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.