Public Class Terminal Public command As String Public DefaultPrompt As String Public TrackPos As Integer Public AdvancedCommand As Boolean Public BadCommand As Boolean Private Sub Terminal_Load(sender As Object, e As EventArgs) Handles MyBase.Load FormBorderStyle = FormBorderStyle.None WindowState = FormWindowState.Maximized If Strings.IsFree = True Then Strings.ComputerInfo(0) = "shiftos" Strings.ComputerInfo(1) = "user" Strings.ComputerInfo(2) = 0 PrintPrompt() AssignPrompt() Else End If TextBox1.Select(TextBox1.TextLength, 0) TextBox1.ScrollToCaret() End Sub Public Sub PrintPrompt() If TextBox1.Text = Nothing Then If Strings.OnceInfo(0) = "Yes" Then TextBox1.Text = "root@" & Strings.ComputerInfo(0) & " #> " Else TextBox1.Text = Strings.ComputerInfo(1) & "@" & Strings.ComputerInfo(0) & " $> " End If Else If Strings.OnceInfo(0) = "Yes" Then TextBox1.Text = TextBox1.Text & Environment.NewLine & "root@" & Strings.ComputerInfo(0) & " #> " Else TextBox1.Text = TextBox1.Text & Environment.NewLine & Strings.ComputerInfo(1) & "@" & Strings.ComputerInfo(0) & " $> " End If End If End Sub Public Sub AssignPrompt() If Strings.OnceInfo(0) = "Yes" Then DefaultPrompt = "root@" & Strings.ComputerInfo(0) & " #> " Else DefaultPrompt = Strings.ComputerInfo(1) & "@" & Strings.ComputerInfo(0) & " $> " End If End Sub Private Sub Undeveloped() TextBox1.Text = TextBox1.Text & Environment.NewLine & "Oopsie! It's only for newer version" End Sub Private Sub ReadCommand() command = TextBox1.Lines(TextBox1.Lines.Length - 1) command = command.Replace(DefaultPrompt, "") command = command.ToLower() End Sub Private Sub DoCommand() AdvancedCommand = True BadCommand = True Select Case command Case "" AdvancedCommand = False BadCommand = False Case "clear" If Strings.AvailableFeature(1) = "1" Then TextBox1.Text = Nothing AdvancedCommand = False BadCommand = False End If Case "codepoint" TextBox1.Text = TextBox1.Text & Environment.NewLine & Strings.ComputerInfo(2) & " Codepoint(s) available in your wallet" AdvancedCommand = False BadCommand = False Case "guess" 'AppHost("gtn") Undeveloped() Case "help" TextBox1.Text = TextBox1.Text & Environment.NewLine & "ShiftOS Help Manual" & Environment.NewLine & Environment.NewLine & "You can type 'help' to get all available commands and its corresponding action." If Strings.AvailableFeature(0) = 1 Then TextBox1.Text = TextBox1.Text & Environment.NewLine & "To get help on each command, you can type 'man [command]'" & Environment.NewLine Else TextBox1.Text = TextBox1.Text & Environment.NewLine End If If Strings.AvailableFeature(1) = 1 Then TextBox1.Text = TextBox1.Text & Environment.NewLine & "CLEAR Clear the terminal" End If TextBox1.Text = TextBox1.Text & Environment.NewLine & "CODEPOINT Display Codepoint(s) from your wallet" TextBox1.Text = TextBox1.Text & Environment.NewLine & "HELP Shows all commands available and its corresponding action" If Strings.AvailableFeature(0) = 1 Then TextBox1.Text = TextBox1.Text & Environment.NewLine & "MAN Shows a command, its corresponding action, and its example usage" End If TextBox1.Text = TextBox1.Text & Environment.NewLine & "SHIFTORIUM Terminate ShiftOS session" TextBox1.Text = TextBox1.Text & Environment.NewLine & "SHUTDOWN Terminate ShiftOS session" TextBox1.Text = TextBox1.Text & Environment.NewLine & "SU Runs terminal as super user" TextBox1.Text = TextBox1.Text & Environment.NewLine & "VER Printing current version of ShiftOS TheRevival" TextBox1.Text = TextBox1.Text & Environment.NewLine AdvancedCommand = False BadCommand = False Case "su" If Strings.OnceInfo(0) = "Yes" Then TextBox1.Text = TextBox1.Text & Environment.NewLine & "You already in root mode!" Else Strings.OnceInfo(0) = "Yes" AssignPrompt() End If AdvancedCommand = False BadCommand = False Case "shutdown", "shut down" ShiftOSMenu.Show() Close() Case "ver" TextBox1.Text = TextBox1.Text & Environment.NewLine & "ShiftOS TheRevival version 0.1.1" AdvancedCommand = False BadCommand = False End Select If AdvancedCommand = True Then If command Like "man *" Then 'MAN command starts with this kinda format 'ShiftOS Help Manual ' ''command' Usage: [switch/value if needed] ' 'Summary of the command's action ' 'Example usage : command TextBox1.Text = TextBox1.Text & Environment.NewLine & "ShiftOS Help Manual" & Environment.NewLine 'TextBox1.Text = TextBox1.Text & Environment.NewLine & command.Substring(4) Dim mancommand As String = command.Replace("man ", "") Dim TempUsage As String = "'" & mancommand & "' Usage: " Select Case mancommand Case "clear" TempUsage = TempUsage & "clear" TextBox1.Text = TextBox1.Text & TempUsage & Environment.NewLine & Environment.NewLine & "Clears all contents of the terminal" & Environment.NewLine BadCommand = False Case "codepoint" TempUsage = TempUsage & "codepoint" TextBox1.Text = TextBox1.Text & TempUsage & Environment.NewLine & Environment.NewLine & "Shows the value of codepoint in your wallet" & Environment.NewLine BadCommand = False Case "help" TempUsage = TempUsage & "help" TextBox1.Text = TextBox1.Text & TempUsage & Environment.NewLine & Environment.NewLine & "Shows all commands available in the terminal and its brief explanation of action" & Environment.NewLine BadCommand = False Case "man" TempUsage = TempUsage & "man [command]" TextBox1.Text = TextBox1.Text & TempUsage & Environment.NewLine & Environment.NewLine & "Shows up a manual on each corresponding command and its example of action" & Environment.NewLine & Environment.NewLine & "[COMMAND] Any command that you want to get the manual for" & Environment.NewLine & Environment.NewLine & "Example: man help" BadCommand = False Case "shutdown" TempUsage = TempUsage & "shutdown" TextBox1.Text = TextBox1.Text & TempUsage & Environment.NewLine & Environment.NewLine & "Terminate ShiftOS session" & Environment.NewLine BadCommand = False Case "ver" TempUsage = TempUsage & "ver" TextBox1.Text = TextBox1.Text & TempUsage & Environment.NewLine & Environment.NewLine & "Displays current version of ShiftOS TheRevival" & Environment.NewLine BadCommand = False Case Else TextBox1.Text = TextBox1.Text & Environment.NewLine & "MAN : Invalid command" End Select End If If command Like "shiftorium *" Then Dim prompt As String = command.Replace("shiftorium ", "") If prompt Like "info *" Then End If If prompt Like "install *" Then End If If prompt = "list" Then End If End If If command Like "print *" Then TextBox1.Text = TextBox1.Text & Environment.NewLine & command.Substring(6) Dim printed As String = command.Replace("print ", "") ''It has the same issue, only displays in lowercase 'TextBox1.Text = TextBox1.Text & Environment.NewLine & printed BadCommand = False End If AdvancedCommand = False End If If BadCommand = True Then TextBox1.Text = TextBox1.Text & Environment.NewLine & "Bad command or wrong file name" End If End Sub Private Sub txtterm_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown If e.KeyCode = Keys.T AndAlso e.Control Then Me.Hide() e.SuppressKeyPress = True End If Select Case e.KeyCode Case Keys.ShiftKey TrackPos = TrackPos - 1 Case Keys.Alt TrackPos = TrackPos - 1 Case Keys.CapsLock TrackPos = TrackPos - 1 Case Keys.ControlKey TrackPos = TrackPos - 1 Case Keys.LWin TrackPos = TrackPos - 1 Case Keys.RWin TrackPos = TrackPos - 1 Case Keys.Right If TextBox1.SelectionStart = TextBox1.TextLength Then TrackPos = TrackPos - 1 End If Case Keys.Left If TrackPos < 1 Then e.SuppressKeyPress = True TrackPos = TrackPos - 1 Else TrackPos = TrackPos - 2 End If Case Keys.Up e.SuppressKeyPress = True TrackPos = TrackPos - 1 Case Keys.Down e.SuppressKeyPress = True TrackPos = TrackPos - 1 End Select If e.KeyCode = Keys.Enter Then e.SuppressKeyPress = True ReadCommand() DoCommand() If command = "clear" Then PrintPrompt() TextBox1.Select(TextBox1.Text.Length, 0) Else PrintPrompt() TextBox1.Select(TextBox1.Text.Length, 0) End If TrackPos = 0 Else If e.KeyCode = Keys.Back Then Else TrackPos = TrackPos + 1 End If End If If e.KeyCode = Keys.Back Then If TrackPos < 1 Then e.SuppressKeyPress = True Else If TextBox1.SelectedText.Length < 1 Then TrackPos = TrackPos - 1 Else e.SuppressKeyPress = True End If End If End If TextBox1.Select(TextBox1.TextLength, 0) TextBox1.ScrollToCaret() End Sub Private Sub TextBox1_Click(sender As Object, e As EventArgs) Handles TextBox1.Click, TextBox1.MouseDoubleClick TextBox1.Select(TextBox1.TextLength, 0) TextBox1.ScrollToCaret() End Sub End Class