System property not to remove indentation from completions edits

This commit is contained in:
BoykoAlex
2017-07-20 16:04:18 -04:00
parent 9c43c54acf
commit 6e8f7cb264
3 changed files with 9 additions and 2 deletions

View File

@@ -63,6 +63,9 @@ export class JarLanguageClient extends AutoLanguageClient {
doLaunchProcess(javaExecutable, launcher, port, args=[]) { doLaunchProcess(javaExecutable, launcher, port, args=[]) {
let vmArgs = args.concat([ let vmArgs = args.concat([
`-Dserver.port=${port}`, `-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', '-jar',
launcher launcher
]); ]);

View File

@@ -218,7 +218,7 @@ class ManifestYamlLanguageClient extends JarLanguageClient {
constructor() { constructor() {
super( 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') path.join(__dirname, '..', 'server')
); );

View File

@@ -195,7 +195,11 @@ public class VscodeCompletionEngineAdapter implements VscodeCompletionEngine {
edits.apply(newDoc); edits.apply(newDoc);
TextEdit vscodeEdit = new TextEdit(); TextEdit vscodeEdit = new TextEdit();
vscodeEdit.setRange(doc.toRange(replaceEdit.start, replaceEdit.end-replaceEdit.start)); 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. //TODO: cursor offset within newText? for now we assume its always at the end.
item.setTextEdit(vscodeEdit); item.setTextEdit(vscodeEdit);
item.setInsertTextFormat(InsertTextFormat.Snippet); item.setInsertTextFormat(InsertTextFormat.Snippet);