This commit is contained in:
Ray Elliott 2025-12-07 18:33:51 +00:00
commit 770c9ae01f
4 changed files with 257 additions and 4 deletions

View file

@ -108,13 +108,32 @@ Source of truth for the step-by-step rebuild. Keep this concise and up to date.
## Phase 4 — Navigation
## Phase 4.1 — Confirm scope and priorities
- [ ] Confirm scope and priorities for this phase
- [x] Confirm scope and priorities for this phase
- [x] Decision: Skip Neo-tree in favor of netrw for navigation/visual context
- [x] Decision: Use netrw for project structure visualization and file preview
- [x] Decision: Telescope as primary "find file" tool
- [x] Decision: Add Oil.nvim for file manipulation (handles buffer sync on rename/move/delete)
- [x] Note: Oil.nvim is for evaluation; alternative is mini.files if too heavy
## Phase 4.2 — Neo-tree setup
- [ ] Add `neo-tree.nvim` with per-tab roots, sidebar toggle, floating view, and preview keymap (no buffer pollution)
## Phase 4.2 — Configure netrw
- [ ] Configure netrw with tree view, preview split, and basic settings (no banner, sensible defaults)
- [ ] Add simple keymaps for opening netrw (e.g., in split, tab, or current window)
## Phase 4.2.1 — PHP gf enhancement
- [x] Add PHP `includeexpr` for intelligent `gf` behavior (handles `__DIR__`, `__FILE__`, `dirname(__FILE__)` patterns)
- [x] Created `after/ftplugin/php.lua` with path resolution for WordPress/PHP patterns
- [x] Tested and validated with test-gf.php
## Phase 4.3 — Telescope setup
- [ ] Add `telescope.nvim` (+ optional `telescope-fzf-native.nvim`) and basic pickers
- [ ] Add `telescope.nvim` + `telescope-fzf-native.nvim` for fuzzy finding
- [ ] Configure basic pickers: `find_files`, `live_grep`, `buffers`, `help_tags`, `oldfiles`
- [ ] Add sensible default keymaps
## Phase 4.4 — Oil.nvim for file manipulation
- [ ] Add `stevearc/oil.nvim` for filesystem operations (rename, create, delete, copy, move)
- [ ] Configure to handle buffer name sync on file operations
- [ ] Keep minimal - use only when shell operations would cause buffer issues
- [ ] Note: Evaluate practicality; can switch to `mini.files` if preferred
## Phase 5 — Treesitter
@ -231,3 +250,4 @@ Decisions & Changes:
- **Project config format**: `.nvim.lua` files return `{ lsp = { [server_name] = { settings = {...} } } }`.
- **Security model**: `secure` mode prompts user to trust `.nvim.lua` files before execution (one-time per file hash).
- **Settings loading**: `on_new_config` hook loads project settings from actual `root_dir` (not cwd), ensuring correct behavior across different workspace structures.
- **Phase 4 Navigation Strategy**: Skipped Neo-tree in favor of built-in netrw for visual context and project structure browsing. Telescope for fuzzy finding. Oil.nvim for file manipulation (evaluation phase; alternative is mini.files). Rationale: User needs visual context and preview, not per-tab roots or complex tree features. File manipulation primarily done in shell, but Oil.nvim handles buffer sync issues when renaming/moving files.