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'
 |