-
Notifications
You must be signed in to change notification settings - Fork 23
Feature/add terminal gui #108
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/add terminal gui #108
Conversation
Added various file types and IDE directories to .gitignore to prevent them from being tracked.
Updated project details and dependencies for MyCMD-GUI.
Removed command-line interface code and added JavaFX GUI launch.
Refactor Command interface to define description and usage methods.
Removed unused methods and variables related to command history and environment variables. Simplified alias management.
This class provides functionality to register and retrieve commands by their names, ensuring case insensitivity.
This class serves as the central execution engine for processing commands.
Implement a developer console mode for debugging commands.
Implement JavaFX application for MyCMD terminal.
Updated build script to use Maven Wrapper and improved output messages.
Updated build script to use Maven Wrapper and simplified the build process.
|
🚀 Hi @anshumanjadiya1102! Thank you for contributing to MyCMD. A maintainer will review your PR shortly. 🎉 |
|
Caution Review failedThe pull request is closed. WalkthroughRefactors MyCMD from a CLI shell to a JavaFX GUI application. Updates Maven configuration with JavaFX dependencies and plugins, adds GitHub Actions CI/CD workflow, introduces new GUI components (MainApp, TerminalController) with FXML layout and CSS styling, reorganizes build scripts, creates launcher scripts, and simplifies the shell infrastructure with updated core classes. Changes
Sequence DiagramsequenceDiagram
actor User
participant Launcher as MyCMD.bat
participant App as App.main()
participant MainApp as MainApp (JavaFX)
participant TerminalController
participant ShellEngine
participant CommandRegistry
User->>Launcher: Execute MyCMD.bat
Launcher->>Launcher: Set MYCMD_LAUNCHED=true
Launcher->>App: javaw -jar MyCMD-GUI.jar
App->>App: Check MYCMD_LAUNCHED env var
alt MYCMD_LAUNCHED != true
App->>App: Print error & exit
else Valid launch
App->>MainApp: Application.launch(MainApp.class)
MainApp->>MainApp: Initialize ShellContext
MainApp->>MainApp: Initialize CommandRegistry
MainApp->>MainApp: registerBuiltIns (alias, dir, echo)
MainApp->>MainApp: Load terminal.fxml
MainApp->>TerminalController: init(ShellEngine, ShellContext)
MainApp->>MainApp: Show Stage with scene
TerminalController->>TerminalController: Display welcome message
loop User interaction
User->>TerminalController: Type command + Enter
TerminalController->>TerminalController: Echo input to output
TerminalController->>ShellEngine: execute(input)
ShellEngine->>ShellEngine: Resolve command via alias
ShellEngine->>CommandRegistry: get(commandName)
CommandRegistry-->>ShellEngine: Return Command
ShellEngine->>ShellEngine: cmd.execute(args, context)
ShellEngine-->>TerminalController: Command output
TerminalController->>TerminalController: Append to output area
end
end
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Areas requiring extra attention:
Poem
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (21)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
🚀 Hi @anshumanjadiya1102! Thank you for contributing to MyCMD. A maintainer will review your PR shortly. 🎉 |
Making MyCMD's own Window and updating installer
Summary by CodeRabbit
Release Notes
New Features
Chores