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
 | 
						// extract vars
 | 
				
			||||||
	(code, i, source, vars) => {
 | 
						(code, i, source, vars) => {
 | 
				
			||||||
		const prev = source[i - 1];
 | 
							const prev = source[i - 1];
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -117,6 +117,9 @@ pre > code
 | 
				
			||||||
	.string
 | 
						.string
 | 
				
			||||||
		color #e96900
 | 
							color #e96900
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						.regexp
 | 
				
			||||||
 | 
							color #e9003f
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	.keyword
 | 
						.keyword
 | 
				
			||||||
		color #2973b7
 | 
							color #2973b7
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue