From 5681f99357c30e87fe128e22f82673158f1e0191 Mon Sep 17 00:00:00 2001 From: Kris De Volder Date: Wed, 19 Jul 2017 15:51:21 -0700 Subject: [PATCH] Goto definition for stemcell --- .../bosh/BoshDeploymentManifestSchema.java | 4 ++-- .../ide/vscode/bosh/BoshEditorTest.java | 24 +++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/BoshDeploymentManifestSchema.java b/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/BoshDeploymentManifestSchema.java index 4bd9a603f..560967604 100644 --- a/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/BoshDeploymentManifestSchema.java +++ b/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/BoshDeploymentManifestSchema.java @@ -76,11 +76,11 @@ public class BoshDeploymentManifestSchema implements YamlSchema { public final YType t_uuid = f.yatomic("UUID").parseWith(UUID::fromString); public final YType t_integer_or_range = f.yatomic("Integer or Range") .parseWith(BoshValueParsers.INTEGER_OR_RANGE); - private YType t_instance_group_name_def; private YType t_stemcell_alias_def; private YType t_stemcell_alias_ref; private YType t_release_name_def; private YType t_release_name_ref; + private YType t_instance_group_name_def; private YType t_var_name_def; private final ASTTypeCache astTypes; private DynamicModelProvider cloudConfigProvider; @@ -300,7 +300,7 @@ public class BoshDeploymentManifestSchema implements YamlSchema { if (defAndRefTypes==null) { defAndRefTypes = ImmutableList.of( Pair.of(t_instance_group_name_def, null), - Pair.of(t_stemcell_alias_def, null), + Pair.of(t_stemcell_alias_def, t_stemcell_alias_ref), Pair.of(t_release_name_def, t_release_name_ref), Pair.of(t_var_name_def, null) ); diff --git a/headless-services/bosh-language-server/src/test/java/org/springframework/ide/vscode/bosh/BoshEditorTest.java b/headless-services/bosh-language-server/src/test/java/org/springframework/ide/vscode/bosh/BoshEditorTest.java index 00676332b..40f67f88a 100644 --- a/headless-services/bosh-language-server/src/test/java/org/springframework/ide/vscode/bosh/BoshEditorTest.java +++ b/headless-services/bosh-language-server/src/test/java/org/springframework/ide/vscode/bosh/BoshEditorTest.java @@ -948,5 +948,29 @@ public class BoshEditorTest { ); } + @Test public void gotoStemcellDefinition() throws Exception { + Editor editor = harness.newEditor( + "name: foo\n" + + "instance_groups: \n" + + "- name: some-server\n" + + " stemcell: default\n" + + "- name: windoze-server\n" + + " stemcell: windoze\n" + + "- name: bad-server\n" + + " stemcell: bogus-stemcell\n" + + "stemcells:\n" + + "- alias: default\n" + + " os: ubuntu\n" + + " version: 1346.77.1\n" + + "- alias: windoze\n" + + " os: windows\n" + + " version: 678.9.1\n" + ); + + editor.assertGotoDefinition( + editor.positionOf("stemcell: windoze", "windoze"), + editor.rangeOf("- alias: windoze", "windoze") + ); + } }