eric6/QScintilla/Lexers/LexerPython.py

Thu, 15 Apr 2021 18:11:24 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 15 Apr 2021 18:11:24 +0200
changeset 8243
cc717c2ae956
parent 7923
91e843545d9a
child 8255
2fc483702cd6
permissions
-rw-r--r--

Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).

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
7923
91e843545d9a Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7781
diff changeset
3 # Copyright (c) 2002 - 2021 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
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3654
diff changeset
13 from PyQt5.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": """
6873
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
53 __main__ _dummy_thread _thread abc aifc argparse array ast asynchat asyncio
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
54 asyncore atexit audioop base64 bdb binascii binhex bisect builtins bz2
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
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
56 compileall concurrent configparser contextlib copy copyreg crypt csv ctypes
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
57 curses datetime dbm decimal difflib dis distutils dummy_threading email
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
58 ensurepip enum errno faulthandler fcntl filecmp fileinput fnmatch formatter
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
59 fpectl fractions ftplib functools gc getopt getpass gettext glob grp gzip
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
60 hashlib heapq hmac html http http imaplib imghdr importlib inspect io
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
61 ipaddress itertools json keyword linecache locale logging lzma macpath
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
62 mailbox mailcap marshal math mimetypes mmap modulefinder msilib msvcrt
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
63 multiprocessing netrc nis nntplib numbers operator os ossaudiodev parser path
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
64 pathlib pdb pickle pickletools pipes pkgutil platform plistlib poplib posix
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
65 pprint pty pwd py_compile pyclbr queue quopri random re readline reprlib
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
66 resource rlcompleter runpy sched select selectors shelve shlex shutil signal
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
67 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
68 string stringprep struct subprocess sunau symbol symtable sys sysconfig syslog
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 tabnanny tarfile telnetlib tempfile termios textwrap threading time timeit
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 tkinter token tokenize trace traceback tracemalloc tty turtle types
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
71 unicodedata unittest urllib uu uuid venv warnings wave weakref webbrowser
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
72 winreg winsound wsgiref xdrlib xml xmlrpc zipfile zipimport zlib""",
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
73 "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
74 "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
75 "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
76 }
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 },
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
78 1: {
6873
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
79 "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
80 "Words": """
6873
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
81 __future__ with_statement unicode_literals print_function division
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
82 absolute_import generator_stop annotations""",
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 "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
84 "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
85 "font_italic": True,
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
86 }
6873
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
87 },
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
88 2: {
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
89 "Description": self.tr("PyQt5 Modules"),
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
90 "Words": """
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
91 PyQt5 Qsci Qt QtCore QtDBus QtDesigner QtGui QtHelp QtLocation QtMacExtras
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
92 QtMultimedia QtMultimediaWidgets QtNetwork QtNetworkAuth QtNfc QtOpenGL
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
93 QtPositioning QtPrintSupport QtQml QtQuick QtQuickWidgets QtRemoteObjects
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
94 QtSensors QtSerialPort QtSql QtSvg QtTest QtWebChannel QtWebEngine
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
95 QtWebEngineCore QtWebEngineWidgets QtWebSockets QtWidgets QtWinExtras
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
96 QtX11Extras QtXml QtXmlPatterns sip QtWebKit QtWebKitWidgets""",
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
97 "Style": {
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
98 "fore": 0x44AADD,
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
99 "font_bold": True,
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
100 }
47804e8cde27 LexerPython: added a default sub-style for "PyQt5 Modules"
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6872
diff changeset
101 },
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
102 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
103 "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
104 "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
105 "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
106 "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
107 "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
108 }
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 },
6855
4d80c8cc99a1 SubstyledLexer: continued implementing the getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6846
diff changeset
110 },
6845
4680adb641e0 Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
111 }
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
112
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
113 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
114 """
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
115 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
116
d133c7edd88a Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
117 @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
118 """
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 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
120 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
121 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
122 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
123
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 def initProperties(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 Public slot to initialize the properties.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 """
3730
dccee91e9d8a Refined the indication for bad indentation of Python files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
128 self.setIndentationWarning(
dccee91e9d8a Refined the indication for bad indentation of Python files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
129 Preferences.getEditor("PythonBadIndentation"))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 self.setFoldComments(Preferences.getEditor("PythonFoldComment"))
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 self.setFoldQuotes(Preferences.getEditor("PythonFoldString"))
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 if not Preferences.getEditor("PythonAutoIndent"):
826
2e3e2055e715 Fixed a few PEP 8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 802
diff changeset
133 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
134 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
135 self.setV2UnicodeAllowed(
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
136 Preferences.getEditor("PythonAllowV2Unicode"))
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
137 self.setV3BinaryOctalAllowed(
18292228c724 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2965
diff changeset
138 Preferences.getEditor("PythonAllowV3Binary"))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 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
140 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
141 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
142 self.setStringsOverNewlineAllowed(
fe7b94ed01ec Added support for new lexer properties (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
143 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
144 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
145 self.setHighlightSubidentifiers(
552d2d74f5cf Started to add support for QScintilla 2.6 (and newer).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
146 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
147
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 def getIndentationDifference(self, line, editor):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 """
3591
2f2a4a76dd22 Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3539
diff changeset
150 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
151
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 @param line line to perform the calculation for (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 @param editor QScintilla editor
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 @return amount of difference in indentation (integer)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 """
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
156 indent_width = editor.getEditorConfig('IndentWidth')
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 lead_spaces = editor.indentation(line)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 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
161 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
162 pline -= 1
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 if pline < 0:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 last = 0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 previous_lead_spaces = editor.indentation(pline)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 # 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
169 m = re.search(r':\s*(#.*)?$', editor.text(pline))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 last = previous_lead_spaces
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 if m:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 last += indent_width
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 # 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
175 m = re.search(r'(pass\s*(#.*)?$)|(^[^#]return)',
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 editor.text(pline))
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 if m:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 last -= indent_width
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179
7267
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
180 if (
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
181 lead_spaces % indent_width != 0 or
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
182 lead_spaces == 0 or
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
183 self.lastIndented != line
aedc309827c7 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
184 ):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 indentDifference = last - lead_spaces
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
187 indentDifference = -indent_width
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
189 return indentDifference
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
190
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
191 def autoCompletionWordSeparators(self):
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 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
194
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 @return list of separators (list of strings)
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 return ['.']
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 def isCommentStyle(self, style):
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 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
202
2965
d133c7edd88a Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
203 @param style style to check (integer)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
204 @return flag indicating a comment style (boolean)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
205 """
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
206 return style in [QsciLexerPython.Comment,
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
207 QsciLexerPython.CommentBlock]
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
208
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
209 def isStringStyle(self, style):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
210 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211 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
212
2965
d133c7edd88a Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
213 @param style style to check (integer)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
214 @return flag indicating a string style (boolean)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
215 """
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 826
diff changeset
216 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
217 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
218 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
219 QsciLexerPython.TripleSingleQuotedString,
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
220 QsciLexerPython.UnclosedString]
130
fcce4cc20d95 Added capability to change the keywords of a syntax highlighter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
221
fcce4cc20d95 Added capability to change the keywords of a syntax highlighter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
222 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
223 """
fcce4cc20d95 Added capability to change the keywords of a syntax highlighter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
224 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
225
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
226 @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
227 @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
228 """
6872
96bb40e987f7 LexerPython: Define different keyword sets for Python 2 and Python 3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
229 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
230 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
231 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
232 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
233 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
234 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
235 "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
236 "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
237 "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
238 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
239 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
240 "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
241 "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
242 "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
243 "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
244 else:
96bb40e987f7 LexerPython: Define different keyword sets for Python 2 and Python 3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
245 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
246 else:
da5d6c7d5348 LexerPython: fixed an issue where keywords got used before it was defined.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6874
diff changeset
247 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
248
96bb40e987f7 LexerPython: Define different keyword sets for Python 2 and Python 3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6855
diff changeset
249 return keywords
3654
ffeb85cdc72d Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3591
diff changeset
250
ffeb85cdc72d Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3591
diff changeset
251 def maximumKeywordSet(self):
ffeb85cdc72d Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3591
diff changeset
252 """
ffeb85cdc72d Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3591
diff changeset
253 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
254
ffeb85cdc72d Fixed and improved the CoffeeScript interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3591
diff changeset
255 @return maximum keyword set (integer)
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 return 2

eric ide

mercurial