""" pygments.modeline ~~~~~~~~~~~~~~~~~ A simple modeline parser (based on pymodeline). :copyright: Copyright 2006-2024 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): # noqa: E741 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 line in lines[-1:-max_lines-1:-1]: ret = get_filetype_from_line(line) 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 | 2.91 KB | 0644 |
|
__main__.py | File | 353 B | 0644 |
|
cmdline.py | File | 23.1 KB | 0644 |
|
console.py | File | 1.68 KB | 0644 |
|
filter.py | File | 1.87 KB | 0644 |
|
formatter.py | File | 4.29 KB | 0644 |
|
lexer.py | File | 34.52 KB | 0644 |
|
modeline.py | File | 1005 B | 0644 |
|
plugin.py | File | 1.85 KB | 0644 |
|
regexopt.py | File | 3 KB | 0644 |
|
scanner.py | File | 3.02 KB | 0644 |
|
sphinxext.py | File | 7.79 KB | 0644 |
|
style.py | File | 6.27 KB | 0644 |
|
token.py | File | 6.08 KB | 0644 |
|
unistring.py | File | 61.73 KB | 0644 |
|
util.py | File | 9.8 KB | 0644 |
|