src/eric7/QScintilla/Lexers/LexerPython.py

Wed, 13 Jul 2022 14:55:47 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 13 Jul 2022 14:55:47 +0200
branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9359
8d3f5cf4f819
permissions
-rw-r--r--

Reformatted the source code using the 'Black' utility.

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
8881
54e42bc2437a Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8343
diff changeset
3 # Copyright (c) 2002 - 2022 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
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import re
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
11 import contextlib
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
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
13 from PyQt6.Qsci import QsciLexerPython, QsciScintilla
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
15 from .SubstyledLexer import SubstyledLexer
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 import Preferences
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
18
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
19 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
20 """
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 Subclass to implement some additional lexer dependant methods.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
23
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
24 def __init__(self, variant="", parent=None):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 Constructor
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
27
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
28 @param variant name of the language variant (string)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 @param parent parent widget of this lexer
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 """
3462
6d6e7334a787 Fixed an issue with ALL lexers inheriting in the wrong order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
31 QsciLexerPython.__init__(self, parent)
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
32 SubstyledLexer.__init__(self)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
33
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
34 self.variant = variant
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 self.commentString = "#"
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
36
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
37 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
38 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
39 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
40 ]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
41
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
42 ##############################################################
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
43 ## default sub-style definitions
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
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 # 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
47 self.baseStyles = [11]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
48
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
49 self.defaultSubStyles = {
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
50 11: {
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
51 0: {
6873
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
52 "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
53 "Words": """
8255
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
54 __main__ _dummy_thread _thread abc aifc argparse array ascii ast asynchat
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
55 asyncio asyncore atexit audioop base64 bdb binascii binhex bisect builtins bz2
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
56 calendar cgi cgitb chunk cmath cmd code codecs codeop collections colorsys
8255
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
57 compileall concurrent configparser contextlib contextvars copy copyreg
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
58 cProfile crypt csv ctypes curses dataclasses datetime dbm decimal difflib dis
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
59 distutils doctest email encodings ensurepip enum errno faulthandler fcntl
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
60 filecmp fileinput fnmatch formatter fractions ftplib functools gc getopt
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
61 getpass gettext glob graphlib grp gzip hashlib heapq hmac html http imaplib
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
62 imghdr imp importlib inspect io ipaddress itertools json keyword lib2to3
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
63 linecache locale logging lzma mailbox mailcap marshal math mimetypes mmap
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
64 modulefinder msilib msvcrt multiprocessing netrc nis nntplib numbers opcode
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
65 operator optparse os ossaudiodev parser path pathlib pdb pickle pickletools
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
66 pipes pkgutil platform plistlib poplib posix pprint profile pstats pty pwd
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
67 py_compile pyclbr pydoc queue quopri random re readline reprlib resource
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
68 rlcompleter runpy sched secrets select selectors shelve shlex shutil signal
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
69 site smtpd smtplib sndhdr socket socketserver spwd sqlite3 ssl stat statistics
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
70 string stringprep struct subprocess sunau symbol symtable sys sysconfig syslog
8255
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
71 tabnanny tarfile telnetlib tempfile termios test textwrap threading time
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
72 timeit tkinter token tokenize trace traceback tracemalloc tty turtle
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
73 turtledemo types typing unicodedata unittest urllib uu uuid venv warnings wave
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
74 weakref webbrowser winreg winsound wsgiref xdrlib xml xmlrpc zipapp zipfile
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
75 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
76 "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
77 "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
78 "font_bold": True,
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
79 },
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
80 },
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
81 1: {
6873
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
82 "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
83 "Words": """
8255
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
84 __future__ absolute_import annotations division generators generator_stop
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
85 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
86 "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
87 "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
88 "font_italic": True,
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
89 },
6873
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
90 },
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
91 2: {
8255
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
92 "Description": self.tr("PyQt5/6 Modules"),
6873
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
93 "Words": """
8255
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
94 PyQt5 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
95 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
96 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
97 QtMultimediaWidgets QtNetwork QtNetworkAuth QtNfc QtOpenGL QtOpenGLWidgets
242d5dae2937 Corrected some place to import QtCharts instead of QtChart.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
98 QtPositioning QtPrintSupport QtPurchasing QtQml QtQuick QtQuick3D
242d5dae2937 Corrected some place to import QtCharts instead of QtChart.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
99 QtQuickWidgets QtRemoteObjects QtSensors QtSerialPort QtSql QtSvg QtSvgWidgets
242d5dae2937 Corrected some place to import QtCharts instead of QtChart.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
100 QtTest QtTextToSpeech QtWebChannel QtWebEngine QtWebEngineCore
242d5dae2937 Corrected some place to import QtCharts instead of QtChart.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
101 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
102 QtXmlPatterns sip""",
6873
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
103 "Style": {
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
104 "fore": 0x44AADD,
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
105 "font_bold": True,
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
106 },
6873
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
107 },
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
108 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
109 "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
110 "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
111 "Style": {
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
112 "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
113 "font_bold": True,
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
114 },
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 },
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
116 },
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
117 }
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
118
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
119 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
120 """
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 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
122
2965
d133c7edd88a Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
123 @return lexer language (string)
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
124 """
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
125 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
126 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
127 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
128 return self.variant
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
129
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 def initProperties(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 Public slot to initialize the properties.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
134 self.setIndentationWarning(Preferences.getEditor("PythonBadIndentation"))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 self.setFoldComments(Preferences.getEditor("PythonFoldComment"))
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 self.setFoldQuotes(Preferences.getEditor("PythonFoldString"))
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 if not Preferences.getEditor("PythonAutoIndent"):
826
2e3e2055e715 Fixed a few PEP 8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 802
diff changeset
138 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
139 with contextlib.suppress(AttributeError):
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
140 self.setV2UnicodeAllowed(Preferences.getEditor("PythonAllowV2Unicode"))
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
141 self.setV3BinaryOctalAllowed(Preferences.getEditor("PythonAllowV3Binary"))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 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
143 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
144 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
145 self.setStringsOverNewlineAllowed(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
146 Preferences.getEditor("PythonStringsOverNewLineAllowed")
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
147 )
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
148 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
149 self.setHighlightSubidentifiers(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
150 Preferences.getEditor("PythonHighlightSubidentifier")
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
151 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
152
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 def getIndentationDifference(self, line, editor):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 """
3591
2f2a4a76dd22 Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3539
diff changeset
155 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
156
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 @param line line to perform the calculation for (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 @param editor QScintilla editor
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 @return amount of difference in indentation (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
161 indent_width = editor.getEditorConfig("IndentWidth")
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
162
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 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
164
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 pline = line - 1
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
166 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
167 pline -= 1
9221
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 if pline < 0:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 last = 0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 previous_lead_spaces = editor.indentation(pline)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 # trailing spaces
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
174 m = re.search(r":\s*(#.*)?$", editor.text(pline))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 last = previous_lead_spaces
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 if m:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 last += indent_width
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179 # 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
180 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
181 if m:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182 last -= indent_width
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
183
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
184 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
185 last - lead_spaces
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
186 if (
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
187 lead_spaces % indent_width != 0
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
188 or lead_spaces == 0
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
189 or self.lastIndented != line
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
190 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
191 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
192 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
193
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
194 return indentDifference
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
195
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196 def autoCompletionWordSeparators(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
197 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
198 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
199
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
200 @return list of separators (list of strings)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
202 return ["."]
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
203
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
204 def isCommentStyle(self, style):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
205 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
206 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
207
2965
d133c7edd88a Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
208 @param style style to check (integer)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
209 @return flag indicating a comment style (boolean)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
210 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
211 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
212
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
213 def isStringStyle(self, style):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
214 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
215 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
216
2965
d133c7edd88a Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
217 @param style style to check (integer)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
218 @return flag indicating a string style (boolean)
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 [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
221 QsciLexerPython.DoubleQuotedString,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
222 QsciLexerPython.SingleQuotedString,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
223 QsciLexerPython.TripleDoubleQuotedString,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
224 QsciLexerPython.TripleSingleQuotedString,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
225 QsciLexerPython.UnclosedString,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
226 ]
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
227
130
fcce4cc20d95 Added capability to change the keywords of a syntax highlighter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
228 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
229 """
fcce4cc20d95 Added capability to change the keywords of a syntax highlighter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
230 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
231
167
7508e44f4853 Fixed an issue with a missing method in LexerPygments.py and corrected some source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 130
diff changeset
232 @param kwSet number of the keyword set (integer)
7508e44f4853 Fixed an issue with a missing method in LexerPygments.py and corrected some source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 130
diff changeset
233 @return string giving the keywords (string) or None
130
fcce4cc20d95 Added capability to change the keywords of a syntax highlighter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
234 """
6872
96bb40e987f7 LexerPython: Define different keyword sets for Python 2 and Python 3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
235 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
236 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
237 import keyword
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
238
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
239 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
240 elif self.language() == "MicroPython":
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
241 keywords = (
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
242 "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
243 "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
244 "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
245 "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
246 )
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
247 elif self.language() == "Cython":
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
248 keywords = (
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
249 "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
250 "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
251 "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
252 "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
253 "cdef cimport cpdef ctypedef"
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
254 )
6872
96bb40e987f7 LexerPython: Define different keyword sets for Python 2 and Python 3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
255 else:
96bb40e987f7 LexerPython: Define different keyword sets for Python 2 and Python 3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
256 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
257 else:
da5d6c7d5348 LexerPython: fixed an issue where keywords got used before it was defined.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6874
diff changeset
258 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
259
6872
96bb40e987f7 LexerPython: Define different keyword sets for Python 2 and Python 3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
260 return keywords
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
261
3654
ffeb85cdc72d Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3591
diff changeset
262 def maximumKeywordSet(self):
ffeb85cdc72d Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3591
diff changeset
263 """
ffeb85cdc72d Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3591
diff changeset
264 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
265
3654
ffeb85cdc72d Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3591
diff changeset
266 @return maximum keyword set (integer)
ffeb85cdc72d Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3591
diff changeset
267 """
ffeb85cdc72d Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3591
diff changeset
268 return 2

eric ide

mercurial