Existe-t-il des sélecteurs de couleurs pour Emacs?

20

J'utilise l'excellent rainbow-modepour mettre en évidence les couleurs dans les fichiers CSS.

CSS avec mode arc-en-ciel

Cependant, cela suppose que je sais de quelle couleur je veux. Existe-t-il des sélecteurs de couleurs que je peux utiliser pour l'édition CSS dans Emacs? Idéalement, j'aimerais vraiment quelque chose où je puisse rendre les couleurs légèrement plus sombres / plus lumineuses / plus rouges / plus vertes, comme le sélecteur de couleurs de Firefox:

sélecteur de couleurs firefox

Alternativement, j'ai remarqué customize-facepropose un sélecteur de couleurs à partir d'un ensemble de 548 couleurs. Puis-je l'utiliser pour CSS?

sélecteur de couleurs pour personnaliser le visage

Wilfred Hughes
la source
2
Je ne peux pas résister à citer un échange qui remonte aux premiers jours d'Emacs: "Maître, Emacs a-t-il la nature de bouddha?" "... Je ne vois pas pourquoi pas; il a tout le reste."
keshlam
1
Merci d'avoir parlé rainbow-mode! Je cherchais juste cette fonctionnalité et je ne me souvenais pas dans quel paquet elle était.
wdkrnls

Réponses:

16

Jetez un oeil à helm-colors. Il présente les couleurs exactement comme sur votre capture d'écran et semble utiliser une palette similaire ou même la même.

Pour insérer un nom de couleur dans le tampon courant, appuyez sur C-c n(exécute l'action Insert Name).

Pour insérer la valeur hexadécimale d'une couleur, appuyez sur C-c r(exécutez l'action Insert RGB).

tmalsburg
la source
3
Je seconde helm-colors. Voici une démo pour quiconque s'intéresse à son apparence. Vous pouvez sélectionner une couleur et l'insérer directement dans vos tampons d'édition.
Tu Do
2
helm-colorsest excellent, mais il ne semble pas remplacer le au point, ni même insérer dans le tampon. Idéalement, j'aimerais quelque chose qui prend en charge des couleurs arbitraires.
Wilfred Hughes
@WilfredHughes C'est vrai. Vous devez regarder le menu d'action, en appuyant sur TAB(la liaison de touches par défaut, utilisez la vôtre si vous vous liez à autre chose). Voir ma section couleurs de barre dans mon guide.
Tu Do
2
Si vous souhaitez insérer une couleur avec sa valeur hexadécimale, appuyez sur C-c r.
Tu Do
13
  • La palette de bibliothèque ( palette.el) vous offre un éditeur / sélecteur de couleurs WYSIWYG général, qui vous permet d'explorer et de modifier les couleurs à l'aide des valeurs RVB et HSV, y compris de manière incrémentielle. Cela ressemble à ce que vous montrez dans votre deuxième image.

  • Bibliothèque Do Re Mi ( doremi.el, doremi-cmd.el, doremi-frm.el) vous permet de modifier les couleurs utilisées dans Emacs progressivement: "manipulation directe".

  • Le masque de bibliothèque + ( facemenu+.el) vous permet d'utiliser la palette de couleurs (# 1) pour changer les couleurs utilisées dans Emacs. Il améliore la bibliothèque standard facemenu.el, des choses comme list-colors-displayet list-faces-display(qui ressemblent à votre 3ème image).

  • Library Icicles vous permet de choisir et de manipuler les couleurs et les visages de manière incrémentielle, en manipulant RVB, HSV, etc. et en triant les choix possibles de nombreuses façons (par exemple en combinant les forces des composants de couleur).

(Vous pouvez obtenir les bibliothèques mentionnées ici à partir de MELPA , et les fichiers Lisp contiennent la documentation complète (mais sans images).)

A dessiné
la source
5

Que diriez-vous:

(defun my-insert-color-hex ()
  "Select a color and insert its hexadecimal format."
  (interactive "*")
  (let ((buf (current-buffer)))
    (list-colors-display
     nil nil `(lambda (name)
                (interactive)
                (quit-window)
                (with-current-buffer ,buf
                  (insert (apply 'color-rgb-to-hex
                                 (color-name-to-rgb name))))))))
phils
la source