Only inject top inject into source scopes

This prevents false positive matches on things like markdown headers giving the match the the main grammar first. Leaving the match at a higher level for source files as any match there is likely to be purely decorative in something like a comment or similar rather than a functional piece.