DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ B T ┃
Length: 54918 (0xd686) Types: TextFile Names: »B«
└─⟦bdeee703f⟧ Bits:30000538 8mm tape, Rational 1000, RWI 10_1_1 └─ ⟦545705153⟧ »DATA« └─⟦f9289093d⟧ └─⟦5f3412b64⟧ Bits:30000745 8mm tape, Rational 1000, ENVIRONMENT 12_6_5 TOOLS └─ ⟦91c658230⟧ »DATA« └─⟦f9289093d⟧ └─⟦this⟧
with Access_List; with Ada; with Cmvc; with Command; with Common; with Compilation; --/ if DOCUMENT_FORMATTER then --// with COMPOSE; --/ end if; with Debug; --/ if DESIGN_FACILITY then --// with DESIGN_IMPLEMENTATION; --/ end if; with Editor; with Io; with Job; with Library; --/ if MAIL then --// with MAIL; --/ end if; with Operator; with Queue; with Script; --/ if SPELLER then --// with SPELLER; --/ end if; with System_Utilities; with Text; with What; with Pcbasic_Key_Names; procedure Pcbasic_Commands is use Pcbasic_Key_Names; type Intent is (Interrupt, Prompt, Execute); Action : Intent; Key1, Key2, Key3, Key4, Key5, Key6 : Key_Names; begin case Action is when Interrupt => case Key1 is when C_G => Job.Interrupt; when M_G => Job.Kill (0); when others => Editor.Noop; end case; when Prompt => case Key1 is when Cms_F2 => What.Does; -- when M_F3 => -- Design.Preview (Document => "<DEFAULT>", -- In_View => "<CURSOR>", -- Options => "Build_Db=>True", -- In_Place => False, -- Response => "<PROFILE>"); when M_F4 => Library.Create_Directory (Name => ">>DIRECTORY NAME<<", Response => "USE_ERROR <PROFILE>"); when Cs_F4 => Library.Create_World (Name => ">>WORLD NAME<<", Model => "", Response => "USE_ERROR <PROFILE>"); when C_F4 => Text.Create (Image_Name => ">>IMAGE_NAME<<"); when S_F7 => Cmvc.Check_In (What_Object => "<CURSOR>", Comments => "", Work_Order => "<DEFAULT>", Response => "<PROFILE>"); when F9 => case Key2 is when 'l' | 'L' => Common.Revert; when others => Editor.Noop; end case; when F10 => case Key2 is when 'R' | 'r' => Editor.Image.Find (""); when '0' | ')' => Editor.Window.Frames (Maximum => 3); when others => Editor.Noop; end case; when C_F12 => Debug.Activate (Breakpoint => 1); when others => Editor.Noop; end case; when Execute => case Key1 is when S_Enter => Editor.Line.Insert (1); when Set_Line => Editor.Screen.Set_Lines (40); when Set_Column => Editor.Screen.Set_Columns (80); when Mouse_Cursor_Down => Editor.Cursor.Down; when Mouse_Cursor_Right => Editor.Cursor.Right; when Mouse_Screen_Down => Editor.Screen.Down; when Mouse_Screen_Right => Editor.Screen.Right; when Mouse_Button1 | S_Mouse_Button1 | Mouse_Button3 | S_Mouse_Button3 | Mouse_Button1_Up | Mouse_Button3_Up | Cs_Mouse_Button1_Dbl | Cs_Mouse_Button3_Dbl | C_Mouse_Button1_Dbl | C_Mouse_Button3_Dbl | Mouse_Button1_Move | C_Mouse_Button1_Move => Editor.Noop; when Cs_Mouse_Button1 => Editor.Region.Start; when C_Mouse_Button1 => Common.Object.Parent; when Cs_Mouse_Button3 | S_Mouse_Button1_Move | Cs_Mouse_Button1_Move => Editor.Region.Finish; when C_Mouse_Button3 => Common.Object.Child; when Mouse_Button1_Dbl => Common.Definition (Name => "<CURSOR>", In_Place => False, Visible => True); when Mouse_Button3_Dbl => Common.Enclosing (In_Place => False, Library => False); when S_Mouse_Button1_Dbl => Common.Definition (Name => "<CURSOR>", In_Place => True, Visible => True); when S_Mouse_Button3_Dbl => Common.Enclosing (In_Place => True, Library => False); when Mouse_Minus => Editor.Set.Argument_Minus; when Mouse_0 => Editor.Set.Argument_Digit (Argument => 0); when Mouse_1 => Editor.Set.Argument_Digit (Argument => 1); when Mouse_2 => Editor.Set.Argument_Digit (Argument => 2); when Mouse_3 => Editor.Set.Argument_Digit (Argument => 3); when Mouse_4 => Editor.Set.Argument_Digit (Argument => 4); when Mouse_5 => Editor.Set.Argument_Digit (Argument => 5); when Mouse_6 => Editor.Set.Argument_Digit (Argument => 6); when Mouse_7 => Editor.Set.Argument_Digit (Argument => 7); when Mouse_8 => Editor.Set.Argument_Digit (Argument => 8); when Mouse_9 => Editor.Set.Argument_Digit (Argument => 9); --[Definition] when F1 => Common.Definition (Name => "<CURSOR>", In_Place => False, Visible => True); when S_F1 => Common.Definition (Name => "<CURSOR>", In_Place => True, Visible => True); when C_F1 => What.Home_Library; --/ if DESIGN_FACILITY then --// when M_F1 => --// Design_Implementation.Definition --// (In_Place => False, Visible => True); --/ end if; when Cs_F1 => Ada.Other_Part (Name => "<IMAGE>", In_Place => False); when Ms_F1 => Ada.Other_Part (Name => "<IMAGE>", In_Place => True); when Cm_F1 => Editor.Window.Directory; when Cms_F1 => What.Does; --[Enclosing] when F2 => Common.Enclosing (In_Place => False, Library => False); when S_F2 => Common.Enclosing (In_Place => True, Library => False); when C_F2 => Common.Enclosing (In_Place => False, Library => True); --/ if DESIGN_FACILITY then --// when M_F2 => --// Design_Implementation.Enclosing (In_Place => False); --/ end if; when Cs_F2 => Editor.Noop; when Ms_F2 => Editor.Noop; when Cm_F2 => Editor.Noop; -- CMS_F2 is Prompt_For What.Does --[Edit] when F3 => Common.Edit; when S_F3 => Common.Demote; when C_F3 => Compilation.Demote (Unit => "<SELECTION>", Goal => Compilation.Source, Limit => "<WORLDS>", Effort_Only => False, Response => "<PROFILE>"); -- M_F3 is Prompt_For Design.Preview when Cs_F3 => Compilation.Demote (Unit => "<SELECTION>", Goal => Compilation.Source, Limit => "<ALL_WORLDS>", Effort_Only => False, Response => "<PROFILE>"); when Ms_F3 => Compilation.Demote (Unit => "<SELECTION>", Goal => Compilation.Installed, Limit => "<WORLDS>", Effort_Only => False, Response => "<PROFILE>"); when Cm_F3 => Editor.Window.Demote; when Cms_F3 => Compilation.Demote (Unit => "<SELECTION>", Goal => Compilation.Installed, Limit => "<ALL_WORLDS>", Effort_Only => False, Response => "<PROFILE>"); --[Create] when F4 => Common.Create_Command; when S_F4 => Ada.Create_Body (Name => "<IMAGE>"); -- C_F4 is prompt_for Text.Create -- M_F4 is prompt_for Lib.Create_Directory -- CS_F4 is prompt_for Lib.Create_World when Ms_F4 => Ada.Create_Private; when Cm_F4 => Editor.Noop; when Cms_F4 => Editor.Quit; --[Promote] when F5 => Common.Promote; when S_F5 => Ada.Code_Unit; when C_F5 => Compilation.Promote (Unit => "<IMAGE>", Scope => Compilation.Subunits_Too, Goal => Compilation.Coded, Limit => "<WORLDS>", Effort_Only => False, Response => "<PROFILE>"); when M_F5 => Command.Debug; when Cs_F5 => Compilation.Promote (Unit => "<IMAGE>", Scope => Compilation.Subunits_Too, Goal => Compilation.Coded, Limit => "<ALL_WORLDS>", Effort_Only => False, Response => "<PROFILE>"); when Ms_F5 => Compilation.Promote (Unit => "<IMAGE>", Scope => Compilation.Subunits_Too, Goal => Compilation.Installed, Limit => "<WORLDS>", Effort_Only => False, Response => "<PROFILE>"); when Cm_F5 => Editor.Window.Promote; when Cms_F5 => Compilation.Promote (Unit => "<IMAGE>", Scope => Compilation.Subunits_Too, Goal => Compilation.Installed, Limit => "<ALL_WORLDS>", Effort_Only => False, Response => "<PROFILE>"); --[Complete] when F6 => Common.Complete; when S_F6 => Cmvc.Check_Out; when C_F6 => Editor.Noop; --/ if DESIGN_FACILITY then --// when M_F6 => --// Design_Implementation.Complete; --/ end if; when Cs_F6 => Cmvc.Make_Controlled; when Ms_F6 => Editor.Noop; when Cm_F6 => Editor.Noop; when Cms_F6 => Editor.Noop; --[Format] when F7 => Common.Format; -- S_F7 is Prompt_For Cmvc.Check_In when C_F7 => Editor.Noop; --/ if DESIGN_FACILITY then --// when M_F7 => --// Design_Implementation.Format; --/ end if; when Cs_F7 => Cmvc.Edit; when Ms_F7 => Editor.Noop; when Cm_F7 => Editor.Window.Focus; when Cms_F7 => Editor.Noop; --[Semanticize] when F8 => Common.Semanticize; when S_F8 => Common.Explain; when C_F8 => Editor.Noop; --/ if DESIGN_FACILITY then --// when M_F8 => --// Design_Implementation.Explain; --/ end if; when Cs_F8 => Ada.Show_Usage (Name => "<CURSOR>", Global => True, Limit => "<WORLDS>", Closure => False); when Ms_F8 => Ada.Show_Usage (Name => "<CURSOR>", Global => False, Limit => "<WORLDS>", Closure => False); when Cm_F8 => Editor.Noop; when Cms_F8 => Editor.Noop; when F9 => --[OBJECT] case Key2 is when '/' | '?' => Common.Explain; when 'I' | 'i' => Common.Object.Insert; when 'S' | 's' => Common.Commit; when 'X' | 'x' => Common.Release; when Left => Common.Object.Parent; when Right => Common.Object.Child; when Down => Common.Object.Next; when Up => Common.Object.Previous; when 'C' | 'c' => Common.Object.Copy; when 'M' | 'm' => Common.Object.Move; when '!' | '1' => Common.Expand; when '.' | '>' => Common.Elide; when 'U' | 'u' => Common.Undo; when 'R' | 'r' => Common.Redo; when 'G' | 'g' => Common.Abandon; when 'D' | 'd' => Common.Object.Delete; when Home => Common.Object.First_Child; when End_Key => Common.Object.Last_Child; when others => Editor.Noop; end case; --[End OBJECT] when S_F9 => --[Image] case Key2 is when Home | 'B' | 'b' => Editor.Image.Beginning_Of; when End_Key | 'E' | 'e' => Editor.Image.End_Of; when 'F' | 'f' => Editor.Set.Fill_Mode (True); when 'X' | 'x' => Editor.Set.Fill_Mode (False); when 'I' | 'i' => Editor.Set.Insert_Mode (True); when 'O' | 'o' => Editor.Set.Insert_Mode (False); when Up => Editor.Image.Up; when Down => Editor.Image.Down; when Left => Editor.Image.Left; when Right => Editor.Image.Right; when others => Editor.Noop; end case; --[End Image] when C_F9 => Debug.Source; when M_F9 => Debug.Put; when Cs_F9 => Editor.Noop; when Ms_F9 => Editor.Noop; when Cm_F9 => Editor.Noop; when Cms_F9 => Editor.Noop; when F10 => --[WINDOW] case Key2 is when F1 => Editor.Window.Directory; when 'J' | 'j' => Editor.Window.Join (1); when Backspace => Editor.Window.Join (-1); when Home => Editor.Window.Beginning_Of; when End_Key => Editor.Window.End_Of; when 'C' | 'c' => Editor.Window.Copy; when 'T' | 't' => Editor.Window.Transpose; when F7 => Editor.Window.Focus; when F5 => Editor.Window.Promote; when F3 | S_F3 => Editor.Window.Demote; when '!' | '1' => Editor.Window.Expand; when '.' | '>' => Editor.Window.Expand (-4); when 'D' | 'd' => Editor.Window.Delete; when '2' | '@' => Editor.Window.Frames (2); when '3' | '#' => Editor.Window.Frames (3); when '4' | '$' => Editor.Window.Frames (4); when '5' | '%' => Editor.Window.Frames (5); when '6' | '^' => Editor.Window.Frames (6); when '7' | '&' => Editor.Window.Frames (7); when Up | 'U' | 'u' | 'P' | 'p' => Editor.Window.Previous; when Down | 'N' | 'n' => Editor.Window.Next; when Left => Editor.Window.Parent; when Right => Editor.Window.Child; when others => Editor.Noop; end case; --[End WINDOW] when S_F10 => --[Word] case Key2 is when ',' | '<' => Editor.Word.Lower_Case; when '.' | '>' => Editor.Word.Upper_Case; when '6' | '^' => Editor.Word.Capitalize; when Home | 'B' | 'b' => Editor.Word.Beginning_Of; when 'D' | 'd' => Editor.Word.Delete; when End_Key | 'E' | 'e' => Editor.Word.End_Of; when 'K' | 'k' => Editor.Word.Delete_Forward; when 'T' | 't' => Editor.Word.Transpose; when Backspace => Editor.Word.Delete_Backward; when Left => Editor.Word.Previous; when Right => Editor.Word.Next; when others => Editor.Noop; end case; --[End Word] when C_F10 => Debug.Execute; when M_F10 => Debug.Break; when Cs_F10 => Editor.Noop; when Ms_F10 => Editor.Noop; when Cm_F10 => Editor.Noop; when Cms_F10 => Editor.Noop; when F11 => --[REGION] case Key2 is when '6' | '^' => Editor.Region.Capitalize; when ',' | '<' => Editor.Region.Lower_Case; when '.' | '>' => Editor.Region.Upper_Case; when '[' | '{' => Editor.Region.Start; when ']' | '}' => Editor.Region.Finish; when '+' | '=' => Editor.Region.Uncomment; when '-' | '_' => Editor.Region.Comment; when Home | 'B' | 'b' => Editor.Region.Beginning_Of; when End_Key | 'E' | 'e' => Editor.Region.End_Of; when 'C' | 'c' => Editor.Region.Copy; when 'M' | 'm' => Editor.Region.Move; when 'X' | 'x' => Editor.Region.Off; when 'D' | 'K' | 'd' | 'k' => Editor.Region.Delete; when F6 => Editor.Region.Justify; when F7 | 'F' | 'f' => Editor.Region.Fill; when 'R' | 'r' => Editor.Hold_Stack.Rotate; Editor.Hold_Stack.Swap; when Backspace => Editor.Hold_Stack.Delete_Top; when Up => Editor.Hold_Stack.Top; when Down => Editor.Hold_Stack.Push; when Left | 'P' | 'p' => Editor.Hold_Stack.Previous; when Right | 'N' | 'n' => Editor.Hold_Stack.Next; when others => Editor.Noop; end case; --[End REGION] when S_F11 => --[Mark] case Key2 is when Backspace => Editor.Mark.Delete_Top; when Up => Editor.Mark.Top; when Down => Editor.Mark.Push; when Left | 'P' | 'p' => Editor.Mark.Previous; when Right | 'N' | 'n' => Editor.Mark.Next; when others => Editor.Noop; end case; --[End Mark] when C_F11 => Debug.Run (Stop_At => Debug.Local_Statement, Count => 1, In_Task => ""); when M_F11 => Debug.Run (Stop_At => Debug.Statement, Count => 1, In_Task => ""); when Cs_F11 => Editor.Noop; when Ms_F11 => Editor.Noop; when Cm_F11 => Editor.Noop; when Cms_F11 => Editor.Noop; when F12 => --[LINE] case Key2 is when '$' | '4' => Editor.Line.Center; when ',' | '<' => Editor.Line.Lower_Case; when '.' | '>' => Editor.Line.Upper_Case; when '6' | '^' => Editor.Line.Capitalize; when '/' | '?' => What.Line; when Home | 'B' | 'b' => Editor.Line.Beginning_Of; when End_Key | 'E' | 'e' => Editor.Line.End_Of; when 'C' | 'c' => Editor.Line.Copy; when 'D' | 'd' => Editor.Line.Delete; when 'I' | 'i' => Editor.Line.Insert (1); when 'J' | 'j' => Editor.Line.Join; when 'K' | 'k' => Editor.Line.Delete_Forward; when 'O' | 'o' => Editor.Line.Open; when 'T' | 't' => Editor.Line.Transpose; when Backspace => Editor.Line.Delete_Backward; when Up => Editor.Cursor.Up; when Down => Editor.Cursor.Down; when others => Editor.Noop; end case; --[End LINE] when S_F12 => --[Macro] case Key2 is when Home | 'b' | 'B' | '[' | '{' => Editor.Macro.Start; when End_Key | 'e' | 'E' | ']' | '}' => Editor.Macro.Finish; when F1 => Editor.Macro.Bind; when F5 => Editor.Macro.Execute; when others => Editor.Noop; end case; --[End Macro] -- C_F12 is prompt_for Debug.Activate when M_F12 => Debug.Show (Values_For => Debug.Breakpoints); when Cs_F12 => Editor.Noop; when Ms_F12 => Editor.Noop; when Cm_F12 => Editor.Noop; when Cms_F12 => Editor.Noop; --[Numeric_+ (key=107) on the PC] -- when Window => -- Debug.Run (Stop_At => Debug.Statement, -- Count => 1, -- In_Task => ""); -- -- -- -- -- S_+ appears to send the same escape -- -- sequence as an unmodified numeric + -- -- so this arm cannot be reached -- -- -- when S_Window => -- Io.Echo_Line ("Shift Window"); -- -- when C_Window => -- Debug.Run (Stop_At => Debug.Local_Statement, -- Count => 1, -- In_Task => ""); -- -- when M_Window => -- Io.Echo_Line ("Meta Window"); -- -- -- -- -- -- -- --[Virtual Keys used for menu picks] -- when Menu_Pick => case Key2 is when '0' => Io.Echo ("User Menu-Pick 0" & Ascii.Lf); when '1' => Io.Echo ("User Menu-Pick 1" & Ascii.Lf); when '2' => Io.Echo ("User Menu-Pick 2" & Ascii.Lf); when '3' => Io.Echo ("User Menu-Pick 3" & Ascii.Lf); when '4' => Io.Echo ("User Menu-Pick 4" & Ascii.Lf); when '5' => Io.Echo ("User Menu-Pick 5" & Ascii.Lf); when '6' => Io.Echo ("User Menu-Pick 6" & Ascii.Lf); when '7' => Io.Echo ("User Menu-Pick 7" & Ascii.Lf); when '8' => Io.Echo ("User Menu-Pick 8" & Ascii.Lf); when '9' => Io.Echo ("User Menu-Pick 9" & Ascii.Lf); when others => null; end case; -- -- when F2 => -- -- --[Misc Commands] -- -- case Key2 is -- -- --[Help Commands] -- -- when 'h' | 'H' => -- -- case Key3 is -- -- when 'g' | 'G' => -- Common.Definition -- ("!Local.Help_System.Index"); -- -- when 'k' | 'K' => -- Editor.Key.Name; -- -- when 'a' | 'A' => -- What.Does; -- -- when others => -- Editor.Noop; -- -- end case; -- -- -- -- when 'k' | 'K' => -- Job.Kill (The_Job => 0, The_Session => ""); -- -- -- when 'i' | 'I' => -- Job.Interrupt; -- -- -- when 'q' | 'Q' => -- Editor.Quit; -- -- -- -- when 'd' | 'D' => -- -- -- Traversal -- -- case Key3 is -- -- when 'e' | 'E' => -- Common.Enclosing (In_Place => False, -- Library => True); -- -- when 'h' | 'H' => -- What.Home_Library; -- -- when 'o' | 'O' => -- Ada.Other_Part (Name => "<IMAGE>", -- In_Place => False); -- -- when 'p' | 'P' => -- Ada.Other_Part (Name => "<IMAGE>", -- In_Place => True); -- -- when others => -- Editor.Noop; -- -- end case; -- -- -- -- -- when 'r' | 'R' => -- case Key3 is -- -- when 'f' | 'F' => -- Editor.Search.Replace_Next; -- -- when 'b' | 'B' => -- Editor.Search.Replace_Previous; -- -- when others => -- Editor.Noop; -- -- end case; -- -- -- when 's' | 'S' => -- case Key3 is -- -- when 'f' | 'F' => -- Editor.Search.Next; -- -- when 'b' | 'B' => -- Editor.Search.Previous; -- -- when 'n' | 'N' => -- Editor.Cursor.Next (Prompt => True, -- Underline => True); -- -- when 'p' | 'P' => -- Editor.Cursor.Previous -- (Prompt => True, Underline => True); -- -- when others => -- Editor.Noop; -- end case; -- -- -- -- when others => -- Editor.Noop; -- -- end case; -- -- -- -- when S_F2 => -- -- --[Analysis Commands] -- -- case Key2 is -- -- when 's' | 'S' => -- Speller.Check_Image; -- -- when 'u' | 'U' => -- Ada.Show_Usage (Name => "<CURSOR>", -- Global => True, -- Limit => "<ALL_WORLDS>", -- Closure => False); -- -- when others => -- Editor.Noop; -- -- end case; -- -- -- -- when C_F2 => -- -- --[CMVC Commands] -- -- case Key2 is -- -- when 'c' | 'C' => -- -- case Key3 is -- -- when 'o' | 'O' => -- Cmvc.Check_Out; -- -- when others => -- Editor.Noop; -- -- end case; -- -- when 'e' | 'E' => -- Cmvc.Edit; -- -- when 'm' | 'M' => -- Cmvc.Make_Controlled -- (What_Object => "<CURSOR>", -- Reservation_Token_Name => "<AUTO_GENERATE>", -- Join_With_View => "<NONE>", -- Save_Source => True, -- Comments => "", -- Work_Order => "<DEFAULT>", -- Response => "<PROFILE>"); -- -- when others => -- Editor.Noop; -- -- end case; -- -- -- case Key2 is -- -- when others => -- Editor.Noop; -- -- end case; -- -- -- -- when Cm_F2 => -- -- --[Mail Commands] -- -- case Key2 is -- -- when 'f' | 'F' => -- Mail.Forward; -- -- when 'o' | 'O' => -- Mail.Edit; -- -- when 'r' | 'R' => -- Mail.Reply (To_All => True); -- -- when 's' | 'S' => -- Mail.Send; -- -- when others => -- Editor.Noop; -- -- end case; -- -- -- -- when Cs_F2 => -- -- --[Debug Commands] -- -- case Key2 is -- -- when 'x' | 'X' => -- Debug.Execute; -- -- when 'p' | 'P' => -- Debug.Put; -- -- when 'b' | 'B' => -- Debug.Break; -- -- when 's' | 'S' => -- Debug.Source; -- -- when others => -- Editor.Noop; -- -- end case; -- -- -- -- -- --[Create Commands] -- -- when Ms_F2 => -- -- case Key2 is -- -- when 'p' | 'P' => -- Ada.Create_Private; -- -- when others => -- Editor.Noop; -- -- end case; -- -- -- -- -- when Cms_F2 => -- -- --[Promotion/Demotion Commands] -- -- case Key2 is -- -- when 'c' | 'C' => -- -- case Key3 is -- -- when 'a' | 'A' => -- Compilation.Promote -- (Unit => "<IMAGE>", -- Scope => Compilation.Subunits_Too, -- Goal => Compilation.Coded, -- Limit => "<ALL_WORLDS>", -- Effort_Only => False, -- Response => "<PROFILE>"); -- -- when others => -- Editor.Noop; -- -- end case; -- -- -- when 'i' | 'I' => -- -- case Key3 is -- -- when 'a' | 'A' => -- Compilation.Promote -- (Unit => "<IMAGE>", -- Scope => Compilation.Subunits_Too, -- Goal => Compilation.Installed, -- Limit => "<ALL_WORLDS>", -- Effort_Only => False, -- Response => "<PROFILE>"); -- -- when 'w' | 'W' => -- Compilation.Promote -- (Unit => "<IMAGE>", -- Scope => Compilation.Subunits_Too, -- Goal => Compilation.Installed, -- Limit => "<WORLDS>", -- Effort_Only => False, -- Response => "<PROFILE>"); -- -- when 'u' | 'U' => -- Ada.Install_Unit; -- -- when others => -- Editor.Noop; -- -- end case; -- -- when 's' | 'S' => -- -- case Key3 is -- -- when 'a' | 'A' => -- Compilation.Demote -- (Unit => "<SELECTION>", -- Goal => Compilation.Source, -- Limit => "<ALL_WORLDS>", -- Effort_Only => False, -- Response => "<PROFILE>"); -- -- when others => -- Editor.Noop; -- -- end case; -- -- -- -- when others => -- Editor.Noop; -- -- end case; -- -- -- --[End Virtual Keys] -- --[Ins (key=45) on the PC] when Insert => Editor.Key.Prompt; --[General Cursor Movement] when Home => Editor.Line.Beginning_Of; when End_Key => Editor.Line.End_Of; when Up => Editor.Cursor.Up; when Down => Editor.Cursor.Down; when Left => Editor.Cursor.Left; when Right => Editor.Cursor.Right; --[General Editor Operations] when ' ' | S_Space => Editor.Char.Insert_Character (1, ' '); when Backspace => Editor.Char.Delete_Backward; when Enter => Editor.Line.Indent; when Delete => Editor.Char.Delete_Forward; --[Search/Replace Operations] when C_S | C_F => Editor.Search.Next (Target => "", Wildcard => False); when C_R | C_B => Editor.Search.Previous (Target => "", Wildcard => False); when M_S | M_F => Editor.Search.Replace_Next (Target => "", Replacement => "", Repeat => 1, Wildcard => False); when M_R | M_B => Editor.Search.Replace_Previous (Target => "", Replacement => "", Repeat => 1, Wildcard => False); --[Image Operations] when Page_Up => Editor.Image.Up; when Page_Down => Editor.Image.Down; when S_Home | C_Home => Editor.Image.Beginning_Of; when S_End_Key | C_End_Key => Editor.Image.End_Of; when S_Up => Editor.Image.Up; when S_Down => Editor.Image.Down; --[Accelerated Object Operations] when C_Up => Common.Object.Previous; when C_Down => Common.Object.Next; when C_Left => Common.Object.Parent; when C_Right => Common.Object.Child; when C_Slash => Common.Explain; --[Accelerated Traversal Operations] when S_Left => Common.Enclosing (In_Place => True, Library => False); when S_Right => Common.Definition (Name => "<CURSOR>", In_Place => True, Visible => False); when Cm_Left => Common.Enclosing (In_Place => False, Library => False); when Cm_Right => Common.Definition (Name => "<CURSOR>", In_Place => False, Visible => False); --[Accelerated Window Operations] when M_V | Cm_Down => Editor.Window.Next; when M_Z | Cm_Up => Editor.Window.Previous; when Cm_Home => Editor.Window.Beginning_Of; when Cm_End_Key => Editor.Window.End_Of; when Cm_J => Editor.Window.Join; when Cm_Backspace => Editor.Window.Join (-1); when Cm_1 => Editor.Window.Expand (4); when Cm_Period => Editor.Window.Expand (-4); when Cm_D => Editor.Window.Delete; --[Accelerated Word Operations] when M_Home => Editor.Word.Beginning_Of; when M_End_Key => Editor.Word.End_Of; when M_Left => Editor.Word.Previous; when M_Right => Editor.Word.Next; when M_Comma | M_Less_Than => Editor.Word.Lower_Case; when M_Period | M_Greater_Than => Editor.Word.Upper_Case; when M_6 | M_Circumflex => Editor.Word.Capitalize; when M_C | M_Y => Editor.Hold_Stack.Next; when M_D => Editor.Word.Delete; when M_E => Editor.Word.End_Of; when M_K => Editor.Word.Delete_Forward; when M_L => Editor.Screen.Clear; when M_O => Editor.Line.Join; when M_Q => Editor.Key.Prompt (Key_Code => ""); when M_T => Editor.Word.Transpose; when M_Backspace => Editor.Word.Delete_Backward; --[Accelerated Macro Operations] when M_X => Editor.Macro.Execute; when M_Left_Bracket => Editor.Macro.Start; when M_Right_Bracket => Editor.Macro.Finish; --[Accelerated Mark Operations] when C_M => Editor.Mark.Push; when M_M => Editor.Mark.Next; --[Accelerated Item Operations] when M_Down | M_N => Editor.Cursor.Next (Prompt => True, Underline => True); when M_Up | M_U | M_P => Editor.Cursor.Previous (Prompt => True, Underline => True); --[Accelerated RDF Commands] when M_Minus => Editor.Char.Insert_String ("--| "); when M_2 => case Key2 is when 'r' | 'R' => Editor.Char.Insert_String ("--| @REQUIREMENT"); when 's' | 'S' => Editor.Char.Insert_String ("--| @SATISFIES "); when others => Editor.Noop; end case; --[Numeric keypad] when Numeric_0 | C_0 => Editor.Set.Argument_Digit (0); when Numeric_1 | C_1 => Editor.Set.Argument_Digit (1); when Numeric_2 | C_2 => Editor.Set.Argument_Digit (2); when Numeric_3 | C_3 => Editor.Set.Argument_Digit (3); when Numeric_4 | C_4 => Editor.Set.Argument_Digit (4); when Numeric_5 | C_5 => Editor.Set.Argument_Digit (5); when Numeric_6 | C_6 => Editor.Set.Argument_Digit (6); when Numeric_7 | C_7 => Editor.Set.Argument_Digit (7); when Numeric_8 | C_8 => Editor.Set.Argument_Digit (8); when Numeric_9 | C_9 => Editor.Set.Argument_Digit (9); when Numeric_Minus | C_Minus => Editor.Set.Argument_Minus; when C_Equal | C_Plus => Editor.Char.Insert_String ("=>"); when C_Semicolon | C_Colon => Editor.Char.Insert_String (":="); when C_Comma | C_Less_Than => Editor.Char.Lower_Case; when C_Period | C_Greater_Than => Editor.Char.Upper_Case; when C_Tick => Editor.Char.Quote; when C_A => Editor.Line.Beginning_Of; when C_C => Editor.Hold_Stack.Push; when C_D => Editor.Char.Delete_Forward; when C_H => Editor.Cursor.Left; when C_I => Editor.Line.Insert (-1); when C_J => Editor.Cursor.Right; when C_K => Editor.Line.Delete_Forward; when C_L => Editor.Screen.Redraw; when C_N => Editor.Cursor.Down; when C_O => Editor.Line.Open; when C_Q => Editor.Key.Name; when C_T => Editor.Char.Transpose; when C_U => Editor.Cursor.Up; when C_V => Editor.Image.Down; when C_W => Editor.Region.Delete; when C_X => Editor.Set.Designation_Off; when C_Y => Editor.Hold_Stack.Top; when C_Z => Editor.Image.Up; when C_Left_Bracket | C_Left_Brace => Editor.Region.Start; when C_Right_Bracket | C_Right_Brace => Editor.Region.Finish; when C_Backspace => Editor.Char.Delete_Spaces; when Tab => Editor.Char.Tab_Forward; when C_Tab => Editor.Char.Tab_Backward; when others => Editor.Noop; end case; end case; end Pcbasic_Commands;