You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							23 lines
						
					
					
						
							689 B
						
					
					
				
			
		
		
	
	
							23 lines
						
					
					
						
							689 B
						
					
					
				| const { EOL } = require('os')
 | |
| 
 | |
| const getFirstRegexpMatchOrDefault = (text, regexp, defaultValue) => {
 | |
|   regexp.lastIndex = 0 // https://stackoverflow.com/a/11477448/4536543
 | |
|   let match = regexp.exec(text)
 | |
|   if (match !== null) return match[1]
 | |
|   return defaultValue
 | |
| }
 | |
| 
 | |
| const DEFAULT_INDENT = '  '
 | |
| const INDENT_REGEXP = /^([ \t]+)[^\s]/m
 | |
| 
 | |
| module.exports.detectIndent = text =>
 | |
|   getFirstRegexpMatchOrDefault(text, INDENT_REGEXP, DEFAULT_INDENT)
 | |
| module.exports.DEFAULT_INDENT = DEFAULT_INDENT
 | |
| 
 | |
| const DEFAULT_EOL = EOL
 | |
| const EOL_REGEXP = /(\r\n|\n|\r)/g
 | |
| 
 | |
| module.exports.detectEOL = text =>
 | |
|   getFirstRegexpMatchOrDefault(text, EOL_REGEXP, DEFAULT_EOL)
 | |
| module.exports.DEFAULT_EOL = DEFAULT_EOL
 |