mirror of
https://github.com/sourcegit-scm/sourcegit.git
synced 2024-11-01 13:13:21 -07:00
6930b51c64
* `--rebase-todo-editor` launches this app as a git `sequence.editor` * `--rebase-message-editor` launches this app as a git `core.editor` which runs on background by reading rebasing jobs * `--core-editor` launches this app as a git `core.editor` * `--askpass` launches this app as a SSH askpass program
54 lines
1.4 KiB
C#
54 lines
1.4 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Text;
|
|
using Avalonia.Input;
|
|
using Avalonia.Interactivity;
|
|
|
|
namespace SourceGit.Views
|
|
{
|
|
public partial class CodeEditor : ChromelessWindow
|
|
{
|
|
public CodeEditor()
|
|
{
|
|
DataContext = this;
|
|
InitializeComponent();
|
|
}
|
|
|
|
public CodeEditor(string file)
|
|
{
|
|
_file = file;
|
|
DataContext = this;
|
|
InitializeComponent();
|
|
|
|
var content = File.ReadAllText(file).ReplaceLineEndings("\n");
|
|
var firstLineEnd = content.IndexOf('\n');
|
|
if (firstLineEnd == -1)
|
|
{
|
|
Editor.SubjectEditor.Text = content;
|
|
}
|
|
else
|
|
{
|
|
Editor.SubjectEditor.Text = content.Substring(0, firstLineEnd);
|
|
Editor.DescriptionEditor.Text = content.Substring(firstLineEnd + 1);
|
|
}
|
|
}
|
|
|
|
private void BeginMoveWindow(object sender, PointerPressedEventArgs e)
|
|
{
|
|
BeginMoveDrag(e);
|
|
}
|
|
|
|
private void CloseWindow(object sender, RoutedEventArgs e)
|
|
{
|
|
Environment.Exit(-1);
|
|
}
|
|
|
|
private void SaveAndClose(object sender, RoutedEventArgs e)
|
|
{
|
|
File.WriteAllText(_file, Editor.Text);
|
|
Environment.Exit(0);
|
|
}
|
|
|
|
private string _file = string.Empty;
|
|
}
|
|
}
|