dev tools: Extend tests/generate.zsh.
This commit is contained in:
		
							parent
							
								
									8013dc3b8d
								
							
						
					
					
						commit
						add6825898
					
				|  | @ -45,17 +45,13 @@ Writing new tests | |||
| 
 | ||||
| An experimental tool is available to generate test files: | ||||
| 
 | ||||
|     zsh -f tests/generate.zsh 'ls -x' \ | ||||
|       | sed s/YYYY/$(date +%Y)/ \ | ||||
|       > highlighters/main/test-data/foo.zsh | ||||
|     git add -N $_ | ||||
|     zsh -f tests/generate.zsh 'ls -x' acme newfile | ||||
| 
 | ||||
| This generates a test file based on the current highlighting of the given `$BUFFER` | ||||
| (in this case, `ls -x`). | ||||
| This generates a `highlighters/acme/test-data/newfile.zsh` test file based on | ||||
| the current highlighting of the given `$BUFFER` (in this case, `ls -x`). | ||||
| 
 | ||||
| _This tool is experimental._  Its interface may change.  In particular it may | ||||
| grow ways to set `$PREBUFFER` and/or `$ZSH_HIGHLIGHT_HIGHLIGHTERS` or to | ||||
| inject free-form code into the generated file. | ||||
| grow ways to set `$PREBUFFER` to inject free-form code into the generated file. | ||||
| 
 | ||||
| 
 | ||||
| Highlighting test | ||||
|  |  | |||
|  | @ -31,13 +31,17 @@ | |||
| emulate -LR zsh | ||||
| 
 | ||||
| # Argument parsing. | ||||
| if (( $# != 1 )) || [[ $1 == -* ]]; then | ||||
|   print -r -- >&2 "$0: usage: $0 BUFFER" | ||||
| if (( $# != 3 )) || [[ $1 == -* ]]; then | ||||
|   print -r -- >&2 "$0: usage: $0 BUFFER HIGHLIGHTER BASENAME" | ||||
|   print -r -- >&2 "" | ||||
|   print -r -- >&2 "This tool generates a test file, suitable for highlighters/*/test-data/." | ||||
|   print -r -- >&2 "Generate highlighters/HIGHILGHTER/test-data/BASENAME.zsh based on the" | ||||
|   print -r -- >&2 "current highlighting of BUFFER." | ||||
|   exit 1 | ||||
| fi | ||||
| buffer=$1 | ||||
| ZSH_HIGHLIGHT_HIGHLIGHTERS=( $2 ) | ||||
| exec >${0:A:h:h}/highlighters/$2/test-data/$3.zsh | ||||
| git add -N ${0:A:h:h}/highlighters/$2/test-data/$3.zsh | ||||
| 
 | ||||
| # Load the main script. | ||||
| . ${0:A:h:h}/zsh-syntax-highlighting.zsh | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue