Source GoToDefinitionUno(GotoDefinitionData gotoDefinitionData) { if (gotoDefinitionData.Compiler == null) { return(null); } var sourceEntity = GoToDefinition.TryGetSourceObject( gotoDefinitionData.Compiler, new Source(gotoDefinitionData.MainPackage, gotoDefinitionData.FilePath.NativePath), new CodeReader(gotoDefinitionData.SrcCode, gotoDefinitionData.CaretOffset), Parser.Parse(gotoDefinitionData.SrcCode)); return(sourceEntity == null ? null : sourceEntity.Source); }
void TextViewMouseDown(object sender, MouseButtonEventArgs e) { // close existing debugger popup immediately on text editor mouse down TryCloseExistingPopup(false); ctrlClickExecuted = false; if (options.CtrlClickGoToDefinition && e.ChangedButton == MouseButton.Left && Keyboard.Modifiers == ModifierKeys.Control) { // Ctrl+Click Go to definition var position = GetPositionFromPoint(e.GetPosition(this)); if (position == null) { return; } SD.AnalyticsMonitor.TrackFeature(typeof(GoToDefinition).FullName, "Ctrl+Click"); var resolveResult = SD.ParserService.Resolve(Adapter, position.Value.Location); var goToDefinitionCommand = new GoToDefinition(); goToDefinitionCommand.Run(resolveResult); e.Handled = true; ctrlClickExecuted = true; } }