[gemma4] first step
This commit is contained in:
@@ -23,13 +23,17 @@ The project uses a multi-layered approach to understand the Skill language:
|
||||
### Key Components
|
||||
|
||||
- **`skillls/main.py`**: The entry point of the LSP server. It implements the `LanguageServer` class and contains the handlers for LSP lifecycle events (`initialize`, `didOpen`, `didChange`, etc.) and feature requests (`inlayHint`, `documentSymbol`).
|
||||
- **`skillls/checker.py`**: Contains the logic for syntactic validation, specifically the algorithm for detecting unbalanced parentheses.
|
||||
- **`skillls/helpers.py`**: Provides the heavy lifting for text processing, including the content cleaning state machine and the recursive logic for building the node hierarchy.
|
||||
- **`skillls/parser.py`**: The new Tree-sitter based parser for syntax tree traversal and symbol extraction.
|
||||
- **`skillls/types.py`**: Defines the internal data models (e.g., `Node`, `URI`) used across the project.
|
||||
|
||||
## Roadmap & Engineering Planning
|
||||
|
||||
For details on identified technical debt, fragilities, and the long-term architectural hardening strategy, refer to [PLAN.md](./PLAN.md).
|
||||
|
||||
## Technical Stack
|
||||
|
||||
- **Language**: Python 3.11+
|
||||
- **Package Management**: `uv`
|
||||
- **LSP Framework**: `pygls` (Python Language Server)
|
||||
- **Parsing Utilities**: `parsimonious` (PEG parser), `tree-sitter` (for structural tree analysis).
|
||||
- **Formatting & Tooling**: `rich` (terminal output), `black`, `ruff`, `mypy`.
|
||||
- **Parsing Utilities**: `tree-sitter` (for structural tree analysis).
|
||||
- **Formatting & Tooling**: `rich` (terminal output), `ruff`, `mypy`, `pytest`.
|
||||
|
||||
Reference in New Issue
Block a user