From 281feebe1f08c9cf6ba08e637122dc3d67051972 Mon Sep 17 00:00:00 2001 From: Kris De Volder Date: Wed, 25 Jan 2017 14:59:36 -0800 Subject: [PATCH] Goto Definition for resource_types --- .../concourse/ConcourseDefinitionFinder.java | 10 +++++----- .../vscode/concourse/ConcourseValueParsers.java | 6 ------ .../ide/vscode/concourse/PipelineYmlSchema.java | 4 ++-- .../vscode/concourse/PipelineYamlEditorTest.java | 15 +++++++++++++++ 4 files changed, 22 insertions(+), 13 deletions(-) diff --git a/vscode-extensions/vscode-concourse/src/main/java/org/springframework/ide/vscode/concourse/ConcourseDefinitionFinder.java b/vscode-extensions/vscode-concourse/src/main/java/org/springframework/ide/vscode/concourse/ConcourseDefinitionFinder.java index a1183d939..5fd600986 100644 --- a/vscode-extensions/vscode-concourse/src/main/java/org/springframework/ide/vscode/concourse/ConcourseDefinitionFinder.java +++ b/vscode-extensions/vscode-concourse/src/main/java/org/springframework/ide/vscode/concourse/ConcourseDefinitionFinder.java @@ -19,7 +19,6 @@ import org.eclipse.lsp4j.TextDocumentPositionParams; import org.springframework.ide.vscode.commons.languageserver.definition.SimpleDefinitionFinder; import org.springframework.ide.vscode.commons.util.BadLocationException; import org.springframework.ide.vscode.commons.util.Log; -import org.springframework.ide.vscode.commons.util.text.IDocument; import org.springframework.ide.vscode.commons.util.text.TextDocument; import org.springframework.ide.vscode.commons.yaml.ast.NodeUtil; import org.springframework.ide.vscode.commons.yaml.ast.YamlFileAST; @@ -38,7 +37,7 @@ public class ConcourseDefinitionFinder extends SimpleDefinitionFinder findersByType = new HashMap<>(); + private Map handlers = new HashMap<>(); public ConcourseDefinitionFinder(ConcourseLanguageServer server, ConcourseModel models, PipelineYmlSchema schema) { super(server); @@ -46,6 +45,7 @@ public class ConcourseDefinitionFinder extends SimpleDefinitionFinder { return "The '"+parseString+"' Resource Type does not exist. Existing types: "+validValues; }, diff --git a/vscode-extensions/vscode-concourse/src/test/java/org/springframework/ide/vscode/concourse/PipelineYamlEditorTest.java b/vscode-extensions/vscode-concourse/src/test/java/org/springframework/ide/vscode/concourse/PipelineYamlEditorTest.java index 3de318f51..1da94ba6e 100644 --- a/vscode-extensions/vscode-concourse/src/test/java/org/springframework/ide/vscode/concourse/PipelineYamlEditorTest.java +++ b/vscode-extensions/vscode-concourse/src/test/java/org/springframework/ide/vscode/concourse/PipelineYamlEditorTest.java @@ -1338,6 +1338,21 @@ public class PipelineYamlEditorTest { ); } + @Test + public void gotoResourceTypeDefinition() throws Exception { + Editor editor = harness.newEditor( + "resource_types:\n" + + "- name: slack-notification\n" + + " type: docker_image\n" + + "resources:\n" + + "- name: zazazee\n" + + " type: slack-notification\n" + ); + editor.assertGotoDefinition(editor.positionOf("type: slack-notification", "slack-notification"), + editor.rangeOf("- name: slack-notification", "slack-notification") + ); + } + @Test public void reconcileResourceTypeNames() throws Exception { String userDefinedResourceTypesSnippet = "resource_types:\n" +