gEdit e tabulação por arquivo
02/01/07
O gEdit está se tornando um excelente editor de textos e será, com certeza, o escolhido pela maioria quando sair a versão com o novo componente GTKSourceView, que permite múltiplos highlights em um único arquivo (pense em um arquivo HTML com Javascript e CSS embutidos). Porém, por seguir a mesma filosofia do GNOME, peca por algumas funcionalidades básicas que não são implementadas. Uma delas é a definição de tabulação por tipo de arquivo. Por exemplo, quando programo em PHP, gosto de tabulação com 4 espaços. Mesma coisa para o Python. Mas quando estou em Ruby, gosto de 2 espaços como tabulação. Traduzindo, gosto de seguir as convenções de codificação de cada linguagem.
Uma das coisas que me impedia de usar o gEdit era a impossibilidade de fazer isso facilmente. Para quem não sabe, é possÃvel fazer este tipo de configuração com o plugin modelines, mas você precisa adicionar a definição no mesmo estilo do Vim.
O plugin
Resolvi, então, criar este plugin que faz justamente isso. Permite definir diferentes tipos de tabulação, baseadas na extensão do arquivo.
Para instalá-lo, baixe o arquivo tabulation.tar.gz e extraia os arquivos para o diretório ~/.gnome2/gedit/plugins. Depois, ative-o em Editar / Preferências / Plugins.
Para adicionar uma nova extensão, ou alterar as configurações pré-definidas, modifique o arquivo "~/.tabulation.yml".
Sugestões? Deixe um comentário.
Para ver como seu gEdit pode ficar, veja estes posts publicados pelo Yuri Malheiros.
NOTA MENTAL: permitir a configuração das tabulações através de uma interface gráfica.
Update: Forcei apenas a tabulação de arquivos PHP, Python e Ruby. Assim, o script fica sem nenhuma dependência. Baixe o arquivo em http://f.simplesideias.com.br/tabulation-strict.tar.gz.
- Permalink
- Trackback
- Comentários (12)
- Ao som de: AFI – The Missing Frame
Textos escritos por
Comentários #
Olá Nando. Estou criando um protótipo de site para agregar diversos componentes escritos em python para as várias aplicações que oferecem recursos para tais. Dá uma olhada em http://escorpiao.homelinux.org/pythoneverywhere/html/. Ainda estou a procura de patrocÃnio para bancar o domÃnio e colocar definitivamente no ar.
O plugin que você fez aà pro Gedit é muito interessante e o site da precisando de conteúdo ;). Você poderia preencher o modelo (disponÃvel em http://escorpiao.homelinux.org/pythoneverywhere/html/howtocrontibute/model.html.tar.gz) para eu adicionar no site? Em caso afirmativo manda pro meu email.
Até mais.
Opa Yguaratã. Acabei de te mandar o modelo preenchido! Abraço!
Valeu, Nando. Uma dica: faz um jeito para não ser preciso reiniciar o gEdit quando o cara adicionar ou editar as extensões.
Abraços
Isso vai rolar na versão com a interface, porque vou poder conectar um signal com um método de atualização da lista. Para versão inicial não é grande problema, vai! ;)
É verdade. :D
Já instalei o plugin aqui. Eu costumo seguir as recomendações de estilo das linguagens e esse plugin com certeza vai ajudar. Boa iniciativa Nando Vieira.
Quando tu desenvolver a versão com interface ver se tem um jeito de enviar pro site do Gedit (http://live.gnome.org/Gedit/Plugins), tem uma parte para plugins de terceiros (third party).
Vou deixar uma idéia de plugin no ar... algo que eu gostaria de ver no gedit era um plugin para facilitar a edição de arquivos XML em geral, um bom recurso para começar seria o fechamento automático de tags. Exemplo, você digita " texto aqui " resultando em: " texto aqui "
Gedit rumo ao topo dos editores :D ... tá certo nunca vão deixar de dizer que o vim/emacs são os melhores, blablabla.
PS: Millencolin rox!
Olá Nando,
ainda nem testei o plugion mas como sou entusiasta python comecei a desenvolver uma gui para configurar o seu plugin
dando uma lida rapida no codigo do plugin vi que ele usa um modulo chamado syck para parsear o tabulation.yml
como eu não tenho esse modulo comecei a escrever a gui a partir de um parser pro tabulation.yml
ja ta pronto.
Agora vou mexer na GUI em si.
Infelizmente ainda sou muito, mas muito, muito iniciante em python e meu código ainda tá porco,e talvez até redundante, ams funciona (=P)
de qualquer maneira amo o software livre justamente por essa liberdade de contribuição.
Em breve colocarei os arquivos q estou desenvolvendo no disco virtual do meu site http://www.nacaolivre.org
abraço!
[...] Como bom estudante de python ando sembre buscando boas ferramentas para ajudar no rendimento do meu trabalho e no meu aprendizado da linguagem, foi assim que saà buscando plugins e ferramentas para incrementar o meu gedit, num dos meus passeios pela net vi esse post do Nando Vieira, e resolvi criar um front-end para configurar o plugin criado por ele. [...]
[...] Como bom estudante de python ando sembre buscando boas ferramentas para ajudar no rendimento do meu trabalho e no meu aprendizado da linguagem, foi assim que saà buscando plugins e ferramentas para incrementar o meu gedit, num dos meus passeios pela net vi esse post do Nando Vieira, e resolvi criar um front-end para configurar o plugin criado por ele. [...]
[...] Força tabulação para arquivos PHP, Ruby e Python. Outros documentos utilizam o padrão definido nas preferências. http://simplesideias.com.br/gedit-e-tabulacao-por-arquivo/ [...]
Aqui não funcionou, não consigo marcar a caixa do plugin,
Estou usando o suse 11.0
gtksourceview-2.2.1-18.1
gedit-2.22.1-27.1
Flw
[...] Força tabulação para arquivos PHP, Ruby e Python. Outros documentos utilizam o padrão definido nas preferências. http://simplesideias.com.br/gedit-e-tabulacao-por-arquivo/ [...]
Deixe um comentário