Skip to content

Commit

Permalink
Fix circular dependency
Browse files Browse the repository at this point in the history
  • Loading branch information
James-Yu committed Nov 19, 2023
1 parent 96bcabe commit 7a07f29
Show file tree
Hide file tree
Showing 65 changed files with 356 additions and 278 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.ftl linguist-detectable=false
7 changes: 7 additions & 0 deletions .madgerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"detectiveOptions": {
"ts": {
"skipTypeImports": true
}
}
}
6 changes: 3 additions & 3 deletions src/compile/build.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import * as path from 'path'
import * as fs from 'fs'
import * as cp from 'child_process'
import * as cs from 'cross-spawn'
import * as lw from '../lw'
import { lw } from '../lw'
import { replaceArgumentPlaceholders } from '../utils/utils'
import { AutoBuildInitiated, AutoCleaned, BuildDone } from '../core/event-bus'
import { getLogger } from '../utils/logging/logger'
Expand Down Expand Up @@ -104,9 +104,9 @@ export class Builder {
}
const configuration = vscode.workspace.getConfiguration('latex-workshop', vscode.Uri.file(file))
if (!bibChanged && lw.manager.localRootFile && configuration.get('latex.rootFile.useSubFile')) {
return lw.commander.build(true, lw.manager.localRootFile, lw.manager.rootFileLanguageId)
return lw.commands.build(true, lw.manager.localRootFile, lw.manager.rootFileLanguageId)
} else {
return lw.commander.build(true, lw.manager.rootFile, lw.manager.rootFileLanguageId)
return lw.commands.build(true, lw.manager.rootFile, lw.manager.rootFileLanguageId)
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/completion/bibtex.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as vscode from 'vscode'
import * as fs from 'fs'
import * as lw from '../lw'
import { lw } from '../lw'
import { getBibtexFormatConfig, type BibtexFormatConfig } from '../lint/bibtexformatterlib/bibtexutils'

import { getLogger } from '../utils/logging/logger'
Expand Down
2 changes: 1 addition & 1 deletion src/completion/completer/argument.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as vscode from 'vscode'
import * as lw from '../../lw'
import { lw } from '../../lw'
import type { IProvider, IProviderArgs } from '../latex'
import { CmdEnvSuggestion, filterArgumentHint } from './completerutils'
import { EnvSnippetType } from './environment'
Expand Down
4 changes: 2 additions & 2 deletions src/completion/completer/atsuggestion.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as vscode from 'vscode'
import * as fs from 'fs'
import * as lw from '../../lw'
import { lw, registerDisposable } from '../../lw'
import type {IProvider, IProviderArgs} from '../latex'
import {escapeRegExp} from '../../utils/utils'

Expand All @@ -23,7 +23,7 @@ export class AtSuggestion implements IProvider {

const allSuggestions: {[key: string]: AtSuggestionItemEntry} = JSON.parse(fs.readFileSync(`${lw.extensionRoot}/data/at-suggestions.json`).toString()) as DataAtSuggestionJsonType
this.initialize(allSuggestions)
lw.registerDisposable(vscode.workspace.onDidChangeConfiguration((e: vscode.ConfigurationChangeEvent) => {
registerDisposable(vscode.workspace.onDidChangeConfiguration((e: vscode.ConfigurationChangeEvent) => {
if (e.affectsConfiguration('latex-workshop.intellisense.atSuggestion.user')) {
this.initialize(allSuggestions)
}
Expand Down
2 changes: 1 addition & 1 deletion src/completion/completer/citation.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as vscode from 'vscode'
import * as fs from 'fs'
import {bibtexParser} from 'latex-utensils'
import * as lw from '../../lw'
import { lw } from '../../lw'
import * as eventbus from '../../core/event-bus'
import {trimMultiLineString} from '../../utils/utils'
import {computeFilteringRange} from './completerutils'
Expand Down
4 changes: 2 additions & 2 deletions src/completion/completer/command.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as vscode from 'vscode'
import * as fs from 'fs'
import type * as Ast from '@unified-latex/unified-latex-types'
import * as lw from '../../lw'
import { lw, registerDisposable } from '../../lw'
import type { IProvider, ICompletionItem, PkgType, IProviderArgs } from '../latex'
import { CmdEnvSuggestion, splitSignatureString, filterNonLetterSuggestions, filterArgumentHint } from './completerutils'
import {SurroundCommand} from './commandlib/surround'
Expand Down Expand Up @@ -55,7 +55,7 @@ export class Command implements IProvider {
const symbols: { [key: string]: CmdType } = JSON.parse(fs.readFileSync(`${lw.extensionRoot}/data/unimathsymbols.json`).toString()) as DataUnimathSymbolsJsonType
Object.entries(symbols).forEach(([key, symbol]) => this.defaultSymbols.push(this.entryCmdToCompletion(key, symbol)))

lw.registerDisposable(vscode.workspace.onDidChangeConfiguration((e: vscode.ConfigurationChangeEvent) => {
registerDisposable(vscode.workspace.onDidChangeConfiguration((e: vscode.ConfigurationChangeEvent) => {
if (!e.affectsConfiguration('latex-workshop.intellisense.command.user') &&
!e.affectsConfiguration('latex-workshop.intellisense.package.exclude')) {
return
Expand Down
2 changes: 1 addition & 1 deletion src/completion/completer/documentclass.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as vscode from 'vscode'
import * as fs from 'fs'
import * as lw from '../../lw'
import { lw } from '../../lw'
import type { IProvider } from '../latex'

type DataClassnamesJsonType = typeof import('../../../data/classnames.json')
Expand Down
4 changes: 2 additions & 2 deletions src/completion/completer/environment.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as vscode from 'vscode'
import * as fs from 'fs'
import type * as Ast from '@unified-latex/unified-latex-types'
import * as lw from '../../lw'
import { lw, registerDisposable } from '../../lw'
import type { ICompletionItem, IProvider, IProviderArgs } from '../latex'
import { CmdEnvSuggestion, splitSignatureString, filterNonLetterSuggestions, filterArgumentHint } from './completerutils'

Expand Down Expand Up @@ -44,7 +44,7 @@ export class Environment implements IProvider {
private readonly packageEnvsForBegin= new Map<string, CmdEnvSuggestion[]>()

constructor() {
lw.registerDisposable(vscode.workspace.onDidChangeConfiguration((e: vscode.ConfigurationChangeEvent) => {
registerDisposable(vscode.workspace.onDidChangeConfiguration((e: vscode.ConfigurationChangeEvent) => {
if (!e.affectsConfiguration('latex-workshop.intellisense.package.exclude')) {
return
}
Expand Down
2 changes: 1 addition & 1 deletion src/completion/completer/glossary.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as vscode from 'vscode'
import type * as Ast from '@unified-latex/unified-latex-types'
import * as lw from '../../lw'
import { lw } from '../../lw'
import type { ICompletionItem, IProvider } from '../latex'
import { Cache } from '../../core/cache'
import { argContentToStr } from '../../utils/parser'
Expand Down
2 changes: 1 addition & 1 deletion src/completion/completer/input.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import * as vscode from 'vscode'
import * as fs from 'fs'
import * as path from 'path'
import * as micromatch from 'micromatch'
import * as lw from '../../lw'
import { lw } from '../../lw'
import type { IProvider, IProviderArgs } from '../latex'

import { getLogger } from '../../utils/logging/logger'
Expand Down
2 changes: 1 addition & 1 deletion src/completion/completer/package.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as vscode from 'vscode'
import * as fs from 'fs'
import type * as Ast from '@unified-latex/unified-latex-types'
import * as lw from '../../lw'
import { lw } from '../../lw'
import type { IProvider } from '../latex'
import { argContentToStr } from '../../utils/parser'
import { Cache } from '../../core/cache'
Expand Down
2 changes: 1 addition & 1 deletion src/completion/completer/reference.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import * as vscode from 'vscode'
import * as fs from 'fs'
import * as path from 'path'
import type * as Ast from '@unified-latex/unified-latex-types'
import * as lw from '../../lw'
import { lw } from '../../lw'
import { getLongestBalancedString, stripEnvironments } from '../../utils/utils'
import { computeFilteringRange } from './completerutils'
import type { IProvider, ICompletionItem, IProviderArgs } from '../latex'
Expand Down
2 changes: 1 addition & 1 deletion src/completion/latex.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as vscode from 'vscode'
import * as fs from 'fs'
import * as path from 'path'
import * as lw from '../lw'
import { lw } from '../lw'
import { Citation } from './completer/citation'
import { DocumentClass } from './completer/documentclass'
import { Command } from './completer/command'
Expand Down
2 changes: 1 addition & 1 deletion src/core/cache.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import * as vscode from 'vscode'
import * as fs from 'fs'
import * as path from 'path'
import type * as Ast from '@unified-latex/unified-latex-types'
import * as lw from '../lw'
import { lw } from '../lw'
import * as eventbus from './event-bus'
import * as utils from '../utils/utils'
import type { CmdEnvSuggestion } from '../completion/completer/completerutils'
Expand Down
2 changes: 1 addition & 1 deletion src/core/cacherlib/pathutils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import * as vscode from 'vscode'
import * as path from 'path'
import * as cs from 'cross-spawn'
import * as fs from 'fs'
import * as lw from '../../lw'
import { lw } from '../../lw'
import * as utils from '../../utils/utils'
import { getLogger } from '../../utils/logging/logger'

Expand Down
2 changes: 1 addition & 1 deletion src/core/cacherlib/watcher.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as vscode from 'vscode'
import * as fs from 'fs'
import * as path from 'path'
import * as lw from '../../lw'
import { lw } from '../../lw'
import * as eventbus from '../event-bus'
import { getLogger } from '../../utils/logging/logger'
import { isBinary } from '../root-file'
Expand Down
2 changes: 1 addition & 1 deletion src/core/commands.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as vscode from 'vscode'
import * as path from 'path'
import * as lw from '../lw'
import { lw } from '../lw'
import { getSurroundingCommandRange, stripText } from '../utils/utils'
import { getLogger } from '../utils/logging/logger'
import { parser } from '../parse/parser'
Expand Down
2 changes: 1 addition & 1 deletion src/core/root-file.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import * as path from 'path'
import * as fs from 'fs'
import * as tmp from 'tmp'
import * as utils from '../utils/utils'
import * as lw from '../lw'
import { lw } from '../lw'
import * as eventbus from './event-bus'
import { getLogger } from '../utils/logging/logger'

Expand Down
2 changes: 1 addition & 1 deletion src/extras/activity-bar.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as vscode from 'vscode'
import * as lw from '../lw'
import { lw } from '../lw'

export class LaTeXCommanderTreeView {
private readonly latexCommanderProvider: LaTeXCommanderProvider
Expand Down
2 changes: 1 addition & 1 deletion src/extras/cleaner.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import * as path from 'path'
import * as fs from 'fs'
import { glob } from 'glob'
import * as cs from 'cross-spawn'
import * as lw from '../lw'
import { lw } from '../lw'
import { replaceArgumentPlaceholders } from '../utils/utils'

import { getLogger } from '../utils/logging/logger'
Expand Down
2 changes: 1 addition & 1 deletion src/extras/counter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import * as vscode from 'vscode'
import * as fs from 'fs'
import * as path from 'path'
import * as cs from 'cross-spawn'
import * as lw from '../lw'
import { lw } from '../lw'
import { getLogger } from '../utils/logging/logger'

const logger = getLogger('Counter')
Expand Down
2 changes: 1 addition & 1 deletion src/extras/math-preview-panel.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import * as vscode from 'vscode'
import * as path from 'path'
import type { TexMathEnv } from '../preview/math/mathpreview'
import { moveWebviewPanel } from '../utils/webview'
import * as lw from '../lw'
import { lw } from '../lw'
import { getLogger } from '../utils/logging/logger'

const logger = getLogger('Preview', 'Math')
Expand Down
2 changes: 1 addition & 1 deletion src/extras/snippet-view.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as vscode from 'vscode'
import {readFileSync} from 'fs'
import * as path from 'path'
import * as lw from '../lw'
import { lw } from '../lw'
import {replaceWebviewPlaceholders} from '../utils/webview'


Expand Down
2 changes: 1 addition & 1 deletion src/extras/texdoc.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as vscode from 'vscode'
import * as cs from 'cross-spawn'
import * as lw from '../lw'
import { lw } from '../lw'
import { getLogger } from '../utils/logging/logger'

const logger = getLogger('TeXDoc')
Expand Down
2 changes: 1 addition & 1 deletion src/language/definition.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as vscode from 'vscode'
import * as fs from 'fs'
import * as path from 'path'
import * as lw from '../lw'
import { lw } from '../lw'
import { tokenizer } from '../utils/tokenizer'
import * as utils from '../utils/utils'

Expand Down
2 changes: 1 addition & 1 deletion src/language/selection.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as vscode from 'vscode'
import type * as Ast from '@unified-latex/unified-latex-types'
import * as lw from '../lw'
import { lw } from '../lw'
import { getLogger } from '../utils/logging/logger'

const logger = getLogger('Selection')
Expand Down
4 changes: 2 additions & 2 deletions src/language/symbol-document.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as vscode from 'vscode'
import * as lw from '../lw'
import { TeXElement, TeXElementType } from '../outline/project'
import { lw } from '../lw'
import { TeXElement, TeXElementType } from '../outline/structurelib/types'
import { buildBibTeX } from '../outline/structurelib/bibtex'
import { construct as constructLaTeX } from '../outline/structurelib/latex'
import { construct } from '../outline/structurelib/doctex'
Expand Down
4 changes: 2 additions & 2 deletions src/language/symbol-project.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as vscode from 'vscode'
import * as lw from '../lw'
import { lw } from '../lw'
import { construct } from '../outline/structurelib/latex'
import { TeXElement } from '../outline/project'
import { TeXElement } from '../outline/structurelib/types'

export class ProjectSymbolProvider implements vscode.WorkspaceSymbolProvider {

Expand Down
2 changes: 1 addition & 1 deletion src/lint/duplicate-label.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as vscode from 'vscode'
import * as path from 'path'
import * as lw from '../lw'
import { lw } from '../lw'

const duplicatedLabelsDiagnostics = vscode.languages.createDiagnosticCollection('Duplicate Labels')

Expand Down
4 changes: 2 additions & 2 deletions src/lint/latex-formatter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import * as cs from 'cross-spawn'
import * as path from 'path'
import * as fs from 'fs'
import * as os from 'os'
import * as lw from '../lw'
import { lw, registerDisposable } from '../lw'
import {replaceArgumentPlaceholders} from '../utils/utils'
import { getLogger } from '../utils/logging/logger'

Expand Down Expand Up @@ -195,7 +195,7 @@ class LatexFormatterProvider implements vscode.DocumentFormattingEditProvider, v
logger.log('LaTexFormatter: Unsupported OS')
}

lw.registerDisposable(vscode.workspace.onDidChangeConfiguration((e: vscode.ConfigurationChangeEvent) => {
registerDisposable(vscode.workspace.onDidChangeConfiguration((e: vscode.ConfigurationChangeEvent) => {
if (e.affectsConfiguration('latex-workshop.latexindent.path')) {
formatter = ''
}
Expand Down
2 changes: 1 addition & 1 deletion src/lint/latex-linter.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as vscode from 'vscode'
import * as lw from '../lw'
import { lw } from '../lw'
import { chkTeX } from './linterlib/chktex'
import { laCheck } from './linterlib/lacheck'
import { getLogger } from '../utils/logging/logger'
Expand Down
2 changes: 1 addition & 1 deletion src/lint/linterlib/chktex.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import * as path from 'path'
import * as fs from 'fs'
import * as os from 'os'
import { ChildProcessWithoutNullStreams, spawn } from 'child_process'
import * as lw from '../../lw'
import { lw } from '../../lw'
import type { ILinter } from '../latex-linter'
import { processWrapper } from './linterutils'
import { convertFilenameEncoding } from '../../utils/convertfilename'
Expand Down
2 changes: 1 addition & 1 deletion src/lint/linterlib/lacheck.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import * as vscode from 'vscode'
import * as path from 'path'
import * as fs from 'fs'
import { ChildProcessWithoutNullStreams, spawn } from 'child_process'
import * as lw from '../../lw'
import { lw } from '../../lw'
import type { ILinter } from '../latex-linter'
import { processWrapper } from './linterutils'
import { convertFilenameEncoding } from '../../utils/convertfilename'
Expand Down
10 changes: 10 additions & 0 deletions src/locate/environment.ts
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,16 @@ export class EnvPair {
return currentCommandPair
}
}
// #4063
if (node.content === 'item' && node.args) {
for (let argIndex = 0; argIndex < node.args.length; argIndex++) {
for (let index = 0; index < node.args[argIndex].content.length; index++) {
const subnode = node.args[argIndex].content[index]
const subnext = index === node.args[argIndex].content.length - 1 ? undefined : node.args[argIndex].content[index + 1]
parentCommandPair = this.buildCommandPairTreeFromNode(doc, subnode, subnext, parentCommandPair, commandPairs)
}
}
}
}
return parentCommandPair
}
Expand Down
2 changes: 1 addition & 1 deletion src/locate/synctex.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import * as vscode from 'vscode'
import * as fs from 'fs'
import * as path from 'path'
import * as cs from 'cross-spawn'
import * as lw from '../lw'
import { lw } from '../lw'
import * as SyncTeX from './locatorlib/synctex'
import { replaceArgumentPlaceholders } from '../utils/utils'
import { isSameRealPath } from '../utils/pathnormalize'
Expand Down
Loading

0 comments on commit 7a07f29

Please sign in to comment.