public void Handle(Guid clientID, CommandMessage message) { if (message.Arguments.Count != 1) return; var position = new OpenIDE.Core.CommandBuilding.FilePosition(message.Arguments[0]); var extension = Path.GetExtension(position.Fullpath); var language = new PluginFinder(_cache).FindLanguage(extension); if (language == null) return; var plugin = _pluginLocator.Locate() .FirstOrDefault(x => x.GetLanguage() == language); if (plugin == null) return; var signature = plugin.SignatureFromPosition(position); if (signature == null) return; var codeRef = _cache.AllSignatures() .FirstOrDefault(x => x.Signature == signature.Signature && x.File == signature.File); if (codeRef == null) return; _endpoint.Editor.Send( string.Format("goto \"{0}|{1}|{2}\"", codeRef.File, codeRef.Line, codeRef.Column)); }
private Query getQuery(CommandMessage message) { var query = ""; if (message.Arguments.Count > 0) query = message.Arguments[0]; var queryArgs = new QueryArgumentParser().Parse(query); if (queryArgs == null) return null; return new Query() { File = getValue(queryArgs, "file") }; }
public void Handle(Guid clientID, CommandMessage message) { if (clientID == Guid.Empty) return; var query = getQuery(message); var sb = new StringBuilder(); sb.Append(message.CorrelationID); var formatter = new CacheFormatter(); _cache.AllProjects() .Where(x => filter(x, query)).ToList() .ForEach(x => sb.AppendLine(formatter.Format(x))); _endpoint.Send(sb.ToString(), clientID); }
public void Handle(Guid clientID, CommandMessage message) { var arguments = message.Arguments.ToArray(); if (arguments.Length < 2) return; var language = new PluginFinder(_cache).FindLanguage(arguments[0]); if (language == null) return; var file = getLocal(arguments); if (!File.Exists(file)) file = getGlobal(arguments); if (!File.Exists(file)) return; _endpoint.Editor.Send(string.Format("goto \"{0}|0|0\"", file)); }
public void Handle(Guid clientID, CommandMessage message) { var arguments = message.Arguments.ToArray(); if (arguments.Length < 2) return; var language = new PluginFinder(_cache).FindLanguage(arguments[0]); if (language == null) return; var file = getLocal(arguments); if (!File.Exists(file)) file = getGlobal(arguments); if (!File.Exists(file)) return; File.Delete(file); }
public void Handle(Guid clientID, CommandMessage message) { if (message.Arguments.Count != 1) return; if (clientID == Guid.Empty) return; var sb = new StringBuilder(); sb.Append(message.CorrelationID); var formatter = new CacheFormatter(); _cache.Find(message.Arguments[0]) .GroupBy(x => x.File).ToList() .ForEach(x => { sb.AppendLine(formatter.FormatFile(x.Key)); x.ToList() .ForEach(y => sb.AppendLine(formatter.Format(y))); }); _endpoint.Send(sb.ToString(), clientID); }
public bool Handles(CommandMessage message) { return message.Command.Equals("snippet-edit"); }
public bool Handles(CommandMessage message) { return message.Command.Equals("get-files"); }
public bool Handles(CommandMessage message) { return message.Command.Equals("goto-defiinition"); }
public bool Handles(CommandMessage message) { return message.Command.Equals("get-signature-refs"); }
public bool Handles(CommandMessage message) { return message.Command.Equals("find-types"); }