public ImportedNameSpace(string mainname, string shortname)
        {
            this.mainname  = mainname;
            this.shortname = shortname;

            //if (string.IsNullOrEmpty(shortname))
            //{
            //    return;
            //}

            preCompletion = new ImportFileItem(CompletionWordType.nameSpace, shortname);
        }
Example #2
0
        public override void GetCompletionList(IList <ICompletionData> data, bool IsNameSpaceOpen = false)
        {
            string scope = maincontainer.currentScope;

            //TODO:분석된 토큰으로 자동완성을 만든다.
            if (IsNameSpaceOpen)
            {
                //네임스페이스를 찾아보고 없으면 기존 사용
                if (false)
                {
                    return;
                }

                TOKEN ctkn = GetToken(0);
                if (ctkn == null)
                {
                    return;
                }

                List <TOKEN> t = tokenAnalyzer.GetTokenListFromTarget(ctkn, true);
                //imported1.var1;
                //imported1.const1.object1;

                //const1.object1;
                //maincontainer.vars[0].

                foreach (var item in t)
                {
                    PreCompletionData preCompletionData = new ImportFileItem(CompletionWordType.nameSpace, item.Value);
                    data.Add(new CodeCompletionData(preCompletionData));
                }

                return;
            }



            foreach (var item in maincontainer.importedNameSpace)
            {
                if (string.IsNullOrEmpty(item.shortname))
                {
                    continue;
                }
                data.Add(new CodeCompletionData(item.preCompletion));
            }



            foreach (var item in maincontainer.funcs.FindAll(x => scope.Contains(x.scope)))
            {
                data.Add(new CodeCompletionData(item.preCompletion));
            }

            foreach (var item in maincontainer.vars.FindAll(x => scope.Contains(x.scope)))
            {
                data.Add(new CodeCompletionData(item.preCompletion));
            }



            base.GetCompletionList(data);
        }