Example #1
0
        public void TestGB18030()
        {
            var src = "南北西东";

            byte[] input = Encoding.GetEncoding(54936).GetBytes(src);
            Assert.AreEqual(src, TextFileUtility.GetText(input));
        }
        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);
            }
        }
        public void TestIsBinaryUtfInput()
        {
            var src = "Hello\u00A9 World\u2122";

            byte[] input = Encoding.Unicode.GetBytes(src);
            Assert.IsFalse(TextFileUtility.IsBinary(input));
        }
        public void TestUTF16BESimpleText()
        {
            var src = "Hello World";

            byte[] input = Encoding.BigEndianUnicode.GetBytes(src);
            Assert.AreEqual(src, TextFileUtility.GetText(input));
        }
        public void TestUTF8()
        {
            var src = "Hello World\u2122";

            byte[] input = Encoding.UTF8.GetBytes(src);
            Assert.AreEqual(src, TextFileUtility.GetText(input));
        }
Example #6
0
        async Task <TextAndVersion> GetTextAndVersion(Workspace workspace, DocumentId documentId, CancellationToken cancellationToken)
        {
            cancellationToken.ThrowIfCancellationRequested();

            if (!File.Exists(fileName))
            {
                var document = ((MonoDevelopWorkspace)workspace).GetDocument(documentId);
                if (document == null)
                {
                    return(null);
                }
                return(TextAndVersion.Create(await document.GetTextAsync(cancellationToken), VersionStamp.Create()));
            }
            SourceText text;

            if (workspace.IsDocumentOpen(documentId))
            {
                text = new MonoDevelopSourceText(TextFileProvider.Instance.GetTextEditorData(fileName).CreateDocumentSnapshot());
            }
            else
            {
                text = SourceText.From(await TextFileUtility.GetTextAsync(fileName, cancellationToken));
            }
            return(TextAndVersion.Create(text, VersionStamp.Create()));
        }
        public void TestUTF16BEMixedText()
        {
            var src = "Hello\u00A9\u008D World\u2122";

            byte[] input = Encoding.BigEndianUnicode.GetBytes(src);
            Assert.AreEqual(src, TextFileUtility.GetText(input));
        }
        public override Task <TextAndVersion> LoadTextAndVersionAsync(Workspace workspace, DocumentId documentId, CancellationToken cancellationToken)
        {
            cancellationToken.ThrowIfCancellationRequested();
            SourceText text;

            if (IdeServices.DocumentManager?.Documents.Any(doc => doc.IsFile && doc.FileName != null && FilePath.PathComparer.Compare(Path.GetFullPath(doc.FileName), fileName) == 0 && doc.Editor != null) == true)
            {
                var document = IdeServices.DocumentManager?.Documents.FirstOrDefault(doc => doc.IsFile && doc.FileName != null && FilePath.PathComparer.Compare(Path.GetFullPath(doc.FileName), fileName) == 0 && doc.Editor != null);
                text = MonoDevelopSourceText.Create(document.Editor);
            }
            else
            {
                try {
                    if (File.Exists(fileName))
                    {
                        text = SourceText.From(TextFileUtility.GetText(fileName));
                    }
                    else
                    {
                        text = SourceText.From("");
                    }
                } catch (Exception e) {
                    LoggingService.LogError($"Failed to get file text for {fileName}", e);
                    text = SourceText.From("");
                }
            }
            return(Task.FromResult(TextAndVersion.Create(text, VersionStamp.Create())));
        }
        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);
        }
        public void TestCp1252()
        {
            var src = "Hello\u00A9 World\u00C1";

            byte[] input = Encoding.GetEncoding(1252).GetBytes(src);
            Assert.AreEqual(src, TextFileUtility.GetText(input));
        }
Example #11
0
        protected virtual Task OnSaveUserProperties()
        {
            FilePath file      = GetPreferencesFileName();
            var      userProps = userProperties;

            return(Task.Run(() => {
                if (userProps == null || userProps.IsEmpty)
                {
                    if (File.Exists(file))
                    {
                        File.Delete(file);
                    }
                    return;
                }
                using (var sw = new StringWriter()) {
                    XmlTextWriter writer = null;
                    try {
                        writer = new XmlTextWriter(sw);
                        writer.Formatting = Formatting.Indented;
                        XmlDataSerializer ser = new XmlDataSerializer(new DataContext());
                        ser.SerializationContext.BaseFile = file;
                        ser.Serialize(writer, userProps, typeof(PropertyBag));
                        TextFileUtility.WriteText(file, sw.ToString(), Encoding.UTF8);
                    } catch (Exception e) {
                        LoggingService.LogWarning("Could not save solution preferences: " + file, e);
                    } finally {
                        if (writer != null)
                        {
                            writer.Close();
                        }
                    }
                }
            }));
        }
            protected override async Task OnLoad()
            {
                var file = await TextFileUtility.ReadAllTextAsync(FilePath);

                text             = file.Text;
                Encoding         = file.Encoding;
                UseByteOrderMark = file.HasByteOrderMark;
            }
        public void TestBug16332()
        {
            byte[] input = new byte[] { 0xEF, 0xBB, 0xBF, (byte)'a' };
            bool   hadBom;

            Assert.AreEqual("a", TextFileUtility.GetText(input, Encoding.UTF8, out hadBom));
            Assert.IsTrue(hadBom);
        }
 static void wipeSavedData()
 {
     foreach (GameObject go in GameObject.FindGameObjectsWithTag("TextDisplay"))
     {
         Destroy(go);
         go.transform.parent.GetComponent <TickerTapeContainer>().isTicking = false;
     }
     TextFileUtility.CleanTextFile(Application.persistentDataPath + "/savedMessages.txt");
 }
Example #15
0
            public override Task Load(FileOpenInformation fileOpenInformation)
            {
                var    fileName = fileOpenInformation.FileName;
                string text     = text = TextFileUtility.ReadAllText(fileName, out Encoding encoding);

                Document.Editor.Text = text;
                ContentName          = fileName;
                return(Task.FromResult(true));
            }
        public string GetText()
        {
            TextEditor editor = GetEditor();

            if (editor != null)
            {
                return(editor.Text);
            }

            return(TextFileUtility.ReadAllText(controller.FilePath));
        }
Example #17
0
        async Task LoadNew()
        {
            textEditor.MimeType = MimeType;
            string text = null;
            var    res  = await TextFileUtility.GetTextAsync(FileModel.GetContent());

            text = textEditor.Text = res.Text;
            textEditor.Encoding = res.Encoding;
            await RunFirstTimeFoldUpdate(text);

            textEditorImpl.InformLoadComplete();
        }
Example #18
0
 public CodeRulePanelWidget()
 {
     TextEditor          = TextEditorFactory.CreateNewEditor();
     TextEditor.MimeType = "application/xml";
     TextEditor.Options  = DefaultSourceEditorOptions.PlainEditor;
     try {
         TextEditor.Text = TextFileUtility.GetText(TypeSystemService.RuleSetManager.GlobalRulesetFileName, out encoding);
     } catch (Exception e) {
         LoggingService.LogError("Error while loading global rule set file " + TypeSystemService.RuleSetManager, e);
         loadingError = true;
     }
 }
        // Use this for initialization
        void Start()
        {
            isTicking     = false;
            DisplayPrefab = Resources.Load("TickerDisplay") as GameObject;

            pathToSavedMessages = Application.persistentDataPath + "/savedMessages.txt";
            Debug.Log(pathToSavedMessages);

            ScreenWidthAndHeight = GetComponent <RectTransform>().rect.size;
            GetComponent <RectTransform>().sizeDelta = new Vector2(ScreenWidthAndHeight.x, ScreenWidthAndHeight.y);

            savedMessages = TextFileUtility.ReadString(pathToSavedMessages).Split('\n');
        }
Example #20
0
 internal void ApplyChanges()
 {
     if (loadingError)
     {
         return;
     }
     try {
         TextFileUtility.WriteText(TypeSystemService.RuleSetManager.GlobalRulesetFileName, TextEditor.Text, encoding);
     } catch (Exception e) {
         LoggingService.LogError("Error while saving global rule set file " + TypeSystemService.RuleSetManager.GlobalRulesetFileName, e);
         MessageService.ShowError(GettextCatalog.GetString("Error while saving global rule set file '{0}'.", TypeSystemService.RuleSetManager.GlobalRulesetFileName));
     }
 }
Example #21
0
        public string ReadString(bool readBinaryFiles)
        {
            string result = cachedText != null ? cachedText.Target as string : null;

            if (result != null)
            {
                return(result);
            }

            if (buffer != null)
            {
                result = buffer.ToString();
            }
            else
            {
                Document doc = null;

                var task = SearchDocument();
                if (task.Wait(1000))
                {
                    doc = task.Result;
                }

                if (doc != null && doc.Editor != null)
                {
                    result   = doc.Editor.Text;
                    encoding = doc.Editor.Encoding;
                    hadBom   = doc.Editor.UseBOM;
                }
                else
                {
                    try {
                        if (!File.Exists(FileName))
                        {
                            return(null);
                        }
                        var content = File.ReadAllBytes(FileName);
                        if (!readBinaryFiles && TextFileUtility.IsBinary(content))
                        {
                            return(null);
                        }
                        result = TextFileUtility.GetText(content, out encoding, out hadBom);
                    } catch (Exception e) {
                        LoggingService.LogError("Error while opening " + FileName, e);
                        return(null);
                    }
                }
            }
            cachedText = new WeakReference(result);
            return(result);
        }
Example #22
0
        public override async Task LoadNew(Stream content, string mimeType)
        {
            textEditor.MimeType = mimeType;
            string text = null;

            if (content != null)
            {
                var res = await TextFileUtility.GetTextAsync(content);

                text = textEditor.Text = res.Text;
                textEditor.Encoding = res.Encoding;
            }
            await RunFirstTimeFoldUpdate(text);

            textEditorImpl.InformLoadComplete();
        }