示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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));
        }