PrEditor 0.0.0.dev1__py2.py3-none-any.whl → 0.1.0__py2.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.
Potentially problematic release.
This version of PrEditor might be problematic. Click here for more details.
- PrEditor-0.1.0.dist-info/LICENSE +165 -0
- PrEditor-0.1.0.dist-info/METADATA +212 -0
- PrEditor-0.1.0.dist-info/RECORD +149 -0
- {PrEditor-0.0.0.dev1.dist-info → PrEditor-0.1.0.dist-info}/WHEEL +1 -1
- PrEditor-0.1.0.dist-info/entry_points.txt +18 -0
- PrEditor-0.1.0.dist-info/top_level.txt +1 -0
- preditor/__init__.py +301 -0
- {blurdev → preditor}/__main__.py +13 -13
- preditor/about_module.py +166 -0
- preditor/cli.py +192 -0
- {blurdev → preditor}/contexts.py +119 -119
- preditor/cores/core.py +65 -0
- preditor/dccs/maya/PrEditor_maya.mod +2 -0
- preditor/dccs/maya/plug-ins/PrEditor_maya.py +108 -0
- preditor/debug.py +294 -0
- blurdev/scintilla/delayable_engine.py → preditor/delayable_engine/__init__.py +310 -299
- blurdev/scintilla/delayables/base.py → preditor/delayable_engine/delayables.py +85 -85
- {blurdev → preditor}/enum.py +728 -1003
- {blurdev → preditor}/gui/__init__.py +84 -125
- preditor/gui/app.py +159 -0
- {blurdev → preditor}/gui/codehighlighter.py +209 -219
- {blurdev → preditor}/gui/completer.py +226 -236
- {blurdev → preditor}/gui/console.py +801 -858
- {blurdev → preditor}/gui/dialog.py +200 -216
- preditor/gui/drag_tab_bar.py +190 -0
- preditor/gui/editor_chooser.py +57 -0
- {blurdev → preditor}/gui/errordialog.py +100 -97
- preditor/gui/fuzzy_search/fuzzy_search.py +93 -0
- preditor/gui/group_tab_widget/__init__.py +319 -0
- preditor/gui/group_tab_widget/grouped_tab_menu.py +35 -0
- preditor/gui/group_tab_widget/grouped_tab_models.py +108 -0
- preditor/gui/group_tab_widget/grouped_tab_widget.py +75 -0
- preditor/gui/group_tab_widget/one_tab_widget.py +54 -0
- preditor/gui/level_buttons.py +349 -0
- {blurdev → preditor}/gui/logger_window_handler.py +46 -45
- {blurdev → preditor}/gui/loggerwindow.py +1205 -1417
- {blurdev → preditor}/gui/newtabwidget.py +69 -68
- {blurdev → preditor}/gui/redmine_login_dialog.py +63 -61
- {blurdev → preditor}/gui/set_text_editor_path_dialog.py +59 -57
- preditor/gui/ui/editor_chooser.ui +93 -0
- {blurdev → preditor}/gui/ui/errordialog.ui +81 -81
- {blurdev → preditor}/gui/ui/loggerwindow.ui +1030 -864
- {blurdev → preditor}/gui/ui/redmine_login_dialog.ui +124 -124
- {blurdev → preditor}/gui/ui/set_text_editor_path_dialog.ui +149 -149
- {blurdev → preditor}/gui/window.py +183 -199
- preditor/gui/workbox_mixin.py +357 -0
- preditor/gui/workbox_text_edit.py +117 -0
- preditor/gui/workboxwidget.py +276 -0
- preditor/logging_config.py +52 -0
- preditor/osystem.py +401 -0
- preditor/plugins.py +65 -0
- preditor/prefs.py +74 -0
- {blurdev → preditor}/resource/environment_variables.html +26 -38
- {blurdev → preditor}/resource/error_mail.html +85 -85
- {blurdev → preditor}/resource/error_mail_inline.html +41 -41
- preditor/resource/img/README.md +7 -0
- preditor/resource/img/arrow_forward.png +0 -0
- preditor/resource/img/check-bold.png +0 -0
- preditor/resource/img/chevron-down.png +0 -0
- preditor/resource/img/chevron-up.png +0 -0
- preditor/resource/img/close-thick.png +0 -0
- preditor/resource/img/comment-edit.png +0 -0
- preditor/resource/img/content-copy.png +0 -0
- preditor/resource/img/content-cut.png +0 -0
- preditor/resource/img/content-duplicate.png +0 -0
- preditor/resource/img/content-paste.png +0 -0
- preditor/resource/img/content-save.png +0 -0
- preditor/resource/img/debug_disabled.png +0 -0
- preditor/resource/img/eye-check.png +0 -0
- preditor/resource/img/file-plus.png +0 -0
- preditor/resource/img/file-remove.png +0 -0
- preditor/resource/img/format-align-left.png +0 -0
- preditor/resource/img/format-letter-case-lower.png +0 -0
- preditor/resource/img/format-letter-case-upper.png +0 -0
- preditor/resource/img/information.png +0 -0
- preditor/resource/img/logging_critical.png +0 -0
- preditor/resource/img/logging_custom.png +0 -0
- preditor/resource/img/logging_debug.png +0 -0
- preditor/resource/img/logging_error.png +0 -0
- preditor/resource/img/logging_info.png +0 -0
- preditor/resource/img/logging_not_set.png +0 -0
- preditor/resource/img/logging_warning.png +0 -0
- preditor/resource/img/marker.png +0 -0
- preditor/resource/img/play.png +0 -0
- preditor/resource/img/playlist-play.png +0 -0
- preditor/resource/img/plus-minus-variant.png +0 -0
- preditor/resource/img/preditor.ico +0 -0
- preditor/resource/img/preditor.png +0 -0
- preditor/resource/img/preditor.psd +0 -0
- preditor/resource/img/preditor.svg +44 -0
- preditor/resource/img/restart.svg +1 -0
- preditor/resource/img/skip-forward-outline.png +0 -0
- preditor/resource/img/skip-next-outline.png +0 -0
- preditor/resource/img/skip-next.png +0 -0
- preditor/resource/img/skip-previous.png +0 -0
- preditor/resource/img/subdirectory-arrow-right.png +0 -0
- preditor/resource/img/text-search-variant.png +0 -0
- {blurdev → preditor}/resource/lang/python.json +30 -30
- preditor/resource/settings.ini +25 -0
- {blurdev/resource/stylesheet/logger → preditor/resource/stylesheet}/Bright.css +56 -61
- {blurdev → preditor}/resource/stylesheet/Dark.css +190 -132
- {blurdev → preditor}/scintilla/__init__.py +22 -28
- preditor/scintilla/delayables/__init__.py +11 -0
- {blurdev → preditor}/scintilla/delayables/smart_highlight.py +94 -93
- {blurdev → preditor}/scintilla/delayables/spell_check.py +173 -172
- {blurdev → preditor}/scintilla/documenteditor.py +2039 -2115
- {blurdev → preditor}/scintilla/finddialog.py +68 -81
- {blurdev → preditor}/scintilla/lang/__init__.py +80 -93
- {blurdev → preditor}/scintilla/lang/config/bash.ini +15 -15
- {blurdev → preditor}/scintilla/lang/config/batch.ini +14 -14
- {blurdev → preditor}/scintilla/lang/config/cpp.ini +19 -19
- {blurdev → preditor}/scintilla/lang/config/css.ini +19 -19
- {blurdev → preditor}/scintilla/lang/config/eyeonscript.ini +17 -17
- {blurdev → preditor}/scintilla/lang/config/html.ini +21 -21
- {blurdev → preditor}/scintilla/lang/config/javascript.ini +24 -24
- {blurdev → preditor}/scintilla/lang/config/lua.ini +16 -16
- {blurdev → preditor}/scintilla/lang/config/maxscript.ini +20 -20
- {blurdev → preditor}/scintilla/lang/config/mel.ini +18 -18
- {blurdev → preditor}/scintilla/lang/config/mu.ini +22 -22
- {blurdev → preditor}/scintilla/lang/config/nsi.ini +5 -5
- {blurdev → preditor}/scintilla/lang/config/perl.ini +19 -19
- {blurdev → preditor}/scintilla/lang/config/puppet.ini +19 -19
- {blurdev → preditor}/scintilla/lang/config/python.ini +28 -28
- {blurdev → preditor}/scintilla/lang/config/ruby.ini +19 -19
- {blurdev → preditor}/scintilla/lang/config/sql.ini +7 -7
- {blurdev → preditor}/scintilla/lang/config/xml.ini +21 -21
- {blurdev → preditor}/scintilla/lang/config/yaml.ini +18 -18
- {blurdev → preditor}/scintilla/lang/language.py +240 -250
- preditor/scintilla/lexers/__init__.py +0 -0
- {blurdev → preditor}/scintilla/lexers/cpplexer.py +21 -30
- {blurdev → preditor}/scintilla/lexers/javascriptlexer.py +25 -34
- {blurdev → preditor}/scintilla/lexers/maxscriptlexer.py +234 -253
- {blurdev → preditor}/scintilla/lexers/mellexer.py +368 -376
- {blurdev → preditor}/scintilla/lexers/mulexer.py +32 -41
- {blurdev → preditor}/scintilla/lexers/pythonlexer.py +41 -50
- {blurdev → preditor}/scintilla/ui/finddialog.ui +160 -160
- preditor/settings.py +71 -0
- preditor/stream/__init__.py +80 -0
- preditor/stream/director.py +56 -0
- preditor/stream/manager.py +74 -0
- preditor/streamhandler_helper.py +46 -0
- preditor/utils/__init__.py +0 -0
- preditor/utils/cute.py +30 -0
- preditor/utils/stylesheets.py +54 -0
- {blurdev → preditor}/version.py +5 -5
- preditor/weakref.py +363 -0
- PrEditor-0.0.0.dev1.dist-info/METADATA +0 -51
- PrEditor-0.0.0.dev1.dist-info/RECORD +0 -279
- PrEditor-0.0.0.dev1.dist-info/top_level.txt +0 -1
- blurdev/__init__.py +0 -356
- blurdev/cores/__init__.py +0 -98
- blurdev/cores/application.py +0 -26
- blurdev/cores/core.py +0 -634
- blurdev/debug.py +0 -593
- blurdev/external.py +0 -391
- blurdev/gui/level_buttons.py +0 -585
- blurdev/gui/workboxwidget.py +0 -205
- blurdev/logger.py +0 -238
- blurdev/osystem.py +0 -813
- blurdev/prefs.py +0 -33
- blurdev/protocols/__init__.py +0 -71
- blurdev/protocols/write_std_output_handler.py +0 -83
- blurdev/resource/designer_plugins.xml +0 -9
- blurdev/resource/error_email_old.html +0 -41
- blurdev/resource/img/add.png +0 -0
- blurdev/resource/img/ajax-loader.gif +0 -0
- blurdev/resource/img/application.png +0 -0
- blurdev/resource/img/applications.png +0 -0
- blurdev/resource/img/assburner.png +0 -0
- blurdev/resource/img/assfreezer.png +0 -0
- blurdev/resource/img/bar.gif +0 -0
- blurdev/resource/img/blank.png +0 -0
- blurdev/resource/img/blurdev.png +0 -0
- blurdev/resource/img/calendar_disabled.png +0 -0
- blurdev/resource/img/calendar_enabled.png +0 -0
- blurdev/resource/img/cancel.png +0 -0
- blurdev/resource/img/custom.png +0 -0
- blurdev/resource/img/debug_high.png +0 -0
- blurdev/resource/img/debug_low.png +0 -0
- blurdev/resource/img/debug_mid.png +0 -0
- blurdev/resource/img/debug_off.png +0 -0
- blurdev/resource/img/django.png +0 -0
- blurdev/resource/img/doc.png +0 -0
- blurdev/resource/img/edit.png +0 -0
- blurdev/resource/img/elemental.png +0 -0
- blurdev/resource/img/explore.png +0 -0
- blurdev/resource/img/favorite.png +0 -0
- blurdev/resource/img/file.png +0 -0
- blurdev/resource/img/folder.png +0 -0
- blurdev/resource/img/ide/add.png +0 -0
- blurdev/resource/img/ide/add_note.png +0 -0
- blurdev/resource/img/ide/arrow_down.png +0 -0
- blurdev/resource/img/ide/arrow_up.png +0 -0
- blurdev/resource/img/ide/check.png +0 -0
- blurdev/resource/img/ide/class.png +0 -0
- blurdev/resource/img/ide/clean.png +0 -0
- blurdev/resource/img/ide/clearlog.png +0 -0
- blurdev/resource/img/ide/close.png +0 -0
- blurdev/resource/img/ide/comment_add.png +0 -0
- blurdev/resource/img/ide/comment_remove.png +0 -0
- blurdev/resource/img/ide/comment_toggle.png +0 -0
- blurdev/resource/img/ide/console.png +0 -0
- blurdev/resource/img/ide/copy.png +0 -0
- blurdev/resource/img/ide/copylstrip.png +0 -0
- blurdev/resource/img/ide/cut.png +0 -0
- blurdev/resource/img/ide/edit.png +0 -0
- blurdev/resource/img/ide/find.png +0 -0
- blurdev/resource/img/ide/find_replace.png +0 -0
- blurdev/resource/img/ide/findnext.png +0 -0
- blurdev/resource/img/ide/findprev.png +0 -0
- blurdev/resource/img/ide/folder_find.png +0 -0
- blurdev/resource/img/ide/function.png +0 -0
- blurdev/resource/img/ide/git-bash.png +0 -0
- blurdev/resource/img/ide/git-gui.png +0 -0
- blurdev/resource/img/ide/gitk.png +0 -0
- blurdev/resource/img/ide/goto.png +0 -0
- blurdev/resource/img/ide/goto_def.png +0 -0
- blurdev/resource/img/ide/help.png +0 -0
- blurdev/resource/img/ide/highlighter.png +0 -0
- blurdev/resource/img/ide/lowercase.png +0 -0
- blurdev/resource/img/ide/newfile.png +0 -0
- blurdev/resource/img/ide/newfolder.png +0 -0
- blurdev/resource/img/ide/newproject.png +0 -0
- blurdev/resource/img/ide/newwizard.png +0 -0
- blurdev/resource/img/ide/open.png +0 -0
- blurdev/resource/img/ide/paste.png +0 -0
- blurdev/resource/img/ide/pdb_continue.png +0 -0
- blurdev/resource/img/ide/pdb_down.png +0 -0
- blurdev/resource/img/ide/pdb_next.png +0 -0
- blurdev/resource/img/ide/pdb_step.png +0 -0
- blurdev/resource/img/ide/pdb_up.png +0 -0
- blurdev/resource/img/ide/plus_minus.png +0 -0
- blurdev/resource/img/ide/preferences.png +0 -0
- blurdev/resource/img/ide/project_find.png +0 -0
- blurdev/resource/img/ide/python.png +0 -0
- blurdev/resource/img/ide/pyular.png +0 -0
- blurdev/resource/img/ide/qt.png +0 -0
- blurdev/resource/img/ide/quit.png +0 -0
- blurdev/resource/img/ide/redo.png +0 -0
- blurdev/resource/img/ide/refresh.png +0 -0
- blurdev/resource/img/ide/remove.png +0 -0
- blurdev/resource/img/ide/ruler.png +0 -0
- blurdev/resource/img/ide/run.png +0 -0
- blurdev/resource/img/ide/runall.png +0 -0
- blurdev/resource/img/ide/runallclear.png +0 -0
- blurdev/resource/img/ide/runselected.png +0 -0
- blurdev/resource/img/ide/runselectedclear.png +0 -0
- blurdev/resource/img/ide/save.png +0 -0
- blurdev/resource/img/ide/saveas.png +0 -0
- blurdev/resource/img/ide/sdk.png +0 -0
- blurdev/resource/img/ide/separator.png +0 -0
- blurdev/resource/img/ide/tabbed.png +0 -0
- blurdev/resource/img/ide/tile.png +0 -0
- blurdev/resource/img/ide/toolbar.png +0 -0
- blurdev/resource/img/ide/undo.png +0 -0
- blurdev/resource/img/ide/uppercase.png +0 -0
- blurdev/resource/img/ide/view_as.png +0 -0
- blurdev/resource/img/ide/windowed.png +0 -0
- blurdev/resource/img/ide.ico +0 -0
- blurdev/resource/img/ide.png +0 -0
- blurdev/resource/img/ide48.png +0 -0
- blurdev/resource/img/info.png +0 -0
- blurdev/resource/img/legacy tool.png +0 -0
- blurdev/resource/img/library.png +0 -0
- blurdev/resource/img/logger/about.png +0 -0
- blurdev/resource/img/logger/arrow_forward.png +0 -0
- blurdev/resource/img/logger/clear.png +0 -0
- blurdev/resource/img/logger/close.png +0 -0
- blurdev/resource/img/logger/debug_disabled.png +0 -0
- blurdev/resource/img/logger/debug_high.png +0 -0
- blurdev/resource/img/logger/debug_low.png +0 -0
- blurdev/resource/img/logger/debug_mid.png +0 -0
- blurdev/resource/img/logger/down.png +0 -0
- blurdev/resource/img/logger/find.png +0 -0
- blurdev/resource/img/logger/logging_critical.png +0 -0
- blurdev/resource/img/logger/logging_debug.png +0 -0
- blurdev/resource/img/logger/logging_error.png +0 -0
- blurdev/resource/img/logger/logging_info.png +0 -0
- blurdev/resource/img/logger/logging_not_set.png +0 -0
- blurdev/resource/img/logger/logging_warning.png +0 -0
- blurdev/resource/img/logger/next.png +0 -0
- blurdev/resource/img/logger/play.png +0 -0
- blurdev/resource/img/logger/playlist_play.png +0 -0
- blurdev/resource/img/logger/previous.png +0 -0
- blurdev/resource/img/logger/return.png +0 -0
- blurdev/resource/img/logger/save.png +0 -0
- blurdev/resource/img/logger/subdirectory_arrow_right.png +0 -0
- blurdev/resource/img/logger/up.png +0 -0
- blurdev/resource/img/lovebar.png +0 -0
- blurdev/resource/img/new.png +0 -0
- blurdev/resource/img/new_selected.png +0 -0
- blurdev/resource/img/node.png +0 -0
- blurdev/resource/img/ok.png +0 -0
- blurdev/resource/img/options.png +0 -0
- blurdev/resource/img/packages.png +0 -0
- blurdev/resource/img/preview/add.png +0 -0
- blurdev/resource/img/preview/brush.png +0 -0
- blurdev/resource/img/preview/delete.png +0 -0
- blurdev/resource/img/preview/delte.png +0 -0
- blurdev/resource/img/preview/fill.png +0 -0
- blurdev/resource/img/preview/layers.png +0 -0
- blurdev/resource/img/preview/media.png +0 -0
- blurdev/resource/img/preview/navigate.png +0 -0
- blurdev/resource/img/preview/pencil.png +0 -0
- blurdev/resource/img/preview/select.png +0 -0
- blurdev/resource/img/preview/type.png +0 -0
- blurdev/resource/img/preview/visible.png +0 -0
- blurdev/resource/img/project.png +0 -0
- blurdev/resource/img/python_logger.ico +0 -0
- blurdev/resource/img/python_logger.png +0 -0
- blurdev/resource/img/refresh.png +0 -0
- blurdev/resource/img/remove.png +0 -0
- blurdev/resource/img/reset.png +0 -0
- blurdev/resource/img/richtext/font_bold.png +0 -0
- blurdev/resource/img/richtext/font_italic.png +0 -0
- blurdev/resource/img/richtext/link_image.png +0 -0
- blurdev/resource/img/richtext/spell_check.png +0 -0
- blurdev/resource/img/richtext/unordered_list.png +0 -0
- blurdev/resource/img/save.png +0 -0
- blurdev/resource/img/savesettings.png +0 -0
- blurdev/resource/img/settings.png +0 -0
- blurdev/resource/img/tool.png +0 -0
- blurdev/resource/img/toolbarHandleHorizontal.png +0 -0
- blurdev/resource/img/toolbarHandleVertical.png +0 -0
- blurdev/resource/img/trash.png +0 -0
- blurdev/resource/img/trax.png +0 -0
- blurdev/resource/img/tree.png +0 -0
- blurdev/resource/img/treegrunt.ico +0 -0
- blurdev/resource/img/treegrunt.png +0 -0
- blurdev/resource/img/treegruntedit.png +0 -0
- blurdev/resource/img/user interface.png +0 -0
- blurdev/resource/img/warning.png +0 -0
- blurdev/resource/img/watermark.png +0 -0
- blurdev/resource/sdk/blurdev.sdk +0 -3
- blurdev/resource/settings.ini +0 -82
- blurdev/resource/softimage/BlurApplication.dll +0 -0
- blurdev/resource/softimage/BlurApplication64.dll +0 -0
- blurdev/resource/stylesheet/Carbon.css +0 -35
- blurdev/resource/stylesheet/logger/Dark.css +0 -62
- blurdev/resource/templ/py_comment.templ +0 -1
- blurdev/resource/templ/py_debug_raise_error.templ +0 -7
- blurdev/resource/templ/py_doc_string.templ +0 -10
- blurdev/resource/templ/py_header.templ +0 -9
- blurdev/resource/templ/py_line_comment.templ +0 -1
- blurdev/resource/templ/py_log_to_file.templ +0 -22
- blurdev/resource/templ/py_module_path.templ +0 -1
- blurdev/resource/templ/py_pyqt_core.templ +0 -1
- blurdev/resource/templ/py_pyqt_gui.templ +0 -1
- blurdev/resource/templ/py_splashscreen.templ +0 -6
- blurdev/resource/templ/py_testing_note.templ +0 -1
- blurdev/resource/templ/py_testing_note_end.templ +0 -1
- blurdev/resource/tools_environments.json +0 -72
- blurdev/resource/tools_environments.xml +0 -11
- blurdev/resource/tools_environments_linux.xml +0 -11
- blurdev/resource/tools_environments_offline.xml +0 -7
- blurdev/runtimes/__init__.py +0 -2
- blurdev/runtimes/logger.py +0 -44
- blurdev/scintilla/delayables/__init__.py +0 -9
- blurdev/settings.py +0 -312
- blurdev/utils/error.py +0 -389
- {blurdev/scintilla/lexers → preditor/cores}/__init__.py +0 -0
- {blurdev/utils → preditor/gui/fuzzy_search}/__init__.py +0 -0
- {blurdev → preditor}/resource/img/warning-big.png +0 -0
|
@@ -1,250 +1,240 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
from
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
self.expr
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
self.
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
self.
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
#
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
parser.add_section('
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
parser.
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
parser.
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
self.
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
def
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
for val in parser.get('COLOR_TYPES', option).split(','):
|
|
242
|
-
try:
|
|
243
|
-
vals.append(int(val))
|
|
244
|
-
except Exception:
|
|
245
|
-
pass
|
|
246
|
-
plugin._lexerColorTypes[option] = vals
|
|
247
|
-
|
|
248
|
-
plugin._sourcefile = filename
|
|
249
|
-
|
|
250
|
-
return plugin
|
|
1
|
+
from __future__ import absolute_import, print_function
|
|
2
|
+
|
|
3
|
+
import re
|
|
4
|
+
import sys
|
|
5
|
+
|
|
6
|
+
try:
|
|
7
|
+
from configparser import ConfigParser
|
|
8
|
+
except ImportError:
|
|
9
|
+
from ConfigParser import ConfigParser
|
|
10
|
+
|
|
11
|
+
from PyQt5 import Qsci
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class MethodDescriptor(object):
|
|
15
|
+
def __init__(self, dtype, expr):
|
|
16
|
+
self.dtype = dtype
|
|
17
|
+
self.exprText = expr
|
|
18
|
+
try:
|
|
19
|
+
self.expr = re.compile(expr, re.DOTALL | re.MULTILINE)
|
|
20
|
+
except Exception:
|
|
21
|
+
print('error generating expression', expr)
|
|
22
|
+
self.expr = None
|
|
23
|
+
|
|
24
|
+
def search(self, text, startpos=-1):
|
|
25
|
+
if not self.expr:
|
|
26
|
+
return None
|
|
27
|
+
|
|
28
|
+
if startpos != -1:
|
|
29
|
+
return self.expr.search(text, startpos)
|
|
30
|
+
else:
|
|
31
|
+
return self.expr.search(text)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class Language(object):
|
|
35
|
+
def __init__(self):
|
|
36
|
+
self._name = ''
|
|
37
|
+
self._fileTypes = []
|
|
38
|
+
|
|
39
|
+
# lexer class information
|
|
40
|
+
self._lexerClass = -1
|
|
41
|
+
self._lexerClassName = ''
|
|
42
|
+
self._lexerModule = ''
|
|
43
|
+
self._lexerColorTypes = {}
|
|
44
|
+
self._custom = False
|
|
45
|
+
self._sourcefile = ''
|
|
46
|
+
|
|
47
|
+
# comment information
|
|
48
|
+
self._lineComment = ''
|
|
49
|
+
|
|
50
|
+
# method descriptors
|
|
51
|
+
self._descriptors = []
|
|
52
|
+
|
|
53
|
+
def addDescriptor(self, type, expr):
|
|
54
|
+
self._descriptors.append(MethodDescriptor(type, expr))
|
|
55
|
+
|
|
56
|
+
def createLexer(self, parent=None):
|
|
57
|
+
# create an instance of the lexer
|
|
58
|
+
cls = self.lexerClass()
|
|
59
|
+
if not cls:
|
|
60
|
+
return None
|
|
61
|
+
|
|
62
|
+
output = cls(parent)
|
|
63
|
+
if output and parent:
|
|
64
|
+
output.setFont(parent.font())
|
|
65
|
+
return output
|
|
66
|
+
|
|
67
|
+
def descriptors(self):
|
|
68
|
+
return self._descriptors
|
|
69
|
+
|
|
70
|
+
def isCustom(self):
|
|
71
|
+
return self._custom
|
|
72
|
+
|
|
73
|
+
def name(self):
|
|
74
|
+
return self._name
|
|
75
|
+
|
|
76
|
+
def lexerColorTypes(self):
|
|
77
|
+
return self._lexerColorTypes
|
|
78
|
+
|
|
79
|
+
def lineComment(self):
|
|
80
|
+
return self._lineComment
|
|
81
|
+
|
|
82
|
+
def fileTypes(self):
|
|
83
|
+
return self._fileTypes
|
|
84
|
+
|
|
85
|
+
def lexerClass(self):
|
|
86
|
+
if self._lexerClass == -1:
|
|
87
|
+
# use a custom lexer module
|
|
88
|
+
if self._lexerModule:
|
|
89
|
+
# retrieve the lexer module
|
|
90
|
+
module = sys.modules.get(self._lexerModule)
|
|
91
|
+
|
|
92
|
+
# try to import the module
|
|
93
|
+
if not module:
|
|
94
|
+
try:
|
|
95
|
+
__import__(self._lexerModule)
|
|
96
|
+
module = sys.modules.get(self._lexerModule)
|
|
97
|
+
except Exception:
|
|
98
|
+
print(
|
|
99
|
+
(
|
|
100
|
+
'[preditor.scintilla.lexers.Language.createLexer() '
|
|
101
|
+
'Error] Could not import %s module'
|
|
102
|
+
)
|
|
103
|
+
% self._lexerModule
|
|
104
|
+
)
|
|
105
|
+
self._lexerClass = None
|
|
106
|
+
return None
|
|
107
|
+
|
|
108
|
+
# otherwise, its in the Qsci module
|
|
109
|
+
else:
|
|
110
|
+
module = Qsci
|
|
111
|
+
|
|
112
|
+
# retrieve the lexer class
|
|
113
|
+
self._lexerClass = module.__dict__.get(self._lexerClassName)
|
|
114
|
+
if not self._lexerClass:
|
|
115
|
+
print(
|
|
116
|
+
(
|
|
117
|
+
'[preditor.scintilla.lexers.Language.createLexer() Error] '
|
|
118
|
+
'No %s class in %s'
|
|
119
|
+
)
|
|
120
|
+
% (self._lexerClassName, module.__name__)
|
|
121
|
+
)
|
|
122
|
+
|
|
123
|
+
return self._lexerClass
|
|
124
|
+
|
|
125
|
+
def lexerClassName(self):
|
|
126
|
+
return self._lexerClassName
|
|
127
|
+
|
|
128
|
+
def lexerModule(self):
|
|
129
|
+
return self._lexerModule
|
|
130
|
+
|
|
131
|
+
def save(self, filename=''):
|
|
132
|
+
if not filename:
|
|
133
|
+
filename = self.filename()
|
|
134
|
+
if not filename:
|
|
135
|
+
return False
|
|
136
|
+
|
|
137
|
+
parser = ConfigParser()
|
|
138
|
+
parser.add_section('GLOBALS')
|
|
139
|
+
parser.set('GLOBALS', 'name', self.name())
|
|
140
|
+
parser.set('GLOBALS', 'filetypes', ';'.join(self.fileTypes()))
|
|
141
|
+
# quotes are to preserve spaces which configparser strips out
|
|
142
|
+
parser.set('GLOBALS', 'linecomment', '"{}"'.format(self.lineComment()))
|
|
143
|
+
|
|
144
|
+
parser.add_section('LEXER')
|
|
145
|
+
parser.set('LEXER', 'class', self.lexerClassName())
|
|
146
|
+
parser.set('LEXER', 'module', self.lexerModule())
|
|
147
|
+
|
|
148
|
+
parser.add_section('DESCRIPTORS')
|
|
149
|
+
for i, desc in enumerate(self._descriptors):
|
|
150
|
+
parser.set('DESCRIPTORS', '%s%i' % (desc.dtype, i), desc.exprText)
|
|
151
|
+
|
|
152
|
+
parser.add_section('COLOR_TYPES')
|
|
153
|
+
for key, value in self.lexerColorTypes().items():
|
|
154
|
+
parser.set('COLOR_TYPES', key, ','.join([str(val) for val in value]))
|
|
155
|
+
|
|
156
|
+
# save the language
|
|
157
|
+
f = open(filename, 'w')
|
|
158
|
+
parser.write(f)
|
|
159
|
+
f.close()
|
|
160
|
+
|
|
161
|
+
self._sourcefile = filename
|
|
162
|
+
return True
|
|
163
|
+
|
|
164
|
+
def setCustom(self, state):
|
|
165
|
+
self._custom = state
|
|
166
|
+
|
|
167
|
+
def setFileTypes(self, fileTypes):
|
|
168
|
+
self._fileTypes = fileTypes
|
|
169
|
+
|
|
170
|
+
def setLexerClassName(self, className):
|
|
171
|
+
self._lexerClassName = className
|
|
172
|
+
|
|
173
|
+
def setLexerModule(self, module):
|
|
174
|
+
self._lexerModule = module
|
|
175
|
+
|
|
176
|
+
def setLineComment(self, lineComment):
|
|
177
|
+
self._lineComment = lineComment
|
|
178
|
+
|
|
179
|
+
def setLexerColorTypes(self, lexerColorTypes):
|
|
180
|
+
self._lexerColorTypes = lexerColorTypes
|
|
181
|
+
|
|
182
|
+
def setName(self, name):
|
|
183
|
+
self._name = name
|
|
184
|
+
|
|
185
|
+
def sourcefile(self):
|
|
186
|
+
return self._sourcefile
|
|
187
|
+
|
|
188
|
+
@staticmethod
|
|
189
|
+
def fromConfig(filename):
|
|
190
|
+
parser = ConfigParser()
|
|
191
|
+
|
|
192
|
+
if not parser.read(filename):
|
|
193
|
+
return False
|
|
194
|
+
|
|
195
|
+
plugin = Language()
|
|
196
|
+
plugin._name = parser.get('GLOBALS', 'name')
|
|
197
|
+
plugin._fileTypes = parser.get('GLOBALS', 'filetypes').split(';')
|
|
198
|
+
|
|
199
|
+
# try to load the line comment information
|
|
200
|
+
try:
|
|
201
|
+
plugin._lineComment = parser.get('GLOBALS', 'linecomment').strip('"')
|
|
202
|
+
except Exception:
|
|
203
|
+
pass
|
|
204
|
+
|
|
205
|
+
# try to load the lexer information
|
|
206
|
+
try:
|
|
207
|
+
plugin._lexerClassName = parser.get('LEXER', 'class')
|
|
208
|
+
plugin._lexerModule = parser.get('LEXER', 'module')
|
|
209
|
+
except Exception:
|
|
210
|
+
pass
|
|
211
|
+
|
|
212
|
+
# load the different descriptor options
|
|
213
|
+
try:
|
|
214
|
+
options = parser.options('DESCRIPTORS')
|
|
215
|
+
except Exception:
|
|
216
|
+
options = []
|
|
217
|
+
|
|
218
|
+
for option in options:
|
|
219
|
+
expr = parser.get('DESCRIPTORS', option)
|
|
220
|
+
option = re.match(r'([^\d]*)\d*', option).groups()[0]
|
|
221
|
+
plugin._descriptors.append(MethodDescriptor(option, expr))
|
|
222
|
+
|
|
223
|
+
# load the different color map options
|
|
224
|
+
try:
|
|
225
|
+
options = parser.options('COLOR_TYPES')
|
|
226
|
+
except Exception:
|
|
227
|
+
options = []
|
|
228
|
+
|
|
229
|
+
for option in options:
|
|
230
|
+
vals = []
|
|
231
|
+
for val in parser.get('COLOR_TYPES', option).split(','):
|
|
232
|
+
try:
|
|
233
|
+
vals.append(int(val))
|
|
234
|
+
except Exception:
|
|
235
|
+
pass
|
|
236
|
+
plugin._lexerColorTypes[option] = vals
|
|
237
|
+
|
|
238
|
+
plugin._sourcefile = filename
|
|
239
|
+
|
|
240
|
+
return plugin
|
|
File without changes
|
|
@@ -1,30 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
#
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
# Set the highlight color for this lexer
|
|
23
|
-
return QColor(155, 255, 155)
|
|
24
|
-
return super(CppLexer, self).defaultPaper(style)
|
|
25
|
-
|
|
26
|
-
def keywords(self, style):
|
|
27
|
-
# Words to be highlighted
|
|
28
|
-
if style == self.CommentLine and self.highlightedKeywords:
|
|
29
|
-
return self.highlightedKeywords
|
|
30
|
-
return super(CppLexer, self).keywords(style)
|
|
1
|
+
from __future__ import absolute_import
|
|
2
|
+
|
|
3
|
+
from PyQt5.Qsci import QsciLexerCPP
|
|
4
|
+
from Qt.QtGui import QColor
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class CppLexer(QsciLexerCPP):
|
|
8
|
+
# Items in this list will be highlighted using the color for self.KeywordSet2
|
|
9
|
+
highlightedKeywords = ''
|
|
10
|
+
|
|
11
|
+
def defaultPaper(self, style):
|
|
12
|
+
if style == self.CommentLine:
|
|
13
|
+
# Set the highlight color for this lexer
|
|
14
|
+
return QColor(155, 255, 155)
|
|
15
|
+
return super(CppLexer, self).defaultPaper(style)
|
|
16
|
+
|
|
17
|
+
def keywords(self, style):
|
|
18
|
+
# Words to be highlighted
|
|
19
|
+
if style == self.CommentLine and self.highlightedKeywords:
|
|
20
|
+
return self.highlightedKeywords
|
|
21
|
+
return super(CppLexer, self).keywords(style)
|
|
@@ -1,34 +1,25 @@
|
|
|
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
|
-
# Set the highlight color for this lexer
|
|
27
|
-
return QColor(155, 255, 155)
|
|
28
|
-
return super(JavaScriptLexer, self).defaultPaper(style)
|
|
29
|
-
|
|
30
|
-
def keywords(self, style):
|
|
31
|
-
# Words to be highlighted
|
|
32
|
-
if style == 2 and self.highlightedKeywords:
|
|
33
|
-
return self.highlightedKeywords
|
|
34
|
-
return super(JavaScriptLexer, self).keywords(style)
|
|
1
|
+
from __future__ import absolute_import
|
|
2
|
+
|
|
3
|
+
from PyQt5.Qsci import QsciLexerJavaScript
|
|
4
|
+
from Qt.QtGui import QColor
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class JavaScriptLexer(QsciLexerJavaScript):
|
|
8
|
+
# Items in this list will be highlighted using the color for self.KeywordSet2
|
|
9
|
+
highlightedKeywords = ''
|
|
10
|
+
|
|
11
|
+
def defaultFont(self, index):
|
|
12
|
+
# HACK: TODO: I should probably preserve the existing fonts
|
|
13
|
+
return self.font(0)
|
|
14
|
+
|
|
15
|
+
def defaultPaper(self, style):
|
|
16
|
+
if style == self.KeywordSet2:
|
|
17
|
+
# Set the highlight color for this lexer
|
|
18
|
+
return QColor(155, 255, 155)
|
|
19
|
+
return super(JavaScriptLexer, self).defaultPaper(style)
|
|
20
|
+
|
|
21
|
+
def keywords(self, style):
|
|
22
|
+
# Words to be highlighted
|
|
23
|
+
if style == 2 and self.highlightedKeywords:
|
|
24
|
+
return self.highlightedKeywords
|
|
25
|
+
return super(JavaScriptLexer, self).keywords(style)
|