Workspace detection now relies solely on .kateworkspace marker files
or .gitmodules. The heuristic (2+ sibling git repos) caused false
positives when a standalone repo lived in a directory alongside other
repos (e.g. ~/src/).
CMakeLists.txt now probes for KF6TextEditor first, falls back to KF5.
Uses correct install namespace (kf6/ktexteditor vs ktexteditor).
Source code already had the necessary #if guards for KF6 constructor.
No API changes needed - KTextEditor plugin interface is identical.
Full-featured Git integration for Kate with tabbed side panel:
Status tab:
- Live file status tree (staged/changed/untracked)
- Stage, unstage, discard with double-click support
- Commit with inline message editor and amend support
- Push, pull, fetch with progress spinner
- Filesystem watcher for auto-refresh
Branches tab:
- Filterable list of local and remote branches
- Checkout, create, delete, compare
- Create worktree from branch
- Copy branch name to clipboard
Stashes tab:
- List all stashes with apply, pop, drop, diff
Worktrees tab:
- List active worktrees
- Create (with branch picker), remove, prune
- Open worktree as Kate project
Indicators:
- Panel header with repo/branch/dirty state
- Status bar widget always visible
- Detached HEAD warning
- Remote operation progress