[jade mode] Re-write to match the jade lexer
[jade mode] Fix linter errors

Issue #2490