| 
									
										
										
										
											2019-09-29 21:18:15 -07:00
										 |  |  | #!/usr/bin/env bash
 | 
					
						
							|  |  |  | set -e | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | cd "$(dirname "$0")" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-15 17:42:18 -07:00
										 |  |  | : "${rust_stable:=}" # Pacify shellcheck | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-15 17:07:47 -07:00
										 |  |  | usage=$(cargo +"$rust_stable" -q run -p solana-cli -- -C ~/.foo --help | sed -e 's|'"$HOME"'|~|g' -e 's/[[:space:]]\+$//') | 
					
						
							| 
									
										
										
										
											2019-09-29 21:18:15 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-23 21:21:43 -07:00
										 |  |  | out=${1:-src/cli/usage.md} | 
					
						
							| 
									
										
										
										
											2019-09-29 21:18:15 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-23 21:21:43 -07:00
										 |  |  | cat src/cli/.usage.md.header > "$out" | 
					
						
							| 
									
										
										
										
											2019-09-29 21:18:15 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | section() { | 
					
						
							|  |  |  |   declare mark=${2:-"###"} | 
					
						
							|  |  |  |   declare section=$1 | 
					
						
							|  |  |  |   read -r name rest <<<"$section" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   printf '%s %s | 
					
						
							|  |  |  | ' "$mark" "$name" | 
					
						
							|  |  |  |   printf '```text | 
					
						
							|  |  |  | %s | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ' "$section" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | section "$usage" >> "$out" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-18 23:24:42 -06:00
										 |  |  | usage=$(sed -e '/^ \{5,\}/d' <<<"$usage") | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-29 21:18:15 -07:00
										 |  |  | in_subcommands=0 | 
					
						
							|  |  |  | while read -r subcommand rest; do | 
					
						
							|  |  |  |   [[ $subcommand == "SUBCOMMANDS:" ]] && in_subcommands=1 && continue | 
					
						
							|  |  |  |   if ((in_subcommands)); then | 
					
						
							| 
									
										
										
										
											2020-04-15 17:07:47 -07:00
										 |  |  |       section "$(cargo +"$rust_stable" -q run -p solana-cli -- help "$subcommand" | sed -e 's|'"$HOME"'|~|g' -e 's/[[:space:]]\+$//')" "####" >> "$out" | 
					
						
							| 
									
										
										
										
											2019-09-29 21:18:15 -07:00
										 |  |  |   fi | 
					
						
							|  |  |  | done <<<"$usage">>"$out" |