src/eric7/QScintilla/Lexers/LexerMatlab.py

Mon, 24 Feb 2025 15:43:49 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 24 Feb 2025 15:43:49 +0100
branch
eric7
changeset 11148
15e30f0c76a8
parent 11090
f5f5f5803935
permissions
-rw-r--r--

Adjusted the code to the modified issue codes.

993
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
11090
f5f5f5803935 Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10692
diff changeset
3 # Copyright (c) 2011 - 2025 Detlev Offenbach <detlev@die-offenbachs.de>
993
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a Matlab lexer with some additional methods.
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
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
10 from PyQt6.Qsci import QsciLexerMatlab
993
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 from .Lexer import Lexer
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
3462
6d6e7334a787 Fixed an issue with ALL lexers inheriting in the wrong order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
15 class LexerMatlab(Lexer, QsciLexerMatlab):
993
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 """
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 Subclass to implement some additional lexer dependent methods.
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
19
993
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 def __init__(self, parent=None):
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 """
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 Constructor
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
23
993
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 @param parent parent widget of this lexer
10431
64157aeb0312 Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
25 @type QWidget
993
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 """
3462
6d6e7334a787 Fixed an issue with ALL lexers inheriting in the wrong order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
27 QsciLexerMatlab.__init__(self, parent)
993
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 Lexer.__init__(self)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
29
993
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 self.commentString = "%~"
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
31
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: 6645
diff changeset
32 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: 6645
diff changeset
33 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: 6645
diff changeset
34 ]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
35
993
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 def isCommentStyle(self, style):
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 """
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 Public method to check, if a style is a comment style.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
39
10431
64157aeb0312 Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
40 @param style style to check
64157aeb0312 Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
41 @type int
64157aeb0312 Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
42 @return flag indicating a comment style
64157aeb0312 Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
43 @rtype bool
993
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 """
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 return style in [QsciLexerMatlab.Comment]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
46
993
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 def isStringStyle(self, style):
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 """
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 Public method to check, if a style is a string style.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
50
10431
64157aeb0312 Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
51 @param style style to check
64157aeb0312 Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
52 @type int
64157aeb0312 Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
53 @return flag indicating a string style
64157aeb0312 Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
54 @rtype bool
993
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
56 return style in [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
57 QsciLexerMatlab.DoubleQuotedString,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
58 QsciLexerMatlab.SingleQuotedString,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
59 ]
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
60
993
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 def defaultKeywords(self, kwSet):
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 """
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 Public method to get the default keywords.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
64
10431
64157aeb0312 Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
65 @param kwSet number of the keyword set
64157aeb0312 Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
66 @type int
64157aeb0312 Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
67 @return string giving the keywords or None
64157aeb0312 Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
68 @rtype str
993
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 """
03493183dd91 Added support for the Matlab and Octave lexers for QScintilla >= 2.5.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 return QsciLexerMatlab.keywords(self, kwSet)
9484
d2eb8f0a5bf0 Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
71
d2eb8f0a5bf0 Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
72
11148
15e30f0c76a8 Adjusted the code to the modified issue codes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
73 def createLexer(variant, parent=None): # noqa: U-100
9484
d2eb8f0a5bf0 Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
74 """
d2eb8f0a5bf0 Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
75 Function to instantiate a lexer object.
d2eb8f0a5bf0 Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
76
10683
779cda568acb Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
77 @param variant name of the language variant (unused)
9484
d2eb8f0a5bf0 Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
78 @type str
d2eb8f0a5bf0 Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
79 @param parent parent widget of this lexer
d2eb8f0a5bf0 Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
80 @type QObject
d2eb8f0a5bf0 Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
81 @return instantiated lexer object
d2eb8f0a5bf0 Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
82 @rtype LexerMatlab
d2eb8f0a5bf0 Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
83 """
d2eb8f0a5bf0 Changed the way editor lexers are instantiated.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
84 return LexerMatlab(parent=parent)

eric ide

mercurial