¿Hay selectores de color para Emacs?

20

Utilizo el excelente rainbow-modepara resaltar colores en archivos CSS.

css con modo arcoiris

Sin embargo, esto supone que sé qué color quiero. ¿Hay algún selector de color que pueda usar para editar CSS dentro de Emacs? Idealmente, me gustaría algo en lo que pueda hacer que los colores sean un poco más oscuros / brillantes / más rojos / más verdes, como el selector de color de Firefox:

selector de color de firefox

Alternativamente, he notado que customize-faceofrece un selector de color de un conjunto de 548 colores. ¿Puedo usar esto para CSS?

selector de color de cara personalizada

Wilfred Hughes
fuente
2
No puedo resistirme a citar un intercambio que se remonta a los primeros días de Emacs: "Maestro, ¿Emacs tiene naturaleza de Buda?" "... No puedo ver por qué no; tiene todo lo demás".
keshlam
1
Gracias por mencionarlo rainbow-mode! Estaba buscando solo esta función y no podía recordar en qué paquete estaba.
wdkrnls

Respuestas:

16

Echa un vistazo a helm-colors. Presenta los colores exactamente como en la captura de pantalla y parece estar usando una paleta similar o incluso la misma.

Para insertar un nombre de color en el búfer actual, presione C-c n(ejecuta la acción Insert Name).

Para insertar el valor hexadecimal de un color, presione C-c r(ejecutar la acción Insert RGB).

Tmalsburg
fuente
3
Yo segundo helm-colors. Aquí hay una demostración para cualquier persona interesada en cómo se ve. Puede seleccionar un color e insertarlo directamente en sus buffers de edición.
Tu Do
2
helm-colorses excelente, pero no parece reemplazar el punto en, ni siquiera insertarlo en el buffer Idealmente, me gustaría algo que admitiera colores arbitrarios.
Wilfred Hughes
@WilfredHughes Sí tiene. Debe mirar el menú de acciones presionando TAB(la combinación de teclas predeterminada, use la suya si se une a otra cosa). Vea mi sección de colores de timón en mi guía.
Tu Do
2
Si desea insertar un color con su valor hexadecimal, presione C-c r.
Tu Do
13
  • Library Palette ( palette.el) le ofrece un editor / selector de color WYSIWYG general, que le permite explorar y modificar colores usando valores RGB y HSV, incluso de forma incremental. Se parece a lo que muestra en su segunda imagen.

  • Biblioteca Do Re Mi ( doremi.el, doremi-cmd.el, doremi-frm.el) le permite modificar los colores utilizados en Emacs forma incremental: "manipulación directa".

  • Library Facemenu + ( facemenu+.el) le permite usar la paleta de colores (# 1) para cambiar los colores utilizados en Emacs. Mejora la biblioteca estándar facemenu.el, cosas como list-colors-displayy list-faces-display(que se parecen a su tercera imagen).

  • Library Icicles le permite elegir y manipular colores y caras de forma incremental, manipulando RGB, HSV, etc. y clasificando las posibles opciones de muchas maneras (por ejemplo, combinando las intensidades de los componentes de color).

(Puede obtener las bibliotecas mencionadas aquí de MELPA , y los archivos Lisp contienen la documentación completa (pero sin imágenes)).

Dibujó
fuente
5

Qué tal si:

(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
fuente