diff options
| author | PHO <pho@cielonegro.org> | 2016-01-25 12:29:27 +0900 |
|---|---|---|
| committer | PHO <pho@cielonegro.org> | 2016-01-25 12:29:27 +0900 |
| commit | e5b03dddcfa965846639a1a9adff0df492ab59bb (patch) | |
| tree | c49d99b0637bfe3ec7038f5dd20ec9a831f9f28a | |
| parent | 1b491356e14fe2dc89e51dad0e6094e7aac068e7 (diff) | |
| download | pygments-e5b03dddcfa965846639a1a9adff0df492ab59bb.tar.gz | |
Erlang lexer: Support more escape sequences
| -rw-r--r-- | pygments/lexers/erlang.py | 6 | ||||
| -rw-r--r-- | tests/examplefiles/test.erl | 8 |
2 files changed, 13 insertions, 1 deletions
diff --git a/pygments/lexers/erlang.py b/pygments/lexers/erlang.py index c353a4dc..2bd9057c 100644 --- a/pygments/lexers/erlang.py +++ b/pygments/lexers/erlang.py @@ -82,7 +82,11 @@ class ErlangLexer(RegexLexer): variable_re = r'(?:[A-Z_]\w*)' - escape_re = r'(?:\\(?:[bdefnrstv\'"\\/]|[0-7][0-7]?[0-7]?|\^[a-zA-Z]))' + esc_char_re = r'[bdefnrstv\'"\\]' + esc_octal_re = r'[0-7][0-7]?[0-7]?' + esc_hex_re = r'(?:x[0-9a-fA-F]{2}|x\{[0-9a-fA-F]+\})' + esc_ctrl_re = r'\^[a-zA-Z]' + escape_re = r'(?:\\(?:'+esc_char_re+r'|'+esc_octal_re+r'|'+esc_hex_re+r'|'+esc_ctrl_re+r'))' macro_re = r'(?:'+variable_re+r'|'+atom_re+r')' diff --git a/tests/examplefiles/test.erl b/tests/examplefiles/test.erl index 5b983e75..bcf9a0b7 100644 --- a/tests/examplefiles/test.erl +++ b/tests/examplefiles/test.erl @@ -152,6 +152,14 @@ a_binary() -> a_list_comprehension() -> [X*2 || X <- [1,2,3]]. +escape_sequences() -> + [ "\b\d\e\f\n\r\s\t\v\'\"\\" + , "\1\12\123" % octal + , "\x01" % short hex + , "\x{fff}" % long hex + , "\^a\^A" % control characters + ]. + map(Fun, [H|T]) -> [Fun(H) | map(Fun, T)]; |
