diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 81d64c4..d17e9fd 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -6,7 +6,8 @@ This file exists to satisfy GitHub Copilot's convention of looking for instructi ## Quick Reference -- **Primary instructions**: See `AGENTS.md` +- **Primary instructions**: See `/home/ray/.config/nvim/AGENTS.md` +- **Migration plan**: See `MIGRATION_PLAN.md` - **Decision log**: See `LOG.md` - **Keymap reference**: See `README.md` @@ -14,8 +15,9 @@ This file exists to satisfy GitHub Copilot's convention of looking for instructi 1. **Read `AGENTS.md` first** - it contains all coding rules, architecture decisions, and what NOT to reintroduce 2. **Update docs after changes**: + - Config changes → update `MIGRATION_PLAN.md` - Decisions → update `LOG.md` - - User-facing behavior and keymaps → update `README.md` + - Keymap changes → update `README.md` 3. **Modern Lua-first**: Use `vim.opt`, `vim.keymap.set`, `vim.api` - avoid Vimscript 4. **LSP (Neovim 0.11+)**: Use `vim.lsp.config()` + `vim.lsp.enable()`, NOT lspconfig `.setup()` 5. **Project config**: Native `exrc` + `secure`, no neoconf plugin diff --git a/.gitignore b/.gitignore index 96578ca..93e30e5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,9 @@ -.nvimlog -Session.vim -nvim.log +bundle/ +autoload/ +undodir/* +.vimtmp/* +view/* +tmpdir +WORKSPACE_TEST/ +EXTERNAL_TEST/ +WORKSPACE_SIMPLE/ diff --git a/AGENTS.md b/AGENTS.md index 1034680..08ba23f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,70 +1,208 @@ -# AGENTS: Neovim Configuration +# AGENTS: Neovim Config Migration -Scope: the entire `~/.config/nvim` repository. +Scope: applies to the entire `~/.config/nvim` directory tree. -## Current setup +This repository is being migrated to a modern, minimal Neovim setup driven by Lua and lazy.nvim. Follow these rules when making changes. -This is the active, daily-use Neovim 0.12 configuration. It is Lua-first, -managed with lazy.nvim, and intended to remain small, fast, and maintainable. +## Goals +- Modern Lua-first config; avoid Vimscript unless explicitly requested. +- Keep it minimal, fast, and maintainable. +- Base plugin management on `lazy.nvim` with modular plugin specs. +- Support Telescope navigation, netrw for file browsing/preview, Oil.nvim for file operations, LSP, Treesitter, Copilot, and sane UX defaults. +- Native project-local configuration via `exrc` + `secure` (no external config plugins). -The main workflows are: +## Do Not Reintroduce +- Custom Vimscript tabline/statusline, foldtext, UI hacks. +- Legacy autocommands toggling cursorline/column per window. +- CoC or CoC-specific config. +- Neo-tree (skipped in favor of netrw for navigation). +- Providers for ruby/perl/node (disable unless required by a plugin). +- Auto-reload vimrc-on-write templates. +- `cursorcolumn` and old folding logic not related to UFO. +- neoconf plugin (incompatible with Neovim 0.11+, use native exrc instead). +- Motion plugins like leap.nvim or flash.nvim (not needed). +- Markdown rendering plugins (skipped entirely). -- netrw for tree browsing, previews, and file operations -- Telescope for fuzzy files, grep, buffers, and symbols -- native `vim.lsp.config()` / `vim.lsp.enable()` configuration -- native insert-mode completion and snippets -- Copilot inline suggestions, separate from the completion menu -- Tree-sitter, Conform, nvim-lint, Gitsigns, and nvim-ufo -- native `nvim.undotree` -- project-local `.nvim.lua` files through native `exrc` + `secure` +## Repository Structure (target) +``` +~/.config/nvim/ +├── init.lua -- entrypoint; bootstraps lazy.nvim and loads Lua modules +└── lua/ + ├── settings.lua -- non-plugin options + ├── keymaps.lua -- non-plugin keymaps + ├── autocmds.lua -- non-plugin autocommands + ├── abbreviations.lua -- insert-mode abbreviations + ├── netrw-config.lua -- netrw configuration + ├── utils.lua -- helpers (only if needed) + └── plugins/ -- one file per plugin or domain + ├── telescope.lua + ├── treesitter.lua + ├── cmp.lua + ├── lsp.lua + ├── copilot.lua + ├── oil.lua + ├── ufo.lua + ├── gitsigns.lua + ├── none-ls.lua + ├── nvim-lint.lua + ├── mason.lua + ├── mason-lspconfig.lua + ├── mason-tool-installer.lua + ├── comment.lua + ├── surround.lua + ├── autopairs.lua + └── indent-blankline.lua +├── after/ +│ ├── ftplugin/ +│ │ └── php.lua -- PHP-specific settings (includeexpr for gf) +│ └── queries/ -- Custom Treesitter queries +│ ├── css/ +│ │ └── highlights.scm +│ └── html/ +│ └── highlights.scm +├── templates/ +│ └── template.sh -- Shell script template +└── legacy/ -- Archived Vimscript config (reference only) +``` -`README.md` documents the user-facing workflows and keymaps. `LOG.md` records -architectural decisions. +## Coding Conventions +- Use Lua APIs: `vim.opt`, `vim.api.nvim_create_autocmd`, `vim.keymap.set`. +- No inline Vimscript or `vim.cmd` blocks unless strictly necessary. +- Keep plugin configuration self-contained in its plugin spec file. +- Prefer small, readable modules and minimal configuration over heavy customization. +- Keymaps: use `vim.keymap.set` with `{ silent = true, noremap = true }` defaults unless otherwise required. +- Autocommands: group via `vim.api.nvim_create_augroup` and create specific, narrowly scoped autocmds. +- Avoid global state; return tables from modules and plugin specs. -## Maintenance rules +## Plugin Management (lazy.nvim) +- Each plugin lives in `lua/plugins/.lua` and returns a spec table. +- Use `opts = {}` for default options and `config = function(_, opts) ... end` for setup. +- Do not install any plugin not listed without explicit user confirmation (proposal and rationale are welcome). +- Rejected: `folke/neoconf.nvim` (incompatible with Neovim 0.11+ vim.lsp.config API). -- Prefer Lua APIs such as `vim.opt`, `vim.keymap.set`, and - `vim.api.nvim_create_autocmd`; use Vimscript only when a native integration - requires it. -- Keep non-plugin behavior in focused modules under `lua/`. -- Keep each plugin specification self-contained under `lua/plugins/`. -- Continue using lazy.nvim; do not mix plugin managers without an explicit - decision to migrate. -- Do not add a plugin without explicit user confirmation. -- Keep netrw as the sole file explorer and Telescope as the fuzzy navigator. -- Use Neovim's native completion rather than reintroducing nvim-cmp or LuaSnip. -- Keep Copilot as inline suggestions rather than a completion-menu source. -- Use the modern LSP API; do not restore legacy `lspconfig.setup()` calls or - neoconf. -- Preserve native project-local configuration through `exrc` + `secure`. -- Keep providers for Ruby, Perl, and Node disabled unless an active plugin - requires one. -- Preserve the existing Lua tabline, but do not restore the old Vimscript - tabline/statusline, foldtext, cursorline/column window hacks, CoC, Neo-tree, - motion plugins, or Markdown rendering plugins unless the user explicitly - revisits those decisions. -- Preserve unrelated user changes and keep patches narrowly scoped. +## Required Plugin Categories +- Core: `nvim-lspconfig`, `nvim-cmp`, `cmp-nvim-lsp`, `cmp-buffer`, `cmp-path`, `LuaSnip`. +- Navigation: `telescope.nvim` + `telescope-fzf-native.nvim`, `oil.nvim`. +- Treesitter: `nvim-treesitter`, `nvim-treesitter-textobjects`, `nvim-ts-autotag`. +- UX/Editing: `Comment.nvim`, `nvim-surround`, `nvim-autopairs`, `indent-blankline.nvim`, `nvim-ufo`, `undotree`. +- Git: `gitsigns.nvim`. +- Copilot: `copilot.lua`, `copilot-cmp`. +- Formatting/Linting: `none-ls.nvim`, `nvim-lint`. +- LSP Management: `mason.nvim`, `mason-lspconfig.nvim`, `mason-tool-installer.nvim`. -## Documentation and validation +## Workflow Requirements to Preserve +- Netrw for visual context and project structure browsing (tree view, preview splits). +- Telescope for fuzzy finding (files, grep, buffers, LSP symbols). +- Oil.nvim for file manipulation (handles buffer sync on rename/move/delete). +- LSP for navigation (gd, gr, K, etc.). +- Heavy HTML/PHP/JS/Markdown usage (WordPress plugin dev) — prioritize these languages in LSP/Treesitter. +- Format-on-save with toggle capability. +- Project-local configuration via `.nvim.lua` files. -- Update `README.md` whenever user-facing behavior or keymaps change. -- Update its configuration section when formatter, linter, or tool resolution - changes. -- Record significant architectural decisions in `LOG.md`. -- After configuration or plugin changes, run at least: +## Behaviours to Keep (modernized) +- Abbreviations: `adn→and`, `waht→what`, `tehn→then`, `functin→function`, `positin→position`. +- Templates: auto-populate `.sh` from template. +- Whitespace highlighting (use modern alternatives, e.g., `listchars`, plugins if needed). +- Persistent folds (prefer `nvim-ufo`). +- Spell & text: `spelllang=en_gb`, custom `listchars`, `showbreak`. +- Keyword characters: `iskeyword+=$` (for PHP/shell variables), `iskeyword+=-` (for CSS/HTML/config files). - ```bash - nvim --headless -c 'lua print("Config loads")' -c 'quitall' - ``` +## Current Status (Phase 10 Complete) +- ✅ Phase 1-2: Archive legacy, bootstrap lazy.nvim +- ✅ Phase 3: Core editing & LSP (native exrc + vim.lsp.config migration complete) +- ✅ Phase 4: Navigation (Telescope, netrw, Oil.nvim) +- ✅ Phase 5: Treesitter (parsers, textobjects, autotag) +- ✅ Phase 6: UX/Editing (Comment, surround, autopairs, indent guides, UFO, undotree) +- ✅ Phase 7: Git integration (Gitsigns) +- ✅ Phase 8: Copilot integration (copilot.lua + copilot-cmp) +- ✅ Phase 9: Formatting & Linting (none-ls, nvim-lint, Mason tool installer) +- ✅ Phase 10: Migrate kept behaviors (abbreviations, templates, custom Treesitter queries) +- ⏸️ Phase 11: Cleanup & validation (pending) -- For relevant changes, also exercise the affected workflow interactively. +## Migration Notes +- Do not edit legacy Vimscript files except to extract settings to Lua. Keep them intact until migration completes. +- Introduce `init.lua` and bootstrap `lazy.nvim` before adding plugins. +- Disable unnecessary providers early: `vim.g.loaded_ruby_provider = 0`, etc. +- Keep startup fast; avoid unnecessary autoloading or heavy defaults. +- When cleaning, archive existing files into a `legacy/` folder within this config instead of deleting. Maintain a brief index if helpful. -## History +## Validation +- Ensure Neovim starts without errors and with minimal startup time. +- Verify Telescope navigation, netrw browsing, Oil.nvim file operations, LSP basics, and completion. +- Keep plugin count tight; remove anything unused. -This configuration began as a large Vimscript setup with bundled plugins and -was incrementally rebuilt as a modern Lua configuration. The migration covered -lazy.nvim, native LSP and project configuration, native completion and -Undotree, Telescope, a netrw-centered explorer workflow, Tree-sitter, Copilot, -formatting, linting, and the Paper Tonic colorscheme. After sustained daily use -on Neovim 0.12.6, the migration was declared complete on 2026-10-28. The -decision history remains in `LOG.md` and Git history. +## Key Decisions & Architecture + +### LSP Configuration +- **Modern API (Neovim 0.11+)**: Uses `vim.lsp.config()` + `vim.lsp.enable()`, NOT `require('lspconfig')[server].setup()` +- **Project-local config**: Native `exrc` + `secure` (no neoconf - incompatible with 0.11+) +- **Config format**: `.nvim.lua` files return `{ lsp = { [server_name] = { settings = {...} } } }` +- **Security**: `secure` mode prompts user to trust `.nvim.lua` files (one-time per file hash) +- **Settings loading**: `on_new_config` hook loads from actual `root_dir` (not cwd) +- **PHP**: intelephense with `single_file_support = false`, uses `environment.includePaths` for external libs + +### Navigation Strategy +- **netrw**: Visual context, tree view, preview splits (horizontal 50/50 below) +- **Telescope**: Fuzzy finding (files, grep, buffers, LSP symbols) +- **Oil.nvim**: File manipulation (handles buffer sync on rename/move/delete) +- **PHP gf enhancement**: Custom `includeexpr` in `after/ftplugin/php.lua` for WordPress/PHP patterns + +### Formatting & Linting +- **Formatters**: prettier, phpcbf, stylua, black (project-local → Mason → global) +- **Linters**: eslint_d, phpcs, markdownlint, ruff (via nvim-lint) +- **Format-on-save**: Enabled by default, toggle with `lt` +- **Philosophy**: Formatters are source of truth; Neovim settings match formatter rules per filetype + +### Treesitter +- **Parsers**: lua, vim, vimdoc, php, html, javascript, typescript, tsx, css, scss, json, markdown, bash, regex +- **Features**: Incremental selection (CR/BS), textobjects (functions, classes, parameters), autotag +- **Custom queries**: `after/queries/css/highlights.scm`, `after/queries/html/highlights.scm` + +### Session Management +- **Auto-load**: On `VimEnter`, loads `Session.vim` if it exists (unless files specified on command line) +- **Auto-save**: On `VimLeavePre`, saves to `Session.vim` if it already exists +- **Manual control**: Create with `:mksession` to enable; delete to disable +- **Per-directory**: Sessions are opt-in and workspace-specific + +## Developer Workflows + +### Testing Changes +```bash +# Quick syntax check +nvim --headless -c 'lua print("Config loads")' -c 'quitall' + +# Check LSP status in test workspace +cd ~/.config/nvim/WORKSPACE_TEST +nvim site/external.php # Then :LspInfo + +# Validate goto-definition for external libs +# In external.php, cursor on Util::greetExternal, press gd +``` + +### Validation Workspaces +- `WORKSPACE_TEST/`: PHP project with `.nvim.lua` and `.git` +- `EXTERNAL_TEST/`: External library referenced via includePaths +- Test that `gd` resolves symbols in EXTERNAL_TEST from WORKSPACE_TEST + +## Common Issues + +### lua_ls Won't Start +Mason-installed lua_ls may fail with missing `libbfd-2.38-system.so`. Install via system package manager instead. + +### LSP Root Detection +If parent repo picked as root, create empty `.git` or `.nvimroot` marker in intended workspace root. + +### Duplicate gd Results (Fixed) +Was caused by settings loading at wrong time; fixed by using `LspAttach` autocmd with actual `root_dir`. + +## Process +- Before large changes, update the task plan via the CLI `update_plan` tool. +- Keep the live checklist in `MIGRATION_PLAN.md:1` up to date and in sync with changes. +- After any config or plugin change, immediately update `MIGRATION_PLAN.md` (check off items, add notes, or adjust next steps). +- After any change or decision, also update `LOG.md:1` (decisions log and design docs). +- **After adding/removing/editing any keymaps**, immediately update `README.md` with the change (add new entries, remove deleted mappings, or update descriptions). +- At the start of each phase, confirm scope and priorities for that phase. +- Execute phases via subphases (`N.x`), where each bullet under a phase is its own implement-and-test step (e.g., Phase 3.1, 3.2, 3.3, 3.4). +- Record decisions and rationale in `LOG.md:1` as they're made. +- Keep PR-sized patches; avoid broad unrelated edits. +- Document non-obvious choices in commit messages or short comments near the code that needs it. diff --git a/LOG.md b/LOG.md index 47f1575..f274dac 100644 --- a/LOG.md +++ b/LOG.md @@ -1,17 +1,14 @@ # Neovim Rebuild — Decisions & Reference -Historical migration record and ongoing architectural decision log. +Authoritative notes for the Neovim migration. Use this alongside `MIGRATION_PLAN.md` and `neovim-migration-guide.md`. -- Maintenance instructions: `AGENTS.md` -- Active workflows and keymap reference: `README.md` and `:KeymapsGuide` +- Migration plan: MIGRATION_PLAN.md +- Guide and requirements: neovim-migration-guide.md ## Decisions Log Record every decision here with a short rationale. Append new entries; do not rewrite history. -- 2025-01-13: **Popup borders for visibility**: Added rounded borders to all floating windows to prevent them from blending into the background. Changed `NormalFloat` and `FloatBorder` backgrounds from transparent (`c.NONE`) to `c.bg_ui` (slightly off-white) in colorscheme. Configured LSP handlers for hover and signature help to use `border = "rounded"`. Diagnostics already had borders configured. This provides clear visual separation between popups and main editor content. -- 2025-01-13: **Git files to quickfix**: Added `gg` keymap to send all modified, deleted, and untracked Git files to quickfix list with status indicators. Uses `git status --porcelain` to parse file status (Modified, Deleted, Added, Untracked, etc.) and displays it in the quickfix text column. Implementation in `utils.git_changed_files()`. Complements existing `hq` (Gitsigns hunks to quickfix) with file-level Git status workflow. -- 2025-01-12: **Custom Tabline Function**: Implemented configurable custom tabline to replace Neovim's hardcoded path shortening (e.g., `a/p/file.txt`). Function in `lua/utils.lua` allows controlling: (1) number of full parent directories via `utils.tabline_full_parents` (default: 1), and (2) shortening length via `utils.tabline_shorten_length` (default: 3 characters). Example: with defaults, `/path/to/my/project/src/file.txt` becomes `pat/to/my/project/src/file.txt`. User preference for seeing enough context in shortened paths while keeping tab width manageable. - 2025-12-06: PHP LSP = `intelephense` (good PHP ecosystem support; integrates includePaths). - 2025-12-06: Enable Markdown LSP = `marksman` (lightweight, good MD features). - 2025-12-06: Use legacy `listchars` and `showbreak` values (preserve muscle memory). @@ -29,9 +26,6 @@ Record every decision here with a short rationale. Append new entries; do not re - Add Oil.nvim for file manipulation (rename/move/delete with buffer sync) - netrw for tree view and preview splits; Oil for operations that would break buffer names - PHP `gf` enhancement via `includeexpr` for WordPress/PHP path resolution - - **Working directory locked to project root**: Disabled `autochdir`, set `netrw_keepdir = 1`, captured initial cwd in `vim.g.project_root`, configured Telescope to always search from project root regardless of current buffer -- 2026-07-06: **Alternate-buffer netrw skip**: Added a lightweight real-file buffer tracker and mapped ``/`` so alternate-buffer jumps skip netrw explorer buffers when `#` points at netrw. Netrw buffers are also marked unlisted on FileType to reduce their impact on buffer navigation while preserving netrw browsing behavior. Fallback uses explicit `:buffer #` instead of `:normal! ` so regular alternate-file switching still works from the Lua mapping. -- 2026-07-07: **Netrw alternate detection fix**: Real netrw alternate buffers can lose `filetype=netrw` and remain as an unlisted `NetrwTreeListing` buffer. The alternate-buffer skip now detects that buffer name as netrw so `` returns to the previous real file instead of reopening an empty explorer buffer. - 2025-12-07: Treesitter Phase 5 decisions: - Focus on core languages: PHP, HTML, JavaScript, TypeScript, CSS, Markdown, Lua, Bash, JSON - Enable syntax highlighting with performance safeguard (disable for files >100KB) @@ -75,8 +69,8 @@ Record every decision here with a short rationale. Append new entries; do not re - **WordPress**: phpcs/phpcbf already installed globally; use phpcs.xml or --standard=WordPress - **Format-on-save**: Enabled by default, toggle with `lt` - **Manual format**: `lf` (buffer), `lf` (visual range) - - **Linting split**: conform.nvim for formatting, nvim-lint for diagnostics (replaced none-ls after discovering phpcbf preprocessing bug) - - **Python support**: pyright LSP, ruff formatter/linter, treesitter parser (the original black plan was superseded) + - **Linting split**: none-ls for formatting only, nvim-lint for diagnostics (none-ls removed linters) + - **Python support**: pyright LSP, black formatter, ruff linter, treesitter parser - **Per-filetype indentation**: Explicit settings per filetype to match formatters - PHP: tabs, 2-space display (WordPress standards) - JS/TS/CSS/JSON/HTML: 2 spaces (Prettier) @@ -84,20 +78,11 @@ Record every decision here with a short rationale. Append new entries; do not re - Markdown: 2 spaces (Prettier) - Python: 4 spaces (Black/PEP 8) - **Global defaults**: 4 spaces (reasonable baseline for other filetypes) -- 2026-01-12: **conform.nvim migration**: - - **Trigger**: none-ls phpcbf builtin had preprocessing bug that added blank lines before formatting - - **Root cause**: none-ls uses LSP protocol for formatters, adds preprocessing step that corrupted input - - **Investigation**: Created debug wrappers, confirmed phpcbf CLI works correctly, traced issue to none-ls preprocessing - - **Solution**: Migrated to conform.nvim (modern, actively maintained, no LSP overhead) - - **Configuration**: Simplified config using conform's built-in formatters, only customized phpcbf for WordPress standard - - **Benefits**: Simpler code, no custom executable resolution needed, proper stdin/tmpfile handling per formatter - - **Removed**: none-ls.lua deleted (was renamed to .disabled during migration) - 2025-12-07: Kept Behaviors Phase 10: - **Abbreviations**: Common typo corrections (`adn→and`, `waht→what`, `tehn→then`, `functin→function`, `positin→position`) in dedicated `lua/abbreviations.lua` file for modularity - **Templates**: Shell script template (template.sh) auto-loaded via BufNewFile autocmd for `*.sh` files - **Whitespace highlighting**: Already handled via `listchars` in Phase 3.2 (settings.lua) - **Persistent folds**: Not needed; UFO handles folding without explicit persistence mechanism - - **Persistent undo**: Re-enabled 2025-01-06 via `undofile=true` and `undodir` in settings.lua (preserves undo history across sessions) - 2025-12-11: Colorscheme Phase 11.2: - **Color palette extraction**: Extracted all 45 color definitions from original Paper Tonic colorscheme - **Structure**: Created `lua/paper-tonic-modern/colors.lua` with comprehensive documentation @@ -178,83 +163,85 @@ Record every decision here with a short rationale. Append new entries; do not re - **No overrides needed**: Modern implementation doesn't require separate override file - 2025-12-12: Added keymap reference documentation (now `README.md`) + `:KeymapsGuide` floating viewer to document every configured keymap (global + plugin-specific) grouped by source file. - 2025-12-12: nvim-cmp updated to disable auto-selection; confirm requires explicit item selection. -- 2026-10-27: Phase 12 cleanup retired 607 tracked `.vimtmp` backup artifacts and a broken legacy Paper Tonic symlink while preserving the meaningful Vimscript archive. Added an ignore rule for the retired backup directory and corrected the legacy archive index. -- 2026-10-27: Project `.nvim.lua` settings are now read with `vim.secure.read()` before evaluation. This closes the trust bypass caused by manually calling `dofile()` from the LSP attachment callback. -- 2026-10-27: Validation confirmed a clean Neovim 0.11.5 headless launch in approximately 45 ms with 29 configured plugins. Formatter and language-server executables managed by Mason are present in Mason's bin directory; PHP tools and `lua-language-server` are available system-wide. -- 2026-10-27: Repaired `test-diagnostics.lua` so its intentional unreachable-code example remains valid Lua and can be parsed by `lua_ls`. -- 2026-10-27: Live validation confirmed Intelephense attaches in `WORKSPACE_TEST` and receives the trusted external `includePaths`. Conform reports prettier, phpcbf, and stylua available; nvim-lint resolves eslint_d, phpcs, and markdownlint. -- 2026-10-27: Updated `AGENTS.md` status and LSP architecture notes to reflect completed colorscheme work and the current Phase 12 implementation. -- 2026-10-27: Added Conform's built-in `ruff_format` for Python. Ruff was already Mason-managed for diagnostics; this closes a gap where documentation claimed Python formatting but format-on-save had no Python formatter and disabled LSP fallback. -- 2026-10-27: Fixed `` in netrw when no previous real-file buffer has been recorded. Buffer classification now rejects `nil`, non-numeric, and non-positive buffer identifiers before calling Neovim's buffer API, allowing the mapping to fall back safely. -- 2026-10-27: Removed Oil.nvim after workflow evaluation. Netrw is now the sole tree browser and file explorer, preserving the same navigation model on remote systems; Telescope remains dedicated to fuzzy finding. Removed Oil's plugin spec, lockfile entry, keymaps, colorscheme groups, and active documentation. -- 2026-10-27: Planned the next work in two ordered phases. Phase 13 upgrades the standalone Neovim installation from 0.11.5 to stable 0.12.6 using versioned installations, isolated plugin testing, an unchanged initial lockfile, and an immediate rollback path; plugin updates follow only after core compatibility, and Mason tools remain a later step. Phase 14 then adds netrw-only live previews and read-only directory summaries against the validated 0.12 runtime. -- 2026-10-27: Recorded the pre-upgrade rollback baseline: Neovim 0.11.5, 28 active lazy.nvim plugin specs after Oil removal, 32 compiled Treesitter parser binaries, clean headless startup, all active Lua files parsing, and `git diff --check` passing. The standalone 0.11.5 installation remains untouched under `/opt/neovim/nvim-linux-x86_64`. -- 2026-10-28: Installed the verified official Neovim 0.12.6 archive alongside the untouched 0.11.5 installation at `/opt/neovim/nvim-0.12.6`. Initial interactive startup with the existing configuration succeeded. Removed redundant `vim.lsp.with()` wrappers for hover and signature-help borders after 0.12 reported their deprecation; the shared `vim.lsp.util.open_floating_preview` override already applies the same border on both 0.11 and 0.12. Clean headless startup then passed with the existing locked plugins under both binaries. -- 2026-10-28: The 0.12 health review exposed overlapping LSP activation: mason-lspconfig v2 automatically enabled every installed server while `lsp.lua` explicitly configured and enabled the selected set. Disabled mason-lspconfig automatic activation, removed its obsolete `automatic_installation` option, and aligned it with nvim-lspconfig's buffer events. This prevents unintended activation of installed tools such as StyLua's LSP mode and leaves `lsp.lua` as the single activation authority. -- 2026-10-28: Live Intelephense attachment passed under both Neovim 0.11.5 and 0.12.6 after the LSP activation cleanup. The test also exposed the deprecated function-style `client.notify(...)` call in the project-settings callback; changed it to `client:notify(...)`, which works on both supported versions. -- 2026-10-28: Replaced the remaining `vim.loop.fs_stat` calls with `vim.uv.fs_stat` and migrated `[d`/`]d` from deprecated diagnostic navigation functions to `vim.diagnostic.jump({ count = -1/1 })`. Both APIs remain compatible with the rollback runtime, Neovim 0.11.5. -- 2026-10-28: Validated Neovim 0.12 project configuration using a disposable nested workspace and isolated trust database. With `exrc` and `secure` enabled through a normal XDG config, a trusted parent `.nvim.lua` executed exactly once and `vim.secure.read()` returned its contents. The live Intelephense test separately confirmed that the repository's project-local settings loader still receives trusted settings from the client's root. -- 2026-10-28: Validated the netrw workflow on Neovim 0.12.6. The default runtime wrapper automatically loads bundled netrw v184 from its optional package, so adding a configuration-level `packadd netrw` would be redundant and would complicate 0.11 rollback compatibility. `:Explore` opened the configured tree view, `p` created a real preview window, and `` returned from the explorer to the source file. -- 2026-10-28: Kept `mbbill/undotree` after checking Neovim 0.12's built-in alternative. The native `nvim.undotree` package is optional and remains unloaded; it exposes `:Undotree`, whereas the configured plugin's `:UndotreeToggle` command, focused panel, and diff layout still open successfully under 0.12.6. There is no active command or runtime conflict. -- 2026-10-28: Completed the configuration-level Neovim 0.12 breaking-change audit. Diagnostic jump behavior passed under both 0.11.5 and 0.12.6, and a loaded-plugin `vim.deprecated` scan now reports only `copilot-cmp`'s upstream `client.is_stopped` call. That plugin warning is safe on 0.12 but remains a tracked compatibility concern before Neovim 0.13. -- 2026-10-28: Final Phase 13.3 smoke tests passed: both 0.11.5 and 0.12.6 start with the updated configuration, 0.12 attaches Intelephense with project settings, `git diff --check` is clean, and the measured 0.12 headless startup reached `NVIM STARTED` in approximately 43 ms with the existing locked plugins. -- 2026-10-28: Updated plugins in an isolated Neovim 0.12 worktree and XDG environment. The candidate passed automated loading checks for LSP, completion, Telescope/fzf, Mason integration, formatting, linting, Gitsigns, indent guides, autopairs, surround, UFO, Undotree, and PHP/HTML/CSS/JavaScript Tree-sitter parsers and custom queries. Copilot's new native language-server download completed in isolation and the client authenticated successfully. Mason-managed tools were not updated. -- 2026-10-28: Kept `nvim-treesitter` and `nvim-treesitter-textobjects` on their frozen `master` branches. Their rewritten `main` branches remove the `nvim-treesitter.configs` API used by this configuration and therefore require a separate migration; explicit branch pins prevent an ordinary plugin sync from crossing that boundary. Migrated the updated nvim-surround v4 configuration to its unchanged default mappings by removing the retired `opts.keymaps` field. -- 2026-10-28: Disabled lazy.nvim's LuaRocks integration because no configured plugin requires LuaRocks. This removes the irrelevant missing-hererocks health error without adding a system dependency. Candidate health otherwise reports only optional missing language runtimes, the pending inline-Copilot migration, and the `copilot-cmp` deprecation that will disappear with that migration. -- 2026-10-28: Adopted the isolated candidate's reviewed plugin lockfile and compatibility adjustments into the main worktree. Production plugin directories remain unchanged until the 0.12 activation step, preserving the working 0.11 rollback environment. -- 2026-10-28: Chose the post-activation native-feature direction for 0.12. Keep lazy.nvim because the configuration still benefits from its event/command loading, dependency ordering, and build hooks; do not mix the runtime upgrade with an experimental `vim.pack` migration. After activating 0.12, replace `mbbill/undotree` with the native optional package and trial native insert-mode/LSP completion plus built-in snippets. Copilot will use inline suggestions with a separate accept key rather than appearing in the completion popup; remove the cmp stack only after interactive language and editing validation. -- 2026-10-28: Activated Neovim 0.12.6 with the user-level selector `~/.local/bin/nvim`, which precedes the older `/opt` PATH entry. The root-owned `/opt/neovim` directory could not be reorganized without an interactive sudo password, so 0.11.5 remains intact at `/opt/neovim/nvim-linux-x86_64/bin/nvim`; rollback is `ln -sfn /opt/neovim/nvim-linux-x86_64/bin/nvim ~/.local/bin/nvim`. -- 2026-10-28: Implemented the 0.12 native editing trial. Native `nvim.undotree` now owns `u`; native autocomplete combines LSP omnifunc results and bounded buffer sources after a 150 ms delay, requires explicit selection, accepts with ``, and uses built-in snippet tabstops. Copilot now supplies separate inline ghost text accepted with `` and hides while the completion popup is visible. Removed the nvim-cmp, cmp source, LuaSnip, copilot-cmp, and external Undotree specs, integrations, lock entries, and highlight groups. -- 2026-10-28: Refined native completion after the PTY smoke test showed buffer words sorting ahead of a valid PHP method. LSP-attached buffers now autocomplete exclusively from the LSP omnifunc; `` remains the explicit current-buffer word workflow, and non-LSP buffers retain bounded automatic word completion. This makes the first selectable language result predictable without losing native fallback completion. -- 2026-10-28: Added narrow 0.12 guards around the new `autocomplete` option, source match limits, and optional native Undotree package. The retained 0.11.5 binary can therefore still start the configuration for emergency rollback, although native autocomplete and Undotree are intentionally unavailable until the selector is returned to 0.12.6. -- 2026-10-28: Final smoke testing found that loading `nvim.undotree` before lazy.nvim setup left its command registered but removed its Lua module path. Moved `packadd nvim.undotree` after lazy.nvim finalizes `runtimepath`. The same test showed nvim-ts-autotag attaching to Markdown despite the intended filetype restriction; global autotag actions are now disabled and explicitly enabled only for HTML/PHP/JS/TS/Vue tag-bearing filetypes. -- 2026-10-28: Active-runtime validation passed through the normal `nvim` selector: native Undotree opens, netrw and Telescope load, PHP native completion offers and accepts `greetExternal()` with snippet syntax, Copilot's inline client is authenticated, Markdown no longer runs autotag, and HTML autotag exits Insert mode without errors. `vim.deprecated` is clean. Remaining health warnings are optional missing language runtimes and the harmless unknown `markdown.mdx` filetype hint. -- 2026-10-28: Marked `neovim-migration-guide.md` as historical planning input. Its original Neo-tree, cmp, and plugin assumptions are retained for provenance but no longer compete with the active architecture documents. -- 2026-10-28: User normal-use checks passed for the 0.12 native completion, snippet, autopairs, and inline Copilot workflow, closing the Phase 13.9 settling gate. Began Phase 14 with the confirmed netrw-only model: `p` starts previewing, cursor movement updates an existing preview, directories show read-only immediate-child summaries, and leaving netrw closes the preview. -- 2026-10-28: Revalidated bundled netrw v184. Its documented `netrw#Call()` bridge exposes `NetrwGetWord`, `NetrwTreePath`, `NetrwBrowseChgDir`, and `NetrwPreview`. In tree view, `NetrwTreePath` returns the selected directory path or the selected file's parent, allowing local paths to be resolved without parsing indentation or mutating netrw's expand/collapse state. Remote URI targets will retain native fallback behavior. -- 2026-10-28: Implemented Phase 14's plugin-free netrw preview extension in `lua/netrw-preview.lua`. Pressing `p` previews files through netrw's native machinery or shows a read-only immediate-child directory summary; while that preview window exists, a 90 ms buffer-local cursor debounce replaces it with the current selection. Manual `:pclose` stops updates, and leaving or wiping the explorer releases its preview and timer. Directory summaries are local-filesystem only, mirror netrw's active hide pattern, cap output at 200 entries, and never traverse symbolic links; remote URI schemes fall back to netrw's native preview path. -- 2026-10-28: Automated Phase 14 checks passed for file/directory transitions, manual close and reopen, all four file-open actions, tree expansion and collapse, rapid cursor movement, spaces, Unicode, symlinks, empty and unreadable directories, and the 200-entry cap. A PTY-backed launch on a directory confirmed Neovim 0.12 enters the configured netrw tree, so no special `filetype=directory` handling is required. Separate-tab, deleted-entry, and real SSH checks remain as interactive validation. -- 2026-10-28: An isolated lifecycle rerun exposed netrw's focus hop into an existing preview window while replacing a directory summary through its native preview function. The extension now explicitly restores the netrw window after that call, preserving tree-focused `j`/`k` navigation. Leave cleanup waits 20 ms before checking the settled current window and ignores callbacks raised while the native preview call is active, then closes only after a real explorer exit. The transient re-entrancy guard is not preview-mode state, and the cleanup timer is released when the netrw buffer is wiped. -- 2026-10-28: Fixed a reproducible Neovim 0.12 Tree-sitter race during rapid cross-language netrw previews. Native `:pedit` unloads the previous preview buffer while its asynchronous parser may still be running, producing `TSNode:range()` errors. Preview-only file buffers are now kept loaded but unlisted for the rest of the Neovim session, with Tree-sitter highlighting suspended in favor of Vim syntax; avoiding parser detachment is necessary because delayed unloading reproduces the same race. Pre-existing buffer state is preserved, while entering a previewed file for real editing restores listed-buffer behavior and Tree-sitter immediately. An 80-step Markdown/Lua/JSON preview stress test, edit restoration check, retained-buffer check, and pre-existing-buffer check all pass. -- 2026-10-28: Disabled diagnostic rendering in netrw file preview buffers. The preview metadata records each buffer's prior diagnostic state and restores it when the file is opened for editing, keeping ephemeral previews quiet without overriding buffers where diagnostics were already disabled. -- 2026-10-28: Made netrw file previews intentionally plain after CSS and HTML exposed residual colour. The remaining decoration was Vim regex syntax plus indent-blankline extmarks, not diagnostics or Tree-sitter. Preview buffers now clear `syntax` and disable their buffer-local indent guides, then restore both recorded states on real edit. -- 2026-10-28: Added buffer-local netrw `` / `` mappings to scroll the current preview with native `` / `` behavior while focus remains in the tree. The mappings accept Vim counts and quietly do nothing when no preview exists. -- 2026-10-28: Hardened preview scrolling after an interactive over-scroll surfaced a window-local error that did not reproduce headlessly. The temporary preview-window call is now protected, so stale-window and boundary failures are treated like native top/bottom clamping instead of reaching the command line. -- 2026-10-28: Excluded netrw from automatic session persistence after `:mksession` serialized its generated `NetrwTreeListing` name and restored an empty explorer buffer. Before the existing exit-time save, preview windows and netrw windows are removed; a netrw-only tab is dropped, while the sole remaining netrw window is replaced with an ordinary file buffer or a blank fallback. Netrw is intentionally not rebuilt on load. -- 2026-10-28: Changed the enhanced netrw `p` mapping into a true toggle. With no preview it opens the selected file or directory and begins live cursor updates; with an existing preview it closes that window and stops updates, matching manual `:pclose` behavior. -- 2026-10-28: Declared the migration complete after sustained daily use of the modern Lua configuration. Interactive navigation, language tooling, native completion, Copilot, formatting, linting, and the enhanced netrw workflow are considered validated. Real SSH URI previews and use of stock netrw without this configuration remain optional portability checks, not release gates. This decision also ends the requirement to retain migration-only archives and fixtures in the live repository; their removal will be handled as a separate, explicit cleanup. -- 2026-10-28: Replaced the migration-era `AGENTS.md` with a concise maintenance guide for the established configuration. Removed completed phase tracking, obsolete validation-workspace instructions, resolved issue notes, and the target-tree description; retained current architectural guardrails, documentation expectations, a smoke-test command, and a short history note. -- 2026-10-28: Retired the completed migration's legacy configuration, vendored plugin archive, UltiSnips collection, validation workspaces, root test assets, superseded planning documents, and phase labels in active Lua comments. Git history now provides the historical archive. Persistent undo storage moved from the configuration repository to `stdpath('state')/undo`; the active README, architectural log, lockfile, colorscheme, spell data, and templates remain. -- 2026-10-28: Diagnosed the Tree-sitter `TSNode:range()` failure as the known incompatibility between Neovim 0.12 and nvim-treesitter's locked legacy `master` branch. Migrated nvim-treesitter and nvim-treesitter-textobjects to their rewritten `main` branches: native Neovim highlighting and incremental selection replace the old modules, textobjects use explicit mappings, indentation uses the new plugin expression when a query exists, and autotag retains its direct supported setup. Installed the verified official Tree-sitter CLI 0.26.9 binary in `~/.local/bin` after the system package required interactive sudo and Cargo compilation required unavailable libclang. Reinstalled all configured parsers in the new site directory and removed obsolete generated parser copies from the plugin checkout. The plugin audit confirmed every plugin is current for its configured branch or release constraint; nvim-surround remains on the latest release rather than its newer unreleased `main` commit. -- 2026-10-28: Fixed stale deleted files persisting across session recreation. Deleting `Session.vim` did not clear the in-memory argument list or listed buffers, so `:mksession` serialized the removed diagnostics fixture again. Session load and exit-time save now discard unmodified nonexistent local-file buffers and missing argument-list entries before restoring or writing the session; real files, URI buffers, unnamed buffers, and modified buffers remain protected. -- 2026-10-28: Re-enabled highlighted netrw file previews after migrating to the Neovim 0.12-compatible nvim-treesitter `main` branch. Preview buffers retain native Tree-sitter or Vim syntax highlighting, while diagnostics and indent guides remain suppressed. The existing loaded-but-unlisted buffer lifecycle protection remains in place so the original unload behavior is not restored. An automated 80-transition Markdown/Lua/JSON/CSS/HTML stress test and subsequent normal use passed without `TSNode:range()` errors, so the trial was adopted as the permanent behavior. -## Project-Local Configuration +## Project-Local Configuration (design) -The final implementation uses Neovim's native `exrc` support with `secure` enabled. A project's trusted `.nvim.lua` returns an `lsp` table keyed by server name. An `LspAttach` callback securely reads settings from the client's actual root directory and sends them with `workspace/didChangeConfiguration`, so settings do not depend on Neovim's current working directory. +Context: Projects can contain multiple git repositories (e.g., WordPress site with theme + multiple plugins). We need a way to set per-project `intelephense.includePaths` and similar without globalizing settings. -Example `.nvim.lua`: +Options considered +- Layered JSON files (recommended): `.nvim.json` (committed) + `.nvim.local.json` (gitignored) + - Walk upward from current file; collect and merge configs until reaching a boundary marker or filesystem root. + - Boundary marker: `.nvimroot` to define a workspace that can encompass multiple repos. + - Merge order: top → bottom; nearest wins on conflicts; arrays replace by default unless we later add a merge strategy. + - Pros: safe (data-only), portable, reviewable in PRs. + - Cons: less dynamic than Lua. +- Layered Lua files: `.nvim.lua` + `.nvim.local.lua` + - Pros: maximum flexibility (computed paths). + - Cons: executes code from the repo; security gates required. +- Env/direnv: rejected (decision 2025-12-06). +- Central registry file in `~/.config/nvim/`: possible later for private overrides, but not primary. -```lua -return { - lsp = { - intelephense = { - settings = { - intelephense = { - environment = { - includePaths = { +Chosen approach (confirmed) +- Use `folke/neoconf.nvim` with `.neoconf.json` at the workspace root (or project roots) to supply LSP/plugin settings. Multi-repo: keep a single `.neoconf.json` at the parent workspace folder and open Neovim from there (or use a rooter later if needed). + +Example `.neoconf.json` +``` +{ + "lspconfig": { + "intelephense": { + "settings": { + "intelephense": { + "environment": { + "includePaths": [ "wp-content/themes/my-theme", - "wp-content/plugins/custom-plugin", - }, - }, - }, - }, - }, - }, + "wp-content/plugins/custom-plugin" + ] + } + } + } + } + } +} +``` +- Files recognized per directory level: + - `.nvim.json`: checked into VCS; shared per-project defaults. + - `.nvim.local.json`: gitignored; machine-specific overrides. +- Loader behavior: + 1. Start at the buffer’s directory; ascend toward root. + 2. Stop at directory containing `.nvimroot` (if found) or at filesystem root. + 3. At each level, if `.nvim.json` or `.nvim.local.json` exists, parse and stage for merge. + 4. Merge staged configs in ascending order; nearest directory applies last. +- Path resolution: + - Relative paths resolve against the topmost boundary (i.e., `.nvimroot` directory if present; otherwise the highest directory in which a config was found). This allows referencing sibling repos (e.g., theme and plugins) from a single top-level site folder. + +Example `.nvim.json` +``` +{ + "lsp": { + "php": { + "intelephense": { + "includePaths": [ + "wp-content/themes/my-theme", + "wp-content/plugins/custom-plugin", + "vendor/some-package/src" + ] + } + } + } } ``` -Neoconf and the earlier layered JSON proposal were rejected. They remain in the chronological decision entries above only as superseded history. +Intended integration +- A helper module `lua/local_config.lua` will expose: + - `load(start_dir) -> table` collecting and merging configs + - `get(path, default)` for reads, e.g., `get({"lsp","php","intelephense","includePaths"}, {})` +- LSP wiring (in Phase 3.5): + - Read includePaths via the helper and pass to `settings.intelephense.environment.includePaths` in `lspconfig.intelephense.setup{}`. + +Open items to confirm +- Confirm JSON as the format (vs Lua) for project-local config. +- Confirm `.nvimroot` as the workspace boundary marker name. +- Confirm array merge behavior (replace vs concatenate). Initial proposal: replace. ## LSP Scope (initial) @@ -267,11 +254,9 @@ Neoconf and the earlier layered JSON proposal were rejected. They remain in the - `spelllang = en_gb` - `listchars` and `showbreak` will reuse legacy values. -- `autocomplete` with `completeopt = menu,menuone,noselect,popup,fuzzy` for Neovim 0.12 native completion. +- `completeopt = menu,menuone,noselect` for `nvim-cmp`. -## Maintenance Reminders +## Process Reminders -- Follow `AGENTS.md` for current maintenance rules. -- Update `README.md` when user-facing behavior changes. -- Record significant architectural decisions in this log. -- Keep changes focused and verify affected workflows. +- After any change or decision, update this README and MIGRATION_PLAN.md. +- Keep subphases small and verify each step in isolation. diff --git a/MIGRATION_PLAN.md b/MIGRATION_PLAN.md new file mode 100644 index 0000000..665be63 --- /dev/null +++ b/MIGRATION_PLAN.md @@ -0,0 +1,506 @@ +# Neovim Migration Checklist + +Source of truth for the step-by-step rebuild. Keep this concise and up to date. See details in `neovim-migration-guide.md`. + +## Phase 0 — Ground Rules +- [x] Create AGENTS.md with rules + +## Phase 1 — Clean & Archive Legacy Config + +## Phase 1.1 — Confirm scope and priorities +- [x] Confirm scope and priorities for this phase + +## Phase 1.2 — Inventory legacy files +- [x] Inventory existing Vimscript, plugin files, and directories + +## Phase 1.3 — Create archive location +- [x] Create `legacy/` archive folder within this config + +## Phase 1.4 — Move legacy files into archive +- [x] Move legacy init files and plugin directories into `legacy/` (do not delete) + +## Phase 1.5 — Document archived contents +- [x] Optionally add `legacy/README.md` noting what was archived + +## Phase 1.6 — Preserve selected directories +- [x] Keep `undodir`, `spell`, `view`, `UltiSnips`, `templates` as-is for now (review later) + +## Phase 2 — Bootstrap + +## Phase 2.1 — Confirm scope and priorities +- [x] Confirm scope and priorities for this phase + +## Phase 2.2 — Scaffold Lua config skeleton +- [x] Scaffold Lua config skeleton (`init.lua`, `lua/settings.lua`, `lua/keymaps.lua`, `lua/autocmds.lua`, `lua/utils.lua`, `lua/plugins/`) + +## Phase 2.3 — Bootstrap lazy.nvim +- [x] Bootstrap `lazy.nvim` plugin manager + +## Phase 2.4 — Disable unused providers +- [x] Disable unused providers (ruby, perl, node) + +## Phase 2.5 — Ensure lazy boots without specs +- [x] Ensure lazy boots without specs (add empty `lua/plugins/init.lua`) + +## Phase 3 — Core Editing & LSP + +## Phase 3.1 — Confirm scope and priorities +- [x] Confirm scope and priorities for this phase +- [x] Decision: PHP LSP = `intelephense` +- [x] Decision: Enable Markdown LSP = `marksman` +- [x] Decision: Use legacy `listchars` and `showbreak` values +- [x] Decision: Support per‑project config for `intelephense.includePaths` +- [x] Decision: No direnv fallback for local config + +## Phase 3.2 — Non-plugin settings to Lua +- [x] Port non-plugin settings to Lua (options, listchars, showbreak, spelllang=en_gb) + +## Phase 3.3 — Core completion stack +- [x] Add core completion stack: `nvim-cmp`, `cmp-nvim-lsp`, `cmp-buffer`, `cmp-path`, `LuaSnip` +- [x] Disable auto-selection in nvim-cmp (require explicit confirm) + +## Phase 3.4 — Project‑local configuration (native exrc) +- [x] Confirm scope and priorities for this subphase +- [x] Decision: Use native `exrc` + `secure` instead of neoconf (neoconf incompatible with Neovim 0.11+ vim.lsp.config API) +- [x] Enable `exrc` and `secure` in settings.lua +- [x] Implement `.nvim.lua` loader in LSP config using `on_new_config` hook +- [x] Wire `intelephense.environment.includePaths` via `.nvim.lua` +- [x] Create validation workspaces: `WORKSPACE_TEST/` and `EXTERNAL_TEST/` with sample PHP files +- [x] Migrate to `vim.lsp.config()` and `vim.lsp.enable()` (Neovim 0.11+ native API) +- [x] Verify project settings load correctly from actual root_dir +- [x] Clean up debug notifications and temporary code + +## Phase 3.7 — Clean LSP config +- [x] Remove debug/helper logic from LSP config +- [x] Migrate from deprecated `require('lspconfig')[server].setup()` to `vim.lsp.config()` + `vim.lsp.enable()` +- [x] Use `on_new_config` hook for project-local settings loading (loads from actual root_dir, not cwd) + +## Phase 3.8 — Validate project-local LSP settings +- [x] Create test workspaces with `.nvim.lua` files +- [x] Validate settings load from actual root_dir via `on_new_config` hook +- [x] Verify `gd` works for external library references via `intelephense.environment.includePaths` +- [x] Clean up debug code and notifications + +## Phase 3.9 — Native exrc + vim.lsp.config migration (RESOLVED) +- [x] Discovered neoconf incompatible with Neovim 0.11+ (GitHub issue #116, unresolved since May 2024) +- [x] Migrated to native `exrc` + `secure` approach (zero dependencies, aligned with minimal philosophy) +- [x] Implemented `.nvim.lua` loader using `on_new_config` hook (loads from actual root_dir) +- [x] Migrated from deprecated `require('lspconfig')` framework to `vim.lsp.config()` + `vim.lsp.enable()` +- [x] Root detection handled by nvim-lspconfig's native configs (no custom root_dir needed) +- [x] Validated `gd` works for external library symbols via `intelephense.environment.includePaths` +- [x] Settings schema: `.nvim.lua` returns `{ lsp = { [server_name] = { settings = {...} } } }` +- [x] Security: `secure` mode prompts user to trust `.nvim.lua` files before execution +- [x] Kept `single_file_support = false` for `intelephense` +- [x] Fixed duplicate `gd` results issue + +## Phase 3.5 — LSP minimal defaults +- [x] Add `nvim-lspconfig` with minimal defaults (no over-configuration) +- [x] Add minimal LSP on-attach keymaps (gd, gr, K, gD, gI) +- [x] Add global LSP keymaps with fallback in `lua/keymaps.lua` +- [x] Intelephense: set `single_file_support=false`, root detection via nvim-lspconfig defaults +- [x] Project settings loaded via `on_new_config` hook from `.nvim.lua` files + +## Phase 3.6 — LSP server management (Mason) +- [x] Confirm scope and priorities for this subphase +- [x] Add `williamboman/mason.nvim` and `williamboman/mason-lspconfig.nvim` +- [x] Ensure servers installed: `lua_ls`, `tsserver`, `html`, `cssls`, `jsonls`, `bashls`, `marksman`, `intelephense` +- [x] Keep our custom per-server setup; use Mason only for installation + +## Phase 4 — Navigation + +## Phase 4.1 — Confirm scope and priorities +- [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 — Configure netrw +- [x] Configure netrw with tree view, preview split, and basic settings (no banner, sensible defaults) +- [x] Created `lua/netrw-config.lua` with settings: tree view, horizontal preview split below, 50/50 split, human-readable sizes +- [x] Add netrw keymaps: `te` (new tab at current file's directory), `tE` (new tab at project root) +- [x] Decision: No `e` or `v` keymaps - use `:Ex`, `:Vex` directly when needed +- [x] Preview behavior: Enter opens file in netrw window, `p` opens 50/50 horizontal split below + +## 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 +- [x] Add `telescope.nvim` + `telescope-fzf-native.nvim` for fuzzy finding +- [x] Configure basic pickers: `find_files`, `live_grep`, `buffers`, `help_tags`, `oldfiles`, `current_buffer_fuzzy_find` +- [x] Add LSP pickers: `lsp_document_symbols`, `lsp_workspace_symbols` +- [x] Keymaps configured: + - `ff` - Find files + - `fg` - Live grep (search text) + - `fb` - Find buffers (with `` to delete) + - `fh` - Find help + - `fr` - Recent files + - `/` - Search current buffer + - `fs` - Document symbols (LSP) + - `fS` - Workspace symbols (LSP) +- [x] Minimal UI: dropdown theme for files/buffers, no previewer for quick selection + +## Phase 4.4 — Oil.nvim for file manipulation +- [x] Add `stevearc/oil.nvim` for filesystem operations (rename, create, delete, copy, move) +- [x] Configure to handle buffer name sync on file operations +- [x] Keep minimal - use only when shell operations would cause buffer issues +- [x] Keymaps configured: + - `fo` - Open Oil file browser (regular buffer) + - `fO` - Open Oil in floating window (with floating previews) + - `` in Oil - Preview files (vertical split to right for regular, floating window for float mode) +- [x] Preview splits open to the right via `vertical = true` and `split = 'belowright'` +- [x] Floating window preview direction: `preview_split = "right"` +- [x] Note: Evaluate practicality; can switch to `mini.files` if preferred + +## Phase 5 — Treesitter + +## Phase 5.1 — Confirm scope and priorities +- [x] Confirm scope and priorities for this phase +- [x] Decision: Focus on languages: PHP, HTML, JavaScript, TypeScript, CSS, Markdown, Lua, Bash, JSON +- [x] Decision: Enable syntax highlighting and incremental selection (CR to expand, BS to shrink) +- [x] Decision: Enable textobjects for functions, classes, parameters, conditionals, loops +- [x] Decision: Enable autotag for HTML/PHP/JS/React files +- [x] Decision: Disable indent (experimental) to start; can enable per-filetype if stable + +## Phase 5.2 — Base Treesitter +- [x] Add `nvim-treesitter` with incremental selection, highlighting +- [x] Configure parsers: lua, vim, vimdoc, php, html, javascript, typescript, tsx, css, scss, json, markdown, markdown_inline, bash, regex +- [x] Enable auto-install for missing parsers +- [x] Incremental selection keymaps: CR (init/expand), S-CR (scope expand), BS (shrink) +- [x] Disable for large files (>100KB) to maintain performance + +## Phase 5.3 — Treesitter textobjects +- [x] Add `nvim-treesitter-textobjects` +- [x] Select keymaps: `af`/`if` (function), `ac`/`ic` (class), `aa`/`ia` (parameter), `ai`/`ii` (conditional), `al`/`il` (loop), `a/` (comment) +- [x] Move keymaps: `]f`/`[f` (next/prev function start), `]F`/`[F` (function end), similar for classes and parameters +- [x] Swap keymaps: `a`/`A` (swap parameter with next/prev) + +## Phase 5.4 — Treesitter autotag +- [x] Add `nvim-ts-autotag` +- [x] Enable auto-close, auto-rename, and close-on-slash for HTML/PHP/JS/React/TS/Vue files + +## Phase 6 — UX / Editing + +## Phase 6.1 — Confirm scope and priorities +- [x] Confirm scope and priorities for this phase +- [x] Decision: No cursorcolumn (as per AGENTS.md) +- [x] Decision: No auto-window toggling behavior (keep settings static) +- [x] Decision: No motion plugin (skip leap/flash) +- [x] Decision: Move undotree to separate Phase 6.8 +- [x] UX settings to add: signcolumn, cursorline, colorcolumn + +## Phase 6.2 — Core UX settings +- [x] Add signcolumn=yes (always show gutter for LSP/git) +- [x] Add cursorline (highlight current line) +- [x] Add colorcolumn=80,120 (visual guides) +- [x] No cursorcolumn (excluded as per AGENTS.md) +- [x] No per-window autocommands (keep simple) + +## Phase 6.3 — Comment.nvim +- [x] Add `numToStr/Comment.nvim` +- [x] Configure for gcc/gc commenting +- [x] Add keymaps if needed + +## Phase 6.4 — Surround +- [x] Add `kylechui/nvim-surround` +- [x] Minimal config with default keymaps (ys, ds, cs) + +## Phase 6.5 — Autopairs +- [x] Add `windwp/nvim-autopairs` +- [x] Integrate with nvim-cmp + +## Phase 6.6 — Indent guides +- [x] Add `lukas-reineke/indent-blankline.nvim` +- [x] Configure scope highlighting + +## Phase 6.7 — Folding (UFO) +- [x] Add `kevinhwang91/nvim-ufo` for folding +- [x] Configure with Treesitter and LSP providers +- [x] Add fold keymaps (za, zR, zM, etc.) + +## Phase 6.8 — Undotree +- [x] Add `mbbill/undotree` +- [x] Add keymap to toggle undotree +- [x] Configure minimal settings + +## Phase 7 — Git Integration + +## Phase 7.1 — Confirm scope and priorities +- [x] Confirm scope and priorities for this phase +- [x] Decision: Gitsigns with minimal config - signs in gutter, hunk navigation/actions only +- [x] Decision: Skip markdown rendering plugins entirely + +## Phase 7.2 — Gitsigns +- [x] Add `lewis6991/gitsigns.nvim` +- [x] Configure signs in gutter (add, change, delete, topdelete, changedelete) +- [x] Add hunk navigation keymaps (]h/[h for next/prev hunk) +- [x] Add hunk action keymaps (stage, reset, preview) +- [x] Keep minimal - no inline blame, no advanced features + +## Phase 8 — Copilot + +## Phase 8.1 — Confirm scope and priorities +- [x] Confirm scope and priorities for this phase +- [x] Decision: Integrate Copilot into nvim-cmp as completion source +- [x] Decision: Auto-trigger suggestions as you type +- [x] Decision: No specific Copilot keymaps needed (use existing cmp keymaps) +- [x] Decision: Enable for all filetypes +- [x] Decision: Copilot suggestions appear before LSP suggestions in completion menu +- [x] Node.js v22.21.1 upgraded and confirmed working + +## Phase 8.2 — Copilot setup +- [x] Add `zbirenbaum/copilot.lua` + `zbirenbaum/copilot-cmp` +- [x] Configure copilot.lua with auto-trigger and all filetypes +- [x] Add copilot-cmp as source to nvim-cmp +- [x] Set copilot-cmp priority higher than LSP in completion menu +- [x] Note: Copilot initializes on first InsertEnter; enter/exit insert mode once before using `:Copilot auth` + +## Phase 9 — Formatting & Linting + +## Phase 9.1 — Confirm scope and priorities +- [x] Confirm scope and priorities for this phase +- [x] Decision: Formatters - prettier (JS/TS/CSS/JSON/MD/HTML), phpcbf (PHP), stylua (Lua), black (Python) +- [x] Decision: Linters - eslint (JS/TS), phpcs (PHP), markdownlint (Markdown), ruff (Python) +- [x] Decision: Project-local executables preferred, fallback to global (node_modules/.bin/, vendor/bin/) +- [x] Decision: phpcs/phpcbf already installed globally with WordPress coding standards - no installation needed +- [x] Decision: Format-on-save enabled by default with toggle capability +- [x] Decision: Manual format keymaps: `lf` (normal), `lf` (visual range) +- [x] Decision: Respect project config files (.prettierrc, phpcs.xml, .eslintrc, pyproject.toml, etc.) +- [x] Strategy: Helper function detects project-local executables first, then global +- [x] WordPress: phpcs.xml in project root or --standard=WordPress flag for WordPress projects +- [x] Philosophy: Formatters are authoritative source of truth; Neovim settings should match formatter rules per filetype +- [x] Note: Phase 9.4 will align Neovim editor settings (tabstop, shiftwidth, expandtab) with formatter configurations + +## Phase 9.2 — none-ls setup with project-aware executables +- [x] Add `nvimtools/none-ls.nvim` +- [x] Create helper function to detect project-local executables (node_modules/.bin/, vendor/bin/, Mason bin) +- [x] Configure formatters: + - [x] prettier (project-local first, then Mason, then global) + - [x] phpcbf (project-local first, then global system install - already available) + - [x] stylua (Mason installed) +- [x] Add `mfussenegger/nvim-lint` for linting (none-ls removed most linters from builtins) +- [x] Configure linters via nvim-lint: + - [x] eslint_d (project-local first, then Mason, then global - daemon version for speed) + - [x] phpcs (project-local first, then global system install - already available) + - [x] markdownlint (Mason installed) +- [x] Add format-on-save autocommand with toggle capability (`lt` to toggle) +- [x] Add manual format keymaps: `lf` (buffer), `lf` (visual range) +- [x] Ensure WordPress coding standards work via phpcs.xml or --standard flag +- [x] Search order: project node_modules/.bin/ → project vendor/bin/ → Mason bin → system PATH +- [x] Note: Linting runs on BufEnter, BufWritePost, InsertLeave events + +## Phase 9.3 — Mason formatter/linter installation +- [x] Add `WhoIsSethDaniel/mason-tool-installer.nvim` for automated installation +- [x] Install via Mason: prettier, eslint_d, markdownlint, stylua, black, ruff +- [x] Note: phpcs/phpcbf already installed globally, skip Mason installation +- [x] Verify all tools available: Tools installed to ~/.local/share/nvim/mason/bin/ + +## Phase 9.4 — Align Neovim settings with formatter rules +- [x] Configure per-filetype settings to match formatter defaults +- [x] PHP: tabs, 2-width display (WordPress standards) +- [x] JS/TS/CSS/JSON/HTML: spaces, 2-width (Prettier defaults) +- [x] Lua: spaces, 2-width (common Neovim convention) +- [x] Markdown: spaces, 2-width (Prettier defaults) +- [x] Python: spaces, 4-width (Black/PEP 8 defaults) +- [x] Use autocmds in lua/autocmds.lua for filetype-specific tabstop, shiftwidth, expandtab +- [x] Set global defaults: 4-width, spaces (reasonable baseline) +- [x] Goal: Manual editing feels natural and matches what formatter will produce on save +- [x] Note: All settings kept explicit per-filetype for clarity and maintainability + +## Phase 10 — Migrate Kept Behaviours + +## Phase 10.1 — Confirm scope and priorities +- [x] Confirm scope and priorities for this phase +- [x] Decision: Port abbreviations to Lua via vim.cmd.iabbrev +- [x] Decision: Port shell template auto-loading via autocmd + BufReadPost +- [x] Decision: Whitespace highlighting already handled via listchars (Phase 3.2) +- [x] Decision: Skip persistent folds (UFO handles folding, no explicit persistence needed) + +## Phase 10.2 — Abbreviations +- [x] Abbreviations: `adn→and`, `waht→what`, `tehn→then`, `functin→function`, `positin→position` +- [x] Created dedicated `lua/abbreviations.lua` for modularity and easier maintenance + +## Phase 10.3 — Templates +- [x] Templates: auto-populate new `.sh` from template +- [x] Added BufNewFile autocmd for *.sh in lua/autocmds.lua + +## Phase 10.4 — Whitespace highlighting +- [x] Whitespace highlighting (modern approach) +- [x] Note: Already handled via listchars in Phase 3.2 (settings.lua) + +## Phase 10.5 — Persistent folds +- [x] Persistent folds (via UFO) -- no need, this is no longer required. +- [x] Note: UFO handles folding; no explicit persistence mechanism needed + +## Phase 11 — Colorscheme: Modern Paper Tonic + +## Phase 11.1 — Confirm scope and priorities +- [x] Confirm scope and priorities for this phase +- [x] Decision: Create modern Paper Tonic fork from scratch +- [x] Decision: Name = "paper-tonic-modern" +- [x] Decision: Location = inside nvim config initially, move to repo later +- [x] Decision: Structure = modular Lua colorscheme (colors.lua, groups/*.lua) +- [x] Phased approach: + - Phase 11.2-11.4: Extract palette and base groups + - Phase 11.5-11.6: General TreeSitter highlights (modern @* groups) + - Phase 11.7: Semantic highlighting (custom CSS/HTML captures) + - Phase 11.8: Plugin support (LSP, Telescope, Gitsigns, etc.) + +## Phase 11.2 — Extract Paper Tonic color palette +- [x] Create `lua/paper-tonic-modern/colors.lua` +- [x] Extract all `c_*` color variables from Paper Tonic +- [x] Document what each color represents (foreground, background, accent colors) +- [x] Convert to modern format (keep hex, 256-color, ANSI mappings) + +## Phase 11.3 — Create colorscheme structure +- [x] Create directory structure: + - `colors/paper-tonic-modern.lua` (entry point) + - `lua/paper-tonic-modern/init.lua` (main logic) + - `lua/paper-tonic-modern/colors.lua` (palette) + - `lua/paper-tonic-modern/groups/` (highlight group definitions) +- [x] Create helper function for setting highlights +- [x] Set up colorscheme loading mechanism + +## Phase 11.4 — Base vim highlight groups +- [x] Create `lua/paper-tonic-modern/groups/editor.lua` +- [x] Map Paper Tonic colors to base groups: Normal, Comment, LineNr, CursorLine, etc. +- [x] Create `lua/paper-tonic-modern/groups/syntax.lua` +- [x] Map to syntax groups: Function, String, Keyword, Identifier, etc. +- [x] Test with simple Lua file to verify base colors work + +## Phase 11.5 — Modern TreeSitter highlight groups +- [x] Create `lua/paper-tonic-modern/groups/treesitter.lua` +- [x] Map modern `@*` groups to Paper Tonic colors: + - Core: @variable, @function, @keyword, @string, @number, @boolean, @comment + - Types: @type, @property, @field, @parameter + - Operators: @operator, @punctuation.delimiter, @punctuation.bracket + - Language constructs: @keyword.function, @keyword.return, @keyword.conditional +- [x] Use `:help treesitter-highlight-groups` as reference +- [x] Test with multiple languages: Lua, PHP, JavaScript, HTML, CSS + +## Phase 11.6 — Language-specific TreeSitter groups +- [x] Add language-specific overrides (e.g., @variable.php, @tag.html) +- [x] Ensure HTML tags, CSS selectors, PHP variables have appropriate colors +- [x] Test across primary languages (HTML, PHP, JS, CSS, Markdown) +- [x] Added comprehensive language-specific groups: + - CSS/SCSS: properties, variables, functions (green c2 tones) + - HTML: tags, attributes, delimiters (blue c3) + - PHP: variables, functions, methods, built-ins (primary brownish-red) + - JavaScript/TypeScript: variables, functions, properties, JSX tags (primary + blue for JSX) + - Lua: variables, functions, built-ins (primary) + - Markdown: headings, links, code blocks (primary for structure) + - JSON: properties, strings, numbers (neutral) + - Bash: variables, functions, built-ins (primary) + +## Phase 11.7 — Semantic highlighting (custom captures) +- [x] Create `lua/paper-tonic-modern/groups/semantic.lua` +- [x] Define your custom semantic captures: + - @CssClassName (for CSS .class and HTML class="" - same color) + - @CssIdentifier (for CSS #id and HTML id="" - same color) + - @DataAttribute, @DataAttributeValue (HTML data-* attributes) + - @cssPseudoClass, @cssNestingSelector, @CssUniversalSelector (CSS-specific) +- [x] Verify cross-language consistency: class names in HTML match CSS +- [x] Implemented semantic highlights: + - CSS: @CssClassName (green c2), @CssIdentifier (strong green c2_strong), @cssPseudoClass (weak green c2_weak) + - CSS: @cssNestingSelector (strong green), @CssUniversalSelector (SpecialChar) + - CSS: @CssProp (primary_weak), @CssPropertyValue (bold), @CssUnit (Delimiter) + - HTML: @ClassNameAttribute, @IdAttribute, @DataAttribute (all fg_weak for attribute names) + - HTML: @DataAttributeValue (Function) + - Cross-language: class values and #id values in HTML use same colors as CSS selectors +- [ ] Test with existing custom queries (after/queries/css/highlights.scm, after/queries/html/highlights.scm) + +## Phase 11.8 — Plugin highlight groups +- [x] Create `lua/paper-tonic-modern/groups/lsp.lua` +- [x] Define LSP diagnostics: DiagnosticError, DiagnosticWarn, DiagnosticHint, DiagnosticInfo +- [x] Define LSP UI: LspReferenceText, LspReferenceRead, LspReferenceWrite +- [x] Create `lua/paper-tonic-modern/groups/plugins.lua` +- [x] Add Telescope highlights (TelescopeNormal, TelescopeBorder, TelescopeSelection) +- [x] Add Gitsigns highlights (GitSignsAdd, GitSignsChange, GitSignsDelete) +- [x] Add nvim-cmp highlights (CmpItemKind*, CmpItemMenu, etc.) +- [x] Add Oil.nvim highlights if needed + +**Notes**: +- LSP diagnostics use red (error), orange (warn), blue (info), green (hint) +- LSP references use cyan backgrounds with varying intensity (text/read/write) +- LSP semantic tokens link to TreeSitter groups for consistency +- Telescope uses neutral colors with primary accent for matching and selection +- Gitsigns uses status colors: green (add), blue (change), red (delete) +- nvim-cmp uses primary tones for kinds, bold for matching text +- Oil.nvim uses bold for directories, status colors for permissions and operations +- indent-blankline and ufo use subtle grays for non-intrusive UI + +## Phase 11.9 — Update plugin configuration +- [x] Update `lua/plugins/colorscheme.lua` to use paper-tonic-modern +- [x] Remove old Paper Tonic reference +- [x] Remove colorscheme-overrides.lua (no longer needed) +- [x] Test full config reload + +**Notes**: +- `lua/plugins/colorscheme.lua` already updated to load `paper-tonic-modern` +- Old `paper-tonic/` directory moved to `legacy/paper-tonic-original/` (archived) +- No `colorscheme-overrides.lua` existed (not needed with modern implementation) +- Full config reload tested: Normal ✓, DiagnosticError ✓, TelescopeNormal ✓, GitSignsAdd ✓ +- Colorscheme loads correctly: `vim.g.colors_name = 'paper-tonic-modern'` + +## Phase 11.10 — Validation and polish +- [ ] Test all primary languages (Lua, PHP, HTML, CSS, JS, Markdown) +- [ ] Verify semantic consistency (CSS classes in HTML match CSS files) +- [ ] Check plugin UI colors (Telescope, Gitsigns, nvim-cmp) +- [ ] Verify LSP diagnostics are visible and distinct +- [ ] Document color scheme in README + +## Phase 11.11 — Extract to separate repo (later) +- [ ] Move to `~/projects/paper-tonic-modern/` +- [ ] Update plugin config to point to new location +- [ ] Add proper README, LICENSE, screenshots +- [ ] Consider publishing to GitHub + +## Phase 12 — Cleanup & Validation + +## Phase 12.1 — Confirm scope and priorities +- [ ] Confirm scope and priorities for this phase + +## Phase 12.2 — Retire legacy files +- [ ] Retire legacy Vimscript files (keep for reference until verified) + +## Phase 12.3 — Startup performance +- [ ] Validate startup performance (no errors, fast launch) + +## Phase 12.4 — Navigation validation +- [ ] Validate Telescope navigation + LSP jumps +- [ ] Validate netrw browsing and preview splits +- [ ] Validate Oil.nvim file operations + +## Phase 12.5 — Language tooling validation +- [ ] Validate HTML/PHP/JS/Markdown tooling +- [ ] Verify LSP (gd, gr, K, diagnostics) +- [ ] Verify formatting (prettier, phpcbf, stylua) +- [ ] Verify linting (eslint_d, phpcs, markdownlint) + +## Phase 12.6 — Final polish +- [x] Review all keymaps and ensure they're documented (README.md + :KeymapsGuide) +- [ ] Update LOG.md with final architecture and usage +- [ ] Clean up any remaining debug code or temporary comments + +--- + +Notes: +- Keep plugin specs minimal; configure in their own `lua/plugins/*.lua` files. +- Avoid adding plugins not listed in the guide unless explicitly requested. +- Prefer simple defaults; only add settings that clearly improve workflow. +- Plugin approval policy: unlisted plugins may be proposed, but must be explicitly confirmed before installation. + +Known Issues / Follow-ups: +- lua-language-server (lua_ls) from Mason failed to start due to missing shared library `libbfd-2.38-system.so`. **RESOLVED**: Installed lua-language-server via system package manager (pacman) instead of Mason. Removed `lua_ls` from Mason's ensure_installed list in `lua/plugins/mason-lspconfig.lua`. +- LSP root detection: In some cases, the parent repository is picked as the root (e.g., when a workspace lives inside another repo). Workaround: create an empty `.git` directory (or a marker like `.nvimroot`) in the intended workspace root to pin the project root for LSPs. + +Decisions & Changes: +- **Neoconf dropped**: folke/neoconf.nvim incompatible with Neovim 0.11+ vim.lsp.config API (GitHub issue #116, open since May 2024, no resolution). Migrated to native `exrc` + `secure` approach. +- **vim.lsp.config migration**: Migrated from deprecated `require('lspconfig')[server].setup()` to `vim.lsp.config()` + `vim.lsp.enable()` (Neovim 0.11+ native API). +- **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. diff --git a/README.md b/README.md index fedb439..45d1cf5 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,6 @@ Living reference for session management, keymaps, commands, and plugin-specific features in this config. -The active runtime is Neovim 0.12.6 through `~/.local/bin/nvim`. Neovim 0.11.5 remains available at `/opt/neovim/nvim-linux-x86_64/bin/nvim` for emergency rollback; the config starts there with 0.12-only native completion and Undotree disabled. - -Persistent undo files are stored outside this repository in -`stdpath('state')/undo` (normally `~/.local/state/nvim/undo`). - ## Session Management Session support is automatic but user-controlled: @@ -19,8 +14,6 @@ Session support is automatic but user-controlled: **Auto-load/save** (via `lua/autocmds.lua`): - On startup: auto-loads `Session.vim` if it exists (unless files specified on command line) - On exit: auto-saves to `Session.vim` if it already exists -- Netrw and its preview windows are omitted from the saved layout; generated `NetrwTreeListing` buffers are not restorable -- Missing files are removed from restored buffers and argument lists, so deleted files cannot become persistent empty session buffers - Sessions are per-directory and opt-in (just create one to start using) **Stop using a session**: @@ -47,107 +40,22 @@ Core keymaps available globally (not plugin-specific). These provide fallbacks f | n | `gr` | LSP references placeholder | `` so LSP buffers can override cleanly | | n | `gI` | LSP implementation placeholder | `` so LSP buffers can override cleanly | | n | `K` | Keyword help fallback | Uses `keywordprg` (e.g., `man`) when LSP hover is unavailable | -| n | `co` | Quickfix: Open | Opens quickfix window | -| n | `cc` | Quickfix: Close | Closes quickfix window | -| n | `lo` | Location list: Open | Opens location list window | -| n | `lc` | Location list: Close | Closes location list window | | n | `xx` | Diagnostics → location list | Populates current buffer diagnostics | | n | `xX` | Diagnostics → quickfix | Populates project-wide diagnostics | | n | `xe` | Diagnostics → buffer errors | Location list filtered to errors | | n | `xE` | Diagnostics → all errors | Quickfix filtered to errors | -| n | `[d` | Diagnostics: previous item | Uses `vim.diagnostic.jump` with a negative count | -| n | `]d` | Diagnostics: next item | Uses `vim.diagnostic.jump` with a positive count | +| n | `[d` | Diagnostics: previous item | Uses `vim.diagnostic.goto_prev` | +| n | `]d` | Diagnostics: next item | Uses `vim.diagnostic.goto_next` | | n | `xd` | Diagnostic float | Opens hover window for cursor diagnostic | | n | `xt` | Toggle diagnostics | Flips `vim.diagnostic.enable()` | -| n | `gg` | Git: Changed files → quickfix | Lists all modified/deleted/untracked files with status | | n | `hi` | Highlight inspector | Shows highlight/capture stack under cursor | -| n | `bg` | Toggle background (light/dark) | Switches between light and dark colorscheme modes | ### `lua/netrw-config.lua` -#### `:Ex` Command Variants - -| Command | Opens netrw at | -| --- | --- | -| `:Ex` | Current working directory (`:pwd`) | -| `:Ex .` | Current file's directory | -| `:Ex %:h` | Current file's directory (explicit) | -| `:Ex /path/to/dir` | Specific path | - -#### Custom Keymaps - | Mode | Key | Description | | --- | --- | --- | -| n | `nt` | Open netrw in new tab at current file's directory | -| n | `nT` | Open netrw in new tab at project root | -| n | `nr` | Open netrw in current window at project root | -| n | `` / `` | Jump to alternate file, skipping netrw explorer buffers | - -**Note:** Project root is stored as the initial working directory when Neovim starts. This allows navigation back to the project root even after following symlinks to external directories. - -#### Default Netrw Keymaps - -##### Navigation & View - -| Key | Description | -| --- | --- | -| `` | Open file/directory under cursor | -| `-` | Go up to parent directory | -| `gh` | Toggle hidden files visibility (dotfiles) | -| `i` | Cycle through view types (thin/long/wide/tree) | -| `s` | Cycle sort order (name/time/size/extension) | -| `r` | Reverse current sort order | -| `I` | Toggle netrw banner (help text) | - -##### Preview & Splits - -| Key | Description | -| --- | --- | -| `p` | Toggle the selected file/directory preview and live cursor updates | -| `j` / `k` | Update an existing preview to the newly selected entry | -| `` / `` | Scroll the preview down/up without leaving netrw; accepts a count | -| `:pclose` / `z` | Close the preview and stop live updates | -| `P` | Open file in previous window | -| `o` | Open file in horizontal split below | -| `v` | Open file in vertical split | -| `t` | Open file in a new tab | - -Regular files use netrw's native preview. Directories show a read-only summary of -their immediate children, including type, file size, modification time, and a -total for immediate files. Directories appear first, output is capped at 200 -entries, and symbolic links are displayed without following them recursively. -File previews retain Tree-sitter or Vim syntax highlighting while suppressing -diagnostics and indent guides. The buffer's prior diagnostic and indent-guide -state returns automatically when a previewed file is opened for editing. -Preview-only file buffers remain loaded but unlisted until Neovim exits, retaining -the lifecycle protection added for rapid preview replacement. - -Opening a file with ``, `o`, `v`, or `t`, or otherwise leaving netrw, closes -the preview. Closing it manually or pressing `p` again disables live updates -until `p` is pressed again. Enhanced directory summaries apply to local paths -(including local paths when Neovim runs over SSH); netrw URI browsing retains -its native preview behavior. - -##### File Operations - -| Key | Description | -| --- | --- | -| `%` | Create new file (prompts for name) | -| `d` | Create new directory (prompts for name) | -| `D` | Delete file/directory under cursor | -| `R` | Rename/move file under cursor | - -##### Marking & Batch Operations - -| Key | Description | -| --- | --- | -| `mf` | Mark file (for batch operations) | -| `mr` | Mark files using regex pattern | -| `mu` | Unmark all marked files | -| `mt` | Set mark target directory (for move/copy destination) | -| `mc` | Copy marked files to target directory | -| `mm` | Move marked files to target directory | -| `qf` | Display file info | +| n | `te` | Open netrw in a new tab rooted at current file directory | +| n | `tE` | Open netrw in a new tab rooted at project cwd | ## Plugin Reference @@ -165,7 +73,7 @@ Buffer-local keymaps available when an LSP client attaches: | n | `gI` | LSP: implementation | | n | `K` | LSP hover | -### Conform (Formatting) `lua/plugins/conform.lua` +### None-ls (Formatting) `lua/plugins/none-ls.lua` #### Keymaps @@ -206,7 +114,6 @@ Buffer-local keymaps available when inside a git repository: | n | `hp` | Preview hunk | | n | `hd` | Diff against index | | n | `hD` | Diff against previous commit (`~`) | -| n | `hq` | Send all hunks to quickfix list | | o/x | `ih` | Text object: select git hunk | ### Telescope `lua/plugins/telescope.lua` @@ -253,6 +160,38 @@ Buffer-local keymaps available when inside a git repository: | --- | --- | --- | --- | | `buffers` picker | i | `` | Delete highlighted buffer | +### Oil `lua/plugins/oil.lua` + +#### Keymaps + +##### Global launcher mappings + +| Mode | Key | Description | +| --- | --- | --- | +| n | `fo` | Open Oil in current window | +| n | `fO` | Open Oil in floating window | + +##### Oil buffer mappings (`opts.keymaps`) + +| Key | Description | +| --- | --- | +| `g?` | Show Oil help | +| `` | Open entry in current window | +| `` | Open entry in vertical split | +| `` | Open entry in horizontal split | +| `` | Open entry in new tab | +| `` | Preview entry (vertical split belowright) | +| `` | Close Oil | +| `` | Refresh | +| `-` | Go to parent directory | +| `_` | Open Neovim cwd | +| `` ` `` | `:cd` into entry | +| `~` | `:tcd` into entry | +| `gs` | Change sort mode | +| `gx` | Open entry externally | +| `g.` | Toggle hidden files | +| `g\` | Toggle trash visibility | + ### UFO (Folding) `lua/plugins/ufo.lua` #### Keymaps @@ -267,32 +206,27 @@ Buffer-local keymaps available when inside a git repository: | preview window | `` / `` | Scroll within UFO preview | | preview window | `[` / `]` | Jump to top/bottom of preview | -### Native Undotree `lua/keymaps.lua` +### Undotree `lua/plugins/undotree.lua` #### Keymaps | Mode | Key | Description | | --- | --- | --- | -| n | `u` | Toggle Neovim's native Undotree panel (`:Undotree`) | +| n | `u` | Toggle Undotree panel | ### Treesitter `lua/plugins/treesitter.lua` -The Neovim 0.12-compatible `main` branches are used for both nvim-treesitter -and nvim-treesitter-textobjects. Highlighting and incremental selection use -Neovim's native APIs; textobjects use explicit plugin mappings. Parser builds -require `tree-sitter-cli` 0.26.1 or newer (`tree-sitter --version`). - #### Keymaps ##### Incremental selection | Key | Description | | --- | --- | -| `+` | Initialize/expand selection to the parent node | +| `+` | Initialize/expand selection | | `g+` | Expand to scope | -| `-` | Shrink selection to the child node | +| `-` | Shrink selection | -##### Textobject selection +##### Textobject selection (`select.keymaps`) | Key | Target | | --- | --- | @@ -303,7 +237,7 @@ require `tree-sitter-cli` 0.26.1 or newer (`tree-sitter --version`). | `al` / `il` | Loop outer / inner | | `a/` | Comment outer | -##### Textobject movement +##### Textobject movement (`move` mappings) | Key | Action | | --- | --- | @@ -335,8 +269,6 @@ require `tree-sitter-cli` 0.26.1 or newer (`tree-sitter --version`). ### Nvim-surround `lua/plugins/surround.lua` -The configuration uses nvim-surround v4's default mappings. - #### Keymaps | Mode | Mapping | Description | @@ -353,33 +285,17 @@ The configuration uses nvim-surround v4's default mappings. | normal | `cs{old}{new}` | Change surround | | normal | `cS{old}{new}` | Change surround (linewise) | -### Native Completion `lua/completion.lua` +### Nvim-cmp (Completion) `lua/plugins/cmp.lua` #### Keymaps | Mode | Key | Description | | --- | --- | --- | -| insert | `` | Manually trigger LSP completion | +| insert | `` | Manually trigger completion | +| insert | `` | Confirm selection (selects first item by default) | | insert | `` | Next completion item | | insert | `` | Previous completion item | -| insert | `` | Accept the explicitly selected completion item | -| insert | `` | Dismiss the completion menu | -| insert | `` | Complete words from the current buffer | -| insert | `` | Complete a filesystem path | -| insert/select | `` / `` | Jump forward/backward through native snippet tabstops | - -Completion opens automatically after a 150 ms delay, uses fuzzy matching, and does not preselect an item. LSP buffers prioritize language-aware results exclusively; buffer words remain available explicitly with ``. Buffers without an LSP autocomplete from a bounded set of nearby words. Native completion is disabled in Telescope prompts so it does not obscure picker results. - -### Copilot Inline Suggestions `lua/plugins/copilot.lua` - -Copilot appears as ghost text rather than as an item in the native completion menu. Suggestions are hidden while that menu is visible. - -| Mode | Key | Description | -| --- | --- | --- | -| insert | `` | Accept the visible Copilot suggestion | -| insert | `` | Show the next Copilot suggestion | -| insert | `` | Show the previous Copilot suggestion | -| insert | `` | Dismiss the Copilot suggestion | +| insert | `` | Abort completion menu | ### Nvim-autopairs `lua/plugins/autopairs.lua` @@ -388,165 +304,3 @@ Copilot appears as ghost text rather than as an item in the native completion me | Mode | Key | Description | | --- | --- | --- | | insert | `` | Fast wrap the previous text with a pair | - -## Configuration - -### Colorscheme - -`paper-tonic-modern` is built into this repository and loaded from `colors/paper-tonic-modern.lua`. Its modular highlight definitions live under `lua/paper-tonic-modern/` and cover the editor UI, traditional syntax, Tree-sitter captures, LSP diagnostics, and the configured plugins. - -The theme follows the system light/dark preference at startup. Use `bg` to toggle the background manually. Custom HTML and CSS Tree-sitter queries keep matching classes and IDs visually consistent across both languages. - -### Project-Local LSP Settings - -Native `exrc` and `secure` support are enabled. A trusted `.nvim.lua` can return an `lsp` table keyed by server name; settings are securely read from the attached LSP client's root and sent through `workspace/didChangeConfiguration`. - -```lua -return { - lsp = { - intelephense = { - settings = { - intelephense = { - environment = { - includePaths = { "vendor/package/src" }, - }, - }, - }, - }, - }, -} -``` - -### Formatting & Linting - -This config uses **conform.nvim** for formatting and **nvim-lint** for diagnostics. Both prefer project-local tools over global installations. - -#### Executable Resolution Order - -When looking for formatters/linters, the config searches in this priority: - -1. **Project-local** (e.g., `node_modules/.bin/`, `vendor/bin/`) -2. **Mason-managed** (`~/.local/share/nvim/mason/bin/`) -3. **System PATH** (globally installed tools) - -Conform.nvim handles this resolution automatically via its built-in `util.find_executable()`. nvim-lint uses a custom `find_executable()` helper in `lua/plugins/nvim-lint.lua`. - -#### Configured Tools - -**Formatters** (`lua/plugins/conform.lua`): -- **JavaScript/TypeScript/CSS/JSON/HTML/Markdown**: `prettier` -- **PHP**: `phpcbf` (WordPress standard by default) -- **Lua**: `stylua` -- **Python**: `ruff_format` - -**Linters** (`lua/plugins/nvim-lint.lua`): -- **JavaScript/TypeScript**: `eslint_d` -- **PHP**: `phpcs` (WordPress standard by default) -- **Markdown**: `markdownlint` (disabled by default; use `:MarkdownLintEnable`) -- **Python**: handled by `ruff` LSP (not nvim-lint) - -#### Project-Specific Overrides - -Both formatters and linters respect project-level configuration files: - -**PHP** (phpcbf + phpcs): -- Create `phpcs.xml` or `phpcs.xml.dist` in your project root -- When present, this file controls the coding standard (e.g., PSR-12, WordPress, custom) -- When absent, defaults to `--standard=WordPress` - -Example `phpcs.xml`: -```xml - - - Project-specific PHP rules - - - - - - - - - - -``` - -**JavaScript/TypeScript** (prettier + eslint): -- Project config files: `.prettierrc`, `.eslintrc.json`, `eslint.config.js`, etc. -- Global fallback: `~/.eslintrc.json` (when no project config exists) - -**Lua** (stylua): -- Project config: `stylua.toml` or `.stylua.toml` -- Falls back to stylua defaults if not present - -**Markdown** (markdownlint): -- Project config: `.markdownlint.json`, `.markdownlintrc` - -#### Changing Standards Per-Project - -To switch a PHP project from WordPress to PSR-12: - -1. Create `phpcs.xml` in project root: - ```xml - - - - - ``` - -2. Restart Neovim (or reload config: `:source $MYVIMRC`) - -Both `phpcs` and `phpcbf` will now use PSR-12 rules in that project. - -#### Format-on-Save - -- **Enabled by default** for all supported filetypes -- **Toggle**: `lt` (see keymaps below) -- **Manual format**: `lf` (buffer or visual selection) - -#### Linting Behavior - -- **Automatic**: Runs on `BufEnter`, `BufWritePost`, `InsertLeave` -- **Per-filetype**: Configured in `lint.linters_by_ft` table -- **Markdown**: Opt-in only (`:MarkdownLintEnable` / `:MarkdownLintDisable`) - -## Configuration Options - -### Tabline Display - -Custom tabline shows intelligent path shortening with two configurable options. - -**Location:** `lua/settings.lua` (configured via `utils.tabline_full_parents` and `utils.tabline_shorten_length`) - -**Configuration Options:** - -1. **`utils.tabline_full_parents`** (default: `1`) - Number of parent directories to show in full -2. **`utils.tabline_shorten_length`** (default: `3`) - Number of characters to show for shortened directories - -**Examples:** - -With `full_parents = 1, shorten_length = 3`: -- `/path/to/my/project/src/file.txt` → `pat/to/my/project/src/file.txt` - -With `full_parents = 2, shorten_length = 3`: -- `/path/to/my/project/src/file.txt` → `pat/to/my/project/src/file.txt` - -With `full_parents = 1, shorten_length = 1`: -- `/path/to/my/project/src/file.txt` → `p/t/m/project/src/file.txt` - -With `full_parents = 0, shorten_length = 3`: -- `/path/to/my/project/src/file.txt` → `pat/to/my/pro/src/file.txt` - -The last N parent directories are shown in full, earlier directories are shortened to the specified number of characters. The filename itself is always shown in full. - -**To customize:** Edit `utils.tabline_full_parents` and `utils.tabline_shorten_length` values in `lua/settings.lua` - -## Working Directory Behavior - -The working directory (`:pwd`) is locked to the directory where you opened Neovim and does NOT change when switching files: - -- `autochdir` is disabled (working directory stays fixed at project root) -- `netrw_keepdir = 1` prevents netrw from changing directory when browsing -- Project root is captured at startup in `vim.g.project_root` (used by Telescope and netrw) -- Telescope searches from the initial project root regardless of current buffer -- Use `:cd ` to manually change directory if needed (affects Telescope search scope) diff --git a/REGRESSION_FIX_2025-12-07.md b/REGRESSION_FIX_2025-12-07.md new file mode 100644 index 0000000..7bf7e46 --- /dev/null +++ b/REGRESSION_FIX_2025-12-07.md @@ -0,0 +1,129 @@ +# Critical Regression Fix: LSP Project Settings Not Loading (2025-12-07) + +## Summary +`gd` (goto definition) stopped working for external library references in `WORKSPACE_TEST/site/external.php`. Even restoring to a git commit where it previously worked didn't fix it, indicating an **environment change** rather than a code regression. + +## Root Cause +**Neovim 0.11+ removed support for the `on_new_config` callback in `vim.lsp.config()`.** + +The previous implementation used `on_new_config` to load project-local settings from `.nvim.lua`: + +```lua +vim.lsp.config(server_name, { + on_new_config = function(new_config, root_dir) + -- Load project settings and merge into new_config.settings + local project_settings = load_project_lsp_settings(server_name, root_dir) + if project_settings.settings then + new_config.settings = vim.tbl_deep_extend("force", + new_config.settings or {}, + project_settings.settings) + end + end, +}) +``` + +**Problem**: This callback was **silently ignored** in Neovim 0.11+, resulting in: +- Empty `client.settings` (confirmed via `:LspInfo` showing `Settings: {}`) +- No `includePaths` sent to intelephense +- `gd` failing with "No locations found" for external library symbols + +## Symptoms +1. `:LspInfo` showed `Settings: {}` for intelephense +2. `gd` on `\ExtLib\Src\Util::greetExternal()` returned "No locations found" +3. Local (workspace) symbol navigation worked fine +4. Git history restore didn't help (environment issue, not code issue) + +## Solution +Use the `LspAttach` autocmd instead of `on_new_config` to load and apply project settings: + +```lua +vim.api.nvim_create_autocmd('LspAttach', { + group = vim.api.nvim_create_augroup('lsp_project_settings', { clear = true }), + callback = function(args) + local client = vim.lsp.get_client_by_id(args.data.client_id) + if not client then return end + + -- Load project-specific settings from .nvim.lua at client.root_dir + local project_settings = load_project_lsp_settings(client.name, client.root_dir) + if project_settings.settings then + -- Merge into client.settings + client.settings = vim.tbl_deep_extend("force", + client.settings or {}, + project_settings.settings) + + -- Notify server of updated settings + vim.schedule(function() + client.notify("workspace/didChangeConfiguration", + { settings = client.settings }) + end) + end + end, +}) +``` + +## Validation +After fix: +```bash +cd WORKSPACE_TEST +nvim --headless +'e site/external.php' +'lua vim.wait(3000); local clients = vim.lsp.get_clients({name="intelephense"}); if clients[1] then print("Settings:", vim.inspect(clients[1].settings)) end' +quit +``` + +Output: +```lua +Settings: { + intelephense = { + environment = { + includePaths = { "/home/ray/.config/nvim/EXTERNAL_TEST" } + } + } +} +``` + +✅ Settings now correctly loaded and `gd` works for external symbols. + +## Key Differences: Neovim 0.10 vs 0.11 LSP API + +### Old API (lspconfig plugin, Neovim < 0.11) +```lua +require('lspconfig').intelephense.setup({ + on_new_config = function(new_config, root_dir) + -- Called when creating new client + end, +}) +``` + +### New API (native vim.lsp.config, Neovim 0.11+) +```lua +-- Define config +vim.lsp.config('intelephense', { ... }) + +-- Enable server +vim.lsp.enable('intelephense') + +-- Handle dynamic settings via autocmd +vim.api.nvim_create_autocmd('LspAttach', { + callback = function(args) + -- Access client, load settings, notify server + end, +}) +``` + +## Documentation Updated +- `LOG.md`: Added decision log entry for 2025-12-07 +- `.github/copilot-instructions.md`: Now a simple pointer to AGENTS.md +- `AGENTS.md`: Already notes "Native exrc + vim.lsp.config migration done" + +## Prevention +- Always test LSP functionality after Neovim version upgrades +- Check `:help news` for API changes +- Validate `:LspInfo` settings are populated correctly +- Test with external library references, not just workspace files + +## Files Modified +- `lua/plugins/lsp.lua`: Replaced `on_new_config` with `LspAttach` autocmd + +## Timeline +- **Before 2025-12-07**: `on_new_config` worked in older Neovim version +- **2025-12-07**: Neovim upgraded to 0.11.5, `on_new_config` silently ignored +- **2025-12-07**: Diagnosed via `:LspInfo` showing empty settings +- **2025-12-07**: Fixed with `LspAttach` pattern, verified working diff --git a/TEST_DIAGNOSTICS.md b/TEST_DIAGNOSTICS.md new file mode 100644 index 0000000..3b74c7a --- /dev/null +++ b/TEST_DIAGNOSTICS.md @@ -0,0 +1,93 @@ +# LSP Diagnostic Test Files + +These files are designed to trigger LSP diagnostics of all types to test the Paper Tonic Modern colorscheme's diagnostic virtual text colors. + +## Test Files + +### test-diagnostics.lua +Lua file with intentional errors for lua_ls (Lua Language Server). + +**Expected diagnostics:** +- **Errors** (red): Undefined variables/functions, type mismatches, invalid operations, wrong argument counts +- **Warnings** (orange): Unused variables, shadowing, unreachable code, lowercase globals +- **Hints** (green): Redundant code, style issues + +**Note**: lua_ls provides the best mix of diagnostic levels. + +### test-diagnostics.php +PHP file with intentional errors for Intelephense (PHP Language Server). + +**Expected diagnostics:** +- **Errors** (red): Most issues appear as errors by default in Intelephense + - Undefined functions/variables + - Type mismatches + - Wrong argument counts + - Invalid method calls + +**Note**: Intelephense is strict and reports most issues as errors. To see warnings/hints, configure in `.nvim.lua`: +```lua +return { + lsp = { + intelephense = { + settings = { + intelephense = { + diagnostics = { + undefinedSymbols = true, + undefinedVariables = true, + unusedSymbols = "hint", -- Show unused as hints + } + } + } + } + } +} +``` + +### test-diagnostics.js +JavaScript file with intentional errors for ts_ls (TypeScript Language Server). + +**Expected diagnostics:** +- **Errors** (red): Undefined variables/functions, invalid property access, missing parameters +- **Warnings** (orange): Unreachable code, type comparison issues, duplicate cases +- **Hints** (green): const vs let suggestions +- **Info** (blue): Unnecessary operations + +## How to Use + +1. Open any test file in Neovim: + ```bash + nvim test-diagnostics.lua + # or + nvim test-diagnostics.php + # or + nvim test-diagnostics.js + ``` + +2. Wait for LSP to attach and analyze the file (1-2 seconds) + +3. Check the virtual text diagnostics at the end of lines with issues + +4. Use `:LspInfo` to verify the LSP server is attached + +## Color Reference + +The Paper Tonic Modern colorscheme uses these colors for diagnostics: + +- **DiagnosticError** (virtual text): `#d70000` (bright red) on `#ffefef` background +- **DiagnosticWarn** (virtual text): `#d75f00` (orange) on `#ece0e0` background +- **DiagnosticInfo** (virtual text): `#8989af` (blue) on `#e0e0ec` background +- **DiagnosticHint** (virtual text): `#89af89` (green) on `#e0ece0` background + +## Testing Checklist + +- [ ] Errors show in red with red undercurl +- [ ] Warnings show in orange with orange undercurl +- [ ] Hints show in green +- [ ] Info messages show in blue +- [ ] Virtual text is readable against light background +- [ ] Sign column icons show correct colors +- [ ] Diagnostic floating windows display correctly + +## Debug Command + +Use the `hi` keymap to inspect highlight info under cursor and verify diagnostic colors are applied correctly. diff --git a/UltiSnips/all.snippets b/UltiSnips/all.snippets new file mode 100644 index 0000000..59f054e --- /dev/null +++ b/UltiSnips/all.snippets @@ -0,0 +1,3 @@ +snippet tp "{% partial ... " i +{% partial '$1'$0 %} +endsnippet diff --git a/UltiSnips/css.snippets b/UltiSnips/css.snippets new file mode 100644 index 0000000..f0595d6 --- /dev/null +++ b/UltiSnips/css.snippets @@ -0,0 +1,265 @@ +snippet abs "pabs position: absolute;" +position: absolute; +endsnippet +snippet fix "position: fixed;" +position: fixed; +endsnippet +snippet rel "position: relative;" +position: relative; +endsnippet +snippet row "flex-direction: row;" +flex-direction: row; +endsnippet +snippet col "flex-direction: column;" +flex-direction: column; +endsnippet +snippet over "overflow: hidden;" +overflow: $0; +endsnippet + +snippet style "/* stylelint-disable-next-line ... */" +/* stylelint-disable-next-line ${1:declaration-block-no-shorthand-property-overrides} */ +endsnippet + +snippet @m "@media ( ..." +@media (${1:min-width}: ${2:$bp-${3:s}-min}) { + $0 +} +endsnippet + +snippet @max "@media (max-width: ..." +@media (max-width: ${2:$bp-${3:s}-max}) { + $0 +} +endsnippet + +snippet @min "@media (min-width: ..." +@media (min-width: ${2:$bp-${3:s}-min}) { + $0 +} +endsnippet + +snippet lg "linear-gradient( ... )" +linear-gradient( + ${1:to bottom}, + ${2:transparent}, + ${3:transparent} +)$0 +endsnippet + +snippet bglg "background: linear-gradient ..." +background-image: linear-gradient( + ${2:to bottom}, + ${3:transparent}, + ${4:transparent} + ); +endsnippet + +snippet flex "display: flex ..." +display: flex;${1: +flex-direction: ${2:column};} +justify-content: ${3:center}; +align-items: ${4:center}; +endsnippet + +snippet w "width: ;" +width: ${1:100%}; +endsnippet + +snippet h "height: ;" +height: ${1:100%}; +endsnippet + +snippet wh "width: ; height: ;" +width: ${1:100%}; +height: $1; +endsnippet + +snippet mxw "max-width: ;" +max-width: ${1:100%}; +endsnippet + +snippet mxh "max-height: ;" +max-height: ${1:100%}; +endsnippet + +snippet mnw "min-width: ;" +min-width: ${1:100%}; +endsnippet + +snippet mnh "min-height: ;" +min-height: ${1:100%}; +endsnippet + +snippet bgc "background-color: ;" +background-color: ${1:transparent}; +endsnippet + +snippet t "top: ... ;" +top: ${1:0}; +endsnippet + +snippet b "bottom: ... ;" +bottom: ${1:0}; +endsnippet + +snippet l "left: ... ;" +left: ${1:0}; +endsnippet + +snippet r "right: ... ;" +right: ${1:0}; +endsnippet + +snippet bd "border: ... ;" +border: ${1:1px} ${2:solid} ${3:currentColor}; +endsnippet + +snippet bdt "border-top: ... ;" +border-top: ${1:1px} ${2:solid} ${3:currentColor}; +endsnippet + +snippet bdb "border-bottom: ... ;" +border-bottom: ${1:1px} ${2:solid} ${3:currentColor}; +endsnippet + +snippet bdl "border-left: ... ;" +border-left: ${1:1px} ${2:solid} ${3:currentColor}; +endsnippet + +snippet bdr "border-right: ... ;" +border-right: ${1:1px} ${2:solid} ${3:currentColor}; +endsnippet + +snippet br "border-radius: ... ;" +border-radius: ${1:50%}; +endsnippet + +snippet m "margin: ... ;" +margin: ${1:0}; +endsnippet + +snippet mt "margin-top: ... ;" +margin-top: ${1:0}; +endsnippet + +snippet mb "margin-bottom: ... ;" +margin-bottom: ${1:0}; +endsnippet + +snippet ml "margin-left: ... ;" +margin-left: ${1:0}; +endsnippet + +snippet mr "margin-right: ... ;" +margin-right: ${1:0}; +endsnippet + +snippet p "padding: ... ;" +padding: ${1:0}; +endsnippet + +snippet pt "padding-top: ... ;" +padding-top: ${1:0}; +endsnippet + +snippet pb "padding-bottom: ... ;" +padding-bottom: ${1:0}; +endsnippet + +snippet pl "padding-left: ... ;" +padding-left: ${1:0}; +endsnippet + +snippet pr "padding-right: ... ;" +padding-right: ${1:0}; +endsnippet + +snippet fs "font-size: ... ;" +font-size: ${1:1}${2:rem}; +endsnippet + +snippet fw "font-weight: ... ;" +font-weight: ${1:bold}; +endsnippet + +snippet o "opacity: ... ;" +opacity: ${1:0}; +endsnippet + +snippet grid "display: grid ..." +display: grid; +grid-template-columns: $1; +grid-template-rows: $0; +endsnippet + +snippet gr "grid-row: ... ;" +grid-row: $0; +endsnippet + +snippet gc "grid-column: ... ;" +grid-column: $0; +endsnippet + +snippet rgbw "rgba( ... )" +rgba(${1:#fff}, ${2:0.5}) +endsnippet + +snippet rgbb "rgba( ... )" +rgba(${1:#000}, ${2:0.5}) +endsnippet + +snippet before "::before { ... }" +${1:&}::before { + content: '$2'; + display: ${3:block}; + position: ${4:absolute}; + width: ${5:100%}; + height: ${6:100%}; + ${7:top}: ${8:0}; + ${9:left}: ${10:0}; +} +endsnippet + +snippet after "::after { ... }" +${1:&}::after { + content: '$2'; + display: ${3:block}; + position: ${4:absolute}; + width: ${5:100%}; + height: ${6:100%}; + ${7:top}: ${8:0}; + ${9:left}: ${10:0}; +} +endsnippet + +snippet befaft "::before, ::after { ... }" +${1:&}::before { +$1::after { + content: '$2'; + display: ${3:block}; + position: ${4:absolute}; + width: ${5:100%}; + height: ${6:100%}; + ${7:top}: ${8:0}; + ${9:left}: ${10:0}; + $0 +} +endsnippet + +snippet bs "box-shadow ...;" +box-shadow: ${1:0} ${2:0} $3px $4px ${5:#000} ${6:inset}; +endsnippet + +snippet pabs "Position: absolute ..." +position: absolute; +inset: 0; +endsnippet + +snippet v "var(--...)" +var(--$0) +endsnippet + +snippet ftscss "/* vim: set filetype=scss: */" +/* vim: set filetype=scss: */ +endsnippet diff --git a/UltiSnips/dosini.snippets b/UltiSnips/dosini.snippets new file mode 100644 index 0000000..5283cc8 --- /dev/null +++ b/UltiSnips/dosini.snippets @@ -0,0 +1,3 @@ +snippet polycolor "${colors.color}" +\$\{colors.${1:foreground}}$0 +endsnippet diff --git a/UltiSnips/eruby.snippets b/UltiSnips/eruby.snippets new file mode 100644 index 0000000..fb247de --- /dev/null +++ b/UltiSnips/eruby.snippets @@ -0,0 +1,3 @@ +snippet cldef "Colour definition" +$1 = ["#$2", $3, "$4"] +endsnippet diff --git a/UltiSnips/html.snippets b/UltiSnips/html.snippets new file mode 100644 index 0000000..6f60e5b --- /dev/null +++ b/UltiSnips/html.snippets @@ -0,0 +1,106 @@ +snippet html5 "HTML% boilerplate." + + + + + + ${2: + } + $1 + + $0 ${4: + } + + +endsnippet + +snippet option "$0 +endsnippet + +snippet c "class= ... " +class="$1"$0 +endsnippet + +snippet plc " { + $0 +}); +endsnippet + +snippet .ael "...addEventListener( ... );" i +.addEventListener('$1', ($2) => { + $0 +}); +endsnippet + +snippet st "setTimeout( ... )" +setTimeout(() => {$0 +}, ${1:1000}); +endsnippet + +snippet dq "document.querySelector( ... )" +document.querySelector($0) +endsnippet + +snippet dqa "document.querySelectorAll( ... )" +document.querySelectorAll($0) +endsnippet + +snippet cdq "const ... = document.querySelector( ... )" +const $1 = document.querySelector($0); +endsnippet + +snippet cdqa "const ... = document.querySelectorAll( ... )" +const $1 = document.querySelectorAll($0); +endsnippet + +snippet jsx "import React ..." +import * as React from "react";${1: +import { css } from "@emotion/react";} + +const `!p snip.rv = snip.basename` = ($2) => { + return ( +
$0 +
+ ); +}; + +export default `!p snip.rv = snip.basename`; +endsnippet + + +snippet isi "import { StaticImage } ..." +import { StaticImage } from "gatsby-plugin-image"; +endsnippet + +snippet simg "" +$0 +endsnippet + +snippet st. "styled." +const $1 = styled.${2:div}\` + $0 +\`; +endsnippet + +snippet icss "import ... from ..." +import \{ css \} from "@emotion/react"; +endsnippet + +snippet ccs "const ..Css=css``" +const $1Css = css\` + $0 +\`; +endsnippet + +snippet cse "css={css``}" +css={css\`$0\`} +endsnippet + +snippet css "css={..Css}" +css={$0Css} +endsnippet + +snippet th "this.handle..." +this.handle${1:Click} = this.handle$1.bind(this); +endsnippet + +snippet tb "this ... = ... .bind(this);" +this.$1 = this.$1.bind(this); +endsnippet + +snippet wprb +import { registerBlockType } from '@wordpress/blocks'; + +const blockStyle = { + color: red, + backgroundColor: pink, +}; + +registerBlockType( '${1:namespace}/${2:block-name}', { + title: '$3', + icon: '${4:universal-access-alt}', + category: '${5:layout}', + example: {}, + edit( { className } ) { + return
Hello World, step 1 (from the editor).
; + }, + save() { + return
Hello World, step 1 (from the frontend).
; + }, +} ); +endsnippet + +snippet rtw "React + twin.macro" +import * as React from "react" +import 'twin.macro' + +const `!p snip.rv = snip.basename` = ({ children }) => { + return ( + <$1 tw="$0"> + {children} + + ) +} + +export default `!p snip.rv = snip.basename` + +endsnippet + +snippet ue "useEffect(() => {" +useEffect(() => { + $0 +}, ${1:[]}); +endsnippet + +snippet ule "useLayoutEffect(() => {" +useLayoutEffect(() => { + $0 +}, ${1:[]}); +endsnippet + +snippet imp "import ... from ..." +import $1 from "${2:.}/$1"; +endsnippet diff --git a/UltiSnips/javascriptreact.snippets b/UltiSnips/javascriptreact.snippets new file mode 100644 index 0000000..4002f24 --- /dev/null +++ b/UltiSnips/javascriptreact.snippets @@ -0,0 +1 @@ +extends css, javascript diff --git a/UltiSnips/jinja.snippets b/UltiSnips/jinja.snippets new file mode 100644 index 0000000..f1456bf --- /dev/null +++ b/UltiSnips/jinja.snippets @@ -0,0 +1,33 @@ +extends html + +snippet com "{# .. #}" +{# $0 #} +endsnippet + +snippet import "{% import ... %}" +{% import "$1" as $2 %} +endsnippet + +snippet macro "{% macro ...%}" +{% macro $1(${2:$3="$4"}) %} + $0 +{% endmacro %} +endsnippet + +snippet blockin "{% block .. %}" +{% block $1 %}$0{% endblock %} +endsnippet + +snippet block "{% block .. %}" +{% block $1 %} + $0 +{% endblock %} +endsnippet + +snippet include "{% include .. %}" +{% include "$0" %} +endsnippet + +snippet extends "{% extends .. %}" +{% extends "$0" %} +endsnippet diff --git a/UltiSnips/jst.snippets b/UltiSnips/jst.snippets new file mode 100644 index 0000000..1510065 --- /dev/null +++ b/UltiSnips/jst.snippets @@ -0,0 +1,19 @@ +snippet req "<%- require( ..." +<%- require('!!ejs-compiled-loader?{}!./$1.ejs')($0) %> +endsnippet + +snippet % "<% ... %>" +<% $0 %> +endsnippet + +snippet = "<= ... =>" +<%= $0 %> +endsnippet + +snippet - "<- ... ->" +<%- $0 %> +endsnippet + +snippet # "<# ... #>" +<%# $0 %> +endsnippet diff --git a/UltiSnips/markdown.snippets b/UltiSnips/markdown.snippets new file mode 100644 index 0000000..82f3df3 --- /dev/null +++ b/UltiSnips/markdown.snippets @@ -0,0 +1,83 @@ +snippet l "[...](...)" +[${1:title}](${2:url})$0 +endsnippet + +snippet c "``` ..." +\`\`\`$0 +\`\`\` +endsnippet + +# latex +snippet vec "vector 1x2" i +\\begin{bmatrix} $1 \\\\ $2 \\end{bmatrix}$0 +endsnippet + +snippet vec3 "vector 1x3" i +\\begin{bmatrix} $1 \\\\ $2 \\\\ $3 \\end{bmatrix}$0 +endsnippet + +snippet mx "matrix 2x2" i +\\begin{bmatrix} $1 & $2 \\\\ $3 & $4 \\end{bmatrix}$0 +endsnippet + +snippet mx3 "matrix 3x3" i +\\begin{bmatrix} $1 & $2 & $3 \\\\ $4 & $5 & $6 \\\\ $7 & $8 & $9 \\end{bmatrix}$0 +endsnippet + +snippet lim "limit" i +\\lim{$1 \\to $2}$0 +endsnippet + +snippet sum "sum" i +\\sum_{$1}^{$2}$0 +endsnippet + +snippet fr "fraction" i +\\frac{$1}{$2}$0 +endsnippet + +snippet sq "square root" i +\\sqrt{$1}$0 +endsnippet + +snippet rt "root" i +\\sqrt[${1:3}]{${2:x}}$0 +endsnippet + +snippet br "{}" i +\\lbrace $1 \\rbrace$0 +endsnippet + +snippet | "|...|" +\\lvert $1 \\rvert$0 +endsnippet + +snippet || "|...|" +\\lVert $1 \\rVert$0 +endsnippet + +snippet ds "displaystyle" i +\\displaystyle$0 +endsnippet + +snippet lmb "lambda" i +\\lambda$0 +endsnippet + +snippet imp "implies" i +\\Rightarrow +endsnippet + +snippet int "integral" i +\\int_{$1}^{$2} $0 +endsnippet + +snippet web "web snippet" +[$1]($2) + +\`\`\` +$3 +\`\`\` + +---$0 +endsnippet diff --git a/UltiSnips/octobercms.snippets b/UltiSnips/octobercms.snippets new file mode 100644 index 0000000..7734ab5 --- /dev/null +++ b/UltiSnips/octobercms.snippets @@ -0,0 +1,3 @@ +snippet pl "{% partial ... %}" +{% partial "$0" %} +endsnippet diff --git a/UltiSnips/php.snippets b/UltiSnips/php.snippets new file mode 100644 index 0000000..857246f --- /dev/null +++ b/UltiSnips/php.snippets @@ -0,0 +1,95 @@ +extends html + +snippet doc "/**" +/** + * $1 + */$0 +endsnippet + +snippet pre "
print_r()
" +echo "
";
+print_r($0);
+echo "
"; +endsnippet + +snippet if "if () {}" +if ($1) { + $0 +} +endsnippet + +snippet fe "foreach () {}" +foreach (\$${1:array} as \$${2:item}) { + $0 +} +endsnippet + +snippet pp "" + +endsnippet + +snippet pe "" + +endsnippet + +snippet ph "" + +endsnippet + +snippet pf "public function ..." +public function $1($2) { + $0 +} +endsnippet + +snippet pt "protected function ..." +protected function $1($2) { + $0 +} +endsnippet + +snippet pv "private function ..." +private function $1($2) { + $0 +} +endsnippet + +snippet psf "public static function ..." +public static function $1($2) { + $0 +} +endsnippet + +snippet prsf "public static function ..." +private static function $1($2) { + $0 +} +endsnippet + +snippet ''= "'...' => " +'$1' => $0, +endsnippet + +snippet apm "add_post_meta(..." +add_post_meta( ${1:2720}, '__DEBUG__$2', $0); +endsnippet + +snippet upm "update_post_meta(..." +update_post_meta( ${1:2720}, '__DEBUG__$1', $0); +endsnippet + +snippet sw "switch ..." +switch ($1) { + case $2: + $3; + break; + default: + $0 +} +endsnippet + +snippet cs "case ..." +case $1: + $0; + break; +endsnippet diff --git a/UltiSnips/python.snippets b/UltiSnips/python.snippets new file mode 100644 index 0000000..e4071e5 --- /dev/null +++ b/UltiSnips/python.snippets @@ -0,0 +1,19 @@ +snippet qxconfig "qutebrowser xResources config" +c.colors.messages.$1 = xresources['*${2:background}']$0 +endsnippet + +snippet main "if __name__ == .." +def main(): + $0 + +if __name__ == "__main__": + main() +endsnippet + +snippet ld "logger.debug()" +logger.debug("$1".format($2)) +endsnippet + +snippet li "logger.info()" +logger.info("$1".format($2)) +endsnippet diff --git a/UltiSnips/scss.snippets b/UltiSnips/scss.snippets new file mode 100644 index 0000000..7ac57c6 --- /dev/null +++ b/UltiSnips/scss.snippets @@ -0,0 +1,49 @@ +extends css + +snippet @i "@include" +@include $0; +endsnippet + +snippet imt "@include margin-t( );" +@include margin-t(${0:1}); +endsnippet + +snippet imb "@include margin-b( );" +@include margin-b(${0:1}); +endsnippet + +snippet imv "@include margin-v( , );" +@include margin-v($0); +endsnippet + +snippet im "@include margin( , , , );" +@include margin($0); +endsnippet + +snippet ipt "@include pad-t( );" +@include pad-t(${0:1}); +endsnippet + +snippet ipb "@include pad-b( );" +@include pad-b(${0:1}); +endsnippet + +snippet iph "@include pad-v( , );" +@include pad-h($0); +endsnippet + +snippet ipv "@include pad-v( , );" +@include pad-v($0); +endsnippet + +snippet ipl "@include pad-l( );" +@include pad-l(${0:1}); +endsnippet + +snippet ipr "@include pad-r( );" +@include pad-r(${0:1}); +endsnippet + +snippet ip "@include pad( , , , );" +@include pad($0); +endsnippet diff --git a/UltiSnips/sh.snippets b/UltiSnips/sh.snippets new file mode 100644 index 0000000..6162f29 --- /dev/null +++ b/UltiSnips/sh.snippets @@ -0,0 +1,3 @@ +snippet polybashcolor "%{{F{color}}}" i +%\{\{F\{color${1:4}}}} +endsnippet diff --git a/UltiSnips/vim.snippets b/UltiSnips/vim.snippets new file mode 100644 index 0000000..5b33be8 --- /dev/null +++ b/UltiSnips/vim.snippets @@ -0,0 +1,7 @@ +snippet scolor "SetColor('', .." +SetColor('$1', '$2', '$3', '$4', '$5', '$6')$0 +endsnippet + +snippet cscolor "call SetColor('', .." +call SetColor('$1', '$2', '$3', '$4', '$5', '$6')$0 +endsnippet diff --git a/UltiSnips/vue.snippets b/UltiSnips/vue.snippets new file mode 100644 index 0000000..f7d888c --- /dev/null +++ b/UltiSnips/vue.snippets @@ -0,0 +1,154 @@ +extends html, javascript, scss + +snippet vue "Default template" + + + + + +endsnippet + +snippet byinput "Beufy Input Field" +
+ +
+ +
+
$0 +endsnippet + +snippet byselect "Buefy Select Field" +
+ +
+
+ +
+
+
+endsnippet + +snippet nt "this.$nextTick( () => { ... })" +this.$nextTick( () => { + $0 +}) +endsnippet + +snippet props "props: { ... }" +props: { + $1: { + type: ${2:Boolean}, + required: ${3:false}, + default() { + return ${4:false}; + }, + }, +},$0 +endsnippet + +snippet prop "property: { ... }" +$1: { + type: ${2:Boolean}, + required: ${3:false}, + default() { + return ${4:false}; + }, +},$0 +endsnippet + +snippet comps "components { ... }" +components: { + $0, +}, +endsnippet + +snippet data "data() { return { ... } }" +data() { + return { + $1: $2,$0 + }; +}, +endsnippet + +snippet compd "computed: { ... }" +computed: { + $1() { + $0 + }, +}, +endsnippet + +snippet meth "methods: { ... }" +methods: { + $1() { + $0 + }, +}, +endsnippet + +snippet style " +endsnippet + +snippet impc "import ... from '~/components...';" +import $1 from '~/components/$1';$0 +endsnippet + +snippet tran " + ${VISUAL}$0 + +endsnippet + +snippet .tran "vue transition selector" +.$1 { + &-enter-active { + transition: ${2:opacity} ${3:1}s; + } + + &-leave-active { + transition: $2 ${4:1}s; + } + + &-enter, + &-leave-to { + $2: ${5:0}; + } +}$0 +endsnippet + +snippet script "" + +endsnippet + +snippet s ":style='{ ... }" +:style="{ '$1': $2 }"$0 +endsnippet diff --git a/after/queries/bash/folds.scm b/after/queries/bash/folds.scm deleted file mode 100644 index 30a154e..0000000 --- a/after/queries/bash/folds.scm +++ /dev/null @@ -1,4 +0,0 @@ -;; extends - -;; Fold comment blocks -(comment) @fold diff --git a/after/queries/css/folds.scm b/after/queries/css/folds.scm deleted file mode 100644 index 30a154e..0000000 --- a/after/queries/css/folds.scm +++ /dev/null @@ -1,4 +0,0 @@ -;; extends - -;; Fold comment blocks -(comment) @fold diff --git a/after/queries/html/folds.scm b/after/queries/html/folds.scm deleted file mode 100644 index 30a154e..0000000 --- a/after/queries/html/folds.scm +++ /dev/null @@ -1,4 +0,0 @@ -;; extends - -;; Fold comment blocks -(comment) @fold diff --git a/after/queries/javascript/folds.scm b/after/queries/javascript/folds.scm deleted file mode 100644 index c56348f..0000000 --- a/after/queries/javascript/folds.scm +++ /dev/null @@ -1,8 +0,0 @@ -;; extends - -;; Fold comment blocks (including consecutive single-line comments) -(comment) @fold - -;; Fold consecutive single-line comments as a block -((comment) @fold - (#match? @fold "^//")) diff --git a/after/queries/lua/folds.scm b/after/queries/lua/folds.scm deleted file mode 100644 index 30a154e..0000000 --- a/after/queries/lua/folds.scm +++ /dev/null @@ -1,4 +0,0 @@ -;; extends - -;; Fold comment blocks -(comment) @fold diff --git a/after/queries/php/folds.scm b/after/queries/php/folds.scm deleted file mode 100644 index 57f8cae..0000000 --- a/after/queries/php/folds.scm +++ /dev/null @@ -1,4 +0,0 @@ -;; extends - -;; Fold comment blocks (including /** */ docblocks) -(comment) @fold diff --git a/after/queries/python/folds.scm b/after/queries/python/folds.scm deleted file mode 100644 index 30a154e..0000000 --- a/after/queries/python/folds.scm +++ /dev/null @@ -1,4 +0,0 @@ -;; extends - -;; Fold comment blocks -(comment) @fold diff --git a/after/queries/scss/folds.scm b/after/queries/scss/folds.scm deleted file mode 100644 index 30a154e..0000000 --- a/after/queries/scss/folds.scm +++ /dev/null @@ -1,4 +0,0 @@ -;; extends - -;; Fold comment blocks -(comment) @fold diff --git a/after/queries/tsx/folds.scm b/after/queries/tsx/folds.scm deleted file mode 100644 index 30a154e..0000000 --- a/after/queries/tsx/folds.scm +++ /dev/null @@ -1,4 +0,0 @@ -;; extends - -;; Fold comment blocks -(comment) @fold diff --git a/after/queries/typescript/folds.scm b/after/queries/typescript/folds.scm deleted file mode 100644 index 30a154e..0000000 --- a/after/queries/typescript/folds.scm +++ /dev/null @@ -1,4 +0,0 @@ -;; extends - -;; Fold comment blocks -(comment) @fold diff --git a/after/queries/vim/folds.scm b/after/queries/vim/folds.scm deleted file mode 100644 index 30a154e..0000000 --- a/after/queries/vim/folds.scm +++ /dev/null @@ -1,4 +0,0 @@ -;; extends - -;; Fold comment blocks -(comment) @fold diff --git a/colors/paper-tonic-modern.lua b/colors/paper-tonic-modern.lua index d6179e5..5865390 100644 --- a/colors/paper-tonic-modern.lua +++ b/colors/paper-tonic-modern.lua @@ -1,5 +1,5 @@ -- Paper Tonic Modern --- A paper-like colorscheme for Neovim supporting both light and dark modes +-- A light, paper-like colorscheme for Neovim -- Forked from the original Paper Tonic with modern Lua implementation -- Reset highlights and syntax @@ -11,10 +11,8 @@ end -- Set colorscheme name vim.g.colors_name = 'paper-tonic-modern' --- Set default background if not already set -if vim.o.background == '' then - vim.o.background = 'light' -end +-- Set background to light +vim.o.background = 'light' -- Load the colorscheme require('paper-tonic-modern').load() diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..5d74c6d --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,44 @@ +// ESLint 9+ flat config format (global default) +// See: https://eslint.org/docs/latest/use/configure/configuration-files + +export default [ + { + files: ["**/*.js", "**/*.mjs", "**/*.cjs"], + languageOptions: { + ecmaVersion: "latest", + sourceType: "module", + globals: { + // Browser globals + console: "readonly", + window: "readonly", + document: "readonly", + navigator: "readonly", + // Node.js globals + process: "readonly", + __dirname: "readonly", + __filename: "readonly", + require: "readonly", + module: "readonly", + exports: "readonly", + global: "readonly", + Buffer: "readonly", + }, + }, + rules: { + // Recommended rules + "no-undef": "error", + "no-unused-vars": "warn", + "no-unreachable": "warn", + "no-constant-condition": "error", + "no-duplicate-case": "error", + + // Best practices + "eqeqeq": ["warn", "always"], + "no-implicit-globals": "warn", + + // Style (minimal) + "semi": ["warn", "always"], + "quotes": ["warn", "double", { "avoidEscape": true }], + }, + }, +]; diff --git a/init.lua b/init.lua index 2990a84..fdca763 100644 --- a/init.lua +++ b/init.lua @@ -4,7 +4,6 @@ vim.g.maplocalleader = ' ' -- Load basic settings, keymaps, autocmds (kept minimal for now) require('settings') -require('completion') require('netrw-config') require('keymaps') require('autocmds') @@ -13,7 +12,7 @@ require('keymaps_reference') -- Bootstrap lazy.nvim local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim' -if not vim.uv.fs_stat(lazypath) then +if not vim.loop.fs_stat(lazypath) then vim.fn.system({ 'git', 'clone', '--filter=blob:none', '--single-branch', 'https://github.com/folke/lazy.nvim.git', lazypath, @@ -26,12 +25,4 @@ require('lazy').setup({ spec = { { import = 'plugins' }, }, - rocks = { - enabled = false, - }, }) - --- Load optional native packages after lazy.nvim has finalized runtimepath. -if vim.fn.has('nvim-0.12') == 1 then - vim.cmd.packadd('nvim.undotree') -end diff --git a/lazy-lock.json b/lazy-lock.json index aa016cd..98a2d44 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,23 +1,31 @@ { "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, - "conform.nvim": { "branch": "master", "commit": "016802de402556da54c36bd7359b441266b01cdd" }, - "copilot.lua": { "branch": "master", "commit": "82607bbb8528222a9a28bfcab0aceb3a7fed7e85" }, - "gitsigns.nvim": { "branch": "main", "commit": "d4854fa9a94b5c8b37dd209fb4a19e98e764186f" }, - "indent-blankline.nvim": { "branch": "master", "commit": "f1e186e44d3b7f9ae918008e2c28ce37c6023d2d" }, - "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "a338f44149f5673882c32629697d67b0c0547aec" }, - "mason-tool-installer.nvim": { "branch": "main", "commit": "443f1ef8b5e6bf47045cb2217b6f748a223cf7dc" }, - "mason.nvim": { "branch": "main", "commit": "2a6940af80375532e5e9e7c1f2fc6319a1b7a69d" }, - "nvim-autopairs": { "branch": "master", "commit": "3172f40c16563db871a58f20d205c710ad782311" }, - "nvim-lint": { "branch": "master", "commit": "f6230a5c06ba59e6059c14637f1dbe29a7978b9b" }, - "nvim-lspconfig": { "branch": "master", "commit": "3bccb6fa49a3a75bfb6d92fed63b13a71a85cfaf" }, - "nvim-surround": { "branch": "main", "commit": "2e93e154de9ff326def6480a4358bfc149d5da2c" }, - "nvim-treesitter": { "branch": "main", "commit": "a2f694478be07f89c2d03cc17858a8745a400c4b" }, - "nvim-treesitter-textobjects": { "branch": "main", "commit": "5c7b0263797dfd1bd6202f2b219f3b53a80b2187" }, - "nvim-ts-autotag": { "branch": "main", "commit": "d7220b55e16ed3c04e88086256def5d282429493" }, - "nvim-ufo": { "branch": "main", "commit": "ab3eb124062422d276fae49e0dd63b3ad1062cfc" }, - "plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" }, + "LuaSnip": { "branch": "master", "commit": "3732756842a2f7e0e76a7b0487e9692072857277" }, + "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" }, + "cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" }, + "copilot-cmp": { "branch": "master", "commit": "15fc12af3d0109fa76b60b5cffa1373697e261d1" }, + "copilot.lua": { "branch": "master", "commit": "efe563802a550b7f1b7743b007987e97cba22718" }, + "gitsigns.nvim": { "branch": "main", "commit": "5813e4878748805f1518cee7abb50fd7205a3a48" }, + "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, + "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "0b9bb925c000ae649ff7e7149c8cd00031f4b539" }, + "mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" }, + "mason.nvim": { "branch": "main", "commit": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800" }, + "none-ls.nvim": { "branch": "main", "commit": "5abf61927023ea83031753504adb19630ba80eef" }, + "nvim-autopairs": { "branch": "master", "commit": "7a2c97cccd60abc559344042fefb1d5a85b3e33b" }, + "nvim-cmp": { "branch": "main", "commit": "d97d85e01339f01b842e6ec1502f639b080cb0fc" }, + "nvim-lint": { "branch": "master", "commit": "ebe535956106c60405b02220246e135910f6853d" }, + "nvim-lspconfig": { "branch": "master", "commit": "9c923997123ff9071198ea3b594d4c1931fab169" }, + "nvim-surround": { "branch": "main", "commit": "fcfa7e02323d57bfacc3a141f8a74498e1522064" }, + "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef" }, + "nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" }, + "nvim-ufo": { "branch": "main", "commit": "72d54c31079d38d8dfc5456131b1d0fb5c0264b0" }, + "oil.nvim": { "branch": "master", "commit": "cbcb3f997f6f261c577b943ec94e4ef55108dd95" }, + "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, "promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "b25b749b9db64d375d782094e2b9dce53ad53a40" }, - "telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" } + "telescope-fzf-native.nvim": { "branch": "main", "commit": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c" }, + "telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, + "undotree": { "branch": "master", "commit": "0f1c9816975b5d7f87d5003a19c53c6fd2ff6f7f" } } diff --git a/legacy/.vimtmp/%home%ray%.bin%dmenu_power b/legacy/.vimtmp/%home%ray%.bin%dmenu_power new file mode 100644 index 0000000..22b12a6 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.bin%dmenu_power differ diff --git a/legacy/.vimtmp/%home%ray%.bin%dmenu_ssh b/legacy/.vimtmp/%home%ray%.bin%dmenu_ssh new file mode 100644 index 0000000..53d7438 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.bin%dmenu_ssh differ diff --git a/legacy/.vimtmp/%home%ray%.config%barrier%barrier.conf b/legacy/.vimtmp/%home%ray%.config%barrier%barrier.conf new file mode 100644 index 0000000..9a91082 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%barrier%barrier.conf differ diff --git a/legacy/.vimtmp/%home%ray%.config%barrier%run_barrier.sh b/legacy/.vimtmp/%home%ray%.config%barrier%run_barrier.sh new file mode 100644 index 0000000..2d9dbc1 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%barrier%run_barrier.sh differ diff --git a/legacy/.vimtmp/%home%ray%.config%bookmark-menu%bookmark-menu.config b/legacy/.vimtmp/%home%ray%.config%bookmark-menu%bookmark-menu.config new file mode 100644 index 0000000..ad0db34 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%bookmark-menu%bookmark-menu.config differ diff --git a/legacy/.vimtmp/%home%ray%.config%conky%conky-full.conf b/legacy/.vimtmp/%home%ray%.config%conky%conky-full.conf new file mode 100644 index 0000000..ce5a614 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%conky%conky-full.conf differ diff --git a/legacy/.vimtmp/%home%ray%.config%conky%conky-short.conf b/legacy/.vimtmp/%home%ray%.config%conky%conky-short.conf new file mode 100644 index 0000000..3fc70f9 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%conky%conky-short.conf differ diff --git a/legacy/.vimtmp/%home%ray%.config%dmenu%dmenurc b/legacy/.vimtmp/%home%ray%.config%dmenu%dmenurc new file mode 100644 index 0000000..9699d87 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%dmenu%dmenurc differ diff --git a/legacy/.vimtmp/%home%ray%.config%dunst%dunstrc b/legacy/.vimtmp/%home%ray%.config%dunst%dunstrc new file mode 100644 index 0000000..5b3654e Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%dunst%dunstrc differ diff --git a/legacy/.vimtmp/%home%ray%.config%feh%keys b/legacy/.vimtmp/%home%ray%.config%feh%keys new file mode 100644 index 0000000..f46c0ff Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%feh%keys differ diff --git a/legacy/.vimtmp/%home%ray%.config%i3-scrot.conf b/legacy/.vimtmp/%home%ray%.config%i3-scrot.conf new file mode 100644 index 0000000..cb03a5e Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%i3-scrot.conf differ diff --git a/legacy/.vimtmp/%home%ray%.config%keepmenu%config.ini b/legacy/.vimtmp/%home%ray%.config%keepmenu%config.ini new file mode 100644 index 0000000..872a0ec Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%keepmenu%config.ini differ diff --git a/legacy/.vimtmp/%home%ray%.config%kitty%kitty.conf b/legacy/.vimtmp/%home%ray%.config%kitty%kitty.conf new file mode 100644 index 0000000..924c7a5 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%kitty%kitty.conf differ diff --git a/legacy/.vimtmp/%home%ray%.config%lf%draw_img.sh b/legacy/.vimtmp/%home%ray%.config%lf%draw_img.sh new file mode 100644 index 0000000..52fef91 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%lf%draw_img.sh differ diff --git a/legacy/.vimtmp/%home%ray%.config%lf%lfrc b/legacy/.vimtmp/%home%ray%.config%lf%lfrc new file mode 100644 index 0000000..111a5a6 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%lf%lfrc differ diff --git a/legacy/.vimtmp/%home%ray%.config%lftp%rc b/legacy/.vimtmp/%home%ray%.config%lftp%rc new file mode 100644 index 0000000..4a87301 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%lftp%rc differ diff --git a/legacy/.vimtmp/%home%ray%.config%mpv%input.conf b/legacy/.vimtmp/%home%ray%.config%mpv%input.conf new file mode 100644 index 0000000..4ea2fad Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%mpv%input.conf differ diff --git a/legacy/.vimtmp/%home%ray%.config%mpv%mpv.conf b/legacy/.vimtmp/%home%ray%.config%mpv%mpv.conf new file mode 100644 index 0000000..63c2ffe Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%mpv%mpv.conf differ diff --git a/legacy/.vimtmp/%home%ray%.config%notify-updates%notify-updates.config b/legacy/.vimtmp/%home%ray%.config%notify-updates%notify-updates.config new file mode 100644 index 0000000..8102dfa Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%notify-updates%notify-updates.config differ diff --git a/legacy/.vimtmp/%home%ray%.config%nvim%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%.config%nvim%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..adaeac7 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%nvim%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%.config%nvim%coc-settings.json b/legacy/.vimtmp/%home%ray%.config%nvim%coc-settings.json new file mode 100644 index 0000000..a8aca3c Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%nvim%coc-settings.json differ diff --git a/legacy/.vimtmp/%home%ray%.config%nvim%init.plugins.vim b/legacy/.vimtmp/%home%ray%.config%nvim%init.plugins.vim new file mode 100644 index 0000000..78a5d7c Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%nvim%init.plugins.vim differ diff --git a/legacy/.vimtmp/%home%ray%.config%nvim%init.statusline.vim b/legacy/.vimtmp/%home%ray%.config%nvim%init.statusline.vim new file mode 100644 index 0000000..c865b92 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%nvim%init.statusline.vim differ diff --git a/legacy/.vimtmp/%home%ray%.config%nvim%init.tabline.vim b/legacy/.vimtmp/%home%ray%.config%nvim%init.tabline.vim new file mode 100644 index 0000000..0680121 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%nvim%init.tabline.vim differ diff --git a/legacy/.vimtmp/%home%ray%.config%nvim%init.vim b/legacy/.vimtmp/%home%ray%.config%nvim%init.vim new file mode 100644 index 0000000..4d99816 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%nvim%init.vim differ diff --git a/legacy/.vimtmp/%home%ray%.config%profile%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%.config%profile%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..1ed7288 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%profile%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%.config%profile%aliases.sh b/legacy/.vimtmp/%home%ray%.config%profile%aliases.sh new file mode 100644 index 0000000..74c9149 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%profile%aliases.sh differ diff --git a/legacy/.vimtmp/%home%ray%.config%profile%profile b/legacy/.vimtmp/%home%ray%.config%profile%profile new file mode 100644 index 0000000..7329758 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%profile%profile differ diff --git a/legacy/.vimtmp/%home%ray%.config%qutebrowser%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%.config%qutebrowser%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..82b4e55 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%qutebrowser%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%.config%qutebrowser%.gitignore b/legacy/.vimtmp/%home%ray%.config%qutebrowser%.gitignore new file mode 100644 index 0000000..a3f679e Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%qutebrowser%.gitignore differ diff --git a/legacy/.vimtmp/%home%ray%.config%qutebrowser%autoconfig.yml b/legacy/.vimtmp/%home%ray%.config%qutebrowser%autoconfig.yml new file mode 100644 index 0000000..bc1491d Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%qutebrowser%autoconfig.yml differ diff --git a/legacy/.vimtmp/%home%ray%.config%qutebrowser%colors.py b/legacy/.vimtmp/%home%ray%.config%qutebrowser%colors.py new file mode 100644 index 0000000..e2ea5d5 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%qutebrowser%colors.py differ diff --git a/legacy/.vimtmp/%home%ray%.config%qutebrowser%config.py b/legacy/.vimtmp/%home%ray%.config%qutebrowser%config.py new file mode 100644 index 0000000..7931d86 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%qutebrowser%config.py differ diff --git a/legacy/.vimtmp/%home%ray%.config%qutebrowser%quickmarks b/legacy/.vimtmp/%home%ray%.config%qutebrowser%quickmarks new file mode 100644 index 0000000..7fd5bc3 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%qutebrowser%quickmarks differ diff --git a/legacy/.vimtmp/%home%ray%.config%qutebrowser%test b/legacy/.vimtmp/%home%ray%.config%qutebrowser%test new file mode 100644 index 0000000..394a3c6 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%qutebrowser%test differ diff --git a/legacy/.vimtmp/%home%ray%.config%systemd%user%update-notifier.service b/legacy/.vimtmp/%home%ray%.config%systemd%user%update-notifier.service new file mode 100644 index 0000000..1706f2c Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%systemd%user%update-notifier.service differ diff --git a/legacy/.vimtmp/%home%ray%.config%systemd%user%update-notifier.timer b/legacy/.vimtmp/%home%ray%.config%systemd%user%update-notifier.timer new file mode 100644 index 0000000..2bd22a8 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%systemd%user%update-notifier.timer differ diff --git a/legacy/.vimtmp/%home%ray%.config%tmux%README.md b/legacy/.vimtmp/%home%ray%.config%tmux%README.md new file mode 100644 index 0000000..f3f213c Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%tmux%README.md differ diff --git a/legacy/.vimtmp/%home%ray%.config%tmux%tmux.colours-full.conf b/legacy/.vimtmp/%home%ray%.config%tmux%tmux.colours-full.conf new file mode 100644 index 0000000..3eda460 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%tmux%tmux.colours-full.conf differ diff --git a/legacy/.vimtmp/%home%ray%.config%tmux%tmux.colours.conf b/legacy/.vimtmp/%home%ray%.config%tmux%tmux.colours.conf new file mode 100644 index 0000000..efeac0c Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%tmux%tmux.colours.conf differ diff --git a/legacy/.vimtmp/%home%ray%.config%tmux%tmux.conf b/legacy/.vimtmp/%home%ray%.config%tmux%tmux.conf new file mode 100644 index 0000000..7c3ad7b Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%tmux%tmux.conf differ diff --git a/legacy/.vimtmp/%home%ray%.config%user-dirs.dirs b/legacy/.vimtmp/%home%ray%.config%user-dirs.dirs new file mode 100644 index 0000000..bbb8862 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%user-dirs.dirs differ diff --git a/legacy/.vimtmp/%home%ray%.config%vim%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%.config%vim%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..2e6dab8 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%vim%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%.config%vim%.netrwhist b/legacy/.vimtmp/%home%ray%.config%vim%.netrwhist new file mode 100644 index 0000000..cac476e Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%vim%.netrwhist differ diff --git a/legacy/.vimtmp/%home%ray%.config%vim%UltiSnips%html.snippets b/legacy/.vimtmp/%home%ray%.config%vim%UltiSnips%html.snippets new file mode 100644 index 0000000..a80ce9a Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%vim%UltiSnips%html.snippets differ diff --git a/legacy/.vimtmp/%home%ray%.config%vim%UltiSnips%javascript.snippets b/legacy/.vimtmp/%home%ray%.config%vim%UltiSnips%javascript.snippets new file mode 100644 index 0000000..8f6c938 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%vim%UltiSnips%javascript.snippets differ diff --git a/legacy/.vimtmp/%home%ray%.config%vim%UltiSnips%jinja.snippets b/legacy/.vimtmp/%home%ray%.config%vim%UltiSnips%jinja.snippets new file mode 100644 index 0000000..cd0c042 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%vim%UltiSnips%jinja.snippets differ diff --git a/legacy/.vimtmp/%home%ray%.config%vim%after%ftplugin%html.vim b/legacy/.vimtmp/%home%ray%.config%vim%after%ftplugin%html.vim new file mode 100644 index 0000000..dfd9842 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%vim%after%ftplugin%html.vim differ diff --git a/legacy/.vimtmp/%home%ray%.config%vim%after%syntax%vue.vim b/legacy/.vimtmp/%home%ray%.config%vim%after%syntax%vue.vim new file mode 100644 index 0000000..5e920e1 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%vim%after%syntax%vue.vim differ diff --git a/legacy/.vimtmp/%home%ray%.config%vim%colors%monotonous-light.erb b/legacy/.vimtmp/%home%ray%.config%vim%colors%monotonous-light.erb new file mode 100644 index 0000000..1cf1a7b Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%vim%colors%monotonous-light.erb differ diff --git a/legacy/.vimtmp/%home%ray%.config%vim%config%plugins.nvim.vim b/legacy/.vimtmp/%home%ray%.config%vim%config%plugins.nvim.vim new file mode 100644 index 0000000..d45723b Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%vim%config%plugins.nvim.vim differ diff --git a/legacy/.vimtmp/%home%ray%.config%vim%config%plugins.shared.vim b/legacy/.vimtmp/%home%ray%.config%vim%config%plugins.shared.vim new file mode 100644 index 0000000..42ce5f1 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%vim%config%plugins.shared.vim differ diff --git a/legacy/.vimtmp/%home%ray%.config%vim%config%plugins.vim b/legacy/.vimtmp/%home%ray%.config%vim%config%plugins.vim new file mode 100644 index 0000000..618e763 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%vim%config%plugins.vim differ diff --git a/legacy/.vimtmp/%home%ray%.config%vim%ftplugin%help.vim b/legacy/.vimtmp/%home%ray%.config%vim%ftplugin%help.vim new file mode 100644 index 0000000..9a73b98 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%vim%ftplugin%help.vim differ diff --git a/legacy/.vimtmp/%home%ray%.config%vim%ftplugin%markdown.vim b/legacy/.vimtmp/%home%ray%.config%vim%ftplugin%markdown.vim new file mode 100644 index 0000000..3c83870 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%vim%ftplugin%markdown.vim differ diff --git a/legacy/.vimtmp/%home%ray%.config%vim%ftplugin%octobercms.com b/legacy/.vimtmp/%home%ray%.config%vim%ftplugin%octobercms.com new file mode 100644 index 0000000..1a5facb Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%vim%ftplugin%octobercms.com differ diff --git a/legacy/.vimtmp/%home%ray%.config%vim%ftplugin%octobercms.vim b/legacy/.vimtmp/%home%ray%.config%vim%ftplugin%octobercms.vim new file mode 100644 index 0000000..a8809cf Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%vim%ftplugin%octobercms.vim differ diff --git a/legacy/.vimtmp/%home%ray%.config%vim%ftplugin%python.vim b/legacy/.vimtmp/%home%ray%.config%vim%ftplugin%python.vim new file mode 100644 index 0000000..091d72c Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%vim%ftplugin%python.vim differ diff --git a/legacy/.vimtmp/%home%ray%.config%vim%vimrc b/legacy/.vimtmp/%home%ray%.config%vim%vimrc new file mode 100644 index 0000000..7b4fdae Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%vim%vimrc differ diff --git a/legacy/.vimtmp/%home%ray%.config%vim%vimrc.plugins.shared b/legacy/.vimtmp/%home%ray%.config%vim%vimrc.plugins.shared new file mode 100644 index 0000000..0f52719 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%vim%vimrc.plugins.shared differ diff --git a/legacy/.vimtmp/%home%ray%.config%xbindkeys%.festivalrc b/legacy/.vimtmp/%home%ray%.config%xbindkeys%.festivalrc new file mode 100644 index 0000000..fe1d617 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%xbindkeys%.festivalrc differ diff --git a/legacy/.vimtmp/%home%ray%.config%xbindkeys%xbindkeysrc b/legacy/.vimtmp/%home%ray%.config%xbindkeys%xbindkeysrc new file mode 100644 index 0000000..de525ed Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%xbindkeys%xbindkeysrc differ diff --git a/legacy/.vimtmp/%home%ray%.config%xinitrc%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%.config%xinitrc%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..13d3b33 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%xinitrc%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%.config%xinitrc%README.md b/legacy/.vimtmp/%home%ray%.config%xinitrc%README.md new file mode 100644 index 0000000..6c10598 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%xinitrc%README.md differ diff --git a/legacy/.vimtmp/%home%ray%.config%xinitrc%xinitrc b/legacy/.vimtmp/%home%ray%.config%xinitrc%xinitrc new file mode 100644 index 0000000..3f0cfec Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%xinitrc%xinitrc differ diff --git a/legacy/.vimtmp/%home%ray%.config%youtube-dl%config b/legacy/.vimtmp/%home%ray%.config%youtube-dl%config new file mode 100644 index 0000000..39fabc6 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%youtube-dl%config differ diff --git a/legacy/.vimtmp/%home%ray%.config%zsh%zshrc b/legacy/.vimtmp/%home%ray%.config%zsh%zshrc new file mode 100644 index 0000000..c056e98 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.config%zsh%zshrc differ diff --git a/legacy/.vimtmp/%home%ray%.fehbg b/legacy/.vimtmp/%home%ray%.fehbg new file mode 100644 index 0000000..6afd0ef Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.fehbg differ diff --git a/legacy/.vimtmp/%home%ray%.festivalrc b/legacy/.vimtmp/%home%ray%.festivalrc new file mode 100644 index 0000000..758dc44 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.festivalrc differ diff --git a/legacy/.vimtmp/%home%ray%.histfile b/legacy/.vimtmp/%home%ray%.histfile new file mode 100644 index 0000000..12c5ee2 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.histfile differ diff --git a/legacy/.vimtmp/%home%ray%.mutt%colors-base16.rc b/legacy/.vimtmp/%home%ray%.mutt%colors-base16.rc new file mode 100644 index 0000000..db7146d Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.mutt%colors-base16.rc differ diff --git a/legacy/.vimtmp/%home%ray%.src%dwm-6.2-orig%README b/legacy/.vimtmp/%home%ray%.src%dwm-6.2-orig%README new file mode 100644 index 0000000..309cc92 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.src%dwm-6.2-orig%README differ diff --git a/legacy/.vimtmp/%home%ray%.src%dwm-6.2-orig%config.def.h b/legacy/.vimtmp/%home%ray%.src%dwm-6.2-orig%config.def.h new file mode 100644 index 0000000..f8d0d1b Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.src%dwm-6.2-orig%config.def.h differ diff --git a/legacy/.vimtmp/%home%ray%.src%dwm-6.2-orig%config.h b/legacy/.vimtmp/%home%ray%.src%dwm-6.2-orig%config.h new file mode 100644 index 0000000..d2af083 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.src%dwm-6.2-orig%config.h differ diff --git a/legacy/.vimtmp/%home%ray%.src%dwm-6.2-orig%dwm.c b/legacy/.vimtmp/%home%ray%.src%dwm-6.2-orig%dwm.c new file mode 100644 index 0000000..6c673a2 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.src%dwm-6.2-orig%dwm.c differ diff --git a/legacy/.vimtmp/%home%ray%.ssh%known_hosts b/legacy/.vimtmp/%home%ray%.ssh%known_hosts new file mode 100644 index 0000000..98521df Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.ssh%known_hosts differ diff --git a/legacy/.vimtmp/%home%ray%.xinitrc.extend b/legacy/.vimtmp/%home%ray%.xinitrc.extend new file mode 100644 index 0000000..d37415e Binary files /dev/null and b/legacy/.vimtmp/%home%ray%.xinitrc.extend differ diff --git a/legacy/.vimtmp/%home%ray%Projects%.in b/legacy/.vimtmp/%home%ray%Projects%.in new file mode 100644 index 0000000..7361a9e Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%.in differ diff --git a/legacy/.vimtmp/%home%ray%Projects%README.md b/legacy/.vimtmp/%home%ray%Projects%README.md new file mode 100644 index 0000000..4202bf8 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%README.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects%ansible%config%qutebrowser%config.py b/legacy/.vimtmp/%home%ray%Projects%ansible%config%qutebrowser%config.py new file mode 100644 index 0000000..4072d4e Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%ansible%config%qutebrowser%config.py differ diff --git a/legacy/.vimtmp/%home%ray%Projects%ansible%config%tmux%tmux.conf b/legacy/.vimtmp/%home%ray%Projects%ansible%config%tmux%tmux.conf new file mode 100644 index 0000000..ce23f52 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%ansible%config%tmux%tmux.conf differ diff --git a/legacy/.vimtmp/%home%ray%Projects%ansible%config%zsh%zshrc b/legacy/.vimtmp/%home%ray%Projects%ansible%config%zsh%zshrc new file mode 100644 index 0000000..c7d12fa Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%ansible%config%zsh%zshrc differ diff --git a/legacy/.vimtmp/%home%ray%Projects%borg-scripts%borg-data.sh b/legacy/.vimtmp/%home%ray%Projects%borg-scripts%borg-data.sh new file mode 100644 index 0000000..5adb94f Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%borg-scripts%borg-data.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects%borg-scripts%borg-int_data.sh b/legacy/.vimtmp/%home%ray%Projects%borg-scripts%borg-int_data.sh new file mode 100644 index 0000000..ec11d18 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%borg-scripts%borg-int_data.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects%borg-scripts%borg-media.sh b/legacy/.vimtmp/%home%ray%Projects%borg-scripts%borg-media.sh new file mode 100644 index 0000000..1f3dfee Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%borg-scripts%borg-media.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects%borg-scripts%borg-template.sh b/legacy/.vimtmp/%home%ray%Projects%borg-scripts%borg-template.sh new file mode 100644 index 0000000..d459bfe Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%borg-scripts%borg-template.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%.eslintrc.js b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%.eslintrc.js new file mode 100644 index 0000000..17d7189 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%.eslintrc.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%.eslintrc.json b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%.eslintrc.json new file mode 100644 index 0000000..53594d3 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%.eslintrc.json differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%.exlintrc.json b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%.exlintrc.json new file mode 100644 index 0000000..b02246d Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%.exlintrc.json differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..e728a92 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%gatsby-browser.js b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%gatsby-browser.js new file mode 100644 index 0000000..38b257e Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%gatsby-browser.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%gatsby-config.js b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%gatsby-config.js new file mode 100644 index 0000000..a00dc6f Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%gatsby-config.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%package.json b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%package.json new file mode 100644 index 0000000..d2ee2e8 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%package.json differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%components%container.js b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%components%container.js new file mode 100644 index 0000000..43389a1 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%components%container.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%components%container.module.scss b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%components%container.module.scss new file mode 100644 index 0000000..f876c4e Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%components%container.module.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%components%container.modules.scss b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%components%container.modules.scss new file mode 100644 index 0000000..507080f Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%components%container.modules.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%components%header.js b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%components%header.js new file mode 100644 index 0000000..fe5772e Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%components%header.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%components%layout.js b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%components%layout.js new file mode 100644 index 0000000..72ac02e Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%components%layout.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%components%logoAnimated.js b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%components%logoAnimated.js new file mode 100644 index 0000000..7eb241a Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%components%logoAnimated.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%gatsby-browser.js b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%gatsby-browser.js new file mode 100644 index 0000000..b2ff81a Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%gatsby-browser.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%about.js b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%about.js new file mode 100644 index 0000000..e038b42 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%about.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%anime-test.js b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%anime-test.js new file mode 100644 index 0000000..ff1d8c9 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%anime-test.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%contact.js b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%contact.js new file mode 100644 index 0000000..27f8e2f Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%contact.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%index.js b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%index.js new file mode 100644 index 0000000..807d8d0 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%index.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%state.js b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%state.js new file mode 100644 index 0000000..9712019 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%state.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%styled-comp.js b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%styled-comp.js new file mode 100644 index 0000000..6f42bd7 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%styled-comp.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%test.js b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%test.js new file mode 100644 index 0000000..71dcce6 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%test.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%users.js b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%users.js new file mode 100644 index 0000000..9e8e7c9 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%users.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%users.module.scss b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%users.module.scss new file mode 100644 index 0000000..7d8ce93 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%pages%users.module.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%styles%GlobalStyleComponent.js b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%styles%GlobalStyleComponent.js new file mode 100644 index 0000000..a0dd40d Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%styles%GlobalStyleComponent.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%styles%global.scss b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%styles%global.scss new file mode 100644 index 0000000..f18b472 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%styles%global.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%utils%typography.js b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%utils%typography.js new file mode 100644 index 0000000..59b196e Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%src%utils%typography.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%svg-working%plain-triangle.svg b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%svg-working%plain-triangle.svg new file mode 100644 index 0000000..8b1fabb Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gatsby-test%hello-world%svg-working%plain-triangle.svg differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%.browserslistrc b/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%.browserslistrc new file mode 100644 index 0000000..77d853f Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%.browserslistrc differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..25a49be Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%README.md b/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%README.md new file mode 100644 index 0000000..d1d965d Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%README.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%babel.config.js b/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%babel.config.js new file mode 100644 index 0000000..ee5af47 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%babel.config.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%gulpfile.js b/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%gulpfile.js new file mode 100644 index 0000000..9e3bffe Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%gulpfile.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%js%index.js b/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%js%index.js new file mode 100644 index 0000000..8bdc72d Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%js%index.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%package.json b/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%package.json new file mode 100644 index 0000000..cc4948c Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%package.json differ diff --git a/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%scss%_base.scss b/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%scss%_base.scss new file mode 100644 index 0000000..e5081c8 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%gulp-web%src%scss%_base.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%mpv-dl-trim%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%Projects%mpv-dl-trim%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..063484b Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%mpv-dl-trim%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%Projects%mpv-dl-trim%mpv_dl_trim.py b/legacy/.vimtmp/%home%ray%Projects%mpv-dl-trim%mpv_dl_trim.py new file mode 100644 index 0000000..5ee7d65 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%mpv-dl-trim%mpv_dl_trim.py differ diff --git a/legacy/.vimtmp/%home%ray%Projects%mpv-dl-trim%requirements.txt b/legacy/.vimtmp/%home%ray%Projects%mpv-dl-trim%requirements.txt new file mode 100644 index 0000000..2084e47 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%mpv-dl-trim%requirements.txt differ diff --git a/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%pages%blog%blog-html.htm b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%pages%blog%blog-html.htm new file mode 100644 index 0000000..f1f3496 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%pages%blog%blog-html.htm differ diff --git a/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%pages%blog%blog.htm b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%pages%blog%blog.htm new file mode 100644 index 0000000..d96f7be Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%pages%blog%blog.htm differ diff --git a/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%pages%blog%categories.htm b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%pages%blog%categories.htm new file mode 100644 index 0000000..c673070 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%pages%blog%categories.htm differ diff --git a/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%pages%blog%category.htm b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%pages%blog%category.htm new file mode 100644 index 0000000..cd6925c Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%pages%blog%category.htm differ diff --git a/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%pages%blog%post-html.htm b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%pages%blog%post-html.htm new file mode 100644 index 0000000..547ed52 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%pages%blog%post-html.htm differ diff --git a/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%pages%blog%post.htm b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%pages%blog%post.htm new file mode 100644 index 0000000..6ae3544 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%pages%blog%post.htm differ diff --git a/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%partials%post.htm b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%partials%post.htm new file mode 100644 index 0000000..576fcc7 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%partials%post.htm differ diff --git a/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%partials%posts b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%partials%posts new file mode 100644 index 0000000..6f29d57 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%partials%posts differ diff --git a/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%partials%posts.htm b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%partials%posts.htm new file mode 100644 index 0000000..1129bf4 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%blog-vx%partials%posts.htm differ diff --git a/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%simple-json-blog%README.md b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%simple-json-blog%README.md new file mode 100644 index 0000000..11abe9b Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%simple-json-blog%README.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%simple-json-blog%theme.yaml b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%simple-json-blog%theme.yaml new file mode 100644 index 0000000..bc1ef44 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html%themes%simple-json-blog%theme.yaml differ diff --git a/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html-mount.sh b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html-mount.sh new file mode 100644 index 0000000..7d928ef Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%octobercms-blog%html-mount.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects%react-test%my-app%src%App.css b/legacy/.vimtmp/%home%ray%Projects%react-test%my-app%src%App.css new file mode 100644 index 0000000..82a7fcf Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%react-test%my-app%src%App.css differ diff --git a/legacy/.vimtmp/%home%ray%Projects%react-test%my-app%src%App.js b/legacy/.vimtmp/%home%ray%Projects%react-test%my-app%src%App.js new file mode 100644 index 0000000..6d2f9a3 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%react-test%my-app%src%App.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%setup-scripts%octobercms%alpine%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%Projects%setup-scripts%octobercms%alpine%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..bfa5c20 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%setup-scripts%octobercms%alpine%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%Projects%setup-scripts%octobercms%alpine%TODO.md b/legacy/.vimtmp/%home%ray%Projects%setup-scripts%octobercms%alpine%TODO.md new file mode 100644 index 0000000..dbc4937 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%setup-scripts%octobercms%alpine%TODO.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects%setup-scripts%octobercms%alpine%nginx-site.conf b/legacy/.vimtmp/%home%ray%Projects%setup-scripts%octobercms%alpine%nginx-site.conf new file mode 100644 index 0000000..b49d371 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%setup-scripts%octobercms%alpine%nginx-site.conf differ diff --git a/legacy/.vimtmp/%home%ray%Projects%setup-scripts%octobercms%alpine%octobercms-db-export.sh b/legacy/.vimtmp/%home%ray%Projects%setup-scripts%octobercms%alpine%octobercms-db-export.sh new file mode 100644 index 0000000..312562c Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%setup-scripts%octobercms%alpine%octobercms-db-export.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects%setup-scripts%octobercms%alpine%setup.sh b/legacy/.vimtmp/%home%ray%Projects%setup-scripts%octobercms%alpine%setup.sh new file mode 100644 index 0000000..cf64356 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%setup-scripts%octobercms%alpine%setup.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects%studio-vx%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%Projects%studio-vx%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..2a76456 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%studio-vx%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%Projects%studio-vx%TODO.md b/legacy/.vimtmp/%home%ray%Projects%studio-vx%TODO.md new file mode 100644 index 0000000..31e5ae0 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%studio-vx%TODO.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects%studio-vx%blog%NOTES.md b/legacy/.vimtmp/%home%ray%Projects%studio-vx%blog%NOTES.md new file mode 100644 index 0000000..20ba892 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%studio-vx%blog%NOTES.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects%studio-vx%blog%drafts%facebook-business-platform.md b/legacy/.vimtmp/%home%ray%Projects%studio-vx%blog%drafts%facebook-business-platform.md new file mode 100644 index 0000000..7e7d116 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%studio-vx%blog%drafts%facebook-business-platform.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects%studio-vx%blog%subjects%prices-and-value.md b/legacy/.vimtmp/%home%ray%Projects%studio-vx%blog%subjects%prices-and-value.md new file mode 100644 index 0000000..306c116 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%studio-vx%blog%subjects%prices-and-value.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects%studio-vx%blog%subjects%what-makes-a-good-website.md b/legacy/.vimtmp/%home%ray%Projects%studio-vx%blog%subjects%what-makes-a-good-website.md new file mode 100644 index 0000000..87fded3 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%studio-vx%blog%subjects%what-makes-a-good-website.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects%studio-vx%blog%subjects%wix-driving-customers-away.md b/legacy/.vimtmp/%home%ray%Projects%studio-vx%blog%subjects%wix-driving-customers-away.md new file mode 100644 index 0000000..c36046b Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%studio-vx%blog%subjects%wix-driving-customers-away.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects%studio-vx%blog%subjects%wix-seo.md b/legacy/.vimtmp/%home%ray%Projects%studio-vx%blog%subjects%wix-seo.md new file mode 100644 index 0000000..fb5ae8f Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%studio-vx%blog%subjects%wix-seo.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects%studio-vx%content-marketing.md b/legacy/.vimtmp/%home%ray%Projects%studio-vx%content-marketing.md new file mode 100644 index 0000000..e4acb48 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%studio-vx%content-marketing.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects%studio-vx%notes.md b/legacy/.vimtmp/%home%ray%Projects%studio-vx%notes.md new file mode 100644 index 0000000..ec88084 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%studio-vx%notes.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects%studio-vx%social-media%strategies.md b/legacy/.vimtmp/%home%ray%Projects%studio-vx%social-media%strategies.md new file mode 100644 index 0000000..7babf11 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%studio-vx%social-media%strategies.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects%studio-vx%social-media%twitter%tweet-01%text.txt b/legacy/.vimtmp/%home%ray%Projects%studio-vx%social-media%twitter%tweet-01%text.txt new file mode 100644 index 0000000..88f273a Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%studio-vx%social-media%twitter%tweet-01%text.txt differ diff --git a/legacy/.vimtmp/%home%ray%Projects%testing%gulpfile.js b/legacy/.vimtmp/%home%ray%Projects%testing%gulpfile.js new file mode 100644 index 0000000..e474420 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%testing%gulpfile.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%testing%package.json b/legacy/.vimtmp/%home%ray%Projects%testing%package.json new file mode 100644 index 0000000..20f00a2 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%testing%package.json differ diff --git a/legacy/.vimtmp/%home%ray%Projects%upwork%NOTES.md b/legacy/.vimtmp/%home%ray%Projects%upwork%NOTES.md new file mode 100644 index 0000000..f522d8b Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%upwork%NOTES.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vue%README.txt b/legacy/.vimtmp/%home%ray%Projects%vue%README.txt new file mode 100644 index 0000000..5f0dfd7 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vue%README.txt differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vue%testing%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%Projects%vue%testing%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..11f5a9c Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vue%testing%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vue%testing%src%App.vue b/legacy/.vimtmp/%home%ray%Projects%vue%testing%src%App.vue new file mode 100644 index 0000000..d4c2cbc Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vue%testing%src%App.vue differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vue%testing%src%components%Container.vue b/legacy/.vimtmp/%home%ray%Projects%vue%testing%src%components%Container.vue new file mode 100644 index 0000000..d232eb8 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vue%testing%src%components%Container.vue differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vue%testing%src%components%Floater.vue b/legacy/.vimtmp/%home%ray%Projects%vue%testing%src%components%Floater.vue new file mode 100644 index 0000000..2d2b8f0 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vue%testing%src%components%Floater.vue differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vue%testing%src%components%FloaterAlt.vue b/legacy/.vimtmp/%home%ray%Projects%vue%testing%src%components%FloaterAlt.vue new file mode 100644 index 0000000..bea16b1 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vue%testing%src%components%FloaterAlt.vue differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vue%testing%src%components%FloaterOriginal.vue b/legacy/.vimtmp/%home%ray%Projects%vue%testing%src%components%FloaterOriginal.vue new file mode 100644 index 0000000..4045e4d Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vue%testing%src%components%FloaterOriginal.vue differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vue%testing%src%components%HelloWorld.vue b/legacy/.vimtmp/%home%ray%Projects%vue%testing%src%components%HelloWorld.vue new file mode 100644 index 0000000..144caa1 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vue%testing%src%components%HelloWorld.vue differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vue%testing%src%components%Switcher.vue b/legacy/.vimtmp/%home%ray%Projects%vue%testing%src%components%Switcher.vue new file mode 100644 index 0000000..439d327 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vue%testing%src%components%Switcher.vue differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..b953989 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%js%featured.js b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%js%featured.js new file mode 100644 index 0000000..ec24019 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%js%featured.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%js%menu.js b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%js%menu.js new file mode 100644 index 0000000..32b22f6 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%js%menu.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%js%slider.js b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%js%slider.js new file mode 100644 index 0000000..1dbc1a5 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%js%slider.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%scss%_vx-block-slider.scss b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%scss%_vx-block-slider.scss new file mode 100644 index 0000000..f1092d6 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%scss%_vx-block-slider.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%scss%_vx-featured.scss b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%scss%_vx-featured.scss new file mode 100644 index 0000000..3a188bf Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%scss%_vx-featured.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%scss%_vx-header-alt.scss b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%scss%_vx-header-alt.scss new file mode 100644 index 0000000..5b41641 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%scss%_vx-header-alt.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%scss%_vx-menu.scss b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%scss%_vx-menu.scss new file mode 100644 index 0000000..f326e2d Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%scss%_vx-menu.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%scss%_vx-utility.scss b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%scss%_vx-utility.scss new file mode 100644 index 0000000..7cdf15c Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%scss%_vx-utility.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%scss%style.scss b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%scss%style.scss new file mode 100644 index 0000000..530349a Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%scss%style.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%templates%header.php b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%templates%header.php new file mode 100644 index 0000000..61cb8c8 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%templates%header.php differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%templates%template-homepage.php b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%templates%template-homepage.php new file mode 100644 index 0000000..06422fa Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-block%theme%assets%templates%template-homepage.php differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%.gitignore b/legacy/.vimtmp/%home%ray%Projects%vx-clip%.gitignore new file mode 100644 index 0000000..18fd9d2 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%.gitignore differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%README.md b/legacy/.vimtmp/%home%ray%Projects%vx-clip%README.md new file mode 100644 index 0000000..272c429 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%README.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%TODO.md b/legacy/.vimtmp/%home%ray%Projects%vx-clip%TODO.md new file mode 100644 index 0000000..b2adeef Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%TODO.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%env.sh b/legacy/.vimtmp/%home%ray%Projects%vx-clip%env.sh new file mode 100644 index 0000000..14ef5b5 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%env.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%env.sh.example b/legacy/.vimtmp/%home%ray%Projects%vx-clip%env.sh.example new file mode 100644 index 0000000..b6f6865 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%env.sh.example differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%mount-wp-content.sh b/legacy/.vimtmp/%home%ray%Projects%vx-clip%mount-wp-content.sh new file mode 100755 index 0000000..8a68bb7 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%mount-wp-content.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%uidfile b/legacy/.vimtmp/%home%ray%Projects%vx-clip%uidfile new file mode 100644 index 0000000..f9d41e4 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%uidfile differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..70131f0 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%functions.php b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%functions.php new file mode 100644 index 0000000..1a4293b Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%functions.php differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%.babelrc b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%.babelrc new file mode 100644 index 0000000..2143c08 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%.babelrc differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%.eslintignore b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%.eslintignore new file mode 100644 index 0000000..d08fe58 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%.eslintignore differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%.eslintrc.js b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%.eslintrc.js new file mode 100644 index 0000000..dd9e184 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%.eslintrc.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%assets%js%index.js b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%assets%js%index.js new file mode 100644 index 0000000..3c31a7f Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%assets%js%index.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%assets%scss%_base.scss b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%assets%scss%_base.scss new file mode 100644 index 0000000..a4cae24 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%assets%scss%_base.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%assets%scss%_variables.scss b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%assets%scss%_variables.scss new file mode 100644 index 0000000..bd0d7d0 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%assets%scss%_variables.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%assets%scss%main.scss b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%assets%scss%main.scss new file mode 100644 index 0000000..546a7b9 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%assets%scss%main.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%assets%scss%style.scss b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%assets%scss%style.scss new file mode 100644 index 0000000..099f723 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%assets%scss%style.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%babel.config.js b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%babel.config.js new file mode 100644 index 0000000..fac29e6 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%babel.config.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%gulpfile.js b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%gulpfile.js new file mode 100644 index 0000000..73da95e Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%gulpfile.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%js%index.js b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%js%index.js new file mode 100644 index 0000000..21404b2 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%js%index.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%node_modules%has-value%index.js b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%node_modules%has-value%index.js new file mode 100644 index 0000000..b94d31c Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%node_modules%has-value%index.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%package.json b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%package.json new file mode 100644 index 0000000..2150717 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%package.json differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%postcss.config.js b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%postcss.config.js new file mode 100644 index 0000000..9aadbdc Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%postcss.config.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%scss%_base.scss b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%scss%_base.scss new file mode 100644 index 0000000..ac252b9 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%scss%_base.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%scss%style.scss b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%scss%style.scss new file mode 100644 index 0000000..c211041 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%scss%style.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%webpack.config.js b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%webpack.config.js new file mode 100644 index 0000000..d95d674 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%src%webpack.config.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%.babelrc b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%.babelrc new file mode 100644 index 0000000..db11839 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%.babelrc differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%assets%scripts%main.js b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%assets%scripts%main.js new file mode 100644 index 0000000..beecec2 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%assets%scripts%main.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%assets%styles%main.scss b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%assets%styles%main.scss new file mode 100644 index 0000000..68341b0 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%assets%styles%main.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%build.js b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%build.js new file mode 100644 index 0000000..512701b Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%build.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%config.js b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%config.js new file mode 100644 index 0000000..79b0f37 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%config.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%hmr%index.js b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%hmr%index.js new file mode 100644 index 0000000..07007bd Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%hmr%index.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%hmr%overlay.json b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%hmr%overlay.json new file mode 100644 index 0000000..7b65cb2 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%hmr%overlay.json differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%non-js-entry-cleanup-plugin%index.js b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%non-js-entry-cleanup-plugin%index.js new file mode 100644 index 0000000..3ec018d Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%non-js-entry-cleanup-plugin%index.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%publicPath.js b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%publicPath.js new file mode 100644 index 0000000..b9d35db Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%publicPath.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%serve.js b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%serve.js new file mode 100644 index 0000000..ae20821 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%serve.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%webpack.config.js b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%webpack.config.js new file mode 100644 index 0000000..fd619b0 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%compiler%webpack.config.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%package.json b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%package.json new file mode 100644 index 0000000..e1cbbe1 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%package.json differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%postcss.config.js b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%postcss.config.js new file mode 100644 index 0000000..f56371b Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-content%themes%my-child-theme%webpack%postcss.config.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-mount.sh b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-mount.sh new file mode 100755 index 0000000..94a1360 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-mount.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-plugins.sh b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-plugins.sh new file mode 100755 index 0000000..e20f3f2 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-plugins.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-test-data.sh b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-test-data.sh new file mode 100755 index 0000000..1a66030 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-test-data.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-woocommerce.sh b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-woocommerce.sh new file mode 100755 index 0000000..27200e9 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-clip%wp-woocommerce.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-nuxt%components%Header.vue b/legacy/.vimtmp/%home%ray%Projects%vx-nuxt%components%Header.vue new file mode 100644 index 0000000..b84838b Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-nuxt%components%Header.vue differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-nuxt%components%LangSwitcher.vue b/legacy/.vimtmp/%home%ray%Projects%vx-nuxt%components%LangSwitcher.vue new file mode 100644 index 0000000..6ee1eeb Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-nuxt%components%LangSwitcher.vue differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-nuxt%components%Page.vue b/legacy/.vimtmp/%home%ray%Projects%vx-nuxt%components%Page.vue new file mode 100644 index 0000000..19fdd93 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-nuxt%components%Page.vue differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-nuxt%components%PageContent.vue b/legacy/.vimtmp/%home%ray%Projects%vx-nuxt%components%PageContent.vue new file mode 100644 index 0000000..372b9fe Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-nuxt%components%PageContent.vue differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-nuxt%nuxt.config.js b/legacy/.vimtmp/%home%ray%Projects%vx-nuxt%nuxt.config.js new file mode 100644 index 0000000..e68172c Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-nuxt%nuxt.config.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%vx-nuxt%pages%contact.vue b/legacy/.vimtmp/%home%ray%Projects%vx-nuxt%pages%contact.vue new file mode 100644 index 0000000..64c4c92 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%vx-nuxt%pages%contact.vue differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%mount.sh b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%mount.sh new file mode 100644 index 0000000..6ab07c3 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%mount.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..b22b5d9 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%js%block.js b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%js%block.js new file mode 100644 index 0000000..624232d Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%js%block.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%js%index.js b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%js%index.js new file mode 100644 index 0000000..2db0735 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%js%index.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%scss%_animations.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%scss%_animations.scss new file mode 100644 index 0000000..6056832 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%scss%_animations.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%scss%_base.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%scss%_base.scss new file mode 100644 index 0000000..a7923b0 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%scss%_base.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%scss%_mixins.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%scss%_mixins.scss new file mode 100644 index 0000000..6f443e0 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%scss%_mixins.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%scss%_variables.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%scss%_variables.scss new file mode 100644 index 0000000..1669549 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%scss%_variables.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%scss%editor.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%scss%editor.scss new file mode 100644 index 0000000..4fcde4b Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%scss%editor.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%scss%style.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%scss%style.scss new file mode 100644 index 0000000..baea293 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%src%scss%style.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%woo-featured.php b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%woo-featured.php new file mode 100644 index 0000000..8bbcbf7 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-featured%woo-featured%woo-featured.php differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..c7bd833 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%TODO.md b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%TODO.md new file mode 100644 index 0000000..c5b7f44 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%TODO.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%header.php b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%header.php new file mode 100644 index 0000000..5788088 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%header.php differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%js%index.js b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%js%index.js new file mode 100644 index 0000000..c1b6c61 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%js%index.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_base.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_base.scss new file mode 100644 index 0000000..a934dfe Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_base.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_header.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_header.scss new file mode 100644 index 0000000..8e2f422 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_header.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_layout.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_layout.scss new file mode 100644 index 0000000..781f7d8 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_layout.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_mixins.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_mixins.scss new file mode 100644 index 0000000..cce31db Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_mixins.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_mixinx.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_mixinx.scss new file mode 100644 index 0000000..9c0d7cc Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_mixinx.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_transitions.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_transitions.scss new file mode 100644 index 0000000..72d7fde Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_transitions.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_variables.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_variables.scss new file mode 100644 index 0000000..cca469c Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_variables.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_vx-wh-header.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_vx-wh-header.scss new file mode 100644 index 0000000..c8bbd6b Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%_vx-wh-header.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%style.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%style.scss new file mode 100644 index 0000000..ebf5880 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%src%scss%style.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%woo-header.php b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%woo-header.php new file mode 100644 index 0000000..9d73d4f Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%woo-header%woo-header.php differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%wp-mount.sh b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%wp-mount.sh new file mode 100644 index 0000000..504c594 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-header%wp-mount.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%mount.sh b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%mount.sh new file mode 100644 index 0000000..bb6846c Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%mount.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..cbc2778 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%hero.php b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%hero.php new file mode 100644 index 0000000..dee4b45 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%hero.php differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%inc%acf%acf.php b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%inc%acf%acf.php new file mode 100644 index 0000000..0880786 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%inc%acf%acf.php differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%src%hero.php b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%src%hero.php new file mode 100644 index 0000000..a26b7ee Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%src%hero.php differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%src%js%index.js b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%src%js%index.js new file mode 100644 index 0000000..d40a701 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%src%js%index.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%src%scss%_animations.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%src%scss%_animations.scss new file mode 100644 index 0000000..ca4ed59 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%src%scss%_animations.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%src%scss%_layout.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%src%scss%_layout.scss new file mode 100644 index 0000000..bfc7516 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%src%scss%_layout.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%src%scss%_mixins.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%src%scss%_mixins.scss new file mode 100644 index 0000000..6b4f777 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%src%scss%_mixins.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%src%scss%_variables.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%src%scss%_variables.scss new file mode 100644 index 0000000..42ca9f5 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%src%scss%_variables.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%src%scss%style.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%src%scss%style.scss new file mode 100644 index 0000000..92422c3 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%src%scss%style.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%woo-hero.php b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%woo-hero.php new file mode 100644 index 0000000..55e5d78 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-hero%woo-hero%woo-hero.php differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%mount.sh b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%mount.sh new file mode 100644 index 0000000..33471ad Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%mount.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%woo-vxi%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%woo-vxi%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..f01ffef Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%woo-vxi%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%woo-vxi%functions.php b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%woo-vxi%functions.php new file mode 100644 index 0000000..3f88242 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%woo-vxi%functions.php differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%woo-vxi%src%js%index.js b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%woo-vxi%src%js%index.js new file mode 100644 index 0000000..ced872f Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%woo-vxi%src%js%index.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%woo-vxi%src%scss%_layout.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%woo-vxi%src%scss%_layout.scss new file mode 100644 index 0000000..bc2bfa2 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%woo-vxi%src%scss%_layout.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%woo-vxi%src%scss%_variables.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%woo-vxi%src%scss%_variables.scss new file mode 100644 index 0000000..c854596 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%woo-vxi%src%scss%_variables.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%woo-vxi%src%scss%style.scss b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%woo-vxi%src%scss%style.scss new file mode 100644 index 0000000..c37bb67 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%woo-vxi%src%scss%style.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%woo-vxi%style.css b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%woo-vxi%style.css new file mode 100644 index 0000000..6f41ed4 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects%wordpress%woo-vxi%woo-vxi%style.css differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%arch-update-checker%arch-update-check.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%arch-update-checker%arch-update-check.sh new file mode 100644 index 0000000..975e37c Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%arch-update-checker%arch-update-check.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%arch-update-checker%notify-updates b/legacy/.vimtmp/%home%ray%Projects-Sync%arch-update-checker%notify-updates new file mode 100644 index 0000000..5f4ae67 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%arch-update-checker%notify-updates differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%arch-update-checker%notify-updates.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%arch-update-checker%notify-updates.sh new file mode 100644 index 0000000..ff9a0e3 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%arch-update-checker%notify-updates.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%arch-update-checker%pacman-update-count.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%arch-update-checker%pacman-update-count.sh new file mode 100644 index 0000000..8d4da9d Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%arch-update-checker%pacman-update-count.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%dns-sync%dnsmasq.d%04-pihole-static-dhcp.conf b/legacy/.vimtmp/%home%ray%Projects-Sync%dns-sync%dnsmasq.d%04-pihole-static-dhcp.conf new file mode 100644 index 0000000..5e03e22 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%dns-sync%dnsmasq.d%04-pihole-static-dhcp.conf differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%dns-sync%dnsmasq.d%90-custom-dns.conf b/legacy/.vimtmp/%home%ray%Projects-Sync%dns-sync%dnsmasq.d%90-custom-dns.conf new file mode 100644 index 0000000..6c4363b Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%dns-sync%dnsmasq.d%90-custom-dns.conf differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%dns-sync%sync.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%dns-sync%sync.sh new file mode 100644 index 0000000..9c2ea2c Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%dns-sync%sync.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%hostname-sync%dnsmasq.d%04-pihole-static-dhcp.conf b/legacy/.vimtmp/%home%ray%Projects-Sync%hostname-sync%dnsmasq.d%04-pihole-static-dhcp.conf new file mode 100644 index 0000000..86b704d Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%hostname-sync%dnsmasq.d%04-pihole-static-dhcp.conf differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%hostname-sync%dnsmasq.d%90-custom-dns.conf b/legacy/.vimtmp/%home%ray%Projects-Sync%hostname-sync%dnsmasq.d%90-custom-dns.conf new file mode 100644 index 0000000..cf345df Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%hostname-sync%dnsmasq.d%90-custom-dns.conf differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%install-scripts%xdg-dirs.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%install-scripts%xdg-dirs.sh new file mode 100644 index 0000000..f82e379 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%install-scripts%xdg-dirs.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott-flow-model-management%components%Footer.vue b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott-flow-model-management%components%Footer.vue new file mode 100644 index 0000000..f7673ec Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott-flow-model-management%components%Footer.vue differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..5742dd8 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%.git%info%exclude b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%.git%info%exclude new file mode 100644 index 0000000..242aa66 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%.git%info%exclude differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..97b2992 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%.gitignore b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%.gitignore new file mode 100644 index 0000000..742bb56 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%.gitignore differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%NOTES.md b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%NOTES.md new file mode 100644 index 0000000..f2f7381 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%NOTES.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%README.md b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%README.md new file mode 100644 index 0000000..276e58f Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%README.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%TODO.md b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%TODO.md new file mode 100644 index 0000000..bc64940 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%TODO.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%assets%css%_about.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%assets%css%_about.scss new file mode 100644 index 0000000..5c49cf1 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%assets%css%_about.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%assets%css%main.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%assets%css%main.scss new file mode 100644 index 0000000..91e2e9f Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%assets%css%main.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%assets%css%mixins.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%assets%css%mixins.scss new file mode 100644 index 0000000..d88464b Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%assets%css%mixins.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%assets%scss%main.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%assets%scss%main.scss new file mode 100644 index 0000000..187335d Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%assets%scss%main.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%blog%publish.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%blog%publish.sh new file mode 100644 index 0000000..375458d Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%blog%publish.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%build.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%build.sh new file mode 100755 index 0000000..518a8d7 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%build.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%config.toml b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%config.toml new file mode 100644 index 0000000..969bca8 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%config.toml differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%about.html b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%about.html new file mode 100644 index 0000000..bc87289 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%about.html differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%about.md b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%about.md new file mode 100644 index 0000000..6b23ea9 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%about.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%portfolio%flowmm.md b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%portfolio%flowmm.md new file mode 100644 index 0000000..ca82897 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%portfolio%flowmm.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%posts%bootstrap-vs-tailwind.md b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%posts%bootstrap-vs-tailwind.md new file mode 100644 index 0000000..d50172f Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%posts%bootstrap-vs-tailwind.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%posts%developing-my-blog.md b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%posts%developing-my-blog.md new file mode 100644 index 0000000..fa59cf4 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%posts%developing-my-blog.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%posts%flowmm.md b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%posts%flowmm.md new file mode 100644 index 0000000..f4f84a8 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%posts%flowmm.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%posts%giana.md b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%posts%giana.md new file mode 100644 index 0000000..3687567 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%posts%giana.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%posts%leopold.md b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%posts%leopold.md new file mode 100644 index 0000000..8888e00 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%posts%leopold.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%posts%my-first-wordpress-site.md b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%posts%my-first-wordpress-site.md new file mode 100644 index 0000000..7c26fa2 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%posts%my-first-wordpress-site.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%posts%stanthams.md b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%posts%stanthams.md new file mode 100644 index 0000000..104e89a Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%posts%stanthams.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%test.html b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%test.html new file mode 100644 index 0000000..362e711 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%content%test.html differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%flowmm-notes.md b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%flowmm-notes.md new file mode 100644 index 0000000..9b43051 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%flowmm-notes.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%layouts%partials%svg%gitea.svg b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%layouts%partials%svg%gitea.svg new file mode 100644 index 0000000..b10754a Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%layouts%partials%svg%gitea.svg differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%layouts%partials%svg%linkedin.svg b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%layouts%partials%svg%linkedin.svg new file mode 100644 index 0000000..99ba7b5 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%layouts%partials%svg%linkedin.svg differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%layouts%shortcodes%baseurl.html b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%layouts%shortcodes%baseurl.html new file mode 100644 index 0000000..22668ac Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%layouts%shortcodes%baseurl.html differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%layouts%shortcodes%divwrap.html b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%layouts%shortcodes%divwrap.html new file mode 100644 index 0000000..e427530 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%layouts%shortcodes%divwrap.html differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%octobercms.md b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%octobercms.md new file mode 100644 index 0000000..6975307 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%octobercms.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%publish.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%publish.sh new file mode 100644 index 0000000..6e7dd27 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%publish.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%serve.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%serve.sh new file mode 100644 index 0000000..41d4e35 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%serve.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%static%css%custom.css b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%static%css%custom.css new file mode 100644 index 0000000..e2cd5e2 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%static%css%custom.css differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%static%custom.css b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%static%custom.css new file mode 100644 index 0000000..b7641cf Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%static%custom.css differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..22551e1 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%README.md b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%README.md new file mode 100644 index 0000000..c177d90 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%README.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_base.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_base.scss new file mode 100644 index 0000000..2d83243 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_base.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_base_dark.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_base_dark.scss new file mode 100644 index 0000000..e70a1d1 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_base_dark.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_content.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_content.scss new file mode 100644 index 0000000..cc86184 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_content.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_content_dark.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_content_dark.scss new file mode 100644 index 0000000..4f2a6a6 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_content_dark.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_footer.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_footer.scss new file mode 100644 index 0000000..b37ff68 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_footer.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_footer_dark.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_footer_dark.scss new file mode 100644 index 0000000..ce2b4d9 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_footer_dark.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_navigation.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_navigation.scss new file mode 100644 index 0000000..5f11334 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_navigation.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_pagination.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_pagination.scss new file mode 100644 index 0000000..9e86ecc Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_pagination.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_variables.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_variables.scss new file mode 100644 index 0000000..92f48dd Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%assets%scss%_variables.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%_default%baseof.html b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%_default%baseof.html new file mode 100644 index 0000000..9fd72f2 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%_default%baseof.html differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%_default%list.html b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%_default%list.html new file mode 100644 index 0000000..8188c4e Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%_default%list.html differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%footer.html b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%footer.html new file mode 100644 index 0000000..b34e0d4 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%footer.html differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%header.html b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%header.html new file mode 100644 index 0000000..1df07a4 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%header.html differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%home.html b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%home.html new file mode 100644 index 0000000..269c0d8 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%home.html differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%list.html b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%list.html new file mode 100644 index 0000000..1314ac9 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%list.html differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%pagination.html b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%pagination.html new file mode 100644 index 0000000..ae179d8 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%pagination.html differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%posts%series.html b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%posts%series.html new file mode 100644 index 0000000..ce7ed83 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%posts%series.html differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%svg%calendar.svg b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%svg%calendar.svg new file mode 100644 index 0000000..ed3e6dd Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%svg%calendar.svg differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%svg%clock.svg b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%svg%clock.svg new file mode 100644 index 0000000..f10ce6b Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%svg%clock.svg differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%svg%folder.svg b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%svg%folder.svg new file mode 100644 index 0000000..1322eef Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%svg%folder.svg differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%svg%hamburder.svg b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%svg%hamburder.svg new file mode 100644 index 0000000..fe74b93 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%svg%hamburder.svg differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%svg%hamburger.svg b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%svg%hamburger.svg new file mode 100644 index 0000000..a7cb779 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%svg%hamburger.svg differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%svg%linkedin.svg b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%svg%linkedin.svg new file mode 100644 index 0000000..f8fbd5b Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%svg%linkedin.svg differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%svg%tag.svg b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%svg%tag.svg new file mode 100644 index 0000000..b9a3b07 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%svg%tag.svg differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%taxonomy%categories.html b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%taxonomy%categories.html new file mode 100644 index 0000000..b255113 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%taxonomy%categories.html differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%taxonomy%tags.html b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%taxonomy%tags.html new file mode 100644 index 0000000..c9ea3b1 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%partials%taxonomy%tags.html differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%posts%list.html b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%posts%list.html new file mode 100644 index 0000000..64b7220 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%posts%list.html differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%posts%single.html b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%posts%single.html new file mode 100644 index 0000000..361b8b5 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%layouts%posts%single.html differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%static%js%script.js b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%static%js%script.js new file mode 100644 index 0000000..5c34871 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog%themes%hugo-coder%static%js%script.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog.html b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog.html new file mode 100644 index 0000000..7452fc1 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%blog.html differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%gulpfile.js b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%gulpfile.js new file mode 100644 index 0000000..3976351 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%gulpfile.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%hugo%quickstart%config.toml b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%hugo%quickstart%config.toml new file mode 100644 index 0000000..f9aa90f Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%hugo%quickstart%config.toml differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%hugo%quickstart%content%posts%my-first-post.md b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%hugo%quickstart%content%posts%my-first-post.md new file mode 100644 index 0000000..5144902 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%hugo%quickstart%content%posts%my-first-post.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%hugo-coder-fork%README.md b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%hugo-coder-fork%README.md new file mode 100644 index 0000000..a5080c6 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%hugo-coder-fork%README.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%hugo-coder-fork%assets%scss%_variables.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%hugo-coder-fork%assets%scss%_variables.scss new file mode 100644 index 0000000..cd69409 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%hugo-coder-fork%assets%scss%_variables.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%hugo-coder-fork%layouts%_default%baseof.html b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%hugo-coder-fork%layouts%_default%baseof.html new file mode 100644 index 0000000..0965ee4 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%hugo-coder-fork%layouts%_default%baseof.html differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%blog.html b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%blog.html new file mode 100644 index 0000000..2bfd000 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%blog.html differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%img%home-bg.svg b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%img%home-bg.svg new file mode 100644 index 0000000..288b333 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%img%home-bg.svg differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%index.html b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%index.html new file mode 100644 index 0000000..eb3f8ad Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%index.html differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%js%AutoScroll.js b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%js%AutoScroll.js new file mode 100644 index 0000000..8e35ae4 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%js%AutoScroll.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%js%blog.js b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%js%blog.js new file mode 100644 index 0000000..6b8ffc6 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%js%blog.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%js%index.js b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%js%index.js new file mode 100644 index 0000000..8676f38 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%js%index.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%pages%blog.njk b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%pages%blog.njk new file mode 100644 index 0000000..1a0f58f Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%pages%blog.njk differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%pages%index.njk b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%pages%index.njk new file mode 100644 index 0000000..c7a1457 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%pages%index.njk differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%_animations.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%_animations.scss new file mode 100644 index 0000000..7dbb94f Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%_animations.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%_base.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%_base.scss new file mode 100644 index 0000000..1485410 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%_base.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%_layout.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%_layout.scss new file mode 100644 index 0000000..bbe64d7 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%_layout.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%_mixins.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%_mixins.scss new file mode 100644 index 0000000..e6e8e5f Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%_mixins.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%_section.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%_section.scss new file mode 100644 index 0000000..05db273 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%_section.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%_variables.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%_variables.scss new file mode 100644 index 0000000..59b2642 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%_variables.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%sections%_about.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%sections%_about.scss new file mode 100644 index 0000000..0a49cf4 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%sections%_about.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%sections%_contact.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%sections%_contact.scss new file mode 100644 index 0000000..c361b56 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%sections%_contact.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%sections%_home.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%sections%_home.scss new file mode 100644 index 0000000..eb93655 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%sections%_home.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%sections%_projects.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%sections%_projects.scss new file mode 100644 index 0000000..00634d6 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%sections%_projects.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%style.scss b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%style.scss new file mode 100644 index 0000000..f7ff771 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%scss%style.scss differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%svg%home-bg.svg b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%svg%home-bg.svg new file mode 100644 index 0000000..c7bca9a Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%svg%home-bg.svg differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%layout.njk b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%layout.njk new file mode 100644 index 0000000..c20c1bb Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%layout.njk differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%partials%site-nav.njk b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%partials%site-nav.njk new file mode 100644 index 0000000..ebf835a Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%partials%site-nav.njk differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%sections%about.njk b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%sections%about.njk new file mode 100644 index 0000000..6d4ceba Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%sections%about.njk differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%sections%contact.njk b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%sections%contact.njk new file mode 100644 index 0000000..7977e9f Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%sections%contact.njk differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%sections%home.njk b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%sections%home.njk new file mode 100644 index 0000000..a125021 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%sections%home.njk differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%sections%projects.njk b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%sections%projects.njk new file mode 100644 index 0000000..ccea6f2 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%sections%projects.njk differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%site-nav.njk b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%site-nav.njk new file mode 100644 index 0000000..780e8ef Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%site-nav.njk differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%svg%home-bg.svg b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%svg%home-bg.svg new file mode 100644 index 0000000..bc5189b Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliott.dev%src%templates%svg%home-bg.svg differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..97ef86d Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%.gitignore b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%.gitignore new file mode 100644 index 0000000..b08967e Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%.gitignore differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%NOTES.md b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%NOTES.md new file mode 100644 index 0000000..0eac0b7 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%NOTES.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%README.md b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%README.md new file mode 100644 index 0000000..d4f355a Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%README.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%linkedin-summary.txt b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%linkedin-summary.txt new file mode 100644 index 0000000..86fb167 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%linkedin-summary.txt differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%peopleperhour%feed%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%peopleperhour%feed%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..b7eb89a Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%peopleperhour%feed%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%peopleperhour%feed%main.py b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%peopleperhour%feed%main.py new file mode 100644 index 0000000..93f35ff Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%peopleperhour%feed%main.py differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%peopleperhour%offers%notes.txt b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%peopleperhour%offers%notes.txt new file mode 100644 index 0000000..6fe99bb Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%peopleperhour%offers%notes.txt differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%pph-feed%main.py b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%pph-feed%main.py new file mode 100644 index 0000000..dd0667e Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%pph-feed%main.py differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%pph-personalise-your-application.txt b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%pph-personalise-your-application.txt new file mode 100644 index 0000000..d6507e9 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%pph-personalise-your-application.txt differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%pph-summary.txt b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%pph-summary.txt new file mode 100644 index 0000000..2c346a8 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%pph-summary.txt differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%roadmap.md b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%roadmap.md new file mode 100644 index 0000000..779e965 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%roadmap.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%simple-website-using-javascript-html-and-css-beginners-2739072.txt b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%simple-website-using-javascript-html-and-css-beginners-2739072.txt new file mode 100644 index 0000000..5205e60 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%rayelliottdev%simple-website-using-javascript-html-and-css-beginners-2739072.txt differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..7fabc04 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%README.md b/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%README.md new file mode 100644 index 0000000..8bc608d Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%README.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%install.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%install.sh new file mode 100644 index 0000000..cb59dd0 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%install.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%src%date-show b/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%src%date-show new file mode 100644 index 0000000..fe2b5e8 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%src%date-show differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%src%newbash b/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%src%newbash new file mode 100644 index 0000000..416acf1 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%src%newbash differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%src%newsh b/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%src%newsh new file mode 100644 index 0000000..42289e6 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%src%newsh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%src%pam-say b/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%src%pam-say new file mode 100644 index 0000000..d58492a Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%src%pam-say differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%uninstall.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%uninstall.sh new file mode 100644 index 0000000..883e874 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%scripts%uninstall.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%tts%festival%date-show b/legacy/.vimtmp/%home%ray%Projects-Sync%tts%festival%date-show new file mode 100644 index 0000000..7d3ff8b Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%tts%festival%date-show differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%tts%festival%time-long.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%tts%festival%time-long.sh new file mode 100644 index 0000000..65e9fe3 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%tts%festival%time-long.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..e722401 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%README.md b/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%README.md new file mode 100644 index 0000000..24defba Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%README.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%bookmark-add b/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%bookmark-add new file mode 100644 index 0000000..432d9b0 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%bookmark-add differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%bookmark-get b/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%bookmark-get new file mode 100644 index 0000000..bca472a Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%bookmark-get differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%bookmark-menu b/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%bookmark-menu new file mode 100644 index 0000000..e828d3c Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%bookmark-menu differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%bookmark-menu.config b/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%bookmark-menu.config new file mode 100644 index 0000000..26c82b8 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%bookmark-menu.config differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%get-bookmark b/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%get-bookmark new file mode 100644 index 0000000..0a013cd Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%get-bookmark differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%universal-bookmark b/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%universal-bookmark new file mode 100644 index 0000000..2e4fd10 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%universal-bookmarks%universal-bookmark differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..a6a8bce Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%README.md b/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%README.md new file mode 100644 index 0000000..27ca8df Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%README.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%install.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%install.sh new file mode 100644 index 0000000..655fc5f Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%install.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%notify-updates b/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%notify-updates new file mode 100644 index 0000000..f4f55cd Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%notify-updates differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%notify-updates.config b/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%notify-updates.config new file mode 100644 index 0000000..1abaa43 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%notify-updates.config differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%pacman-update-count.service b/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%pacman-update-count.service new file mode 100644 index 0000000..de4bdb4 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%pacman-update-count.service differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%pacman-update-count.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%pacman-update-count.sh new file mode 100644 index 0000000..62991eb Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%pacman-update-count.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%pacman-update-count.timer b/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%pacman-update-count.timer new file mode 100644 index 0000000..eabcc30 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%pacman-update-count.timer differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%uninstall.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%uninstall.sh new file mode 100644 index 0000000..ba97a84 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%uninstall.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%update-notifier.service b/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%update-notifier.service new file mode 100644 index 0000000..31b2c3c Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%update-notifier.service differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%update-notifier.timer b/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%update-notifier.timer new file mode 100644 index 0000000..3030094 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%update-notifier%update-notifier.timer differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%upwork%NOTES.md b/legacy/.vimtmp/%home%ray%Projects-Sync%upwork%NOTES.md new file mode 100644 index 0000000..b3b05b4 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%upwork%NOTES.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%upwork%linkedin-summary.txt b/legacy/.vimtmp/%home%ray%Projects-Sync%upwork%linkedin-summary.txt new file mode 100644 index 0000000..3d43771 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%upwork%linkedin-summary.txt differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%vx-nuxt%README.md b/legacy/.vimtmp/%home%ray%Projects-Sync%vx-nuxt%README.md new file mode 100644 index 0000000..5432202 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%vx-nuxt%README.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%vx-nuxt%lang%de-DE.js b/legacy/.vimtmp/%home%ray%Projects-Sync%vx-nuxt%lang%de-DE.js new file mode 100644 index 0000000..df83d65 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%vx-nuxt%lang%de-DE.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%vx-nuxt%nuxt.config.js b/legacy/.vimtmp/%home%ray%Projects-Sync%vx-nuxt%nuxt.config.js new file mode 100644 index 0000000..3af5d47 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%vx-nuxt%nuxt.config.js differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%woo-shop%candidate%products%monaco-resize.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%woo-shop%candidate%products%monaco-resize.sh new file mode 100644 index 0000000..042b510 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%woo-shop%candidate%products%monaco-resize.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%woo-shop%products%grey-loose-neck-knitwear%monaco-resize.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%woo-shop%products%grey-loose-neck-knitwear%monaco-resize.sh new file mode 100644 index 0000000..2a5758d Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%woo-shop%products%grey-loose-neck-knitwear%monaco-resize.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-blank%config b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-blank%config new file mode 100644 index 0000000..131422d Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-blank%config differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..0e78281 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%.gitignore b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%.gitignore new file mode 100644 index 0000000..e030523 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%.gitignore differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%README.md b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%README.md new file mode 100644 index 0000000..00a8202 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%README.md differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%config b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%config new file mode 100644 index 0000000..ddf1851 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%config differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%config-example b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%config-example new file mode 100644 index 0000000..045549c Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%config-example differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%container-setup.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%container-setup.sh new file mode 100644 index 0000000..169dc62 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%container-setup.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%deploy-to-container.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%deploy-to-container.sh new file mode 100644 index 0000000..d76e52a Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%deploy-to-container.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%dev%config%000-default.conf b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%dev%config%000-default.conf new file mode 100644 index 0000000..e0450d0 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%dev%config%000-default.conf differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%dev%container-create.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%dev%container-create.sh new file mode 100644 index 0000000..48d1cdb Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%dev%container-create.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%dev%download-data.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%dev%download-data.sh new file mode 100644 index 0000000..ff1e8d7 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%dev%download-data.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%dev%export-data.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%dev%export-data.sh new file mode 100644 index 0000000..b1dc887 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%dev%export-data.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%dev-container-deploy.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%dev-container-deploy.sh new file mode 100644 index 0000000..a44fb67 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%dev-container-deploy.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%dev-setup-notes.txt b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%dev-setup-notes.txt new file mode 100644 index 0000000..1ffb42e Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%dev-setup-notes.txt differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%install.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%install.sh new file mode 100644 index 0000000..b817f59 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%install.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%notes.txt b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%notes.txt new file mode 100644 index 0000000..dd24c74 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%notes.txt differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%prod-webserver-provision.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%prod-webserver-provision.sh new file mode 100644 index 0000000..a44a555 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%prod-webserver-provision.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%production%config%nginx.conf b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%production%config%nginx.conf new file mode 100644 index 0000000..9dafb5a Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%production%config%nginx.conf differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%production%config%wp-config-forward-headers.php b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%production%config%wp-config-forward-headers.php new file mode 100644 index 0000000..8e102da Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%production%config%wp-config-forward-headers.php differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%production%docker-compose.yml b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%production%docker-compose.yml new file mode 100644 index 0000000..84e8c3c Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%production%docker-compose.yml differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%production%export-data.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%production%export-data.sh new file mode 100644 index 0000000..137b9a7 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%production%export-data.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%production%export-to-production.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%production%export-to-production.sh new file mode 100644 index 0000000..12aa179 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%production%export-to-production.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%production%webserver-setup.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%production%webserver-setup.sh new file mode 100644 index 0000000..28163c3 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%production%webserver-setup.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%publish.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%publish.sh new file mode 100644 index 0000000..7286d13 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%publish.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%webserver-provision.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%webserver-provision.sh new file mode 100644 index 0000000..68c8ca9 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%webserver-provision.sh differ diff --git a/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%webserver-setup.sh b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%webserver-setup.sh new file mode 100644 index 0000000..5114828 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Projects-Sync%wordpress-dev%webserver-setup.sh differ diff --git a/legacy/.vimtmp/%home%ray%Sync%bookmarks%bookmarks-saved b/legacy/.vimtmp/%home%ray%Sync%bookmarks%bookmarks-saved new file mode 100644 index 0000000..a9a9c6b Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Sync%bookmarks%bookmarks-saved differ diff --git a/legacy/.vimtmp/%home%ray%Sync%qutebrowser%quickmarks b/legacy/.vimtmp/%home%ray%Sync%qutebrowser%quickmarks new file mode 100644 index 0000000..cb36655 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Sync%qutebrowser%quickmarks differ diff --git a/legacy/.vimtmp/%home%ray%Temp%borg-scripts%borg-template.sh b/legacy/.vimtmp/%home%ray%Temp%borg-scripts%borg-template.sh new file mode 100644 index 0000000..024556a Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Temp%borg-scripts%borg-template.sh differ diff --git a/legacy/.vimtmp/%home%ray%Temp%gsap%assets%css%style.css b/legacy/.vimtmp/%home%ray%Temp%gsap%assets%css%style.css new file mode 100644 index 0000000..f94f4da Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Temp%gsap%assets%css%style.css differ diff --git a/legacy/.vimtmp/%home%ray%Temp%gsap%assets%js%index.js b/legacy/.vimtmp/%home%ray%Temp%gsap%assets%js%index.js new file mode 100644 index 0000000..014affe Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Temp%gsap%assets%js%index.js differ diff --git a/legacy/.vimtmp/%home%ray%Temp%gsap%index.html b/legacy/.vimtmp/%home%ray%Temp%gsap%index.html new file mode 100644 index 0000000..29e1cff Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Temp%gsap%index.html differ diff --git a/legacy/.vimtmp/%home%ray%Temp%test.sh b/legacy/.vimtmp/%home%ray%Temp%test.sh new file mode 100644 index 0000000..ea7d03d Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Temp%test.sh differ diff --git a/legacy/.vimtmp/%home%ray%Temp%text-filters%assets%css%style.css b/legacy/.vimtmp/%home%ray%Temp%text-filters%assets%css%style.css new file mode 100644 index 0000000..a785390 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Temp%text-filters%assets%css%style.css differ diff --git a/legacy/.vimtmp/%home%ray%Temp%text-filters%index.html b/legacy/.vimtmp/%home%ray%Temp%text-filters%index.html new file mode 100644 index 0000000..fe2e7df Binary files /dev/null and b/legacy/.vimtmp/%home%ray%Temp%text-filters%index.html differ diff --git a/legacy/.vimtmp/%home%ray%mirrorlist-update.sh b/legacy/.vimtmp/%home%ray%mirrorlist-update.sh new file mode 100644 index 0000000..de170fe Binary files /dev/null and b/legacy/.vimtmp/%home%ray%mirrorlist-update.sh differ diff --git a/legacy/.vimtmp/%home%ray%proxmox-startup.md b/legacy/.vimtmp/%home%ray%proxmox-startup.md new file mode 100644 index 0000000..3885a0e Binary files /dev/null and b/legacy/.vimtmp/%home%ray%proxmox-startup.md differ diff --git a/legacy/.vimtmp/%home%ray%pve-spice.sh b/legacy/.vimtmp/%home%ray%pve-spice.sh new file mode 100644 index 0000000..4c51f6a Binary files /dev/null and b/legacy/.vimtmp/%home%ray%pve-spice.sh differ diff --git a/legacy/.vimtmp/%home%ray%scroll_mouse.sh b/legacy/.vimtmp/%home%ray%scroll_mouse.sh new file mode 100644 index 0000000..87bdec5 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%scroll_mouse.sh differ diff --git a/legacy/.vimtmp/%home%ray%surfUntarget.js b/legacy/.vimtmp/%home%ray%surfUntarget.js new file mode 100644 index 0000000..3dedbe4 Binary files /dev/null and b/legacy/.vimtmp/%home%ray%surfUntarget.js differ diff --git a/legacy/.vimtmp/%mnt%data%Projects%Archive%Vue%flow-model-management%components%Footer.vue b/legacy/.vimtmp/%mnt%data%Projects%Archive%Vue%flow-model-management%components%Footer.vue new file mode 100644 index 0000000..7cb7476 Binary files /dev/null and b/legacy/.vimtmp/%mnt%data%Projects%Archive%Vue%flow-model-management%components%Footer.vue differ diff --git a/legacy/.vimtmp/%mnt%data%Projects%gsap%assets%css%style.css b/legacy/.vimtmp/%mnt%data%Projects%gsap%assets%css%style.css new file mode 100644 index 0000000..33e3357 Binary files /dev/null and b/legacy/.vimtmp/%mnt%data%Projects%gsap%assets%css%style.css differ diff --git a/legacy/.vimtmp/%mnt%data%Projects%gsap%index.html b/legacy/.vimtmp/%mnt%data%Projects%gsap%index.html new file mode 100644 index 0000000..4d4b005 Binary files /dev/null and b/legacy/.vimtmp/%mnt%data%Projects%gsap%index.html differ diff --git a/legacy/.vimtmp/%mnt%data%Projects%liquid-image%assets%css%style.css b/legacy/.vimtmp/%mnt%data%Projects%liquid-image%assets%css%style.css new file mode 100644 index 0000000..54c83a1 Binary files /dev/null and b/legacy/.vimtmp/%mnt%data%Projects%liquid-image%assets%css%style.css differ diff --git a/legacy/.vimtmp/%mnt%data%Projects%liquid-image%index.html b/legacy/.vimtmp/%mnt%data%Projects%liquid-image%index.html new file mode 100644 index 0000000..88c6a8f Binary files /dev/null and b/legacy/.vimtmp/%mnt%data%Projects%liquid-image%index.html differ diff --git a/legacy/.vimtmp/%mnt%data%Projects%scrape-test%pages%page-scrape.sh b/legacy/.vimtmp/%mnt%data%Projects%scrape-test%pages%page-scrape.sh new file mode 100644 index 0000000..76f3cd8 Binary files /dev/null and b/legacy/.vimtmp/%mnt%data%Projects%scrape-test%pages%page-scrape.sh differ diff --git a/legacy/.vimtmp/%mnt%data%Projects%woo-shop%colors.scss b/legacy/.vimtmp/%mnt%data%Projects%woo-shop%colors.scss new file mode 100644 index 0000000..6cca174 Binary files /dev/null and b/legacy/.vimtmp/%mnt%data%Projects%woo-shop%colors.scss differ diff --git a/legacy/.vimtmp/%mnt%data%Projects%woo-shop%colors.txt b/legacy/.vimtmp/%mnt%data%Projects%woo-shop%colors.txt new file mode 100644 index 0000000..418d136 Binary files /dev/null and b/legacy/.vimtmp/%mnt%data%Projects%woo-shop%colors.txt differ diff --git a/legacy/.vimtmp/%mnt%data%Shared%gsap%assets%css%style.css b/legacy/.vimtmp/%mnt%data%Shared%gsap%assets%css%style.css new file mode 100644 index 0000000..11abec0 Binary files /dev/null and b/legacy/.vimtmp/%mnt%data%Shared%gsap%assets%css%style.css differ diff --git a/legacy/.vimtmp/%mnt%data%Shared%gsap%assets%js%index.js b/legacy/.vimtmp/%mnt%data%Shared%gsap%assets%js%index.js new file mode 100644 index 0000000..711a537 Binary files /dev/null and b/legacy/.vimtmp/%mnt%data%Shared%gsap%assets%js%index.js differ diff --git a/legacy/.vimtmp/%mnt%data%Shared%gsap%index.html b/legacy/.vimtmp/%mnt%data%Shared%gsap%index.html new file mode 100644 index 0000000..afc380c Binary files /dev/null and b/legacy/.vimtmp/%mnt%data%Shared%gsap%index.html differ diff --git a/legacy/.vimtmp/%mnt%data%borg-data.sh b/legacy/.vimtmp/%mnt%data%borg-data.sh new file mode 100644 index 0000000..28662c9 Binary files /dev/null and b/legacy/.vimtmp/%mnt%data%borg-data.sh differ diff --git a/legacy/.vimtmp/%mnt%int_data%borg-int_data.sh b/legacy/.vimtmp/%mnt%int_data%borg-int_data.sh new file mode 100644 index 0000000..5f43446 Binary files /dev/null and b/legacy/.vimtmp/%mnt%int_data%borg-int_data.sh differ diff --git a/legacy/.vimtmp/%mnt%int_data%y%borg-int_data.sh b/legacy/.vimtmp/%mnt%int_data%y%borg-int_data.sh new file mode 100644 index 0000000..04b24f0 Binary files /dev/null and b/legacy/.vimtmp/%mnt%int_data%y%borg-int_data.sh differ diff --git a/legacy/.vimtmp/%mnt%int_data%y%fb%corkglamourphotography.com%README.txt b/legacy/.vimtmp/%mnt%int_data%y%fb%corkglamourphotography.com%README.txt new file mode 100644 index 0000000..76d5ad1 Binary files /dev/null and b/legacy/.vimtmp/%mnt%int_data%y%fb%corkglamourphotography.com%README.txt differ diff --git a/legacy/.vimtmp/%mnt%int_data%y%fb%corkglamourphotography.com%taracantfly.666%urls.txt b/legacy/.vimtmp/%mnt%int_data%y%fb%corkglamourphotography.com%taracantfly.666%urls.txt new file mode 100644 index 0000000..775939d Binary files /dev/null and b/legacy/.vimtmp/%mnt%int_data%y%fb%corkglamourphotography.com%taracantfly.666%urls.txt differ diff --git a/legacy/.vimtmp/%mnt%int_data%y%fb%corkglamourphotography.com%urls.txt b/legacy/.vimtmp/%mnt%int_data%y%fb%corkglamourphotography.com%urls.txt new file mode 100644 index 0000000..7b419f3 Binary files /dev/null and b/legacy/.vimtmp/%mnt%int_data%y%fb%corkglamourphotography.com%urls.txt differ diff --git a/legacy/.vimtmp/%mnt%int_data%y%vid%youtube%[ElizabethHunny xox]%batch.txt b/legacy/.vimtmp/%mnt%int_data%y%vid%youtube%[ElizabethHunny xox]%batch.txt new file mode 100644 index 0000000..803dd67 Binary files /dev/null and b/legacy/.vimtmp/%mnt%int_data%y%vid%youtube%[ElizabethHunny xox]%batch.txt differ diff --git a/legacy/.vimtmp/%mnt%int_data%y%vid%youtube%[Paradise Lifestyle]%batch.txt b/legacy/.vimtmp/%mnt%int_data%y%vid%youtube%[Paradise Lifestyle]%batch.txt new file mode 100644 index 0000000..7bc7d1d Binary files /dev/null and b/legacy/.vimtmp/%mnt%int_data%y%vid%youtube%[Paradise Lifestyle]%batch.txt differ diff --git a/legacy/.vimtmp/%mnt%media%Downloads%Reddit%reddit-rmd%scrape%Melli9494%URLS.txt b/legacy/.vimtmp/%mnt%media%Downloads%Reddit%reddit-rmd%scrape%Melli9494%URLS.txt new file mode 100644 index 0000000..a98cd13 Binary files /dev/null and b/legacy/.vimtmp/%mnt%media%Downloads%Reddit%reddit-rmd%scrape%Melli9494%URLS.txt differ diff --git a/legacy/.vimtmp/%mnt%media%Downloads%shared%content-marketing%sophie-mcmanus-informal-list-of-words-phrases-to-cut.txt b/legacy/.vimtmp/%mnt%media%Downloads%shared%content-marketing%sophie-mcmanus-informal-list-of-words-phrases-to-cut.txt new file mode 100644 index 0000000..3ee572f Binary files /dev/null and b/legacy/.vimtmp/%mnt%media%Downloads%shared%content-marketing%sophie-mcmanus-informal-list-of-words-phrases-to-cut.txt differ diff --git a/legacy/.vimtmp/%mnt%media%borg-media.sh b/legacy/.vimtmp/%mnt%media%borg-media.sh new file mode 100644 index 0000000..8d770b7 Binary files /dev/null and b/legacy/.vimtmp/%mnt%media%borg-media.sh differ diff --git a/legacy/.vimtmp/%mnt%tmp%concat.txt b/legacy/.vimtmp/%mnt%tmp%concat.txt new file mode 100644 index 0000000..0cc1430 Binary files /dev/null and b/legacy/.vimtmp/%mnt%tmp%concat.txt differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-1928794-9361472885314120634 b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-1928794-9361472885314120634 new file mode 100644 index 0000000..77bc8ed Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-1928794-9361472885314120634 differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-25603-7020150079089739856 b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-25603-7020150079089739856 new file mode 100644 index 0000000..00b7e28 Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-25603-7020150079089739856 differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-258650-3559313735703326834 b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-258650-3559313735703326834 new file mode 100644 index 0000000..43235e8 Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-258650-3559313735703326834 differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2596571-10259532027994072035 b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2596571-10259532027994072035 new file mode 100644 index 0000000..ddeabbb Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2596571-10259532027994072035 differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2596571-6019632256280208700 b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2596571-6019632256280208700 new file mode 100644 index 0000000..fd626ea Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2596571-6019632256280208700 differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2601136-1534446787125421447 b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2601136-1534446787125421447 new file mode 100644 index 0000000..a5ec1cd Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2601136-1534446787125421447 differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2601136-2397842591798128607 b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2601136-2397842591798128607 new file mode 100644 index 0000000..8f18022 Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2601136-2397842591798128607 differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2601136-7107508459314817954 b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2601136-7107508459314817954 new file mode 100644 index 0000000..8d23619 Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2601136-7107508459314817954 differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2604652-11439360266898220753 b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2604652-11439360266898220753 new file mode 100644 index 0000000..7207f75 Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2604652-11439360266898220753 differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2646622-14937989491277093925 b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2646622-14937989491277093925 new file mode 100644 index 0000000..81b2d2d Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2646622-14937989491277093925 differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2646622-15823002577444494667 b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2646622-15823002577444494667 new file mode 100644 index 0000000..9761027 Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2646622-15823002577444494667 differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2664540-3271596716388831522 b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2664540-3271596716388831522 new file mode 100644 index 0000000..f804e3b Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2664540-3271596716388831522 differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2666030-8664489359853632582 b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2666030-8664489359853632582 new file mode 100644 index 0000000..6e13743 Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2666030-8664489359853632582 differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2668344-14297569189191949597 b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2668344-14297569189191949597 new file mode 100644 index 0000000..60f5d34 Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2668344-14297569189191949597 differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2671635-15318477292958208604 b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2671635-15318477292958208604 new file mode 100644 index 0000000..09d90f8 Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2671635-15318477292958208604 differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2674553-17246295045610973265 b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2674553-17246295045610973265 new file mode 100644 index 0000000..e1f47af Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2674553-17246295045610973265 differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2674553-4816251718606554598 b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2674553-4816251718606554598 new file mode 100644 index 0000000..5019e23 Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2674553-4816251718606554598 differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2999167-5887649621571562466 b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2999167-5887649621571562466 new file mode 100644 index 0000000..37d5f09 Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Arch666-1000-2999167-5887649621571562466 differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Patricia-1000-1154640-11714501149670487555 b/legacy/.vimtmp/%tmp%neomutt-Patricia-1000-1154640-11714501149670487555 new file mode 100644 index 0000000..f8408d3 Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Patricia-1000-1154640-11714501149670487555 differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Patricia-1000-1154640-17002013444013056184 b/legacy/.vimtmp/%tmp%neomutt-Patricia-1000-1154640-17002013444013056184 new file mode 100644 index 0000000..ea1d64d Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Patricia-1000-1154640-17002013444013056184 differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Patricia-1000-1154640-17327837825143658055 b/legacy/.vimtmp/%tmp%neomutt-Patricia-1000-1154640-17327837825143658055 new file mode 100644 index 0000000..1711aed Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Patricia-1000-1154640-17327837825143658055 differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Patricia-1000-1235895-14530971095180617444 b/legacy/.vimtmp/%tmp%neomutt-Patricia-1000-1235895-14530971095180617444 new file mode 100644 index 0000000..f0bb5bf Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Patricia-1000-1235895-14530971095180617444 differ diff --git a/legacy/.vimtmp/%tmp%neomutt-Patricia-1000-1371637-8741560164198556297 b/legacy/.vimtmp/%tmp%neomutt-Patricia-1000-1371637-8741560164198556297 new file mode 100644 index 0000000..0cdbc1c Binary files /dev/null and b/legacy/.vimtmp/%tmp%neomutt-Patricia-1000-1371637-8741560164198556297 differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-04pfc275 b/legacy/.vimtmp/%tmp%qutebrowser-editor-04pfc275 new file mode 100644 index 0000000..416502c Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-04pfc275 differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-06y3ql0x b/legacy/.vimtmp/%tmp%qutebrowser-editor-06y3ql0x new file mode 100644 index 0000000..fb788ab Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-06y3ql0x differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-0nxm5hie b/legacy/.vimtmp/%tmp%qutebrowser-editor-0nxm5hie new file mode 100644 index 0000000..fb3ecee Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-0nxm5hie differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-153r_wu4 b/legacy/.vimtmp/%tmp%qutebrowser-editor-153r_wu4 new file mode 100644 index 0000000..ea223a9 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-153r_wu4 differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-1an57lzk b/legacy/.vimtmp/%tmp%qutebrowser-editor-1an57lzk new file mode 100644 index 0000000..c957048 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-1an57lzk differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-1qdzz99t b/legacy/.vimtmp/%tmp%qutebrowser-editor-1qdzz99t new file mode 100644 index 0000000..8ffc765 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-1qdzz99t differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-1ydo63q9 b/legacy/.vimtmp/%tmp%qutebrowser-editor-1ydo63q9 new file mode 100644 index 0000000..fc202a1 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-1ydo63q9 differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-21jfd77o b/legacy/.vimtmp/%tmp%qutebrowser-editor-21jfd77o new file mode 100644 index 0000000..03d5e28 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-21jfd77o differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-289boz1d b/legacy/.vimtmp/%tmp%qutebrowser-editor-289boz1d new file mode 100644 index 0000000..ae8ef29 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-289boz1d differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-38ad5650 b/legacy/.vimtmp/%tmp%qutebrowser-editor-38ad5650 new file mode 100644 index 0000000..c761817 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-38ad5650 differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-505ajy2w b/legacy/.vimtmp/%tmp%qutebrowser-editor-505ajy2w new file mode 100644 index 0000000..c6a8ac3 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-505ajy2w differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-5q2q4tas b/legacy/.vimtmp/%tmp%qutebrowser-editor-5q2q4tas new file mode 100644 index 0000000..7c30297 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-5q2q4tas differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-65l_kc6n b/legacy/.vimtmp/%tmp%qutebrowser-editor-65l_kc6n new file mode 100644 index 0000000..e9d89e8 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-65l_kc6n differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-6fxommk0 b/legacy/.vimtmp/%tmp%qutebrowser-editor-6fxommk0 new file mode 100644 index 0000000..43df61e Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-6fxommk0 differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-6gre3a0b b/legacy/.vimtmp/%tmp%qutebrowser-editor-6gre3a0b new file mode 100644 index 0000000..a5e17b9 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-6gre3a0b differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-708x3f34 b/legacy/.vimtmp/%tmp%qutebrowser-editor-708x3f34 new file mode 100644 index 0000000..174bc17 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-708x3f34 differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-89ker7rp b/legacy/.vimtmp/%tmp%qutebrowser-editor-89ker7rp new file mode 100644 index 0000000..8e253f5 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-89ker7rp differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-8bk9tjme b/legacy/.vimtmp/%tmp%qutebrowser-editor-8bk9tjme new file mode 100644 index 0000000..7c25b80 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-8bk9tjme differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-8te9scrj b/legacy/.vimtmp/%tmp%qutebrowser-editor-8te9scrj new file mode 100644 index 0000000..8076134 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-8te9scrj differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-8woxzdtk b/legacy/.vimtmp/%tmp%qutebrowser-editor-8woxzdtk new file mode 100644 index 0000000..98bed62 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-8woxzdtk differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-93guh3ch b/legacy/.vimtmp/%tmp%qutebrowser-editor-93guh3ch new file mode 100644 index 0000000..cc97055 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-93guh3ch differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-_41zvjca b/legacy/.vimtmp/%tmp%qutebrowser-editor-_41zvjca new file mode 100644 index 0000000..6ee8520 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-_41zvjca differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-_57q6nkm b/legacy/.vimtmp/%tmp%qutebrowser-editor-_57q6nkm new file mode 100644 index 0000000..03da5bb Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-_57q6nkm differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-_l3s6jfv b/legacy/.vimtmp/%tmp%qutebrowser-editor-_l3s6jfv new file mode 100644 index 0000000..69ce945 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-_l3s6jfv differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-_o_6s3tz b/legacy/.vimtmp/%tmp%qutebrowser-editor-_o_6s3tz new file mode 100644 index 0000000..7400619 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-_o_6s3tz differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-_vrdfro8 b/legacy/.vimtmp/%tmp%qutebrowser-editor-_vrdfro8 new file mode 100644 index 0000000..914054b Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-_vrdfro8 differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-aasfseep b/legacy/.vimtmp/%tmp%qutebrowser-editor-aasfseep new file mode 100644 index 0000000..ceb67d8 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-aasfseep differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-aj407hfz b/legacy/.vimtmp/%tmp%qutebrowser-editor-aj407hfz new file mode 100644 index 0000000..86160f3 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-aj407hfz differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-aqrpzylu b/legacy/.vimtmp/%tmp%qutebrowser-editor-aqrpzylu new file mode 100644 index 0000000..5009a38 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-aqrpzylu differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-ciosfgfz b/legacy/.vimtmp/%tmp%qutebrowser-editor-ciosfgfz new file mode 100644 index 0000000..395847b Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-ciosfgfz differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-e61n0dyc b/legacy/.vimtmp/%tmp%qutebrowser-editor-e61n0dyc new file mode 100644 index 0000000..202ffe1 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-e61n0dyc differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-e776ajzh b/legacy/.vimtmp/%tmp%qutebrowser-editor-e776ajzh new file mode 100644 index 0000000..10a7393 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-e776ajzh differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-e_c_3jc4 b/legacy/.vimtmp/%tmp%qutebrowser-editor-e_c_3jc4 new file mode 100644 index 0000000..5460ded Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-e_c_3jc4 differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-edefinie b/legacy/.vimtmp/%tmp%qutebrowser-editor-edefinie new file mode 100644 index 0000000..dc37687 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-edefinie differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-ehb8is3s b/legacy/.vimtmp/%tmp%qutebrowser-editor-ehb8is3s new file mode 100644 index 0000000..4a5d248 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-ehb8is3s differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-fu4qluc9 b/legacy/.vimtmp/%tmp%qutebrowser-editor-fu4qluc9 new file mode 100644 index 0000000..842100d Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-fu4qluc9 differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-gj7_glg5 b/legacy/.vimtmp/%tmp%qutebrowser-editor-gj7_glg5 new file mode 100644 index 0000000..73548be Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-gj7_glg5 differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-jsdxy6nv b/legacy/.vimtmp/%tmp%qutebrowser-editor-jsdxy6nv new file mode 100644 index 0000000..b1be44f Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-jsdxy6nv differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-jxf80cow b/legacy/.vimtmp/%tmp%qutebrowser-editor-jxf80cow new file mode 100644 index 0000000..1e16787 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-jxf80cow differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-kzy7xcr5 b/legacy/.vimtmp/%tmp%qutebrowser-editor-kzy7xcr5 new file mode 100644 index 0000000..c5dd90e Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-kzy7xcr5 differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-maaewbph b/legacy/.vimtmp/%tmp%qutebrowser-editor-maaewbph new file mode 100644 index 0000000..e564445 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-maaewbph differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-n5dvt8tn b/legacy/.vimtmp/%tmp%qutebrowser-editor-n5dvt8tn new file mode 100644 index 0000000..dfe4a5a Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-n5dvt8tn differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-nf1miuwy b/legacy/.vimtmp/%tmp%qutebrowser-editor-nf1miuwy new file mode 100644 index 0000000..d363137 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-nf1miuwy differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-omb7u2ia b/legacy/.vimtmp/%tmp%qutebrowser-editor-omb7u2ia new file mode 100644 index 0000000..6b6e4f7 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-omb7u2ia differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-py310g94 b/legacy/.vimtmp/%tmp%qutebrowser-editor-py310g94 new file mode 100644 index 0000000..48b0cf2 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-py310g94 differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-saarf0wt b/legacy/.vimtmp/%tmp%qutebrowser-editor-saarf0wt new file mode 100644 index 0000000..f38fdd9 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-saarf0wt differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-sqds7nfg b/legacy/.vimtmp/%tmp%qutebrowser-editor-sqds7nfg new file mode 100644 index 0000000..21fe419 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-sqds7nfg differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-squ8uyq7 b/legacy/.vimtmp/%tmp%qutebrowser-editor-squ8uyq7 new file mode 100644 index 0000000..045dac2 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-squ8uyq7 differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-sry2u514 b/legacy/.vimtmp/%tmp%qutebrowser-editor-sry2u514 new file mode 100644 index 0000000..f35dfaa Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-sry2u514 differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-subqc63o b/legacy/.vimtmp/%tmp%qutebrowser-editor-subqc63o new file mode 100644 index 0000000..fb4ab59 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-subqc63o differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-sz6qvqe3 b/legacy/.vimtmp/%tmp%qutebrowser-editor-sz6qvqe3 new file mode 100644 index 0000000..7b03d3e Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-sz6qvqe3 differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-t5x0gn99 b/legacy/.vimtmp/%tmp%qutebrowser-editor-t5x0gn99 new file mode 100644 index 0000000..0f72d17 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-t5x0gn99 differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-td489h8t b/legacy/.vimtmp/%tmp%qutebrowser-editor-td489h8t new file mode 100644 index 0000000..02b5a4e Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-td489h8t differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-teyvepd1 b/legacy/.vimtmp/%tmp%qutebrowser-editor-teyvepd1 new file mode 100644 index 0000000..dae5988 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-teyvepd1 differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-tf3xkib8 b/legacy/.vimtmp/%tmp%qutebrowser-editor-tf3xkib8 new file mode 100644 index 0000000..90ad00c Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-tf3xkib8 differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-tp9s5hzu b/legacy/.vimtmp/%tmp%qutebrowser-editor-tp9s5hzu new file mode 100644 index 0000000..a50cda5 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-tp9s5hzu differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-tua0_4wz b/legacy/.vimtmp/%tmp%qutebrowser-editor-tua0_4wz new file mode 100644 index 0000000..3c2d655 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-tua0_4wz differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-ulbys0gi b/legacy/.vimtmp/%tmp%qutebrowser-editor-ulbys0gi new file mode 100644 index 0000000..6170ec1 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-ulbys0gi differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-vbhyzvyl b/legacy/.vimtmp/%tmp%qutebrowser-editor-vbhyzvyl new file mode 100644 index 0000000..6cda234 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-vbhyzvyl differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-vxlbwsit b/legacy/.vimtmp/%tmp%qutebrowser-editor-vxlbwsit new file mode 100644 index 0000000..c8ef8ea Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-vxlbwsit differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-vymxj0hi b/legacy/.vimtmp/%tmp%qutebrowser-editor-vymxj0hi new file mode 100644 index 0000000..fb508d4 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-vymxj0hi differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-wopva13g b/legacy/.vimtmp/%tmp%qutebrowser-editor-wopva13g new file mode 100644 index 0000000..2337900 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-wopva13g differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-xh06vw_t b/legacy/.vimtmp/%tmp%qutebrowser-editor-xh06vw_t new file mode 100644 index 0000000..af8eb04 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-xh06vw_t differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-yneljjj1 b/legacy/.vimtmp/%tmp%qutebrowser-editor-yneljjj1 new file mode 100644 index 0000000..1e56e0a Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-yneljjj1 differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-yq3yyohr b/legacy/.vimtmp/%tmp%qutebrowser-editor-yq3yyohr new file mode 100644 index 0000000..d72921f Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-yq3yyohr differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-z6_ek5v0 b/legacy/.vimtmp/%tmp%qutebrowser-editor-z6_ek5v0 new file mode 100644 index 0000000..caab4d7 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-z6_ek5v0 differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-za1gy1j4 b/legacy/.vimtmp/%tmp%qutebrowser-editor-za1gy1j4 new file mode 100644 index 0000000..58da465 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-za1gy1j4 differ diff --git a/legacy/.vimtmp/%tmp%qutebrowser-editor-zvjhyfv7 b/legacy/.vimtmp/%tmp%qutebrowser-editor-zvjhyfv7 new file mode 100644 index 0000000..02f1bb8 Binary files /dev/null and b/legacy/.vimtmp/%tmp%qutebrowser-editor-zvjhyfv7 differ diff --git a/legacy/.vimtmp/%tmp%tmp1144_390 b/legacy/.vimtmp/%tmp%tmp1144_390 new file mode 100644 index 0000000..60e26c2 Binary files /dev/null and b/legacy/.vimtmp/%tmp%tmp1144_390 differ diff --git a/legacy/.vimtmp/%tmp%tmp66ndxb91 b/legacy/.vimtmp/%tmp%tmp66ndxb91 new file mode 100644 index 0000000..66a9d2e Binary files /dev/null and b/legacy/.vimtmp/%tmp%tmp66ndxb91 differ diff --git a/legacy/.vimtmp/%tmp%tmph0t6kdoq b/legacy/.vimtmp/%tmp%tmph0t6kdoq new file mode 100644 index 0000000..0f40991 Binary files /dev/null and b/legacy/.vimtmp/%tmp%tmph0t6kdoq differ diff --git a/legacy/.vimtmp/%tmp%tmphqryfyds b/legacy/.vimtmp/%tmp%tmphqryfyds new file mode 100644 index 0000000..3c84e3c Binary files /dev/null and b/legacy/.vimtmp/%tmp%tmphqryfyds differ diff --git a/legacy/.vimtmp/%tmp%tmpnwomdy9d b/legacy/.vimtmp/%tmp%tmpnwomdy9d new file mode 100644 index 0000000..f5ef433 Binary files /dev/null and b/legacy/.vimtmp/%tmp%tmpnwomdy9d differ diff --git a/legacy/.vimtmp/%tmp%tmpvyqu5sa9 b/legacy/.vimtmp/%tmp%tmpvyqu5sa9 new file mode 100644 index 0000000..b1276ce Binary files /dev/null and b/legacy/.vimtmp/%tmp%tmpvyqu5sa9 differ diff --git a/legacy/.vimtmp/%usr%local%bin%pve b/legacy/.vimtmp/%usr%local%bin%pve new file mode 100644 index 0000000..6255460 Binary files /dev/null and b/legacy/.vimtmp/%usr%local%bin%pve differ diff --git a/legacy/.vimtmp/%usr%local%bin%terminal b/legacy/.vimtmp/%usr%local%bin%terminal new file mode 100644 index 0000000..5057b2e Binary files /dev/null and b/legacy/.vimtmp/%usr%local%bin%terminal differ diff --git a/legacy/.vimtmp/%usr%local%src%dwm%.git%COMMIT_EDITMSG b/legacy/.vimtmp/%usr%local%src%dwm%.git%COMMIT_EDITMSG new file mode 100644 index 0000000..c15efe4 Binary files /dev/null and b/legacy/.vimtmp/%usr%local%src%dwm%.git%COMMIT_EDITMSG differ diff --git a/legacy/.vimtmp/%usr%local%src%dwm%README b/legacy/.vimtmp/%usr%local%src%dwm%README new file mode 100644 index 0000000..f8bf718 Binary files /dev/null and b/legacy/.vimtmp/%usr%local%src%dwm%README differ diff --git a/legacy/.vimtmp/%usr%local%src%dwm%config.h b/legacy/.vimtmp/%usr%local%src%dwm%config.h new file mode 100644 index 0000000..d81517d Binary files /dev/null and b/legacy/.vimtmp/%usr%local%src%dwm%config.h differ diff --git a/legacy/.vimtmp/%usr%local%src%dwm%dwm.c b/legacy/.vimtmp/%usr%local%src%dwm%dwm.c new file mode 100644 index 0000000..627dbc9 Binary files /dev/null and b/legacy/.vimtmp/%usr%local%src%dwm%dwm.c differ diff --git a/legacy/.vimtmp/%usr%local%src%st%.gitignore b/legacy/.vimtmp/%usr%local%src%st%.gitignore new file mode 100644 index 0000000..8edcb15 Binary files /dev/null and b/legacy/.vimtmp/%usr%local%src%st%.gitignore differ diff --git a/legacy/.vimtmp/%usr%local%src%st%config.h b/legacy/.vimtmp/%usr%local%src%st%config.h new file mode 100644 index 0000000..2955a33 Binary files /dev/null and b/legacy/.vimtmp/%usr%local%src%st%config.h differ diff --git a/legacy/.vimtmp/%usr%local%src%st%st-pb.diff b/legacy/.vimtmp/%usr%local%src%st%st-pb.diff new file mode 100644 index 0000000..5b33536 Binary files /dev/null and b/legacy/.vimtmp/%usr%local%src%st%st-pb.diff differ diff --git a/legacy/.vimtmp/%usr%local%src%st%st.info b/legacy/.vimtmp/%usr%local%src%st%st.info new file mode 100644 index 0000000..47ec4c8 Binary files /dev/null and b/legacy/.vimtmp/%usr%local%src%st%st.info differ diff --git a/legacy/.vimtmp/%usr%local%src%surf%.gitignore b/legacy/.vimtmp/%usr%local%src%surf%.gitignore new file mode 100644 index 0000000..9e436c5 Binary files /dev/null and b/legacy/.vimtmp/%usr%local%src%surf%.gitignore differ diff --git a/legacy/.vimtmp/.gitkeep b/legacy/.vimtmp/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/legacy/README.md b/legacy/README.md new file mode 100644 index 0000000..99a268b --- /dev/null +++ b/legacy/README.md @@ -0,0 +1,19 @@ +# Legacy Neovim Config Archive + +This folder contains the previous Neovim/Vimscript configuration and related files, archived during Phase 1 of the migration. Nothing here should be modified; use only for reference while rebuilding the new Lua-based setup. + +Archived on: 2025-12-06 + +## Contents archived +- Directories: `after/`, `autoload/`, `bundle/`, `colors/`, `ftdetect/`, `ftplugin/`, `lua/`, `tmpdir/`, `.vimtmp/` +- Files: `init.auto-window.vim`, `init.commands.vim`, `init.fold-text.vim`, `init.full.vim`, `init.plugins.vim`, `init.tabline.vim`, `init.vim`, `init.vscode.vim`, `Session.ts.vim`, `Session.vim`, `postcss.config.js`, `.netrwhist`, `.tags` + +## Kept in place (not archived) +- `undodir/`, `spell/`, `view/`, `UltiSnips/`, `templates/` +- Repo metadata: `.git/`, `.gitignore` +- Migration docs: `AGENTS.md`, `MIGRATION_PLAN.md`, `neovim-migration-guide.md` + +## Notes +- netrw history (`.netrwhist`) was archived since Neo-tree will replace netrw usage. +- Colors and Vimscript `after/` settings were archived to avoid runtimepath collisions with the new config. +- The old `lua/` directory was archived to ensure a clean rebuild of the Lua modules using the new structure and lazy.nvim. diff --git a/legacy/Session.ts.vim b/legacy/Session.ts.vim new file mode 100644 index 0000000..c66c0f5 --- /dev/null +++ b/legacy/Session.ts.vim @@ -0,0 +1,149 @@ +let SessionLoad = 1 +let s:so_save = &g:so | let s:siso_save = &g:siso | setg so=0 siso=0 | setl so=-1 siso=-1 +let v:this_session=expand(":p") +silent only +silent tabonly +cd ~/.config/nvim +if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == '' + let s:wipebuf = bufnr('%') +endif +set shortmess=aoO +badd +36 init.tabline.vim +badd +22 init.auto-window.vim +badd +1 coc-settings.json +badd +184 init.vim +badd +1 ftplugin/php.vim +badd +2 after/ftplugin/php.vim +badd +1 after/ftplugin/html.vim +badd +1 after/ftplugin/javascript.vim +badd +8 after/ftplugin/python.vim +badd +1 after/ftplugin/sass.vim +badd +1 after/ftplugin/vim.vim +badd +1 ftplugin/vue.vim +badd +1 ftplugin/sass.vim +badd +1 ftplugin/javascript.vim +badd +1 ftplugin/css.vim +badd +50 init.plugins.vim +badd +1 after/indent/php.vim +badd +10 init.commands.vim +badd +7 lua/init-plugins.lua +badd +1 after/queries/ecma/highlights.scm +badd +16 after/queries/html/highlights.scm +badd +2 after/queries/css/highlights.scm +argglobal +%argdel +$argadd init.tabline.vim +edit after/queries/css/highlights.scm +let s:save_splitbelow = &splitbelow +let s:save_splitright = &splitright +set splitbelow splitright +wincmd _ | wincmd | +vsplit +1wincmd h +wincmd _ | wincmd | +split +1wincmd k +wincmd w +wincmd w +let &splitbelow = s:save_splitbelow +let &splitright = s:save_splitright +wincmd t +let s:save_winminheight = &winminheight +let s:save_winminwidth = &winminwidth +set winminheight=0 +set winheight=1 +set winminwidth=0 +set winwidth=1 +exe '1resize ' . ((&lines * 22 + 25) / 50) +exe 'vert 1resize ' . ((&columns * 103 + 105) / 211) +exe '2resize ' . ((&lines * 22 + 25) / 50) +exe 'vert 2resize ' . ((&columns * 103 + 105) / 211) +exe 'vert 3resize ' . ((&columns * 107 + 105) / 211) +argglobal +balt after/queries/html/highlights.scm +setlocal fdm=indent +setlocal fde=0 +setlocal fmr={{{,}}} +setlocal fdi=# +setlocal fdl=99 +setlocal fml=1 +setlocal fdn=9 +setlocal fen +let s:l = 3 - ((2 * winheight(0) + 11) / 22) +if s:l < 1 | let s:l = 1 | endif +keepjumps exe s:l +normal! zt +keepjumps 3 +normal! 023| +lcd ~/.config/nvim +wincmd w +argglobal +if bufexists("/usr/share/nvim/runtime/doc/treesitter.txt") | buffer /usr/share/nvim/runtime/doc/treesitter.txt | else | edit /usr/share/nvim/runtime/doc/treesitter.txt | endif +if &buftype ==# 'terminal' + silent file /usr/share/nvim/runtime/doc/treesitter.txt +endif +setlocal fdm=manual +setlocal fde=0 +setlocal fmr={{{,}}} +setlocal fdi=# +setlocal fdl=99 +setlocal fml=1 +setlocal fdn=9 +setlocal nofen +silent! normal! zE +let &fdl = &fdl +let s:l = 196 - ((5 * winheight(0) + 11) / 22) +if s:l < 1 | let s:l = 1 | endif +keepjumps exe s:l +normal! zt +keepjumps 196 +normal! 050| +lcd ~/.config/nvim +wincmd w +argglobal +if bufexists("~/.config/nvim/after/indent/php.vim") | buffer ~/.config/nvim/after/indent/php.vim | else | edit ~/.config/nvim/after/indent/php.vim | endif +if &buftype ==# 'terminal' + silent file ~/.config/nvim/after/indent/php.vim +endif +setlocal fdm=marker +setlocal fde=0 +setlocal fmr={{{,}}} +setlocal fdi=# +setlocal fdl=99 +setlocal fml=1 +setlocal fdn=9 +setlocal fen +let s:l = 4 - ((3 * winheight(0) + 22) / 45) +if s:l < 1 | let s:l = 1 | endif +keepjumps exe s:l +normal! zt +keepjumps 4 +normal! 03| +lcd ~/.config/nvim +wincmd w +exe '1resize ' . ((&lines * 22 + 25) / 50) +exe 'vert 1resize ' . ((&columns * 103 + 105) / 211) +exe '2resize ' . ((&lines * 22 + 25) / 50) +exe 'vert 2resize ' . ((&columns * 103 + 105) / 211) +exe 'vert 3resize ' . ((&columns * 107 + 105) / 211) +if exists(':tcd') == 2 | tcd ~/.config/nvim | endif +tabnext 1 +if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0&& getbufvar(s:wipebuf, '&buftype') isnot# 'terminal' + silent exe 'bwipe ' . s:wipebuf +endif +unlet! s:wipebuf +set winheight=1 winwidth=20 shortmess=aoOT +let &winminheight = s:save_winminheight +let &winminwidth = s:save_winminwidth +let s:sx = expand(":p:r")."x.vim" +if filereadable(s:sx) + exe "source " . fnameescape(s:sx) +endif +let &g:so = s:so_save | let &g:siso = s:siso_save +set hlsearch +let g:this_session = v:this_session +let g:this_obsession = v:this_session +let g:this_obsession_status = 2 +doautoall SessionLoadPost +unlet SessionLoad +" vim: set ft=vim : diff --git a/legacy/after/ftplugin/help.vim b/legacy/after/ftplugin/help.vim new file mode 100644 index 0000000..aa798a4 --- /dev/null +++ b/legacy/after/ftplugin/help.vim @@ -0,0 +1 @@ +nmap q :q diff --git a/legacy/after/ftplugin/html.vim b/legacy/after/ftplugin/html.vim new file mode 100644 index 0000000..a06a63b --- /dev/null +++ b/legacy/after/ftplugin/html.vim @@ -0,0 +1 @@ +setlocal foldnestmax=5 diff --git a/legacy/after/ftplugin/javascript.vim b/legacy/after/ftplugin/javascript.vim new file mode 100644 index 0000000..101be7c --- /dev/null +++ b/legacy/after/ftplugin/javascript.vim @@ -0,0 +1,107 @@ +" https://gist.github.com/romainl/1f50c55b0ee92e5420de51e6c4b38491 + +nnoremap cF :call CocAction('runCommand', 'eslint.executeAutofix') + +setlocal includeexpr=RESOLVE(v:fname) + +function! RESOLVE(module) abort + let built_ins = [ + \ "assert", + \ "async_hooks", + \ "child_process", + \ "cluster", + \ "crypto", + \ "dns", + \ "domain", + \ "events", + \ "fs", + \ "http", + \ "http2", + \ "https", + \ "inspector", + \ "net", + \ "os", + \ "path", + \ "perf_hooks", + \ "punycode", + \ "querystring", + \ "readline", + \ "stream", + \ "string_decoder", + \ "tls", + \ "tty", + \ "dgram", + \ "url", + \ "util", + \ "v8", + \ "vm", + \ "zlib" ] + + " There's no source file for built-in node modules. + " Example: var http = require('http'); + if index(built_ins, a:module) != -1 + return 0 + endif + + " Handling absolute and relative paths. + " Example: var foo = require('./foo.js'); + if a:module =~ '^\/' || a:module =~ '^\.\{1,2}\/' + let root = fnamemodify(substitute(finddir("node_modules", ".;"), '/node_modules', '', ''), ':p:h:h') + if a:module =~ '^\.\{1,2}\/' + let module = substitute(a:module, '^\.\{1,2}\/', '', '') + endif + + let filename = 0 + try + let filename = findfile(module, root) + catch + try + let filename = findfile(module . ".js", root) + catch + try + let filename = findfile(module . "/index.js", root) + catch + let filename = 0 + endtry + endtry + endtry + + return filename + endif + + " Handling vendored-in modules. + " Example: var _ = require('lodash'); + for dir in NODE_MODULES_PATHS() + " require('module') => node_modules/module/package.json#main => node_modules/module/**/... + if filereadable(dir . "/" . a:module . "/package.json") + let package = json_decode(join(readfile(dir . "/" . a:module . "/package.json"))) + return dir . "/" . a:module . "/" . substitute(get(package, "main", "index.js"), '^\.\{1,2}\/', '', '') + endif + + " require('module') => node_modules/module/index.js + if filereadable(dir . "/" . a:module . "/index.js") + return dir . "/" . a:module . "/index.js" + endif + + " require('module') => node_modules/module.js + if filereadable(dir . "/" . a:module . ".js") + return dir . "/" . a:module . ".js" + endif + endfor + + " well, well, well + return 0 +endfunction + +function! NODE_MODULES_PATHS() abort + " node_modules/ + let node_modules = finddir("node_modules", ".;") + + " node_modules/foo/node_modules/ + let basic_dirs = extend([node_modules], globpath(node_modules, "*/node_modules", 1, 1)) + + " node_modules/@foo/bar/node_modules/ + let all_dirs = extend(basic_dirs, globpath(node_modules, "@*/*/node_modules", 1, 1)) + + return all_dirs +endfunction diff --git a/legacy/after/ftplugin/netrw.vim b/legacy/after/ftplugin/netrw.vim new file mode 100644 index 0000000..6864fbc --- /dev/null +++ b/legacy/after/ftplugin/netrw.vim @@ -0,0 +1 @@ +setl bufhidden=hide diff --git a/legacy/after/ftplugin/php.vim b/legacy/after/ftplugin/php.vim new file mode 100644 index 0000000..9787fb3 --- /dev/null +++ b/legacy/after/ftplugin/php.vim @@ -0,0 +1,2 @@ +setlocal iskeyword+=$ +setlocal autoindent diff --git a/legacy/after/ftplugin/python.vim b/legacy/after/ftplugin/python.vim new file mode 100644 index 0000000..de126ac --- /dev/null +++ b/legacy/after/ftplugin/python.vim @@ -0,0 +1,11 @@ +setlocal tabstop=4 + +setlocal textwidth=88 + +setlocal foldmethod=indent +setlocal foldnestmax=1 + +setlocal colorcolumn=88 + +noremap :w:silent !clear;python % :redraw! +nnoremap :call SaveAndExecute('python') diff --git a/legacy/after/ftplugin/qf.vim b/legacy/after/ftplugin/qf.vim new file mode 100644 index 0000000..78fb903 --- /dev/null +++ b/legacy/after/ftplugin/qf.vim @@ -0,0 +1,2 @@ +nmap o +nmap q :q diff --git a/legacy/after/ftplugin/sass.vim b/legacy/after/ftplugin/sass.vim new file mode 100644 index 0000000..d19ac0e --- /dev/null +++ b/legacy/after/ftplugin/sass.vim @@ -0,0 +1 @@ +setlocal includeexpr=substitute(substitute(substitute(v:fname,'\%(.*/\|^\)\zs','_',''),'^[\\~@]\/','./',''),'^[\\~@]','./node_modules/','') diff --git a/legacy/after/ftplugin/vim.vim b/legacy/after/ftplugin/vim.vim new file mode 100644 index 0000000..57b1e2e --- /dev/null +++ b/legacy/after/ftplugin/vim.vim @@ -0,0 +1,2 @@ +setlocal foldmethod=marker + diff --git a/legacy/after/indent/php.vim b/legacy/after/indent/php.vim new file mode 100644 index 0000000..2d98542 --- /dev/null +++ b/legacy/after/indent/php.vim @@ -0,0 +1,4 @@ +" https://github.com/nvim-treesitter/nvim-treesitter/issues/462#issuecomment-700278736 +setlocal indentexpr = +setlocal autoindent +setlocal smartindent diff --git a/legacy/after/queries/css/highlights.scm b/legacy/after/queries/css/highlights.scm new file mode 100644 index 0000000..7fa2000 --- /dev/null +++ b/legacy/after/queries/css/highlights.scm @@ -0,0 +1,18 @@ +(id_selector (id_name) @CssIdentifier) +(id_selector (id_name)) @CssIdSelector +(tag_name) @HtmlTagName + +(class_selector (class_name) @CssClassName) +(selectors (pseudo_class_selector (class_name) @cssPseudoClass)) +(nesting_selector) @cssNestingSelector + +; need to find out how to make this more specific? +(universal_selector) @CssUniversalSelector + +((property_name) (_)) @CssProp + +(unit) @CssUnit + +(declaration (property_name) (_) @CssPropertyValue) + +(media_statement (feature_query (feature_name) @cssMediaFeatureName (_ (unit) @cssMediaQueryValueUnit) @cssMediaQueryValue) @cssMediaQuery) diff --git a/legacy/after/queries/html/highlights.scm b/legacy/after/queries/html/highlights.scm new file mode 100644 index 0000000..2b752d4 --- /dev/null +++ b/legacy/after/queries/html/highlights.scm @@ -0,0 +1,17 @@ +(start_tag + (attribute + (attribute_name) @ClassNameAttribute (#eq? @ClassNameAttribute "class") + (quoted_attribute_value + (attribute_value) @CssClassName ))) + +(start_tag + (attribute + (attribute_name) @IdAttribute (#eq? @IdAttribute "id") + (quoted_attribute_value + (attribute_value) @CssIdentifier ))) + +(start_tag + (attribute + (attribute_name) @DataAttribute (#match? @DataAttribute "^data-") + (quoted_attribute_value + (attribute_value) @DataAttributeValue ))) diff --git a/legacy/colors/README.txt b/legacy/colors/README.txt new file mode 100644 index 0000000..8fa6f32 --- /dev/null +++ b/legacy/colors/README.txt @@ -0,0 +1,79 @@ +README.txt for color scheme files + +These files are used for the ":colorscheme" command. They appear in the +Edit/Color Scheme menu in the GUI. + + +Hints for writing a color scheme file: + +There are two basic ways to define a color scheme: + +1. Define a new Normal color and set the 'background' option accordingly. + set background={light or dark} + highlight clear + highlight Normal ... + ... + +2. Use the default Normal color and automatically adjust to the value of + 'background'. + highlight clear Normal + set background& + highlight clear + if &background == "light" + highlight Error ... + ... + else + highlight Error ... + ... + endif + +You can use ":highlight clear" to reset everything to the defaults, and then +change the groups that you want differently. This also will work for groups +that are added in later versions of Vim. +Note that ":highlight clear" uses the value of 'background', thus set it +before this command. +Some attributes (e.g., bold) might be set in the defaults that you want +removed in your color scheme. Use something like "gui=NONE" to remove the +attributes. + +In case you want to set 'background' depending on the colorscheme selected, +this autocmd might be useful: + autocmd SourcePre */colors/blue_sky.vim set background=dark +Replace "blue_sky" with the name of the colorscheme. + +In case you want to tweak a colorscheme after it was loaded, check out the +ColorScheme autocmd event. + +To customize a colorscheme use another name, e.g. "~/.vim/colors/mine.vim", +and use `:runtime` to load the original colorscheme: + " load the "evening" colorscheme + runtime colors/evening.vim + " change the color of statements + hi Statement ctermfg=Blue guifg=Blue + +To see which highlight group is used where, find the help for +"highlight-groups" and "group-name". + +You can use ":highlight" to find out the current colors. Exception: the +ctermfg and ctermbg values are numbers, which are only valid for the current +terminal. Use the color names instead. See ":help cterm-colors". + +The default color settings can be found in the source file src/syntax.c. +Search for "highlight_init". + +If you think you have a color scheme that is good enough to be used by others, +please check the following items: + +- Does it work in a color terminal as well as in the GUI? +- Is "g:colors_name" set to a meaningful value? In case of doubt you can do + it this way: + let g:colors_name = expand(':t:r') +- Is 'background' either used or appropriately set to "light" or "dark"? +- Try setting 'hlsearch' and searching for a pattern, is the match easy to + spot? +- Split a window with ":split" and ":vsplit". Are the status lines and + vertical separators clearly visible? +- In the GUI, is it easy to find the cursor, also in a file with lots of + syntax highlighting? +- Do not use hard coded escape sequences, these will not work in other + terminals. Always use color names or #RRGGBB for the GUI. diff --git a/legacy/ftdetect/astro.vim b/legacy/ftdetect/astro.vim new file mode 100644 index 0000000..4fe142e --- /dev/null +++ b/legacy/ftdetect/astro.vim @@ -0,0 +1 @@ +autocmd BufRead,BufEnter *.astro set filetype=astro diff --git a/legacy/ftplugin/css.vim b/legacy/ftplugin/css.vim new file mode 100644 index 0000000..df4fe48 --- /dev/null +++ b/legacy/ftplugin/css.vim @@ -0,0 +1 @@ +setlocal iskeyword+=- diff --git a/legacy/ftplugin/eruby.vim b/legacy/ftplugin/eruby.vim new file mode 100644 index 0000000..3211e37 --- /dev/null +++ b/legacy/ftplugin/eruby.vim @@ -0,0 +1,2 @@ +nnoremap :call ft#compileeruby#CompileEruby(0) +nnoremap :call ft#compileeruby#CompileEruby(1) diff --git a/legacy/ftplugin/fish.vim b/legacy/ftplugin/fish.vim new file mode 100644 index 0000000..0528a65 --- /dev/null +++ b/legacy/ftplugin/fish.vim @@ -0,0 +1 @@ +:compiler fish diff --git a/legacy/ftplugin/help.vim b/legacy/ftplugin/help.vim new file mode 100644 index 0000000..24dd22c --- /dev/null +++ b/legacy/ftplugin/help.vim @@ -0,0 +1 @@ +setlocal keywordprg=:help diff --git a/legacy/ftplugin/html.vim b/legacy/ftplugin/html.vim new file mode 100644 index 0000000..e69de29 diff --git a/legacy/ftplugin/javascript.vim b/legacy/ftplugin/javascript.vim new file mode 100644 index 0000000..fc6035c --- /dev/null +++ b/legacy/ftplugin/javascript.vim @@ -0,0 +1 @@ +setlocal iskeyword+=$ diff --git a/legacy/ftplugin/markdown.vim b/legacy/ftplugin/markdown.vim new file mode 100644 index 0000000..fedb364 --- /dev/null +++ b/legacy/ftplugin/markdown.vim @@ -0,0 +1,20 @@ +setlocal spell + +" markdown : jump to next heading +" https://gist.github.com/romainl/ac63e108c3d11084be62b3c04156c263 +function! s:JumpToNextHeading(direction, count) + let col = col(".") + + silent execute a:direction == "up" ? '?^#' : '/^#' + + if a:count > 1 + silent execute "normal! " . repeat("n", a:direction == "up" && col != 1 ? a:count : a:count - 1) + endif + + silent execute "normal! " . col . "|" + + unlet col +endfunction + +nnoremap ]] :call JumpToNextHeading("down", v:count1) +nnoremap [[ :call JumpToNextHeading("up", v:count1) diff --git a/legacy/ftplugin/octobercms.vim b/legacy/ftplugin/octobercms.vim new file mode 100644 index 0000000..6335705 --- /dev/null +++ b/legacy/ftplugin/octobercms.vim @@ -0,0 +1,8 @@ +function! StripSpecialM() abort + :%s/ $//e +endfunction + +augroup RemoveSpecialM + autocmd BufWritePre call StripSpecialM() +augroup END + diff --git a/legacy/ftplugin/ruby.vim b/legacy/ftplugin/ruby.vim new file mode 100644 index 0000000..2313f49 --- /dev/null +++ b/legacy/ftplugin/ruby.vim @@ -0,0 +1,2 @@ +nnoremap :call SaveAndExecute('ruby') + diff --git a/legacy/ftplugin/sass.vim b/legacy/ftplugin/sass.vim new file mode 100644 index 0000000..fc6035c --- /dev/null +++ b/legacy/ftplugin/sass.vim @@ -0,0 +1 @@ +setlocal iskeyword+=$ diff --git a/legacy/ftplugin/sh.vim b/legacy/ftplugin/sh.vim new file mode 100644 index 0000000..2151ea5 --- /dev/null +++ b/legacy/ftplugin/sh.vim @@ -0,0 +1,2 @@ +setlocal makeprg=shellcheck\ -f\ gcc\ % +nnoremap :w !sh diff --git a/legacy/ftplugin/vim.vim b/legacy/ftplugin/vim.vim new file mode 100644 index 0000000..385d996 --- /dev/null +++ b/legacy/ftplugin/vim.vim @@ -0,0 +1,4 @@ +setlocal keywordprg=:help +setlocal iskeyword+=: + +nnoremap :w \| source % diff --git a/legacy/ftplugin/vue.vim b/legacy/ftplugin/vue.vim new file mode 100644 index 0000000..5325c8c --- /dev/null +++ b/legacy/ftplugin/vue.vim @@ -0,0 +1,8 @@ +setlocal includeexpr=substitute(substitute(v:fname,'^[\\~@]\/','./',''),'^[\\~@]','./node_modules/','') + +setlocal suffixesadd=.js,.vue,.scss +setlocal complete=.,w,b,u,i + +setlocal include=\\%(\\[^;\"']*\\)[\"']\\zs[^\"']* + +setlocal foldnestmax=3 diff --git a/legacy/init.auto-window.vim b/legacy/init.auto-window.vim new file mode 100644 index 0000000..c587477 --- /dev/null +++ b/legacy/init.auto-window.vim @@ -0,0 +1,34 @@ +"auto_window_settings {{{ +function! OnWinEnter() abort"{{{ + if &buftype != '' + setlocal colorcolumn=0 + elseif exists('b:colorcolumn_restore') + execute 'setlocal colorcolumn=' . b:colorcolumn_restore + endif + if &buftype == 'terminal' + setlocal nonumber norelativenumber + else + setlocal number relativenumber + endif + setlocal cursorline + setlocal cursorcolumn +endfunction + +"}}} +function! OnWinLeave() abort"{{{ + let b:colorcolumn_restore = &colorcolumn + setlocal colorcolumn=0 + setlocal nocursorline + setlocal nocursorcolumn + setlocal norelativenumber +endfunction + +"}}} +augroup auto_window_settings "{{{ + autocmd! + autocmd WinEnter * call OnWinEnter() + autocmd WinLeave * call OnWinLeave() +augroup END +"}}} augroup auto_window_settings +" }}} auto_window_settings + diff --git a/legacy/init.commands.vim b/legacy/init.commands.vim new file mode 100644 index 0000000..418e83d --- /dev/null +++ b/legacy/init.commands.vim @@ -0,0 +1,27 @@ +" SpacesToTabs {{{ +" TODO - ake a proper regex substitution +function! s:spacestotabs() + %s/^ / /e + %s/^ / /e + %s/^ / /e + %s/^ / /e + %s/^ / /e + %s/^ / /e +endfunction +command SpacesToTabs call s:spacestotabs() + + +"}}} +" TrimWhitespace {{{ +command! -range=% TrimWhitespace let b:wv = winsaveview() | + \ keeppattern ,s/\s\+$// | + \ call winrestview(b:wv) + + +"}}} +" Scratch, ScratchVertical {{{ +command! Scratch new | setlocal buftype=nofile | setlocal bufhidden=hide | setlocal noswapfile +command! ScratchVertical vnew | setlocal buftype=nofile | setlocal bufhidden=hide | setlocal noswapfile +"}}} +" +" diff --git a/legacy/init.fold-text.vim b/legacy/init.fold-text.vim new file mode 100644 index 0000000..a8994b1 --- /dev/null +++ b/legacy/init.fold-text.vim @@ -0,0 +1,52 @@ +function! MyFoldText() + if !exists('g:foldtext_column') + let g:foldtext_column = 80 " column to right align foldtext with + endif + + if !exists('b:foldtext_column') + let b:foldtext_column = g:foldtext_column " column to right align foldtext with + endif + + if !exists('g:foldtext_maxcolumn') + let g:foldtext_maxcolumn = 120 + endif + + let l:linecount = v:foldend - v:foldstart + " don't display foldmarker braces + " put one of the braces in brackets so vim doesn't treat + " it as an actual fold marker + let l:line = substitute(getline(v:foldstart), '"\?{\({\){', '', '') + " don't display vim comment quotation marks + " TODO other comment markers + let l:line = substitute(l:line, "\^\"\\s\\?", '', '') + " TODO replace spaces with tabs if appropriate + + " replace tabs with spaces if expandtab + if &expandtab == 0 + let l:tabwidth = &tabstop + let l:tabspace = ' '[1:l:tabwidth] + let l:line = substitute(l:line, ' ', l:tabspace, 'g') + endif + + " let l:postfix = l:linecount . ' ' . substitute(v:folddashes, '-', '•', 'g') + let l:postfix = l:linecount . ' ' . substitute(v:folddashes, '-', '↓', 'g') + while strchars(l:postfix) < 7 + let l:postfix = ' ' . l:postfix + endwhile + " let l:postfix = ' ↓ ' . l:postfix + + let l:len_line = len(l:line) + let l:len_postfix = strchars(l:postfix) + + if l:len_line + l:len_postfix <= b:foldtext_column + let l:padding = ' '[l:len_line + l:len_postfix + 0:b:foldtext_column - 1] + let l:foldtext = l:line . l:padding . l:postfix + else + let l:sniptext = ' ⋯' + let l:foldtext = l:line[:b:foldtext_column - 1 - strchars(l:sniptext) - l:len_postfix] . l:sniptext . l:postfix + endif + + return l:foldtext +endfunction + +set foldtext=MyFoldText() diff --git a/legacy/init.full.vim b/legacy/init.full.vim new file mode 100644 index 0000000..dd80039 --- /dev/null +++ b/legacy/init.full.vim @@ -0,0 +1,434 @@ +" set ruby program to global one. Need to investigate if this will cause +" problems if I ever use ruby virtual environments or RVM or similar. +let g:ruby_host_prog = '~/.gem/ruby/2.7.0/bin/neovim-ruby-host' + +source ~/.config/nvim/init.plugins.vim +source ~/.config/nvim/init.tabline.vim +source ~/.config/nvim/init.auto-window.vim +source ~/.config/nvim/init.fold-text.vim +source ~/.config/nvim/init.commands.vim +" +" require lua init modules +lua <SynStack()"{{{ + if !exists('*synstack') + return + endif + echo map(synstack(line('.'), col('.')), 'synIDattr(v:val,"name")') '-> ' . synIDattr(synIDtrans(synID(line('.'),col('.'),1)), 'name' ) +endfunc +" nmap pp :call SynStack() +nmap pp :TSHighlightCapturesUnderCursor +"}}} +function! s:RunShellCommand(cmdline) abort"{{{ + " Shell command + " http://vim.wikia.com/wiki/VimTip1599 + + let l:expanded_cmdline = a:cmdline + for l:part in split(a:cmdline, ' ') + if l:part[0] =~ '\v[%#<]' + let l:expanded_part = fnameescape(expand(l:part)) + let l:expanded_cmdline = substitute(l:expanded_cmdline, l:part, l:expanded_part, '') + endif + endfor + + if g:shell_scratch_buffer_nr > -1 + let l:win_nr = bufwinnr(g:shell_scratch_buffer_nr) + if l:win_nr < 0 + execute 'bdelete' g:shell_scratch_buffer_nr + top new + let g:shell_scratch_buffer_nr = bufnr('%') + else + execute l:win_nr. ' wincmd w' + setlocal modifiable + %delete _ + endif + else + top new + let g:shell_scratch_buffer_nr = bufnr('%') + endif + + setlocal buftype=nofile bufhidden=wipe nobuflisted noswapfile nowrap + nnoremap q :bdelete + augroup ResetShellBufferNr + autocmd! * + autocmd BufUnload let g:shell_scratch_buffer_nr = -1 + augroup END + + " call setline(1, 'You entered: ' . a:cmdline) + " call setline(2, 'Expanded Form: ' .l:expanded_cmdline) + " call setline(3,substitute(getline(2),'.','=','g')) + execute '$read !'. l:expanded_cmdline + 1 + + setlocal nomodifiable + if !exists('b:shell_line_count') + let b:shell_line_count = line('$') + if b:shell_line_count > 25 + let b:shell_line_count = 20 + endif + execute 'resize' b:shell_line_count + 1 + endif + + wincmd p +endfunction + +command! -complete=shellcmd -nargs=+ Shell call s:RunShellCommand() +let g:shell_scratch_buffer_nr = -1 + +"}}} +function! SaveAndExecute(ex_command) abort "{{{ + " https://stackoverflow.com/a/40195855 + " ex_command: command to run to execute file + " SOURCE [reusable window]: https://github.com/fatih/vim-go/blob/master/autoload/go/ui.vim + + " save and reload current file + silent execute 'update | edit' + + " get file path of current file + let s:current_buffer_file_path = expand('%') + + let s:output_buffer_name = 'Output' + let s:output_buffer_filetype = 'output' + + " reuse existing buffer window if it exists otherwise create a new one + if !exists('c:buf_nr') || !bufexists(s:buf_nr) || bufwinnr(s:buf_nr) == -1 + silent execute 'top new ' . s:output_buffer_name + let s:buf_nr = bufnr('%') + elseif bufwinnr(s:buf_nr) != bufwinnr('%') + silent execute bufwinnr(s:buf_nr) . 'wincmd w' + endif + + silent execute 'setlocal filetype=' . s:output_buffer_filetype + setlocal bufhidden=delete + setlocal buftype=nofile + setlocal noswapfile + setlocal nobuflisted + setlocal winfixheight + setlocal cursorline " make it easy to distinguish + " setlocal nonumber + " setlocal norelativenumber + setlocal showbreak="" + + nnoremap q :bdelete!'.zz + + " clear the buffer + setlocal noreadonly + " setlocal modifiable + %delete _ + + " add the console output + silent execute '.!'. a:ex_command . ' ' . shellescape(s:current_buffer_file_path, 1) + + " resize window to content length + " Note: This is annoying because if you print a lot of lines then your code buffer is forced to a height of one line every time you run this function. + " However without this line the buffer starts off as a default size and if you resize the buffer then it keeps that custom size after repeated runs of this function. + " But if you close the output buffer then it returns to using the default size when its recreated + "execute 'resize' . line('$') + + " make the buffer non modifiable + setlocal readonly + " setlocal nomodifiable +endfunction + +"}}} +function! JsIncludeExpr(file)"{{{ + " substitute(substitute(v:fname,'^[\\~@]\/','./',''),'^[\\~@]','./node_modules/','') + return substitute(substitute(a:file,'^[\\~@]\/','./',''),'^[\\~@]','./node_modules/','') + +endfunction + +"}}} +function! Redir(cmd) "{{{ + for win in range(1, winnr('$')) + if getwinvar(win, 'scratch') + execute win . 'windo close' + endif + endfor + if a:cmd =~ '^!' + let output = system(matchstr(a:cmd, '^!\zs.*')) + else + redir => output + execute a:cmd + redir END + endif + vnew + let w:scratch = 1 + setlocal buftype=nofile bufhidden=wipe nobuflisted noswapfile + call setline(1, split(output, "\n")) +endfunction + +command! -nargs=1 -complete=command Redir silent call Redir() +" Usage: +" :Redir hi ............. show the full output of command ':hi' in a scratch window +" :Redir !ls -al ........ show the full output of command ':!ls -al' in a scratch window +"}}} +"}}} +function! ToggleHighlights() abort "{{{ + if ! exists('b:toggle_highlights_state') + " state 1 is normal, state 0 is faded + let b:toggle_highlights_state = 1 + else + let b:toggle_highlights_state = ! b:toggle_highlights_state + endif + + if b:toggle_highlights_state == 1 + hi! link Comment None + else + hi! link Comment CommentDim + endif +endfunction +"}}} +"----------------------------------------------------------------------------}}} +" #settings {{{ + +scriptencoding utf-8 +set ttyfast + +set dictionary=spell +" set thesaurus+=/usr/share/dict/mthesaur.txt +augroup Dictionary + au! + au FileType markdown,text setlocal dictionary=/usr/share/dict/aspell-dump.txt +augroup END + +" disable background color erase +" https://sunaku.github.io/vim-256color-bce.html +set t_ut= + +syntax on +set fillchars=stl:\ ,stlnc:\ ,vert:\|,fold:\ + +set guioptions-=mTrLb +" set guioptions+=c + +if exists('+termguicolors') + let &t_8f = "\[38;2;%lu;%lu;%lum" + let &t_8b = "\[48;2;%lu;%lu;%lum" + set termguicolors +endif + +colorscheme paper-tonic + +set updatetime=100 +set timeoutlen=500 +set lazyredraw + +" https://parceljs.org/hmr.html#safe-write +set backupcopy=yes + +set title + +" the ;/home/* tells vim to stop searching at /home/* (I hope!) +set tags=./.tags,.tags,./tags-external,.tags-external;/home/* + +" persisitent undo file +set undofile +set undodir=~/.config/nvim/undodir +set backupdir=~/.nvim/tmpdir +set directory=~/.nvim/tmpdir + +set viewoptions-=options + +set nosplitbelow nosplitright +set switchbuf=uselast + +set ignorecase +set smartcase + +set wildmenu +set wildmode=longest:full,full +set wildignore+=**/node_modules/**,**/dist/**,**/.git/**,**/build/** + +" Use ag over grep +if executable('ag') + set grepprg=ag\ --nogroup\ --nocolor\ --ignore\ node_modules +endif + +set hidden + +set hlsearch + +set completeopt=menuone,noselect + +set nospell +set spelllang=en_gb + +set diffopt+=vertical + +let g:tex_flavor = 'latex' + +set rnu nu + +set tabstop=2 +set softtabstop=-1 +set shiftwidth=0 +set shiftround +set noexpandtab + +set autoindent +set breakindent +set showbreak=\ \ ↳\ + +set formatoptions=cq +set wrapmargin=0 + +setlocal cursorline + +set foldcolumn=0 +set signcolumn=yes +set colorcolumn=80,120 + +set iskeyword+=- +set scrolloff=4 +set scrolljump=4 +set showcmd + +set incsearch +set inccommand=nosplit + +set laststatus=2 +set shortmess=aoOT +set cmdheight=3 + +set foldnestmax=9 +set foldlevelstart=99 + +set showmode + +set mouse=a + +let g:netrw_preview = 1 + +set listchars=eol:¬,tab:│\ ,trail:~,extends:>,precedes:<,space:· +set fillchars=stl:\ ,stlnc:\ ,vert:┃,fold:\ + +set statusline=\ +" buffer number +set statusline+=[%n]\ \ +" line of total_lines and percentage through file +set statusline+=%-20(%l\ of\ %L\ (%p%%)%) +" column, virtual column +set statusline+=%-10(:%c\ %((%V)%)%) +" separator, highlight color +set statusline+=%=%#StatusLineNC# +" CoC status +if exists('*coc#exists') + set statusline+=%{coc#status()} +endif +" separator +set statusline+=%=%#StatusLine# +set statusline+=%y\ +set statusline+=%r\ %m\ +set statusline+=%{&buftype==''?expand('%f'):''} +set statusline+=\ + +set conceallevel=0 +"----------------------------------------------------------------------------}}} +" #mappings {{{ +let g:mapleader = ' ' +" miscallaneous {{{ +nnoremap l :colorscheme paper-tonic +nnoremap d :colorscheme monotonous-dark +nnoremap 0 ^ +nnoremap cs :let @/="" +nnoremap nh (&hls && v:hlsearch ? ':nohls' : ':set hls')."\n" +" Focus on current fold, close the rest +nnoremap zz zMzvzt +" open quickfix window of TODOs +nnoremap td :grep -RE '(TODO\\|FIXME)' .:botright cwindow:echo len(getqflist()) 'TODOs' +" sync highlighting from start + +"}}} +" location list and quickfix mappings {{{ +nnoremap lo :botright lwindow +nnoremap :lprevzv +nnoremap :lnextzv +nnoremap lc :lclose +nnoremap lh :lhistory +nnoremap lp :lolder +nnoremap ln :lnewer + +nnoremap qo :botright cwindow +nnoremap :cprevzv +nnoremap :cnextzv +nnoremap qc :cclose +nnoremap qh :chistory +nnoremap qp :colder +nnoremap qn :cnewer + +nnoremap qt :tabnew \| cwindow + +"}}} +"----------------------------------------------------------------------------}}} +" #abbreviations {{{ + +iabbrev adn and +iabbrev waht what +iabbrev tehn then +iabbrev functin function +iabbrev positin position + +"----------------------------------------------------------------------------}}} +" #autocommands {{{ + +" template files {{{ +augroup Templates + autocmd! + autocmd BufNewFile *.sh 0read ~/.config/nvim/templates/template.sh | normal G + autocmd BufNewFile *.html 0read ~/.config/nvim/templates/template.html | normal gg + autocmd BufNewFile *.css 0read ~/.config/nvim/templates/template.css | normal G + autocmd BufNewFile *.scss 0read ~/.config/nvim/templates/template.css | normal G +augroup END + +" }}} +" persistent folds {{{ +augroup AutoSaveFolds + autocmd! + autocmd BufWrite ?* mkview + autocmd BufRead ?* silent! loadview +augroup END + +" }}} +" Show trailing whitepace and spaces before a tab: {{{ +augroup ShowWhiteSpaceErrors + autocmd! + autocmd Syntax * syn match ExtraWhitespace /\s\+$\| \+\ze\t/ containedin=ALL +augroup END + +" }}} + +" Automatically reload .vimrc if changed {{{ +augroup ReloadVimrc + autocmd! + autocmd BufWritePost .vimrc,_vimrc,vimrc,.gvimrc,_gvimrc,gvimrc so $MYVIMRC | if has('gui_running') | so $MYGVIMRC | endif +augroup END + +" }}} +" Open quickfix window{{{ +" augroup QuickFixAutoload +" autocmd! +" autocmd QuickFixCmdPost [^l]* nested botright cwindow +" autocmd QuickFixCmdPost l* nested botright lwindow +" augroup END + +augroup OnTerminalOpen + autocmd! + autocmd TermOpen * setlocal nonumber norelativenumber +augroup END + +" }}} + +"----------------------------------------------------------------------------}}} +" +" +" require lua init +lua < + " - can use tab completion with this + " Parsers not on this list can be added manually + " + " If you update nvim-treesitter and want to make sure the parser is at the latest compatible version (as specified in nvim-treesitter's lockfile.json), use + " :TSUpdate {language}. + " To update all parsers unconditionally, use + " :TSUpdate all or just :TSUpdate. + " + " Each module provides a distinct tree-sitter-based feature such as highlighting, indentation, or folding; see :h nvim-treesitter-modules or "Available modules" below for a list of modules and their options. +" All modules are disabled by default and need to be activated explicitly in your init.vim +" +" Each module can also be enabled or disabled interactively through the following commands: +" :TSBufEnable {module} " enable module on current buffer +" :TSBufDisable {module} " disable module on current buffer +" :TSEnableAll {module} [{ft}] " enable module on every buffer. If filetype is specified, enable only for this filetype. +" :TSDisableAll {module} [{ft}] " disable module on every buffer. If filetype is specified, disable only for this filetype. +" :TSModuleInfo [{module}] " list information about modules state for each filetype +" +" Check :h nvim-treesitter-commands for a list of all available commands. It may be necessary to reload the buffer (e.g., via :e) after enabling a module interactively. + + "}}} +" #playground (temporary) {{{ + " https://github.com/nvim-treesitter/playground + " Plug 'nvim-treesitter/playground' + "}}} +" #vim-lspconfig {{{ + " https://github.com/neovim/nvim-lspconfig + " https://github.com/neovim/nvim-lspconfig/wiki + Plug 'neovim/nvim-lspconfig' + "}}} +" #plenary.nvim {{{ + " https://github.com/nvim-lua/plenary.nvim + " required for null-ls + Plug 'nvim-lua/plenary.nvim' + "}}} +" #null-ls.nvim {{{ + " https://github.com/jose-elias-alvarez/null-ls.nvim + Plug 'jose-elias-alvarez/null-ls.nvim' + "}}} +" #nvim-cmp {{{ + " https://github.com/hrsh7th/nvim-cmp/ + " completion + " Plug 'hrsh7th/nvim-cmp', { 'branch': 'main' } + " Plug 'hrsh7th/cmp-nvim-lsp', { 'branch': 'main' } + " Plug 'hrsh7th/cmp-buffer', { 'branch': 'main' } + " Plug 'hrsh7th/cmp-path', { 'branch': 'main' } + " Plug 'uga-rosa/cmp-dictionary', { 'branch': 'main' } + " let g:cmp_dictionary_exact = -1 + " Plug 'quangnguyen30192/cmp-nvim-ultisnips', { 'branch': 'main' } + + "}}} +" #indent-blankline.nvim {{{ + " https://github.com/lukas-reineke/indent-blankline.nvim + Plug 'lukas-reineke/indent-blankline.nvim' + "}}} + +" #iamcco/markdown-preview.nvim {{{ + " https://github.com/iamcco/markdown-preview.nvim + Plug 'iamcco/markdown-preview.nvim', { 'do': { -> mkdp#util#install() }, 'for': ['markdown', 'vim-plug']} + + let g:mkdp_browser = '/usr/local/bin/chromium-app' + let g:mkdp_echo_preview_url = 1 + nmap m MarkdownPreviewToggle + + " commands + " MarkdownPreview + " MarkdownPreviewStop + " MarkdownPreviewToggle + + "}}} + +" keeping +" #vim-hexokinase {{{ + " https://github.com/chrisbra/Colorizer + " display colors asynchronously + Plug 'chrisbra/Colorizer' + " let g:colorizer_use_virtual_text = 1 + nnoremap cc :ColorToggle + + "}}} +" #nvim-autopairs {{{ +" https://github.com/windwp/nvim-autopairs +" automatic quote, paranthesis,etc closing. + Plug 'windwp/nvim-autopairs' + "}}} + + +" #nvim-ts-autotag {{{ +" https://github.com/windwp/nvim-ts-autotag +" automatic html tag closing/renaming. +" Plug 'windwp/nvim-ts-autotag', { 'branch': 'main' } + + + "}}} +" #emmet-vim {{{ + " https://github.com/mattn/emmet-vim + Plug 'mattn/emmet-vim' + let g:user_emmet_leader_key=',,' + let g:user_emmet_settings = { + \ 'indentation': ' ', + \} + + "}}} +" #gitgutter {{{ + " https://github.com/airblade/vim-gitgutter/blob/master/README.mkd + " show git diff in sign column + Plug 'airblade/vim-gitgutter' + + nmap ]h (GitGutterNextHunk) + nmap [h (GitGutterPrevHunk) + omap ih (GitGutterTextObjectInnerPending) + omap ah (GitGutterTextObjectOuterPending) + xmap ih (GitGutterTextObjectInnerVisual) + xmap ah (GitGutterTextObjectOuterVisual) + + "}}} +" #MatchTagAlways{{{ +" always highlights xml/html tags enclosing cursor + " https://github.com/Valloric/MatchTagAlways + Plug 'Valloric/MatchTagAlways' +let g:mta_filetypes = { + \ 'jinja' : 1, + \ 'html' : 1, + \ 'vue' : 1, + \ 'xhtml' : 1, + \ 'xml' : 1, + \} + "}}} +" #quickscope{{{ +" highlights unique characters when using f, F, etc + " https://github.com/unblevable/quick-scope + Plug 'unblevable/quick-scope' + let g:qs_highlight_on_keys = ['f', 'F', 't', 'T'] + "}}} +" #switch {{{ + "https://github.com/AndrewRadev/switch.vim + Plug 'AndrewRadev/switch.vim' + + let g:switch_mapping = '-' + let g:switch_custom_definitions = [ + \ ['0', '1'], + \ ['ease-in', 'ease-out', 'ease-in-out', 'linear'], + \ ['auto', 'none'], + \ ['left', 'right'], + \ ['top', 'bottom'], + \ ['row', 'column'], + \ ['relative', 'absolute', 'fixed'], + \ ['private', 'public', 'protected'] + \ ] + + "}}} +" #ultisnips {{{ + " https://github.com/sirver/UltiSnips + Plug 'SirVer/ultisnips' + " and some snippets + " https://github.com/honza/vim-snippets + " Plug 'honza/vim-snippets' + + nnoremap ul :call ListUltisnips() + inoremap jkul :call ListUltisnips() + + let g:UltiSnipsSnippetsDir='~/.vim/UltiSnips' + " Trigger configuration. Do not use if you use https://github.com/Valloric/YouCompleteMe. + let g:UltiSnipsExpandTrigger='' + let g:UltiSnipsJumpForwardTrigger='' + let g:UltiSnipsJumpBackwardTrigger='' + let g:UltiSnipsEditSplit='horizontal' + + function! ListUltisnips() abort"{{{ + let l:snips = UltiSnips#SnippetsInCurrentScope(1) + let l:keylist = sort(keys(l:snips)) + echo ' --------------------------------------------------' + for l:key in l:keylist + echo printf(" %-10s\t%s", l:key, l:snips[l:key]) + endfor + echo '---------------------------------------------------' + endfunction + + "}}} + function! CompleteSnippets(findstart, base)"{{{ + if a:findstart + let l:line = getline('.') + let l:start = col('.') - 1 + while l:start > 0 && l:line[l:start - 1] =~ '\a' + let l:start -= 1 + endwhile + return l:start + else + let l:res = [] + let l:snips = UltiSnips#SnippetsInCurrentScope(1) + let l:keylist = sort(keys(l:snips)) + for l:key in l:keylist + if l:key =~ '^' . a:base + let l:item = {'word': l:key, 'menu': l:snips[l:key]} + call add(l:res, l:item) + endif + endfor + return l:res + endif + endfunction + + "}}} + + set completefunc=CompleteSnippets + + "}}} +" #Netrw {{{ + + let g:netrw_liststyle=3 +" let g:netrw_list_hide=netrw_gitignore#Hide() + let g:netrw_preview = 0 + let g:netrw_winsize = 50 + let g:netrw_altv = &spr + let g:netrw_alto = 0 + let g:netrw_altfile = 1 + let g:netrw_mousemaps = 0 + let g:netrw_keepdir = 0 + + "}}} +" #Obsession{{{ + " fork of tpope/vim-obsession + Plug 'studio-vx/vim-obsession' + + "}}} +" #tcomment_vim{{{ + " https://github.com/tomtom/tcomment_vim + Plug 'tomtom/tcomment_vim' + +"}}} +" #vim-rsi{{{ + "https://github.com/tpope/vim-rsi + Plug 'tpope/vim-rsi' + + "}}} +" #vim-repeat{{{ + " https://github.com/tpope/vim-repeat + " makes repeat . work for more stuff + Plug 'tpope/vim-repeat' + + "}}} +" #vim-surround{{{ + Plug 'tpope/vim-surround' + + "}}} + +" #vim-wakatime{{{ + Plug 'wakatime/vim-wakatime' + + "}}} + +" reconfigure and learn to use properly +" #vim-fzf {{{ +" https://github.com/junegunn/fzf.vim +Plug 'junegunn/fzf' +Plug 'junegunn/fzf.vim' + +nnoremap fg :GFiles +nnoremap ff :Files +nnoremap fh :History +nnoremap fb :Buffers +nnoremap fH :Helptags + +let g:fzf_preview_window = 'right:60%' +let g:fzf_colors = + \ { 'fg': ['fg', 'Normal'], + \ 'bg': ['bg', 'Normal'], + \ 'hl': ['fg', 'Label'], + \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], + \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], + \ 'hl+': ['fg', 'WildMenu'], + \ 'info': ['fg', 'Comment'], + \ 'border': ['fg', 'Comment'], + \ 'prompt': ['fg', 'Constant'], + \ 'pointer': ['fg', 'Special'], + \ 'marker': ['fg', 'Keyword'], + \ 'spinner': ['fg', 'Label'], + \ 'header': ['fg', 'Comment'] } + +" Rg that doesn't ignore .gitignore or any other files +command! -bang -nargs=* Rgall + \ call fzf#vim#grep( + \ 'rg -uuu --column --line-number --no-heading --color=always --smart-case -- '.shellescape(), 1, + \ fzf#vim#with_preview(), 0) + +"}}} +" #vim-shellcheck{{{ +" https://github.com/itspriddle/vim-shellcheck + Plug 'itspriddle/vim-shellcheck' + + "}}} +" #vim-markdown{{{ +" https://github.com/plasticboy/vim-markdown +Plug 'plasticboy/vim-markdown' +let g:vim_markdown_toc_autofit = 1 +let g:vim_markdown_fenced_languages = ['bash=sh'] +"}}} +" #undotree {{{ + Plug 'mbbill/undotree' + nnoremap ut :UndotreeToggle + + "}}} + +" #vim-floaterm{{{ +" https://github.com/voldikss/floaterm +" allows to open floating terminal + Plug 'voldikss/vim-floaterm' + let g:floaterm_opener = 'edit' + " nnoremap lf :FloatermNew --height=0.9 --width=0.9 lf + nnoremap lg :FloatermNew --height=0.9 --width=0.9 lazygit + "}}} +" #vim-Jinja2-Syntax{{{ +" https://github.com/studio-vx/Vim-Jinja2-Syntax +" original: https://github.com/Glench/Vim-Jinja2-Syntax + Plug 'studio-vx/Vim-Jinja2-Syntax' + + "}}} + +" ------------------------------------------------------------------------------ + +call plug#end() +runtime macros/matchit.vim + +" require lua init modules +lua < 1 + let l:customtabline .= '%' . l:tabnumber . 'T' + let l:customtabline .= (l:tabnumber == l:currenttabnum ? '%1*' : '%2*') + + let l:customtabline .= (l:tabnumber == l:currenttabnum ? '%#TabLineNumSel#' : '%#TabLineNum#') + let l:customtabline .= ' ' . l:tabnumber . ' ' + let l:customtabline .= (l:tabnumber == l:currenttabnum ? '%#TabLineItemSel#' : '%#TabLineItem#') + endif + + let l:bufnr = l:buflist[l:winnr - 1] + let l:file = bufname(l:bufnr) + let l:buftype = getbufvar(l:bufnr, '&buftype') + + if l:buftype ==# 'help' + let l:file = 'help:' . fnamemodify(l:file, ':t:r') + + elseif l:buftype ==# 'quickfix' + let l:file = 'quickfix' + + elseif l:buftype ==# 'nofile' + if l:file =~# '\/.' + let l:file = substitute(l:file, '.*\/\ze.', '', '') + endif + + else + let l:file = fnamemodify(l:file, ':p:t') + + endif + + if l:file ==# '' + let l:file = "''" + endif + + let l:customtabline .= l:file . '%T%#TabLineFill# ' + + let l:tabnumber = l:tabnumber + 1 + + endwhile + + let l:customtabline .= '%T%#TabLineFill#%=' + + let l:customtabline .= '%#TabLineItem# %{getcwd()}% ' + if exists('*ObsessionStatus') + let l:customtabline .= "%#TabLineItem# %{ObsessionStatus(fnamemodify(v:this_session,':t'),'---')} %*" + endif + + return l:customtabline + +endfunction +"}}} + +set tabline=%!MyTabLine() +set showtabline=2 + + +" vim: set foldmethod=marker: diff --git a/legacy/init.vim b/legacy/init.vim new file mode 100644 index 0000000..b972846 --- /dev/null +++ b/legacy/init.vim @@ -0,0 +1,6 @@ +if exists('g:vscode') + " VSCode extension + source ~/.config/nvim/init.vscode.vim +else + source ~/.config/nvim/init.full.vim +endif diff --git a/legacy/init.vscode.vim b/legacy/init.vscode.vim new file mode 100644 index 0000000..1b359a9 --- /dev/null +++ b/legacy/init.vscode.vim @@ -0,0 +1,11 @@ +set undofile +set undodir=~/.config/nvim/undodir +set backupdir=~/.nvim/tmpdir +set directory=~/.nvim/tmpdir + +set ignorecase +set smartcase + +set iskeyword+=- + +set scrolloff=4 diff --git a/legacy/lua/init-cmp.lua b/legacy/lua/init-cmp.lua new file mode 100644 index 0000000..6e42a8e --- /dev/null +++ b/legacy/lua/init-cmp.lua @@ -0,0 +1,49 @@ +local cmp = require 'cmp' + +cmp.setup({ + window = {documentation = cmp.config.window.bordered({border = "single"})}, + formatting = { + format = function(entry, vim_item) + -- set a name for each source + vim_item.menu = ({ + nvim_lsp = "[LSP]", + path = "[Path]", + buffer = "[Buffer]", + ultisnips = "[UltiSnips]" + })[entry.source.name] + return vim_item + end + }, + completion = { + keyword_length = 1, + max_item_count = 20 + -- autocomplete = false + }, + snippet = {expand = function(args) vim.fn["UltiSnips#Anon"](args.body) end}, + mapping = { + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping({ + i = function() + if cmp.visible() then + cmp.select_next_item({behavior = cmp.SelectBehavior.Insert}) + else + cmp.complete() + end + end + }) + }, + sources = { + {name = 'nvim_lsp', max_item_count = 8, keyword_length = 3}, + {name = 'path'}, + {name = 'buffer', + option = { + keyword_length = 4, + max_item_count = 20, + get_bufnrs = function() + return vim.api.nvim_list_bufs() + end + }}, + {name = 'ultisnips', priority_weight = 10, keyword_length = 1} + } +}) diff --git a/legacy/lua/init-indent-blankline.lua b/legacy/lua/init-indent-blankline.lua new file mode 100644 index 0000000..8a8fae6 --- /dev/null +++ b/legacy/lua/init-indent-blankline.lua @@ -0,0 +1,5 @@ + +require("indent_blankline").setup { + space_char_blankline = " ", + show_current_context = true, +} diff --git a/legacy/lua/init-lsp.lua b/legacy/lua/init-lsp.lua new file mode 100644 index 0000000..cee92ef --- /dev/null +++ b/legacy/lua/init-lsp.lua @@ -0,0 +1,230 @@ +vim.cmd [[ + sign define LspDiagnosticsSignError text= texthl= linehl= numhl=LspDiagnosticsLineNrError + sign define LspDiagnosticsSignWarning text= texthl= linehl= numhl=LspDiagnosticsLineNrWarning + sign define LspDiagnosticsSignInfo text= texthl= linehl= numhl=LspDiagnosticsLineNrInformation + sign define LspDiagnosticsSignHint text= texthl= linehl= numhl=LspDiagnosticsLineNrHint +]] +-- +-- lspconfig +local nvim_lsp = require('lspconfig') + +-- Use a loop to conveniently call 'setup' on multiple servers and +-- map buffer local keybindings when the language server attaches +local servers = { + -- astro + -- npm install -g @astrojs/language-server + 'astro', -- npm i -g bash-language-server + -- no formatting support + 'bashls', -- npm i -g vscode-langservers-extracted + -- no formatting support + 'cssls', -- npm install -g intelephense + -- suports formatting + 'intelephense', + + -- https://phpactor.readthedocs.io/en/master/usage/standalone.html + 'phpactor', -- npm install -g pyright + -- static type checker + 'pyright', -- https://github.com/neovim/nvim-lspconfig/wiki + -- 'tailwindcss', + -- npm install -g typescript typescript-language-server + -- supports formatting + 'tsserver', -- npm install -g vim-language-server + -- no formatting support + 'vimls', -- vue + -- use vetur + 'yamlls' -- no formatting support + -- is now automatically started/configured by rust-tools + -- sudo pacman -Syu rust-analyzer + -- 'rust_analyzer' +} + +-- Use an on_attach function to only map the following keys +-- after the language server attaches to the current buffer +local on_attach = function(client, bufnr) + local function buf_set_keymap(...) + vim.api.nvim_buf_set_keymap(bufnr, ...) + end + + local function buf_set_option(...) + vim.api.nvim_buf_set_option(bufnr, ...) + end + + -- Enable completion triggered by + buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc') + -- Mappings. + local opts = {noremap = true, silent = true} + -- See `:help vim.lsp.*` for documentation on any of the below functions + buf_set_keymap('n', '[d', + 'lua vim.diagnostic.goto_prev({float = {...}})', + opts) + buf_set_keymap('n', ']d', + 'lua vim.diagnostic.goto_next({float = {...}})', + opts) + buf_set_keymap('n', 'gd', 'lua vim.lsp.buf.definition()', opts) + buf_set_keymap('n', 'gD', 'lua vim.lsp.buf.declaration()', opts) + buf_set_keymap('n', 'gi', 'lua vim.lsp.buf.implementation()', opts) + buf_set_keymap('n', 'gr', 'lua vim.lsp.buf.references()', opts) + buf_set_keymap('n', 'gl', + 'lua vim.diagnostic.open_float(buffer, {{opts}, scope="line"})', + opts) + buf_set_keymap('n', 'gh', 'lua vim.lsp.buf.hover()', opts) + buf_set_keymap('n', '', 'lua vim.lsp.buf.signature_help()', + opts) + buf_set_keymap('n', 'T', + 'lua vim.lsp.buf.type_definition()', opts) + buf_set_keymap('n', 'l', 'lua vim.diagnostic.setloclist()', + opts) + buf_set_keymap('n', 'q', 'lua vim.diagnostic.setqflist()', + opts) + buf_set_keymap('n', 'ca', 'lua vim.lsp.buf.code_action()', + opts) + buf_set_keymap('n', 'rn', 'lua vim.lsp.buf.rename()', opts) + buf_set_keymap('n', 'f', 'lua vim.lsp.buf.formatting()', + opts) + -- buf_set_keymap('n', 'wa', 'lua vim.lsp.buf.add_workspace_folder()', opts) + -- buf_set_keymap('n', 'wr', 'lua vim.lsp.buf.remove_workspace_folder()', opts) + -- buf_set_keymap('n', 'wl', 'lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))', opts) + + if client.name == 'phpactor' then + client.server_capabilities.find_references = false; + end + + if client.name == 'tsserver' or client.name == 'intelephense' then + client.server_capabilities.document_formatting = false; + -- print(vim.inspect(client.server_capabilities)); + end + + if client.server_capabilities.document_formatting then + vim.cmd [[augroup lsp_formatting]] + vim.cmd [[autocmd!]] + vim.cmd [[autocmd BufWritePre :lua vim.lsp.buf.formatting_seq_sync({}, 3000)]] + vim.cmd [[augroup END]] + end + + if client.server_capabilities.document_highlight then + vim.cmd [[ + augroup lsp_document_highlight + autocmd! * + autocmd CursorHold lua vim.lsp.buf.document_highlight() + autocmd CursorMoved lua vim.lsp.buf.clear_references() + augroup END + ]] + end +end + +local capabilities = vim.lsp.protocol.make_client_capabilities() +capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities) +capabilities.textDocument.completion.completionItem.snippetSupport = true + +for _, lsp in ipairs(servers) do + nvim_lsp[lsp].setup { + on_attach = on_attach, + capabilities = capabilities, + flags = {debounce_text_changes = 150} + } +end + +local runtime_path = vim.split(package.path, ';') +table.insert(runtime_path, "lua/?.lua") +table.insert(runtime_path, "lua/?/init.lua") + +require'lspconfig'.sumneko_lua.setup { + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = 'LuaJIT', + -- Setup your lua path + path = runtime_path + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = {'vim'} + }, + workspace = { + -- Make the server aware of Neovim runtime files + library = vim.api.nvim_get_runtime_file("", true) + }, + -- Do not send telemetry data containing a randomized but unique identifier + telemetry = {enable = false} + } + } +} + +-- toml +-- 'taplo' +-- -- sudo pacman -Syu taplo-cli +require'lspconfig'.taplo.setup { + on_attach = on_attach, + capabilities = capabilities, + flags = {debounce_text_changes = 150}, + cmd = {"taplo", "lsp", "stdio"} +} + +-- rust-tools +require('rust-tools').setup({ + server = { + on_attach = on_attach, + capabilities = capabilities, + flags = {debounce_text_changes = 150}, + + settings = {["rust-analyzer"] = {checkOnSave = {command = "clippy"}}} + } +}) +-- inlay hints +require('rust-tools').inlay_hints.enable() +------ + +-- null-ls +local null_ls = require("null-ls") + +local null_ls_utils = require("null-ls.utils") +local root = null_ls_utils.get_root() +local eslint_command = root .. "/node_modules/eslint/bin/eslint.js" +-- print(eslint_command); + +local sources = { + null_ls.builtins.formatting.prettierd, + null_ls.builtins.diagnostics.eslint.with({ + condition = function(utils) + local has_file = utils.root_has_file({ + "node_modules/@wordpress/scripts/config/.eslintrc.js" + }) + -- print("condition") + -- print(has_file) + return has_file + end, + extra_args = { + "--no-eslintrc", "--config ", + root .. "/node_modules/@wordpress/scripts/config/.eslintrc.js", + "--ignore-path ", + root .. "/node_modules/@wordpress/scripts/config/.eslintignore" + } + }), -- + -- null_ls.builtins.diagnostics.eslint.with({ + -- filetypes = { "javascript", "javascriptreact", "typescript", "typescriptreact", "vue", "svelte", "astro" }, + -- command = eslint_command + -- }), + -- null_ls.builtins.diagnostics.eslint.with({ + -- condition = function(utils) + -- local has_file1 = utils.root_has_file({".eslintrc.js"}) + -- local has_file2 = utils.root_has_file({"gatsby-config.js"}) + -- print("condition") + -- print(has_file1) + -- print(has_file2) + -- return has_file1 and has_file2 + -- end + -- }), -- + null_ls.builtins.diagnostics.phpcs.with({ + condition = function(utils) + return not utils.root_has_file({"vendor/bin/phpcs"}) + end, + args = {"--standard=PSR12", "--report=json", "-s", "-"} + }), -- + null_ls.builtins.formatting.black, -- black + null_ls.builtins.diagnostics.shellcheck, -- shellcheck, + null_ls.builtins.diagnostics.flake8, -- flake8 + null_ls.builtins.formatting.lua_format -- luaFormatter +} + +null_ls.setup({sources = sources, on_attach = on_attach}) diff --git a/legacy/lua/init-plugins.lua b/legacy/lua/init-plugins.lua new file mode 100644 index 0000000..5cd9fba --- /dev/null +++ b/legacy/lua/init-plugins.lua @@ -0,0 +1,35 @@ +-- nvim-autopairs +require('nvim-autopairs').setup {} +------ + +-- cmp +require("cmp").setup({ + map_cr = false, -- map on insert mode + map_complete = false, -- it will auto insert `(` after select function or method item + auto_select = true -- automatically select the first item +}) +------ + +-- nvim-ts-autotag +require'nvim-treesitter.configs'.setup { + autotag = { + enable = true, + filetypes = { + -- not working for astro files + 'html', 'javascript', 'typescript', 'javascriptreact', 'typescriptreact', 'svelte', 'vue', 'tsx', 'jsx', 'rescript', 'astro', + 'xml', + 'php', + 'markdown', + 'glimmer','handlebars','hbs' + }, + } +} +------ + +-- nvim-ufo +require('ufo').setup({ + provider_selector = function(bufnr, filetype, buftype) + return {'treesitter', 'indent'} + end +}) +------ diff --git a/legacy/lua/init-treesitter.lua b/legacy/lua/init-treesitter.lua new file mode 100644 index 0000000..f2574e4 --- /dev/null +++ b/legacy/lua/init-treesitter.lua @@ -0,0 +1,14 @@ +require'nvim-treesitter.configs'.setup { + -- ensure_installed = "maintained", -- one of "all", "maintained" (parsers with maintainers), or a list of languages + ignore_install = {"c"}, -- List of parsers to ignore installing + highlight = { + enable = true, -- false will disable the whole extension + disable = {"c", "rust"}, -- list of language that will be disabled + -- Setting this to true will run `:h syntax` and tree-sitter at the same time. + -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). + -- Using this option may slow down your editor, and you may see some duplicate highlights. + -- Instead of true it can also be a list of languages + additional_vim_regex_highlighting = false + }, + indent = {enable = true} +} diff --git a/legacy/lua/init.lua b/legacy/lua/init.lua new file mode 100644 index 0000000..474893d --- /dev/null +++ b/legacy/lua/init.lua @@ -0,0 +1,38 @@ +vim.o.foldmethod = 'expr' +vim.o.foldexpr = 'nvim_treesitter#foldexpr()' + +vim.diagnostic.config({ + virtual_text = false, + signs = true, + underline = false, + update_in_insert = false, + severity_sort = true, + float = { + border = "single", + source = "always" -- Or "if_many" + } +}) + +local signs = {Error = "● ", Warn = "● ", Hint = "● ", Info = "● "} +for type, icon in pairs(signs) do + local hl = "DiagnosticSign" .. type + vim.fn.sign_define(hl, {text = icon, texthl = hl, numhl = hl}) +end + +local border = { + {"┌", "FloatBorder"}, {"─", "FloatBorder"}, {"┐", "FloatBorder"}, + {"│", "FloatBorder"}, {"┘", "FloatBorder"}, {"─", "FloatBorder"}, + {"└", "FloatBorder"}, {"│", "FloatBorder"} +} + +vim.lsp.handlers["textDocument/hover"] = + vim.lsp.with(vim.lsp.handlers.hover, {border = "single"}) +vim.lsp.handlers["textDocument/signatureHelp"] = + vim.lsp.with(vim.lsp.handlers.signature_help, {border = "single"}) + +local orig_util_open_floating_preview = vim.lsp.util.open_floating_preview +function vim.lsp.util.open_floating_preview(contents, syntax, opts, ...) + opts = opts or {} + opts.border = opts.border or border + return orig_util_open_floating_preview(contents, syntax, opts, ...) +end diff --git a/legacy/paper-tonic-original b/legacy/paper-tonic-original new file mode 120000 index 0000000..dbe9322 --- /dev/null +++ b/legacy/paper-tonic-original @@ -0,0 +1 @@ +/home/ray/projects/nvim-paper-tonic \ No newline at end of file diff --git a/legacy/postcss.config.js b/legacy/postcss.config.js new file mode 100644 index 0000000..a492bbd --- /dev/null +++ b/legacy/postcss.config.js @@ -0,0 +1,10 @@ +module.exports = { + plugins: [ + [ + "postcss-preset-env", + { + // options + }, + ], + ], +}; diff --git a/legacy/templates/template.css b/legacy/templates/template.css new file mode 100644 index 0000000..e190019 --- /dev/null +++ b/legacy/templates/template.css @@ -0,0 +1,15 @@ +html, +body { + padding: 0; + margin: 0; +} + +body { + font-size: 100%; + box-sizing: border-box; + background-color: pink; +} + +* { + box-sizing: inherit; +} diff --git a/legacy/templates/template.html b/legacy/templates/template.html new file mode 100644 index 0000000..cc39a5a --- /dev/null +++ b/legacy/templates/template.html @@ -0,0 +1,31 @@ + + + + + + + THE TITLE IS THIS! + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + + + diff --git a/legacy/templates/template.sh b/legacy/templates/template.sh new file mode 100644 index 0000000..1a24852 --- /dev/null +++ b/legacy/templates/template.sh @@ -0,0 +1 @@ +#!/bin/sh diff --git a/lua/abbreviations.lua b/lua/abbreviations.lua index f92aabb..9f339e2 100644 --- a/lua/abbreviations.lua +++ b/lua/abbreviations.lua @@ -1,5 +1,5 @@ -- Abbreviations (common typo corrections) --- Insert-mode abbreviations for frequent typos +-- Phase 10.2: Insert-mode abbreviations for frequent typos vim.cmd.iabbrev('adn', 'and') vim.cmd.iabbrev('waht', 'what') diff --git a/lua/autocmds.lua b/lua/autocmds.lua index 3ab254b..d66f1ac 100644 --- a/lua/autocmds.lua +++ b/lua/autocmds.lua @@ -1,7 +1,7 @@ -- Non-plugin autocommands (minimal placeholder for bootstrap) local aug = vim.api.nvim_create_augroup("UserDefaults", { clear = true }) --- Templates (auto-populate new files from templates) +-- Phase 10.3: Templates (auto-populate new files from templates) local template_aug = vim.api.nvim_create_augroup("Templates", { clear = true }) vim.api.nvim_create_autocmd("BufNewFile", { @@ -14,7 +14,7 @@ vim.api.nvim_create_autocmd("BufNewFile", { end, }) --- Per-filetype indentation settings to match formatters +-- Phase 9.4: Per-filetype indentation settings to match formatters -- PHP: WordPress coding standards (tabs, displayed as 2 spaces) vim.api.nvim_create_autocmd("FileType", { @@ -77,14 +77,11 @@ vim.api.nvim_create_autocmd("FileType", { end, }) --- Colorize diagnostic severity in quickfix/location list +-- Phase 11.8: Colorize diagnostic severity in quickfix/location list vim.api.nvim_create_autocmd("FileType", { group = aug, pattern = "qf", -- Applies to both quickfix and location list callback = function() - -- Disable spell checking in quickfix/location list windows - vim.opt_local.spell = false - -- Use matchadd() for higher priority highlighting -- This will override the default qf syntax vim.fn.matchadd("qfError", "\\", 10) @@ -104,164 +101,23 @@ vim.api.nvim_create_autocmd("FileType", { -- Session management: auto-load on startup, auto-save on exit (only if Session.vim exists) local session_aug = vim.api.nvim_create_augroup("SessionManagement", { clear = true }) -local sanitize_session_files -- Auto-load Session.vim if it exists in the current directory vim.api.nvim_create_autocmd("VimEnter", { group = session_aug, pattern = "*", - once = true, + nested = true, -- Allow other autocmds to fire after loading session callback = function() -- Only auto-load if: -- 1. Session.vim exists in cwd -- 2. No files were specified on command line (vim.fn.argc() == 0) -- 3. Not started with nvim -S (check if we already loaded a session) if vim.fn.argc() == 0 and vim.fn.filereadable("Session.vim") == 1 and vim.v.this_session == "" then - vim.cmd("silent! source Session.vim") + vim.cmd("source Session.vim") end end, }) --- Ensure filetype is detected for current buffer after session load -vim.api.nvim_create_autocmd("SessionLoadPost", { - group = session_aug, - pattern = "*", - callback = function() - sanitize_session_files() - - -- Trigger BufReadPost for all loaded buffers to ensure Treesitter/LSP attach - vim.schedule(function() - for _, buf in ipairs(vim.api.nvim_list_bufs()) do - if vim.api.nvim_buf_is_loaded(buf) and vim.bo[buf].buftype == "" then - vim.api.nvim_exec_autocmds("BufReadPost", { buffer = buf }) - end - end - end) - end, -}) - -local function is_netrw_session_buffer(buf) - return vim.api.nvim_buf_is_valid(buf) - and (vim.bo[buf].filetype == "netrw" or vim.api.nvim_buf_get_name(buf):match("NetrwTreeListing$") ~= nil) -end - -local function session_fallback_buffer(excluded) - excluded = excluded or {} - for _, buf in ipairs(vim.api.nvim_list_bufs()) do - local name = vim.api.nvim_buf_get_name(buf) - if - vim.api.nvim_buf_is_valid(buf) - and not excluded[buf] - and vim.bo[buf].buflisted - and vim.bo[buf].buftype == "" - and name ~= "" - and vim.uv.fs_stat(name) ~= nil - and not is_netrw_session_buffer(buf) - then - return buf - end - end - - return vim.api.nvim_create_buf(true, false) -end - -local function is_local_file_path(path) - return path ~= "" and path:match("^%a[%w+.-]*://") == nil -end - -sanitize_session_files = function() - local missing = {} - for _, buf in ipairs(vim.api.nvim_list_bufs()) do - if vim.api.nvim_buf_is_valid(buf) and vim.bo[buf].buftype == "" then - local name = vim.api.nvim_buf_get_name(buf) - if is_local_file_path(name) and vim.uv.fs_stat(name) == nil and not vim.bo[buf].modified then - missing[buf] = true - end - end - end - - if next(missing) then - local fallback - for _, win in ipairs(vim.api.nvim_list_wins()) do - local buf = vim.api.nvim_win_get_buf(win) - if missing[buf] then - fallback = fallback or session_fallback_buffer(missing) - vim.api.nvim_win_set_buf(win, fallback) - end - end - - for buf in pairs(missing) do - if vim.api.nvim_buf_is_valid(buf) then - pcall(vim.api.nvim_buf_delete, buf, { force = true }) - end - end - end - - local args = vim.fn.argv() - local existing = {} - for _, arg in ipairs(args) do - local path = is_local_file_path(arg) and vim.fn.fnamemodify(arg, ":p") or nil - if not path or vim.uv.fs_stat(path) ~= nil then - table.insert(existing, arg) - end - end - - if #existing ~= #args then - vim.cmd("%argdelete") - for _, arg in ipairs(existing) do - vim.cmd.argadd({ args = { arg } }) - end - end -end - -local function close_session_tab(tab) - if vim.api.nvim_tabpage_close then - pcall(vim.api.nvim_tabpage_close, tab, true) - return - end - - pcall(function() - vim.api.nvim_set_current_tabpage(tab) - vim.cmd("tabclose!") - end) -end - -local function omit_netrw_from_session() - local tabs_with_netrw = {} - for _, tab in ipairs(vim.api.nvim_list_tabpages()) do - for _, win in ipairs(vim.api.nvim_tabpage_list_wins(tab)) do - if is_netrw_session_buffer(vim.api.nvim_win_get_buf(win)) then - tabs_with_netrw[tab] = true - break - end - end - end - - for tab in pairs(tabs_with_netrw) do - if vim.api.nvim_tabpage_is_valid(tab) then - for _, win in ipairs(vim.api.nvim_tabpage_list_wins(tab)) do - if vim.api.nvim_win_is_valid(win) and vim.wo[win].previewwindow then - pcall(vim.api.nvim_win_close, win, true) - end - end - - if vim.api.nvim_tabpage_is_valid(tab) then - for _, win in ipairs(vim.api.nvim_tabpage_list_wins(tab)) do - if vim.api.nvim_win_is_valid(win) and is_netrw_session_buffer(vim.api.nvim_win_get_buf(win)) then - if #vim.api.nvim_tabpage_list_wins(tab) > 1 then - pcall(vim.api.nvim_win_close, win, true) - elseif #vim.api.nvim_list_tabpages() > 1 then - close_session_tab(tab) - else - vim.api.nvim_win_set_buf(win, session_fallback_buffer()) - end - end - end - end - end - end -end - -- Auto-save session on exit, but ONLY if Session.vim already exists vim.api.nvim_create_autocmd("VimLeavePre", { group = session_aug, @@ -269,8 +125,6 @@ vim.api.nvim_create_autocmd("VimLeavePre", { callback = function() -- Only save if Session.vim exists (user manually created it) if vim.fn.filereadable("Session.vim") == 1 then - omit_netrw_from_session() - sanitize_session_files() vim.cmd("mksession! Session.vim") end end, diff --git a/lua/completion.lua b/lua/completion.lua deleted file mode 100644 index ea208d5..0000000 --- a/lua/completion.lua +++ /dev/null @@ -1,21 +0,0 @@ --- Neovim 0.12 native insert-mode completion. -if vim.fn.has("nvim-0.12") == 0 then - return -end - -vim.opt.autocomplete = true -vim.opt.autocompletedelay = 150 -vim.opt.completeopt = { "menu", "menuone", "noselect", "popup", "fuzzy" } -vim.opt.complete = { ".^10", "w^5", "b^5", "u^5" } - -vim.api.nvim_create_autocmd("FileType", { - pattern = "TelescopePrompt", - callback = function(args) - vim.bo[args.buf].autocomplete = false - end, - desc = "Disable native completion in Telescope prompts", -}) - -vim.keymap.set("i", "", function() - vim.lsp.completion.get() -end, { desc = "Completion: Trigger LSP suggestions", silent = true }) diff --git a/lua/keymaps.lua b/lua/keymaps.lua index beba015..595335d 100644 --- a/lua/keymaps.lua +++ b/lua/keymaps.lua @@ -9,11 +9,6 @@ local map = vim.keymap.set --- Neovim 0.12's optional native undo-tree viewer. -if vim.fn.has('nvim-0.12') == 1 then - map('n', 'u', 'Undotree', { desc = 'Undotree: Toggle native undo tree', silent = true }) -end - -- Fallback navigation keymaps for non-LSP buffers -- When LSP attaches, buffer-local keymaps in lsp.lua override these map('n', 'gd', function() @@ -39,12 +34,6 @@ map('n', 'K', function() end end, { desc = 'Vim: Hover/Help (keywordprg fallback)', silent = true }) --- Quickfix and Location list keymaps -map('n', 'co', 'copen', { desc = 'Quickfix: Open', silent = true }) -map('n', 'cc', 'cclose', { desc = 'Quickfix: Close', silent = true }) -map('n', 'lo', 'lopen', { desc = 'Location list: Open', silent = true }) -map('n', 'lc', 'lclose', { desc = 'Location list: Close', silent = true }) - -- Diagnostic keymaps map('n', 'xx', vim.diagnostic.setloclist, { desc = 'Diagnostics: Buffer diagnostics (location list)', silent = true }) map('n', 'xX', vim.diagnostic.setqflist, { desc = 'Diagnostics: All diagnostics (quickfix)', silent = true }) @@ -54,39 +43,144 @@ end, { desc = 'Diagnostics: Buffer errors (location list)', silent = true }) map('n', 'xE', function() vim.diagnostic.setqflist({ severity = vim.diagnostic.severity.ERROR }) end, { desc = 'Diagnostics: All errors (quickfix)', silent = true }) -map('n', '[d', function() - vim.diagnostic.jump({ count = -1, float = false }) -end, { desc = 'Diagnostics: Previous diagnostic', silent = true }) -map('n', ']d', function() - vim.diagnostic.jump({ count = 1, float = false }) -end, { desc = 'Diagnostics: Next diagnostic', silent = true }) -map('n', 'xd', function() - pcall(vim.diagnostic.open_float) -end, { desc = 'Diagnostics: Show diagnostic under cursor', silent = true }) +map('n', '[d', vim.diagnostic.goto_prev, { desc = 'Diagnostics: Previous diagnostic', silent = true }) +map('n', ']d', vim.diagnostic.goto_next, { desc = 'Diagnostics: Next diagnostic', silent = true }) +map('n', 'xd', vim.diagnostic.open_float, { desc = 'Diagnostics: Show diagnostic under cursor', silent = true }) map('n', 'xt', function() vim.diagnostic.enable(not vim.diagnostic.is_enabled()) end, { desc = 'Diagnostics: Toggle display', silent = true }) --- Git: Modified, deleted, and untracked files to quickfix -map('n', 'gg', function() - local utils = require('utils') - local qf_list = utils.git_changed_files() - if qf_list then - vim.fn.setqflist(qf_list, 'r') - vim.cmd('copen') - end -end, { desc = 'Git: Changed files to quickfix (with status)', silent = true }) - -- Debug: Show highlight group and color under cursor map('n', 'hi', function() - require('utils').show_highlight_info() -end, { desc = 'Debug: Show highlight group and color under cursor', silent = true }) - --- UI: Toggle background (light/dark) -map('n', 'bg', function() - if vim.o.background == 'dark' then - vim.o.background = 'light' - else - vim.o.background = 'dark' + local cursor_pos = vim.api.nvim_win_get_cursor(0) + local row, col = cursor_pos[1] - 1, cursor_pos[2] + + -- Get all highlight groups at cursor position + local ts_hl = vim.treesitter.get_captures_at_pos(0, row, col) + local synID = vim.fn.synID(row + 1, col + 1, 1) + local synName = vim.fn.synIDattr(synID, 'name') + local synTrans = vim.fn.synIDattr(vim.fn.synIDtrans(synID), 'name') + + -- Helper to resolve highlight links + local function resolve_hl(name) + local hl = vim.api.nvim_get_hl(0, { name = name }) + local max_depth = 10 + local depth = 0 + while hl.link and depth < max_depth do + name = hl.link + hl = vim.api.nvim_get_hl(0, { name = name }) + depth = depth + 1 + end + return hl, name end -end, { desc = 'UI: Toggle background (light/dark)', silent = true }) + + local lines = { + '=== Highlight Info Under Cursor ===', + '', + 'Position: row=' .. row .. ' col=' .. col, + '', + } + + -- TreeSitter captures + if #ts_hl > 0 then + table.insert(lines, 'TreeSitter Captures:') + for _, capture in ipairs(ts_hl) do + local cap_name = '@' .. capture.capture + local hl, resolved_name = resolve_hl(cap_name) + + table.insert(lines, string.format(' %s', cap_name)) + if resolved_name ~= cap_name then + table.insert(lines, string.format(' → resolves to: %s', resolved_name)) + end + if hl.fg then + table.insert(lines, string.format(' fg: #%06x', hl.fg)) + end + if hl.bg then + table.insert(lines, string.format(' bg: #%06x', hl.bg)) + end + + local styles = {} + if hl.bold then table.insert(styles, 'bold') end + if hl.italic then table.insert(styles, 'italic') end + if hl.underline then table.insert(styles, 'underline') end + if #styles > 0 then + table.insert(lines, ' style: ' .. table.concat(styles, ', ')) + end + end + table.insert(lines, '') + end + + -- Syntax group + if synName ~= '' then + table.insert(lines, 'Syntax Group: ' .. synName) + if synTrans ~= synName and synTrans ~= '' then + table.insert(lines, 'Translates to: ' .. synTrans) + end + + local hl, resolved_name = resolve_hl(synTrans ~= '' and synTrans or synName) + if hl.fg then + table.insert(lines, string.format(' fg: #%06x', hl.fg)) + end + if hl.bg then + table.insert(lines, string.format(' bg: #%06x', hl.bg)) + end + table.insert(lines, '') + end + + -- Final applied highlight (use TreeSitter if available, otherwise syntax) + local final_hl_name = nil + if #ts_hl > 0 then + final_hl_name = '@' .. ts_hl[1].capture + elseif synTrans ~= '' then + final_hl_name = synTrans + elseif synName ~= '' then + final_hl_name = synName + end + + if final_hl_name then + local final_hl, final_resolved = resolve_hl(final_hl_name) + table.insert(lines, 'Applied Highlight: ' .. final_resolved) + if final_hl.fg then + table.insert(lines, string.format(' fg: #%06x', final_hl.fg)) + else + table.insert(lines, ' fg: NONE') + end + if final_hl.bg then + table.insert(lines, string.format(' bg: #%06x', final_hl.bg)) + else + table.insert(lines, ' bg: NONE') + end + + local styles = {} + if final_hl.bold then table.insert(styles, 'bold') end + if final_hl.italic then table.insert(styles, 'italic') end + if final_hl.underline then table.insert(styles, 'underline') end + if final_hl.undercurl then table.insert(styles, 'undercurl') end + if #styles > 0 then + table.insert(lines, ' style: ' .. table.concat(styles, ', ')) + end + end + + -- Show in a floating window + local buf = vim.api.nvim_create_buf(false, true) + vim.api.nvim_buf_set_lines(buf, 0, -1, false, lines) + + local width = 0 + for _, line in ipairs(lines) do + width = math.max(width, #line) + end + width = math.min(width + 2, vim.o.columns - 4) + + local height = #lines + local opts = { + relative = 'cursor', + width = width, + height = height, + row = 1, + col = 0, + style = 'minimal', + border = 'rounded', + } + + vim.api.nvim_open_win(buf, false, opts) +end, { desc = 'Debug: Show highlight group and color under cursor', silent = true }) diff --git a/lua/netrw-config.lua b/lua/netrw-config.lua index 3956620..8f8870d 100644 --- a/lua/netrw-config.lua +++ b/lua/netrw-config.lua @@ -1,51 +1,4 @@ local map = vim.keymap.set -local netrw_preview = require('netrw-preview') -local last_file_buf -local previous_file_buf - -local function is_valid_buffer(buf) - return type(buf) == 'number' and buf > 0 and vim.api.nvim_buf_is_valid(buf) -end - -local function is_real_file_buffer(buf) - return is_valid_buffer(buf) - and vim.bo[buf].buflisted - and vim.bo[buf].buftype == '' - and vim.bo[buf].filetype ~= 'netrw' - and vim.api.nvim_buf_get_name(buf) ~= '' -end - -local function is_netrw_buffer(buf) - if not is_valid_buffer(buf) then - return false - end - - return vim.bo[buf].filetype == 'netrw' or vim.api.nvim_buf_get_name(buf):match('NetrwTreeListing$') ~= nil -end - -local function switch_to_buffer(buf) - vim.cmd('buffer ' .. buf) -end - -local function switch_to_native_alternate() - pcall(vim.cmd, 'buffer #') -end - -local function jump_to_alternate_file() - local alternate = vim.fn.bufnr('#') - - if is_real_file_buffer(alternate) then - switch_to_buffer(alternate) - return - end - - if is_netrw_buffer(alternate) and is_real_file_buffer(previous_file_buf) then - switch_to_buffer(previous_file_buf) - return - end - - switch_to_native_alternate() -end -- Netrw configuration for file browsing -- Native Neovim file explorer (no plugins required) @@ -67,9 +20,9 @@ vim.g.netrw_alto = 0 -- 50% split when pressing 'p' vim.g.netrw_winsize = 50 --- Keep working directory unchanged when browsing (1 = don't change directory) --- Setting to 1 prevents netrw from changing vim's working directory -vim.g.netrw_keepdir = 1 +-- Keep the current directory and browsing directory synced +-- This makes netrw respect your current working directory +vim.g.netrw_keepdir = 0 -- Open files in the same window (replace netrw buffer) -- Options: 0=same window, 1=horizontal split, 2=vertical split, 3=new tab, 4=previous window @@ -79,7 +32,7 @@ vim.g.netrw_browse_split = 0 -- Sort order: name (empty), time (t), size (s), exten (e) vim.g.netrw_sort_by = 'name' --- Preserve netrw's normal listing filter; toggle dotfile visibility with 'gh' +-- Hide dotfiles by default (toggle with 'gh' in netrw) vim.g.netrw_list_hide = [[^\.\.\=/\=$]] -- Use human-readable file sizes @@ -87,54 +40,22 @@ vim.g.netrw_sizestyle = 'H' -- Netrw file explorer keymaps -- Open netrw in new tab at current file's directory -map('n', 'nt', function() +map('n', 'te', function() local current_file_dir = vim.fn.expand('%:p:h') vim.cmd('tabnew') vim.cmd('Explore ' .. vim.fn.fnameescape(current_file_dir)) -end, { desc = 'Netrw: Tab at current file dir', silent = true }) +end, { desc = 'Netrw: Tab explore (current file dir)', silent = true }) --- Open netrw in new tab at project root (stored at startup) -map('n', 'nT', function() +-- Open netrw in new tab at project root (cwd) +map('n', 'tE', function() vim.cmd('tabnew') - vim.cmd('Explore ' .. vim.fn.fnameescape(vim.g.project_root)) -end, { desc = 'Netrw: Tab at project root', silent = true }) - --- Open netrw in current window at project root (stored at startup) -map('n', 'nr', function() - vim.cmd('Explore ' .. vim.fn.fnameescape(vim.g.project_root)) -end, { desc = 'Netrw: Open at project root', silent = true }) - -map('n', '', jump_to_alternate_file, { desc = 'Buffer: Alternate file skipping netrw', silent = true }) -map('n', '', jump_to_alternate_file, { desc = 'Buffer: Alternate file skipping netrw', silent = true }) - -vim.api.nvim_create_autocmd('BufEnter', { - desc = 'Track recent real file buffers for alternate-buffer jumps', - callback = function(args) - local buf = args.buf - - if is_real_file_buffer(buf) and buf ~= last_file_buf then - previous_file_buf = last_file_buf - last_file_buf = buf - end - end, -}) - + vim.cmd('Explore ' .. vim.fn.fnameescape(vim.fn.getcwd())) +end, { desc = 'Netrw: Tab explore (project root)', silent = true }) -- Enable line numbers in netrw buffers vim.api.nvim_create_autocmd('FileType', { pattern = 'netrw', - desc = 'Configure netrw buffer-local options', callback = function() - local buf = vim.api.nvim_get_current_buf() - vim.bo.buflisted = false vim.opt_local.number = true vim.opt_local.relativenumber = true - - -- netrw installs its own buffer mappings while building the listing. - -- Apply the preview extension after that setup has finished. - vim.schedule(function() - if is_valid_buffer(buf) and vim.bo[buf].filetype == 'netrw' then - netrw_preview.setup(buf) - end - end) end, }) diff --git a/lua/netrw-preview.lua b/lua/netrw-preview.lua deleted file mode 100644 index cef3a1a..0000000 --- a/lua/netrw-preview.lua +++ /dev/null @@ -1,728 +0,0 @@ -local M = {} - -local uv = vim.uv -local states = {} -local preview_buffers = {} -local preview_group = vim.api.nvim_create_augroup('netrw_live_preview', { clear = true }) - -local DEBOUNCE_MS = 90 -local MAX_ENTRIES = 200 -local PREVIEW_BUFFER_CLEANUP_MS = 2000 - -local function is_valid_buffer(buf) - return type(buf) == 'number' and buf > 0 and vim.api.nvim_buf_is_valid(buf) -end - -local function is_valid_window(win) - return type(win) == 'number' and win > 0 and vim.api.nvim_win_is_valid(win) -end - -local function is_valid_tab(tab) - return type(tab) == 'number' and tab > 0 and vim.api.nvim_tabpage_is_valid(tab) -end - -local function is_remote_path(path) - return type(path) == 'string' and path:match('^%a[%w+.-]*://') ~= nil -end - -local function netrw_call(name, ...) - return pcall(vim.fn['netrw#Call'], name, ...) -end - -local function find_preview_window(tab) - if not is_valid_tab(tab) then - return nil - end - - for _, win in ipairs(vim.api.nvim_tabpage_list_wins(tab)) do - if is_valid_window(win) and vim.wo[win].previewwindow then - return win - end - end -end - -local function close_timer(state, key) - key = key or 'timer' - local timer = state and state[key] - if not timer then - return - end - - pcall(timer.stop, timer) - if not timer:is_closing() then - pcall(timer.close, timer) - end - state[key] = nil -end - -local function indent_guides_enabled(buf) - local ok, config = pcall(require, 'ibl.config') - if not ok or not config.config then - return nil - end - return config.get_config(buf).enabled -end - -local function set_indent_guides(buf, enabled) - if enabled == nil then - return - end - - local ok, ibl = pcall(require, 'ibl') - if ok and ibl.initialized then - ibl.setup_buffer(buf, { enabled = enabled }) - end -end - -local function restore_preview_buffer(buf, for_editing) - local metadata = preview_buffers[buf] - if not metadata or not is_valid_buffer(buf) then - return - end - - vim.b[buf].netrw_live_preview_buffer = nil - vim.bo[buf].bufhidden = metadata.bufhidden - vim.bo[buf].buflisted = for_editing or metadata.buflisted - vim.bo[buf].syntax = metadata.syntax - vim.diagnostic.enable(metadata.diagnostics_enabled, { bufnr = buf }) - set_indent_guides(buf, metadata.indent_guides_enabled) - if metadata.treesitter_active then - pcall(vim.treesitter.start, buf) - end - preview_buffers[buf] = nil -end - -local function schedule_preview_buffer_cleanup(state) - if not state or state.preview_cleanup_scheduled then - return - end - - state.preview_cleanup_scheduled = true - vim.defer_fn(function() - state.preview_cleanup_scheduled = false - - for buf, metadata in pairs(preview_buffers) do - local is_preview = is_valid_buffer(buf) and vim.b[buf].netrw_live_preview_buffer == true - local is_visible = is_valid_buffer(buf) and #vim.fn.win_findbuf(buf) > 0 - if not is_preview or not is_visible then - if is_preview and metadata.loaded then - restore_preview_buffer(buf, false) - end - if not is_preview then - preview_buffers[buf] = nil - end - end - end - end, PREVIEW_BUFFER_CLEANUP_MS) -end - -local function close_preview(state) - if not state then - return - end - - local preview = find_preview_window(state.tab) - if preview then - pcall(vim.api.nvim_win_close, preview, false) - schedule_preview_buffer_cleanup(state) - end -end - -local function normalize_local_path(path) - if type(path) ~= 'string' or path == '' then - return nil - end - - local trimmed = path:gsub('/+$', '') - if trimmed == '' and path:sub(1, 1) == '/' then - trimmed = '/' - end - return vim.fs.normalize(trimmed) -end - -local function selected_entry(buf, win) - if not is_valid_buffer(buf) or not is_valid_window(win) then - return nil, 'netrw buffer or window is no longer valid' - end - - return vim.api.nvim_win_call(win, function() - local curdir = vim.b[buf].netrw_curdir - local ok_word, word = netrw_call('NetrwGetWord') - if not ok_word or type(word) ~= 'string' or word == '' then - return nil, 'netrw could not identify the selected entry' - end - - if is_remote_path(curdir) then - return { - remote = true, - word = word, - } - end - - local path - if vim.w[win].netrw_liststyle == 3 and type(vim.w[win].netrw_treetop) == 'string' then - local ok_tree, tree_path = netrw_call('NetrwTreePath', vim.w[win].netrw_treetop) - if not ok_tree or type(tree_path) ~= 'string' or tree_path == '' then - return nil, 'netrw could not resolve the selected tree path' - end - - if word == '../' then - path = vim.fs.dirname(normalize_local_path(tree_path)) - elseif word:sub(-1) == '/' then - path = tree_path - else - path = vim.fs.joinpath(tree_path, (word:gsub('[@*]$', ''))) - end - else - local name = word:gsub('/$', ''):gsub('[@*]$', '') - path = vim.fs.isabs(name) and name or vim.fs.joinpath(curdir, name) - end - - return { - path = normalize_local_path(path), - remote = false, - word = word, - } - end) -end - -local function human_size(bytes) - if type(bytes) ~= 'number' then - return '—' - end - - local units = { 'B', 'K', 'M', 'G', 'T' } - local value = bytes - local unit = 1 - while value >= 1024 and unit < #units do - value = value / 1024 - unit = unit + 1 - end - - if unit == 1 then - return ('%d%s'):format(value, units[unit]) - end - - local formatted = ('%.1f'):format(value):gsub('%.0$', '') - return formatted .. units[unit] -end - -local function modified_time(stat) - local seconds = stat and stat.mtime and stat.mtime.sec - if type(seconds) ~= 'number' then - return '—' - end - - return os.date('%Y-%m-%d %H:%M', seconds) -end - -local function visible_in_netrw(name, entry_type) - local hide_mode = tonumber(vim.g.netrw_hide) or 0 - local pattern = vim.g.netrw_list_hide - if hide_mode == 0 or type(pattern) ~= 'string' or pattern == '' then - return true - end - - local candidate = name .. (entry_type == 'directory' and '/' or '') - local hidden = vim.fn.match(candidate, pattern) >= 0 - return (hide_mode == 1 and not hidden) or (hide_mode == 2 and hidden) -end - -local function entry_details(directory, name, hinted_type) - local path = vim.fs.joinpath(directory, name) - local stat = uv.fs_lstat(path) - local entry_type = stat and stat.type or hinted_type or 'unknown' - local display_name = name - local size = '—' - - if entry_type == 'directory' then - display_name = display_name .. '/' - elseif entry_type == 'file' then - size = human_size(stat and stat.size) - elseif entry_type == 'link' then - local target = uv.fs_readlink(path) - display_name = display_name .. '@' - if target then - display_name = display_name .. ' -> ' .. target - end - end - - return { - name = name, - display_name = display_name, - path = path, - type = entry_type, - size = size, - bytes = entry_type == 'file' and stat and stat.size or 0, - modified = modified_time(stat), - } -end - -local function plural(count, singular, plural_form) - return ('%d %s'):format(count, count == 1 and singular or plural_form) -end - -local function directory_lines(path) - local scan, scan_error = uv.fs_scandir(path) - if not scan then - return { - path .. '/', - '', - 'Unable to read directory:', - tostring(scan_error or 'unknown error'), - } - end - - local entries = {} - local counts = { directory = 0, file = 0, link = 0, other = 0 } - local total_file_size = 0 - - while true do - local name, hinted_type = uv.fs_scandir_next(scan) - if not name then - break - end - - if visible_in_netrw(name, hinted_type) then - local entry = entry_details(path, name, hinted_type) - if entry.type == 'directory' then - counts.directory = counts.directory + 1 - elseif entry.type == 'file' then - counts.file = counts.file + 1 - total_file_size = total_file_size + (entry.bytes or 0) - elseif entry.type == 'link' then - counts.link = counts.link + 1 - else - counts.other = counts.other + 1 - end - table.insert(entries, entry) - end - end - - local ranks = { directory = 1, file = 2, link = 3 } - table.sort(entries, function(a, b) - local a_rank = ranks[a.type] or 4 - local b_rank = ranks[b.type] or 4 - if a_rank ~= b_rank then - return a_rank < b_rank - end - return a.name:lower() < b.name:lower() - end) - - local lines = { - path == '/' and '/' or path .. '/', - '', - ('%-5s %8s %-16s %s'):format('Type', 'Size', 'Modified', 'Name'), - ('%-5s %8s %-16s %s'):format('-----', '--------', '----------------', '----'), - } - - for index, entry in ipairs(entries) do - if index > MAX_ENTRIES then - break - end - local label = entry.type == 'directory' and 'dir' - or entry.type == 'file' and 'file' - or entry.type == 'link' and 'link' - or 'other' - table.insert(lines, ('%-5s %8s %-16s %s'):format( - label, - entry.size, - entry.modified, - entry.display_name - )) - end - - if #entries == 0 then - table.insert(lines, '(empty)') - elseif #entries > MAX_ENTRIES then - table.insert(lines, ('… showing first %d of %d entries'):format(MAX_ENTRIES, #entries)) - end - - table.insert(lines, '') - local summary = { - plural(counts.directory, 'directory', 'directories'), - plural(counts.file, 'file', 'files'), - } - if counts.link > 0 then - table.insert(summary, plural(counts.link, 'link', 'links')) - end - if counts.other > 0 then - table.insert(summary, plural(counts.other, 'other entry', 'other entries')) - end - table.insert(lines, table.concat(summary, ', ') .. ', ' .. human_size(total_file_size) .. ' in immediate files') - - return lines -end - -local function symlink_lines(path, stat) - local target, read_error = uv.fs_readlink(path) - return { - path .. '@', - '', - 'Type: symbolic link', - 'Target: ' .. tostring(target or read_error or 'unavailable'), - 'Modified: ' .. modified_time(stat), - '', - 'The target is not traversed in directory previews.', - } -end - -local function unavailable_lines(path, error_message) - return { - tostring(path or '(unknown entry)'), - '', - 'Preview unavailable:', - tostring(error_message or 'entry no longer exists'), - } -end - -local function ensure_summary_buffer(state) - if is_valid_buffer(state.summary_buf) then - return state.summary_buf - end - - local buf = vim.api.nvim_create_buf(false, true) - vim.bo[buf].buftype = 'nofile' - vim.bo[buf].bufhidden = 'wipe' - vim.bo[buf].swapfile = false - vim.bo[buf].filetype = 'netrw-preview' - vim.b[buf].netrw_directory_preview = true - state.summary_buf = buf - return buf -end - -local function set_summary_lines(buf, lines) - vim.bo[buf].readonly = false - vim.bo[buf].modifiable = true - vim.api.nvim_buf_set_lines(buf, 0, -1, false, lines) - vim.bo[buf].modified = false - vim.bo[buf].modifiable = false - vim.bo[buf].readonly = true -end - -local function configure_summary_window(win) - vim.wo[win].previewwindow = true - vim.wo[win].number = false - vim.wo[win].relativenumber = false - vim.wo[win].cursorline = false - vim.wo[win].wrap = false - vim.wo[win].list = false - vim.wo[win].spell = false - vim.wo[win].signcolumn = 'no' -end - -local function show_summary(state, netrw_win, lines) - local buf = ensure_summary_buffer(state) - set_summary_lines(buf, lines) - - local preview = find_preview_window(state.tab) - if preview then - local ok = pcall(vim.api.nvim_win_set_buf, preview, buf) - if not ok then - return false - end - else - local ok, created = pcall(vim.api.nvim_open_win, buf, false, { - split = 'below', - win = netrw_win, - noautocmd = true, - }) - if not ok then - return false - end - preview = created - end - - configure_summary_window(preview) - vim.api.nvim_win_set_cursor(preview, { 1, 0 }) - return true -end - -local function native_preview(entry) - local path = entry.path - if entry.remote then - -- Match netrw's own `p` mapping arguments for local and remote listings. - local ok_path, resolved = netrw_call('NetrwBrowseChgDir', 1, entry.word, 1, 1) - if not ok_path then - return false - end - path = resolved - end - - if type(path) ~= 'string' or path == '' then - return false - end - - local ok = netrw_call('NetrwPreview', path) - return ok -end - -local function show_native_preview(state, entry) - state.native_preview_active = true - - local existing_buf = entry.path and vim.fn.bufnr(entry.path) or -1 - local existing = is_valid_buffer(existing_buf) and { - buf = existing_buf, - loaded = vim.api.nvim_buf_is_loaded(existing_buf), - buflisted = vim.bo[existing_buf].buflisted, - bufhidden = vim.bo[existing_buf].bufhidden, - syntax = vim.bo[existing_buf].syntax, - treesitter_active = vim.treesitter.highlighter.active[existing_buf] ~= nil, - diagnostics_enabled = vim.diagnostic.is_enabled({ bufnr = existing_buf }), - indent_guides_enabled = indent_guides_enabled(existing_buf), - } or nil - - local ok, shown = pcall(native_preview, entry) - - local preview = find_preview_window(state.tab) - if preview then - local preview_buf = vim.api.nvim_win_get_buf(preview) - local preview_only = #vim.fn.win_findbuf(preview_buf) == 1 - if vim.bo[preview_buf].buftype == '' and preview_only then - preview_buffers[preview_buf] = preview_buffers[preview_buf] or { - loaded = existing ~= nil and existing.buf == preview_buf and existing.loaded, - buflisted = existing ~= nil and existing.buf == preview_buf and existing.buflisted or false, - bufhidden = existing ~= nil and existing.buf == preview_buf and existing.bufhidden or '', - syntax = existing ~= nil and existing.buf == preview_buf and existing.syntax or '', - treesitter_active = existing ~= nil - and existing.buf == preview_buf - and existing.loaded - and existing.treesitter_active - or vim.treesitter.highlighter.active[preview_buf] ~= nil, - diagnostics_enabled = existing ~= nil - and existing.buf == preview_buf - and existing.diagnostics_enabled - or vim.diagnostic.is_enabled({ bufnr = preview_buf }), - indent_guides_enabled = existing ~= nil - and existing.buf == preview_buf - and existing.indent_guides_enabled - or indent_guides_enabled(preview_buf), - } - - vim.bo[preview_buf].bufhidden = 'hide' - vim.bo[preview_buf].buflisted = preview_buffers[preview_buf].buflisted - vim.b[preview_buf].netrw_live_preview_buffer = true - vim.diagnostic.enable(false, { bufnr = preview_buf }) - set_indent_guides(preview_buf, false) - end - end - - if is_valid_window(state.win) then - pcall(vim.api.nvim_set_current_win, state.win) - end - state.native_preview_active = false - return ok and shown -end - -local function preview_selected(state, allow_create) - if not state or not is_valid_buffer(state.buf) or not is_valid_window(state.win) then - return - end - - if vim.api.nvim_win_get_buf(state.win) ~= state.buf then - return - end - - if not find_preview_window(state.tab) and not allow_create then - return - end - - local entry, resolve_error = selected_entry(state.buf, state.win) - if not entry then - show_summary(state, state.win, unavailable_lines(nil, resolve_error)) - return - end - - if entry.remote then - show_native_preview(state, entry) - return - end - - local stat, stat_error = uv.fs_lstat(entry.path) - if not stat then - show_summary(state, state.win, unavailable_lines(entry.path, stat_error)) - return - end - - if stat.type == 'directory' then - show_summary(state, state.win, directory_lines(entry.path)) - elseif stat.type == 'link' then - show_summary(state, state.win, symlink_lines(entry.path, stat)) - elseif stat.type == 'file' then - show_native_preview(state, entry) - else - show_summary(state, state.win, unavailable_lines(entry.path, 'unsupported entry type: ' .. stat.type)) - end -end - -local function schedule_preview(state) - if not state then - return - end - - if not find_preview_window(state.tab) then - schedule_preview_buffer_cleanup(state) - return - end - - if not state.timer then - state.timer = uv.new_timer() - end - - state.timer:stop() - state.timer:start(DEBOUNCE_MS, 0, vim.schedule_wrap(function() - preview_selected(state, false) - end)) -end - -vim.api.nvim_create_autocmd('BufEnter', { - group = preview_group, - desc = 'Restore normal editing behavior for a file previously used as a netrw preview', - callback = function(args) - local buf = args.buf - if not is_valid_buffer(buf) or vim.b[buf].netrw_live_preview_buffer ~= true then - return - end - - local win = vim.api.nvim_get_current_win() - if is_valid_window(win) and vim.wo[win].previewwindow then - return - end - - if preview_buffers[buf] then - restore_preview_buffer(buf, true) - end - end, -}) - -local function state_for(buf) - local state = states[buf] - if not state then - state = { buf = buf } - states[buf] = state - end - return state -end - -local function schedule_leave_cleanup(state) - close_timer(state, 'leave_timer') - state.leave_timer = uv.new_timer() - state.leave_timer:start(20, 0, vim.schedule_wrap(function() - close_timer(state, 'leave_timer') - - if state.native_preview_active then - return - end - - local current_win = vim.api.nvim_get_current_win() - local still_in_explorer = is_valid_window(current_win) - and current_win == state.win - and vim.api.nvim_win_get_buf(current_win) == state.buf - if not still_in_explorer then - close_preview(state) - end - end)) -end - -local function scroll_preview(direction, count) - local preview = find_preview_window(vim.api.nvim_get_current_tabpage()) - if not preview then - return - end - - local key = vim.keycode(direction > 0 and '' or '') - pcall(vim.api.nvim_win_call, preview, function() - vim.cmd.normal({ args = { tostring(count) .. key }, bang = true }) - end) -end - -function M.setup(buf) - if vim.fn.has('nvim-0.12') == 0 or not is_valid_buffer(buf) then - return false - end - - if vim.b[buf].netrw_live_preview_configured then - return true - end - - if vim.fn.exists('*netrw#Call') ~= 1 then - return false - end - - vim.b[buf].netrw_live_preview_configured = true - local state = state_for(buf) - - vim.keymap.set('n', 'p', function() - state.win = vim.api.nvim_get_current_win() - state.tab = vim.api.nvim_get_current_tabpage() - - if find_preview_window(state.tab) then - close_timer(state) - close_preview(state) - return - end - - preview_selected(state, true) - end, { - buffer = buf, - desc = 'Netrw: Toggle preview and live updates', - nowait = true, - silent = true, - }) - - vim.keymap.set('n', '', function() - scroll_preview(1, vim.v.count1) - end, { - buffer = buf, - desc = 'Netrw: Scroll preview down', - nowait = true, - silent = true, - }) - - vim.keymap.set('n', '', function() - scroll_preview(-1, vim.v.count1) - end, { - buffer = buf, - desc = 'Netrw: Scroll preview up', - nowait = true, - silent = true, - }) - - vim.api.nvim_create_autocmd('CursorMoved', { - group = preview_group, - buffer = buf, - desc = 'Update an existing netrw preview after cursor movement', - callback = function() - state.win = vim.api.nvim_get_current_win() - state.tab = vim.api.nvim_get_current_tabpage() - schedule_preview(state) - end, - }) - - vim.api.nvim_create_autocmd({ 'BufLeave', 'WinLeave' }, { - group = preview_group, - buffer = buf, - desc = 'Close the netrw preview when leaving the explorer', - callback = function() - close_timer(state) - schedule_leave_cleanup(state) - end, - }) - - vim.api.nvim_create_autocmd('BufWipeout', { - group = preview_group, - buffer = buf, - once = true, - desc = 'Release netrw preview resources', - callback = function() - close_timer(state) - close_timer(state, 'leave_timer') - close_preview(state) - states[buf] = nil - end, - }) - - return true -end - -return M diff --git a/lua/paper-tonic-modern/colors.lua b/lua/paper-tonic-modern/colors.lua index 7096388..a0a9cf7 100644 --- a/lua/paper-tonic-modern/colors.lua +++ b/lua/paper-tonic-modern/colors.lua @@ -1,6 +1,6 @@ -- Paper Tonic Modern - Color Palette -- Extracted from original Paper Tonic colorscheme --- Supports both light (paper-like) and dark modes +-- Light, paper-like theme with subtle colors local M = {} @@ -9,177 +9,107 @@ local M = {} -- 256: Integer 0-255 for 256-color terminals -- ansi: ANSI color name for basic 16-color terminals --- Detect current background mode -local is_dark = vim.o.background == 'dark' - -- ============================================================================ -- Background Colors -- ============================================================================ -if is_dark then - -- Dark mode: soft dark backgrounds - M.bg = {'#27292c', 234, 'black'} - M.bg_darkest = {'#ffffff', 255, 'white'} -- Inverted: lightest for strong contrast - M.bg_ui = {'#353535', 236, 'darkgray'} -else - -- Light mode: pure white paper - M.bg = {'#ffffff', 255, 'white'} - M.bg_darkest = {'#505050', 244, 'gray'} - M.bg_ui = {'#efefef', 0, 'darkgray'} -end +-- Main background: pure white paper +M.bg = {'#ffffff', 255, 'white'} + +-- Darkest background: used for very strong contrast elements +M.bg_darkest = {'#505050', 244, 'gray'} + +-- UI background: slightly off-white for UI elements (statusline, etc.) +M.bg_ui = {'#efefef', 0, 'darkgray'} -- ============================================================================ -- Highlight Backgrounds (general) -- ============================================================================ -if is_dark then - -- Dark mode: lighter backgrounds for highlights - M.bg_hl_strong = {"#3a3a3a", 237, "darkgray"} - M.bg_hl = {"#2a2a2a", 236, "darkgray"} - M.bg_hl_weak = {"#252525", 235, "darkgray"} - - -- Special highlight backgrounds (cyan/blue tones) - M.bg_hl_special_strong = {"#1a4a5a", 24, "darkblue"} - M.bg_hl_special = {"#0a3a4a", 23, "darkblue"} - M.bg_hl_special_weak = {"#1a3545", 23, "darkblue"} - - -- Alternative special highlight (green tones) - M.bg_hl_special_alt_strong = {"#1a5a2a", 28, "darkgreen"} - M.bg_hl_special_alt = {"#0a4a1a", 22, "darkgreen"} -else - -- Light mode: neutral gray tones - M.bg_hl_strong = {"#dddddd", 17, "white"} - M.bg_hl = {"#eeeeee", 250, "white"} - M.bg_hl_weak = {"#f7f2f2", 250, "white"} - - -- Special highlight backgrounds (cyan/blue tones) - M.bg_hl_special_strong = {"#a3e0ff", 17, "cyan"} - M.bg_hl_special = {"#d4f0ff", 250, "cyan"} - M.bg_hl_special_weak = {"#e0eaff", 250, "cyan"} - - -- Alternative special highlight (green tones) - M.bg_hl_special_alt_strong = {"#74f283", 17, "cyan"} - M.bg_hl_special_alt = {"#bff2cd", 250, "cyan"} -end +-- Selection/highlight backgrounds (neutral gray tones) +M.bg_hl_strong = {"#dddddd", 17, "white"} +M.bg_hl = {"#eeeeee", 250, "white"} +M.bg_hl_weak = {"#f7f2f2", 250, "white"} + +-- Special highlight backgrounds (cyan/blue tones - for LSP references, search, etc.) +M.bg_hl_special_strong = {"#a3e0ff", 17, "cyan"} +M.bg_hl_special = {"#d4f0ff", 250, "cyan"} +M.bg_hl_special_weak = {"#e0eaff", 250, "cyan"} + +-- Alternative special highlight (green tones - for diff additions, etc.) +M.bg_hl_special_alt_strong = {"#74f283", 17, "cyan"} +M.bg_hl_special_alt = {"#bff2cd", 250, "cyan"} -- ============================================================================ -- Status Backgrounds (error, success, modified, fail) -- ============================================================================ -if is_dark then - -- Dark mode: darker tinted backgrounds - M.bg_error = {'#4a2020', 52, 'darkred'} - M.bg_error_weak = {'#3a1a1a', 52, 'darkred'} - M.bg_success = {'#1a3a1a', 22, 'darkgreen'} - M.bg_modified = {'#1a1a3a', 17, 'darkblue'} - M.bg_fail = {'#3a1a1a', 52, 'darkred'} -else - -- Light mode: light tinted backgrounds - M.bg_error = {'#ffd7d7', 196, 'white'} - M.bg_error_weak = {'#ffefef', 196, 'white'} - M.bg_success = {'#e0ece0', 196, 'white'} - M.bg_modified = {'#e0e0ec', 196, 'white'} - M.bg_fail = {'#ece0e0', 196, 'white'} -end +-- Error backgrounds (red/pink tones) +M.bg_error = {'#ffd7d7', 196, 'white'} +M.bg_error_weak = {'#ffefef', 196, 'white'} + +-- Success background (green tone) +M.bg_success = {'#e0ece0', 196, 'white'} + +-- Modified background (blue tone) +M.bg_modified = {'#e0e0ec', 196, 'white'} + +-- Fail/warning background (red tone) +M.bg_fail = {'#ece0e0', 196, 'white'} -- ============================================================================ -- Foreground Colors (text) -- ============================================================================ -if is_dark then - -- Dark mode: light text (inverted from light mode) - M.fg_stronger = {'#e0e0e0', 253, 'white'} -- Lightest text - M.fg_strong = {'#c0c0c0', 250, 'white'} -- Light text - M.fg = {'#a0a0a0', 248, 'gray'} -- Normal text (default) - M.fg_weak = {'#808080', 244, 'gray'} -- Dimmer text (comments, less important) - M.fg_weaker = {'#606060', 241, 'darkgray'} -- Dimmest text (very subtle) - M.fg_exception = {'#d08080', 174, 'red'} -- Light reddish for errors/exceptions -else - -- Light mode: dark text on paper - M.fg_stronger = {'#444444', 236, 'darkgrey'} -- Darkest text - M.fg_strong = {'#666666', 236, 'darkgrey'} -- Dark text - M.fg = {'#8c8c8c', 244, 'gray'} -- Normal text (default) - M.fg_weak = {'#9d9d9d', 251, 'gray'} -- Light text (comments, less important) - M.fg_weaker = {'#bbbbbb', 251, 'gray'} -- Lightest text (very subtle) - M.fg_exception = {'#7c4444', 251, 'gray'} -- Reddish-brown for errors/exceptions -end +-- Main text colors (gray scale, strongest to weakest) +M.fg_stronger = {'#444444', 236, 'darkgrey'} -- Darkest text +M.fg_strong = {'#666666', 236, 'darkgrey'} -- Dark text +M.fg = {'#8c8c8c', 244, 'gray'} -- Normal text (default) +M.fg_weak = {'#9d9d9d', 251, 'gray'} -- Light text (comments, less important) +M.fg_weaker = {'#bbbbbb', 251, 'gray'} -- Lightest text (very subtle) + +-- Exception foreground (reddish-brown for errors/exceptions) +M.fg_exception = {'#7c4444', 251, 'gray'} -- ============================================================================ -- Status Foreground Colors (Git/Diff - muted natural tones) -- ============================================================================ -if is_dark then - -- Dark mode: lighter muted tones - M.success = {'#a0d0a0', 114, 'green'} -- Success/addition (muted green) - M.modified = {'#a0a0d0', 110, 'blue'} -- Modified/change (muted blue) - M.fail = {'#d0a0a0', 174, 'red'} -- Fail/deletion (muted red) -else - -- Light mode: natural muted colors - M.success = {'#89af89', 196, 'white'} -- Success/addition (muted green) - M.modified = {'#8989af', 196, 'white'} -- Modified/change (muted blue) - M.fail = {'#af8989', 196, 'white'} -- Fail/deletion (muted red) -end +-- Git/diff status indicators (used in statusline, signs, etc.) +-- These are muted, natural colors for git changes +M.success = {'#89af89', 196, 'white'} -- Success/addition (muted green) +M.modified = {'#8989af', 196, 'white'} -- Modified/change (muted blue) +M.fail = {'#af8989', 196, 'white'} -- Fail/deletion (muted red) -- ============================================================================ -- Quickfix/Location List Diagnostic Colors (Muted tones like git/diff) -- ============================================================================ -if is_dark then - -- Dark mode: lighter muted tones - M.qf_error = {'#d07070', 167, 'red'} -- Error (lighter muted red) - M.qf_warn = {'#d0a080', 173, 'yellow'} -- Warning (muted orange) - M.qf_info = {'#80b0d0', 110, 'blue'} -- Info (muted blue) - M.qf_hint = {'#80d0d0', 116, 'cyan'} -- Hint (lighter muted cyan) -else - -- Light mode: darker muted tones - M.qf_error = {'#af3f3f', 196, 'white'} -- Error (darker muted red for more contrast) - M.qf_warn = {'#af7f5f', 196, 'white'} -- Warning (muted orange) - M.qf_info = {'#5f8faf', 196, 'white'} -- Info (muted blue) - M.qf_hint = {'#5fafaf', 196, 'white'} -- Hint (lighter muted blue) -end +-- These are for quickfix/location list only - similar muted tone to git/diff +M.qf_error = {'#af3f3f', 196, 'white'} -- Error (darker muted red for more contrast) +M.qf_warn = {'#af7f5f', 196, 'white'} -- Warning (muted orange) +M.qf_info = {'#5f8faf', 196, 'white'} -- Info (muted blue) +M.qf_hint = {'#5fafaf', 196, 'white'} -- Hint (lighter muted blue) -- ============================================================================ --- Diagnostic/Alert Colors (Fluorescent/Neon - intentionally jarring) +-- Alert/Diagnostic Colors (Fluorescent/Neon - intentionally jarring) -- ============================================================================ -- These colors are designed to be NOTICED, not blend in with code --- Fluorescent/neon aesthetic --- In light mode: bright, synthetic, stands out on white paper ("highlighter marker") --- In dark mode: slightly toned down but still prominent +-- Fluorescent/neon aesthetic similar to bg_hl_special_alt colors +-- Think "highlighter marker" - bright, synthetic, stands out on white paper -if is_dark then - -- Dark mode: still bright but not as harsh - M.diag_error = {'#ff4488', 204, 'red'} -- Bright pink-red - M.diag_warn = {'#ff8833', 208, 'yellow'} -- Bright orange - M.diag_info = {'#44ccff', 81, 'cyan'} -- Bright cyan - M.diag_hint = {'#88ddff', 117, 'cyan'} -- Softer cyan - M.diag_hint_dark = {'#44aacc', 74, 'cyan'} -- Medium cyan - M.diag_weak = {'#ffaa66', 215, 'yellow'} -- Lighter orange - - -- Diagnostic backgrounds - M.bg_diag_error = {'#3a1a25', 52, 'darkred'} - M.bg_diag_warn = {'#3a2a1a', 58, 'brown'} - M.bg_diag_info = {'#1a2a3a', 17, 'darkblue'} - M.bg_diag_hint = {'#1a2f3a', 23, 'darkblue'} - - M.question = {'#44ccff', 81, 'cyan'} -else - -- Light mode: fluorescent colors for maximum visibility - M.diag_error = {'#ff0066', 197, 'red'} -- Hot pink-red (screams "error!") - M.diag_warn = {'#ff6600', 202, 'red'} -- Fluorescent orange (warnings) - M.diag_info = {'#00ccff', 45, 'cyan'} -- Bright fluorescent cyan (info) - M.diag_hint = {'#66e0ff', 81, 'cyan'} -- Softer fluorescent cyan (hint) - M.diag_hint_dark = {'#0099cc', 38, 'cyan'} -- Darker cyan for UI elements - M.diag_weak = {'#ff9933', 208, 'yellow'} -- Lighter orange (spelling, etc.) - - -- Diagnostic backgrounds - M.bg_diag_error = {'#ffe6f0', 224, 'white'} - M.bg_diag_warn = {'#fff0e6', 223, 'white'} - M.bg_diag_info = {'#e6f9ff', 195, 'white'} - M.bg_diag_hint = {'#f0fcff', 195, 'white'} - - M.question = {'#00ccff', 45, 'cyan'} -end +-- LSP Diagnostics - Fluorescent colors for maximum visibility +M.diag_error = {'#ff0066', 197, 'red'} -- Hot pink-red (screams "error!") +M.diag_warn = {'#ff6600', 202, 'red'} -- Fluorescent orange (warnings) +M.diag_info = {'#00ccff', 45, 'cyan'} -- Bright fluorescent cyan (info - more prominent) +M.diag_hint = {'#66e0ff', 81, 'cyan'} -- Softer fluorescent cyan (hint - less prominent) + +-- LSP Diagnostic backgrounds - Light tinted versions for highlighting code +M.bg_diag_error = {'#ffe6f0', 224, 'white'} -- Very light pink (for error backgrounds) +M.bg_diag_warn = {'#fff0e6', 223, 'white'} -- Very light orange (for warning backgrounds) +M.bg_diag_info = {'#e6f9ff', 195, 'white'} -- Very light cyan (for info backgrounds) +M.bg_diag_hint = {'#f0fcff', 195, 'white'} -- Very light cyan (for hint backgrounds) -- ============================================================================ -- Primary Accent Colors (brownish-red tones) @@ -187,19 +117,15 @@ end -- Primary accent: For "base" languages -- Used for: PHP, JavaScript, Python, etc. -if is_dark then - -- Dark mode: lighter brownish-red tones - M.primary_stronger = {"#d0a0a0", 181, "white"} - M.primary_strong = {"#c09090", 181, "white"} - M.primary = {"#b08080", 138, "gray"} - M.primary_weak = {"#a07070", 131, "darkgray"} -else - -- Light mode: darker brownish-red tones - M.primary_stronger = {"#7f4b4b", 236, "black"} - M.primary_strong = {"#5a4444", 236, "black"} - M.primary = {"#6b5555", 244, "gray"} - M.primary_weak = {"#7c6666", 248, "darkgray"} -end +-- Languages using primary: +-- - PHP: always primary (whether standalone or in tags within HTML) +-- - JavaScript: always primary (standalone or embedded) +-- - Python: always primary +-- Note: Both PHP and JS use primary; acceptable since embedded JS in PHP is discouraged +M.primary_stronger = {"#7f4b4b", 236, "black"} -- Darkest accent +M.primary_strong = {"#5a4444", 236, "black"} -- Dark accent +M.primary = {"#6b5555", 244, "gray"} -- Normal accent +M.primary_weak = {"#7c6666", 248, "darkgray"} -- Light accent -- ============================================================================ -- Language-Specific Color Palettes (for mixed-language contexts) @@ -214,49 +140,31 @@ end -- - HTML tags: c3 (blue) - everywhere, whether in .html or embedded in PHP -- - CSS rules: c2 (green) - everywhere, whether in .css or + + +
+

Hello World

+
+ + + + diff --git a/test-colorscheme.lua b/test-colorscheme.lua new file mode 100644 index 0000000..14c9714 --- /dev/null +++ b/test-colorscheme.lua @@ -0,0 +1,38 @@ +-- Test file for Paper Tonic Modern colorscheme +-- This file tests various syntax highlighting + +-- Comments should be light gray, italic, bold +local function test_function() + -- Strings should be dark gray + local my_string = "Hello, world!" + + -- Numbers and booleans + local my_number = 42 + local my_bool = true + + -- Keywords and conditionals + if my_bool then + print(my_string) + end + + -- Loops + for i = 1, 10 do + print(i) + end + + return my_number +end + +-- Test HTML colors (should be blue - c3) +local html = [[ +
+

Hello

+
+]] + +-- Test CSS colors (should be green - c2) +local css = [[ + .test { + color: red; + } +]] diff --git a/test-css.css b/test-css.css new file mode 100644 index 0000000..f11b5d2 --- /dev/null +++ b/test-css.css @@ -0,0 +1,25 @@ +.my-class { + color: red; + background-color: blue; + font-size: 16px; +} + +#my-id { + margin: 10px; +} + +div.special { + padding: 5px; +} + +* { + box-sizing: border-box; +} + +.parent > .child { + display: block; +} + +a:hover { + color: green; +} diff --git a/test-diagnostics.js b/test-diagnostics.js new file mode 100644 index 0000000..701496a --- /dev/null +++ b/test-diagnostics.js @@ -0,0 +1,73 @@ +/** + * Test file for JavaScript/TypeScript LSP diagnostics + * Tests error, warning, info, and hint virtual text colors + */ + +// ERROR: Undefined variable +console.log(undefinedVariable); + +// ERROR: Undefined function +nonexistentFunction(); + +// WARNING: Unused variable +const unusedVariable = "I'm never used"; + +// ERROR: Type error (if using TypeScript or JSDoc) +/** + * @param {string} name + * @param {number} age + */ +function greet(name, age) { + console.log(`Hello ${name}, you are ${age}`); +} +greet("Alice", "not a number"); // Type mismatch + +// WARNING: Unreachable code +function earlyReturn() { + return "done"; + console.log("Never executed"); // Unreachable +} + +// ERROR: Invalid property access +const obj = {}; +console.log(obj.nonexistent.nested.property); + +// WARNING: Comparison with different types +if ("5" == 5) { // Should use === + console.log("loose equality"); +} + +// ERROR: Missing parameter +greet("Bob"); // Missing age parameter + +// INFO: Unnecessary type assertion (TypeScript) +const num = 123; +const str = String(num); // Could be simplified + +// HINT: Variable can be const instead of let +let neverReassigned = "should be const"; +console.log(neverReassigned); + +// ERROR: Division by zero (some linters catch this) +const result = 10 / 0; + +// WARNING: Duplicate case label +const value = 1; +switch (value) { + case 1: + console.log("one"); + break; + case 1: // Duplicate case + console.log("one again"); + break; +} + +// ERROR: Invalid this context +const obj2 = { + name: "test", + greet: () => { + console.log(this.name); // Arrow function doesn't bind this + } +}; + +console.log("JavaScript diagnostic test complete!"); diff --git a/test-diagnostics.lua b/test-diagnostics.lua new file mode 100644 index 0000000..affe791 --- /dev/null +++ b/test-diagnostics.lua @@ -0,0 +1,84 @@ +-- Test file for LSP diagnostics - lua_ls +-- This file intentionally contains different diagnostic levels +-- to test diagnostic virtual text colors in paper-tonic-modern + +-- Define some valid code first +local valid_function = function() + return "valid" +end + +---@diagnostic disable-next-line: unused-local +local _ = valid_function() + +-- ERROR: Undefined global (lua_ls marks this as error) +print(undefined_global_variable) + +-- ERROR: Undefined function +undefined_function() + +-- WARNING: Unused local variable (lua_ls warning level) +local unused_variable = "I'm never used" + +-- WARNING: Lowercase global (should be local) +lowercase_global = "This should be local or uppercase" + +-- HINT: Redundant parentheses (some configs treat as hint) +local x = (5) +print(x) + +-- ERROR: Wrong number of arguments +local function takes_two_args(a, b) + return a + b +end +takes_two_args(1) -- Missing second argument (lua_ls error) + +-- ERROR: Attempting to call a non-function +local not_a_function = "string" +not_a_function() + +-- WARNING: Shadowing outer local +local shadow_me = 1 +do + local shadow_me = 2 -- Shadows outer local (warning) + print(shadow_me) +end + +-- ERROR: Invalid table access +local empty_table = {} +print(empty_table.nonexistent.deeply.nested.property) + +-- WARNING/HINT: Can be simplified +if true == true then -- Redundant comparison + print("always true") +end + +-- ERROR: Type annotation mismatch +---@type string +local should_be_string = 123 -- Assigning number to string type + +-- WARNING: Unreachable code after return +local function has_dead_code() + return "done" + print("This will never execute") -- Unreachable +end + +-- Valid function call +print(takes_two_args(1, 2)) + +-- ERROR: Calling vim API that doesn't exist +vim.nonexistent_function() + +-- HINT: Trailing whitespace or style issues (if configured) +local with_trailing_space = "value" +print(with_trailing_space) + +-- ERROR: Parameter type mismatch +---@param name string +---@param age number +local function greet(name, age) + print("Hello, " .. name .. ", you are " .. age) +end +greet(123, "not a number") -- Wrong types + +print("Diagnostic test complete!") + diff --git a/test-diagnostics.php b/test-diagnostics.php new file mode 100644 index 0000000..cffaed4 --- /dev/null +++ b/test-diagnostics.php @@ -0,0 +1,70 @@ +someMethod(); + +// ERROR: Invalid array access (multiple levels) +$emptyArray = array(); +echo $emptyArray['key']['nested']['deep']; + +// Valid function call +requiresTwoArgs( 'hello', 'world' ); + +// HINT/WARNING: Unreachable code (some configs) +function hasDeadCode(): string { + return 'done'; + echo 'This is unreachable'; // Dead code. +} + +echo "Test complete!\n"; diff --git a/test-html.html b/test-html.html new file mode 100644 index 0000000..095b9d2 --- /dev/null +++ b/test-html.html @@ -0,0 +1,19 @@ + + + + + + +
+

Hello World

+
+ + diff --git a/test-semantic-highlights.sh b/test-semantic-highlights.sh new file mode 100644 index 0000000..8ab1698 --- /dev/null +++ b/test-semantic-highlights.sh @@ -0,0 +1,5 @@ +#!/bin/bash +# Test semantic highlights in a real Neovim session +# This will open test-html.html and check if custom captures are applied + +nvim test-html.html -c "normal! 15Gf\"" -c "lua vim.defer_fn(function() vim.cmd('normal! \\hi'); vim.cmd('quitall!'); end, 500)" diff --git a/test-standalone.css b/test-standalone.css new file mode 100644 index 0000000..8168953 --- /dev/null +++ b/test-standalone.css @@ -0,0 +1,11 @@ +.test-class { + color: red; +} + +#test-id { + background: blue; +} + +.another:hover { + border: 1px solid green; +} diff --git a/undodir/.gitkeep b/undodir/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/view/.gitkeep b/view/.gitkeep new file mode 100644 index 0000000..e69de29