-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathPostScript.py
More file actions
46 lines (38 loc) · 1.62 KB
/
PostScript.py
File metadata and controls
46 lines (38 loc) · 1.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
from __future__ import absolute_import
from . import HTMLGenerator
from . import Keywords
from . import Lexer
from .DispatchHandler import DispatchHandler
from ._SilverCity import find_lexer_module_by_id, PropertySet, WordList
from .ScintillaConstants import SCLEX_PS
from . import LanguageInfo
class PostScriptLexer(Lexer.Lexer):
def __init__(self, properties = PropertySet()):
self._properties = properties
self._lexer = find_lexer_module_by_id(SCLEX_PS)
self._keyword_lists = [
WordList(Keywords.postscript_level1_keywords),
WordList(Keywords.postscript_level2_keywords),
WordList(Keywords.postscript_level3_keywords),
WordList(Keywords.postscript_ripspecific_keywords),
WordList()
]
class PostScriptHandler(DispatchHandler):
def __init__(self):
DispatchHandler.__init__(self, 'SCE_PS')
class PostScriptHTMLGenerator(HTMLGenerator.SimpleHTMLGenerator, PostScriptHandler):
name = 'ps'
description = 'PostScript'
def __init__(self):
PostScriptHandler.__init__(self)
HTMLGenerator.SimpleHTMLGenerator.__init__(self, 'SCE_PS')
def generate_html(self, file, buffer, lexer = PostScriptLexer()):
self._file = file
lexer.tokenize_by_style(buffer, self.event_handler)
postscript_language_info = LanguageInfo.LanguageInfo(
'PostScript',
['ps', 'eps', 'postscript'],
['.*?PS-.*?'],
[PostScriptHTMLGenerator]
)
LanguageInfo.register_language(postscript_language_info)