mirror of
https://github.com/latex-lsp/texlab.git
synced 2025-12-23 09:19:21 +00:00
Make LaTeX linting optional
This commit is contained in:
parent
d4b9b97360
commit
029dcff511
3 changed files with 21 additions and 2 deletions
|
|
@ -26,6 +26,7 @@ import texlab.definition.BibtexEntryDefinitionProvider
|
|||
import texlab.definition.LatexLabelDefinitionProvider
|
||||
import texlab.diagnostics.BibtexEntryDiagnosticsProvider
|
||||
import texlab.diagnostics.LatexDiagnosticsProvider
|
||||
import texlab.diagnostics.LatexLinterConfig
|
||||
import texlab.diagnostics.ManualDiagnosticsProvider
|
||||
import texlab.folding.BibtexDeclarationFoldingProvider
|
||||
import texlab.folding.LatexEnvironmentFoldingProvider
|
||||
|
|
@ -231,7 +232,7 @@ class TextDocumentServiceImpl(val workspaceActor: WorkspaceActor) : CustomTextDo
|
|||
workspaceActor.put { Document.create(uri, text, language) }
|
||||
|
||||
launch {
|
||||
latexDiagnosticsProvider.update(uri, text)
|
||||
runLinter(uri, text)
|
||||
publishDiagnostics(uri)
|
||||
resolveIncludes()
|
||||
}
|
||||
|
|
@ -260,7 +261,7 @@ class TextDocumentServiceImpl(val workspaceActor: WorkspaceActor) : CustomTextDo
|
|||
override fun didSave(params: DidSaveTextDocumentParams) {
|
||||
launch {
|
||||
val uri = URIHelper.parse(params.textDocument.uri)
|
||||
latexDiagnosticsProvider.update(uri, params.text)
|
||||
runLinter(uri, params.text)
|
||||
publishDiagnostics(uri)
|
||||
|
||||
val config = client.configuration<BuildConfig>("latex.build", uri)
|
||||
|
|
@ -436,6 +437,15 @@ class TextDocumentServiceImpl(val workspaceActor: WorkspaceActor) : CustomTextDo
|
|||
}
|
||||
}
|
||||
|
||||
private suspend fun runLinter(uri: URI, text: String) {
|
||||
val config = client.configuration<LatexLinterConfig>("latex.lint", uri)
|
||||
if (config.onSave) {
|
||||
latexDiagnosticsProvider.update(uri, text)
|
||||
} else {
|
||||
latexDiagnosticsProvider.clear(uri)
|
||||
}
|
||||
}
|
||||
|
||||
private suspend fun <T, R> runFeature(provider: FeatureProvider<T, R>,
|
||||
document: TextDocumentIdentifier,
|
||||
params: T): R {
|
||||
|
|
|
|||
|
|
@ -20,4 +20,8 @@ class LatexDiagnosticsProvider : FeatureProvider<Unit, List<Diagnostic>> {
|
|||
suspend fun update(uri: URI, text: String) {
|
||||
diagnosticsByUri[uri] = LatexLinter.lint(text)
|
||||
}
|
||||
|
||||
fun clear(uri: URI) {
|
||||
diagnosticsByUri.remove(uri)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
5
src/main/kotlin/texlab/diagnostics/LatexLinterConfig.kt
Normal file
5
src/main/kotlin/texlab/diagnostics/LatexLinterConfig.kt
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
package texlab.diagnostics
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
|
||||
data class LatexLinterConfig(@SerializedName("onSave") val onSave: Boolean)
|
||||
Loading…
Add table
Add a link
Reference in a new issue