From dc74ebb98aaae92662f993e69e80f3e2e0a06bea Mon Sep 17 00:00:00 2001 From: Nathan Baulch Date: Fri, 13 Jun 2025 07:14:08 +1000 Subject: [PATCH] code_style: general cleanup --- .editorconfig | 10 +++--- src/App.axaml.cs | 2 +- src/Commands/QueryBranches.cs | 8 ++--- src/Commands/QueryTags.cs | 2 +- src/Commands/SaveRevisionFile.cs | 6 +--- src/Models/AvatarManager.cs | 5 +-- src/Models/DiffResult.cs | 26 ++++----------- src/Models/ExternalTool.cs | 3 +- src/Models/IpcChannel.cs | 10 ++---- src/Models/Null.cs | 4 +-- src/Models/SelfUpdate.cs | 4 +-- src/Models/TemplateEngine.cs | 12 +++---- src/Models/TextInlineChange.cs | 34 ++++++-------------- src/Native/Windows.cs | 6 ++-- src/Resources/Styles.axaml | 15 ++------- src/ViewModels/BranchCompare.cs | 2 +- src/ViewModels/BranchTreeNode.cs | 25 +++++++------- src/ViewModels/CommitDetail.cs | 2 +- src/ViewModels/Fetch.cs | 5 +-- src/ViewModels/Histories.cs | 7 ++-- src/ViewModels/ImageSource.cs | 6 ++-- src/ViewModels/Launcher.cs | 17 +++------- src/ViewModels/LauncherPage.cs | 2 +- src/ViewModels/Pull.cs | 21 ++++++------ src/ViewModels/Repository.cs | 14 +++----- src/ViewModels/RevisionCompare.cs | 10 ++---- src/ViewModels/Welcome.cs | 3 +- src/Views/Blame.axaml | 8 +---- src/Views/Blame.axaml.cs | 2 +- src/Views/BranchCompare.axaml | 8 +---- src/Views/ChangeStatusIcon.cs | 2 +- src/Views/ColorPicker.cs | 2 +- src/Views/CommandLogTime.cs | 2 +- src/Views/CommitDetail.axaml | 2 +- src/Views/CommitMessageTextBox.axaml.cs | 4 +-- src/Views/CommitTimeTextBlock.cs | 2 +- src/Views/Conflict.axaml | 2 +- src/Views/DiffView.axaml | 2 +- src/Views/FileHistories.axaml | 7 +--- src/Views/Histories.axaml.cs | 2 +- src/Views/LauncherPage.axaml.cs | 2 +- src/Views/LauncherTabBar.axaml.cs | 2 +- src/Views/MenuItemExtension.cs | 3 +- src/Views/Repository.axaml.cs | 2 +- src/Views/RepositoryToolbar.axaml.cs | 2 +- src/Views/RevisionFileContentViewer.axaml.cs | 3 +- src/Views/RevisionFileTreeView.axaml.cs | 28 +++++++--------- src/Views/TextDiffView.axaml.cs | 15 +++------ 48 files changed, 123 insertions(+), 240 deletions(-) diff --git a/.editorconfig b/.editorconfig index 56725e7b..f3c9a7bf 100644 --- a/.editorconfig +++ b/.editorconfig @@ -71,20 +71,20 @@ dotnet_style_predefined_type_for_member_access = true:suggestion # name all constant fields using PascalCase dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion -dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields +dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style -dotnet_naming_symbols.constant_fields.applicable_kinds = field +dotnet_naming_symbols.constant_fields.applicable_kinds = field dotnet_naming_symbols.constant_fields.required_modifiers = const dotnet_naming_style.pascal_case_style.capitalization = pascal_case # private static fields should have s_ prefix dotnet_naming_rule.private_static_fields_should_have_prefix.severity = suggestion -dotnet_naming_rule.private_static_fields_should_have_prefix.symbols = private_static_fields +dotnet_naming_rule.private_static_fields_should_have_prefix.symbols = private_static_fields dotnet_naming_rule.private_static_fields_should_have_prefix.style = private_static_prefix_style -dotnet_naming_symbols.private_static_fields.applicable_kinds = field +dotnet_naming_symbols.private_static_fields.applicable_kinds = field dotnet_naming_symbols.private_static_fields.required_modifiers = static dotnet_naming_symbols.private_static_fields.applicable_accessibilities = private @@ -93,7 +93,7 @@ dotnet_naming_style.private_static_prefix_style.capitalization = camel_case # internal and private fields should be _camelCase dotnet_naming_rule.camel_case_for_private_internal_fields.severity = suggestion -dotnet_naming_rule.camel_case_for_private_internal_fields.symbols = private_internal_fields +dotnet_naming_rule.camel_case_for_private_internal_fields.symbols = private_internal_fields dotnet_naming_rule.camel_case_for_private_internal_fields.style = camel_case_underscore_style dotnet_naming_symbols.private_internal_fields.applicable_kinds = field diff --git a/src/App.axaml.cs b/src/App.axaml.cs index 8e579373..ef91ccdb 100644 --- a/src/App.axaml.cs +++ b/src/App.axaml.cs @@ -521,7 +521,7 @@ namespace SourceGit private bool TryLaunchAsCoreEditor(IClassicDesktopStyleApplicationLifetime desktop) { var args = desktop.Args; - if (args == null || args.Length <= 1 || !args[0].Equals("--core-editor", StringComparison.Ordinal)) + if (args is not { Length: > 1 } || !args[0].Equals("--core-editor", StringComparison.Ordinal)) return false; var file = args[1]; diff --git a/src/Commands/QueryBranches.cs b/src/Commands/QueryBranches.cs index d0ecd322..f268d709 100644 --- a/src/Commands/QueryBranches.cs +++ b/src/Commands/QueryBranches.cs @@ -48,16 +48,12 @@ namespace SourceGit.Commands if (remoteHeads.TryGetValue(b.Upstream, out var upstreamHead)) { b.IsUpstreamGone = false; - - if (b.TrackStatus == null) - b.TrackStatus = new QueryTrackStatus(WorkingDirectory, b.Head, upstreamHead).Result(); + b.TrackStatus ??= new QueryTrackStatus(WorkingDirectory, b.Head, upstreamHead).Result(); } else { b.IsUpstreamGone = true; - - if (b.TrackStatus == null) - b.TrackStatus = new Models.BranchTrackStatus(); + b.TrackStatus ??= new Models.BranchTrackStatus(); } } } diff --git a/src/Commands/QueryTags.cs b/src/Commands/QueryTags.cs index 4b706439..896d555e 100644 --- a/src/Commands/QueryTags.cs +++ b/src/Commands/QueryTags.cs @@ -24,7 +24,7 @@ namespace SourceGit.Commands var records = rs.StdOut.Split(_boundary, StringSplitOptions.RemoveEmptyEntries); foreach (var record in records) { - var subs = record.Split('\0', StringSplitOptions.None); + var subs = record.Split('\0'); if (subs.Length != 6) continue; diff --git a/src/Commands/SaveRevisionFile.cs b/src/Commands/SaveRevisionFile.cs index 550844ef..8ac4ecc7 100644 --- a/src/Commands/SaveRevisionFile.cs +++ b/src/Commands/SaveRevisionFile.cs @@ -22,7 +22,7 @@ namespace SourceGit.Commands } } - private static bool ExecCmd(string repo, string args, string outputFile, Stream input = null) + private static void ExecCmd(string repo, string args, string outputFile, Stream input = null) { var starter = new ProcessStartInfo(); starter.WorkingDirectory = repo; @@ -45,10 +45,7 @@ namespace SourceGit.Commands proc.StandardInput.Write(new StreamReader(input).ReadToEnd()); proc.StandardOutput.BaseStream.CopyTo(sw); proc.WaitForExit(); - var rs = proc.ExitCode == 0; proc.Close(); - - return rs; } catch (Exception e) { @@ -56,7 +53,6 @@ namespace SourceGit.Commands { App.RaiseException(repo, "Save file failed: " + e.Message); }); - return false; } } } diff --git a/src/Models/AvatarManager.cs b/src/Models/AvatarManager.cs index fa07975d..bc9fbe95 100644 --- a/src/Models/AvatarManager.cs +++ b/src/Models/AvatarManager.cs @@ -26,10 +26,7 @@ namespace SourceGit.Models { get { - if (_instance == null) - _instance = new AvatarManager(); - - return _instance; + return _instance ??= new AvatarManager(); } } diff --git a/src/Models/DiffResult.cs b/src/Models/DiffResult.cs index b2d91310..71ed2d9e 100644 --- a/src/Models/DiffResult.cs +++ b/src/Models/DiffResult.cs @@ -16,11 +16,10 @@ namespace SourceGit.Models Deleted, } - public class TextInlineRange + public class TextInlineRange(int p, int n) { - public int Start { get; set; } - public int End { get; set; } - public TextInlineRange(int p, int n) { Start = p; End = p + n - 1; } + public int Start { get; set; } = p; + public int End { get; set; } = p + n - 1; } public class TextDiffLine @@ -556,7 +555,7 @@ namespace SourceGit.Models } else if (test.Type == TextDiffLineType.Added) { - if (i < start - 1) + if (i < start - 1 || isOldSide) { if (revert) { @@ -566,18 +565,7 @@ namespace SourceGit.Models } else { - if (isOldSide) - { - if (revert) - { - newCount++; - oldCount++; - } - } - else - { - newCount++; - } + newCount++; } if (i == end - 1 && tailed) @@ -655,9 +643,7 @@ namespace SourceGit.Models public string NewImageSize => New != null ? $"{New.PixelSize.Width} x {New.PixelSize.Height}" : "0 x 0"; } - public class NoOrEOLChange - { - } + public class NoOrEOLChange; public class FileModeDiff { diff --git a/src/Models/ExternalTool.cs b/src/Models/ExternalTool.cs index 103e91bc..697c171a 100644 --- a/src/Models/ExternalTool.cs +++ b/src/Models/ExternalTool.cs @@ -107,8 +107,7 @@ namespace SourceGit.Models // Ignore } - if (_customPaths == null) - _customPaths = new ExternalToolPaths(); + _customPaths ??= new ExternalToolPaths(); } public void TryAdd(string name, string icon, Func finder, Func execArgsGenerator = null) diff --git a/src/Models/IpcChannel.cs b/src/Models/IpcChannel.cs index c2a6c6c7..001c65a6 100644 --- a/src/Models/IpcChannel.cs +++ b/src/Models/IpcChannel.cs @@ -8,10 +8,7 @@ namespace SourceGit.Models { public class IpcChannel : IDisposable { - public bool IsFirstInstance - { - get => _isFirstInstance; - } + public bool IsFirstInstance { get; } public event Action MessageReceived; @@ -20,7 +17,7 @@ namespace SourceGit.Models try { _singletonLock = File.Open(Path.Combine(Native.OS.DataDir, "process.lock"), FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None); - _isFirstInstance = true; + IsFirstInstance = true; _server = new NamedPipeServerStream( "SourceGitIPCChannel" + Environment.UserName, PipeDirection.In, @@ -32,7 +29,7 @@ namespace SourceGit.Models } catch { - _isFirstInstance = false; + IsFirstInstance = false; } } @@ -97,7 +94,6 @@ namespace SourceGit.Models } private FileStream _singletonLock = null; - private bool _isFirstInstance = false; private NamedPipeServerStream _server = null; private CancellationTokenSource _cancellationTokenSource = null; } diff --git a/src/Models/Null.cs b/src/Models/Null.cs index e22ef8b3..1820d4d0 100644 --- a/src/Models/Null.cs +++ b/src/Models/Null.cs @@ -1,6 +1,4 @@ namespace SourceGit.Models { - public class Null - { - } + public class Null; } diff --git a/src/Models/SelfUpdate.cs b/src/Models/SelfUpdate.cs index e02f80d8..05fa6124 100644 --- a/src/Models/SelfUpdate.cs +++ b/src/Models/SelfUpdate.cs @@ -33,9 +33,7 @@ namespace SourceGit.Models } } - public class AlreadyUpToDate - { - } + public class AlreadyUpToDate; public class SelfUpdateFailed { diff --git a/src/Models/TemplateEngine.cs b/src/Models/TemplateEngine.cs index c54f55fb..8f60bd74 100644 --- a/src/Models/TemplateEngine.cs +++ b/src/Models/TemplateEngine.cs @@ -102,7 +102,7 @@ namespace SourceGit.Models private int? Integer() { var start = _pos; - while (Peek() is char c && c >= '0' && c <= '9') + while (Peek() is >= '0' and <= '9') { _pos++; } @@ -118,7 +118,7 @@ namespace SourceGit.Models // text token start var tok = _pos; bool esc = false; - while (Next() is char c) + while (Next() is { } c) { if (esc) { @@ -129,7 +129,7 @@ namespace SourceGit.Models { case ESCAPE: // allow to escape only \ and $ - if (Peek() is char nc && (nc == ESCAPE || nc == VARIABLE_ANCHOR)) + if (Peek() is { } nc && (nc == ESCAPE || nc == VARIABLE_ANCHOR)) { esc = true; FlushText(tok, _pos - 1); @@ -173,7 +173,7 @@ namespace SourceGit.Models if (Next() != VARIABLE_START) return null; int name_start = _pos; - while (Next() is char c) + while (Next() is { } c) { // name character, continue advancing if (IsNameChar(c)) @@ -228,7 +228,7 @@ namespace SourceGit.Models var sb = new StringBuilder(); var tok = _pos; var esc = false; - while (Next() is char c) + while (Next() is { } c) { if (esc) { @@ -277,7 +277,7 @@ namespace SourceGit.Models var sb = new StringBuilder(); var tok = _pos; var esc = false; - while (Next() is char c) + while (Next() is { } c) { if (esc) { diff --git a/src/Models/TextInlineChange.cs b/src/Models/TextInlineChange.cs index 15901d03..afe5bec4 100644 --- a/src/Models/TextInlineChange.cs +++ b/src/Models/TextInlineChange.cs @@ -2,27 +2,19 @@ namespace SourceGit.Models { - public class TextInlineChange + public class TextInlineChange(int dp, int dc, int ap, int ac) { - public int DeletedStart { get; set; } - public int DeletedCount { get; set; } - public int AddedStart { get; set; } - public int AddedCount { get; set; } + public int DeletedStart { get; set; } = dp; + public int DeletedCount { get; set; } = dc; + public int AddedStart { get; set; } = ap; + public int AddedCount { get; set; } = ac; - private class Chunk + private class Chunk(int hash, int start, int size) { - public int Hash; + public readonly int Hash = hash; + public readonly int Start = start; + public readonly int Size = size; public bool Modified; - public int Start; - public int Size; - - public Chunk(int hash, int start, int size) - { - Hash = hash; - Modified = false; - Start = start; - Size = size; - } } private enum Edit @@ -43,14 +35,6 @@ namespace SourceGit.Models public int AddEnd; } - public TextInlineChange(int dp, int dc, int ap, int ac) - { - DeletedStart = dp; - DeletedCount = dc; - AddedStart = ap; - AddedCount = ac; - } - public static List Compare(string oldValue, string newValue) { var hashes = new Dictionary(); diff --git a/src/Native/Windows.cs b/src/Native/Windows.cs index 07cf51fb..06d80bf0 100644 --- a/src/Native/Windows.cs +++ b/src/Native/Windows.cs @@ -54,7 +54,7 @@ namespace SourceGit.Native public void SetupApp(AppBuilder builder) { // Fix drop shadow issue on Windows 10 - if (!OperatingSystem.IsWindowsVersionAtLeast(10, 22000, 0)) + if (!OperatingSystem.IsWindowsVersionAtLeast(10, 22000)) { Window.WindowStateProperty.Changed.AddClassHandler((w, _) => FixWindowFrameOnWin10(w)); Control.LoadedEvent.AddClassHandler((w, _) => FixWindowFrameOnWin10(w)); @@ -385,11 +385,11 @@ namespace SourceGit.Native Microsoft.Win32.RegistryView.Registry64); // Get default class for VisualStudio.Launcher.sln - the handler for *.sln files - if (localMachine.OpenSubKey(@"SOFTWARE\Classes\VisualStudio.Launcher.sln\CLSID") is Microsoft.Win32.RegistryKey launcher) + if (localMachine.OpenSubKey(@"SOFTWARE\Classes\VisualStudio.Launcher.sln\CLSID") is { } launcher) { // Get actual path to the executable if (launcher.GetValue(string.Empty) is string CLSID && - localMachine.OpenSubKey(@$"SOFTWARE\Classes\CLSID\{CLSID}\LocalServer32") is Microsoft.Win32.RegistryKey devenv && + localMachine.OpenSubKey(@$"SOFTWARE\Classes\CLSID\{CLSID}\LocalServer32") is { } devenv && devenv.GetValue(string.Empty) is string localServer32) return localServer32!.Trim('\"'); } diff --git a/src/Resources/Styles.axaml b/src/Resources/Styles.axaml index 15704775..f42160a2 100644 --- a/src/Resources/Styles.axaml +++ b/src/Resources/Styles.axaml @@ -529,13 +529,7 @@ - - - - - - - +