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."
next prev parent 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.