static string ScanTextMateStyle(Stream stream) { try { var file = TextFileUtility.OpenStream(stream); string keyString = "<key>name</key>"; while (true) { var line = file.ReadLine(); if (line == null) { return(""); } if (line.Contains(keyString)) { break; } } var nameLine = file.ReadLine(); file.Close(); var match = textMateNameRegex.Match(nameLine); if (!match.Success) { return(null); } return(match.Groups[1].Value); } catch (Exception e) { Console.WriteLine("Error while scanning json:"); Console.WriteLine(e); return(null); } }
static bool TryScanJSonStyle(Stream stream, out string name, out JSonFormat format) { name = null; format = JSonFormat.Unknown; try { var file = TextFileUtility.OpenStream(stream); file.ReadLine(); var nameLine = file.ReadLine(); var versionLine = file.ReadLine(); file.Close(); var match = jsonNameRegex.Match(nameLine); if (match.Success) { if (jsonVersionRegex.Match(versionLine).Success) { name = match.Groups [1].Value; format = JSonFormat.OldSyntaxTheme; return(true); } } format = JSonFormat.TextMateJsonSyntax; return(true); } catch (Exception e) { Console.WriteLine("Error while scanning json:"); Console.WriteLine(e); } return(false); }
internal TextReader GetReaderForFileName(bool readBinaryFiles = false) { try { if (!File.Exists(FileName)) { return(null); } if (!readBinaryFiles && TextFileUtility.IsBinary(FileName)) { return(null); } return(TextFileUtility.OpenStream(FileName)); } catch (Exception e) { LoggingService.LogError("Error while opening " + FileName, e); return(null); } }
internal static SyntaxHighlightingDefinition ReadHighlightingFromJson(Stream stream) { byte [] bytes; using (var sr = TextFileUtility.OpenStream(stream)) { bytes = System.Text.Encoding.UTF8.GetBytes(sr.ReadToEnd()); } var reader = System.Runtime.Serialization.Json.JsonReaderWriterFactory.CreateJsonReader(bytes, new System.Xml.XmlDictionaryReaderQuotas()); var root = XElement.Load(reader); var name = root.XPathSelectElement("name")?.Value; var scopeName = root.XPathSelectElement("scopeName")?.Value; if (name == null || scopeName == null) { return(null); // no json textmate highlighting file } var dict = (PDictionary)Convert(root); return(ReadHighlighting(dict)); }
static string ScanStyle(Stream stream) { try { var file = TextFileUtility.OpenStream(stream); file.ReadLine(); var nameLine = file.ReadLine(); file.Close(); var match = nameRegex.Match(nameLine); if (!match.Success) { return(null); } return(match.Groups[1].Value); } catch (Exception e) { Console.WriteLine("Error while scanning json:"); Console.WriteLine(e); return(null); } }
public TextReader ReadString(bool readBinaryFiles) { if (buffer != null) { return(new StringReader(buffer.ToString())); } else { Document doc = null; var task = SearchDocument(); if (task.Wait(1000)) { doc = task.Result; } if (doc != null && doc.Editor != null) { return(doc.Editor.CreateReader()); } else { try { if (!File.Exists(FileName)) { return(null); } if (!readBinaryFiles && TextFileUtility.IsBinary(FileName)) { return(null); } return(TextFileUtility.OpenStream(FileName)); } catch (Exception e) { LoggingService.LogError("Error while opening " + FileName, e); return(null); } } } }