Sat, 26 Apr 2025 12:34:32 +0200
MicroPython
- Added a configuration option to disable the support for the no longer produced Pimoroni Pico Wireless Pack.
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
11090
f5f5f5803935
Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10692
diff
changeset
|
3 | # Copyright (c) 2002 - 2025 Detlev Offenbach <detlev@die-offenbachs.de> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing a Python lexer with some additional methods. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
10 | import contextlib |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
11 | import keyword |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | import re |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
14 | from PyQt6.Qsci import QsciLexerPython, QsciScintilla |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
16 | from eric7 import Preferences |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
17 | |
6845
4680adb641e0
Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
18 | from .SubstyledLexer import SubstyledLexer |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
20 | |
6845
4680adb641e0
Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
21 | class LexerPython(SubstyledLexer, QsciLexerPython): |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
22 | """ |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | Subclass to implement some additional lexer dependant methods. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
25 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
26 | def __init__(self, variant="", parent=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | Constructor |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
29 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
30 | @param variant name of the language variant |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
31 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | @param parent parent widget of this lexer |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
33 | @type QWidget |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | """ |
3462
6d6e7334a787
Fixed an issue with ALL lexers inheriting in the wrong order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
35 | QsciLexerPython.__init__(self, parent) |
6845
4680adb641e0
Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
36 | SubstyledLexer.__init__(self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
37 | |
802
e8882d16384c
Added a pyflakes checker function for Python 2 files and made some additional Python 2 related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
38 | self.variant = variant |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | self.commentString = "#" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
40 | |
6874
5a3a39442711
Lexers: extended the keyword set handling by introducing a keyword set description and some set adjustments (harmonized with SciTE).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6873
diff
changeset
|
41 | self.keywordSetDescriptions = [ |
5a3a39442711
Lexers: extended the keyword set handling by introducing a keyword set description and some set adjustments (harmonized with SciTE).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6873
diff
changeset
|
42 | self.tr("Keywords"), |
5a3a39442711
Lexers: extended the keyword set handling by introducing a keyword set description and some set adjustments (harmonized with SciTE).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6873
diff
changeset
|
43 | self.tr("Highlighted identifiers"), |
5a3a39442711
Lexers: extended the keyword set handling by introducing a keyword set description and some set adjustments (harmonized with SciTE).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6873
diff
changeset
|
44 | ] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
45 | |
6845
4680adb641e0
Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
46 | ############################################################## |
4680adb641e0
Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
47 | ## default sub-style definitions |
4680adb641e0
Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
48 | ############################################################## |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
49 | |
6845
4680adb641e0
Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
50 | # list of style numbers, that support sub-styling |
4680adb641e0
Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
51 | self.baseStyles = [11] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
52 | |
6845
4680adb641e0
Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
53 | self.defaultSubStyles = { |
6855
4d80c8cc99a1
SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6846
diff
changeset
|
54 | 11: { |
4d80c8cc99a1
SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6846
diff
changeset
|
55 | 0: { |
6873
47804e8cde27
LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6872
diff
changeset
|
56 | "Description": self.tr("Standard Library Modules"), |
6846
6ca9ef2c0907
Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6845
diff
changeset
|
57 | "Words": """ |
9359
8d3f5cf4f819
Adjusted the list of Python standard library modules in the substyle definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
58 | __main__ abc aifc antigravity argparse array ast asynchat asyncio asyncore atexit |
8d3f5cf4f819
Adjusted the list of Python standard library modules in the substyle definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
59 | audioop base64 bdb binascii bisect builtins bz2 cProfile calendar cgi cgitb chunk cmath |
8d3f5cf4f819
Adjusted the list of Python standard library modules in the substyle definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
60 | cmd code codecs codeop collections colorsys compileall concurrent configparser |
8d3f5cf4f819
Adjusted the list of Python standard library modules in the substyle definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
61 | contextlib contextvars copy copyreg crypt csv ctypes curses dataclasses datetime dbm |
8d3f5cf4f819
Adjusted the list of Python standard library modules in the substyle definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
62 | decimal difflib dis distutils doctest email encodings ensurepip enum errno faulthandler |
8d3f5cf4f819
Adjusted the list of Python standard library modules in the substyle definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
63 | fcntl filecmp fileinput fnmatch fractions ftplib functools gc genericpath getopt |
8d3f5cf4f819
Adjusted the list of Python standard library modules in the substyle definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
64 | getpass gettext glob graphlib grp gzip hashlib heapq hmac html http idlelib imaplib |
8d3f5cf4f819
Adjusted the list of Python standard library modules in the substyle definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
65 | imghdr imp importlib inspect io ipaddress itertools json keyword lib2to3 linecache |
8d3f5cf4f819
Adjusted the list of Python standard library modules in the substyle definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
66 | locale logging lzma mailbox mailcap marshal math mimetypes mmap modulefinder msilib |
8d3f5cf4f819
Adjusted the list of Python standard library modules in the substyle definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
67 | msvcrt multiprocessing netrc nis nntplib nt ntpath nturl2path numbers opcode operator |
8d3f5cf4f819
Adjusted the list of Python standard library modules in the substyle definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
68 | optparse os ossaudiodev pathlib pdb pickle pickletools pipes pkgutil platform plistlib |
8d3f5cf4f819
Adjusted the list of Python standard library modules in the substyle definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
69 | poplib posix posixpath pprint profile pstats pty pwd py_compile pyclbr pydoc pydoc_data |
8d3f5cf4f819
Adjusted the list of Python standard library modules in the substyle definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
70 | pyexpat queue quopri random re readline reprlib resource rlcompleter runpy sched |
8d3f5cf4f819
Adjusted the list of Python standard library modules in the substyle definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
71 | secrets select selectors shelve shlex shutil signal site smtpd smtplib sndhdr socket |
8d3f5cf4f819
Adjusted the list of Python standard library modules in the substyle definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
72 | socketserver spwd sqlite3 sre_compile sre_constants sre_parse ssl stat statistics |
8d3f5cf4f819
Adjusted the list of Python standard library modules in the substyle definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
73 | string stringprep struct subprocess sunau symtable sys sysconfig syslog tabnanny |
8d3f5cf4f819
Adjusted the list of Python standard library modules in the substyle definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
74 | tarfile telnetlib tempfile termios textwrap this threading time timeit tkinter token |
8d3f5cf4f819
Adjusted the list of Python standard library modules in the substyle definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
75 | tokenize tomllib trace traceback tracemalloc tty turtle turtledemo types typing |
8d3f5cf4f819
Adjusted the list of Python standard library modules in the substyle definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
76 | unicodedata unittest urllib uu uuid venv warnings wave weakref webbrowser winreg |
8d3f5cf4f819
Adjusted the list of Python standard library modules in the substyle definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
77 | winsound wsgiref xdrlib xml xmlrpc zipapp zipfile zipimport zlib zoneinfo""", |
6846
6ca9ef2c0907
Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6845
diff
changeset
|
78 | "Style": { |
6ca9ef2c0907
Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6845
diff
changeset
|
79 | "fore": 0xDD9900, |
6ca9ef2c0907
Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6845
diff
changeset
|
80 | "font_bold": True, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
81 | }, |
6846
6ca9ef2c0907
Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6845
diff
changeset
|
82 | }, |
6855
4d80c8cc99a1
SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6846
diff
changeset
|
83 | 1: { |
6873
47804e8cde27
LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6872
diff
changeset
|
84 | "Description": self.tr("__future__ Imports"), |
6846
6ca9ef2c0907
Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6845
diff
changeset
|
85 | "Words": """ |
8255 | 86 | __future__ absolute_import annotations division generators generator_stop |
87 | nested_scopes print_function unicode_literals with_statement""", | |
6846
6ca9ef2c0907
Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6845
diff
changeset
|
88 | "Style": { |
6ca9ef2c0907
Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6845
diff
changeset
|
89 | "fore": 0xEE00AA, |
6ca9ef2c0907
Lexer: extended the basic support for sub-styles by a method to write the data to the settings file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6845
diff
changeset
|
90 | "font_italic": True, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
91 | }, |
6873
47804e8cde27
LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6872
diff
changeset
|
92 | }, |
47804e8cde27
LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6872
diff
changeset
|
93 | 2: { |
11217 | 94 | "Description": self.tr("PyQt6 Modules"), |
6873
47804e8cde27
LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6872
diff
changeset
|
95 | "Words": """ |
11217 | 96 | PyQt6 Qsci Qt Qt3DAnimation Qt3DCore Qt3DExtras Qt3DInput Qt3DLogic |
8343
242d5dae2937
Corrected some place to import QtCharts instead of QtChart.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
97 | Qt3DRender QtBluetooth QtChart QtCharts QtCore QtDataVisualization QtDBus |
242d5dae2937
Corrected some place to import QtCharts instead of QtChart.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
98 | QtDesigner QtGui QtHelp QtLocation QtMacExtras QtMultimedia |
242d5dae2937
Corrected some place to import QtCharts instead of QtChart.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
99 | QtMultimediaWidgets QtNetwork QtNetworkAuth QtNfc QtOpenGL QtOpenGLWidgets |
9359
8d3f5cf4f819
Adjusted the list of Python standard library modules in the substyle definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
100 | QtPdf QtPdfWidgets QtPositioning QtPrintSupport QtPurchasing QtQml QtQuick QtQuick3D |
8343
242d5dae2937
Corrected some place to import QtCharts instead of QtChart.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
101 | QtQuickWidgets QtRemoteObjects QtSensors QtSerialPort QtSql QtSvg QtSvgWidgets |
9359
8d3f5cf4f819
Adjusted the list of Python standard library modules in the substyle definitions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
102 | QtTest QtTextToSpeech QtWebChannel QtWebEngine QtWebEngineCore QtWebEngineQuick |
8343
242d5dae2937
Corrected some place to import QtCharts instead of QtChart.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
103 | QtWebEngineWidgets QtWebSockets QtWidgets QtWinExtras QtX11Extras QtXml |
242d5dae2937
Corrected some place to import QtCharts instead of QtChart.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
104 | QtXmlPatterns sip""", |
6873
47804e8cde27
LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6872
diff
changeset
|
105 | "Style": { |
47804e8cde27
LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6872
diff
changeset
|
106 | "fore": 0x44AADD, |
47804e8cde27
LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6872
diff
changeset
|
107 | "font_bold": True, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
108 | }, |
6873
47804e8cde27
LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6872
diff
changeset
|
109 | }, |
6881
054667c5c270
Lexers, LexerPython: changed support for Cython from Pygments to QScintilla based lexer with a sub-style for Cython specific words.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6877
diff
changeset
|
110 | 3: { |
054667c5c270
Lexers, LexerPython: changed support for Cython from Pygments to QScintilla based lexer with a sub-style for Cython specific words.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6877
diff
changeset
|
111 | "Description": self.tr("Cython Specifics"), |
054667c5c270
Lexers, LexerPython: changed support for Cython from Pygments to QScintilla based lexer with a sub-style for Cython specific words.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6877
diff
changeset
|
112 | "Words": "cython pyximport Cython __cinit__ __dealloc__", |
054667c5c270
Lexers, LexerPython: changed support for Cython from Pygments to QScintilla based lexer with a sub-style for Cython specific words.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6877
diff
changeset
|
113 | "Style": { |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
114 | "fore": 0xDD0000, |
6881
054667c5c270
Lexers, LexerPython: changed support for Cython from Pygments to QScintilla based lexer with a sub-style for Cython specific words.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6877
diff
changeset
|
115 | "font_bold": True, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
116 | }, |
6881
054667c5c270
Lexers, LexerPython: changed support for Cython from Pygments to QScintilla based lexer with a sub-style for Cython specific words.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6877
diff
changeset
|
117 | }, |
6855
4d80c8cc99a1
SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6846
diff
changeset
|
118 | }, |
6845
4680adb641e0
Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
119 | } |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
120 | |
802
e8882d16384c
Added a pyflakes checker function for Python 2 files and made some additional Python 2 related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
121 | def language(self): |
e8882d16384c
Added a pyflakes checker function for Python 2 files and made some additional Python 2 related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
122 | """ |
e8882d16384c
Added a pyflakes checker function for Python 2 files and made some additional Python 2 related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
123 | Public method to get the lexer language. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
124 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
125 | @return lexer language |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
126 | @rtype str |
802
e8882d16384c
Added a pyflakes checker function for Python 2 files and made some additional Python 2 related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
127 | """ |
e8882d16384c
Added a pyflakes checker function for Python 2 files and made some additional Python 2 related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
128 | if not self.variant: |
e8882d16384c
Added a pyflakes checker function for Python 2 files and made some additional Python 2 related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
129 | return QsciLexerPython.language(self) |
e8882d16384c
Added a pyflakes checker function for Python 2 files and made some additional Python 2 related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
130 | else: |
e8882d16384c
Added a pyflakes checker function for Python 2 files and made some additional Python 2 related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
131 | return self.variant |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
132 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | def initProperties(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | Public slot to initialize the properties. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
137 | self.setIndentationWarning(Preferences.getEditor("PythonBadIndentation")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | self.setFoldComments(Preferences.getEditor("PythonFoldComment")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | self.setFoldQuotes(Preferences.getEditor("PythonFoldString")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | if not Preferences.getEditor("PythonAutoIndent"): |
826
2e3e2055e715
Fixed a few PEP 8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
802
diff
changeset
|
141 | self.setAutoIndentStyle(QsciScintilla.AiMaintain) |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
142 | with contextlib.suppress(AttributeError): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
143 | self.setV2UnicodeAllowed(Preferences.getEditor("PythonAllowV2Unicode")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
144 | self.setV3BinaryOctalAllowed(Preferences.getEditor("PythonAllowV3Binary")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
145 | self.setV3BytesAllowed(Preferences.getEditor("PythonAllowV3Bytes")) |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
146 | with contextlib.suppress(AttributeError): |
948
fe7b94ed01ec
Added support for new lexer properties (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
147 | self.setFoldQuotes(Preferences.getEditor("PythonFoldQuotes")) |
fe7b94ed01ec
Added support for new lexer properties (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
148 | self.setStringsOverNewlineAllowed( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
149 | Preferences.getEditor("PythonStringsOverNewLineAllowed") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
150 | ) |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
151 | with contextlib.suppress(AttributeError): |
1444
552d2d74f5cf
Started to add support for QScintilla 2.6 (and newer).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
152 | self.setHighlightSubidentifiers( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
153 | Preferences.getEditor("PythonHighlightSubidentifier") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
154 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
155 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
156 | def getIndentationDifference(self, line, editor): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3539
diff
changeset
|
158 | Public method to determine the difference for the new indentation. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
159 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
160 | @param line line to perform the calculation for |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
161 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
162 | @param editor QScintilla editor |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
163 | @type Editor |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
164 | @return amount of difference in indentation |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
165 | @rtype int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
167 | indent_width = editor.getEditorConfig("IndentWidth") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
168 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
169 | lead_spaces = editor.indentation(line) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
170 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
171 | pline = line - 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
172 | while pline >= 0 and re.match(r"^\s*(#.*)?$", editor.text(pline)): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
173 | pline -= 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
174 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
175 | if pline < 0: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | last = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
177 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
178 | previous_lead_spaces = editor.indentation(pline) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
179 | # trailing spaces |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
180 | m = re.search(r":\s*(#.*)?$", editor.text(pline)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
181 | last = previous_lead_spaces |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
182 | if m: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
183 | last += indent_width |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
184 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | # special cases, like pass (unindent) or return (also unindent) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
186 | m = re.search(r"(pass\s*(#.*)?$)|(^[^#]return)", editor.text(pline)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
187 | if m: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
188 | last -= indent_width |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
189 | |
8259
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8255
diff
changeset
|
190 | indentDifference = ( |
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8255
diff
changeset
|
191 | last - lead_spaces |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
192 | if ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
193 | lead_spaces % indent_width != 0 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
194 | or lead_spaces == 0 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
195 | or self.lastIndented != line |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
196 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
197 | else -indent_width # __IGNORE_WARNING_W503__ |
8259
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8255
diff
changeset
|
198 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
199 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
200 | return indentDifference |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
201 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
202 | def autoCompletionWordSeparators(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
203 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
204 | Public method to return the list of separators for autocompletion. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
205 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
206 | @return list of separators |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
207 | @rtype list of str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
208 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
209 | return ["."] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
210 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
211 | def isCommentStyle(self, style): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
212 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
213 | Public method to check, if a style is a comment style. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
214 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
215 | @param style style to check |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
216 | @type int |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
217 | @return flag indicating a comment style |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
218 | @rtype bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
219 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
220 | return style in [QsciLexerPython.Comment, QsciLexerPython.CommentBlock] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
221 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
222 | def isStringStyle(self, style): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
223 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
224 | Public method to check, if a style is a string style. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
225 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
226 | @param style style to check |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
227 | @type int |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
228 | @return flag indicating a string style |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
229 | @rtype bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
230 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
231 | return style in [ |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
232 | QsciLexerPython.DoubleQuotedString, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
233 | QsciLexerPython.SingleQuotedString, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
234 | QsciLexerPython.TripleDoubleQuotedString, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
235 | QsciLexerPython.TripleSingleQuotedString, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
236 | QsciLexerPython.UnclosedString, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
237 | ] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
238 | |
130
fcce4cc20d95
Added capability to change the keywords of a syntax highlighter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
239 | def defaultKeywords(self, kwSet): |
fcce4cc20d95
Added capability to change the keywords of a syntax highlighter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
240 | """ |
fcce4cc20d95
Added capability to change the keywords of a syntax highlighter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
241 | Public method to get the default keywords. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
242 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
243 | @param kwSet number of the keyword set |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
244 | @type int |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
245 | @return string giving the keywords or None |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
246 | @rtype str |
130
fcce4cc20d95
Added capability to change the keywords of a syntax highlighter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
247 | """ |
6872
96bb40e987f7
LexerPython: Define different keyword sets for Python 2 and Python 3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
248 | if kwSet == 1: |
7635
0cdead130a81
Removed support for Python2 and removed support for Qt4 (PyQt4 and pyside).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
249 | if self.language() == "Python3": |
7658
3975d0659673
LexerPython: made the list of default keywords dynamic getting them from the keyword module and introduced a separate list for MicroPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7635
diff
changeset
|
250 | keywords = " ".join(keyword.kwlist) |
3975d0659673
LexerPython: made the list of default keywords dynamic getting them from the keyword module and introduced a separate list for MicroPython.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7635
diff
changeset
|
251 | elif self.language() == "MicroPython": |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
252 | keywords = ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
253 | "False None True and as assert break class " |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
254 | "continue def del elif else except finally for " |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
255 | "from global if import in is lambda nonlocal not " |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
256 | "or pass raise return try while with yield" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
257 | ) |
6881
054667c5c270
Lexers, LexerPython: changed support for Cython from Pygments to QScintilla based lexer with a sub-style for Cython specific words.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6877
diff
changeset
|
258 | elif self.language() == "Cython": |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
259 | keywords = ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
260 | "False None True and as assert break class " |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
261 | "continue def del elif else except finally for " |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
262 | "from global if import in is lambda nonlocal not " |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
263 | "or pass raise return try while with yield " |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
264 | "cdef cimport cpdef ctypedef" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
265 | ) |
6872
96bb40e987f7
LexerPython: Define different keyword sets for Python 2 and Python 3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
266 | else: |
96bb40e987f7
LexerPython: Define different keyword sets for Python 2 and Python 3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
267 | keywords = QsciLexerPython.keywords(self, kwSet) |
6877
da5d6c7d5348
LexerPython: fixed an issue where keywords got used before it was defined.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6874
diff
changeset
|
268 | else: |
da5d6c7d5348
LexerPython: fixed an issue where keywords got used before it was defined.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6874
diff
changeset
|
269 | keywords = QsciLexerPython.keywords(self, kwSet) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
270 | |
6872
96bb40e987f7
LexerPython: Define different keyword sets for Python 2 and Python 3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6855
diff
changeset
|
271 | return keywords |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
272 | |
3654
ffeb85cdc72d
Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
273 | def maximumKeywordSet(self): |
ffeb85cdc72d
Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
274 | """ |
ffeb85cdc72d
Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
275 | Public method to get the maximum keyword set. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
276 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
277 | @return maximum keyword set |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
278 | @rtype int |
3654
ffeb85cdc72d
Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
279 | """ |
ffeb85cdc72d
Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
280 | return 2 |
9484
d2eb8f0a5bf0
Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
281 | |
d2eb8f0a5bf0
Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
282 | |
10692
9becf9ca115c
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
283 | def createLexer(variant, parent=None): |
9484
d2eb8f0a5bf0
Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
284 | """ |
d2eb8f0a5bf0
Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
285 | Function to instantiate a lexer object. |
d2eb8f0a5bf0
Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
286 | |
d2eb8f0a5bf0
Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
287 | @param variant name of the language variant |
d2eb8f0a5bf0
Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
288 | @type str |
d2eb8f0a5bf0
Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
289 | @param parent parent widget of this lexer |
d2eb8f0a5bf0
Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
290 | @type QObject |
d2eb8f0a5bf0
Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
291 | @return instantiated lexer object |
d2eb8f0a5bf0
Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
292 | @rtype LexerPython |
d2eb8f0a5bf0
Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
293 | """ |
d2eb8f0a5bf0
Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
294 | return LexerPython(variant=variant, parent=parent) |