- Add some editor key combinations

- Improve saving performance
This commit is contained in:
Stone-Red-Code
2021-10-11 20:00:13 +02:00
parent 8b21c99f54
commit ae27262a51
2 changed files with 24 additions and 13 deletions
+7 -13
View File
@@ -114,10 +114,7 @@ namespace YesNt.CodeEditor
}
Lines.Clear();
foreach (string line in File.ReadAllLines(path))
{
Lines.Add(line.Replace("\n", ""));
}
Lines.AddRange(File.ReadAllLines(path));
CurrentPath = path;
inputHandler.WriteStatus("File Loaded!");
return true;
@@ -125,14 +122,6 @@ namespace YesNt.CodeEditor
public bool Save(string input, bool loadIfExists)
{
string text = "";
foreach (string line in Lines)
{
text += line + "\n";
}
text = text.TrimEnd('\n');
string path;
if (input.Split(' ').Length == 2)
{
@@ -171,9 +160,14 @@ namespace YesNt.CodeEditor
path = Path.ChangeExtension(path, "ynt");
}
while (Lines.Count > 0 && string.IsNullOrWhiteSpace(Lines[Lines.Count - 1]))
{
Lines.RemoveAt(Lines.Count - 1);
}
try
{
File.WriteAllText(path, text);
File.WriteAllLines(path, Lines);
inputHandler.WriteStatus("File Saved!");
return true;
}
+17
View File
@@ -25,6 +25,21 @@ namespace YesNt.CodeEditor
textEditor.EditMode = Mode.Command;
break;
case ConsoleKey.B:
int position = textEditor.Lines.Count;
textEditor.CursorPosition.Y = position - 1;
textEditor.LineOffset = Math.Max(position - Console.WindowHeight + 3, 0);
textEditor.Display(true);
break;
case ConsoleKey.T:
textEditor.CursorPosition.Y = 0;
textEditor.LineOffset = 0;
textEditor.Display(true);
break;
case ConsoleKey.S:
textEditor.CursorPosition.X = 0;
break;
@@ -172,6 +187,8 @@ namespace YesNt.CodeEditor
string command = input.Split(' ')[0].Trim();
string path;
Console.CursorVisible = false;
switch (command)
{
case "edit":