public ProjectHandler(NodeProviderBroker broker, IVsHierarchy hier, string project_directory) { this.broker = broker; template_loader = new TemplateLoader(project_directory); type_resolver = new TypeResolver(hier); TemplateDirectory = new TemplateDirectory(project_directory); parser = new TemplateManagerProvider() .WithTags(type_resolver.Tags) .WithFilters(type_resolver.Filters) .WithSetting(NDjango.Constants.EXCEPTION_IF_ERROR, false) .WithLoader(template_loader) .GetNewManager(); }
public void Update() { uint pitemid; IVsMultiItemSelect ppMIS; IntPtr ppHier,ppSC; object directory = ""; if (ErrorHandler.Succeeded(SelectionService.GetCurrentSelection(out ppHier, out pitemid, out ppMIS, out ppSC))) { try { hierarchy = (IVsHierarchy)Marshal.GetObjectForIUnknown(ppHier); hierarchy.GetProperty(VSConstants.VSITEMID_ROOT, (int)__VSHPROPID.VSHPROPID_ProjectDir, out directory); projectDir = directory.ToString(); } finally { Marshal.Release(ppHier); } } if (parser == null) parser = InitializeParser(); if (templatesDir == null) { templatesDir = new TemplateDirectory(); templatesDir.selectionTracker = SelectionService; } }