-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathpre-commit
More file actions
executable file
·113 lines (87 loc) · 3.61 KB
/
pre-commit
File metadata and controls
executable file
·113 lines (87 loc) · 3.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#!/bin/bash -e
#shellcheck source=.shell_control
source "$HOME/.shell_control" || echo "$(tput bold)error: ~/.shell_control not installed!$(tput sgr0)" >&2
run "touch .commit"
#########################################################################
# bin/equip
#########################################################################
run "cd '$HOME/bin'"
python - <<DOC >equip.new
import subprocess
import sys
try:
# python 3 support:
from builtins import bytes
except:
pass
if __name__ == '__main__':
inside = False
with open('equip', 'r') as f:
for line in f:
if line.startswith('# BEGIN GENERATED PACKAGE LISTS'):
sys.stdout.write(line)
inside = True
elif line.startswith('# END GENERATED PACKAGE LISTS'):
output = subprocess.check_output(['equip', '-i'])[:-1]
if isinstance(output, bytes):
output = output.decode('utf-8')
sys.stdout.write(output)
sys.stdout.write(line)
inside = False
elif not inside:
sys.stdout.write(line)
DOC
run "mv -f equip.new equip"
run "chmod +x equip"
#########################################################################
# bin/README.md
#########################################################################
run "./usages -v >README.md"
#########################################################################
# ~/README.md
#########################################################################
# find where content generated by this script beings
GENERATEDBEGIN="| Tool | Usage |"
# grab everything up to generated cutoff
READMECONTENT="$(sed -n "/$GENERATEDBEGIN/q;p" ../README.md)"
cat >../README.md <<EOF
$READMECONTENT
$(./usages -t)
# What does \`equip all\` install?
Glad you asked! \`equip all\` will go through the following steps one by one. For the steps that
install packages/formulas/casks/whatever, see below for the list of included items.
| Step | Description |
| --- | --- |
$(./equip -l | sed 's/^\([^ ]*\) *\(.*\)$/| \1 | \2 |/g')
$(./equip -h 2>&1 | grep -A5000 'Homebrew Formulas:')
EOF
#########################################################################
# ~/LICENSE
#########################################################################
cat >../LICENSE <<EOF
Inconsolata font Created by Raph Levien using his own tools and FontForge.
Copyright 2006 Raph Levien. Released under the SIL Open Font License.
The MIT License (MIT)
Copyright (c) $(date "+%Y"), lexicalunit@lexicalunit.com
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
EOF
cat >>../README.md <<EOF
# License
\`\`\`
$(cat ../LICENSE)
\`\`\`
EOF