Пример #1
0
        private EditorSession CreateDebugSession(
            HostDetails hostDetails,
            ProfilePaths profilePaths,
            IMessageSender messageSender,
            IMessageHandlers messageHandlers,
            IEditorOperations editorOperations,
            bool enableConsoleRepl)
        {
            EditorSession     editorSession     = new EditorSession(this.logger);
            PowerShellContext powerShellContext = new PowerShellContext(this.logger);

            EditorServicesPSHostUserInterface hostUserInterface =
                enableConsoleRepl
                    ? (EditorServicesPSHostUserInterface) new TerminalPSHostUserInterface(powerShellContext, this.logger)
                    : new ProtocolPSHostUserInterface(powerShellContext, messageSender, this.logger);

            EditorServicesPSHost psHost =
                new EditorServicesPSHost(
                    powerShellContext,
                    hostDetails,
                    hostUserInterface,
                    this.logger);

            Runspace initialRunspace = PowerShellContext.CreateRunspace(psHost);

            powerShellContext.Initialize(profilePaths, initialRunspace, true, hostUserInterface);

            editorSession.StartDebugSession(
                powerShellContext,
                hostUserInterface,
                editorOperations);

            return(editorSession);
        }
        public DocumentSymbolFeature(
            EditorSession editorSession,
            IMessageHandlers messageHandlers,
            ILogger logger)
            : base(logger)
        {
            this.editorSession = editorSession;

            messageHandlers.SetRequestHandler(
                DocumentSymbolRequest.Type,
                this.HandleDocumentSymbolRequest);
        }
 public DebugAdapter(
     EditorSession editorSession,
     bool ownsEditorSession,
     IMessageHandlers messageHandlers,
     IMessageSender messageSender,
     ILogger logger)
 {
     Logger             = logger;
     _editorSession     = editorSession;
     _messageSender     = messageSender;
     _messageHandlers   = messageHandlers;
     _ownsEditorSession = ownsEditorSession;
 }
 public DebugAdapter(
     EditorSession editorSession,
     bool ownsEditorSession,
     IMessageHandlers messageHandlers,
     IMessageSender messageSender,
     ILogger logger)
 {
     this.Logger            = logger;
     this.editorSession     = editorSession;
     this.messageSender     = messageSender;
     this.messageHandlers   = messageHandlers;
     this.ownsEditorSession = ownsEditorSession;
 }
Пример #5
0
        /// <summary>
        /// Creates a new instance of the ConsoleServicePSHostUserInterface
        /// class with the given IConsoleHost implementation.
        /// </summary>
        /// <param name="powerShellContext"></param>
        public ProtocolPSHostUserInterface(
            PowerShellContext powerShellContext,
            IMessageSender messageSender,
            IMessageHandlers messageHandlers,
            ILogger logger)
            : base(powerShellContext, new SimplePSHostRawUserInterface(logger), logger)
        {
            this.messageSender   = messageSender;
            this.outputDebouncer = new OutputDebouncer(messageSender);

            messageHandlers.SetRequestHandler(
                EvaluateRequest.Type,
                this.HandleEvaluateRequest);
        }
Пример #6
0
        public CodeLensFeature(
            EditorSession editorSession,
            IMessageHandlers messageHandlers,
            ILogger logger)
            : base(logger)
        {
            this.editorSession = editorSession;

            messageHandlers.SetRequestHandler(
                CodeLensRequest.Type,
                this.HandleCodeLensRequest);

            messageHandlers.SetRequestHandler(
                CodeLensResolveRequest.Type,
                this.HandleCodeLensResolveRequest);
        }
Пример #7
0
        public void Connect(int port, IConnectHandlers handler, IMessageHandlers messageHandler, bool startPaused, string watchToken)
        {
            _watchToken = watchToken;
            MMConfiguration.Reload(_watchToken);
            _connectHandler = handler;
            _messageHandler = messageHandler;
            _messageHandler.Consume(MMConfiguration);
            _client = new NetClient(this);
            _port   = port;
            _client = new NetClient(this);
            _client.MessageReceived += new EventHandler <MessageReceivedEventArgs>(_client_MessageReceived);
            _connectHandler.Connecting(port, startPaused);
            var thread = new Thread(connect);

            thread.Start();
        }
Пример #8
0
        private EditorSession CreateSession(
            HostDetails hostDetails,
            ProfilePaths profilePaths,
            IMessageSender messageSender,
            IMessageHandlers messageHandlers,
            bool enableConsoleRepl)
        {
            EditorSession     editorSession     = new EditorSession(this.logger);
            PowerShellContext powerShellContext = new PowerShellContext(this.logger);

            EditorServicesPSHostUserInterface hostUserInterface =
                enableConsoleRepl
                    ? (EditorServicesPSHostUserInterface) new TerminalPSHostUserInterface(powerShellContext, this.logger)
                    : new ProtocolPSHostUserInterface(powerShellContext, messageSender, this.logger);

            EditorServicesPSHost psHost =
                new EditorServicesPSHost(
                    powerShellContext,
                    hostDetails,
                    hostUserInterface,
                    this.logger);

            Runspace initialRunspace = PowerShellContext.CreateRunspace(psHost);

            powerShellContext.Initialize(profilePaths, initialRunspace, true, hostUserInterface);

            editorSession.StartSession(powerShellContext, hostUserInterface);

            // TODO: Move component registrations elsewhere!
            editorSession.Components.Register(this.logger);
            editorSession.Components.Register(messageHandlers);
            editorSession.Components.Register(messageSender);
            editorSession.Components.Register(powerShellContext);

            CodeLensFeature.Create(editorSession.Components, editorSession);
            DocumentSymbolFeature.Create(editorSession.Components, editorSession);

            return(editorSession);
        }
Пример #9
0
 public OutputReader(IMessageHandlers messageHandlers)
 {
     messageHandlers.SetEventHandler(
         OutputEvent.Type,
         this.OnOutputEvent);
 }
Пример #10
0
 public BotController(IMessageHandlers messageHandlers)
 {
     _messageHandlers = messageHandlers;
 }