diff --git a/atom-extensions/atom-commons/src/jar-language-client.js b/atom-extensions/atom-commons/src/jar-language-client.js index 8fbb10801..e39c4ee2e 100644 --- a/atom-extensions/atom-commons/src/jar-language-client.js +++ b/atom-extensions/atom-commons/src/jar-language-client.js @@ -63,6 +63,9 @@ export class JarLanguageClient extends AutoLanguageClient { doLaunchProcess(javaExecutable, launcher, port, args=[]) { let vmArgs = args.concat([ `-Dserver.port=${port}`, + // Atom doesn't have lazy completion proposals support - completionItem/resolve message. Disable lazy completions + '-Dlsp.lazy.completions.disable=true', + '-Dlsp.completions.indentation.enable=true', '-jar', launcher ]); diff --git a/atom-extensions/atom-manifest-yaml/lib/main.js b/atom-extensions/atom-manifest-yaml/lib/main.js index 14bf4d41b..8fe716580 100644 --- a/atom-extensions/atom-manifest-yaml/lib/main.js +++ b/atom-extensions/atom-manifest-yaml/lib/main.js @@ -218,7 +218,7 @@ class ManifestYamlLanguageClient extends JarLanguageClient { constructor() { super( - 'https://s3-us-west-1.amazonaws.com/s3-test.spring.io/sts4/fatjars/snapshots/manifest-yaml-language-server-0.0.9-201707192158.jar', + 'https://s3-us-west-1.amazonaws.com/s3-test.spring.io/sts4/fatjars/snapshots/manifest-yaml-language-server-0.0.9-201707201812.jar', path.join(__dirname, '..', 'server') ); diff --git a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/completion/VscodeCompletionEngineAdapter.java b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/completion/VscodeCompletionEngineAdapter.java index 71c2da1b0..bc1881baa 100644 --- a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/completion/VscodeCompletionEngineAdapter.java +++ b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/completion/VscodeCompletionEngineAdapter.java @@ -195,7 +195,11 @@ public class VscodeCompletionEngineAdapter implements VscodeCompletionEngine { edits.apply(newDoc); TextEdit vscodeEdit = new TextEdit(); vscodeEdit.setRange(doc.toRange(replaceEdit.start, replaceEdit.end-replaceEdit.start)); - vscodeEdit.setNewText(vscodeIndentFix(doc, vscodeEdit.getRange().getStart(), replaceEdit.newText)); + if (Boolean.getBoolean("lsp.completions.indentation.enable")) { + vscodeEdit.setNewText(replaceEdit.newText); + } else { + vscodeEdit.setNewText(vscodeIndentFix(doc, vscodeEdit.getRange().getStart(), replaceEdit.newText)); + } //TODO: cursor offset within newText? for now we assume its always at the end. item.setTextEdit(vscodeEdit); item.setInsertTextFormat(InsertTextFormat.Snippet);