You have my biggest sympathies {{ {}}}.
I posted something under "Food" the other day regarding my 4yo DD2. She will be 5 in October. She was incredibly fussy and has a very small appetite.
Even from newborn, she was very difficult "foodwise", never seemed happy with milk, then weaning was a complete nightmare. As she got older, she refused to try anything new, ate very little and had a very restricted diet.
Advice given by HV, and Paediatrician (via HV) was to feed "little and often", "never force/pressure them to eat things they dislike", "remove plate after a set time" etc. The Pead. actually advised leaving little dishes of Cheerios/raisins/Cheddars/grapes lying around the house, so she could nibble as she liked.
I didn't do this, but she did have regular snacks like the above, or breadsticks/rice cakes and she still does (this is implemented at nursery for both morning and afternoon sessions under the recommendation of OFSTED and "Healthy Eating Guidelines".
GP was not concerned in the slightest with her eating - she is perfectly healthy (always has been), fabulous sleeper, has bags of energy and is very bright and alert.
However, this has all changed over the last week. Was cooking pasta and she suddenly appeared, had a look and said she wanted some for dinner!!!!
Since last week, she is now eating pasta, spaghetti bolognese, lasagne, sausages, sweetcorn, peas, broccoli and absolutely LOVES corn on the corb!! All these foods and many others were refused by her in the past.
I have NEVER mentioned her eating/pressured/got upset in front of her (been in tears on my own!), shouted, or threatened her.
The worst thing you can do is show him that it's winding you up because he will almost certainly dig his heels in even more.
Until you've had a "fussy eater" child, it's very difficult to understand - my mum used to drive me mad by "suggesting" that I force-feed her My older 2 children are the greatest of eaters and will demolish everything on their plates, so it was a bit of a shock to be landed with a child like DD2