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); } }
public static TKernel UseVSCodeCommands <TKernel>(this TKernel kernel) where TKernel : Kernel { kernel.RegisterCommandType <GetInput>(); KernelCommandEnvelope.RegisterCommand <GetInput>(); KernelEventEnvelope.RegisterEvent <InputProduced>(); return(kernel); }
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>(); }