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.

Create comprehensive help documentation

rektide 6b925080 03fdd956

+132 -2
+2 -2
.beads/issues.jsonl
··· 1 - {"id":"nvim-registry-10s","title":"Create help documentation (doc/)","description":"Create comprehensive help documentation in doc/ directory. Generate doc/registry-nvim.txt with proper Vim help format. Document all commands, configuration options, and usage examples.","status":"open","priority":3,"issue_type":"task","created_at":"2026-01-08T18:25:48.694899845-05:00","created_by":"rektide","updated_at":"2026-01-08T18:25:48.694899845-05:00"} 1 + {"id":"nvim-registry-10s","title":"Create help documentation (doc/)","description":"Create comprehensive help documentation in doc/ directory. Generate doc/registry-nvim.txt with proper Vim help format. Document all commands, configuration options, and usage examples.","status":"in_progress","priority":3,"issue_type":"task","created_at":"2026-01-08T18:25:48.694899845-05:00","created_by":"rektide","updated_at":"2026-01-08T18:37:33.483083297-05:00"} 2 2 {"id":"nvim-registry-3r0","title":"Implement init.lua - Plugin initialization","description":"Create init.lua as the main entry point. Implement setup() function for lazy.nvim configuration. Load and initialize all modules. Set up autocmds and commands.","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-08T18:25:49.453508485-05:00","created_by":"rektide","updated_at":"2026-01-08T18:36:47.806184235-05:00","closed_at":"2026-01-08T18:36:47.806184235-05:00","close_reason":"Closed via update"} 3 3 {"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":"open","priority":3,"issue_type":"feature","created_at":"2026-01-08T18:30:47.273970453-05:00","created_by":"rektide","updated_at":"2026-01-08T18:30:47.273970453-05:00","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"}]} 4 4 {"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"} 5 5 {"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"} 6 - {"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":"in_progress","priority":3,"issue_type":"task","created_at":"2026-01-08T18:25:47.889265985-05:00","created_by":"rektide","updated_at":"2026-01-08T18:37:04.44695935-05:00"} 6 + {"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"} 7 7 {"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":"open","priority":4,"issue_type":"chore","created_at":"2026-01-08T18:25:56.569158454-05:00","created_by":"rektide","updated_at":"2026-01-08T18:25:56.569158454-05:00"} 8 8 {"id":"nvim-registry-iwa","title":"Extra Features for registry-nvim","description":"Epic for additional features beyond the core functionality. Includes CLI tools, integration utilities, and enhanced workflow capabilities.","status":"open","priority":4,"issue_type":"epic","created_at":"2026-01-08T18:30:35.840964917-05:00","created_by":"rektide","updated_at":"2026-01-08T18:30:35.840964917-05:00"} 9 9 {"id":"nvim-registry-x9n","title":"Implement config.lua - Configuration management","description":"Create config.lua module to handle neoconf integration. Manage the listen-registery property in global settings. Provide functions to get and update the registry list.","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-08T18:25:44.226867025-05:00","created_by":"rektide","updated_at":"2026-01-08T18:34:59.326163455-05:00","closed_at":"2026-01-08T18:34:59.326163455-05:00","close_reason":"Closed via update"}
+130
doc/registry-nvim.txt
··· 1 + *registry-nvim.txt* Track all Neovim listen servers across all instances 2 + 3 + Author: registry-nvim contributors 4 + License: MIT License 5 + 6 + ============================================================================== 7 + INTRODUCTION *registry-nvim-introduction* 8 + 9 + registry-nvim automatically discovers and tracks listen servers across all 10 + Neovim instances using neoconf.nvim. The plugin maintains a global registry 11 + of active listen servers, allowing for multi-instance Neovim workflows. 12 + 13 + ============================================================================== 14 + REQUIREMENTS *registry-nvim-requirements* 15 + 16 + - Neovim >= 0.9.0 17 + - neoconf.nvim (required) 18 + - plenary.nvim (optional, for cleanup functionality) 19 + 20 + ============================================================================== 21 + INSTALLATION *registry-nvim-installation* 22 + 23 + Using lazy.nvim: > 24 + 25 + { 26 + 'yourusername/registry-nvim', 27 + dependencies = { 28 + 'folke/neoconf.nvim', 29 + 'nvim-lua/plenary.nvim', 30 + }, 31 + config = function() 32 + require('registry-nvim').setup() 33 + end, 34 + } 35 + < 36 + 37 + ============================================================================== 38 + COMMANDS *registry-nvim-commands* 39 + 40 + *:RegistryCleanup* 41 + :RegistryCleanup~ 42 + Clean up stale listen sockets from the registry. This command checks the 43 + validity of all registered sockets and removes those that no longer 44 + exist or are not valid socket files. 45 + 46 + Example: > 47 + :RegistryCleanup 48 + < 49 + 50 + ============================================================================== 51 + CONFIGURATION *registry-nvim-configuration* 52 + 53 + The plugin uses neoconf.nvim for configuration. The listen registry is 54 + stored in global neoconf settings under the `listen_registery` key. 55 + 56 + Registry Format: > 57 + { 58 + listen_registery = { 59 + "/tmp/nvim.sock", 60 + "/run/user/1000/nvim.1234.sock" 61 + } 62 + } 63 + < 64 + 65 + ============================================================================== 66 + API *registry-nvim-api* 67 + 68 + The plugin provides a Lua API for programmatic access: 69 + 70 + setup(opts) *registry-nvim.setup()* 71 + Initialize the plugin. Should be called once during plugin setup. 72 + 73 + Parameters: ~ 74 + {opts} (table, optional) Configuration options (currently unused) 75 + 76 + Returns: ~ 77 + The plugin module for method chaining 78 + 79 + start_monitor() *registry-nvim.start_monitor()* 80 + Start automatic listen server monitoring. This is called automatically 81 + during setup, but can be called manually if monitoring was stopped. 82 + 83 + stop_monitor() *registry-nvim.stop_monitor()* 84 + Stop automatic listen server monitoring. 85 + 86 + cleanup() *registry-nvim.cleanup()* 87 + Manually trigger registry cleanup. Same as the :RegistryCleanup command. 88 + 89 + Returns: ~ 90 + true if cleanup started successfully, false otherwise 91 + 92 + ============================================================================== 93 + HEALTHCHECK *registry-nvim-healthcheck* 94 + 95 + Run the healthcheck to verify plugin status and diagnostics: > 96 + 97 + :checkhealth registry-nvim 98 + < 99 + 100 + The healthcheck verifies: 101 + - neoconf.nvim availability 102 + - plenary.nvim availability 103 + - Registry status and integrity 104 + - Current instance listen server status 105 + 106 + ============================================================================== 107 + ARCHITECTURE *registry-nvim-architecture* 108 + 109 + The plugin is organized into modular components: 110 + 111 + init.lua Main entry point and public API 112 + config.lua Configuration management with neoconf integration 113 + registry.lua Main registry module providing high-level API 114 + monitor.lua Listen server discovery and monitoring 115 + cleanup.lua Async socket validation and cleanup 116 + health.lua Neovim healthcheck diagnostics 117 + 118 + ============================================================================== 119 + TROUBLESHOOTING *registry-nvim-troubleshooting* 120 + 121 + Registry is empty after setup~ 122 + This is normal if no Neovim instances have listen servers yet. As you 123 + start Neovim instances with listen servers, they will be automatically 124 + registered. 125 + 126 + Cleanup command fails~ 127 + If cleanup fails, check that plenary.nvim is installed. Run 128 + :checkhealth registry-nvim for diagnostics. 129 + 130 + ================================================================ vim:tw=78:ts=8:ft=help:norl: