Translation:I have been waiting for you for a long time.
I like to think of sentences like this as two phrases. The 1st makes the basic statement (我等你) and the 2nd modifies the 1st (等了很久): I waited for you. (And I) waited a long time!
To explain, when describing how someone does something it's quite normal and in fact is considered standard to say the thing being done first then to repeat the verb with the quality after it. 比如, 他說漢語說得很快, 你寫字寫得很好. I believe this spills over into the usage of 等 when expressing lengths of time with an indirect subject like 你 etc.
Sort of. I don't think the 了 is part of the pattern though. To describe a verb, you can use the pattern verb+object+verb(same verb again)+description.
The first了is known as an aspectual particle; it indicates the action is completed. I was waiting for you, but now that you're here, I am no longer waiting for you.
The second 了is known as a modal particle, and it is used to indicate that the situation has changed in some meaningful way. Now that I am no longer waiting for you, we can go to the restaurant, the situation has been updated.
It's a very subtle distinction, and it's confusing to learners that 了 can be used in two distinct ways.
了 in its aspectual usage is always immediately after the verb, whereas 了 in its modal usage is always at the end of the sentence.
Here's a good site explaining the difference between the two.
In that case shouldn't the translation be "I have waited for a long time?". The duolingo translation of "waiting" implies that it's still going on
No, it is the speaker informing whoever it is that he or she has waited for a long time (but now they are here).
"I've waited for you for a long time" got marked wrong. Duo is having a tough night.
Why is it "waiting for you" rather than just waiting for an undetermined reason (lunch, doctor, etc)