Czy są dostępne selektory kolorów dla Emacsa?

20

Używam znakomitego rainbow-modedo podkreślania kolorów w plikach CSS.

css z trybem tęczy

Zakłada się jednak, że wiem, jakiego koloru chcę. Czy są jakieś selektory kolorów, których można używać do edycji CSS w Emacsie? Idealnie, naprawdę chciałbym coś, w którym mogę sprawić, by kolory były nieco ciemniejsze / jaśniejsze / bardziej czerwone / zielone, jak próbnik kolorów Firefox:

próbnik kolorów firefox

Alternatywnie zauważyłem, że customize-faceoferuje próbnik kolorów z zestawu 548 kolorów. Czy mogę tego użyć do CSS?

Próbnik kolorów dostosuj twarz

Wilfred Hughes
źródło
2
Nie mogę się oprzeć cytowaniu wymiany, która sięga początków Emacsa: „Mistrzu, czy Emacs ma naturę buddy?” „... nie rozumiem, dlaczego nie; ma wszystko inne.”
keshlam
1
Dzięki za wychowanie rainbow-mode! Szukałem właśnie tej funkcji i nie mogłem sobie przypomnieć, w której paczce był.
wdkrnls,

Odpowiedzi:

16

Spójrz na helm-colors. Przedstawia kolory dokładnie tak, jak na twoim zrzucie ekranu i wydaje się, że używa podobnej lub nawet tej samej palety.

Aby wstawić nazwę koloru do bieżącego bufora, naciśnij C-c n(uruchamia akcję Insert Name).

Aby wstawić wartość szesnastkową koloru, naciśnij C-c r(uruchom akcję Insert RGB).

Tmalsburg
źródło
3
Ja drugi helm-colors. Oto demo dla każdego zainteresowanego, jak to wygląda. Możesz wybrać kolor i wstawić go bezpośrednio do buforów edycji.
Tu Do
2
helm-colorsjest doskonały, ale wydaje się, że nie zastępuje on punktu, ani nawet nie wstawia do bufora. Idealnie chciałbym coś, co obsługuje dowolne kolory.
Wilfred Hughes,
@WilfredHughes Ma. Musisz spojrzeć na menu akcji, naciskając TAB(domyślne powiązanie klawiszy, użyj swojego, jeśli powiążesz z czymś innym). Zobacz moją sekcję kolorów hełmów w moim przewodniku.
Tu Do
2
Jeśli chcesz wstawić kolor z jego wartością szesnastkową, naciśnij C-c r.
Tu Do
13
  • Biblioteka Paleta ( palette.el) daje ogólny edytor / selektor kolorów WYSIWYG, który pozwala eksplorować i modyfikować kolory przy użyciu wartości RGB i HSV, w tym przyrostowo. Wygląda na to, co pokazano na drugim zdjęciu.

  • Biblioteka Do Re Mi ( doremi.el, doremi-cmd.el, doremi-frm.el) pozwala zmieniać kolory używane w Emacs stopniowo: „bezpośredniej manipulacji”.

  • Library Facemenu + ( facemenu+.el) pozwala używać palety kolorów (# 1) do zmiany kolorów używanych w Emacsie. Ulepsza standardową bibliotekę facemenu.el, takie jak list-colors-displayi list-faces-display(które wyglądają podobnie do twojego trzeciego obrazu).

  • Library Icicles pozwala przyrostowo wybierać kolory i twarze, manipulować RGB, HSV itp. Oraz sortować możliwe wybory na wiele sposobów (np. Łącząc siły składowe koloru).

(Biblioteki wymienione tutaj można pobrać z MELPA , a pliki Lisp zawierają pełną dokumentację (ale bez obrazów).)

Rysował
źródło
5

Co powiesz na:

(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
źródło