all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Andreas Schwab <schwab@linux-m68k.org>
To: Tom Tromey <tom@tromey.com>
Cc: 25525@debbugs.gnu.org, "Simen Heggestøyl" <simenheg@gmail.com>
Subject: bug#25525: 25.1.90; add color highlighting to css mode
Date: Fri, 21 Apr 2017 11:33:42 +0200	[thread overview]
Message-ID: <871ssmyuix.fsf@linux-m68k.org> (raw)
In-Reply-To: <874lxi5sxt.fsf@tromey.com> (Tom Tromey's message of "Thu, 20 Apr 2017 21:40:46 -0600")

On Apr 20 2017, Tom Tromey <tom@tromey.com> wrote:

> +(defun css--named-color (str)
> +  "Check whether STR, seen at point, is CSS named color.
> +Returns STR if it is a valid color.  Special care is taken
> +to exclude some SCSS contructs."
> +  (when-let ((color (assoc str css--color-map)))
> +    (save-excursion
> +      ;; We still have the match from the caller of
> +      ;; css--compute-color.
> +      (goto-char (match-beginning 0))
> +      (forward-comment (- (point)))
> +      (skip-chars-backward "@[:alpha:]")
> +      (unless (looking-at-p "@\\(mixin\\|include\\)")
> +        (cdr color)))))
> +
> +(defun css--compute-color ()
> +  "Return the CSS color at point.
> +Point should be just after the start of a CSS color, as recognized
> +by `css--colors-regexp'.  This function will either return the color,
> +as a hex RGB string; or `nil' if no color could be recognized.  When
> +this function returns, point will be at the end of the recognized
> +color."
> +  (let ((match (downcase (match-string 0))))
> +    (cond
> +     ((eq (aref match 0) ?#)
> +      (css--hex-color match))
> +     ((member match '("rgb(" "rgba("))
> +      (css--rgb-color))
> +     ((member match '("hsl(" "hsla("))
> +      (css--hsl-color))
> +     ;; Evaluate to the color if the name is found.
> +     ((css--named-color match)))))

It would be better to pass the match string as an argument instead of
depending on the caller to establish a match.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."





  reply	other threads:[~2017-04-21  9:33 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-25  8:06 bug#25525: 25.1.90; add color highlighting to css mode Tom Tromey
2017-01-25 15:51 ` Eli Zaretskii
2017-01-25 17:25   ` Tom Tromey
2017-01-25 23:34     ` Tom Tromey
2017-01-26 16:05       ` Eli Zaretskii
2017-01-26 17:13         ` Tom Tromey
2017-01-26 19:32           ` Eli Zaretskii
2017-02-11  4:11             ` Tom Tromey
2017-01-26 17:17         ` Tom Tromey
2017-01-25 16:52 ` Glenn Morris
2017-01-25 20:23 ` Simen Heggestøyl
2017-01-25 20:41   ` Tom Tromey
2017-01-25 23:24   ` Tom Tromey
2017-01-26 18:25     ` Simen Heggestøyl
2017-02-11  4:16       ` Tom Tromey
2017-02-11 15:17       ` Tom Tromey
2017-02-17 19:29         ` Simen Heggestøyl
2017-03-04 17:55           ` Tom Tromey
2017-03-04 18:46             ` Simen Heggestøyl
2017-03-04 19:58               ` Tom Tromey
2017-03-05 18:28                 ` Simen Heggestøyl
     [not found]                   ` <871str3b48.fsf@tromey.com>
2017-03-20 21:28                     ` Tom Tromey
2017-03-22 22:07                     ` Tom Tromey
2017-03-29 18:27                       ` Simen Heggestøyl
2017-04-21  3:40                         ` Tom Tromey
2017-04-21  9:33                           ` Andreas Schwab [this message]
2017-04-22  0:44                             ` Tom Tromey
2017-04-22 15:07                           ` Simen Heggestøyl
2017-04-24 13:44                             ` Tom Tromey
2017-04-29  4:17                               ` Tom Tromey
2017-05-01 19:15                                 ` Simen Heggestøyl
2017-05-03 22:04                                   ` Tom Tromey
2017-05-01 21:25                                 ` Etienne Prud’homme
2017-05-03 22:03                                   ` Tom Tromey
2017-05-03 23:24                                     ` Etienne Prud’homme
2017-05-04  3:51                                       ` Tom Tromey
2017-03-05  2:42               ` Tom Tromey
2017-03-05 15:34                 ` Eli Zaretskii
2017-05-03 22:04 ` bug#25525: done Tom Tromey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871ssmyuix.fsf@linux-m68k.org \
    --to=schwab@linux-m68k.org \
    --cc=25525@debbugs.gnu.org \
    --cc=simenheg@gmail.com \
    --cc=tom@tromey.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.