示例#1
0
        public static void RegisterEventsAndCommands()
        {
            // register commands and event with serialization

            var commandTypes = typeof(CSharpProjectKernel).Assembly.ExportedTypes
                               .Where(t => !t.IsAbstract && !t.IsInterface)
                               .Where(t => typeof(KernelCommand).IsAssignableFrom(t))
                               .OrderBy(t => t.Name)
                               .ToList();
            var eventTypes = typeof(CSharpProjectKernel).Assembly.ExportedTypes
                             .Where(t => !t.IsAbstract && !t.IsInterface)
                             .Where(t => typeof(KernelEvent).IsAssignableFrom(t))
                             .OrderBy(t => t.Name)
                             .ToList();

            foreach (var commandType in commandTypes)
            {
                KernelCommandEnvelope.RegisterCommand(commandType);
            }

            foreach (var eventType in eventTypes)
            {
                KernelEventEnvelope.RegisterEvent(eventType);
            }
        }
示例#2
0
 public static TKernel UseVSCodeCommands <TKernel>(this TKernel kernel) where TKernel : Kernel
 {
     kernel.RegisterCommandType <GetInput>();
     KernelCommandEnvelope.RegisterCommand <GetInput>();
     KernelEventEnvelope.RegisterEvent <InputProduced>();
     return(kernel);
 }
示例#3
0
        public static Task UseVSCodeHelpersAsync <TKernel>(this TKernel kernel, Kernel rootKernel) where TKernel : DotNetKernel
        {
            rootKernel.RegisterCommandType <GetInput>();
            KernelEventEnvelope.RegisterEvent <InputProduced>();

            var interactiveHost = new VSCodeInteractiveHost(rootKernel);

            return(kernel.SetVariableAsync("InteractiveHost", interactiveHost, typeof(IInteractiveHost)));
        }
    static CSharpProjectKernel()
    {
        // register commands and event with serialization
        KernelCommandEnvelope.RegisterCommand <OpenProject>();
        KernelCommandEnvelope.RegisterCommand <OpenDocument>();
        KernelCommandEnvelope.RegisterCommand <CompileProject>();

        KernelEventEnvelope.RegisterEvent <DocumentOpened>();
        KernelEventEnvelope.RegisterEvent <AssemblyProduced>();
    }
        public SerializationTests(ITestOutputHelper output)
        {
            _output = output;

            KernelCommandEnvelope.RegisterCommand <OpenProject>();
            KernelCommandEnvelope.RegisterCommand <OpenDocument>();
            KernelCommandEnvelope.RegisterCommand <CompileProject>();
            KernelEventEnvelope.RegisterEvent <DocumentOpened>();
            KernelEventEnvelope.RegisterEvent <AssemblyProduced>();

            KernelCommandEnvelope.RegisterCommand <GetInput>();
            KernelEventEnvelope.RegisterEvent <InputProduced>();
        }