Thu, 28 Jan 2021 18:29:00 +0100
Implemented the JSON based highlighting styles files.
8022
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | # Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de> |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing a class representing the highlighting styles JSON file. |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | import json |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | import time |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | from PyQt5.QtCore import QObject |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | from PyQt5.QtGui import QColor, QFont |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | from E5Gui import E5MessageBox |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | from E5Gui.E5OverrideCursor import E5OverridenCursor |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | import Preferences |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | class HighlightingStylesFile(QObject): |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | """ |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | Class representing the highlighting styles JSON file. |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | """ |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | def __init__(self, parent: QObject = None): |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | """ |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | Constructor |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | @param parent reference to the parent object (defaults to None) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | @type QObject (optional) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | """ |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | super(HighlightingStylesFile, self).__init__(parent) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | def writeFile(self, filename: str, lexers: list) -> bool: |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | """ |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | Public method to write the highlighting styles data to a highlighting |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | styles JSON file. |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | @param filename name of the highlighting styles file |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | @type str |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | @param lexers list of lexers for which to export the styles |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | @type list of PreferencesLexer |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | @return flag indicating a successful write |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | @rtype bool |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | """ |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | stylesDict = {} |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | # step 0: header |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | stylesDict["header"] = { |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | "comment": "eric highlighting styles file", |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | "saved": time.strftime('%Y-%m-%d, %H:%M:%S'), |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | "author": Preferences.getUser("Email"), |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | } |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | # step 1: add the lexer style data |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | stylesDict["lexers"] = [] |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | for lexer in lexers: |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | lexerDict = { |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | "name": lexer.language(), |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | "styles": [], |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | } |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | for description, style, substyle in lexer.getStyles(): |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | lexerDict["styles"].append({ |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | "description": description, |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | "style": style, |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | "substyle": substyle, |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | "color": lexer.color(style, substyle).name(), |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | "paper": lexer.paper(style, substyle).name(), |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | "font": lexer.font(style, substyle).toString(), |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | "eolfill": lexer.eolFill(style, substyle), |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | "words": lexer.words(style, substyle).strip(), |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | }) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | stylesDict["lexers"].append(lexerDict) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | try: |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | jsonString = json.dumps(stylesDict, indent=2) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | with open(filename, "w") as f: |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | f.write(jsonString) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | except (TypeError, EnvironmentError) as err: |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | with E5OverridenCursor(): |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | E5MessageBox.critical( |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | None, |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | self.tr("Export Highlighting Styles"), |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | self.tr( |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | "<p>The highlighting styles file <b>{0}</b> could not" |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | " be written.</p><p>Reason: {1}</p>" |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | ).format(filename, str(err)) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | ) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | return False |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | return True |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | def readFile(self, filename: str, lexers: dict) -> bool: |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | """ |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | Public method to read the highlighting styles data from a highlighting |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | styles JSON file. |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | @param filename name of the highlighting styles file |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | @type str |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | @param lexers dictionary of lexer objects for which to import the |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | styles |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | @type dict of {str: PreferencesLexer} |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | @return flag indicating a successful read |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | @rtype bool |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | """ |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | try: |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | with open(filename, "r") as f: |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | jsonString = f.read() |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | stylesDict = json.loads(jsonString) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | except (EnvironmentError, json.JSONDecodeError) as err: |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | E5MessageBox.critical( |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | None, |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | self.tr("Import Highlighting Styles"), |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | self.tr( |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | "<p>The highlighting styles file <b>{0}</b> could not be" |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | " read.</p><p>Reason: {1}</p>" |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | ).format(filename, str(err)) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | ) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | return False |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | for lexerDict in stylesDict["lexers"]: |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | if lexerDict["name"] in lexers: |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | lexer = lexers[lexerDict["name"]] |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | for styleDict in lexerDict["styles"]: |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | style = styleDict["style"] |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | substyle = styleDict["substyle"] |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | lexer.setColor(QColor(styleDict["color"]), style, substyle) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | lexer.setPaper(QColor(styleDict["paper"]), style, substyle) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | font = QFont() |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | font.fromString(styleDict["font"]) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | lexer.setFont(font, style, substyle) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | lexer.setEolFill(styleDict["eolfill"], style, substyle) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | if substyle >= 0: |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | # description and words can only be set for sub-styles |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | lexer.setDescription(styleDict["description"], |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | style, substyle) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | lexer.setWords(styleDict["words"], style, substyle) |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | |
2da0139f4f91
Implemented the JSON based highlighting styles files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | return True |