Organize menu layout
Use TM_ASCIIDOC for executable location
Use requiredCommands to set TM_ASCIIDOC
Improve block comment scopes

Also optionally capture a newline character at the end of the begin and end lines to improve caret scope.
Improve block comment folding rules

Breaking into two rules allows us to use the same match for both the start and stop matches, this means we can drop the convention that was previously needed.
Revise sidebar scoping, add punctuation scopes
Improve sidebar folding rules

Breaking into two rules allows us to use the same match for both the start and stop matches, this means we can drop the convention that was previously needed.
Improve comment.line scoping

Use punctuation scopes, include optional newline character to improve caret scoping.
Improve block scoping

- Include optional newline character to better scope caret.
- Use meta.embedded scopes where appropriate.
- Add punctuation scopes.
Use markup.raw for literal paragraphs

Use markup.raw for the content of a literal paragraph. End with a look-ahead assertion for an empty line rather than capturing it.
Prefix callout scope with constant.other
Improve constant matches

- Use punctuation scopes where appropriate.
- Add proper prefixes to various constant scopes.
Scope heading levels, improve scoping

Match an optional newline at the end of headings to improve caret scope.
Improve macro scoping

Use meta.* as a wrapper. Treat common basic types as links with variables, any remaining ones get treated as keywords. Use meta.embedded scope for pass macros.
Use meta.embedded scope
Use meta.separator for page breaks and rulers

This gives a default styling to these lines, also add an optional newline character to style the entire line.
Increase scope diversity

These aren't intended to be strictly 'correct' but rather to increase the variety of scopes used to make different items easier to identify. For bibliography items use `storage` and for index entries use `variable`.
Prevent recursive loop

By not consuming any characters and including the parent rule in the include we were permitting a recursive loop to occur.
Add punctuation scopes to inline rules
Improve string.* scoping

Put various items under the string.other subtype.