mirror of
https://github.com/James-Yu/LaTeX-Workshop.git
synced 2024-10-04 07:07:54 +03:00
Remove latex-utensils latex parser, leave bib one
This commit is contained in:
parent
36ad48f7aa
commit
bc5b6c8ef6
2
.vscode/launch.json
vendored
2
.vscode/launch.json
vendored
@ -33,7 +33,7 @@
|
||||
"preLaunchTask": "task-watch-all",
|
||||
"env": {
|
||||
"LATEXWORKSHOP_CI": "1",
|
||||
"LATEXWORKSHOP_SUITE": "07"
|
||||
"LATEXWORKSHOP_SUITE": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
|
1837
package-lock.json
generated
1837
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -2561,8 +2561,6 @@
|
||||
"micromatch": "4.0.5",
|
||||
"pdfjs-dist": "3.6.172",
|
||||
"tmp": "0.2.1",
|
||||
"unified-latex": "^1.1.3",
|
||||
"workerpool": "6.3.1",
|
||||
"ws": "8.11.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
@ -1,58 +1,7 @@
|
||||
import type { latexParser, bibtexParser } from 'latex-utensils'
|
||||
import * as path from 'path'
|
||||
import * as workerpool from 'workerpool'
|
||||
import type { Proxy } from 'workerpool'
|
||||
import type { ISyntaxWorker } from './parserlib/syntax'
|
||||
import { bibtexParser } from 'latex-utensils'
|
||||
import { bibtexLogParser } from './parserlib/bibtexlog'
|
||||
import { biberLogParser } from './parserlib/biberlog'
|
||||
import { latexLogParser } from './parserlib/latexlog'
|
||||
import { stripComments } from '../utils/utils'
|
||||
import { getLogger } from './logger'
|
||||
|
||||
const logger = getLogger('Parser')
|
||||
|
||||
const pool: workerpool.WorkerPool = workerpool.pool(
|
||||
path.join(__dirname, './parserlib/syntax.js'),
|
||||
{ minWorkers: 1, maxWorkers: 100, workerType: 'process' }
|
||||
)
|
||||
const proxy: workerpool.Promise<Proxy<ISyntaxWorker>> = pool.proxy<ISyntaxWorker>()
|
||||
|
||||
function dispose() {
|
||||
return {
|
||||
dispose: async () => { await pool.terminate(true) }
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse a LaTeX file.
|
||||
*
|
||||
* @param s The content of a LaTeX file to be parsed.
|
||||
* @param options
|
||||
* @return undefined if parsing fails
|
||||
*/
|
||||
async function parseLatex(s: string, options?: latexParser.ParserOptions): Promise<latexParser.LatexAst | undefined> {
|
||||
return (await proxy).parseLatex(s, Object.assign(options || {}, { timeout: 3000 }))
|
||||
.catch(err => {
|
||||
logger.logUtensilsError('Error in parsing LaTeX AST', err)
|
||||
return undefined
|
||||
})
|
||||
}
|
||||
|
||||
async function parseLatexPreamble(s: string): Promise<latexParser.AstPreamble | undefined> {
|
||||
return (await proxy).parseLatexPreamble(s, { timeout: 500 })
|
||||
.catch(err => {
|
||||
logger.logUtensilsError('Error in parsing LaTeX Preamble AST', err)
|
||||
return undefined
|
||||
})
|
||||
}
|
||||
|
||||
async function parseBibtex(s: string, options?: bibtexParser.ParserOptions): Promise<bibtexParser.BibtexAst | undefined> {
|
||||
return (await proxy).parseBibtex(stripComments(s), Object.assign(options || {}, { timeout: 30000 }))
|
||||
.catch(err => {
|
||||
logger.logUtensilsError('Error in parsing BibTeX AST', err)
|
||||
return undefined
|
||||
})
|
||||
}
|
||||
|
||||
// Notice that 'Output written on filename.pdf' isn't output in draft mode.
|
||||
// https://github.com/James-Yu/LaTeX-Workshop/issues/2893#issuecomment-936312853
|
||||
@ -199,13 +148,14 @@ function resetUnifiedParser(): UnifiedParser {
|
||||
return unifiedParser
|
||||
}
|
||||
|
||||
function parseBibtex(s: string, options?: bibtexParser.ParserOptions): bibtexParser.BibtexAst | undefined {
|
||||
return bibtexParser.parse(s, options)
|
||||
}
|
||||
|
||||
export const parser = {
|
||||
parseLatex,
|
||||
parseLatexPreamble,
|
||||
parseBibtex,
|
||||
parseLog,
|
||||
unifiedParse,
|
||||
unifiedArgsParse,
|
||||
resetUnifiedParser,
|
||||
dispose
|
||||
resetUnifiedParser
|
||||
}
|
||||
|
@ -14,7 +14,6 @@ import { Locator } from './components/locator'
|
||||
import { LwFileSystem } from './components/lwfs'
|
||||
import { Manager } from './components/manager'
|
||||
import { MathPreviewPanel } from './components/mathpreviewpanel'
|
||||
import { parser } from './components/parser'
|
||||
import { Section } from './components/section'
|
||||
import { Server } from './components/server'
|
||||
import { SnippetView } from './components/snippetview'
|
||||
@ -83,7 +82,6 @@ export function init(extensionContext: vscode.ExtensionContext) {
|
||||
dispose: () => {
|
||||
cacher.reset()
|
||||
server.dispose()
|
||||
parser.dispose()
|
||||
MathJaxPool.dispose()
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user