i have a 5 YO who is attempting to be fussy. it can be so hard not to get into a battle of wills with them.
basically what I do is keep whatever meal is refused until the next meal time, so if he refuses lunch and then says he's hungry later his only option is the plate of lunch until dinner. then he is offered the same dinner as the rest of us.
I make sure that in every meal I serve I know he likes at least half of the items included (and by 'like' I mean has eaten happily before deciding that he no longer likes it because its Tuesday etc).
I make no comment, good or bad, on amount of food eaten. DC get praised for good table manners, good use of cutlery but not for how much they have/haven't eaten. even if he bates me with the usual 'I hate this' 'I'm not eating this' I do not under any circumstances engage. I will only ever repeat 'This is your lunch its your choice to eat it or not but there is nothing else until dinner'.
it takes a few days for them to get the message that you aren't going to bite but they do. after a few days he was just picking around the things he apparently didn't like. within a few weeks he was eating a few bit of the previously disliked foods.
I tried the 'keep giving them the same dish at each meal' thing but it just made DS even more angry and frustrated about the whole thing and ended up with him being genuinely hungry but being so stubborn he wouldn't give in.
its really hard I know. I have 2 other DC which helped in a way as I knew there was no way I was going to start restricting their diets to pander to DS' fussiness, so it made it easier for me to say 'I will continue to cook as normal and he can choose to eat or not'.