$ show eclipse-wildwebdeveloper/wildwebdeveloper
Wild Web Developer is an Eclipse IDE plugin that integrates a suite of language servers (HTML, CSS, JavaScript/TypeScript, JSON, YAML, XML, Markdown, Vue, Angular, Astro, ESLint) and debug adapters (Node.js, Chrome, Firefox, npm) into the Eclipse workbench. It uses Language Server Protocol (LSP) via LSP4E and TextMate grammars for syntax highlighting, and Debug Adapter Protocol (DAP) via LSP4E's debug support. The plugin bundles an embedded Node.js runtime to execute external language servers and debug adapters, and provides extensive preference pages for each supported language. The architecture is a standard Eclipse RCP plugin with extension points for schema association and LemMinX extensions. The codebase demonstrates solid engineering practices with a clear separation between language server clients, debug delegates, and UI components, though some parts (e.g., preference pages) suffer from copy-paste duplication. It is actively maintained with frequent dependency updates and a comprehensive test suite.
The LLM identified 3 files worth highlighting for reuse:
Manages pull-based diagnostics from a Markdown language server, mapping them to Eclipse markers with debounced refresh, deduplication, and lifecycle management. This pattern is reusable for any LSP server that uses a pull model for diagnostics, providing a clean separation between server and IDE marker management.
Discovers and manages an embedded Node.js runtime, providing platform-specific binary resolution and a `which()` utility. Could be extracted as a standalone library for any Java application that needs to locate and manage a bundled Node.js installation.
Extends LSP4E's ProcessStreamConnectionProvider to automatically push Eclipse preference changes to the language server via `didChangeConfiguration`. This pattern is reusable for any Eclipse LSP client that needs to keep server settings in sync with IDE preferences.