diff options
Diffstat (limited to '.gemini/skills')
| -rw-r--r-- | .gemini/skills/vim-bundle-maintenance/SKILL.md | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/.gemini/skills/vim-bundle-maintenance/SKILL.md b/.gemini/skills/vim-bundle-maintenance/SKILL.md new file mode 100644 index 0000000..69ec63d --- /dev/null +++ b/.gemini/skills/vim-bundle-maintenance/SKILL.md @@ -0,0 +1,41 @@ +--- +name: vim-bundle-maintenance +description: Manage and update Vim plugin submodules, including URL syncing, recursive remote updates, and recompiling complex plugins like YouCompleteMe. Use when the user wants to upgrade their Vim bundles or fix broken submodule links. +--- + +# Vim Bundle Maintenance + +This skill provides a standardized workflow for maintaining Vim plugins managed via Git submodules (typically in `pack/bundle/start/`). + +## Workflow + +### 1. Research and Sync +- **Verify Upstreams**: Check if submodule URLs in `.gitmodules` are still valid. +- **Sync URLs**: If URLs have changed (e.g., repository moved to a new organization), update `.gitmodules` and run: + ```bash + git submodule sync --recursive + ``` + +### 2. Update Submodules +- **Recursive Remote Update**: Pull the latest commits from the default branch of all submodules: + ```bash + git submodule update --init --recursive --remote + ``` +- **Modernize Update Script**: Ensure `bundle-update.sh` (if it exists) uses the `git submodule update --remote` approach rather than manual `git pull` within directories to avoid branch-matching issues. + +### 3. Clean and Recompile +Some plugins require manual compilation after an update. +- **YouCompleteMe**: + 1. Clean the submodule: `(cd pack/bundle/start/YouCompleteMe && git clean -fdx && git checkout .)` + 2. Run installer: `python3 pack/bundle/start/YouCompleteMe/install.py --clang-completer` (add other flags like `--ts-completer` as needed). + +### 4. Finalize +- Stage the changes: `git add .gitmodules bundle-update.sh pack/bundle/start/` +- Commit with a descriptive message including the update date. + +## Common Flags for YCM install.py +- `--clang-completer`: C-family support. +- `--ts-completer`: JavaScript/TypeScript support. +- `--go-completer`: Go support. +- `--rust-completer`: Rust support. +- `--all`: Enable all supported engines. |
