* Move CodeMirror LRLanguage to new file This separates the base language support from the LSP and color picker. * Move the base CodeMirror KCL support to a local package * Start CodeMirror grammar tests * Exclude vitest config in tsconfig * Add KCL path to tsconfig * Remove stray import * Drop extension from import * Use __filename for commonjs compat * Check exec return before access * Build ES and CJS to dist * Format * Exclude all.test.ts from codespell This is to work around "fileTests" imported from Lezer. Future codespell versions look like they'll allow the code to be annotated, which would be nicer. --------- Co-authored-by: Matt Mundell <matt@mundell.me>
		
			
				
	
	
		
			23 lines
		
	
	
		
			554 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			554 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { KclLanguage } from '../src/index'
 | |
| import { fileTests } from '@lezer/generator/dist/test'
 | |
| 
 | |
| import * as fs from 'fs'
 | |
| import * as path from 'path'
 | |
| 
 | |
| let caseDir = path.dirname(__filename)
 | |
| 
 | |
| for (let file of fs.readdirSync(caseDir)) {
 | |
|   if (!/\.txt$/.test(file)) continue
 | |
| 
 | |
|   let fname = /^[^\.]*/.exec(file)?.at(0)
 | |
|   if (fname) {
 | |
|     let tests = fileTests(
 | |
|       fs.readFileSync(path.join(caseDir, file), 'utf8'),
 | |
|       file
 | |
|     )
 | |
|     describe(fname, () => {
 | |
|       for (let { name, run } of tests) it(name, () => run(KclLanguage.parser))
 | |
|     })
 | |
|   }
 | |
| }
 |