https://github.com/polycatdev/clangd-platformio
PolyCat's modified template repo to be used with NeoVim and PlatformIO
https://github.com/polycatdev/clangd-platformio
Last synced: 3 days ago
JSON representation
PolyCat's modified template repo to be used with NeoVim and PlatformIO
- Host: GitHub
- URL: https://github.com/polycatdev/clangd-platformio
- Owner: PolyCatDev
- Created: 2025-08-11T16:02:49.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-08-11T18:10:26.000Z (5 months ago)
- Last Synced: 2025-08-11T18:27:39.001Z (5 months ago)
- Language: Python
- Homepage:
- Size: 20.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Overview
A template for automatically setting up a [PlatformIO](https://platformio.org/) + [Arduino](https://www.arduino.cc/) development environment.
Setting up [Clangd LSP](https://clangd.llvm.org/) to work with [PlatformIO](https://platformio.org/) can be very finicky, this repo also tries to automate that.
https://github.com/user-attachments/assets/bf7852f2-7bb0-4ac0-a666-3278cd960e0c
> ⭐ If you find this project useful, consider starring [the original repo](https://github.com/ironlungx/nvim-pio) to help it gain visibility! A start for me would also be appreciated (˶ᵔ ᵕ ᵔ˶)
# Features
- [Clangd LSP](https://clangd.llvm.org/) support.
- Included Makefile for common actions.
- Fancy wizard for automatic project creation.
# How to use
## Automatic
### 1. Run the setup wizard
```sh
/bin/bash -c "$(curl -sSL https://raw.githubusercontent.com/PolyCatDev/clangd-platformio/refs/heads/main/wizard.sh)"
```
### 2. Keep It Up to Date
Every time you modify project libraries or config:
```sh
make updatedb
```
## Manual
### 1. Clone the repo
```sh
git clone https://github.com/PolyCatDev/clangd-platformio
cd
```
### 2. Remove git repo and wizard script
```sh
rm -rf .git wizard.sh
```
### 3. Initialize the project
```sh
pio init --ide vim --board
```
### 4. Run Python script to generate `compile_commands.json`
```sh
python3 conv.py
```
### 5. Keep It Up to Date
Every time you modify project libraries or config:
```sh
make updatedb
```