
Unlike Ruby, which just uses a prefix 0 to denote octal literals, Crystal uses 0o (which I really like). However, this difference is not handled in the current syntax highlighter, meaning octal literals have no scope applied to them, and thus can't be highlighted.
To match other numeric literals, octal literals should get the scope constant.numeric.crystal.