About this project

Codium::Blocks is a native IDE prototype designed for multi-language development, explicitly avoiding Electron dependencies. Built on a C++/wxWidgets core, it aims to provide a lightweight yet extensible environment for Windows, macOS, and Linux. Key architectural components include: - **Native Core**: A C++ application using wxWidgets for UI and document management, featuring syntax highlighting for C/C++, Python, Rust, Go, Java, JavaScript, TypeScript, JSON, HTML, CSS, Markdown, YAML, and CMake. - **Extension Host**: An optional, out-of-process Node.js host that implements a subset of the VS Code extension API (commands, window, workspace, languages, etc.). It supports loading CommonJS extensions via `.vsix` packages with SHA-256 verification. - **Language Server Protocol (LSP)**: Integrated LSP client supporting initialization, synchronization, hover, completion, semantic tokens, definitions, references, symbols, rename, and code actions. It includes a versioned matrix for testing against real servers like clangd, rust-analyzer, gopls, and pyright. - **Debug Adapter Protocol (DAP)**: A native DAP client for debugging, supporting breakpoints, stack traces, variables, and adapters like GDB, LLDB-DAP, and OpenDebugAD7. - **Code::Blocks Integration**: A bridge to the Code::Blocks SDK for discovering plugins, importing `.cbp` projects, and optionally running a separate host adapter for deeper integration. - **Terminal**: An interactive native terminal with PTY/ConPTY backends, ANSI/VT sequence support, and scrollback. - **Build System**: Automatic detection of CMake, Make, Cargo, and npm, with task runners for configure, build, and test operations. The project is currently in a development snapshot state (v1.0.1), with a focus on stability and compatibility. It does not claim full VS Code or Code::Blocks compatibility but provides a layered approach to extensibility and tooling integration.