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 project structure and plugin manifest

rektide 47d81907 f766cc23

+80 -1
+2 -1
.beads/issues.jsonl
··· 1 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"} 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":"open","priority":2,"issue_type":"task","created_at":"2026-01-08T18:25:49.453508485-05:00","created_by":"rektide","updated_at":"2026-01-08T18:25:49.453508485-05:00"} 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"}]} 3 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":"open","priority":2,"issue_type":"task","created_at":"2026-01-08T18:25:45.045869094-05:00","created_by":"rektide","updated_at":"2026-01-08T18:25:45.045869094-05:00"} 4 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":"open","priority":2,"issue_type":"feature","created_at":"2026-01-08T18:25:46.936796595-05:00","created_by":"rektide","updated_at":"2026-01-08T18:25:46.936796595-05:00"} 5 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":"open","priority":3,"issue_type":"task","created_at":"2026-01-08T18:25:47.889265985-05:00","created_by":"rektide","updated_at":"2026-01-08T18:25:47.889265985-05:00"} ··· 7 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"} 8 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":"open","priority":2,"issue_type":"task","created_at":"2026-01-08T18:25:44.226867025-05:00","created_by":"rektide","updated_at":"2026-01-08T18:25:44.226867025-05:00"} 9 10 {"id":"nvim-registry-yjo","title":"Add tests for core functionality","description":"Create tests for registry, config, monitor, and cleanup modules. Use plenary's test framework or vitest. Test async operations and neoconf integration.","status":"open","priority":4,"issue_type":"task","created_at":"2026-01-08T18:25:50.169339092-05:00","created_by":"rektide","updated_at":"2026-01-08T18:25:50.169339092-05:00"} 10 - {"id":"nvim-registry-zby","title":"Create project structure and plugin manifest","description":"Create the basic plugin structure including lua/ directory, plugin manifest file, and initialize the package.json for npm packaging if needed. Set up the modular file layout.","status":"open","priority":1,"issue_type":"task","created_at":"2026-01-08T18:25:43.695223932-05:00","created_by":"rektide","updated_at":"2026-01-08T18:25:43.695223932-05:00"} 11 + {"id":"nvim-registry-zby","title":"Create project structure and plugin manifest","description":"Create the basic plugin structure including lua/ directory, plugin manifest file, and initialize the package.json for npm packaging if needed. Set up the modular file layout.","status":"in_progress","priority":1,"issue_type":"task","created_at":"2026-01-08T18:25:43.695223932-05:00","created_by":"rektide","updated_at":"2026-01-08T18:33:13.38662214-05:00"} 11 12 {"id":"nvim-registry-zcr","title":"Implement monitor.lua - Listen server discovery","description":"Create monitor.lua to detect and track listen servers. Use autocmds or polling to discover new listen sockets. Update the neoconf registry when new servers are found.","status":"open","priority":2,"issue_type":"feature","created_at":"2026-01-08T18:25:45.935166254-05:00","created_by":"rektide","updated_at":"2026-01-08T18:25:45.935166254-05:00"}
+3
.gitignore
··· 1 + *.lua-language.json 2 + lua-language.json 3 + doc/tags
+6
lua/registry-nvim/cleanup.lua
··· 1 + local M = {} 2 + 3 + function M.cleanup_registry() 4 + end 5 + 6 + return M
+15
lua/registry-nvim/config.lua
··· 1 + local M = {} 2 + 3 + local config = { 4 + listen_registry_key = "listen_registery", 5 + } 6 + 7 + function M.get_registry() 8 + return config.listen_registry_key 9 + end 10 + 11 + function M.get_config() 12 + return config 13 + end 14 + 15 + return M
+9
lua/registry-nvim/health.lua
··· 1 + local M = {} 2 + 3 + function M.check() 4 + vim.health.start("registry-nvim") 5 + 6 + vim.health.ok("Plugin loaded") 7 + end 8 + 9 + return M
+9
lua/registry-nvim/init.lua
··· 1 + local M = {} 2 + 3 + function M.setup(opts) 4 + opts = opts or {} 5 + 6 + return M 7 + end 8 + 9 + return M
+12
lua/registry-nvim/monitor.lua
··· 1 + local M = {} 2 + 3 + function M.init() 4 + end 5 + 6 + function M.start() 7 + end 8 + 9 + function M.stop() 10 + end 11 + 12 + return M
+5
lua/registry-nvim/plugin.lua
··· 1 + local M = {} 2 + 3 + M.version = "0.1.0" 4 + 5 + return M
+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()
+13
lua/registry-nvim/registry.lua
··· 1 + local M = {} 2 + 3 + function M.get_all() 4 + return {} 5 + end 6 + 7 + function M.add(socket) 8 + end 9 + 10 + function M.remove(socket) 11 + end 12 + 13 + return M