TextMate ve Bundle Repository’leri

textmate bundle php

Mac OS’un en rahat kullanılan, multi-platform yazılım geliştirme aracı TextMate ile ilgili güzel bir özellikten bahsetmek istiyorum.

this is an image | bu bir resim

Bundle

TextMate’le pek çok farklı işi yapabilmek, farklı yazılım dillerinde kod yazabilmek, her hangi bir veri-tabanı sunucusuna bağlanabilmek ya da otomatik tamamlama yapabilmek gibi tonlarca şeyi bu Bundle özelliği sayesinde yapıyoruz.

Uygulama içinden ilk kurduğunuz zaman pek çok (built-in) bundle geliyor. İşin güzel yanı, pek çok insan sürekli yeni bundle’lar geliştiriyor ve bunlar TextMate’in Bundle Repository’sinde bulunuyor.

Bundle dediğimiz şey; aslında bir konfigürasyon ve direktifler yığınıdır. Bundle Editore girdiğimizde;

  • Commands
  • Drag Commands
  • Macros
  • Snippets
  • Languages
  • Preferences
  • Templates
this is an image | bu bir resim

gibi seçenekleri olduğunu görürüz. Eğer Show All dersek tüm seçenekleri görebiliriz. Filtreleme yaparak sadece Snippet’ları ya da Macro’ları gösterebiliriz.

Bu alanda gördüğünüz herşey aslında TextMate’in Bundle Repository denen yazılım-geliştirme sunucularında depolanmakta ve sürekli güncellenmekte. Program ilk kurulduğunda üzerinde gelen bundle’lar ~/Library/Application\ Support/TextMate/Bundles yani sizin kullanıcınıza ait olan bölgede bulunuyor.

TextMate, SVN reposu üzerinde tutuyor Bundle’larını. Keza SVN üzerinden eklenen ya da elle kendi eklediğiniz bundle’lar birbirinden farklı olarak saklanıyor, kimse birbirini bozamıyor.

Yani repodan gelen (sistem altında!) ayrı bir yerde, kendi edit edip eklediğiniz / düzenlediğiniz ayrı yerde (kullanıcı yani user dizininde…)

Yeni bundle’lar eklemek için önce Terminal’i açıyoruz ve;

ls ~/Library/Application\ Support/

diyerek acaba TextMate’e ait folder var mı? bakıyoruz. Eğer yoksa;

mkdir -p ~/Library/Application\ Support/TextMate/Bundles
cd ~/Library/Application\ Support/TextMate/Bundles

diyoruz ve hemen hangi ekleri (ya da bundle’ları) kurmak istiyorsak Macromates’in SVN repository’sine gidiyoruz. Web browser açıp (Safari / Firefox vs) hemen http://macromates.com/svn/Bundles/trunk/Bundles/ adresine gidiyoruz.

Karşımıza büyük bir liste çıkıyor. Buradan istediğimiz Bundle’ı seçiyoruz. Mesela PHP ile ilgili Bundle’ı kuralım, hem de PHP fonksiyonları için auto-complete de yapıyor bu bundle. Terminal’den devam ediyoruz;

cd ~/Library/Application\ Support/TextMate/Bundles
svn co http://macromates.com/svn/Bundles/trunk/Bundles/PHP.tmbundle

Gördüğünüz gibi gidip PHP ile ilgili bundle’ı repodan indirdik. Şimdi ya TextMate kapatıp açıcaz ya da Bundle Editor menüsünden Reload Bundles yapıcaz. (Bundles > Bundle Editor > Reload Bundles) Şimdi bir Php dosyası yaratalım. (File > New) Bu dosyayı test.php şeklinde kaydedelim. (İlla kaydetmek zorunda da değilsiniz!)

Şimdi Php’i komutu yazarken (alt) ve (esc) tuşlarına basın!

this is an image | bu bir resim

Biraz merak ediyorsanız Bundle Editor’ü açıp bu otomatik tamamlamanın nasıl yapıldığına bakabilirsiniz. Çok zor değil, tüm konfigürasyon KEY: VALUE ikililerinden oluşan direktifler. Yani Dictionary Object dediğimiz şey…

Keza, ilgili komuta ait yardım almak için (alt) + F1

this is an image | bu bir resim

Belirli aralıklarla (ayda bir kez mesela) svn up yaparak reponuzu güncel tutabilirsiniz. Bunun için check-out (co) ettiğiniz yere gidin;

cd ~/Library/Application\ Support/Textmate/Bundles/PHP.tmbundle
svn up

yapmanız yeterli olacaktır.

Güncelleme (8 Ağustos 2009)

Bundle repository adresi değişmiş: http://svn.textmate.org/trunk/Bundles/

Güncelleme (2011)

Neredeyse tüm bundle’lar Github’a aktarıldı… Yeni repo: https://github.com/textmate