From d74bf3bc28b7c9b3beec85fa83c973b5b870638d Mon Sep 17 00:00:00 2001 From: Kris De Volder Date: Wed, 7 Mar 2018 11:52:01 -0800 Subject: [PATCH] Concourse: Add document symbol support for Groups --- .../ide/vscode/concourse/PipelineYmlSchema.java | 8 ++++++-- .../ide/vscode/concourse/ConcourseEditorTest.java | 11 ++++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/headless-services/concourse-language-server/src/main/java/org/springframework/ide/vscode/concourse/PipelineYmlSchema.java b/headless-services/concourse-language-server/src/main/java/org/springframework/ide/vscode/concourse/PipelineYmlSchema.java index 29aa9e026..3fda51e44 100644 --- a/headless-services/concourse-language-server/src/main/java/org/springframework/ide/vscode/concourse/PipelineYmlSchema.java +++ b/headless-services/concourse-language-server/src/main/java/org/springframework/ide/vscode/concourse/PipelineYmlSchema.java @@ -401,8 +401,11 @@ public class PipelineYmlSchema implements YamlSchema { addProp(resourceType, "source", resourceSource); addProp(resourceType, "privileged", t_boolean); + YType t_group_name_def= f.yatomic("Group Name") + .parseWith(ValueParsers.NE_STRING); + AbstractType group = f.ybean("Group"); - addProp(group, "name", t_ne_string).isPrimary(true); + addProp(group, "name", t_group_name_def).isPrimary(true); addProp(group, "resources", f.yseq(t_resource_name)); addProp(group, "jobs", f.yseq(t_job_name)); @@ -414,7 +417,8 @@ public class PipelineYmlSchema implements YamlSchema { definitionTypes = ImmutableList.of( jobNameDef, resourceTypeNameDef, - t_resource_name_def + t_resource_name_def, + t_group_name_def ); initializeDefaultResourceTypes(); diff --git a/headless-services/concourse-language-server/src/test/java/org/springframework/ide/vscode/concourse/ConcourseEditorTest.java b/headless-services/concourse-language-server/src/test/java/org/springframework/ide/vscode/concourse/ConcourseEditorTest.java index 0e30f3b89..b27444084 100644 --- a/headless-services/concourse-language-server/src/test/java/org/springframework/ide/vscode/concourse/ConcourseEditorTest.java +++ b/headless-services/concourse-language-server/src/test/java/org/springframework/ide/vscode/concourse/ConcourseEditorTest.java @@ -3458,15 +3458,20 @@ public class ConcourseEditorTest { "- name: bar-resource\n" + "jobs:\n" + "- name: do-some-stuff\n" + - "- name: do-more-stuff\n" + "- name: do-more-stuff\n" + + "groups:\n" + + "- name: group-one\n" + + "- name: group-two\n" ); - editor.assertDocumentSymbols( + editor.assertDocumentSymbols( "some-resource-type|ResourceType", "foo-resource|Resource", "bar-resource|Resource", "do-some-stuff|Job", - "do-more-stuff|Job" + "do-more-stuff|Job", + "group-one|Group", + "group-two|Group" ); }