From 02fa158a0dcfe41d4517a2c170dadc83fc26930c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20F=C3=B6rster?= Date: Sun, 27 Jan 2019 17:20:29 +0100 Subject: [PATCH] Change return types of custom requests --- src/main/kotlin/texlab/CustomTextDocumentService.kt | 8 ++++---- src/main/kotlin/texlab/TextDocumentServiceImpl.kt | 12 ++++++------ src/main/kotlin/texlab/build/BuildEngine.kt | 7 ++++--- src/main/kotlin/texlab/build/BuildResult.kt | 3 +++ .../{forwardSearch => search}/ForwardSearchConfig.kt | 2 +- src/main/kotlin/texlab/search/ForwardSearchResult.kt | 3 +++ .../{forwardSearch => search}/ForwardSearchStatus.kt | 3 ++- .../{forwardSearch => search}/ForwardSearchTool.kt | 12 +++++------- 8 files changed, 28 insertions(+), 22 deletions(-) create mode 100644 src/main/kotlin/texlab/build/BuildResult.kt rename src/main/kotlin/texlab/{forwardSearch => search}/ForwardSearchConfig.kt (88%) create mode 100644 src/main/kotlin/texlab/search/ForwardSearchResult.kt rename src/main/kotlin/texlab/{forwardSearch => search}/ForwardSearchStatus.kt (78%) rename src/main/kotlin/texlab/{forwardSearch => search}/ForwardSearchTool.kt (79%) diff --git a/src/main/kotlin/texlab/CustomTextDocumentService.kt b/src/main/kotlin/texlab/CustomTextDocumentService.kt index 4f57a597..422bb1b3 100644 --- a/src/main/kotlin/texlab/CustomTextDocumentService.kt +++ b/src/main/kotlin/texlab/CustomTextDocumentService.kt @@ -5,15 +5,15 @@ import org.eclipse.lsp4j.jsonrpc.services.JsonRequest import org.eclipse.lsp4j.jsonrpc.services.JsonSegment import org.eclipse.lsp4j.services.TextDocumentService import texlab.build.BuildParams -import texlab.build.BuildStatus -import texlab.forwardSearch.ForwardSearchStatus +import texlab.build.BuildResult +import texlab.search.ForwardSearchResult import java.util.concurrent.CompletableFuture @JsonSegment("textDocument") interface CustomTextDocumentService : TextDocumentService { @JsonRequest - fun build(params: BuildParams): CompletableFuture + fun build(params: BuildParams): CompletableFuture @JsonRequest - fun forwardSearch(params: TextDocumentPositionParams): CompletableFuture + fun forwardSearch(params: TextDocumentPositionParams): CompletableFuture } diff --git a/src/main/kotlin/texlab/TextDocumentServiceImpl.kt b/src/main/kotlin/texlab/TextDocumentServiceImpl.kt index 22a78ff2..ba07cdf0 100644 --- a/src/main/kotlin/texlab/TextDocumentServiceImpl.kt +++ b/src/main/kotlin/texlab/TextDocumentServiceImpl.kt @@ -8,7 +8,7 @@ import org.eclipse.lsp4j.jsonrpc.messages.Either import texlab.build.BuildConfig import texlab.build.BuildEngine import texlab.build.BuildParams -import texlab.build.BuildStatus +import texlab.build.BuildResult import texlab.completion.* import texlab.completion.bibtex.BibtexEntryTypeProvider import texlab.completion.bibtex.BibtexFieldNameProvider @@ -20,9 +20,6 @@ import texlab.diagnostics.* import texlab.folding.* import texlab.formatting.BibtexFormatter import texlab.formatting.BibtexFormatterConfig -import texlab.forwardSearch.ForwardSearchConfig -import texlab.forwardSearch.ForwardSearchStatus -import texlab.forwardSearch.ForwardSearchTool import texlab.highlight.AggregateHighlightProvider import texlab.highlight.HighlightProvider import texlab.highlight.HighlightRequest @@ -39,6 +36,9 @@ import texlab.rename.* import texlab.resolver.InvalidTexDistributionException import texlab.resolver.LatexResolver import texlab.resolver.TexDistributionError +import texlab.search.ForwardSearchConfig +import texlab.search.ForwardSearchResult +import texlab.search.ForwardSearchTool import texlab.symbol.* import texlab.syntax.bibtex.BibtexDeclarationSyntax import java.io.File @@ -371,7 +371,7 @@ class TextDocumentServiceImpl(val workspace: Workspace) : CustomTextDocumentServ } } - override fun build(params: BuildParams): CompletableFuture = future { + override fun build(params: BuildParams): CompletableFuture = future { val childUri = URIHelper.parse(params.textDocument.uri) val parent = workspace.withLock { workspace.findParent(childUri) @@ -382,7 +382,7 @@ class TextDocumentServiceImpl(val workspace: Workspace) : CustomTextDocumentServ } override fun forwardSearch(params: TextDocumentPositionParams) - : CompletableFuture = future { + : CompletableFuture = future { val childUri = URIHelper.parse(params.textDocument.uri) val parent = workspace.withLock { workspace.findParent(childUri) diff --git a/src/main/kotlin/texlab/build/BuildEngine.kt b/src/main/kotlin/texlab/build/BuildEngine.kt index 1595ae46..ef74307d 100644 --- a/src/main/kotlin/texlab/build/BuildEngine.kt +++ b/src/main/kotlin/texlab/build/BuildEngine.kt @@ -11,7 +11,7 @@ import java.net.URI import java.nio.file.Paths object BuildEngine { - suspend fun build(uri: URI, config: BuildConfig, listener: ProgressListener?): BuildStatus { + suspend fun build(uri: URI, config: BuildConfig, listener: ProgressListener?): BuildResult { val texFile = Paths.get(uri).toFile() val progressParams = ProgressParams("build", "Building...", texFile.name) listener?.onReportProgress(progressParams) @@ -41,13 +41,14 @@ object BuildEngine { throw e } - if (process.exitValue() == 0) { + val status = if (process.exitValue() == 0) { BuildStatus.SUCCESS } else { BuildStatus.ERROR } + BuildResult(status) } catch (e: IOException) { - BuildStatus.FAILURE + BuildResult(BuildStatus.FAILURE) } finally { listener?.onReportProgress(progressParams.copy(done = true)) } diff --git a/src/main/kotlin/texlab/build/BuildResult.kt b/src/main/kotlin/texlab/build/BuildResult.kt new file mode 100644 index 00000000..426afcbe --- /dev/null +++ b/src/main/kotlin/texlab/build/BuildResult.kt @@ -0,0 +1,3 @@ +package texlab.build + +data class BuildResult(val status: BuildStatus) diff --git a/src/main/kotlin/texlab/forwardSearch/ForwardSearchConfig.kt b/src/main/kotlin/texlab/search/ForwardSearchConfig.kt similarity index 88% rename from src/main/kotlin/texlab/forwardSearch/ForwardSearchConfig.kt rename to src/main/kotlin/texlab/search/ForwardSearchConfig.kt index de92f0ab..99d00c85 100644 --- a/src/main/kotlin/texlab/forwardSearch/ForwardSearchConfig.kt +++ b/src/main/kotlin/texlab/search/ForwardSearchConfig.kt @@ -1,4 +1,4 @@ -package texlab.forwardSearch +package texlab.search import com.google.gson.annotations.SerializedName diff --git a/src/main/kotlin/texlab/search/ForwardSearchResult.kt b/src/main/kotlin/texlab/search/ForwardSearchResult.kt new file mode 100644 index 00000000..719d1b86 --- /dev/null +++ b/src/main/kotlin/texlab/search/ForwardSearchResult.kt @@ -0,0 +1,3 @@ +package texlab.search + +data class ForwardSearchResult(val status: ForwardSearchStatus) diff --git a/src/main/kotlin/texlab/forwardSearch/ForwardSearchStatus.kt b/src/main/kotlin/texlab/search/ForwardSearchStatus.kt similarity index 78% rename from src/main/kotlin/texlab/forwardSearch/ForwardSearchStatus.kt rename to src/main/kotlin/texlab/search/ForwardSearchStatus.kt index 138876b3..40fcc1a0 100644 --- a/src/main/kotlin/texlab/forwardSearch/ForwardSearchStatus.kt +++ b/src/main/kotlin/texlab/search/ForwardSearchStatus.kt @@ -1,7 +1,8 @@ -package texlab.forwardSearch +package texlab.search enum class ForwardSearchStatus(val value: Int) { SUCCESS(0), ERROR(1), UNCONFIGURED(2); } + diff --git a/src/main/kotlin/texlab/forwardSearch/ForwardSearchTool.kt b/src/main/kotlin/texlab/search/ForwardSearchTool.kt similarity index 79% rename from src/main/kotlin/texlab/forwardSearch/ForwardSearchTool.kt rename to src/main/kotlin/texlab/search/ForwardSearchTool.kt index 20ce3795..a2c723b1 100644 --- a/src/main/kotlin/texlab/forwardSearch/ForwardSearchTool.kt +++ b/src/main/kotlin/texlab/search/ForwardSearchTool.kt @@ -1,14 +1,11 @@ -package texlab.forwardSearch +package texlab.search import java.io.File import java.io.IOException import java.nio.file.Paths object ForwardSearchTool { - fun search(file: File, - parent: File, - lineNumber: Int, - config: ForwardSearchConfig): ForwardSearchStatus { + fun search(file: File, parent: File, lineNumber: Int, config: ForwardSearchConfig): ForwardSearchResult { val pdfFile = Paths.get(parent.parent, parent.nameWithoutExtension + ".pdf").toString() fun replacePlaceholder(argument: String): String { @@ -19,14 +16,14 @@ object ForwardSearchTool { } if (config.executable == null) { - return ForwardSearchStatus.UNCONFIGURED + return ForwardSearchResult(ForwardSearchStatus.UNCONFIGURED) } val args = config.args .map { replacePlaceholder(it) } .toTypedArray() val command = listOf(config.executable, *args) - return try { + val status = try { val process = ProcessBuilder(command) .redirectOutput(ProcessBuilder.Redirect.PIPE) .redirectError(ProcessBuilder.Redirect.PIPE) @@ -36,5 +33,6 @@ object ForwardSearchTool { } catch (e: IOException) { ForwardSearchStatus.ERROR } + return ForwardSearchResult(status) } }