import lang.native.api.Something;
import third.party.api.Else;
...and syntax file goes to colorize Something, but Else is perceived as common text.I'm aware of limitations of vim, being text editor and not an IDE, but I'd rather syntax file to ignore the native API then to have me draw visual distinction between native and third-party classes when, effectively, I couldn't care less. The dissimilarity is just visual noise to me. :/
You can also quite easily customise syntax highlighting by placing your own additional syntax file in .vim/after/syntax for a language. I use this to add some more custom keywords. You could quite easily add highlight support for ".Else" in an after/syntax file.
And just to make sure, we agree that adding a feature like AST based highlighting wouldn't make an editor an IDE, right?
Are you using Reagent?
Especially when you switch from C-style languages to assembly, for example. Or to line-break sensitive formats like Python or YAML. Or markdown.