Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/commander.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as vscode from 'vscode'
import * as opn from 'opn'

import {Extension} from './main'
import { Extension } from './main'

export class Commander {
extension: Extension
Expand Down Expand Up @@ -45,7 +45,7 @@ export class Commander {
vscode.workspace.openTextDocument(filePath).then((doc) => {
vscode.window.showTextDocument(doc).then((_) => {
//editor.selection = new vscode.Selection(new vscode.Position(lineNumber,0), new vscode.Position(lineNumber,0))
vscode.commands.executeCommand("revealLine", {lineNumber, at: 'center'})
vscode.commands.executeCommand('revealLine', {lineNumber, at: 'center'})
})
})

Expand Down
2 changes: 1 addition & 1 deletion src/components/builder.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 {Extension} from '../main'
import { Extension } from '../main'

export class Builder {
extension: Extension
Expand Down
2 changes: 1 addition & 1 deletion src/components/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 * as glob from 'glob'

import {Extension} from '../main'
import { Extension } from '../main'

export class Cleaner {
extension: Extension
Expand Down
2 changes: 1 addition & 1 deletion src/components/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 path from 'path'
import * as cp from 'child_process'

import {Extension} from '../main'
import { Extension } from '../main'

export class Counter {
extension: Extension
Expand Down
6 changes: 3 additions & 3 deletions src/components/linter.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import * as vscode from 'vscode'
import * as path from 'path'
import {ChildProcess, spawn, SpawnOptions} from 'child_process'
import {EOL} from 'os'
import { ChildProcess, spawn, SpawnOptions } from 'child_process'
import { EOL } from 'os'

import {Extension} from '../main'
import { Extension } from '../main'

export class Linter {
extension: Extension
Expand Down
6 changes: 3 additions & 3 deletions src/components/locator.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 cp from 'child_process'

import {Extension} from '../main'
import { Extension } from '../main'

export interface SyncTeXRecord {
input: string
Expand Down Expand Up @@ -64,7 +64,7 @@ export class Locator {
}
const configuration = vscode.workspace.getConfiguration('latex-workshop')
const pdfFile = this.extension.manager.tex2pdf(this.extension.manager.rootFile)
const args = ['view', '-i', `${position.line + 1}:${position.character + 1}:${filePath}`, "-o", pdfFile]
const args = ['view', '-i', `${position.line + 1}:${position.character + 1}:${filePath}`, '-o', pdfFile]
this.extension.logger.addLogMessage(`Executing synctex with args ${args}`)

const proc = cp.spawn(configuration.get('synctex.path') as string, args)
Expand Down Expand Up @@ -142,7 +142,7 @@ export class Locator {
}
vscode.window.showTextDocument(doc, viewColumn).then((editor) => {
editor.selection = new vscode.Selection(pos, pos)
vscode.commands.executeCommand("revealLine", {lineNumber: row, at: 'center'})
vscode.commands.executeCommand('revealLine', {lineNumber: row, at: 'center'})
})
})
}
Expand Down
2 changes: 1 addition & 1 deletion src/components/logger.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as vscode from 'vscode'

import {Extension} from '../main'
import { Extension } from '../main'

export class Logger {
extension: Extension
Expand Down
36 changes: 18 additions & 18 deletions src/components/manager.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 chokidar from 'chokidar'

import {Extension} from '../main'
import { Extension } from '../main'

export class Manager {
extension: Extension
Expand Down Expand Up @@ -155,16 +155,16 @@ export class Manager {
this.extension.logger.addLogMessage(`Instatiating new file watcher for ${this.rootFile}`)
this.fileWatcher = chokidar.watch(this.rootFile)
this.watched.push(this.rootFile)
this.fileWatcher.on('change', (path: string) => {
this.extension.logger.addLogMessage(`File watcher: responding to change in ${path}`)
this.findDependentFiles(path)
this.fileWatcher.on('change', (filePath: string) => {
this.extension.logger.addLogMessage(`File watcher: responding to change in ${filePath}`)
this.findDependentFiles(filePath)
})
this.fileWatcher.on('unlink', (path: string) => {
this.extension.logger.addLogMessage(`File watcher: ${path} deleted.`)
this.fileWatcher.unwatch(path)
this.watched.splice(this.watched.indexOf(path), 1)
if (path === this.rootFile) {
this.extension.logger.addLogMessage(`Deleted ${path} was root - triggering root search`)
this.fileWatcher.on('unlink', (filePath: string) => {
this.extension.logger.addLogMessage(`File watcher: ${filePath} deleted.`)
this.fileWatcher.unwatch(filePath)
this.watched.splice(this.watched.indexOf(filePath), 1)
if (filePath === this.rootFile) {
this.extension.logger.addLogMessage(`Deleted ${filePath} was root - triggering root search`)
this.findRoot()
}
})
Expand Down Expand Up @@ -244,15 +244,15 @@ export class Manager {
if (this.bibWatcher === undefined) {
this.extension.logger.addLogMessage(`Creating file watcher for .bib files.`)
this.bibWatcher = chokidar.watch(bibPath)
this.bibWatcher.on('change', (path: string) => {
this.extension.logger.addLogMessage(`Bib file watcher - responding to change in ${path}`)
this.extension.completer.citation.parseBibFile(path)
this.bibWatcher.on('change', (filePath: string) => {
this.extension.logger.addLogMessage(`Bib file watcher - responding to change in ${filePath}`)
this.extension.completer.citation.parseBibFile(filePath)
})
this.bibWatcher.on('unlink', (path: string) => {
this.extension.logger.addLogMessage(`Bib file watcher: ${path} deleted.`)
this.extension.completer.citation.forgetParsedBibItems(path)
this.bibWatcher.unwatch(path)
this.watched.splice(this.watched.indexOf(path), 1)
this.bibWatcher.on('unlink', (filePath: string) => {
this.extension.logger.addLogMessage(`Bib file watcher: ${filePath} deleted.`)
this.extension.completer.citation.forgetParsedBibItems(filePath)
this.bibWatcher.unwatch(filePath)
this.watched.splice(this.watched.indexOf(filePath), 1)
})
this.extension.completer.citation.parseBibFile(bibPath)
} else if (this.watched.indexOf(bibPath) < 0) {
Expand Down
4 changes: 2 additions & 2 deletions src/components/parser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,9 +104,9 @@ export class Parser {
const filename = path.resolve(this.extension.manager.rootDir, fileStack[fileStack.length - 1])
// append the read line, since we have a corresponding result in the making
if (searchesEmptyLine) {
currentResult.text = currentResult.text + " " + line
currentResult.text = currentResult.text + ' ' + line
if (line.trim() === '') {
currentResult.text = currentResult.text + "\n"
currentResult.text = currentResult.text + '\n'
searchesEmptyLine = false
}
continue
Expand Down
20 changes: 10 additions & 10 deletions src/components/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import * as ws from 'ws'
import * as fs from 'fs'
import * as path from 'path'

import {Extension} from '../main'
import { Extension } from '../main'

export class Server {
extension: Extension
Expand All @@ -14,7 +14,7 @@ export class Server {
constructor(extension: Extension) {
this.extension = extension
this.httpServer = http.createServer((request, response) => this.handler(request, response))
this.httpServer.listen(0, "localhost", undefined, (err: Error) => {
this.httpServer.listen(0, 'localhost', undefined, (err: Error) => {
if (err) {
this.extension.logger.addLogMessage(`Error creating LaTeX Workshop http server: ${err}.`)
} else {
Expand All @@ -24,9 +24,9 @@ export class Server {
}
})
this.wsServer = ws.createServer({server: this.httpServer})
this.wsServer.on("connection", (ws) => {
ws.on("message", (msg) => this.extension.viewer.handler(ws, msg))
ws.on("close", () => this.extension.viewer.handler(ws, '{"type": "close"}'))
this.wsServer.on('connection', (wsServer) => {
wsServer.on('message', (msg) => this.extension.viewer.handler(wsServer, msg))
wsServer.on('close', () => this.extension.viewer.handler(wsServer, '{"type": "close"}'))
})
this.extension.logger.addLogMessage(`Creating LaTeX Workshop http and websocket server.`)
}
Expand All @@ -38,16 +38,16 @@ export class Server {
request.url = decodeURIComponent(decodeURIComponent(request.url))
if (request.url.indexOf('pdf:') >= 0 && request.url.indexOf('viewer.html') < 0) {
// The second backslash was encoded as %2F, and the first one is prepended by request
const fileName = request.url.replace('//pdf:', '')
const pdfFileName = request.url.replace('//pdf:', '')
try {
const pdfSize = fs.statSync(fileName).size
const pdfSize = fs.statSync(pdfFileName).size
response.writeHead(200, {'Content-Type': 'application/pdf', 'Content-Length': pdfSize})
fs.createReadStream(fileName).pipe(response)
this.extension.logger.addLogMessage(`Preview PDF file: ${fileName}`)
fs.createReadStream(pdfFileName).pipe(response)
this.extension.logger.addLogMessage(`Preview PDF file: ${pdfFileName}`)
} catch (e) {
response.writeHead(404)
response.end()
this.extension.logger.addLogMessage(`Error reading PDF file: ${fileName}`)
this.extension.logger.addLogMessage(`Error reading PDF file: ${pdfFileName}`)
}
return
}
Expand Down
12 changes: 6 additions & 6 deletions src/components/viewer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import * as path from 'path'
import * as opn from 'opn'
import * as WebSocket from 'ws'

import {Extension} from '../main'
import {SyncTeXRecord} from './locator'
import { Extension } from '../main'
import { SyncTeXRecord } from './locator'

interface Position {}

Expand All @@ -32,7 +32,7 @@ export class Viewer {
(type === undefined || client.type === type) &&
client.ws !== undefined) {
this.extension.logger.addLogMessage(`Refresh PDF viewer for ${pdfFile}`)
client.ws.send(JSON.stringify({type: "refresh"}))
client.ws.send(JSON.stringify({type: 'refresh'}))
return true
}
this.extension.logger.addLogMessage(`No PDF viewer connected for ${pdfFile}`)
Expand Down Expand Up @@ -97,7 +97,7 @@ export class Viewer {
client.ws.close()
}
this.clients[pdfFile.toLocaleUpperCase()] = {type: 'tab'}
vscode.commands.executeCommand("vscode.previewHtml", uri, column, path.basename(pdfFile))
vscode.commands.executeCommand('vscode.previewHtml', uri, column, path.basename(pdfFile))
this.extension.logger.addLogMessage(`Open PDF tab for ${pdfFile}`)
this.extension.logger.displayStatus('repo', 'statusBar.foreground', `Open PDF tab for ${path.basename(pdfFile)}.`)
}
Expand Down Expand Up @@ -141,7 +141,7 @@ export class Viewer {
} else {
const configuration = vscode.workspace.getConfiguration('latex-workshop')
client.ws.send(JSON.stringify({
type: "params",
type: 'params',
scale: configuration.get('view.pdf.zoom'),
hand: configuration.get('view.pdf.hand')
}))
Expand All @@ -164,7 +164,7 @@ export class Viewer {
return
}
if (client.ws !== undefined) {
client.ws.send(JSON.stringify({type: "synctex", data: record}))
client.ws.send(JSON.stringify({type: 'synctex', data: record}))
this.extension.logger.addLogMessage(`Try to synctex ${pdfFile}`)
}
}
Expand Down
36 changes: 18 additions & 18 deletions src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,25 @@ import * as path from 'path'
import * as fs from 'fs'
import * as opn from 'opn'

import {Commander} from './commander'
import {Logger} from './components/logger'
import {Manager} from './components/manager'
import {Builder} from './components/builder'
import {Viewer, PDFProvider} from './components/viewer'
import {Server} from './components/server'
import {Locator} from './components/locator'
import {Parser} from './components/parser'
import {Linter} from './components/linter'
import {Cleaner} from './components/cleaner'
import {Counter} from './components/counter'
import { Commander } from './commander'
import { Logger } from './components/logger'
import { Manager } from './components/manager'
import { Builder } from './components/builder'
import { Viewer, PDFProvider } from './components/viewer'
import { Server } from './components/server'
import { Locator } from './components/locator'
import { Parser } from './components/parser'
import { Linter } from './components/linter'
import { Cleaner } from './components/cleaner'
import { Counter } from './components/counter'

import {Completer} from './providers/completion'
import {CodeActions} from './providers/codeactions'
import {SectionNodeProvider} from './providers/outline'
import {HoverProvider} from './providers/hover'
import {DocSymbolProvider} from './providers/docsymbol'
import {ProjectSymbolProvider} from './providers/projectsymbol'
import {DefinitionProvider} from './providers/definition'
import { Completer } from './providers/completion'
import { CodeActions } from './providers/codeactions'
import { SectionNodeProvider } from './providers/outline'
import { HoverProvider } from './providers/hover'
import { DocSymbolProvider } from './providers/docsymbol'
import { ProjectSymbolProvider } from './providers/projectsymbol'
import { DefinitionProvider } from './providers/definition'

function lintRootFileIfEnabled(extension: Extension) {
const configuration = vscode.workspace.getConfiguration('latex-workshop')
Expand Down
40 changes: 20 additions & 20 deletions src/providers/codeactions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,24 @@ import * as vs from 'vscode'
import { Extension } from '../main'

const CODE_TO_ACTION_STRING: {[key: number]: string} = {
1: "Terminate command with empty statement",
2: "Convert to non-breaking space (~)",
4: "Remove italic correction \\/ (not in italic buffer)",
5: "Remove extraneous italic correction(s)",
6: "Add italic correction (\\/)",
11: "Fix ellipsis",
12: "Add interword space (\\ )",
13: "Add intersentence space (\\@)",
1: 'Terminate command with empty statement',
2: 'Convert to non-breaking space (~)',
4: 'Remove italic correction \\/ (not in italic buffer)',
5: 'Remove extraneous italic correction(s)',
6: 'Add italic correction (\\/)',
11: 'Fix ellipsis',
12: 'Add interword space (\\ )',
13: 'Add intersentence space (\\@)',
18: "Replace with ` or '",
32: "Replace with `",
32: 'Replace with `',
33: "Replace with '",
24: "Remove extraneous space",
28: "Remove incorrect \\/",
26: "Remove extraneous space",
24: 'Remove extraneous space',
28: 'Remove incorrect \\/',
26: 'Remove extraneous space',
34: "Replace with ` or '",
35: "Use suggested alternative",
39: "Remove extraneous space",
42: "Remove extraneous space"
35: 'Use suggested alternative',
39: 'Remove extraneous space',
42: 'Remove extraneous space'
}

function replaceWhitespaceOnLineBefore(document: vs.TextDocument, position: vs.Position, replaceWith: string) {
Expand Down Expand Up @@ -98,7 +98,7 @@ export class CodeActions {
case 5:
case 28:
// In all these cases just clear what ChxTeX highlighted.
replaceRangeWithString(document, range, "")
replaceRangeWithString(document, range, '')
break
case 1:
replaceWhitespaceOnLineBefore(document, range.end.translate(0, -1), '{}')
Expand All @@ -115,7 +115,7 @@ export class CodeActions {
if (!regexResult) {
break
}
fixString = regexResult[0] + " "
fixString = regexResult[0] + ' '
replaceRangeWithString(document, range, fixString)
break
case 12:
Expand All @@ -126,20 +126,20 @@ export class CodeActions {
break
case 18:
if (isOpeningQuote(document, range)) {
replaceRangeWithRepeatedString(document, range, "``")
replaceRangeWithRepeatedString(document, range, '``')
} else {
replaceRangeWithRepeatedString(document, range, "''")
}
break
case 32:
replaceRangeWithRepeatedString(document, range, "`")
replaceRangeWithRepeatedString(document, range, '`')
break
case 33:
replaceRangeWithRepeatedString(document, range, "'")
break
case 34:
if (isOpeningQuote(document, range)) {
replaceRangeWithRepeatedString(document, range, "`")
replaceRangeWithRepeatedString(document, range, '`')
} else {
replaceRangeWithRepeatedString(document, range, "'")
}
Expand Down
Loading