csharp_new_line_before_open_brace = none

This commit is contained in:
2025-07-27 12:33:54 -07:00
parent 341cc93a0a
commit e74a0ccdce
22 changed files with 908 additions and 653 deletions

View File

@ -8,8 +8,7 @@ using System.Text.RegularExpressions;
namespace File_Folder_Helper.ADO2025.PI4;
internal static partial class Helper20250204
{
internal static partial class Helper20250204 {
[GeneratedRegex("([A-Z]+(.))")]
private static partial Regex UpperCase();
@ -17,11 +16,9 @@ internal static partial class Helper20250204
[GeneratedRegex("[\\s!?.,@:;|\\\\/\"'`£$%\\^&*{}[\\]()<>~#+\\-=_¬]+")]
private static partial Regex InvalidCharacter();
private record H1ParamCaseAndState(string H1, string ParamCase, string State)
{
private record H1ParamCaseAndState(string H1, string ParamCase, string State) {
private static string GetParamCase(string value)
{
private static string GetParamCase(string value) {
string result;
StringBuilder stringBuilder = new(value);
Match[] matches = UpperCase().Matches(value).ToArray();
@ -33,16 +30,14 @@ internal static partial class Helper20250204
}
private static string GetState(string value) =>
value switch
{
value switch {
"New" => "ToDo",
"Active" => "In Progress",
"Closed" => "Done",
_ => "Backlog",
};
internal static H1ParamCaseAndState Get(WorkItem workItem)
{
internal static H1ParamCaseAndState Get(WorkItem workItem) {
H1ParamCaseAndState result;
string paramCase = GetParamCase(workItem.Title);
string state = GetState(workItem.State);
@ -91,8 +86,7 @@ internal static partial class Helper20250204
string Title,
string? Violation,
long? WeightedShortestJobFirst,
string WorkItemType)
{
string WorkItemType) {
public override string ToString() => $"{Id} - {WorkItemType} - {Title}";
@ -100,14 +94,12 @@ internal static partial class Helper20250204
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(WorkItem))]
private partial class WorkItemSourceGenerationContext : JsonSerializerContext
{
private partial class WorkItemSourceGenerationContext : JsonSerializerContext {
}
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(WorkItem[]))]
private partial class WorkItemCollectionSourceGenerationContext : JsonSerializerContext
{
private partial class WorkItemCollectionSourceGenerationContext : JsonSerializerContext {
}
private static string[] GetTaskLines(string directory, string rootDirectory) =>
@ -156,13 +148,11 @@ internal static partial class Helper20250204
private static string GetTaskText(string directory, string rootDirectory) =>
string.Join(Environment.NewLine, GetTaskLines(directory, rootDirectory));
private static void WriteTaskFile(string sourceDirectory, string rootDirectory)
{
private static void WriteTaskFile(string sourceDirectory, string rootDirectory) {
string tasksFile = Path.Combine(sourceDirectory, ".vscode", "tasks.json");
string oldText = File.ReadAllText(tasksFile);
string jsonSafeDirectory = sourceDirectory.Replace('\\', '/');
if (!oldText.Contains(jsonSafeDirectory))
{
if (!oldText.Contains(jsonSafeDirectory)) {
string text = GetTaskText(jsonSafeDirectory, rootDirectory);
File.WriteAllText(tasksFile, text);
}
@ -202,13 +192,11 @@ internal static partial class Helper20250204
private static string GetIndexText(WorkItem workItem, H1ParamCaseAndState h1ParamCaseAndState, ReadOnlyCollection<H1ParamCaseAndState> collection) =>
string.Join(Environment.NewLine, GetIndexLines(workItem, h1ParamCaseAndState, collection));
private static string GetIndexMarkdown(FileInfo fileInfo, ReadOnlyCollection<WorkItem> workItems)
{
private static string GetIndexMarkdown(FileInfo fileInfo, ReadOnlyCollection<WorkItem> workItems) {
string result;
H1ParamCaseAndState h1ParamCaseAndState;
List<H1ParamCaseAndState> collection = [];
foreach (WorkItem w in workItems)
{
foreach (WorkItem w in workItems) {
h1ParamCaseAndState = H1ParamCaseAndState.Get(w);
collection.Add(h1ParamCaseAndState);
}
@ -222,13 +210,11 @@ internal static partial class Helper20250204
return result;
}
private static ReadOnlyCollection<WorkItem> GetWorkItems(string[] files)
{
private static ReadOnlyCollection<WorkItem> GetWorkItems(string[] files) {
List<WorkItem> results = [];
string json;
WorkItem? workItem;
foreach (string file in files)
{
foreach (string file in files) {
json = File.ReadAllText(file);
workItem = JsonSerializer.Deserialize(json, WorkItemSourceGenerationContext.Default.WorkItem);
if (workItem is null)
@ -238,8 +224,7 @@ internal static partial class Helper20250204
return results.AsReadOnly();
}
private static void ExtractKanban(string searchPattern, string rootDirectory, DirectoryInfo kanbanDirectory, FileInfo fileInfo)
{
private static void ExtractKanban(string searchPattern, string rootDirectory, DirectoryInfo kanbanDirectory, FileInfo fileInfo) {
string checkFile;
string weekOfYear;
string workItemDirectory;
@ -256,8 +241,7 @@ internal static partial class Helper20250204
string markdownOld = File.Exists(indexFile) ? File.ReadAllText(indexFile) : string.Empty;
if (markdown != markdownOld)
File.WriteAllText(indexFile, markdown);
foreach (WorkItem workItem in workItems)
{
foreach (WorkItem workItem in workItems) {
h1ParamCaseAndState = H1ParamCaseAndState.Get(workItem);
checkFile = Path.Combine(tasksDirectory, $"{h1ParamCaseAndState.ParamCase}.md");
markdownOld = File.Exists(checkFile) ? File.ReadAllText(checkFile) : string.Empty;
@ -271,14 +255,12 @@ internal static partial class Helper20250204
}
}
private static string GetSourceDirectory(string directory)
{
private static string GetSourceDirectory(string directory) {
string? result = null;
DirectoryInfo directoryInfo;
string? checkDirectory = directory;
string? pathRoot = Path.GetPathRoot(directory);
for (int i = 0; i < int.MaxValue; i++)
{
for (int i = 0; i < int.MaxValue; i++) {
checkDirectory = Path.GetDirectoryName(checkDirectory);
if (string.IsNullOrEmpty(checkDirectory) || checkDirectory == pathRoot)
break;
@ -292,8 +274,7 @@ internal static partial class Helper20250204
return result;
}
internal static void ExtractKanban(ILogger<Worker> logger, List<string> args)
{
internal static void ExtractKanban(ILogger<Worker> logger, List<string> args) {
string searchPattern = "*.json";
string fullPath = Path.GetFullPath(args[0]);
string sourceDirectory = GetSourceDirectory(fullPath);