Existem seletores de cores para o Emacs?

20

Eu uso o excelente rainbow-modepara destacar cores em arquivos CSS.

CSS com modo arco-íris

No entanto, isso pressupõe que eu sei de que cor eu quero. Existem seletores de cores que eu possa usar para edição de CSS no Emacs? Idealmente, eu realmente gostaria de algo em que eu possa tornar as cores um pouco mais escuras / brilhantes / mais vermelhas / mais verdes, como o seletor de cores do Firefox:

seletor de cores do firefox

Como alternativa, notei que customize-faceoferece um seletor de cores de um conjunto de 548 cores. Posso usar isso para CSS?

seletor de cores de personalização

Wilfred Hughes
fonte
2
Não resisto a citar uma conversa que remonta aos primeiros dias do Emacs: "Mestre, o Emacs tem natureza búdica?" "... não vejo por que não; tem tudo o mais."
keshlam
1
Obrigado por trazer à tona rainbow-mode! Eu estava procurando apenas este recurso e não conseguia se lembrar qual o pacote foi no.
wdkrnls

Respostas:

16

Dê uma olhada helm-colors. Apresenta as cores exatamente como na captura de tela e parece estar usando uma paleta semelhante ou até a mesma.

Para inserir um nome de cor no buffer atual, pressione C-c n(executa a ação Insert Name).

Para inserir o valor hexadecimal de uma cor, pressione C-c r(execute a ação Insert RGB).

Tmalsburg
fonte
3
Eu segundo helm-colors. Aqui está uma demonstração para qualquer pessoa interessada em como ela se parece. Você pode selecionar uma cor e inseri-la diretamente nos seus buffers de edição.
Tu Do
2
helm-colorsé excelente, mas parece não substituir o ponto de entrada nem mesmo inserir no buffer. Idealmente, eu gostaria de algo que suportasse cores arbitrárias.
Wilfred Hughes
@WilfredHughes Tem. Você precisa olhar para o menu de ação pressionando TAB(a ligação de tecla padrão, use a sua se ligar a outra coisa). Veja minha seção de cores do capacete no meu guia.
Tu Do
2
Se você deseja inserir uma cor com seu valor hexadecimal, pressione C-c r.
Tu Do
13
  • A Paleta de bibliotecas ( palette.el) fornece um editor / seletor de cores WYSIWYG geral, que permite explorar e modificar cores usando valores RGB e HSV, inclusive incrementalmente. Parece com o que você mostra na sua segunda imagem.

  • Biblioteca Do Re Mi ( doremi.el, doremi-cmd.el, doremi-frm.el) permite modificar as cores utilizadas na Emacs gradativamente: "manipulação direta".

  • A Biblioteca Facemenu + ( facemenu+.el) permite usar a paleta de cores (nº 1) para alterar as cores usadas no Emacs. Ele aprimora a biblioteca padrão facemenu.el, coisas como list-colors-displaye list-faces-display(que se parecem com a sua terceira imagem).

  • Os sincelos da biblioteca permitem escolher e manipular cores e faces de forma incremental, manipulando RGB, HSV etc. e classificando as opções possíveis de várias maneiras (por exemplo, combinando os pontos fortes dos componentes de cores).

(Você pode obter as bibliotecas mencionadas aqui no MELPA e os arquivos Lisp contêm a documentação completa (mas sem imagens).)

Desenhou
fonte
5

E se:

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