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);
        }
Ejemplo n.º 3
0
 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);
     }
 }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
 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);
     }
 }
Ejemplo n.º 6
0
        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);
                    }
                }
            }
        }