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)); }
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())); }
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); } }
public void Execute(Responses.IResponseWriter writer, string[] arguments) { var cmd = CommandMessage.New(arguments); _client.Request(cmd.ToString()); }