42 lines
1.7 KiB
Python
42 lines
1.7 KiB
Python
|
import sets, sys
|
||
|
|
||
|
import color, mode, lex, lex_c, method, tab_c
|
||
|
|
||
|
class C(mode.Fundamental):
|
||
|
def __init__(self, w):
|
||
|
mode.Fundamental.__init__(self, w)
|
||
|
|
||
|
self.tag_matching = True
|
||
|
self.grammar = lex_c.CGrammar()
|
||
|
self.lexer = lex.Lexer(self.grammar)
|
||
|
|
||
|
self.add_bindings('close-paren', (')',))
|
||
|
self.add_bindings('close-brace', ('}',))
|
||
|
self.add_bindings('close-bracket', (']',))
|
||
|
|
||
|
self.default_color = color.build('default', 'default')
|
||
|
self.colors = {
|
||
|
'control': color.build('blue', 'default', 'bold'),
|
||
|
'keyword': color.build('cyan', 'default', 'bold'),
|
||
|
'macro1': color.build('blue', 'default', 'bold'),
|
||
|
'macro2': color.build('blue', 'default', 'bold'),
|
||
|
'constant': color.build('magenta', 'default', 'bold'),
|
||
|
'header': color.build('green', 'default', 'bold'),
|
||
|
'label': color.build('magenta', 'default', 'bold'),
|
||
|
'char': color.build('green', 'default'),
|
||
|
'builtin': color.build('magenta', 'default', 'bold'),
|
||
|
'string1': color.build('green', 'default'),
|
||
|
'c comment': color.build('red', 'default'),
|
||
|
'c++ comment': color.build('red', 'default'),
|
||
|
'macro comment': color.build('red', 'default'),
|
||
|
'function name': color.build('blue', 'default'),
|
||
|
'integer': color.build('green', 'default'),
|
||
|
'float': color.build('green', 'default'),
|
||
|
'bizzaro': color.build('magenta', 'green'),
|
||
|
}
|
||
|
|
||
|
self.tabber = tab_c.CTabber(self)
|
||
|
|
||
|
def name(self):
|
||
|
return "C"
|