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.

Comentários #

#1 yguaratã disse:
02 Jan 07, 04:40PM

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.

#2 Nando Vieira disse:
02 Jan 07, 04:56PM

Opa Yguaratã. Acabei de te mandar o modelo preenchido! Abraço!

#3 yguaratã disse:
02 Jan 07, 08:21PM

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

#4 Nando Vieira disse:
02 Jan 07, 09:39PM

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! ;)

#5 yguaratã disse:
03 Jan 07, 02:50PM

É verdade. :D

#6 Yuri Malheiros disse:
03 Jan 07, 10:26PM

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!

#7 Gabriel Falcão disse:
08 Jan 07, 10:38PM

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!

#8 Nação Livre - "Parseando" de arquivos de configuraÃ... disse:
11 Jan 07, 08:24PM

[...] 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. [...]

#9 Nação Livre » "Parseando" de arquivos de conf... disse:
13 Jan 07, 02:05AM

[...] 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. [...]

#10 Simples Idéias. Por Nando Vieira. » Arquivo » Lista ... disse:
04 Abr 07, 04:50PM

[...] 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/ [...]

#11 Fabio disse:
25 Mar 09, 09:00AM

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

#12 Plugins para gEdit.= Procurando Conhecimento= Tvieira disse:
28 Maio 09, 02:22AM

[...] 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





Não é aceito código HTML: adicione-o no pastie.org ou paste.milk-it.net e poste apenas o link.

Se este é seu primeiro comentário, ele terá que ser aprovado antes de ser exibido.

jQuery: Dominando o framework

Você quer aprender a usar jQuery de verdade? Então chegou a hora! Neste workshop você verá como funciona este framework de JavaScript, entendendo todos os aspectos que fazem do jQuery uma das melhores ferramentas para desenvolvimento de interfaces.

Saiba mais Fechar

Conheça também o HOWTO