Restructure project and add user settings persistence

- Move src/clide/ to clide/ (flatten directory structure)
- Add SettingsService for persistent user preferences
- Settings stored in ~/.clide/settings.json
- Persist theme, panel visibility, and compact mode state
- Fix terminal rendering glitch with throttled refresh (~60fps)
- Update pyproject.toml, Makefile, and tests for new structure

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Jeroen Schweitzer
2026-02-01 00:42:46 +01:00
co-authored by Claude Opus 4.5
parent 6b7c3ecf9b
commit 1ed21d2a0f
88 changed files with 378 additions and 226 deletions
+9 -9
View File
@@ -43,7 +43,7 @@ test-single:
$(BIN)/pytest $(TEST) -v
test-cov:
$(BIN)/pytest --cov=src/clide --cov-report=html --cov-report=term
$(BIN)/pytest --cov=clide/clide --cov-report=html --cov-report=term
test-snapshots:
$(BIN)/pytest tests/snapshots/
@@ -52,14 +52,14 @@ test-snapshots-update:
$(BIN)/pytest tests/snapshots/ --snapshot-update
typecheck:
$(BIN)/mypy src/
$(BIN)/mypy clide/
lint:
$(BIN)/ruff check src/ tests/
$(BIN)/ruff check clide/ tests/
format:
$(BIN)/ruff format src/ tests/
$(BIN)/ruff check --fix src/ tests/
$(BIN)/ruff format clide/ tests/
$(BIN)/ruff check --fix clide/ tests/
build:
$(BIN)/pyinstaller clide.spec --clean
@@ -70,7 +70,7 @@ build-onefile:
--onefile \
--clean \
--noconfirm \
src/clide/__main__.py
clide/clide/__main__.py
clean:
rm -rf $(VENV)
@@ -83,12 +83,12 @@ clean:
# CI targets (for GitHub Actions)
ci-lint:
pip install ruff mypy
ruff check src/ tests/
mypy src/
ruff check clide/ tests/
mypy clide/
ci-test:
pip install -e ".[dev]"
pytest --cov=src/clide --cov-report=xml
pytest --cov=clide/clide --cov-report=xml
ci-build:
pip install -e ".[build]"