81 lines
1.9 KiB
Plaintext
81 lines
1.9 KiB
Plaintext
|
#
|
||
|
# zim_info - easily create an issue template
|
||
|
#
|
||
|
|
||
|
# create our 'pause' function
|
||
|
waiter_func() {
|
||
|
local input_key
|
||
|
read -sk \?"Press [Enter] to continue; anything else to quit." input_key
|
||
|
if [[ ${input_key} == $'\n' ]]; then
|
||
|
print "\r "
|
||
|
return 0
|
||
|
else
|
||
|
return 1
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
# print init dialog
|
||
|
print "Please check the existing issues to make sure you\'re not duplicating a report"
|
||
|
print "https://github.com/Eriner/zim/issues"
|
||
|
|
||
|
# if they don't accept, bail
|
||
|
if ! waiter_func; then
|
||
|
return 1
|
||
|
fi
|
||
|
|
||
|
# for convenience, this is our new home
|
||
|
cd ${ZDOTDIR:-${HOME}}/.zim
|
||
|
|
||
|
# collect sys info
|
||
|
git_dirty=$(command git status --porcelain 2>/dev/null | tail -n1)
|
||
|
git_ref=$(command git rev-parse --short HEAD)
|
||
|
zsh_version=$(zsh --version)
|
||
|
operating_sys=$(uname -a)
|
||
|
|
||
|
|
||
|
|
||
|
# we're going to template and build the issue here (as an array for convenience)
|
||
|
|
||
|
issue_md=("Environment Info"
|
||
|
"----------------"
|
||
|
"- Zim commit ref: ${git_ref}"
|
||
|
"- Zsh version: ${zsh_version}"
|
||
|
"- Operating System Info: ${operating_sys}"
|
||
|
""
|
||
|
"Description"
|
||
|
"-----------"
|
||
|
"${user_desc}"
|
||
|
""
|
||
|
"Steps to Reproduce"
|
||
|
"------------------"
|
||
|
"${user_reproduce}"
|
||
|
""
|
||
|
"Images or other Information"
|
||
|
"---------------------------"
|
||
|
""
|
||
|
)
|
||
|
|
||
|
|
||
|
# print the output:
|
||
|
# hack: we need to iterate over the elements to capture the blank spaces (to print newlines)
|
||
|
for (( i=0; i < ${#issue_md[@]}; i++ )); do
|
||
|
printf '%s\n' ${issue_md[i]}
|
||
|
done
|
||
|
|
||
|
# if we have a dirty git, report it
|
||
|
if [[ -n ${git_dirty} ]]; then
|
||
|
print "${ZDOTDIR:-${HOME}}/.zim has a dirty git working tree."
|
||
|
print "here is the diff:"
|
||
|
print '```'
|
||
|
print $(command git diff)
|
||
|
print '```'
|
||
|
fi
|
||
|
|
||
|
|
||
|
print '\n\n'
|
||
|
print 'Please copy the above and use this when reporting the issue\n'
|
||
|
|
||
|
# optionally, now we can produce debug info
|
||
|
print 'If you would like to produce some helpful logs about your environment, run:'
|
||
|
print '$ zmanage debug'
|