Skip to content

Worskspace Navigation, Ros Tuner, Topic listener, RPC calls, Interface finder#5

Open
tcozic wants to merge 23 commits intoErickKramer:mainfrom
tcozic:main
Open

Worskspace Navigation, Ros Tuner, Topic listener, RPC calls, Interface finder#5
tcozic wants to merge 23 commits intoErickKramer:mainfrom
tcozic:main

Conversation

@tcozic
Copy link
Copy Markdown

@tcozic tcozic commented Apr 28, 2026

Hi Erik,
Nice work on your plugins, I was using it with my own scripts for ros2 usage, so I decided to incorporate everything into a fork. Here is the feature I added :
-workspace based navigation, easily list the packages and open buffers relative to local package without loosing the project root.
-Ros Tuner, reconfigure implementaton leveraging nvim buffers, vimdiff and extmarks
-Topic listener, Action and Service Caller
-Interface finder
I use snacks picker, so I tried to keep fzf and telescope up to date but I didnt really test them
PS: the workflow and idea are from me, I used AI to help with lua implementation and debug

@tcozic tcozic changed the title Hi Erik Worskspace Navigation, Ros Tuner, Topic listener, RPC calls, Interface finder Apr 28, 2026
@ErickKramer
Copy link
Copy Markdown
Owner

Thank you for your contribution! I will review it this week

@tcozic tcozic closed this Apr 28, 2026
@tcozic tcozic reopened this Apr 28, 2026
@tcozic
Copy link
Copy Markdown
Author

tcozic commented Apr 28, 2026

Sorry miss click

Comment thread README.md Outdated
Comment thread README.md
- **Topic Echo:** Select an active topic to spawn a live, safely-managed buffer streaming YAML output.
- **Interface Jumper:** Search `msg`, `srv`, or `action` definitions and press `<CR>` to instantly jump to the source file, resolving via `install` or local `src` directories automatically.

### 🚀 The RPC Engine (Services & Actions)
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a great addition!

If possible could you update the Gifs to show case the new functionalities?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will work on it later, as I will need to create new worspaces for it. Furthermore the gifs will follow my theme and setup so it will be less cohesive on the readme.

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that's fine by me 😄

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interface2.mp4

Comment thread README.md Outdated
Comment thread lua/nvim-ros2/pickers/fzf.lua Outdated
Comment thread lua/nvim-ros2/pickers/snacks.lua Outdated
Comment thread lua/nvim-ros2/pickers/snacks.lua Outdated
Comment thread lua/nvim-ros2/tuner/engine.lua Outdated
Comment thread lua/nvim-ros2/tuner/engine.lua
Comment thread lua/nvim-ros2/config.lua
@@ -4,6 +4,10 @@ local defaults = {
autocmds = true,
treesitter = true,
picker = "telescope", -- "telescope", "snacks", "fzf"
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tbh, we can switch to snacks as default, I am also mainly driving it like that

Comment thread README.md
- **Crucible Mode (Safe Git Integration):** After experimenting with live values in the Tuning Console, simply save the file (`:w`). Both the console and your original file will enter Neovim's `diffthis` mode side-by-side, allowing you to selectively push (`dp`) your tuned values back to the source code.
- **Live Event Loop:** Values and boundaries (Ranges) are dynamically fetched as virtual text. Modifying a value in Insert mode safely triggers a `ros2 param set` network call in the background.

### 🎛️ ROS 2 Tuner Auto-Discovery
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't use such functionality before, it would be great if you can provide an toy example on how to use it, since I was not able to test it much, aside from just launching the tuner.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will try to do a demo

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TuneNode.mp4
TunerPull.mp4

-restored Plugin Readme fork info and config
-Added comments on regex
-Cleanup FIX comments and Notifications
-Changed lua/yaml matcher in engine
@tcozic
Copy link
Copy Markdown
Author

tcozic commented May 6, 2026

mostly followed your requests, just need to do demos, but it will take sometime to setup a workspace.

Thibault Cozic added 3 commits May 6, 2026 11:21
Update package lister and linked lua function to now list also installed
packages
@tcozic
Copy link
Copy Markdown
Author

tcozic commented May 7, 2026

Package Navigation and rpc tools:

2026-05-07.15-47-32.mp4
PackageNav.mp4

@tcozic
Copy link
Copy Markdown
Author

tcozic commented May 7, 2026

Would it be ok to use github url instead of direclty putting the gifs in the plugin folder ? wich could become tedious

@ErickKramer
Copy link
Copy Markdown
Owner

Would it be ok to use github url instead of direclty putting the gifs in the plugin folder ? wich could become tedious

Thanks for the GIFs. I will check them out later and try to recreate it :).

As for the placement, it should be fine to have them in your user assets, just embedded so that it can be rendered in the README.md.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants