regexp support
This commit is contained in:
		
							parent
							
								
									4fada029ce
								
							
						
					
					
						commit
						7bec5e52be
					
				
					 2 changed files with 32 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -132,6 +132,35 @@ const elements = [
 | 
			
		|||
		}
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	// regexp
 | 
			
		||||
	code => {
 | 
			
		||||
		if (code[0] != '/') return null;
 | 
			
		||||
		let regexp = '';
 | 
			
		||||
		let thisIsNotARegexp = false;
 | 
			
		||||
		for (let i = 1; i < code.length; i++) {
 | 
			
		||||
			const char = code[i];
 | 
			
		||||
			if (char == '\\') {
 | 
			
		||||
				i++;
 | 
			
		||||
				continue;
 | 
			
		||||
			} else if (char == '/') {
 | 
			
		||||
				break;
 | 
			
		||||
			} else if (char == '\n' || i == (code.length - 1)) {
 | 
			
		||||
				thisIsNotARegexp = true;
 | 
			
		||||
				break;
 | 
			
		||||
			} else {
 | 
			
		||||
				regexp += char;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		if (thisIsNotARegexp) return null;
 | 
			
		||||
		if (regexp[0] == ' ' && regexp[regexp.length - 1] == ' ') return null;
 | 
			
		||||
 | 
			
		||||
		return {
 | 
			
		||||
			html: `<span class="regexp">/${escape(regexp)}/</span>`,
 | 
			
		||||
			next: regexp.length + 2
 | 
			
		||||
		};
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	// extract vars
 | 
			
		||||
	(code, i, source, vars) => {
 | 
			
		||||
		const prev = source[i - 1];
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -117,6 +117,9 @@ pre > code
 | 
			
		|||
	.string
 | 
			
		||||
		color #e96900
 | 
			
		||||
 | 
			
		||||
	.regexp
 | 
			
		||||
		color #e9003f
 | 
			
		||||
 | 
			
		||||
	.keyword
 | 
			
		||||
		color #2973b7
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue