[R-br] pacote colorout: agora com suporte a 256 cores e funcionando no Emacs

Rodrigo Sant'Ana rodrigo.gringo em gmail.com
Segunda Novembro 21 02:03:29 BRST 2011


Boa noite Pessoal,

  aproveitando o gancho levantado pelo Fernando, o EMACS permite
customizar alguns elementos, tanto do output do R, quanto do próprio
editor de scripts. Abaixo segue algumas das modificações que consegui
observar:

Setando no arquivo .emacs os seguintes comandos, podemos ter as
mudanças conforme expostos nos comentários acima de cada função.

;; muda a cor do fundo para preto
(set-background-color "black")

;; muda a cor da fonte para branco
(set-foreground-color "white")

;; muda a cor da fonte dos comentários
(set-face-foreground 'font-lock-comment-face "green")

;; muda a cor dos caracteres entre strings
(set-face-foreground 'font-lock-string-face "DodgerBlue")

;; muda a cor de textos constantes. exemplo: library(), simbolo de
atribuição "<-", entre outros
(set-face-foreground 'font-lock-constant-face "Chartreuse1")

Outra forma ainda, seria instalar a lib emacs-goodies-el, que traz um
universo de themes para customização do EMACS. Uma vez feito o
download da mesma, para selecionar o theme desejado, basta apenas usar
o comando a seguir:
M x colot-theme-select

ou ainda setar no arquivo .emacs o tema desejado para torná-lo padrão
(require 'color-theme)
(setq color-theme-is-global t)
(color-theme-"nome_do_tema")

Estas customizações atuam, tanto no editor do emacs, quanto no buffer
onde se encontra rodando o R, Latex, entre outros.

Abs.


_______________
Rodrigo Sant'Ana
Oceanógrafo



Em 21 de novembro de 2011 01:52, Fernando Mayer
<fernandomayer em gmail.com> escreveu:
> 2011/11/20 Jakson Alves de Aquino <jalvesaq em gmail.com>:
>> 2011/11/20 Fernando Mayer <fernandomayer em gmail.com>:
>>> coloquei essa linha no .Rprofile e testei. No terminal funciona bem.
>>> No Emacs está acontecendo isso:
>>>
>>>> ls()
>>>  [32mcharacter( [33m0 [32m) [0m
>>
>> O seguinte comando no Emacs deve resolver:
>>
>> M-x ansi-color-for-comint-mode-on
>
> Fuinciona!
>
>> Eu gostaria de saber como fazer para esse comando ser aplicado
>> automaticamente. Ou seja, como colocá-lo no ~/.emacs?
>
> Fiz uma busca e os dois comandos a seguir são necessários para ativar
> o ansi-color-for-comint-mode-on
> (require 'ansi-color)
> (add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
>
> Só um detalhe. Uso o Emacs 23.2.1. Parece que em algumas versões
> antigas o suporte para ansi-color não funciona assim diretamente, e ai
> é preciso baixar o arquivo ansi-color.el e colocar em um LoadPath.
> Algumas informações sobre isso estão aqui:
>
> http://www.emacswiki.org/emacs/AnsiColor
> http://www.emacswiki.org/emacs/LoadPath
> http://www.emacswiki.org/emacs/ansi-color.el
>
>> Mas a ativação do colorout cria outro problema. A completação
>> automática de nomes de funções com a tecla Tab para de funcionar. Pelo
>> menos foi o que percebi aqui. Na verdade, não uso o Emacs, então, não
>> sei quais serão as outras consequências (se houver outras). Mas
>> ficarei grato se você ou outros usuários do Emacs puderem me informar
>> dos problemas que forem encontrando para que eu possa tentar resolver.
>
> Sim, a completação automática não funciona, assim como também não
> funciona o modo ElDoc do ESS (que serve para mostar os argumentos de
> uma função no buffer, quando vc está em um *.R) --- carrega-se com
> (require 'ess-eldoc)
>
>> Uma observação: Eu criei o pacote porque uso o R através do Vim e a
>> única forma de rodar o R dentro de um buffer do Vim é problemática
>> (usando o plugin Conque Shell). Com o Vim, o R roda em um terminal
>> independente do editor e, por isso, o pacote colorout é realmente
>> útil. O Emacs tem capacidade de colorir o output do R, o que,
>> inclusive, ele já faz. Talvez exista alguma forma de configurar o ESS
>> para usar cores diferenciadas para todos os elementos coloridos pelo
>> colorout.
>
> Pelo ESS acho que não é possível fazer isso, mas pelo Emacs mesmo deve ser.
>
>
> []s,
>
> ---
> Fernando Mayer
> Universidade Federal de Santa Catarina - UFSC
> Departamento de Ecologia e Zoologia - ECZ/CCB
> URL: http://sites.google.com/site/fernandomayer
> e-mail: fernandomayer [@] gmail.com
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
>


Mais detalhes sobre a lista de discussão R-br