
2011/11/20 Jakson Alves de Aquino <jalvesaq@gmail.com>:
2011/11/20 Fernando Mayer <fernandomayer@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