From 5d4fd4f5260387f23ccf04899831778bdeb82dc9 Mon Sep 17 00:00:00 2001 From: alvinlollo Date: Fri, 25 Sep 2026 11:17:06 +1000 Subject: [PATCH] Add nvim config --- Resources/nvim/.arduino_config.lua | 5 ++++ Resources/nvim/README.md | 41 ++++++++++++++++++++++++++ Resources/nvim/lua/plugins/arduino.lua | 23 +++++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 Resources/nvim/.arduino_config.lua create mode 100644 Resources/nvim/README.md create mode 100644 Resources/nvim/lua/plugins/arduino.lua diff --git a/Resources/nvim/.arduino_config.lua b/Resources/nvim/.arduino_config.lua new file mode 100644 index 0000000..386e90d --- /dev/null +++ b/Resources/nvim/.arduino_config.lua @@ -0,0 +1,5 @@ +return { + board = "studuino:avr:studuino", + port = "/dev/ttyUSB0", + baudrate = "115200", +} diff --git a/Resources/nvim/README.md b/Resources/nvim/README.md new file mode 100644 index 0000000..f3dc441 --- /dev/null +++ b/Resources/nvim/README.md @@ -0,0 +1,41 @@ +# Arduino Neovim Configuration + +This directory contains the Neovim configuration for Arduino development, using [Arduino-Nvim](https://github.com/yuukiflow/Arduino-Nvim) with **LazyVim**. + +## Installation + +1. Copy `lua/plugins/arduino.lua` to your LazyVim plugins directory (e.g. `~/.config/nvim/lua/plugins/`) +2. Copy `.arduino_config.lua` to your Arduino project root + +## Custom Keybinds + +| Keybind | Command | Description | +|---------|---------|-------------| +| `mc` | `:InoCheck` | Compile and verify sketch | +| `mu` | `:InoUpload` | Upload sketch to board | +| `ms` | `:InoStatus` | Display board, port & FQBN status | +| `mg` | `:InoGUI` | Open GUI for board/port selection | +| `mm` | `:InoMonitor` | Open serial monitor | +| `ml` | `:InoLib` | Open library manager | +| `mb` | `:InoSelectBoard` | Select Arduino board | +| `mp` | `:InoSelectPort` | Select Arduino port | +| `mr` | `:InoUploadReset` | Upload with manual reset (UNO R4 WiFi) | + +## Board Configuration + +Edit `.arduino_config.lua` to set your board, port, and baudrate: + +```lua +return { + board = "studuino:avr:studuino", + port = "/dev/ttyUSB0", + baudrate = "115200", +} +``` + +## Requirements + +- [arduino-cli](https://arduino.github.io/arduino-cli/latest/installation/) +- [arduino-language-server](https://github.com/arduino/arduino-language-server) +- [Telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) +- [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) diff --git a/Resources/nvim/lua/plugins/arduino.lua b/Resources/nvim/lua/plugins/arduino.lua new file mode 100644 index 0000000..0f4d507 --- /dev/null +++ b/Resources/nvim/lua/plugins/arduino.lua @@ -0,0 +1,23 @@ +return { + "yuukiflow/Arduino-Nvim", + ft = "arduino", + opts = { + use_default_keymaps = false, + keymaps = { + { mode = "n", key = "mc", func = ":InoCheck" }, + { mode = "n", key = "mu", func = ":InoUpload" }, + { mode = "n", key = "ms", func = ":InoStatus" }, + { mode = "n", key = "mg", func = ":InoGUI" }, + { mode = "n", key = "mm", func = ":InoMonitor" }, + { mode = "n", key = "ml", func = ":InoLib" }, + { mode = "n", key = "mb", func = ":InoSelectBoard" }, + { mode = "n", key = "mp", func = ":InoSelectPort" }, + { mode = "n", key = "mr", func = ":InoUploadReset" }, + }, + }, + dependencies = { + "nvim-telescope/telescope.nvim", + -- optional: remove if you use Neovim's built-in LSP (>= 0.11) + "neovim/nvim-lspconfig", + }, +} \ No newline at end of file