public override bool QueryCompletion(int offset, List <ALanguageCompletionInfo> list) { ABnfLangFile file = m_element.GetFile() as ABnfLangFile; var value = m_element.GetElementText(); foreach (var name in file.GetRuleSet().Keys) { if (name.StartsWith(value)) { list.Add(new ALanguageCompletionInfo(name, null)); } } return(true); }
public override ABnfElement GotoDefinition() { ABnfLangFile file = m_element.GetFile() as ABnfLangFile; HashSet <ABnfElement> rule; if (!file.GetRuleSet().TryGetValue(m_element.GetElementText(), out rule)) { return(null); } foreach (ABnfElement e in rule) { return(e); } return(null); }
public override string QueryQuickInfo() { ABnfLangFile file = m_element.GetFile() as ABnfLangFile; HashSet <ABnfElement> rule_set; file.GetRuleSet().TryGetValue(m_element.GetElementText(), out rule_set); if (rule_set == null) { return(null); } List <string> content_list = new List <string>(); foreach (var rule in rule_set) { content_list.Add(rule.GetElementText()); } return(string.Join("\n", content_list)); }