Rails Hotkeys
28/06/07
Ontem de noite fiz um plugin para o Gedit para aumentar minha produtividade enquanto estou trabalhando em projetos desenvolvidos com Rails. Chama-se Rails Hotkeys. Se você segue as convenções sugeridas pelo Rails — e isso significa que você deve codificar em inglês — este plugin vai ser uma mão na roda. Como? Continue lendo.
Imagine que você está editando um modelo "Post". Se você quiser editar seu controller — na maioria dos casos será "PostsController" — basta pressionar Ctrl + Shift + R para ativar o Rails Mode e, então, pressionar a tecla C para abrir o arquivo correspondente. E não é só isso! Você pode abrir, à partir deste mesmo modelo, os testes (unitários, funcionais e de integração), arquivos de configuração, além de algumas outras coisas.
Ainda não se interessou? Então veja o screencast do Rails Hotkeys (o projeto que mostro lá o mesmo dos artigos de Testes). Para instalá-lo, basta baixar o plugin e extrair os arquivos para ~/.gnome2/gedit/plugins/. Lembre-se de ativá-lo em "Edit › Preferences › Plugins › Rails Hotkeys".
Após concluir a instalação, pressione as teclas Ctrl + Shift + R e depois a tecla F1 para ver a lista de atalhos disponíveis.
O plugin Rails Hotkeys está disponível em f.simplesideias.com.br/rails_hotkeys.tar.gz através do Subversion. Para pegar a versão mais recente, execute o comando svn co http://svn.simplesideias.com.br/general/gedit/plugins/rails_hotkeys e copie os arquivos para ~/.gnome2/gedit/plugins.
Ah, o nome foi sugerido pelo Klaus Paiva, viciado no plugin HotKeys do Gaim. Então, se não gostarem, já sabem para quem reclamar!
Nota: obviamente, este plugin só irá funcionar se você estiver editando algum projeto Rails.
Possíveis funcionalidades que serão implementadas:
- Iniciar e parar um servidor Webrick
- Executar comandos como
script/generateerake - Exibir um painel com todos os comentários marcados como TO-DO e FIXME (por exemplo,
# TODO: Implement the whole thing)
- Permalink
- Trackback
- Comentários (7)
- Ao som de: The Ataris – Takeoffs and Landings
Current Line Highlight
04/04/07
Criei um plugin que aplica a cor de fundo da linha atual no gEdit para contornar um problema que falei num post anterior. Já publiquei o link no wiki do projeto.

Após baixar o Current Line Highlight, copie os arquivos para o diretório ~/.gnome2/gedit/plugins.
- Permalink
- Trackback
- Comentários (13)
- Ao som de: The Ataris – My Hotel Year
Executando arquivos direto do gEdit
29/03/07
Uma funcionalidade que não tinha no gEdit e que eu sentia muita falta é a de executar o arquivo que você estava editando. Por exemplo, você pode estar digitando um HTML e gostaria de ver como está ficando, no navegador. Ou, estar fazendo um script em Python, Ruby ou PHP e gostaria de executar esse arquivo sem precisar sair do editor. No SciTE eu conseguia fazer isso com um simples F5. Agora também consigo fazer no gEdit!
Criei um comando para o "External Tools" — plugin muito interessante, por sinal — que roda comandos externos, como o próprio nome sugere. Para utilizá-lo, primeiro ative-o em "Edit > Preferences > Plugins > External Tool". Depois, vá em "Tools > External Tools" e adicione um novo comando. Copie o código abaixo e cole no campo "Command(s)".
Se você TEM Ruby instalado, use este script:
#!/usr/bin/env ruby
current_file = ENV['GEDIT_CURRENT_DOCUMENT_PATH']
if not current_file
puts "The current file cannot be runned."
elsif current_file =~ /\.(php|py|rb|html|htm|xml)$/i
commands = {
'php' => "php -f #{current_file}",
'rb' => "ruby #{current_file}",
'py' => "python #{current_file}",
'browser' => "gnome-open #{current_file}"
}
extension = $1
extension = 'browser' if ['xml', 'html', 'htm'].include?(extension)
command = commands[extension]
puts "Running command #{command}\n\n"
system(command)
end
Se você NÃO TEM Ruby instalado, use este script:
#!/usr/bin/env python
import re
import os
current_file = os.getenv("GEDIT_CURRENT_DOCUMENT_PATH")
match = re.search('\.(php|py|rb|html|htm|xml)$', current_file)
if match is None:
print "The current file cannot be runned"
else:
commands = {
'php': 'php -f "%s"',
'rb': 'ruby "%s"',
'py': 'python "%s"',
'browser': 'gnome-open "%s"'
}
extension = match.group(1)
if extension in ['xml', 'html', 'htm']:
extension = 'browser'
command = commands[extension] % current_file
print "Running command %s\n\n" % command
os.system(command)

Agora, quando você estiver executando um arquivo .php, .rb, .py ou .htm/.html e quiser executá-lo, basta pressionar F5 e pronto! Se for HTML abre no navegador padrão. Se for um dos outros que mencionei ele executa e exibe a saída no "Shell Output". Veja a saída de um script Ruby:

Update: Adicionado suporte a XML com comportamento semelhante de HTML.
Update 2: Adicionado versão Python do script para quem não tem Ruby instalado.
- Permalink
- Trackback
- Comentários (15)
- Ao som de: Punchline – Just Getting Started
