# -*- coding: utf-8 -*- """ pygments.modeline ~~~~~~~~~~~~~~~~~ A simple modeline parser (based on pymodeline). :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re __all__ = ['get_filetype_from_buffer'] modeline_re = re.compile(r''' (?: vi | vim | ex ) (?: [<=>]? \d* )? : .* (?: ft | filetype | syn | syntax ) = ( [^:\s]+ ) ''', re.VERBOSE) def get_filetype_from_line(l): m = modeline_re.search(l) if m: return m.group(1) def get_filetype_from_buffer(buf, max_lines=5): """ Scan the buffer for modelines and return filetype if one is found. """ lines = buf.splitlines() for l in lines[-1:-max_lines-1:-1]: ret = get_filetype_from_line(l) if ret: return ret for i in range(max_lines, -1, -1): if i < len(lines): ret = get_filetype_from_line(lines[i]) if ret: return ret return None
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
filters | Folder | 0755 |
|
|
formatters | Folder | 0755 |
|
|
lexers | Folder | 0755 |
|
|
styles | Folder | 0755 |
|
|
__init__.py | File | 3.07 KB | 0644 |
|
cmdline.py | File | 18.87 KB | 0644 |
|
console.py | File | 1.77 KB | 0644 |
|
filter.py | File | 1.99 KB | 0644 |
|
formatter.py | File | 2.88 KB | 0644 |
|
lexer.py | File | 30.33 KB | 0644 |
|
modeline.py | File | 1010 B | 0644 |
|
plugin.py | File | 1.68 KB | 0644 |
|
regexopt.py | File | 3.02 KB | 0644 |
|
scanner.py | File | 3.05 KB | 0644 |
|
sphinxext.py | File | 4.55 KB | 0644 |
|
style.py | File | 4.69 KB | 0644 |
|
token.py | File | 6.02 KB | 0644 |
|
unistring.py | File | 49.95 KB | 0644 |
|
util.py | File | 11.62 KB | 0644 |
|