public RawShaderNavigationResult AnalyzeAndGoToDefinition(string sourceCode, RawSourceSpan span) { var rawResult = new RawShaderNavigationResult(); var navigation = new ShaderNavigation(); var shaderDirectories = CollectShadersDirectories(null); if (span.File != null) { var dirName = Path.GetDirectoryName(span.File); if (dirName != null) { shaderDirectories.Add(dirName); } } var resultAnalysis = navigation.AnalyzeAndGoToDefinition(sourceCode, new SiliconStudio.Shaders.Ast.SourceLocation(span.File, 0, span.Line, span.Column), shaderDirectories); if (resultAnalysis.DefinitionLocation.Location.FileSource != null) { rawResult.DefinitionSpan = ConvertToRawLocation(resultAnalysis.DefinitionLocation); } foreach (var message in resultAnalysis.Messages.Messages) { rawResult.Messages.Add(ConvertToRawMessage(message)); } return(rawResult); }
public RawShaderNavigationResult AnalyzeAndGoToDefinition(string sourceCode, RawSourceSpan span) { // TODO: We need to know which package is currently selected in order to query all valid shaders if (remote != null) { return(remote.AnalyzeAndGoToDefinition(sourceCode, span)); } else { return(legacyRemote.AnalyzeAndGoToDefinition(sourceCode, span)); } }
public RawShaderNavigationResult AnalyzeAndGoToDefinition(string sourceCode, RawSourceSpan span) { return(AnalyzeAndGoToDefinition(null, sourceCode, span)); }
public RawShaderNavigationResult AnalyzeAndGoToDefinition(string projectPath, string sourceCode, RawSourceSpan span) { // TODO: We need to know which package is currently selected in order to query all valid shaders if (remote is IXenkoCommands2 remote2) { return(remote2.AnalyzeAndGoToDefinition(projectPath, sourceCode, span)); } return(remote.AnalyzeAndGoToDefinition(sourceCode, span)); }