eric7/QScintilla/Lexers/LexerPython.py

Thu, 30 Dec 2021 11:17:58 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 30 Dec 2021 11:17:58 +0100
branch
eric7
changeset 8881
54e42bc2437a
parent 8343
242d5dae2937
permissions
-rw-r--r--

Updated copyright for 2022.

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 """
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
23 def __init__(self, variant="", parent=None):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 Constructor
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26
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
27 @param variant name of the language variant (string)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 @param parent parent widget of this lexer
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 """
3462
6d6e7334a787 Fixed an issue with ALL lexers inheriting in the wrong order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
30 QsciLexerPython.__init__(self, parent)
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
31 SubstyledLexer.__init__(self)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32
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
33 self.variant = variant
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 self.commentString = "#"
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
35
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
36 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
37 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
38 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
39 ]
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
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
41 ##############################################################
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
42 ## default sub-style definitions
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
43 ##############################################################
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
44
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
45 # 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
46 self.baseStyles = [11]
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
47
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
48 self.defaultSubStyles = {
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
49 11: {
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
50 0: {
6873
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
51 "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
52 "Words": """
8255
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
53 __main__ _dummy_thread _thread abc aifc argparse array ascii ast asynchat
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
54 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
55 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
56 compileall concurrent configparser contextlib contextvars copy copyreg
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
57 cProfile crypt csv ctypes curses dataclasses datetime dbm decimal difflib dis
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
58 distutils doctest email encodings ensurepip enum errno faulthandler fcntl
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
59 filecmp fileinput fnmatch formatter fractions ftplib functools gc getopt
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
60 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
61 imghdr imp importlib inspect io ipaddress itertools json keyword lib2to3
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
62 linecache locale logging lzma mailbox mailcap marshal math mimetypes mmap
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
63 modulefinder msilib msvcrt multiprocessing netrc nis nntplib numbers opcode
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
64 operator optparse os ossaudiodev parser path pathlib pdb pickle pickletools
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
65 pipes pkgutil platform plistlib poplib posix pprint profile pstats pty pwd
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
66 py_compile pyclbr pydoc queue quopri random re readline reprlib resource
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
67 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
68 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
69 string stringprep struct subprocess sunau symbol symtable sys sysconfig syslog
8255
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
70 tabnanny tarfile telnetlib tempfile termios test textwrap threading time
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
71 timeit tkinter token tokenize trace traceback tracemalloc tty turtle
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
72 turtledemo types typing unicodedata unittest urllib uu uuid venv warnings wave
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
73 weakref webbrowser winreg winsound wsgiref xdrlib xml xmlrpc zipapp zipfile
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
74 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
75 "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
76 "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
77 "font_bold": True,
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 }
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 },
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
80 1: {
6873
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
81 "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
82 "Words": """
8255
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
83 __future__ absolute_import annotations division generators generator_stop
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
84 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
85 "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
86 "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
87 "font_italic": True,
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
88 }
6873
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
89 },
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
90 2: {
8255
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
91 "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
92 "Words": """
8255
2fc483702cd6 Python Lexer
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8243
diff changeset
93 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
94 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
95 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
96 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
97 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
98 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
99 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
100 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
101 QtXmlPatterns sip""",
6873
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
102 "Style": {
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
103 "fore": 0x44AADD,
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
104 "font_bold": True,
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
105 }
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
106 },
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
107 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
108 "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
109 "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
110 "Style": {
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 "fore": 0xdd0000,
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 "font_bold": True,
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 }
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
114 },
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
115 },
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
116 }
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
117
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
118 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
119 """
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 Public method to get the lexer language.
2965
d133c7edd88a Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
121
d133c7edd88a Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
122 @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
123 """
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 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
125 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
126 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
127 return 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
128
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 def initProperties(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 Public slot to initialize the properties.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 """
3730
dccee91e9d8a Refined the indication for bad indentation of Python files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
133 self.setIndentationWarning(
dccee91e9d8a Refined the indication for bad indentation of Python files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
134 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):
3011
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
140 self.setV2UnicodeAllowed(
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
141 Preferences.getEditor("PythonAllowV2Unicode"))
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
142 self.setV3BinaryOctalAllowed(
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
143 Preferences.getEditor("PythonAllowV3Binary"))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 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
145 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
146 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
147 self.setStringsOverNewlineAllowed(
fe7b94ed01ec Added support for new lexer properties (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
148 Preferences.getEditor("PythonStringsOverNewLineAllowed"))
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
149 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
150 self.setHighlightSubidentifiers(
552d2d74f5cf Started to add support for QScintilla 2.6 (and newer).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
151 Preferences.getEditor("PythonHighlightSubidentifier"))
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
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.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156
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 """
6105
cbd34d558bd9 Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
161 indent_width = editor.getEditorConfig('IndentWidth')
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 lead_spaces = editor.indentation(line)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 pline = line - 1
6247
5c677a7f7d51 Corrected some code style issues detected by the new pycodestyle version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6105
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
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168
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
6247
5c677a7f7d51 Corrected some code style issues detected by the new pycodestyle version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6105
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)
6247
5c677a7f7d51 Corrected some code style issues detected by the new pycodestyle version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6105
diff changeset
180 m = re.search(r'(pass\s*(#.*)?$)|(^[^#]return)',
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181 editor.text(pline))
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
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
185 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
186 last - lead_spaces
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
187 if (lead_spaces % indent_width != 0 or
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
188 lead_spaces == 0 or
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
189 self.lastIndented != line) else
8260
2161475d9639 Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8259
diff changeset
190 -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
191 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
192
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
193 return indentDifference
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
194
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 def autoCompletionWordSeparators(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
197 Public method to return the list of separators for autocompletion.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
198
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
199 @return list of separators (list of strings)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
200 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201 return ['.']
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
202
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
203 def isCommentStyle(self, style):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
204 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
205 Public method to check, if a style is a comment style.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
206
2965
d133c7edd88a Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
207 @param style style to check (integer)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
208 @return flag indicating a comment style (boolean)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
209 """
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
210 return style in [QsciLexerPython.Comment,
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211 QsciLexerPython.CommentBlock]
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 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.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
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 """
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
220 return style in [QsciLexerPython.DoubleQuotedString,
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
221 QsciLexerPython.SingleQuotedString,
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
222 QsciLexerPython.TripleDoubleQuotedString,
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
223 QsciLexerPython.TripleSingleQuotedString,
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
224 QsciLexerPython.UnclosedString]
130
fcce4cc20d95 Added capability to change the keywords of a syntax highlighter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
225
fcce4cc20d95 Added capability to change the keywords of a syntax highlighter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
226 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
227 """
fcce4cc20d95 Added capability to change the keywords of a syntax highlighter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
228 Public method to get the default keywords.
fcce4cc20d95 Added capability to change the keywords of a syntax highlighter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
229
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
230 @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
231 @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
232 """
6872
96bb40e987f7 LexerPython: Define different keyword sets for Python 2 and Python 3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
233 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
234 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
235 import keyword
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
236 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
237 elif self.language() == "MicroPython":
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
238 keywords = ("False None True and as assert break class "
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
239 "continue def del elif else except finally for "
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
240 "from global if import in is lambda nonlocal not "
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
241 "or pass raise return try while with yield")
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
242 elif self.language() == "Cython":
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
243 keywords = ("False None True and as assert break class "
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
244 "continue def del elif else except finally for "
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
245 "from global if import in is lambda nonlocal not "
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
246 "or pass raise return try while with yield "
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 "cdef cimport cpdef ctypedef")
6872
96bb40e987f7 LexerPython: Define different keyword sets for Python 2 and Python 3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
248 else:
96bb40e987f7 LexerPython: Define different keyword sets for Python 2 and Python 3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
249 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
250 else:
da5d6c7d5348 LexerPython: fixed an issue where keywords got used before it was defined.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6874
diff changeset
251 keywords = QsciLexerPython.keywords(self, kwSet)
6872
96bb40e987f7 LexerPython: Define different keyword sets for Python 2 and Python 3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
252
96bb40e987f7 LexerPython: Define different keyword sets for Python 2 and Python 3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
253 return keywords
3654
ffeb85cdc72d Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3591
diff changeset
254
ffeb85cdc72d Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3591
diff changeset
255 def maximumKeywordSet(self):
ffeb85cdc72d Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3591
diff changeset
256 """
ffeb85cdc72d Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3591
diff changeset
257 Public method to get the maximum keyword set.
ffeb85cdc72d Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3591
diff changeset
258
ffeb85cdc72d Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3591
diff changeset
259 @return maximum keyword set (integer)
ffeb85cdc72d Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3591
diff changeset
260 """
ffeb85cdc72d Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3591
diff changeset
261 return 2

eric ide

mercurial