Example sentence:
I won't stay long/for long, I promise.
Is one option more idiomatic than the other? Or both are idiomatic?
I won't stay long is definitely the idiomatic way of expressing it. I won't stay for long does exist but is much more rare.
Note that
We use long as an adverb in questions and negative clauses to talk about duration. We don’t use long on its own in affirmative clauses. We often use (for) a long time:
- We waited for a long time in the rain for the bus.
Not: …waited long… (Cambridge)