private static void startEngineNoX(CommandEndpoint endpoint) { Logger.Write("Application initialized"); var shutdown = false; var editorHasExisted = false; endpoint.AddHandler((message, cache, editor) => { if (message.Message == "shutdown") { shutdown = true; } }); endpoint.Start(); while (!shutdown) { var isAlive = endpoint.IsAlive; if (isAlive) { editorHasExisted = true; } if (editorHasExisted && !isAlive) { break; } Thread.Sleep(100); } Logger.Write("Shutting down"); }
public TrayForm(CommandEndpoint endpoint, string defaultLanguage, ICacheBuilder builder) { _endpoint = endpoint; _cacheBuilder = builder; _ctx = SynchronizationContext.Current; _defaultLanguage = defaultLanguage; setupForm(); new Thread(startEngine).Start(); setupTray(); }
private static void startEngine(CommandEndpoint endpoint) { Logger.Write("Application initialized"); endpoint.Start(); while (endpoint.IsAlive) { Thread.Sleep(100); } Logger.Write("Shutting down"); }
public CompleteSnippetHandler(ICacheBuilder cache, string keyPath, CommandEndpoint endpoint) { _cache = cache; _keyPath = keyPath; _endpoint = endpoint; _dispatch = (msg) => { Logger.Write("dispatching " + msg); _endpoint.Handle(msg); }; _editor = new EngineLocator(new FS()).GetInstance(_keyPath); }
private static bool runForm(CommandEndpoint endpoint, string defaultLanguage) { try { var form = new TrayForm( endpoint, defaultLanguage, Bootstrapper.GetCacheBuilder()); Application.Run(form); return(true); } catch { return(false); } }
public GetTokenPathHandler(CommandEndpoint endpoint) { _endpoint = endpoint; }
public GetProjectsHandler(CommandEndpoint endpoint, ITypeCache cache) { _endpoint = endpoint; _cache = cache; }
public GoToDefinitionHandler(CommandEndpoint endpoint, TypeCache cache, PluginLocator locator) { _endpoint = endpoint; _cache = cache; _pluginLocator = locator; }
public SnippetEditHandler(CommandEndpoint endpoint, ICacheBuilder cache, string keyPath) { _endpoint = endpoint; _cache = cache; _keyPath = keyPath; }
public static CommandEndpoint GetEndpoint(string path, string[] enabledLanguages) { _path = path; var reader = new ConfigReader(_path); _interpreters = new Interpreters(_path); ProcessExtensions.GetInterpreter = (file) => { var interpreters = _interpreters .GetInterpreterFor(Path.GetExtension(file)); return(interpreters); }; _cache = new TypeCache(); _outputEndpoint = new OutputEndpoint(_path); Logger.Write("Event endpoint serving on port: {0}", _outputEndpoint.Port); var responseDispatcher = new ResponseDispatcher( _path, false, "language-output ", (p, m) => _outputEndpoint.Send(p, m), (m) => _endpoint.Handle(m), (m) => {} ); responseDispatcher.OnlyCommands(); _pluginLocator = new PluginLocator( enabledLanguages, new ProfileLocator(_path), (msg) => { responseDispatcher.Handle(false, msg); } ); initPlugins(_pluginLocator); _eventEndpoint = new EventEndpoint(_path, _pluginLocator, _outputEndpoint); _eventEndpoint.Start(); Logger.Write("Event endpoint listening on port: {0}", _eventEndpoint.Port); Logger.Write("Creating plugin file tracker"); _tracker = new PluginFileTracker(); Logger.Write("Starting plugin file tracker"); var ignoreDirSetting = reader.Get("oi.ignore.directories"); var ignoreDirectories = new string[] {}; if (ignoreDirSetting != null) { ignoreDirectories = ignoreDirSetting .Split(new[] { ',' }) .Select(x => { if (Path.IsPathRooted(x)) { return(x); } return(Path.Combine(_path, x)); }) .ToArray(); } _tracker.Start( _path, _cache, _cache, _pluginLocator, _eventEndpoint, ignoreDirectories); Logger.Write("Plugin file tracker started"); _endpoint = new CommandEndpoint(_path, _cache, _eventEndpoint); _endpoint.AddHandler(messageHandler); _handlers.AddRange(new IHandler[] { new GetProjectsHandler(_endpoint, _cache), new GetFilesHandler(_endpoint, _cache), new GetCodeRefsHandler(_endpoint, _cache), new GetSignatureRefsHandler(_endpoint, _cache), new GoToDefinitionHandler(_endpoint, _cache, _pluginLocator), new FindTypeHandler(_endpoint, _cache), new SnippetEditHandler(_endpoint, _cache, _path), new SnippetDeleteHandler(_cache, _path), new GetRScriptStateHandler(_endpoint, _eventEndpoint), new CompleteSnippetHandler(_cache, _path, _endpoint), new WriteOutputHandler(_eventEndpoint), // Make sure this handler is the last one since the command can be file extension or language name new LanguageCommandHandler(_endpoint, _cache, _pluginLocator) }); Logger.Write("Command endpoint started"); return(_endpoint); }
public GetSignatureRefsHandler(CommandEndpoint endpoint, ITypeCache cache) { _endpoint = endpoint; _cache = cache; }
public FindTypeHandler(CommandEndpoint endpoint, ITypeCache cache) { _endpoint = endpoint; _cache = cache; }
public GetRScriptStateHandler(CommandEndpoint endpoint, EventEndpoint eventEndpoint) { _endpoint = endpoint; _eventEndpoint = eventEndpoint; }
public LanguageCommandHandler(CommandEndpoint endpoint, ICacheBuilder cache, PluginLocator pluginLocator) { _endpoint = endpoint; _cache = cache; _pluginLocator = pluginLocator; }