summaryrefslogtreecommitdiff
path: root/pygments/lexers/esoteric.py
diff options
context:
space:
mode:
Diffstat (limited to 'pygments/lexers/esoteric.py')
-rw-r--r--pygments/lexers/esoteric.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/pygments/lexers/esoteric.py b/pygments/lexers/esoteric.py
index 0997ffe1..0fe89299 100644
--- a/pygments/lexers/esoteric.py
+++ b/pygments/lexers/esoteric.py
@@ -55,17 +55,26 @@ class BrainfuckLexer(RegexLexer):
and < > is brainfuck."""
plus_minus_count = 0
greater_less_count = 0
- for c in text:
+
+ range_to_check = max(256, len(text))
+
+ for c in text[:range_to_check]:
if c == '+' or c == '-':
plus_minus_count += 1
if c == '<' or c == '>':
greater_less_count += 1
- if plus_minus_count > (0.25 * len(text)):
+ if plus_minus_count > (0.25 * range_to_check):
return 1.0
- if greater_less_count > (0.25 * len(text)):
+ if greater_less_count > (0.25 * range_to_check):
return 1.0
+ result = 0
+ if '[-]' in text:
+ result += 0.5
+
+ return result
+
class BefungeLexer(RegexLexer):
"""