TextMate - Convert Tabs to 2 Spaces and Strip Whitespace
I only ever use 2 spaces so i've gone with that.
#!/usr/bin/env ruby STDIN.read.each do |line| line.sub!(/^(\t+)/) { |c| ' ' * c.length } line.sub!(/(\s+)$/, "\n") puts line end
11453 users tagging and storing useful source code snippets
Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world
#!/usr/bin/env ruby STDIN.read.each do |line| line.sub!(/^(\t+)/) { |c| ' ' * c.length } line.sub!(/(\s+)$/, "\n") puts line end
{ shellVariables = ( { name = 'TM_COMMENT_START'; value = '// '; }, ); }
def load_user @user = User.find(params[:user_id]) if params[:user_id]
def load_${1:model} @$1 = ${1/[[:alpha:]]+|(_)/(?1::\u$0)/g}.find(params[${2::$1_}id])${3: if params[:$1_id]} end
alias gitdiff='git log|grep commit|cut -d " " -f2|head -n 2|xargs -n 2 git diff -R|mate'
socket:value. I can never remember mine. So I added a TextMate snippet to find it. (read below for non-TextMate)
socket: `mysql_config --socket`
socket:
source.yaml - string
socket:, delete any blank spaces til the cursor is at the colon, then press TAB and wait. The line will be updated with the socket location.
mysql_config --socket
#!/usr/bin/env ruby email = STDIN.read url_email = email.gsub(/./) { |c| '%' + c.unpack('H2' * c.size).join('%').upcase } html_email = url_email[1..-1].split(/%/).collect { |c| sprintf("&#%03d;", c.to_i(16)) }.join print "<a href=\"mailto:#{url_email}\">#{html_email}</a>"
!.*/(\.[^/]*|CVS|vendor/rails|_darcs|\{arch\}|blib|.*~\.nib|.*\.(framework|app|pbproj|pbxproj|xcode(proj)?|bundle))$$
-- Opens the current finder window folder in TextMate. Or open a file or folder in TextMate by dragging it onto this script. -- adopted from a script I found in the comments of this article: http://www.macosxhints.com/article.php?story=20050924210643297 -- Instructions for use: -- paste this script into Script Editor and save as an application to ~/Library/Scripts/Applications/Finder/open in TextMate -- run via the AppleScript Menu item (http://www.apple.com/applescript/scriptmenu/) -- Or better yet, Control-click and drag it to the top of a finder window so it appears in every finder window. -- Activate it by clicking on it or dragging a file or folder onto it. -- Another nice touch is to give the saved script the same icon as TextMate. -- To do this, in the finder, Get info (Command-I) of both TextMate and this saved script. -- Click the TextMate icon (it will highlight blue) and copy it by pressing Comand-C. -- Click on this script's icon and paste by pressing Command-V. -- Another way to give it the same icon as TextMate is to save the script as an application bundle (instead of an application), -- then copy the icon by entering these commands in Terminal: -- $ cd ~/Library/Scripts/Applications/Finder/open\ in\ TextMate.app/Contents/Resources/ -- $ rm droplet.icns -- $ cp /Applications/TextMate.app/Contents/Resources/TextMate.icns droplet.icns -- $ touch ~/Library/Scripts/Applications/Finder/open\ in\ TextMate.app -- script was opened by click in toolbar on run tell application "Finder" try set currFolder to (folder of the front window as string) on error display dialog "Error: " & the error_number & ". " & the error_message buttons {"OK"} default button 1 end try end tell CD_to(currFolder, false) end run -- script run by draging file/folder to icon on open (theList) CD_to(theList, false) end open -- open the file/folder in TextMate on CD_to(theDir, newWindow) try set theDir to quoted form of POSIX path of theDir as string do shell script "open -a TextMate " & theDir on error the error_message number the error_number display dialog "Error: " & the error_number & ". " & the error_message buttons {"OK"} default button 1 end try end CD_to
.tm ~/path/to/project && logout <TAB> term
#!/bin/sh host=`echo $SSH_CLIENT | cut -d' ' -f1` path=`pwd | sed "s|^$HOME|/Volumes/chaos|"` app="/Applications/TextMate.app" file=$1 if [ ! -e $file ]; then echo -n "create $file? [Yn] " read input if [ -z "$input" -o "$input" = "Y" -o "$input" = "y" ]; then touch $file else exit fi fi ssh $host "open -a $app $path/$file; exit"