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)); }
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)); }
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"); }
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)); }
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(); }
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'); }
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)); } }
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); }
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(); }