mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Colorify SCSI MODE PAGE 0Dh
This commit is contained in:
@@ -85,89 +85,91 @@ public static partial class Modes
|
|||||||
ModePage_0D page = modePage.Value;
|
ModePage_0D page = modePage.Value;
|
||||||
var sb = new StringBuilder();
|
var sb = new StringBuilder();
|
||||||
|
|
||||||
sb.AppendLine(Localization.SCSI_CD_ROM_parameters_page);
|
sb.AppendLine($"[bold][blue]{Localization.SCSI_CD_ROM_parameters_page}[/][/]");
|
||||||
|
|
||||||
if(page.PS) sb.AppendLine("\t" + Localization.Parameters_can_be_saved);
|
if(page.PS) sb.AppendLine($"\t[green]{Localization.Parameters_can_be_saved}[/]");
|
||||||
|
|
||||||
switch(page.InactivityTimerMultiplier)
|
switch(page.InactivityTimerMultiplier)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
sb.AppendLine("\t" +
|
sb.AppendLine($"\t[slateblue1]{Localization.Drive_will_remain_in_track_hold_state_a_vendor_specified_time_after_a_seek_or_read}[/]");
|
||||||
Localization
|
|
||||||
.Drive_will_remain_in_track_hold_state_a_vendor_specified_time_after_a_seek_or_read);
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
sb.AppendLine("\t" + Localization.Drive_will_remain_in_track_hold_state_125_ms_after_a_seek_or_read);
|
sb.AppendLine($"\t[slateblue1]{MarkupHelper.HighlightNumbers(Localization.Drive_will_remain_in_track_hold_state_125_ms_after_a_seek_or_read, "lime")}[/]");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
sb.AppendLine("\t" + Localization.Drive_will_remain_in_track_hold_state_250_ms_after_a_seek_or_read);
|
sb.AppendLine($"\t[slateblue1]{MarkupHelper.HighlightNumbers(Localization.Drive_will_remain_in_track_hold_state_250_ms_after_a_seek_or_read, "lime")}[/]");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
sb.AppendLine("\t" + Localization.Drive_will_remain_in_track_hold_state_500_ms_after_a_seek_or_read);
|
sb.AppendLine($"\t[slateblue1]{MarkupHelper.HighlightNumbers(Localization.Drive_will_remain_in_track_hold_state_500_ms_after_a_seek_or_read, "lime")}[/]");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
sb.AppendLine("\t" + Localization.Drive_will_remain_in_track_hold_state_1_second_after_a_seek_or_read);
|
sb.AppendLine($"\t[slateblue1]{MarkupHelper.HighlightNumbers(Localization.Drive_will_remain_in_track_hold_state_1_second_after_a_seek_or_read, "lime")}[/]");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
sb.AppendLine("\t" + Localization.Drive_will_remain_in_track_hold_state_2_seconds_after_a_seek_or_read);
|
sb.AppendLine($"\t[slateblue1]{MarkupHelper.HighlightNumbers(Localization.Drive_will_remain_in_track_hold_state_2_seconds_after_a_seek_or_read, "lime")}[/]");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
sb.AppendLine("\t" + Localization.Drive_will_remain_in_track_hold_state_4_seconds_after_a_seek_or_read);
|
sb.AppendLine($"\t[slateblue1]{MarkupHelper.HighlightNumbers(Localization.Drive_will_remain_in_track_hold_state_4_seconds_after_a_seek_or_read, "lime")}[/]");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
sb.AppendLine("\t" + Localization.Drive_will_remain_in_track_hold_state_8_seconds_after_a_seek_or_read);
|
sb.AppendLine($"\t[slateblue1]{MarkupHelper.HighlightNumbers(Localization.Drive_will_remain_in_track_hold_state_8_seconds_after_a_seek_or_read, "lime")}[/]");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
sb.AppendLine("\t" +
|
sb.AppendLine($"\t[slateblue1]{
|
||||||
Localization.Drive_will_remain_in_track_hold_state_16_seconds_after_a_seek_or_read);
|
MarkupHelper.HighlightNumbers(Localization.Drive_will_remain_in_track_hold_state_16_seconds_after_a_seek_or_read, "lime")}[/]");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 9:
|
||||||
sb.AppendLine("\t" +
|
sb.AppendLine($"\t[slateblue1]{
|
||||||
Localization.Drive_will_remain_in_track_hold_state_32_seconds_after_a_seek_or_read);
|
MarkupHelper.HighlightNumbers(Localization.Drive_will_remain_in_track_hold_state_32_seconds_after_a_seek_or_read, "lime")}[/]");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
sb.AppendLine("\t" + Localization.Drive_will_remain_in_track_hold_state_1_minute_after_a_seek_or_read);
|
sb.AppendLine($"\t[slateblue1]{MarkupHelper.HighlightNumbers(Localization.Drive_will_remain_in_track_hold_state_1_minute_after_a_seek_or_read, "lime")}[/]");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 11:
|
||||||
sb.AppendLine("\t" + Localization.Drive_will_remain_in_track_hold_state_2_minutes_after_a_seek_or_read);
|
sb.AppendLine($"\t[slateblue1]{MarkupHelper.HighlightNumbers(Localization.Drive_will_remain_in_track_hold_state_2_minutes_after_a_seek_or_read, "lime")}[/]");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 12:
|
case 12:
|
||||||
sb.AppendLine("\t" + Localization.Drive_will_remain_in_track_hold_state_4_minutes_after_a_seek_or_read);
|
sb.AppendLine($"\t[slateblue1]{MarkupHelper.HighlightNumbers(Localization.Drive_will_remain_in_track_hold_state_4_minutes_after_a_seek_or_read, "lime")}[/]");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 13:
|
case 13:
|
||||||
sb.AppendLine("\t" + Localization.Drive_will_remain_in_track_hold_state_8_minutes_after_a_seek_or_read);
|
sb.AppendLine($"\t[slateblue1]{MarkupHelper.HighlightNumbers(Localization.Drive_will_remain_in_track_hold_state_8_minutes_after_a_seek_or_read, "lime")}[/]");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 14:
|
case 14:
|
||||||
sb.AppendLine("\t" +
|
sb.AppendLine($"\t[slateblue1]{
|
||||||
Localization.Drive_will_remain_in_track_hold_state_16_minutes_after_a_seek_or_read);
|
MarkupHelper.HighlightNumbers(Localization.Drive_will_remain_in_track_hold_state_16_minutes_after_a_seek_or_read, "lime")}[/]");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 15:
|
case 15:
|
||||||
sb.AppendLine("\t" +
|
sb.AppendLine($"\t[slateblue1]{
|
||||||
Localization.Drive_will_remain_in_track_hold_state_32_minutes_after_a_seek_or_read);
|
MarkupHelper.HighlightNumbers(Localization.Drive_will_remain_in_track_hold_state_32_minutes_after_a_seek_or_read, "lime")}[/]");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(page.SecondsPerMinute > 0)
|
if(page.SecondsPerMinute > 0)
|
||||||
sb.AppendFormat("\t" + Localization.Each_minute_has_0_seconds, page.SecondsPerMinute).AppendLine();
|
sb.AppendFormat($"\t[slateblue1]{Localization.Each_minute_has_0_seconds}[/]",
|
||||||
|
$"[lime]{page.SecondsPerMinute}[/]")
|
||||||
|
.AppendLine();
|
||||||
|
|
||||||
if(page.FramesPerSecond > 0)
|
if(page.FramesPerSecond > 0)
|
||||||
sb.AppendFormat("\t" + Localization.Each_second_has_0_frames, page.FramesPerSecond).AppendLine();
|
sb.AppendFormat($"\t[slateblue1]{Localization.Each_second_has_0_frames}[/]",
|
||||||
|
$"[lime]{page.FramesPerSecond}[/]")
|
||||||
|
.AppendLine();
|
||||||
|
|
||||||
return sb.ToString();
|
return sb.ToString();
|
||||||
}
|
}
|
||||||
|
|||||||
27
Aaru.Helpers/MarkupHelpers.cs
Normal file
27
Aaru.Helpers/MarkupHelpers.cs
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
|
public static class MarkupHelper
|
||||||
|
{
|
||||||
|
public static string HighlightNumbers(string input, string color, bool italicize = false)
|
||||||
|
{
|
||||||
|
if(string.IsNullOrEmpty(input) || string.IsNullOrEmpty(color)) return input;
|
||||||
|
|
||||||
|
// Match integers and decimals (e.g., 42, 3.14, -7)
|
||||||
|
string pattern = @"(?<!
|
||||||
|
|
||||||
|
\[" +
|
||||||
|
Regex.Escape(color) +
|
||||||
|
@"\]
|
||||||
|
|
||||||
|
)(-?\d+(\.\d+)?)(?!
|
||||||
|
|
||||||
|
\[/\]
|
||||||
|
|
||||||
|
)";
|
||||||
|
|
||||||
|
string openingTag = italicize ? $"[italic][{color}]" : $"[{color}]";
|
||||||
|
string closingTag = italicize ? "[/][/]" : "[/]";
|
||||||
|
|
||||||
|
return Regex.Replace(input, pattern, $"{openingTag}$1{closingTag}");
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user