So be clever with your fruit & veg, Make home made sweet potato and butternut squash chips, You can disguise things like celeriac in Mash potatoes... You can hide lots of different vegetables in their foods and diguise them as other things, again with the mash pots you could do creamy parnsip and potato mash
Make him a reward chart, Stop giving him chocolate but give it as a treat now and again if he eats his meals that are other than the things he already eats he gets a then gets to eat chocolate, Perhaps try if he eats his meals for that week and writes it on the reward chart you get to go for a day out at soft play or if funds are tight fun things you can do at home that cost next to nothing like baking or making things, a trip down to the park etc
I think thats what I would try any way,
X