PrEditor 2.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. preditor/__init__.py +315 -0
  2. preditor/__main__.py +13 -0
  3. preditor/about_module.py +165 -0
  4. preditor/cli.py +192 -0
  5. preditor/config.py +318 -0
  6. preditor/constants.py +13 -0
  7. preditor/contexts.py +210 -0
  8. preditor/cores/__init__.py +0 -0
  9. preditor/cores/core.py +20 -0
  10. preditor/dccs/.hab.json +10 -0
  11. preditor/dccs/maya/PrEditor_maya.mod +1 -0
  12. preditor/dccs/maya/README.md +22 -0
  13. preditor/dccs/maya/plug-ins/PrEditor_maya.py +141 -0
  14. preditor/dccs/studiomax/PackageContents.xml +32 -0
  15. preditor/dccs/studiomax/PrEditor-PrEditor_Show.mcr +8 -0
  16. preditor/dccs/studiomax/README.md +17 -0
  17. preditor/dccs/studiomax/preditor.ms +16 -0
  18. preditor/dccs/studiomax/preditor_menu.mnx +7 -0
  19. preditor/debug.py +149 -0
  20. preditor/delayable_engine/__init__.py +302 -0
  21. preditor/delayable_engine/delayables.py +85 -0
  22. preditor/enum.py +728 -0
  23. preditor/excepthooks.py +165 -0
  24. preditor/gui/__init__.py +56 -0
  25. preditor/gui/app.py +163 -0
  26. preditor/gui/codehighlighter.py +289 -0
  27. preditor/gui/completer.py +237 -0
  28. preditor/gui/console.py +605 -0
  29. preditor/gui/console_base.py +911 -0
  30. preditor/gui/dialog.py +181 -0
  31. preditor/gui/drag_tab_bar.py +625 -0
  32. preditor/gui/editor_chooser.py +57 -0
  33. preditor/gui/errordialog.py +69 -0
  34. preditor/gui/find_files.py +137 -0
  35. preditor/gui/fuzzy_search/__init__.py +0 -0
  36. preditor/gui/fuzzy_search/fuzzy_search.py +97 -0
  37. preditor/gui/group_tab_widget/__init__.py +0 -0
  38. preditor/gui/group_tab_widget/group_tab_widget.py +528 -0
  39. preditor/gui/group_tab_widget/grouped_tab_menu.py +35 -0
  40. preditor/gui/group_tab_widget/grouped_tab_models.py +107 -0
  41. preditor/gui/group_tab_widget/grouped_tab_widget.py +223 -0
  42. preditor/gui/group_tab_widget/one_tab_widget.py +96 -0
  43. preditor/gui/level_buttons.py +358 -0
  44. preditor/gui/logger_window_handler.py +77 -0
  45. preditor/gui/logger_window_plugin.py +35 -0
  46. preditor/gui/loggerwindow.py +2405 -0
  47. preditor/gui/newtabwidget.py +69 -0
  48. preditor/gui/output_console.py +11 -0
  49. preditor/gui/qtdesigner/__init__.py +21 -0
  50. preditor/gui/qtdesigner/_log_plugin.py +29 -0
  51. preditor/gui/qtdesigner/console_base_plugin.py +48 -0
  52. preditor/gui/qtdesigner/console_predit_plugin.py +48 -0
  53. preditor/gui/set_text_editor_path_dialog.py +61 -0
  54. preditor/gui/status_label.py +99 -0
  55. preditor/gui/suggest_path_quotes_dialog.py +50 -0
  56. preditor/gui/ui/editor_chooser.ui +93 -0
  57. preditor/gui/ui/errordialog.ui +74 -0
  58. preditor/gui/ui/find_files.ui +140 -0
  59. preditor/gui/ui/loggerwindow.ui +1909 -0
  60. preditor/gui/ui/set_text_editor_path_dialog.ui +189 -0
  61. preditor/gui/ui/suggest_path_quotes_dialog.ui +225 -0
  62. preditor/gui/window.py +161 -0
  63. preditor/gui/workbox_mixin.py +1139 -0
  64. preditor/gui/workbox_text_edit.py +136 -0
  65. preditor/gui/workboxwidget.py +315 -0
  66. preditor/logging_config.py +55 -0
  67. preditor/osystem.py +401 -0
  68. preditor/plugins.py +118 -0
  69. preditor/prefs.py +381 -0
  70. preditor/resource/environment_variables.html +26 -0
  71. preditor/resource/error_mail.html +85 -0
  72. preditor/resource/error_mail_inline.html +41 -0
  73. preditor/resource/img/README.md +17 -0
  74. preditor/resource/img/arrow_forward.png +0 -0
  75. preditor/resource/img/check-bold.png +0 -0
  76. preditor/resource/img/chevron-down.png +0 -0
  77. preditor/resource/img/chevron-up.png +0 -0
  78. preditor/resource/img/close-thick.png +0 -0
  79. preditor/resource/img/comment-edit.png +0 -0
  80. preditor/resource/img/content-copy.png +0 -0
  81. preditor/resource/img/content-cut.png +0 -0
  82. preditor/resource/img/content-duplicate.png +0 -0
  83. preditor/resource/img/content-paste.png +0 -0
  84. preditor/resource/img/content-save.png +0 -0
  85. preditor/resource/img/debug_disabled.png +0 -0
  86. preditor/resource/img/eye-check.png +0 -0
  87. preditor/resource/img/file-plus.png +0 -0
  88. preditor/resource/img/file-remove.png +0 -0
  89. preditor/resource/img/format-align-left.png +0 -0
  90. preditor/resource/img/format-letter-case-lower.png +0 -0
  91. preditor/resource/img/format-letter-case-upper.png +0 -0
  92. preditor/resource/img/format-letter-case.svg +1 -0
  93. preditor/resource/img/information.png +0 -0
  94. preditor/resource/img/logging_critical.png +0 -0
  95. preditor/resource/img/logging_custom.png +0 -0
  96. preditor/resource/img/logging_debug.png +0 -0
  97. preditor/resource/img/logging_error.png +0 -0
  98. preditor/resource/img/logging_info.png +0 -0
  99. preditor/resource/img/logging_not_set.png +0 -0
  100. preditor/resource/img/logging_warning.png +0 -0
  101. preditor/resource/img/marker.png +0 -0
  102. preditor/resource/img/play.png +0 -0
  103. preditor/resource/img/playlist-play.png +0 -0
  104. preditor/resource/img/plus-minus-variant.png +0 -0
  105. preditor/resource/img/preditor.ico +0 -0
  106. preditor/resource/img/preditor.png +0 -0
  107. preditor/resource/img/preditor.psd +0 -0
  108. preditor/resource/img/preditor.svg +44 -0
  109. preditor/resource/img/regex.svg +1 -0
  110. preditor/resource/img/restart.svg +1 -0
  111. preditor/resource/img/skip-forward-outline.png +0 -0
  112. preditor/resource/img/skip-next-outline.png +0 -0
  113. preditor/resource/img/skip-next.png +0 -0
  114. preditor/resource/img/skip-previous.png +0 -0
  115. preditor/resource/img/subdirectory-arrow-right.png +0 -0
  116. preditor/resource/img/text-search-variant.png +0 -0
  117. preditor/resource/img/warning-big.png +0 -0
  118. preditor/resource/lang/python.json +30 -0
  119. preditor/resource/pref_updates/pref_updates.json +17 -0
  120. preditor/resource/settings.ini +25 -0
  121. preditor/resource/stylesheet/Bright.css +76 -0
  122. preditor/resource/stylesheet/Dark.css +210 -0
  123. preditor/scintilla/__init__.py +40 -0
  124. preditor/scintilla/delayables/__init__.py +11 -0
  125. preditor/scintilla/delayables/smart_highlight.py +97 -0
  126. preditor/scintilla/delayables/spell_check.py +174 -0
  127. preditor/scintilla/documenteditor.py +1924 -0
  128. preditor/scintilla/finddialog.py +68 -0
  129. preditor/scintilla/lang/__init__.py +80 -0
  130. preditor/scintilla/lang/config/bash.ini +15 -0
  131. preditor/scintilla/lang/config/batch.ini +14 -0
  132. preditor/scintilla/lang/config/cpp.ini +19 -0
  133. preditor/scintilla/lang/config/css.ini +19 -0
  134. preditor/scintilla/lang/config/eyeonscript.ini +17 -0
  135. preditor/scintilla/lang/config/html.ini +21 -0
  136. preditor/scintilla/lang/config/javascript.ini +24 -0
  137. preditor/scintilla/lang/config/lua.ini +16 -0
  138. preditor/scintilla/lang/config/maxscript.ini +20 -0
  139. preditor/scintilla/lang/config/mel.ini +18 -0
  140. preditor/scintilla/lang/config/mu.ini +22 -0
  141. preditor/scintilla/lang/config/nsi.ini +19 -0
  142. preditor/scintilla/lang/config/perl.ini +19 -0
  143. preditor/scintilla/lang/config/puppet.ini +19 -0
  144. preditor/scintilla/lang/config/python.ini +28 -0
  145. preditor/scintilla/lang/config/ruby.ini +19 -0
  146. preditor/scintilla/lang/config/sql.ini +7 -0
  147. preditor/scintilla/lang/config/xml.ini +21 -0
  148. preditor/scintilla/lang/config/yaml.ini +18 -0
  149. preditor/scintilla/lang/language.py +240 -0
  150. preditor/scintilla/lexers/__init__.py +0 -0
  151. preditor/scintilla/lexers/cpplexer.py +22 -0
  152. preditor/scintilla/lexers/javascriptlexer.py +27 -0
  153. preditor/scintilla/lexers/maxscriptlexer.py +235 -0
  154. preditor/scintilla/lexers/mellexer.py +369 -0
  155. preditor/scintilla/lexers/mulexer.py +33 -0
  156. preditor/scintilla/lexers/pythonlexer.py +42 -0
  157. preditor/scintilla/ui/finddialog.ui +160 -0
  158. preditor/settings.py +71 -0
  159. preditor/stream/__init__.py +72 -0
  160. preditor/stream/console_handler.py +169 -0
  161. preditor/stream/director.py +144 -0
  162. preditor/stream/manager.py +97 -0
  163. preditor/streamhandler_helper.py +46 -0
  164. preditor/utils/__init__.py +191 -0
  165. preditor/utils/call_stack.py +86 -0
  166. preditor/utils/cute.py +106 -0
  167. preditor/utils/stylesheets.py +54 -0
  168. preditor/utils/text_search.py +338 -0
  169. preditor/version.py +34 -0
  170. preditor/weakref.py +363 -0
  171. preditor-2.1.0.dist-info/METADATA +308 -0
  172. preditor-2.1.0.dist-info/RECORD +179 -0
  173. preditor-2.1.0.dist-info/WHEEL +5 -0
  174. preditor-2.1.0.dist-info/entry_points.txt +19 -0
  175. preditor-2.1.0.dist-info/licenses/LICENSE +165 -0
  176. preditor-2.1.0.dist-info/top_level.txt +3 -0
  177. tests/encodings/test_ecoding.py +33 -0
  178. tests/find_files/test_find_files.py +74 -0
  179. tests/ide/test_delayable_engine.py +171 -0
@@ -0,0 +1,68 @@
1
+ from __future__ import absolute_import
2
+
3
+ from ..gui import Dialog, loadUi
4
+ from .documenteditor import SearchOptions
5
+
6
+
7
+ class FindDialog(Dialog):
8
+ def __init__(self, parent):
9
+ super(FindDialog, self).__init__(parent)
10
+
11
+ loadUi(__file__, self)
12
+
13
+ self.uiCaseSensitiveCHK.setChecked(
14
+ parent.searchFlags() & SearchOptions.CaseSensitive
15
+ )
16
+ self.uiFindWholeWordsCHK.setChecked(
17
+ parent.searchFlags() & SearchOptions.WholeWords
18
+ )
19
+ self.uiQRegExpCHK.setChecked(parent.searchFlags() & SearchOptions.QRegExp)
20
+ self.uiSearchTXT.setPlainText(parent.searchText())
21
+
22
+ # update the signals
23
+ self.uiCaseSensitiveCHK.clicked.connect(self.updateSearchTerms)
24
+ self.uiFindWholeWordsCHK.clicked.connect(self.updateSearchTerms)
25
+ self.uiQRegExpCHK.clicked.connect(self.updateSearchTerms)
26
+ self.uiSearchTXT.textChanged.connect(self.updateSearchTerms)
27
+
28
+ self.uiFindNextBTN.clicked.connect(parent.uiFindNextACT.triggered.emit)
29
+ self.uiFindPrevBTN.clicked.connect(parent.uiFindPrevACT.triggered.emit)
30
+
31
+ self.uiSearchTXT.installEventFilter(self)
32
+ self.uiSearchTXT.setFocus()
33
+ self.uiSearchTXT.selectAll()
34
+
35
+ def eventFilter(self, object, event):
36
+ from Qt.QtCore import QEvent, Qt
37
+
38
+ if event.type() == QEvent.Type.KeyPress:
39
+ if (
40
+ event.key() in (Qt.Key.Key_Enter, Qt.Key.Key_Return)
41
+ and not event.modifiers() == Qt.KeyboardModifier.ShiftModifier
42
+ ):
43
+ self.parent().uiFindNextACT.triggered.emit(True)
44
+ self.accept()
45
+ return True
46
+ return False
47
+
48
+ def search(self, text):
49
+ # show the dialog
50
+ self.show()
51
+
52
+ # set the search text
53
+ self.uiSearchTXT.setPlainText(text)
54
+ self.uiSearchTXT.setFocus()
55
+ self.uiSearchTXT.selectAll()
56
+
57
+ def updateSearchTerms(self):
58
+ parent = self.parent()
59
+ options = 0
60
+ if self.uiCaseSensitiveCHK.isChecked():
61
+ options |= SearchOptions.CaseSensitive
62
+ if self.uiFindWholeWordsCHK.isChecked():
63
+ options |= SearchOptions.WholeWords
64
+ if self.uiQRegExpCHK.isChecked():
65
+ options |= SearchOptions.QRegExp
66
+
67
+ parent.setSearchFlags(options)
68
+ parent.setSearchText(self.uiSearchTXT.toPlainText())
@@ -0,0 +1,80 @@
1
+ from __future__ import absolute_import, print_function
2
+
3
+ import glob
4
+ import os.path
5
+
6
+ from ... import osystem, prefPath
7
+ from .language import Language
8
+
9
+ _plugins = {}
10
+
11
+
12
+ def byName(name):
13
+ return _plugins.get(str(name))
14
+
15
+
16
+ def byLexer(lexer):
17
+ for plugin in _plugins.values():
18
+ if isinstance(lexer, plugin.lexerClass()):
19
+ return plugin
20
+ return None
21
+
22
+
23
+ def byExtension(extension):
24
+ for plugin in _plugins.values():
25
+ if extension in plugin.fileTypes():
26
+ return plugin
27
+ return None
28
+
29
+
30
+ def languages():
31
+ return sorted(_plugins.keys())
32
+
33
+
34
+ def filetypes():
35
+ keys = sorted(_plugins.keys())
36
+
37
+ output = []
38
+ output.append('All Files (*.*)')
39
+ output.append('Text Files (*.txt)')
40
+
41
+ for key in keys:
42
+ output.append(
43
+ '%s Files (%s)' % (key, '*' + ';*'.join(_plugins[key].fileTypes()))
44
+ )
45
+
46
+ return ';;'.join(output)
47
+
48
+
49
+ def loadPlugins(path, custom=False):
50
+ path = osystem.expandvars(path)
51
+ if not os.path.exists(path):
52
+ return False
53
+
54
+ files = glob.glob(os.path.join(path, '*.ini'))
55
+
56
+ for file in files:
57
+ plugin = Language.fromConfig(file)
58
+ if plugin:
59
+ plugin.setCustom(custom)
60
+ _plugins[plugin.name()] = plugin
61
+ else:
62
+ print('[preditor.scintilla.lang Error] Could not import %s' % file)
63
+
64
+
65
+ def refresh():
66
+ _plugins.clear()
67
+
68
+ # load the installed plugins
69
+ loadPlugins(os.path.dirname(__file__) + '/config')
70
+
71
+ # load languags from the environment
72
+ for key in os.environ.keys():
73
+ if key.startswith('BDEV_PATH_LANG_'):
74
+ loadPlugins(os.environ[key])
75
+
76
+ # load the user plugins
77
+ loadPlugins(prefPath('lang'), True)
78
+
79
+
80
+ refresh()
@@ -0,0 +1,15 @@
1
+ [GLOBALS]
2
+ name=Bash
3
+ filetypes=.sh
4
+
5
+ [LEXER]
6
+ class=QsciLexerBash
7
+
8
+ [COLOR_TYPES]
9
+ misc=0
10
+ comment=2
11
+ string=5,6,13
12
+ error=1
13
+ operator=12,7
14
+ keyword=4
15
+ number=3,9
@@ -0,0 +1,14 @@
1
+ [GLOBALS]
2
+ name=Batch
3
+ filetypes=.bat
4
+ linecomment="REM "
5
+
6
+ [LEXER]
7
+ class=QsciLexerBatch
8
+
9
+ [COLOR_TYPES]
10
+ comment=1
11
+ keyword=5,4,2
12
+ text=3
13
+ operator=7
14
+ attribute=6
@@ -0,0 +1,19 @@
1
+ [GLOBALS]
2
+ name=C++
3
+ filetypes=.cpp;.c;.h;.sip
4
+ linecomment=//
5
+
6
+ [LEXER]
7
+ class=CppLexer
8
+ module=preditor.scintilla.lexers.cpplexer
9
+
10
+ [COLOR_TYPES]
11
+ comment=1,3,17,18,2,15
12
+ misc=0
13
+ string=6,7,12,13
14
+ method=19
15
+ keyword=5,16,9
16
+ number=4,8
17
+ operator=10
18
+ regex=14
19
+ smartHighlight=16
@@ -0,0 +1,19 @@
1
+ [GLOBALS]
2
+ name=CSS
3
+ filetypes=.css;.qss
4
+ linecomment=;
5
+
6
+ [LEXER]
7
+ class=QsciLexerCSS
8
+
9
+ [COLOR_TYPES]
10
+ attribute=16,6,15,17,19
11
+ comment=9
12
+ keyword=11
13
+ method=2,20,21,3,18
14
+ misc=0
15
+ error=7,4
16
+ operator=5
17
+ tag=1
18
+ string=13,14
19
+ text=8
@@ -0,0 +1,17 @@
1
+ [GLOBALS]
2
+ name=Eyeonscript
3
+ filetypes=.eyeonscript;.Fuse;.fuse;.scriptlib
4
+ linecomment=--
5
+
6
+ [LEXER]
7
+ class=QsciLexerLua
8
+
9
+ [COLOR_TYPES]
10
+ comment=1,2
11
+ keyword=5
12
+ method=13,12,9
13
+ string=7,8,6,14,12
14
+ operator=10
15
+ number=4
16
+ misc=0
17
+ text=11
@@ -0,0 +1,21 @@
1
+ [GLOBALS]
2
+ name=HTML
3
+ filetypes=.htm;.html
4
+
5
+ [LEXER]
6
+ class=QsciLexerHTML
7
+
8
+ [COLOR_TYPES]
9
+ method=99,100,115,114
10
+ comment=92,43,44,42,107,58,59,57,82,20,9,124,125,72
11
+ number=93,45,108,60,83,5,122,73
12
+ misc=91,41,106,56,81,118,71
13
+ keyword=96,46,47,111,61,62,84,121,74
14
+ operator=101,50,116,65,127
15
+ string=94,95,97,98,51,49,48,112,113,110,109,66,64,63,85,87,6,7,119,126,120,75,77
16
+ regex=52,67
17
+ attribute=3,123
18
+ entity=10
19
+ tag=1,11
20
+ error=4,2
21
+ text=14,19,17,0
@@ -0,0 +1,24 @@
1
+ [GLOBALS]
2
+ name=Javascript
3
+ filetypes=.js;.jsx;.json
4
+ linecomment=//
5
+
6
+ [LEXER]
7
+ class=JavaScriptLexer
8
+ module=preditor.scintilla.lexers.javascriptlexer
9
+
10
+ [DESCRIPTORS]
11
+ function1=^(?P<level>[ \t]*)(?P<name>[a-zA-Z0-9_\.]+)[ \t]*(:|=)[ \t]*function
12
+ class1=^(?P<level>[ \t]*)(?P<name>[a-zA-Z0-9_\.]+)[ \t]*(:|=)[ \t]*new[ \t]*Class
13
+
14
+ [COLOR_TYPES]
15
+ comment=1,3,17,18,2,15
16
+ misc=0
17
+ string=6,7,12,13
18
+ method=19
19
+ keyword=5,16,9
20
+ text=11
21
+ number=4,8
22
+ operator=10
23
+ regex=14
24
+ smartHighlight=16
@@ -0,0 +1,16 @@
1
+ [GLOBALS]
2
+ name=Lua
3
+ filetypes=.lua
4
+
5
+ [LEXER]
6
+ class=QsciLexerLua
7
+
8
+ [COLOR_TYPES]
9
+ comment=1,2
10
+ keyword=5
11
+ method=13,12,9
12
+ string=7,8,6,14,12
13
+ operator=10
14
+ number=4
15
+ misc=0
16
+ text=11
@@ -0,0 +1,20 @@
1
+ [GLOBALS]
2
+ name=Maxscript
3
+ filetypes=.ms;.mcr
4
+ linecomment=--
5
+
6
+ [LEXER]
7
+ class=MaxscriptLexer
8
+ module=preditor.scintilla.lexers.maxscriptlexer
9
+
10
+ [DESCRIPTORS]
11
+ function1=(?P<level>\s*)(?P<misc>function|fn)\s*(?P<name>[^=\n]+)=
12
+ class1=(?P<level>\s*)(?P<type>struct|rollout)\s*(?P<name>[^=($]+)
13
+
14
+ [COLOR_TYPES]
15
+ comment=1,2
16
+ keyword=3
17
+ number=5
18
+ operator=4
19
+ string=6
20
+ smartHighlight=7
@@ -0,0 +1,18 @@
1
+ [GLOBALS]
2
+ name=MEL
3
+ filetypes=.mel;.ma
4
+ linecomment=//
5
+
6
+ [LEXER]
7
+ class=MelLexer
8
+ module=preditor.scintilla.lexers.mellexer
9
+
10
+ [COLOR_TYPES]
11
+ comment=1,3,17,18,2,15
12
+ misc=0
13
+ string=6,7,12,13
14
+ keyword=5,16,9
15
+ number=4,8
16
+ operator=10
17
+ regex=14
18
+ smartHighlight=19
@@ -0,0 +1,22 @@
1
+ [GLOBALS]
2
+ name=Mu
3
+ filetypes=.mu
4
+ linecomment=//
5
+
6
+ [LEXER]
7
+ class=MuLexer
8
+ module=preditor.scintilla.lexers.mulexer
9
+
10
+ [DESCRIPTORS]
11
+ function1=^(?P<level>[ \t]*)method:\s+(?P<name>\w+\s*[^{]*)
12
+ class1=^(?P<level>[ \t]*)class:\s+(?P<name>\w+\s*[^{]*)
13
+
14
+ [COLOR_TYPES]
15
+ comment=1,3,17,18,2,15
16
+ misc=0
17
+ string=6,7,12,13
18
+ method=19
19
+ operator=10
20
+ keyword=5,16,9
21
+ number=4,8
22
+ regex=14
@@ -0,0 +1,19 @@
1
+ [GLOBALS]
2
+ name=NSIS
3
+ filetypes=.nsi;.nsh
4
+ linecomment=#
5
+
6
+ [LEXER]
7
+ class=QsciLexerPython
8
+
9
+ [DESCRIPTORS]
10
+ function1=^(?P<level>[ \t]*)Function\s+(?P<name>\w+\s*[^{]*)
11
+
12
+ [COLOR_TYPES]
13
+ comment=1,12
14
+ keyword=5
15
+ operator=15,10
16
+ method=9,8
17
+ number=2
18
+ misc=0
19
+ string=3,4,7,6,13
@@ -0,0 +1,19 @@
1
+ [GLOBALS]
2
+ name=Perl
3
+ filetypes=.perl
4
+ linecomment=#
5
+
6
+ [LEXER]
7
+ class=QsciLexerPerl
8
+
9
+ [COLOR_TYPES]
10
+ comment=2
11
+ misc=0
12
+ method=40
13
+ string=24,6,26,27,28,29,30,23,7
14
+ error=1
15
+ text=11
16
+ keyword=5
17
+ number=4,12
18
+ operator=10
19
+ regex=17
@@ -0,0 +1,19 @@
1
+ [GLOBALS]
2
+ name=Puppet
3
+ filetypes=.pp
4
+ linecomment=#
5
+
6
+ [LEXER]
7
+ class=QsciLexerPerl
8
+
9
+ [COLOR_TYPES]
10
+ comment=2
11
+ misc=0
12
+ method=40
13
+ string=24,6,26,27,28,29,30,23,7
14
+ error=1
15
+ text=11
16
+ keyword=5
17
+ number=4,12
18
+ operator=10
19
+ regex=17
@@ -0,0 +1,28 @@
1
+ [GLOBALS]
2
+ name=Python
3
+ filetypes=.py;.pyw;.pys;.b;.pytempl
4
+ linecomment=#
5
+
6
+ [LEXER]
7
+ class=PythonLexer
8
+ module=preditor.scintilla.lexers.pythonlexer
9
+
10
+ [DESCRIPTORS]
11
+ function1=^(?P<level>[ \t]*)def\s+(?P<name>\w+\s*[^:]*):
12
+ class1=^(?P<level>[ \t]*)class\s+(?P<name>\w+\s*[^:]*):
13
+
14
+ [COLOR_TYPES]
15
+ comment=1
16
+ commentBlock=12
17
+ keyword=5
18
+ operator=10
19
+ decorator=15
20
+ method=8
21
+ function=9
22
+ number=2
23
+ misc=0
24
+ string=3,4,7,6
25
+ tripleQuotedString=6,7
26
+ unclosedString=13
27
+ identifier=11
28
+ smartHighlight=14
@@ -0,0 +1,19 @@
1
+ [GLOBALS]
2
+ name=Ruby
3
+ filetypes=.rb
4
+ linecomment=#
5
+
6
+ [LEXER]
7
+ class=QsciLexerRuby
8
+
9
+ [COLOR_TYPES]
10
+ attribute=16,6,15,17,19
11
+ comment=9
12
+ keyword=11
13
+ method=2,20,21,3,18
14
+ misc=0
15
+ error=7,4
16
+ operator=5
17
+ tag=1
18
+ string=13,14
19
+ text=8
@@ -0,0 +1,7 @@
1
+ [GLOBALS]
2
+ name=SQL
3
+ filetypes=.sql
4
+ linecomment=--;
5
+
6
+ [LEXER]
7
+ class=QsciLexerSQL
@@ -0,0 +1,21 @@
1
+ [GLOBALS]
2
+ name=XML
3
+ filetypes=.xml;.ui;.sdk;.blurproj;.pref;.schema;.tglnk
4
+
5
+ [LEXER]
6
+ class=QsciLexerXML
7
+
8
+ [COLOR_TYPES]
9
+ method=99,100,115,114
10
+ comment=92,43,44,42,107,58,59,57,82,20,9,124,125,72
11
+ number=93,45,108,60,83,5,122,73
12
+ misc=91,41,106,56,81,118,71
13
+ keyword=96,46,47,111,61,62,84,121,74
14
+ operator=101,50,116,65,127
15
+ string=94,95,97,98,51,49,48,112,113,110,109,66,64,63,85,87,6,7,119,126,120,75,77
16
+ regex=52,67
17
+ attribute=3,123
18
+ entity=10
19
+ tag=1,11
20
+ error=4,2
21
+ text=14,19,17,0
@@ -0,0 +1,18 @@
1
+ [GLOBALS]
2
+ name=YAML
3
+ filetypes=.yml;.yaml
4
+ linecomment=#
5
+
6
+ [LEXER]
7
+ class=QsciLexerYAML
8
+
9
+ [COLOR_TYPES]
10
+ comment=1
11
+ identifier=2
12
+ keyword=3
13
+ number=4
14
+ reference=5
15
+ documentDelimiter=6
16
+ textBlockMarker=7
17
+ syntaxErrorMarker=8
18
+ operator=9