Skip to content

Commit

Permalink
cache parser don't init every time
Browse files Browse the repository at this point in the history
  • Loading branch information
rjmacarthy committed Apr 24, 2024
1 parent ecd0b2c commit 958eb1a
Showing 1 changed file with 13 additions and 6 deletions.
19 changes: 13 additions & 6 deletions src/extension/parser-utils.ts
Original file line number Diff line number Diff line change
@@ -1,19 +1,26 @@
import Parser, { SyntaxNode } from 'web-tree-sitter'
import {
WASM_LANGAUAGES
} from '../common/constants'
import { WASM_LANGAUAGES } from '../common/constants'
import path from 'path'
import { Logger } from '../common/logger'
import { Position } from 'vscode'
const logger = new Logger()

let parser: Parser
let fileExtension = ''

export const getParser = async (
filePath: string
): Promise<Parser | undefined> => {
const newFileExtension = path.extname(filePath).slice(1)
const language = WASM_LANGAUAGES[newFileExtension]

if (newFileExtension === fileExtension && parser) return parser

fileExtension = newFileExtension

await Parser.init()
const parser = new Parser()
const extension = path.extname(filePath).slice(1)
const language = WASM_LANGAUAGES[extension]

parser = new Parser()

logger.log(`Using parser for ${language}`)

Expand Down

0 comments on commit 958eb1a

Please sign in to comment.