Skip to content

Conversation

@aquamoth
Copy link
Owner

@aquamoth aquamoth commented Oct 5, 2025

This pull request improves the handling of ASCII characters in JSON and YAML editing workflows, ensuring that characters like +, /, and # are not unnecessarily escaped. It also updates launch profiles for easier environment selection and bumps the project version to 1.0. The most important changes are grouped below:

JSON and YAML encoding improvements:

  • Updated StructuredEditHelper.BuildJsonContent to use a relaxed JSON encoder (JavaScriptEncoder.UnsafeRelaxedJsonEscaping), so ASCII characters such as +, /, and # are preserved in both property names and values, making the output more natural for plain-text editing. [1] [2]
  • Added and enhanced tests in _StructuredEditHelper.cs to verify that JSON and YAML editors correctly preserve ASCII characters in both property names and values, and that roundtripping edits does not alter these characters. [1] [2]

Development tooling and configuration:

  • Updated launchSettings.json to provide multiple profiles (Production, Slask, and Choose Enpoint), making it easier to select different AppConfig endpoints for local development and testing.

Versioning:

  • Bumped the project version in version.json from 0.2 to 1.0, indicating a major release milestone.

@github-actions
Copy link

github-actions bot commented Oct 5, 2025

Summary

Generated on: 10/05/2025 - 19:28:36
Coverage date: 09/16/2025 - 20:36:43 - 10/05/2025 - 19:28:30
Parser: MultiReport (17x Cobertura)
Assemblies: 2
Classes: 48
Files: 53
Line coverage: 41.6% (1298 of 3113)
Covered lines: 1298
Uncovered lines: 1815
Coverable lines: 3113
Total lines: 5521
Branch coverage: 32% (660 of 2058)
Covered branches: 660
Total branches: 2058
Method coverage: Feature is only available for sponsors
Tag: 21_18263314936
Name Covered Uncovered Coverable Total Line coverage Covered Total Branch coverage
AppConfigCli 714 1618 2332 4158 30.6% 295 1518 19.4%
AppConfigCli.AzureAppConfigRepository 0 34 34 72 0% 0 12 0%
AppConfigCli.BulkEditHelper 54 20 74 128 72.9% 31 60 51.6%
AppConfigCli.Command 28 1 29 53 96.5% 6 8 75%
AppConfigCli.CommandParser 18 16 34 70 52.9% 10 22 45.4%
AppConfigCli.CommandResult 1 0 1 53 100% 0 0
AppConfigCli.ConsoleTheme 31 12 43 80 72% 12 36 33.3%
AppConfigCli.Editor.Abstractions.DefaultConsoleEx 0 38 38 74 0% 0 6 0%
AppConfigCli.Editor.Abstractions.DefaultExternalEditor 0 20 20 33 0% 0 10 0%
AppConfigCli.Editor.Abstractions.DefaultFileSystem 0 6 6 11 0% 0 2 0%
AppConfigCli.Editor.Commands.Add 11 68 79 124 13.9% 1 48 2%
AppConfigCli.Editor.Commands.Copy 56 15 71 107 78.8% 21 36 58.3%
AppConfigCli.Editor.Commands.Delete 13 28 41 70 31.7% 1 18 5.5%
AppConfigCli.Editor.Commands.Edit 1 153 154 268 0.6% 0 154 0%
AppConfigCli.Editor.Commands.Grep 11 14 25 45 44% 2 8 25%
AppConfigCli.Editor.Commands.Help 9 93 102 176 8.8% 0 46 0%
AppConfigCli.Editor.Commands.Json 13 35 48 80 27% 2 10 20%
AppConfigCli.Editor.Commands.Label 14 14 28 49 50% 4 14 28.5%
AppConfigCli.Editor.Commands.Open 7 28 35 61 20% 0 2 0%
AppConfigCli.Editor.Commands.Prefix 9 77 86 144 10.4% 2 54 3.7%
AppConfigCli.Editor.Commands.Quit 9 22 31 43 29% 0 14 0%
AppConfigCli.Editor.Commands.Reload 9 4 13 21 69.2% 0 0
AppConfigCli.Editor.Commands.Replace 27 52 79 116 34.1% 13 28 46.4%
AppConfigCli.Editor.Commands.Save 9 3 12 18 75% 0 0
AppConfigCli.Editor.Commands.Undo 32 44 76 133 42.1% 10 44 22.7%
AppConfigCli.Editor.Commands.WhoAmI 7 9 16 30 43.7% 0 2 0%
AppConfigCli.Editor.Commands.Yaml 13 40 53 93 24.5% 2 10 20%
AppConfigCli.EditorApp 80 433 513 933 15.5% 26 428 6%
AppConfigCli.EditorMappers 20 0 20 35 100% 0 0
AppConfigCli.HeaderLayout 41 13 54 113 75.9% 37 60 61.6%
AppConfigCli.HistoryNavigator 36 1 37 74 97.2% 11 14 78.5%
AppConfigCli.Item 7 1 8 16 87.5% 0 0
AppConfigCli.LineEditorEngine 60 0 60 98 100% 62 68 91.1%
AppConfigCli.Program 0 265 265 435 0% 0 202 0%
AppConfigCli.RangeMapper 5 0 5 23 100% 2 2 100%
AppConfigCli.StructuredEditHelper 42 23 65 140 64.6% 19 48 39.5%
AppConfigCli.TestConsoleEx 9 11 20 43 45% 1 2 50%
AppConfigCli.VersionInfo 32 25 57 96 56.1% 20 50 40%
AppConfigCli.Core 584 197 781 1449 74.7% 365 540 67.5%
AppConfigCli.Core.AppStateReconciler 69 23 92 170 75% 44 92 47.8%
AppConfigCli.Core.ChangeApplier 43 0 43 107 100% 18 20 90%
AppConfigCli.Core.Command 0 17 17 23 0% 0 0
AppConfigCli.Core.ConfigEntry 6 0 6 40 100% 0 0
AppConfigCli.Core.FlatKeyMapper 257 145 402 590 63.9% 136 252 53.9%
AppConfigCli.Core.InMemoryConfigRepository 61 3 64 141 95.3% 31 32 96.8%
AppConfigCli.Core.Item 12 0 12 33 100% 0 0
AppConfigCli.Core.ItemFilter 99 0 99 186 100% 107 112 95.5%
AppConfigCli.Core.LabelFilter 10 0 10 57 100% 12 12 100%
AppConfigCli.Core.UI.TableLayout 21 9 30 76 70% 9 12 75%
AppConfigCli.Core.UI.TextTruncation 6 0 6 26 100% 8 8 100%

@aquamoth aquamoth merged commit 10416f9 into main Oct 5, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants