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:
co-authored by
Claude Opus 4.5
parent
6b7c3ecf9b
commit
1ed21d2a0f
@@ -1,9 +1,6 @@
|
||||
"""Tests for ClideApp."""
|
||||
|
||||
from pathlib import Path
|
||||
from unittest.mock import AsyncMock, MagicMock, patch
|
||||
|
||||
import pytest
|
||||
|
||||
from clide.models.config import ClideSettings
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""Tests for controller classes."""
|
||||
|
||||
from pathlib import Path
|
||||
from unittest.mock import AsyncMock, MagicMock, patch
|
||||
from unittest.mock import patch
|
||||
|
||||
import pytest
|
||||
|
||||
@@ -11,13 +11,11 @@ from clide.controllers.git import GitController
|
||||
from clide.controllers.jira import JiraController
|
||||
from clide.controllers.problems import ProblemsController
|
||||
from clide.controllers.todos import TodosController
|
||||
from clide.models.diff import ChangeType, DiffContent, DiffHunk, DiffLine
|
||||
from clide.models.editor import CursorPosition, FileBuffer
|
||||
from clide.models.diff import DiffContent, DiffHunk
|
||||
from clide.models.editor import FileBuffer
|
||||
from clide.models.git import ChangeStatus, GitBranch, GitChange, GitCommit, GitStatus
|
||||
from clide.models.problems import Problem, ProblemsSummary, Severity
|
||||
from clide.models.todos import TodoItem, TodosSummary, TodoType
|
||||
from clide.services.git_service import GitService
|
||||
from clide.services.process_service import CommandResult
|
||||
from clide.models.problems import Problem, Severity
|
||||
from clide.models.todos import TodoItem, TodoType
|
||||
|
||||
|
||||
class TestGitController:
|
||||
|
||||
@@ -6,12 +6,12 @@ import pytest
|
||||
from pydantic import ValidationError
|
||||
|
||||
from clide.models.config import ClideSettings, KeybindingsConfig, PanelConfig
|
||||
from clide.models.diff import ChangeType, DiffContent, DiffHunk, DiffLine, DiffViewState
|
||||
from clide.models.editor import CursorPosition, EditorState, FileBuffer, Selection
|
||||
from clide.models.git import ChangeStatus, GitBranch, GitChange, GitCommit, GitGraph, GitStatus
|
||||
from clide.models.problems import Problem, ProblemsSummary, ProblemsState, Severity
|
||||
from clide.models.diff import ChangeType, DiffContent, DiffHunk, DiffLine
|
||||
from clide.models.editor import CursorPosition, EditorState, FileBuffer
|
||||
from clide.models.git import ChangeStatus, GitBranch, GitChange, GitCommit, GitStatus
|
||||
from clide.models.problems import Problem, ProblemsSummary, Severity
|
||||
from clide.models.theme import ThemeColors, ThemeDefinition, ThemeMetadata
|
||||
from clide.models.todos import TodoItem, TodosSummary, TodosState, TodoType
|
||||
from clide.models.todos import TodoItem, TodosSummary, TodoType
|
||||
|
||||
|
||||
class TestCursorPosition:
|
||||
|
||||
@@ -1,12 +1,7 @@
|
||||
"""Tests for panel widgets."""
|
||||
|
||||
from pathlib import Path
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
import pytest
|
||||
|
||||
from clide.models.diff import DiffContent
|
||||
from clide.models.git import GitBranch, GitChange
|
||||
from clide.models.problems import Problem, Severity
|
||||
from clide.models.todos import TodoItem, TodoType
|
||||
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
"""Tests for service classes."""
|
||||
|
||||
import asyncio
|
||||
from pathlib import Path
|
||||
from unittest.mock import AsyncMock, MagicMock, patch
|
||||
from unittest.mock import patch
|
||||
|
||||
import pytest
|
||||
|
||||
from clide.models.git import GitBranch, GitChange, GitCommit, GitStatus
|
||||
from clide.models.problems import Problem, Severity
|
||||
from clide.models.todos import TodoItem, TodoType
|
||||
from clide.models.todos import TodoType
|
||||
from clide.services.file_service import FileService
|
||||
from clide.services.git_service import GitService
|
||||
from clide.services.linter_service import LinterService
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
"""Tests for widget components."""
|
||||
|
||||
from pathlib import Path
|
||||
from unittest.mock import MagicMock, patch
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
import pytest
|
||||
|
||||
from clide.models.diff import ChangeType, DiffContent, DiffHunk, DiffLine
|
||||
from clide.models.editor import CursorPosition, FileBuffer
|
||||
from clide.models.git import ChangeStatus, GitBranch, GitChange, GitCommit
|
||||
from clide.models.diff import DiffContent
|
||||
from clide.models.editor import FileBuffer
|
||||
from clide.models.git import ChangeStatus, GitChange, GitCommit
|
||||
from clide.models.problems import Problem, Severity
|
||||
from clide.models.todos import TodoItem, TodoType
|
||||
|
||||
|
||||
Reference in New Issue
Block a user