first commit
This commit is contained in:
commit
417e54da96
5696 changed files with 900003 additions and 0 deletions
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,52 @@
|
|||
'''Pygments lexer for kv language
|
||||
'''
|
||||
from pygments.lexer import RegexLexer, bygroups, using
|
||||
from pygments.lexers.agile import PythonLexer
|
||||
from pygments import highlight
|
||||
from pygments.token import Comment, Text, Name, Punctuation, Operator
|
||||
from pygments.formatters import get_formatter_by_name
|
||||
import sys
|
||||
|
||||
|
||||
class KivyLexer(RegexLexer):
|
||||
name = 'Kivy'
|
||||
aliases = ['kivy', 'kv']
|
||||
filenames = ['*.kv']
|
||||
tokens = {
|
||||
'root': [
|
||||
(r'#:.*?$', Comment.Preproc),
|
||||
(r'#.*?$', using(PythonLexer)),
|
||||
(r'\s+', Text),
|
||||
(r'<.+>', Name.Namespace),
|
||||
(r'(\[)(\s*)(.*?)(\s*)(@)',
|
||||
bygroups(Punctuation, Text, Name.Class, Text, Operator),
|
||||
'classList'),
|
||||
(r'[A-Za-z][A-Za-z0-9]*$', Name.Attribute),
|
||||
(r'(.*?)(\s*)(:)(\s*)$',
|
||||
bygroups(Name.Class, Text, Punctuation, Text)),
|
||||
(r'(.*?)(\s*)(:)(\s*)(.*?)$',
|
||||
bygroups(Name.Attribute, Text, Punctuation, Text,
|
||||
using(PythonLexer))),
|
||||
(r'[^:]+?$', using(PythonLexer))],
|
||||
'classList': [
|
||||
(r'(,)(\s*)([A-Z][A-Za-z0-9]*)',
|
||||
bygroups(Punctuation, Text, Name.Class)),
|
||||
(r'(\+)(\s*)([A-Z][A-Za-z0-9]*)',
|
||||
bygroups(Operator, Text, Name.Class)),
|
||||
(r'\s+', Text),
|
||||
(r'[A-Z][A-Za-z0-9]*', Name.Class),
|
||||
(r'\]', Punctuation, '#pop')]}
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
''' This lexer will highlight .kv file. The first argument is the source
|
||||
file, the second argument is the format of the destination and the third
|
||||
argument is the output filename
|
||||
'''
|
||||
if len(sys.argv) != 4:
|
||||
raise Exception('Three arguments expected, found %s' %
|
||||
(len(sys.argv) - 1))
|
||||
k = KivyLexer()
|
||||
with open(sys.argv[1], 'r') as fd:
|
||||
with open(sys.argv[3], 'w') as out:
|
||||
highlight(fd.read(), k, get_formatter_by_name(sys.argv[2]), out)
|
Loading…
Add table
Add a link
Reference in a new issue