Errors in vim but not in run/build. Lots of missing stuff from Arduino.h

I don’t know where to really start here. I have working code, I can build it and upload it to the target. But in my editor it is showing all errors. It seems like it isn’t recognizing the ‘Arduino.h’ include. Also, it doesn’t seem to recognize the any of the types in the variables.

My guess is maybe I am writing arduino code instead of c++? If that is the case, can you point out an example of where I am mixing up the languages? I just don’t know where to look since the compiler isn’t producing any errors.

2023-01-10_18-15-08.969

$ pio --version
PlatformIO Core, version 6.1.6a4

Here is my platformio.ini

$ cat platformio.ini
; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

[env:heltec_wifi_kit_32]
platform = espressif32
board = heltec_wifi_kit_32
framework = arduino
lib_ldf_mode = chain+
lib_deps =
    fastled/FastLED@^3.5.0
    Wire
    adafruit/Adafruit GFX Library@^1.11.3
    adafruit/Adafruit SSD1306@^2.5.7
    adafruit/Adafruit BusIO@^1.14.1
    armmbed/mbed-drivers@^1.5.0

Here is my project structure:

$ tree
.
├── Makefile
├── include
│   └── README
├── lib
│   └── README
├── platformio.ini
├── src
│   ├── main.cpp
└── test
    └── README

There are currently no open issues regarding Vim in PlatformIO, if you have done everything exactly as according to the documentation and use one of the recommended bundles and it still doesn’t work, please file an issue in the above repo.