Exemple #1
0
        private static void messageHandler(MessageArgs message, ITypeCache cache, Editor editor)
        {
            var msg = CommandMessage.New(message.Message);

            _handlers
            .Where(x => x.Handles(msg)).ToList()
            .ForEach(x => x.Handle(message.ClientID, msg));
        }
Exemple #2
0
        void handle(string commandMessage)
        {
            var msg         = CommandMessage.New(commandMessage);
            var command     = new CommandStringParser().GetArgumentString(msg.Arguments.ToArray());
            var fullCommand = msg.Command + " " + command;

            handle(new MessageArgs(Guid.Empty, fullCommand.Trim()));
        }
Exemple #3
0
        public static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                return;
            }

            if (args[0] == "initialize")
            {
                var writer = new ConsoleResponseWriter();
                _keyPath    = args[1];
                _cache      = new OutputWriter(new NullResponseWriter());
                _dispatcher = new Dispatcher();
                configureHandlers(_dispatcher);

                writer.Write("initialized");
                while (args[0] == "initialize")
                {
                    var msg = CommandMessage.New(Console.ReadLine());
                    if (msg.Command == "shutdown")
                    {
                        writer.Write("end-of-conversation");
                        break;
                    }
                    handleMessage(msg, writer, false);
                    writer.Write("end-of-conversation");
                }
            }
            else
            {
                _keyPath    = Environment.CurrentDirectory;
                _cache      = new OutputWriter(new NullResponseWriter());
                _dispatcher = new Dispatcher();
                configureHandlers(_dispatcher);

                var msg = new CommandMessage(args[0], null, getParameters(args));
                handleMessage(msg, new ConsoleResponseWriter(), false);
            }
        }
Exemple #4
0
        public void Execute(Responses.IResponseWriter writer, string[] arguments)
        {
            var cmd = CommandMessage.New(arguments);

            _client.Request(cmd.ToString());
        }