mirror of
				https://github.com/sharkdp/bat.git
				synced 2025-10-30 22:54:07 +00:00 
			
		
		
		
	Add Stylus syntax test file
This commit is contained in:
		
				
					committed by
					
						 David Peter
						David Peter
					
				
			
			
				
	
			
			
			
						parent
						
							6e5a2a5c51
						
					
				
				
					commit
					768189859a
				
			
							
								
								
									
										24
									
								
								tests/syntax-tests/source/Stylus/LICENSE.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								tests/syntax-tests/source/Stylus/LICENSE.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| The `gradients.styl` file has been added from https://github.com/stylus/nib under the following license: | ||||
|  | ||||
| ```text | ||||
| The MIT License (MIT) | ||||
|  | ||||
| Copyright (c) 2014 TJ Holowaychuk <tj@vision-media.ca> | ||||
|  | ||||
| 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. | ||||
| ``` | ||||
							
								
								
									
										90
									
								
								tests/syntax-tests/source/Stylus/gradients.styl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								tests/syntax-tests/source/Stylus/gradients.styl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,90 @@ | ||||
| @import 'config' | ||||
|  | ||||
| /* | ||||
|  * Implicit color stop position. | ||||
|  */ | ||||
|  | ||||
| pos-in-stops(i, stops) | ||||
|   len = length(stops) | ||||
|   if len - 1 == i | ||||
|     100% | ||||
|   else if i | ||||
|     unit(i / len * 100, '%') | ||||
|   else | ||||
|     0 | ||||
|  | ||||
| /* | ||||
|  * Normalize color stops: | ||||
|  * | ||||
|  *   - (color pos) -> (pos color) | ||||
|  *   - (color) -> (implied-pos color) | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| normalize-stops(stops) | ||||
|   stops = clone(stops) | ||||
|   for stop, i in stops | ||||
|     if length(stop) == 1 | ||||
|       color = stop[0] | ||||
|       stop[0] = pos-in-stops(i, stops) | ||||
|       stop[1] = color | ||||
|     else if typeof(stop[1]) == 'unit' | ||||
|       pos = stop[1] | ||||
|       stop[1] = stop[0] | ||||
|       stop[0] = pos | ||||
|   stops | ||||
|  | ||||
| /* | ||||
|  * Join color stops with the given translation function. | ||||
|  */ | ||||
|  | ||||
| join-stops(stops, translate) | ||||
|   str = '' | ||||
|   len = length(stops) | ||||
|   for stop, i in stops | ||||
|     str += ', ' if i | ||||
|     pos = stop[0] | ||||
|     color = stop[1] | ||||
|     str += translate(color, pos) | ||||
|   unquote(str) | ||||
|  | ||||
| /* | ||||
|  * Standard color stop. | ||||
|  */ | ||||
|  | ||||
| std-stop(color, pos) | ||||
|   '%s %s' % (color pos) | ||||
|  | ||||
| /* | ||||
|  * Create a linear gradient with the given start position | ||||
|  * and variable number of color stops. | ||||
|  * | ||||
|  * Examples: | ||||
|  * | ||||
|  *    background: linear-gradient(top, red, green, blue) | ||||
|  *    background: linear-gradient(bottom, red, green 50%, blue) | ||||
|  *    background: linear-gradient(bottom, red, 50% green, blue) | ||||
|  *    background: linear-gradient(bottom, red, 50% green, 90% white, blue) | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| linear-gradient(start, stops...) | ||||
|   error('color stops required') unless length(stops) | ||||
|  | ||||
|   unquote('linear-gradient(' + join(', ',arguments) + ')') | ||||
|  | ||||
| /* | ||||
|  * Create a linear gradient image with the given start position | ||||
|  * and variable number of color stops. | ||||
|  */ | ||||
|  | ||||
| linear-gradient-image(start, stops...) | ||||
|   error('node-canvas is required for linear-gradient-image()') unless has-canvas | ||||
|   stops = stops[0] if length(stops) == 1 | ||||
|   error('gradient image size required') unless start[0] is a 'unit' | ||||
|   size = start[0] | ||||
|   start = start[1] or 'top' | ||||
|   grad = create-gradient-image(size, start) | ||||
|   stops = normalize-stops(stops) | ||||
|   add-color-stop(grad, stop[0], stop[1]) for stop in stops | ||||
|   'url(%s)' % gradient-data-uri(grad) | ||||
		Reference in New Issue
	
	Block a user