A plugin for central tracking of open nvim listen sockets
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add plugin directory for automatic registration

rektide 20e19d8b 6f805127

+4 -6
+1
.beads/issues.jsonl
··· 5 5 {"id":"nvim-registry-59v","title":"Create CLI script to send stdin to all registry sessions","description":"Create a CLI script that reads from stdin and sends the content to all Neovim sessions listed in the listen registry. The script should:\n\n- Read content from stdin\n- Connect to each listen socket in the registry\n- Send content to set a vim register in each session\n- Accept command line flags:\n - `--register` or `-r`: Specify which vim register to write to (default: clipboard register `\"*`)\n - `--env-guard` or `-e`: Environment variable check in format NAME=VALUE. Only run if environment variable exists and matches the specified value. Example: CLIPBOARD_STATE=data\n- Handle connection errors gracefully (skip invalid sockets)\n- Report which sessions were successfully updated\n\nThis enables external tools to sync clipboard content across all Neovim instances via the registry.\n\nTechnical details:\n- Use netcat or similar to connect to Unix sockets\n- Use nvim channel API to set registers remotely\n- Handle async communication with all sockets\n- Parse CLI flags with proper validation","status":"closed","priority":3,"issue_type":"feature","created_at":"2026-01-08T18:30:47.273970453-05:00","created_by":"rektide","updated_at":"2026-01-08T18:39:16.550292794-05:00","closed_at":"2026-01-08T18:39:16.550292794-05:00","close_reason":"Closed via update","dependencies":[{"issue_id":"nvim-registry-59v","depends_on_id":"nvim-registry-iwa","type":"parent-child","created_at":"2026-01-08T18:30:50.239945982-05:00","created_by":"rektide"}]} 6 6 {"id":"nvim-registry-5aj","title":"Implement registry.lua - Main registry module","description":"Create the main registry module that coordinates all functionality. Export public API for plugin usage. Manage the overall state and orchestrate between other modules.","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-08T18:25:45.045869094-05:00","created_by":"rektide","updated_at":"2026-01-08T18:35:35.73023499-05:00","closed_at":"2026-01-08T18:35:35.73023499-05:00","close_reason":"Closed via update"} 7 7 {"id":"nvim-registry-atn","title":"Implement cleanup.lua - Async socket validation","description":"Create cleanup.lua with async functionality using plenary.nvim. Check stats for all sockets in listen-registery using async operations. Perform batch update to remove invalid sockets after all stats are gathered. Expose :RegistryCleanup command.","status":"closed","priority":2,"issue_type":"feature","created_at":"2026-01-08T18:25:46.936796595-05:00","created_by":"rektide","updated_at":"2026-01-08T18:36:32.278258028-05:00","closed_at":"2026-01-08T18:36:32.278258028-05:00","close_reason":"Closed via update"} 8 + {"id":"nvim-registry-bk8","title":"Create plugin directory for automatic registration","description":"The plugin currently lacks a proper `plugin/` directory entry for automatic registration. Neovim only automatically sources files from the root `plugin/` directory on startup.\n\nThe current structure has:\n- `lua/registry-nvim/plugin/registry.lua` - This is just a module directory, not automatically loaded\n- No root `plugin/` directory with autoload manifest\n\nThe fix requires:\n- Create `plugin/` directory at project root\n- Create `plugin/registry-nvim.lua` file that calls require('registry-nvim').setup()\n- This will be automatically sourced by Neovim on plugin load\n- Current instance will register itself automatically\n\nWithout this, users must manually call `require('registry-nvim').setup()` in their config for automatic registration to work, which defeats the purpose of auto-discovery.\n\nThe plugin manifest in `lua/registry-nvim/plugin/` directory should be removed or kept as a reference, but the actual auto-registration needs to happen from the root `plugin/` directory.","status":"in_progress","priority":2,"issue_type":"task","created_at":"2026-01-08T19:22:58.903525978-05:00","created_by":"rektide","updated_at":"2026-01-08T19:23:10.586344823-05:00"} 8 9 {"id":"nvim-registry-cst","title":"Implement health.lua - Neovim healthcheck","description":"Create health.lua that provides healthcheck diagnostics. Check neoconf availability, plenary availability, and registry status. Report on any issues or misconfigurations.","status":"closed","priority":3,"issue_type":"task","created_at":"2026-01-08T18:25:47.889265985-05:00","created_by":"rektide","updated_at":"2026-01-08T18:37:31.359142755-05:00","closed_at":"2026-01-08T18:37:31.359142755-05:00","close_reason":"Closed via update"} 9 10 {"id":"nvim-registry-gxz","title":"Create example configuration and usage examples","description":"Add example configuration to README. Create usage examples in documentation. Show how to use the plugin manually and in automated workflows. Document the expected behavior.","status":"closed","priority":4,"issue_type":"chore","created_at":"2026-01-08T18:25:56.569158454-05:00","created_by":"rektide","updated_at":"2026-01-08T18:40:01.1203033-05:00","closed_at":"2026-01-08T18:40:01.1203033-05:00","close_reason":"Closed via update"} 10 11 {"id":"nvim-registry-hai","title":"Add --match regex flag to registry-send CLI","description":"Enhance the registry-send CLI script to add a `--match` / `-m` flag that allows conditional updates based on regex matching of stdin content.\n\nThe new flag should:\n- Accept a regex pattern as argument\n- Only send content to registry sessions if stdin matches the provided regex\n- Support all standard regex syntax\n- Provide clear feedback if the content doesn't match (skip update with informative message)\n- Work in combination with existing flags (--register, --env-guard)\n\nExample usage:\n```\necho \"some text\" | registry-send --match \"^some.*\"\n```\n\nThis enables more precise control over when clipboard content should be synced, allowing users to filter content based on patterns before distribution.","status":"closed","priority":3,"issue_type":"feature","created_at":"2026-01-08T18:43:59.742088525-05:00","created_by":"rektide","updated_at":"2026-01-08T18:49:59.317668571-05:00","closed_at":"2026-01-08T18:49:59.317668571-05:00","close_reason":"Closed via update","dependencies":[{"issue_id":"nvim-registry-hai","depends_on_id":"nvim-registry-iwa","type":"parent-child","created_at":"2026-01-08T18:44:01.692044715-05:00","created_by":"rektide"}]}
-6
lua/registry-nvim/plugin/registry.lua
··· 1 - local ok, registry = pcall(require, "registry-nvim.init") 2 - if not ok then 3 - return 4 - end 5 - 6 - registry.setup()
+3
plugin/registry-nvim.lua
··· 1 + if pcall(require, "registry-nvim") then 2 + require("registry-nvim").setup() 3 + end