diff --git a/headless-services/manifest-yaml-language-server/.classpath b/headless-services/manifest-yaml-language-server/.classpath new file mode 100644 index 000000000..fae1a2b37 --- /dev/null +++ b/headless-services/manifest-yaml-language-server/.classpath @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/headless-services/manifest-yaml-language-server/.project b/headless-services/manifest-yaml-language-server/.project new file mode 100644 index 000000000..b5ac89ded --- /dev/null +++ b/headless-services/manifest-yaml-language-server/.project @@ -0,0 +1,29 @@ + + + manifest-yaml-language-server + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + org.springframework.ide.eclipse.core.springbuilder + + + + + + org.springframework.ide.eclipse.core.springnature + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + diff --git a/headless-services/manifest-yaml-language-server/.settings/org.eclipse.core.resources.prefs b/headless-services/manifest-yaml-language-server/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 000000000..29abf9995 --- /dev/null +++ b/headless-services/manifest-yaml-language-server/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,6 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/main/resources=UTF-8 +encoding//src/test/java=UTF-8 +encoding//src/test/resources=UTF-8 +encoding/=UTF-8 diff --git a/headless-services/manifest-yaml-language-server/.settings/org.eclipse.jdt.core.prefs b/headless-services/manifest-yaml-language-server/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..714351aec --- /dev/null +++ b/headless-services/manifest-yaml-language-server/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/headless-services/manifest-yaml-language-server/.settings/org.eclipse.m2e.core.prefs b/headless-services/manifest-yaml-language-server/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 000000000..f897a7f1c --- /dev/null +++ b/headless-services/manifest-yaml-language-server/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/headless-services/manifest-yaml-language-server/src/main/java/org/springframework/ide/vscode/manifest/yaml/ManifestYamlLanguageServer.java b/headless-services/manifest-yaml-language-server/src/main/java/org/springframework/ide/vscode/manifest/yaml/ManifestYamlLanguageServer.java index bce95e518..35f89328e 100644 --- a/headless-services/manifest-yaml-language-server/src/main/java/org/springframework/ide/vscode/manifest/yaml/ManifestYamlLanguageServer.java +++ b/headless-services/manifest-yaml-language-server/src/main/java/org/springframework/ide/vscode/manifest/yaml/ManifestYamlLanguageServer.java @@ -37,6 +37,7 @@ import org.springframework.ide.vscode.commons.yaml.completion.SchemaBasedYamlAss import org.springframework.ide.vscode.commons.yaml.completion.YamlAssistContextProvider; import org.springframework.ide.vscode.commons.yaml.completion.YamlCompletionEngine; import org.springframework.ide.vscode.commons.yaml.hover.YamlHoverInfoProvider; +import org.springframework.ide.vscode.commons.yaml.reconcile.YamlQuickfixes; import org.springframework.ide.vscode.commons.yaml.reconcile.YamlSchemaBasedReconcileEngine; import org.springframework.ide.vscode.commons.yaml.schema.YValueHint; import org.springframework.ide.vscode.commons.yaml.schema.YamlSchema; @@ -71,7 +72,8 @@ public class ManifestYamlLanguageServer extends SimpleLanguageServer { VscodeCompletionEngine completionEngine = new VscodeCompletionEngineAdapter(this, yamlCompletionEngine); HoverInfoProvider infoProvider = new YamlHoverInfoProvider(parser, structureProvider, contextProvider); VscodeHoverEngine hoverEngine = new VscodeHoverEngineAdapter(this, infoProvider); - IReconcileEngine engine = new YamlSchemaBasedReconcileEngine(parser, schema); + YamlQuickfixes quickfixes = new YamlQuickfixes(getQuickfixRegistry(), getTextDocumentService(), structureProvider); + IReconcileEngine engine = new YamlSchemaBasedReconcileEngine(parser, schema, quickfixes); // SimpleWorkspaceService workspace = getWorkspaceService(); documents.onDidChangeContent(params -> { @@ -99,19 +101,19 @@ public class ManifestYamlLanguageServer extends SimpleLanguageServer { Callable> buildPacksProvider = getBuildpacksProvider(); Callable> servicesProvider = getServicesProvider(); Callable> domainsProvider = getDomainsProvider(); - + return new ManifestYmlHintProviders() { - + @Override public Callable> getServicesProvider() { return servicesProvider; } - + @Override public Callable> getDomainsProvider() { return domainsProvider; } - + @Override public Callable> getBuildpackProviders() { return buildPacksProvider; @@ -135,7 +137,7 @@ public class ManifestYamlLanguageServer extends SimpleLanguageServer { private Callable> getServicesProvider() { return new ManifestYamlCFServicesProvider(getCfTargetCache()); } - + private Callable> getDomainsProvider() { return new ManifestYamlCFDomainsProvider(getCfTargetCache()); }