zsh_dots 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. data/.gitignore +25 -0
  2. data/.gitmodules +3 -0
  3. data/.rvmrc +47 -0
  4. data/Gemfile +7 -0
  5. data/Gemfile.lock +38 -0
  6. data/README.md +115 -0
  7. data/Rakefile +9 -0
  8. data/bin/dots +7 -0
  9. data/bin/elocal_nightly.sh +12 -0
  10. data/bin/gbrt +42 -0
  11. data/bin/git_cwd_info +40 -0
  12. data/bin/lein +229 -0
  13. data/bin/reattach-to-user-namespace +0 -0
  14. data/bin/ssh-copy-id +54 -0
  15. data/bin/stock +83 -0
  16. data/config/.dot_file +1 -0
  17. data/config/aws +0 -0
  18. data/config/example.aws.zsh +13 -0
  19. data/config/gemrc +9 -0
  20. data/config/gitconfig +46 -0
  21. data/config/railsrc +2 -0
  22. data/config/rspec +2 -0
  23. data/config/rvmrc +1 -0
  24. data/config/screenrc +1 -0
  25. data/config/tmux.conf +6 -0
  26. data/config/zlogin +1 -0
  27. data/config/zshenv +59 -0
  28. data/config/zshrc +8 -0
  29. data/etc/mandlebrot.c +59 -0
  30. data/etc/rails/composer.yml +30 -0
  31. data/etc/rails/ember_template.rb +60 -0
  32. data/etc/rails/recipes/haml_views.rb +20 -0
  33. data/etc/rails/recipes/html5.rb +84 -0
  34. data/etc/rails/recipes/readme_markdown.rb +87 -0
  35. data/etc/rails/template.rb +1419 -0
  36. data/lib/dots/aliases.zsh +40 -0
  37. data/lib/dots/directories.zsh +28 -0
  38. data/lib/dots/functions.zsh +41 -0
  39. data/lib/dots/plugins.zsh +18 -0
  40. data/lib/dots.sh +11 -0
  41. data/lib/plugins/aws/aws.plugin.zsh +20 -0
  42. data/lib/plugins/bundler/_bundler +82 -0
  43. data/lib/plugins/bundler/bundler.plugin.zsh +7 -0
  44. data/lib/plugins/git/git.plugin.zsh +126 -0
  45. data/lib/plugins/git-flow/git-flow.plugin.zsh +340 -0
  46. data/lib/plugins/knife/_knife +183 -0
  47. data/lib/plugins/knife/knife.plugin.zsh +1 -0
  48. data/lib/plugins/macvim/macvim.plugin.zsh +13 -0
  49. data/lib/plugins/osx/_man-preview +5 -0
  50. data/lib/plugins/osx/osx.plugin.zsh +101 -0
  51. data/lib/plugins/rails3/rails3.plugin.zsh +75 -0
  52. data/lib/plugins/rake/rake.plugin.zsh +6 -0
  53. data/lib/plugins/ruby/ruby.plugin.zsh +58 -0
  54. data/lib/ruby/dots/command.rb +58 -0
  55. data/lib/ruby/dots/dot_file.rb +73 -0
  56. data/lib/ruby/dots/version.rb +3 -0
  57. data/lib/ruby/dots.rb +9 -0
  58. data/lib/tasks/db.rake +55 -0
  59. data/lib/tasks/dots.rake +32 -0
  60. data/spec/integration/command_spec.rb +34 -0
  61. data/spec/models/dot_file_spec.rb +45 -0
  62. data/spec/spec_helper.rb +6 -0
  63. data/vendor/antigen.zsh +251 -0
  64. data/vendor/oh-my-zsh/check_for_upgrade.sh +45 -0
  65. data/vendor/oh-my-zsh/install.sh +43 -0
  66. data/vendor/oh-my-zsh/require_tool.sh +161 -0
  67. data/vendor/oh-my-zsh/uninstall.sh +20 -0
  68. data/vendor/oh-my-zsh/upgrade.sh +6 -0
  69. data/zsh_dots.gemspec +28 -0
  70. metadata +163 -0
@@ -0,0 +1,251 @@
1
+ #!/bin/zsh
2
+ #
3
+ # Antigen is a bundled plugin loader.
4
+
5
+ # Each line in this string has the following entries separated by a space
6
+ # character.
7
+ # <repo-url>, <plugin-location>, <bundle-type>
8
+ # FIXME: Is not kept local by zsh!
9
+ local _ANTIGEN_BUNDLE_RECORD=""
10
+
11
+ # Syntaxes
12
+ # antigen-bundle <url> [<loc>=/]
13
+ antigen-bundle () {
14
+
15
+ # Bundle spec arguments' default values.
16
+ local url="$ANTIGEN_DEFAULT_REPO_URL"
17
+ local loc=/
18
+ local btype=plugin
19
+
20
+ # Set spec values based on the positional arguments.
21
+ local position_args='url loc'
22
+ local i=1
23
+ while ! [[ -z $1 || $1 == --*=* ]]; do
24
+ local arg_name="$(echo "$position_args" | cut -d\ -f$i)"
25
+ local arg_value="$1"
26
+ eval "local $arg_name='$arg_value'"
27
+ shift
28
+ i=$(($i + 1))
29
+ done
30
+
31
+ # Check if url is just the plugin name. Super short syntax.
32
+ if [[ "$url" != */* ]]; then
33
+ loc="plugins/$url"
34
+ url="$ANTIGEN_DEFAULT_REPO_URL"
35
+ fi
36
+
37
+ # Set spec values from keyword arguments, if any. The remaining arguments
38
+ # are all assumed to be keyword arguments.
39
+ while [[ $1 == --*=* ]]; do
40
+ local arg_name="$(echo "$1" | cut -d= -f1 | sed 's/^--//')"
41
+ local arg_value="$(echo "$1" | cut -d= -f2)"
42
+ eval "local $arg_name='$arg_value'"
43
+ shift
44
+ done
45
+
46
+ # Resolve the url.
47
+ if [[ $url != git://* && $url != https://* && $url != /* ]]; then
48
+ url="${url%.git}"
49
+ url="https://github.com/$url.git"
50
+ fi
51
+
52
+ # Add it to the record.
53
+ _ANTIGEN_BUNDLE_RECORD="$_ANTIGEN_BUNDLE_RECORD\n$url $loc $btype"
54
+
55
+ -antigen-ensure-repo "$url"
56
+
57
+ -antigen-load "$url" "$loc" "$btype"
58
+
59
+ }
60
+
61
+ antigen-bundles () {
62
+ # Bulk add many bundles at one go. Empty lines and lines starting with a `#`
63
+ # are ignored. Everything else is given to `antigen-bundle` as is, no
64
+ # quoting rules applied.
65
+
66
+ local line
67
+
68
+ grep -v '^\s*$\|^#' | while read line; do
69
+ # Using `eval` so that we can use the shell-style quoting in each line
70
+ # piped to `antigen-bundles`.
71
+ eval "antigen-bundle $line"
72
+ done
73
+ }
74
+
75
+ antigen-update () {
76
+ # Update your bundles, i.e., `git pull` in all the plugin repos.
77
+ -antigen-echo-record | awk '{print $1}' | sort -u | while read url; do
78
+ -antigen-ensure-repo --update "$url"
79
+ done
80
+ }
81
+
82
+ -antigen-get-clone-dir () {
83
+ # Takes a repo url and gives out the path that this url needs to be cloned
84
+ # to. Doesn't actually clone anything.
85
+ # TODO: Memoize?
86
+ echo -n $ADOTDIR/repos/
87
+ echo "$1" | sed \
88
+ -e 's/\.git$//' \
89
+ -e 's./.-SLASH-.g' \
90
+ -e 's.:.-COLON-.g'
91
+ }
92
+
93
+ -antigen-get-clone-url () {
94
+ # Takes a repo's clone dir and gives out the repo's original url that was
95
+ # used to create the given directory path.
96
+ # TODO: Memoize?
97
+ echo "$1" | sed \
98
+ -e "s:^$ADOTDIR/repos/::" \
99
+ -e 's/$/.git/' \
100
+ -e 's.-SLASH-./.g' \
101
+ -e 's.-COLON-.:.g'
102
+ }
103
+
104
+ -antigen-ensure-repo () {
105
+
106
+ local update=false
107
+ if [[ $1 == --update ]]; then
108
+ update=true
109
+ shift
110
+ fi
111
+
112
+ local url="$1"
113
+ local clone_dir="$(-antigen-get-clone-dir $url)"
114
+
115
+ if [[ ! -d $clone_dir ]]; then
116
+ git clone "$url" "$clone_dir"
117
+ elif $update; then
118
+ git --git-dir "$clone_dir/.git" --work-tree "$clone_dir" pull
119
+ fi
120
+
121
+ }
122
+
123
+ -antigen-load () {
124
+
125
+ local url="$1"
126
+ local location="$(-antigen-get-clone-dir "$url")/$2"
127
+ local btype="$3"
128
+
129
+ if [[ $btype == theme ]]; then
130
+
131
+ # Of course, if its a theme, the location would point to the script
132
+ # file.
133
+ source "$location"
134
+
135
+ else
136
+
137
+ # Source the plugin script
138
+ # FIXME: I don't know. Looks very very ugly. Needs a better
139
+ # implementation once tests are ready.
140
+ local script_loc="$(ls "$location" | grep -m1 '.plugin.zsh$')"
141
+ if [[ -f $script_loc ]]; then
142
+ # If we have a `*.plugin.zsh`, source it.
143
+ source "$script_loc"
144
+ elif [[ ! -z "$(ls "$location" | grep -m1 '.zsh$')" ]]; then
145
+ # If there is no `*.plugin.zsh` file, source *all* the `*.zsh`
146
+ # files.
147
+ for script ($location/*.zsh) source "$script"
148
+ elif [[ ! -z "$(ls "$location" | grep -m1 '.sh$')" ]]; then
149
+ # If there are no `*.zsh` files either, we look for and source any
150
+ # `*.sh` files instead.
151
+ for script ($location/*.sh) source "$script"
152
+ fi
153
+
154
+ # Add to $fpath, for completion(s)
155
+ fpath=($location $fpath)
156
+
157
+ fi
158
+
159
+ }
160
+
161
+ antigen-cleanup () {
162
+
163
+ if [[ ! -d "$ADOTDIR/repos" || -z "$(ls "$ADOTDIR/repos/")" ]]; then
164
+ echo "You don't have any bundles."
165
+ return 0
166
+ fi
167
+
168
+ # Find directores in ADOTDIR/repos, that are not in the bundles record.
169
+ local unused_clones="$(comm -13 \
170
+ <(-antigen-echo-record | awk '{print $1}' | sort -u) \
171
+ <(ls "$ADOTDIR/repos" | while read line; do
172
+ -antigen-get-clone-url "$line"
173
+ done))"
174
+
175
+ if [[ -z $unused_clones ]]; then
176
+ echo "You don't have any unidentified bundles."
177
+ return 0
178
+ fi
179
+
180
+ echo 'You have clones for the following repos, but are not used.'
181
+ echo "$unused_clones" | sed 's/^/ /'
182
+
183
+ echo -n '\nDelete them all? [y/N] '
184
+ if read -q; then
185
+ echo
186
+ echo
187
+ echo "$unused_clones" | while read url; do
188
+ echo -n "Deleting clone for $url..."
189
+ rm -rf "$(-antigen-get-clone-dir $url)"
190
+ echo ' done.'
191
+ done
192
+ else
193
+ echo
194
+ echo Nothing deleted.
195
+ fi
196
+ }
197
+
198
+ antigen-lib () {
199
+ antigen-bundle --loc=lib
200
+ }
201
+
202
+ antigen-theme () {
203
+ local name="${1:-robbyrussell}"
204
+ antigen-bundle --loc=themes/$name.zsh-theme --btype=theme
205
+ }
206
+
207
+ antigen-apply () {
208
+ # Initialize completion.
209
+ # TODO: Only load completions if there are any changes to the bundle
210
+ # repositories.
211
+ compinit -i
212
+ }
213
+
214
+ antigen-list () {
215
+ # List all currently installed bundles
216
+ if [[ -z "$_ANTIGEN_BUNDLE_RECORD" ]]; then
217
+ echo "You don't have any bundles." >&2
218
+ return 1
219
+ else
220
+ -antigen-echo-record
221
+ fi
222
+ }
223
+
224
+ # Echo the bundle specs as in the record. The first line is not echoed since it
225
+ # is a blank line.
226
+ -antigen-echo-record () {
227
+ echo "$_ANTIGEN_BUNDLE_RECORD" | sed -n '1!p'
228
+ }
229
+
230
+ -antigen-env-setup () {
231
+ # Pre-startup initializations
232
+ -set-default ANTIGEN_DEFAULT_REPO_URL \
233
+ https://github.com/robbyrussell/oh-my-zsh.git
234
+ -set-default ADOTDIR $HOME/.antigen
235
+
236
+ # Load the compinit module
237
+ autoload -U compinit
238
+
239
+ # Without the following, `compdef` function is not defined.
240
+ compinit -i
241
+ }
242
+
243
+ # Same as `export $1=$2`, but will only happen if the name specified by `$1` is
244
+ # not already set.
245
+ -set-default () {
246
+ local arg_name="$1"
247
+ local arg_value="$2"
248
+ eval "test -z \"\$$arg_name\" && export $arg_name='$arg_value'"
249
+ }
250
+
251
+ -antigen-env-setup
@@ -0,0 +1,45 @@
1
+ #!/bin/sh
2
+
3
+ function _current_epoch() {
4
+ echo $(($(date +%s) / 60 / 60 / 24))
5
+ }
6
+
7
+ function _update_zsh_update() {
8
+ echo "LAST_EPOCH=$(_current_epoch)" > ~/.zsh-update
9
+ }
10
+
11
+ function _upgrade_zsh() {
12
+ /usr/bin/env ZSH=$ZSH /bin/sh $ZSH/tools/upgrade.sh
13
+ # update the zsh file
14
+ _update_zsh_update
15
+ }
16
+
17
+ if [ -f ~/.zsh-update ]
18
+ then
19
+ . ~/.zsh-update
20
+
21
+ if [[ -z "$LAST_EPOCH" ]]; then
22
+ _update_zsh_update && return 0;
23
+ fi
24
+
25
+ epoch_diff=$(($(_current_epoch) - $LAST_EPOCH))
26
+ if [ $epoch_diff -gt 6 ]
27
+ then
28
+ if [ "$DISABLE_UPDATE_PROMPT" = "true" ]
29
+ then
30
+ _upgrade_zsh
31
+ else
32
+ echo "Would you like to check for updates to DOTS?"
33
+ echo "Type Y to update ~/.dots: \c"
34
+ read line
35
+ if [ "$line" = Y ] || [ "$line" = y ]
36
+ then
37
+ _upgrade_zsh
38
+ fi
39
+ fi
40
+ fi
41
+ else
42
+ # create the zsh file
43
+ _update_zsh_update
44
+ fi
45
+
@@ -0,0 +1,43 @@
1
+ #
2
+ # DOTS Installer
3
+ #
4
+
5
+ if [ -d ~/.dots ]
6
+ then
7
+ echo "Error: You already have DOTS installed."
8
+ cd ~/.dots
9
+ exit
10
+ fi
11
+
12
+ echo "\033[0;34mInstalling DOTS...\033[0m"
13
+ /usr/bin/env git clone https://github.com/tubbo/dots.git ~/.dots
14
+
15
+ echo "\033[0;34mLooking for an existing zsh config...\033[0m"
16
+ if [ -f ~/.zshrc ] || [ -h ~/.zshrc ]
17
+ then
18
+ echo "\033[0;33mFound ~/.zshrc.\033[0m \033[0;32]Backing up to ~/.zshrc.pre-dots\033[0m";
19
+ cp ~/.zshrc ~/.zshrc.pre-dots;
20
+ cp ~/.zshrc ~/.dots/config/zshrc;
21
+ rm ~/.zshrc;
22
+ else
23
+ echo "\033[0;34mCreating a template ZSH config from our example...\033[0m"
24
+ cp ~/.dots/templates/zshrc.zsh-template ~/.zshrc
25
+ fi
26
+
27
+ echo "\033[0;34m Linking ZSH config...\033[0m"
28
+ ln -s ~/.dots/config/zshrc ~/.zshrc;
29
+
30
+ echo "\033[0;34m Synchronizing your custom binaries...\033[0m"
31
+ cp -R $HOME/bin/** $DOTS/bin
32
+ mv $HOME/bin $HOME/bin-pre-dots
33
+ ln -s $HOME/bin $DOTS/bin
34
+
35
+ echo "\033[0;34mCopying your current PATH and adding it to the end of ~/.zshrc for you.\033[0m"
36
+ echo "export PATH=$PATH" >> ~/.zshrc
37
+
38
+ echo "\033[0;34mTime to change your default shell to zsh!\033[0m"
39
+ chsh -s `which zsh`
40
+
41
+ echo "\n\n \033[0;32mCongratulations! We like yo DOTS!\033[0m"
42
+ /usr/bin/env zsh
43
+ source ~/.zshrc
@@ -0,0 +1,161 @@
1
+ __require_tool_version_compare ()
2
+ {
3
+ (
4
+ # Locally ignore failures, otherwise we'll exit whenever $1 and $2
5
+ # are not equal!
6
+ set +e
7
+
8
+ awk_strverscmp='
9
+ # Use only awk features that work with 7th edition Unix awk (1978).
10
+ # My, what an old awk you have, Mr. Solaris!
11
+ END {
12
+ while (length(v1) || length(v2)) {
13
+ # Set d1 to be the next thing to compare from v1, and likewise for d2.
14
+ # Normally this is a single character, but if v1 and v2 contain digits,
15
+ # compare them as integers and fractions as strverscmp does.
16
+ if (v1 ~ /^[0-9]/ && v2 ~ /^[0-9]/) {
17
+ # Split v1 and v2 into their leading digit string components d1 and d2,
18
+ # and advance v1 and v2 past the leading digit strings.
19
+ for (len1 = 1; substr(v1, len1 + 1) ~ /^[0-9]/; len1++) continue
20
+ for (len2 = 1; substr(v2, len2 + 1) ~ /^[0-9]/; len2++) continue
21
+ d1 = substr(v1, 1, len1); v1 = substr(v1, len1 + 1)
22
+ d2 = substr(v2, 1, len2); v2 = substr(v2, len2 + 1)
23
+ if (d1 ~ /^0/) {
24
+ if (d2 ~ /^0/) {
25
+ # Compare two fractions.
26
+ while (d1 ~ /^0/ && d2 ~ /^0/) {
27
+ d1 = substr(d1, 2); len1--
28
+ d2 = substr(d2, 2); len2--
29
+ }
30
+ if (len1 != len2 && ! (len1 && len2 && substr(d1, 1, 1) == substr(d2, 1, 1))) {
31
+ # The two components differ in length, and the common prefix
32
+ # contains only leading zeros. Consider the longer to be less.
33
+ d1 = -len1
34
+ d2 = -len2
35
+ } else {
36
+ # Otherwise, compare as strings.
37
+ d1 = "x" d1
38
+ d2 = "x" d2
39
+ }
40
+ } else {
41
+ # A fraction is less than an integer.
42
+ exit 1
43
+ }
44
+ } else {
45
+ if (d2 ~ /^0/) {
46
+ # An integer is greater than a fraction.
47
+ exit 2
48
+ } else {
49
+ # Compare two integers.
50
+ d1 += 0
51
+ d2 += 0
52
+ }
53
+ }
54
+ } else {
55
+ # The normal case, without worrying about digits.
56
+ if (v1 == "") d1 = v1; else { d1 = substr(v1, 1, 1); v1 = substr(v1,2) }
57
+ if (v2 == "") d2 = v2; else { d2 = substr(v2, 1, 1); v2 = substr(v2,2) }
58
+ }
59
+ if (d1 < d2) exit 1
60
+ if (d1 > d2) exit 2
61
+ }
62
+ }
63
+ '
64
+ awk "$awk_strverscmp" v1="$1" v2="$2" /dev/null
65
+ case $? in
66
+ 1) echo '<';;
67
+ 0) echo '=';;
68
+ 2) echo '>';;
69
+ esac
70
+ )
71
+ }
72
+
73
+
74
+ __require_tool_fatal ()
75
+ {
76
+ echo $@ >/dev/stderr
77
+ return 1
78
+ }
79
+
80
+ # Usage: require_tool program version
81
+ # Returns: 0 if $1 version if greater equals than $2, 1 otherwise.
82
+ # In case of error, message is written on error output.
83
+ #
84
+ # Example: require_tool gcc 4.6
85
+ # Use GCC environment variable if defined instead of lookup for the tool
86
+ # in the environment.
87
+ require_tool ()
88
+ {
89
+ envvar_name=$(echo $1 | tr '[:lower:]' '[:upper:]')
90
+ tool=$(printenv $envvar_name || echo $1)
91
+ local version=$($tool --version 2>/dev/null| \
92
+ sed -n 's/.*[^0-9.]\([0-9]*\.[0-9.]*\).*/\1/p;q')
93
+ if test x"$version" = x ; then
94
+ echo "$tool is required" >/dev/stderr
95
+ return 1
96
+ fi
97
+ case $(__require_tool_version_compare "$2" "$version") in
98
+ '>')
99
+ echo "$1 $2 or better is required: this is $tool $version" >/dev/stderr
100
+ return 1
101
+ ;;
102
+ esac
103
+ }
104
+
105
+ usage() {
106
+ cat <<EOF
107
+ NAME
108
+ require_tool.sh - Ensure version of a tool is greater than the one expected
109
+
110
+ SYNOPSYS
111
+ require_tool.sh [ -h ]
112
+ [ --help ]
113
+ [ TOOL MIN_VERSION ]
114
+
115
+ DESCRIPTION
116
+ TOOL is the name or path of the program to check. If the name is specified, its
117
+ path is deduced from PATH environment variable. If environment variable TOOL
118
+ (in upper-case characters) is defined, considers its value as path to the tool.
119
+
120
+ MIN_VERSION is a string representing the minimum required version.
121
+
122
+ BEHAVIOR
123
+ * locate path to the program.
124
+ * execute $ TOOL_PATH --version
125
+ * extract version from standard output.
126
+ * compare this version to the expected one.
127
+
128
+ OPTIONS
129
+ -h --help
130
+ Display this message and exit 0
131
+
132
+ ERRORS
133
+ if program is not found or its version is prior to expected version,
134
+ a message is written to error output.
135
+
136
+ EXIT VALUE
137
+ returns 0 if program version if greater equals than expected version,
138
+ returns 1 otherwise.
139
+
140
+ EXAMPLE
141
+ $ require_tool.sh emacs 23
142
+ $ CC=g++ require_tool.sh cc 4.6
143
+ $ require_tool.sh zsh 4.5
144
+
145
+ EOF
146
+ }
147
+
148
+ for arg in $@; do
149
+ case $arg in
150
+ -h|--help)
151
+ usage
152
+ exit 0
153
+ ;;
154
+ esac
155
+ done
156
+ if [ $# -gt 2 ] ; then
157
+ echo "ERROR: expecting 2 parameters. Please see option --help"
158
+ exit 1
159
+ fi
160
+
161
+ require_tool $@
@@ -0,0 +1,20 @@
1
+ echo "Removing ~/.dots"
2
+ if [[ -d ~/.dots ]]
3
+ then
4
+ rm -rf ~/.dots
5
+ fi
6
+
7
+ echo "Looking for an existing zsh config..."
8
+ if [ -f ~/.zshrc.pre-dots ] || [ -h ~/.zshrc.pre-dots ]
9
+ then
10
+ echo "Restored ~/.zshrc from ~/.zshrc.pre-dots";
11
+ rm ~/.zshrc;
12
+ cp ~/.zshrc.pre-dots ~/.zshrc;
13
+ source ~/.zshrc;
14
+ else
15
+ echo "Switching back to bash"
16
+ chsh -s /bin/bash
17
+ source /etc/profile
18
+ fi
19
+
20
+ echo "Thanks for using DOTS, it's been uninstalled."
@@ -0,0 +1,6 @@
1
+ # Upgrade DOTS from GitHub
2
+ current_path=`pwd`
3
+ printf '\033[0;34m%s\033[0m\n' "Upgrading DOTS from upstream..."
4
+ ( cd $ZSH && git pull origin master )
5
+ printf '\033[0;34m%s\033[0m\n' 'Your DOTS have been upgraded to the newest version! https://github.com/tubbo/dots for more information.'
6
+ cd "$current_path"
data/zsh_dots.gemspec ADDED
@@ -0,0 +1,28 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/ruby/dots/version', __FILE__)
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.authors = ["Tom Scott"]
6
+ gem.email = ["tubbo@psychedeli.ca"]
7
+ gem.description = %q{DOTS is an advanced ZSH framework.}
8
+ gem.summary = <<-TEXT
9
+ DOTS is an advanced ZSH framework. It abstracts a lot of hard-to-remember commands away from you
10
+ and leaves you with fully-documented, easy-to-remember, plain-english aliases for common tasks.
11
+ Supporting the Antigen framework for plugins, it's meant to be easy to install and light-weight in
12
+ code, but able to support and replicate an entire home directory worth of dotfiles, essentially
13
+ enabling you to take your shell environment "on the road" in a Github repository.
14
+ TEXT
15
+ gem.homepage = "http://tubbo.github.com/dots"
16
+
17
+ gem.files = `git ls-files`.split($\)
18
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
19
+ gem.test_files = gem.files.grep(%r{^(spec)/})
20
+ gem.name = "zsh_dots"
21
+ gem.require_paths = ["lib/ruby"]
22
+ gem.version = Dots::VERSION
23
+
24
+ gem.add_runtime_dependency 'thor'
25
+ gem.add_runtime_dependency 'activemodel'
26
+
27
+ gem.add_development_dependency 'rake'
28
+ end