How thillager/thide works
ThIDE is a Swing IDE whose main workflow is opening a project, editing source, compiling and running it, then inspecting output or debugging. The graph also preserves documented and tree-supported capabilities such as completion, outline, formatting, search, Git, and updates. Source excerpts are partial, so some subsystem entry points and their internal wiring are represented only where supported by the README or visible source; uncertain calls are omitted.
Main entry points: MainWindow.java IDE window · EditorManager.java Code editor · ProjectRunner.java Project runner · LspManager.java LSP manager
Components 25
IDE interface
- IDE window
src/main/java/ui/MainWindow.java - Project explorer
src/main/java/ui/FileTreePanel.java - Console
src/main/java/ui/ConsolePanel.java - Settings
src/main/java/ui/SettingsDialog.java
Editing and language
- Code editor
src/main/java/editor/EditorManager.java - Code outline
src/main/java/ui/OutlinePanel.java - Code formatter
src/main/java/editor/Formatter.java - Project search
src/main/java/ui/GlobalSearchPanel.java - Word completion
src/main/java/ui/WordManagerDialog.java - LSP manager
src/main/java/lsp/LspManager.java - LSP client
src/main/java/lsp/LspClient.java - Server provisioner
src/main/java/lsp/LspProvisioner.java
Build and execution
- Project runner
src/main/java/runner/ProjectRunner.java - Debug runner
src/main/java/runner/DebugRunner.java - Hot-swap engine
src/main/java/hotSwap/HotSwapEngine.java - Hot-swap worker
src/main/java/hotSwap/HotSwapWorker.java
Project integrations
- Git manager
src/main/java/git/GitManager.java - Update manager
src/main/java/update/UpdateManager.java - Preferences
src/main/java/config/TIDEPreferences.java - File model
src/main/java/model/FileNode.java
Other components
- Developer
- Language server
- Java compiler
- Git remote
- Release service
Connections 26
- Developer → IDE window: uses
- IDE window → Project explorer: shows project
- IDE window → Code editor: hosts editing
- IDE window → Console: shows output
- IDE window → Settings: opens settings
- Project explorer → File model: models files
- Code editor → Code outline: refreshes outline
- Code editor → Code formatter: formats source
- Code editor → Word completion: manages words
- Code editor → LSP manager: requests language service
- LSP manager → Server provisioner: provisions server
- LSP manager → LSP client: starts client
- LSP client → Language server: exchanges LSP
- IDE window → Project search: offers search
- IDE window → Project runner: runs project
- Project runner → Java compiler: compiles sources
- Project runner → Console: logs output
- Project runner → Debug runner: starts debugging
- Hot-swap engine → Hot-swap worker: launches worker
- Hot-swap engine → Console: logs swap status
- IDE window → Git manager: offers Git operations
- Git manager → Git remote: pushes and pulls
- IDE window → Update manager: checks updates
- Update manager → Release service: downloads release
- IDE window → Preferences: reads preferences
- Settings → Preferences: updates preferences