Skip to content

Instantly share code, notes, and snippets.

@nicerobot
Created January 2, 2012 04:54
Show Gist options
  • Save nicerobot/1549404 to your computer and use it in GitHub Desktop.
Save nicerobot/1549404 to your computer and use it in GitHub Desktop.
The TextMate Bundles I use, a script install/update them, and a LaunchAgent plist to keep them updated (for TextMate 1.0)
#!/bin/sh
# To run using my bundles (https://raw.github.com/gist/1549404/tmbundles.txt):
# curl -ks https://raw.github.com/gist/1549404/tmbundles.sh | sh
# To use bundles listed in another gist:
# curl -ks https://raw.github.com/gist/1549404/tmbundles.sh | FILE=1549404/tmbundles.txt sh
# Just replace "1549404/tmbundles.txt" with another bundle list
(
cd ~/Library/Application\ Support/TextMate/Bundles || exit $?
[ "${SOURCE}" ] || FILE=${FILE:-1549404/tmbundles.txt}
SOURCE=${SOURCE:-https://raw.github.com/gist/}
curl -ks ${SOURCE}${FILE} \
| egrep '^[_[:alnum:]]+=([[:alnum:]]+/[-.[:alnum:]]+|git://.+)$' \
| while read v; do
tm=($(IFS='='; echo ${v}))
t=${tm[0]}
r=${tm[1]}
t=${t//__/-}
t="${t//_/ }"
tmb="${t}.tmbundle"
echo ${t}
[ -d "${tmb}" ] && (
cd "${tmb}" && git pull >/dev/null
) || {
# If the repo doesn't start with git://, assume github.
[[ ${r} =~ ^git:// ]] || r=git://github.com/${r}.git
git clone ${r} "${tmb}"
}
done
exit 0
) && osascript -e 'tell app "TextMate" to reload bundles'
# Names with "__" (double underscore) will be replaced by "-" (dash)
# Names with "_" (single underscore) will be replaces by " " (space)
Ant=textmate/ant.tmbundle
ANTLr=textmate/antlr.tmbundle
Apache=textmate/apache.tmbundle
AppleScript=textmate/applescript.tmbundle
Bison=textmate/bison.tmbundle
Bundle_Development=textmate/bundle-development.tmbundle
C=textmate/c.tmbundle
Clojure=swannodette/textmate-clojure
CoffeeScript=jashkenas/coffee-script-tmbundle
CSS=textmate/css.tmbundle
D=textmate/d.tmbundle
Diff=textmate/diff.tmbundle
Doxygen=textmate/doxygen.tmbundle
#Git=git://gitorious.org/git-tmbundle/mainline.git
Go=AlanQuatermain/go-tmbundle
GraphViz=textmate/graphviz.tmbundle.git
Groovy=textmate/groovy.tmbundle
Groovy_Grails=textmate/groovy-grails.tmbundle
Haskell=textmate/haskell.tmbundle
HTML=textmate/html.tmbundle
Io=textmate/io.tmbundle
Jade=miksago/jade-tmbundle
Java=textmate/java.tmbundle
Javadoc=textmate/javadoc.tmbundle
JavaScript=textmate/javascript.tmbundle
JavaScript_JQuery=textmate/javascript-jquery.tmbundle
JavaScript_YUI=textmate/javascript-yui.tmbundle
JSON=textmate/json.tmbundle
LESS=appden/less.tmbundle
LexFlex=textmate/lex-flex.tmbundle
Lisp=textmate/lisp.tmbundle
Make=textmate/make.tmbundle
Markdown=textmate/markdown.tmbundle
Math=textmate/math.tmbundle
Maven=textmate/maven.tmbundle
MediaWiki=textmate/mediawiki.tmbundle
Mercurial=textmate/mercurial.tmbundle
Objective__C=textmate/objective-c.tmbundle
Perl=textmate/perl.tmbundle
Processing=textmate/processing.tmbundle
Property_List=textmate/property-list.tmbundle
ProtoBuf=kevinweil/protobuf.tmbundle
Python=textmate/python.tmbundle
R=textmate/r.tmbundle
Regular_Expressions=textmate/regularexpressions.tmbundle
Remind=textmate/remind.tmbundle
Scala=mads379/scala.tmbundle
Scons=textmate/scons.tmbundle
Shell_Script=textmate/shellscript.tmbundle
Source=textmate/source.tmbundle
SQL=textmate/sql.tmbundle
SSH_Config=textmate/ssh-config.tmbundle
Text=textmate/text.tmbundle
Textile=textmate/textile.tmbundle
TextMate=textmate/textmate.tmbundle
TODO=textmate/todo.tmbundle
Xcode=textmate/xcode.tmbundle
XML=textmate/xml.tmbundle
YAML=textmate/yaml.tmbundle
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.macromates.textmate.bundleupdate</string>
<key>ProgramArguments</key>
<array>
<string>/bin/sh</string>
<string>-c</string>
<string>curl -ks https://raw.github.com/gist/1549404/tmbundles.sh | sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>12</integer>
<key>Minute</key>
<integer>15</integer>
</dict>
</dict>
</plist>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment