internal static void DisplayCommandList(CommandTableHeader *commandTable) { Diagnostics.Assert(commandTable != null, "Prompter::DisplayCommandList(CommandTableHeader*): Parameter 'commandTable' is null"); if (commandTable->firstEntry == null) { ADC.TextMode.WriteLine("No commands to display; the commands list is empty."); return; } else { TextColor origForecolor = TextMode.Foreground; const int firstColWidth = 22; TextMode.SetAttributes(TextColor.White, TextMode.Background); string colALabel = " NAME"; string colBLabel = " DESCRIPTION"; TextMode.Write(colALabel); for (int spaces = firstColWidth - colALabel.Length; spaces > 0; spaces--) { ADC.TextMode.Write(" "); } TextMode.WriteLine(colBLabel); CommandTableEntry *currentEntry; for (currentEntry = commandTable->firstEntry; currentEntry != null; currentEntry = currentEntry->nextEntry) { ADC.TextMode.SetAttributes(TextColor.BrightWhite, TextMode.Background); ADC.TextMode.Write("["); ADC.TextMode.SetAttributes(TextColor.Yellow, TextMode.Background); ADC.TextMode.Write(currentEntry->name); ADC.TextMode.SetAttributes(TextColor.BrightWhite, TextMode.Background); ADC.TextMode.Write("]"); int spaces = firstColWidth - (currentEntry->name->Length) - 2; if (spaces < 0) { spaces = 0; } for (; spaces > 0; spaces--) { ADC.TextMode.Write(" "); } ADC.TextMode.SetAttributes(TextColor.Yellow, TextMode.Background); ADC.TextMode.WriteLine(currentEntry->shortDescription); } ADC.TextMode.SetAttributes(origForecolor, TextMode.Background); } }
public static CommandTableHeader *GenerateDefaultRoot() { CommandTableHeader *header = (CommandTableHeader *)SharpOS.Kernel.ADC.MemoryManager.Allocate((uint)sizeof(CommandTableHeader)); header->firstEntry = null; header->AddEntry(BuiltIn.Cls.CREATE()); header->AddEntry(BuiltIn.Commands.CREATE()); header->AddEntry(BuiltIn.CpuId.CREATE()); header->AddEntry(BuiltIn.Egg.CREATE()); header->AddEntry(BuiltIn.Halt.CREATE()); header->AddEntry(BuiltIn.Help.CREATE()); header->AddEntry(BuiltIn.Keymap.CREATE()); header->AddEntry(BuiltIn.LS.CREATE()); header->AddEntry(BuiltIn.LsPci.CREATE()); header->AddEntry(BuiltIn.MemDump.CREATE()); header->AddEntry(BuiltIn.MemView.CREATE()); header->AddEntry(BuiltIn.Panic.CREATE()); header->AddEntry(BuiltIn.Reboot.CREATE()); header->AddEntry(BuiltIn.Show.CREATE()); header->AddEntry(BuiltIn.Snake.CREATE()); header->AddEntry(BuiltIn.Stage.CREATE()); header->AddEntry(BuiltIn.Version.CREATE()); header->AddEntry(BuiltIn.Time.CREATE()); header->AddEntry(BuiltIn.Timezone.CREATE()); header->AddEntry(BuiltIn.Testcase.CREATE()); header->AddEntry(BuiltIn.ListResources.CREATE()); header->AddEntry(BuiltIn.Mount.CREATE()); header->AddEntry(BuiltIn.More.CREATE()); return(header); }
public static void Setup() { if (initialized) { return; } CommandTable = CommandTableHeader.GenerateDefaultRoot(); lineBuffer = StringBuilder.CREATE(80 * 5); initialized = true; }