[gemma4] first step

This commit is contained in:
2026-06-19 13:04:28 +02:00
parent 6459d63f2b
commit 64a890ac03
4 changed files with 62 additions and 8 deletions
+8 -4
View File
@@ -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`.