diff options
| author | Anteru <bitbucket@ca.sh13.net> | 2019-01-16 19:40:16 +0000 |
|---|---|---|
| committer | Anteru <bitbucket@ca.sh13.net> | 2019-01-16 19:40:16 +0000 |
| commit | 3b7d4a5000e2f80f98ad31882dfbde53aed4d466 (patch) | |
| tree | b1aa6bd6f6e60cb6542a0700cf3033faf0cb4cd0 /pygments | |
| parent | aa7c8ba4e40a5657e2c9aa0b8dccaf9d193390ff (diff) | |
| parent | 58db9df5ca490669111b47adc5acedc4324e77b9 (diff) | |
| download | pygments-git-3b7d4a5000e2f80f98ad31882dfbde53aed4d466.tar.gz | |
Merged in felixfontein/pygments-main/improve-yaml (pull request #797)
Improve YAML mapping lexing: fix problems with quoted colons.
Diffstat (limited to 'pygments')
| -rw-r--r-- | pygments/formatters/__init__.py | 3 | ||||
| -rw-r--r-- | pygments/formatters/html.py | 7 | ||||
| -rw-r--r-- | pygments/lexers/__init__.py | 3 | ||||
| -rw-r--r-- | pygments/lexers/_cocoa_builtins.py | 3 | ||||
| -rw-r--r-- | pygments/lexers/_php_builtins.py | 28 | ||||
| -rw-r--r-- | pygments/lexers/templates.py | 2 |
6 files changed, 24 insertions, 22 deletions
diff --git a/pygments/formatters/__init__.py b/pygments/formatters/__init__.py index 965c5f1a..457d76ec 100644 --- a/pygments/formatters/__init__.py +++ b/pygments/formatters/__init__.py @@ -98,7 +98,8 @@ def load_formatter_from_file(filename, formattername="CustomFormatter", try: # This empty dict will contain the namespace for the exec'd file custom_namespace = {} - exec(open(filename, 'rb').read(), custom_namespace) + with open(filename, 'rb') as f: + exec(f.read(), custom_namespace) # Retrieve the class `formattername` from that namespace if formattername not in custom_namespace: raise ClassNotFound('no valid %s class found in %s' % diff --git a/pygments/formatters/html.py b/pygments/formatters/html.py index 2969d502..7d7605eb 100644 --- a/pygments/formatters/html.py +++ b/pygments/formatters/html.py @@ -535,10 +535,9 @@ class HtmlFormatter(Formatter): # write CSS file only if noclobber_cssfile isn't given as an option. try: if not os.path.exists(cssfilename) or not self.noclobber_cssfile: - cf = open(cssfilename, "w") - cf.write(CSSFILE_TEMPLATE % - {'styledefs': self.get_style_defs('body')}) - cf.close() + with open(cssfilename, "w") as cf: + cf.write(CSSFILE_TEMPLATE % + {'styledefs': self.get_style_defs('body')}) except IOError as err: err.strerror = 'Error writing CSS file: ' + err.strerror raise diff --git a/pygments/lexers/__init__.py b/pygments/lexers/__init__.py index 328e072c..50f39d4e 100644 --- a/pygments/lexers/__init__.py +++ b/pygments/lexers/__init__.py @@ -133,7 +133,8 @@ def load_lexer_from_file(filename, lexername="CustomLexer", **options): try: # This empty dict will contain the namespace for the exec'd file custom_namespace = {} - exec(open(filename, 'rb').read(), custom_namespace) + with open(filename, 'rb') as f: + exec(f.read(), custom_namespace) # Retrieve the class `lexername` from that namespace if lexername not in custom_namespace: raise ClassNotFound('no valid %s class found in %s' % diff --git a/pygments/lexers/_cocoa_builtins.py b/pygments/lexers/_cocoa_builtins.py index f55e9dd7..f17ea876 100644 --- a/pygments/lexers/_cocoa_builtins.py +++ b/pygments/lexers/_cocoa_builtins.py @@ -40,7 +40,8 @@ if __name__ == '__main__': # pragma: no cover continue headerFilePath = frameworkHeadersDir + f - content = open(headerFilePath).read() + with open(headerFilePath) as f: + content = f.read() res = re.findall(r'(?<=@interface )\w+', content) for r in res: all_interfaces.add(r) diff --git a/pygments/lexers/_php_builtins.py b/pygments/lexers/_php_builtins.py index bd4b7d99..c6084003 100644 --- a/pygments/lexers/_php_builtins.py +++ b/pygments/lexers/_php_builtins.py @@ -4698,18 +4698,19 @@ if __name__ == '__main__': # pragma: no cover for file in get_php_references(): module = '' - for line in open(file): - if not module: - search = module_re.search(line) - if search: - module = search.group(1) - modules[module] = [] + with open(file) as f: + for line in f: + if not module: + search = module_re.search(line) + if search: + module = search.group(1) + modules[module] = [] - elif 'href="function.' in line: - for match in function_re.finditer(line): - fn = match.group(1) - if '->' not in fn and '::' not in fn and fn not in modules[module]: - modules[module].append(fn) + elif 'href="function.' in line: + for match in function_re.finditer(line): + fn = match.group(1) + if '->' not in fn and '::' not in fn and fn not in modules[module]: + modules[module].append(fn) if module: # These are dummy manual pages, not actual functions @@ -4726,9 +4727,8 @@ if __name__ == '__main__': # pragma: no cover def get_php_references(): download = urlretrieve(PHP_MANUAL_URL) - tar = tarfile.open(download[0]) - tar.extractall() - tar.close() + with tarfile.open(download[0]) as tar: + tar.extractall() for file in glob.glob("%s%s" % (PHP_MANUAL_DIR, PHP_REFERENCE_GLOB)): yield file os.remove(download[0]) diff --git a/pygments/lexers/templates.py b/pygments/lexers/templates.py index c184b2dd..8000deba 100644 --- a/pygments/lexers/templates.py +++ b/pygments/lexers/templates.py @@ -375,7 +375,7 @@ class DjangoLexer(RegexLexer): (r'\.\w+', Name.Variable), (r':?"(\\\\|\\"|[^"])*"', String.Double), (r":?'(\\\\|\\'|[^'])*'", String.Single), - (r'([{}()\[\]+\-*/,:~]|[><=]=?)', Operator), + (r'([{}()\[\]+\-*/%,:~]|[><=]=?|!=)', Operator), (r"[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|" r"0[xX][0-9a-fA-F]+[Ll]?", Number), ], |
