Skip to content

nvim-ros2 is a simple lua plugin that adds useful features to enhance your development workflow while developing ROS 2 modules.

License

Notifications You must be signed in to change notification settings

ErickKramer/nvim-ros2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 🐢 nvim-ros2

nvim-ros2 is a simple lua plugin that adds useful features to enhance your development workflow while developing ROS 2 modules.

🪄 Features

🌳 Treesitter Parser

  • Custom grammar with syntax highlights for ROS 2 interfaces following official conventions.
  • After configuring the plugin, the grammar can be installed using TSInstall ros2

✨ Highlights Examples

  • .msg file

ROS 2 msg

  • .srv file

ROS 2 srv

  • .action file

ROS 2 action

🔭 Telescope

  • Telescope extension that adds pickers for ROS 2 components

Active Actions with info preview

telescope actions

Active interfaces with show preview

telescope interfaces

Active Nodes with info preview

telescope nodes

Active Services with type preview

telescope services

Active topics with info preview

telescope topics_info

Autocommands

  • Configure *.action, *.msg, and *.srv files as ros filetype
  • Configure *.launch, *.xacro, and *.urdf files as xml filetype

🧰 Installation

lazy.nvim

{
	"ErickKramer/nvim-ros2",
	dependencies = {
		"nvim-lua/plenary.nvim",
		"nvim-telescope/telescope.nvim",
		"nvim-treesitter/nvim-treesitter",
	},
    opts = {
        -- Add any custom options here
			autocmds = true,
			telescope = true,
			treesitter = true,
    }
},

Related Projects

Disclaimer

The functionalities here provided were validated using ROS 2 humble.

ROS humble

About

nvim-ros2 is a simple lua plugin that adds useful features to enhance your development workflow while developing ROS 2 modules.

Topics

Resources

License

Stars

Watchers

Forks