Diff
1diff --git a/.gitignore b/.gitignore
2index e8074095077525861e917414924411efc0f01942..f84db6dc27af34f9f8e393f39a8aedf04ef86c0d 100644
3--- a/.gitignore
4+++ b/.gitignore
5@@ -1,3 +1,5 @@
6 locals.zsh
7 log/.zsh_history
8 projects.zsh
9+custom/*.zsh
10+!custom/example.zsh
11diff --git a/README.textile b/README.textile
12index 1735e150f8228e56055976355f05e56de5694ca9..9972cf246cd72c781ae952cb42371e2f652a7f8f 100644
13--- a/README.textile
14+++ b/README.textile
15@@ -43,8 +43,13 @@ TODO: Update this..
16 * much much more..
17
18 h2. Useful
19+
20 the "refcard":http://www.bash2zsh.com/zsh_refcard/refcard.pdf is pretty tasty for tips.
21
22+h3. Customization
23+
24+If you want to override any of the default behavior, just add a new file (ending in @.zsh@) into the @custom/@ directory.
25+
26 h3. Uninstalling
27
28 If you want to uninstall it, just run @uninstall_oh_my_zsh@ from the command line and it'll remove itself and revert you to bash (or your previous zsh config).
29diff --git a/projects.zsh-example b/custom/example.zsh
30rename from projects.zsh-example
31rename to custom/example.zsh
32diff --git a/aliases.zsh b/lib/aliases.zsh
33rename from aliases.zsh
34rename to lib/aliases.zsh
35diff --git a/colors.zsh b/lib/colors.zsh
36rename from colors.zsh
37rename to lib/colors.zsh
38diff --git a/completion.zsh b/lib/completion.zsh
39rename from completion.zsh
40rename to lib/completion.zsh
41diff --git a/functions.zsh b/lib/functions.zsh
42rename from functions.zsh
43rename to lib/functions.zsh
44diff --git a/git.zsh b/lib/git.zsh
45rename from git.zsh
46rename to lib/git.zsh
47diff --git a/grep.zsh b/lib/grep.zsh
48rename from grep.zsh
49rename to lib/grep.zsh
50diff --git a/history.zsh b/lib/history.zsh
51rename from history.zsh
52rename to lib/history.zsh
53index 356b6498b32cd4c9f512e605e1205f3b21d92a56..527c3276255b7a6ffbcb05935332b715c870b0a1 100644
54--- a/history.zsh
55+++ b/lib/history.zsh
56@@ -1,8 +1,8 @@
57 ## Command history configuration
58-#
59 HISTFILE=$HOME/.zsh_history
60-HISTSIZE=5000
61-SAVEHIST=5000
62+HISTSIZE=10000
63+SAVEHIST=10000
64+
65 setopt hist_ignore_dups # ignore duplication command history list
66 setopt share_history # share command history data
67
68diff --git a/key-bindings.zsh b/lib/key-bindings.zsh
69rename from key-bindings.zsh
70rename to lib/key-bindings.zsh
71diff --git a/prompt.zsh b/lib/prompt.zsh
72rename from prompt.zsh
73rename to lib/prompt.zsh
74diff --git a/rake_completion.zsh b/lib/rake_completion.zsh
75rename from rake_completion.zsh
76rename to lib/rake_completion.zsh
77index 239fe15a3502c94b6260e2a8df0c34c950e22280..c425a625e1d219740e2b63bacf42e0e10fc1b46a 100644
78--- a/rake_completion.zsh
79+++ b/lib/rake_completion.zsh
80@@ -17,7 +17,7 @@ _rake () {
81 fi
82 }
83
84-compdef _rake rake
85+compctl -K _rake rake
86
87 function _cap_does_task_list_need_generating () {
88 if [ ! -f .cap_tasks~ ]; then return 0;
89@@ -39,4 +39,4 @@ function _cap () {
90 fi
91 }
92
93-compdef _cap cap
94+compctl -K _cap cap
95diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh
96index b931f558aaa726199198d617369664492274cc5e..6e73519b5d3df25e37c189dc9d1534c53c052cb5 100644
97--- a/oh-my-zsh.sh
98+++ b/oh-my-zsh.sh
99@@ -2,4 +2,7 @@
100
101 # Load all of the config files in ~/oh-my-zsh that end in .zsh
102 # TIP: Add files you don't want in git to .gitignore
103-for config_file ($ZSH/*.zsh) source $config_file
104+for config_file ($ZSH/lib/*.zsh) source $config_file
105+
106+# Load all of your custom configurations from custom/
107+for config_file ($ZSH/custom/*.zsh) source $config_file