/// <summary>
        /// Create project watch from Lua variable
        /// </summary>
        /// <param name="luaVar"></param>
        /// <returns></returns>
        public static SledLuaProjectFilesWatchType CreateFromLuaVar(ISledLuaVarBaseType luaVar)
        {
            var projectFilesWatch =
                new DomNode(SledLuaSchema.SledLuaProjectFilesWatchType.Type)
                .As <SledLuaProjectFilesWatchType>();

            var luaLanguagePlugin = SledServiceInstance.TryGet <SledLuaLanguagePlugin>();

            projectFilesWatch.Name           = luaVar.DisplayName;
            projectFilesWatch.LanguagePlugin = luaLanguagePlugin;
            projectFilesWatch.Scope          = luaVar.Scope;
            projectFilesWatch.Context        = SledLuaVarLookUpContextType.WatchProject;
            projectFilesWatch.LookUp         = SledLuaVarLookUpType.FromLuaVar(luaVar, projectFilesWatch.Context);

            return(projectFilesWatch);
        }
示例#2
0
            public ExpandedState(T variable)
            {
                Variable = variable;

                var rootNode = variable.DomNode.GetRoot();

                Root      = ReferenceEquals(variable.DomNode.Parent, rootNode);
                OwnerList = rootNode.As <SledLuaVarBaseListType <T> >();

                Context = SledLuaVarLookUpContextType.Normal;
                {
                    var luaVarWatchList = OwnerList.As <SledLuaVarWatchListType>();
                    if (luaVarWatchList != null)
                    {
                        Context = luaVarWatchList.IsCustomWatchedVariable(Variable)
                            ? SledLuaVarLookUpContextType.WatchCustom
                            : SledLuaVarLookUpContextType.WatchProject;
                    }
                }

                LookUp = SledLuaVarLookUpType.FromLuaVar(variable, Context);

                Children = new List <ExpandedState>();
            }