Sat, 21 Jun 2014 22:35:36 +0200
Added support for the QScintilla CoffeeScript lexer (QsciLexerCoffeeScript) as of QScintilla 2.8.3.
--- a/APIs/Python3/eric5.api Sat Jun 21 18:11:38 2014 +0200 +++ b/APIs/Python3/eric5.api Sat Jun 21 22:35:36 2014 +0200 @@ -3842,7 +3842,7 @@ eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.ARITHMETIC_OP?7 eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.BENCHMARK_KEYS?7 eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.BaseReport.error?4(line_number, offset, text, check) -eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.BaseReport.error_args?4(line_number, offset, code, check, *args) +eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.BaseReport.error_args?4(line_number, offset, text, check, *args) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.BaseReport.get_count?4(prefix='') eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.BaseReport.get_file_results?4() eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.BaseReport.get_statistics?4(prefix='') @@ -3855,6 +3855,7 @@ eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.BaseReport.stop?4() eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.BaseReport?1(options) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.COMMENT_WITH_NL?7 +eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.COMPARE_NEGATIVE_REGEX?7 eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.COMPARE_SINGLETON_REGEX?7 eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.COMPARE_TYPE_REGEX?7 eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.Checker.build_tokens_line?4() @@ -3863,8 +3864,8 @@ eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.Checker.check_logical?4() eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.Checker.check_physical?4(line) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.Checker.generate_tokens?4() +eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.Checker.maybe_check_physical?4(token) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.Checker.readline?4() -eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.Checker.readline_check_physical?4() eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.Checker.report_invalid_syntax?4() eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.Checker.run_check?4(check, argument_names) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.Checker?1(filename=None, lines=None, options=None, report=None, **kwargs) @@ -3882,12 +3883,14 @@ eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.KEYWORD_REGEX?7 eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.LAMBDA_REGEX?7 eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.MAX_LINE_LENGTH?7 +eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.NEWLINE?7 eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.OPERATOR_REGEX?7 eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.PROJECT_CONFIG?7 eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.RAISE_COMMA_REGEX?7 eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.REPORT_FORMAT?7 eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.RERAISE_COMMA_REGEX?7 eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.SINGLETONS?7 +eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.SKIP_COMMENTS?7 eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.SKIP_TOKENS?7 eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.StandardReport.error?4(line_number, offset, text, check) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.StandardReport.error_args?4(line_number, offset, code, check, *args) @@ -3910,12 +3913,14 @@ eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.WS_OPTIONAL_OPERATORS?7 eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8._add_check?5(check, kind, codes, args) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8._checks?8 +eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8._is_eol_token?5(token) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8._main?5() -eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.blank_lines?4(logical_line, blank_lines, indent_level, line_number, previous_logical, previous_indent_level) +eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.blank_lines?4(logical_line, blank_lines, indent_level, line_number, blank_before, previous_logical, previous_indent_level) +eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.comparison_negative?4(logical_line) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.comparison_to_singleton?4(logical_line, noqa) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.comparison_type?4(logical_line) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.compound_statements?4(logical_line) -eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.continued_indentation?4(logical_line, tokens, indent_level, hang_closing, noqa, verbose) +eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.continued_indentation?4(logical_line, tokens, indent_level, hang_closing, indent_char, noqa, verbose) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.expand_indent?4(line) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.explicit_line_join?4(logical_line, tokens) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.extraneous_whitespace?4(logical_line) @@ -3924,16 +3929,16 @@ eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.imports_on_separate_lines?4(logical_line) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.indentation?4(logical_line, previous_logical, indent_char, indent_level, previous_indent_level) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.init_checks_registry?4() -eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.maximum_line_length?4(physical_line, max_line_length) -eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.missing_newline?4(physical_line) +eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.maximum_line_length?4(physical_line, max_line_length, multiline) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.missing_whitespace?4(logical_line) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.missing_whitespace_around_operator?4(logical_line, tokens) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.mute_string?4(text) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.noqa?7 +eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.normalize_paths?4(value, parent=os.curdir) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.parse_udiff?4(diff, patterns=None, parent='.') eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.process_options?4(arglist=None, parse_argv=False, config_file=None, parser=None) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.python_3000_backticks?4(logical_line) -eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.python_3000_has_key?4(logical_line) +eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.python_3000_has_key?4(logical_line, noqa) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.python_3000_not_equal?4(logical_line) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.python_3000_raise_comma?4(logical_line) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.read_config?4(options, args, arglist, parser) @@ -3942,13 +3947,13 @@ eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.stdin_get_value?4() eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.tabs_obsolete?4(physical_line) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.tabs_or_spaces?4(physical_line, indent_char) -eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.trailing_blank_lines?4(physical_line, lines, line_number) +eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.trailing_blank_lines?4(physical_line, lines, line_number, total_lines) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.trailing_whitespace?4(physical_line) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.whitespace_around_comma?4(logical_line) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.whitespace_around_keywords?4(logical_line) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.whitespace_around_named_parameter_equals?4(logical_line, tokens) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.whitespace_around_operator?4(logical_line) -eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.whitespace_before_inline_comment?4(logical_line, tokens) +eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.whitespace_before_comment?4(logical_line, tokens) eric5.Plugins.CheckerPlugins.CodeStyleChecker.pep8.whitespace_before_parameters?4(logical_line, tokens) eric5.Plugins.CheckerPlugins.CodeStyleChecker.translations._messages?8 eric5.Plugins.CheckerPlugins.CodeStyleChecker.translations._messages_sample_args?8 @@ -7198,6 +7203,11 @@ eric5.QScintilla.Lexers.LexerCSharp.LexerCSharp.isCommentStyle?4(style) eric5.QScintilla.Lexers.LexerCSharp.LexerCSharp.isStringStyle?4(style) eric5.QScintilla.Lexers.LexerCSharp.LexerCSharp?1(parent=None) +eric5.QScintilla.Lexers.LexerCoffeeScript.LexerJavaScript.defaultKeywords?4(kwSet) +eric5.QScintilla.Lexers.LexerCoffeeScript.LexerJavaScript.initProperties?4() +eric5.QScintilla.Lexers.LexerCoffeeScript.LexerJavaScript.isCommentStyle?4(style) +eric5.QScintilla.Lexers.LexerCoffeeScript.LexerJavaScript.isStringStyle?4(style) +eric5.QScintilla.Lexers.LexerCoffeeScript.LexerJavaScript?1(parent=None) eric5.QScintilla.Lexers.LexerContainer.LexerContainer.description?4(style) eric5.QScintilla.Lexers.LexerContainer.LexerContainer.keywords?4(kwSet) eric5.QScintilla.Lexers.LexerContainer.LexerContainer.language?4() @@ -8407,6 +8417,8 @@ eric5.Utilities.FtpUtilities.FtpDirLineParser.WindowsMode?7 eric5.Utilities.FtpUtilities.FtpDirLineParser.parseLine?4(line) eric5.Utilities.FtpUtilities.FtpDirLineParser?1(parent=None) +eric5.Utilities.MimeTypes.TextMimeTypes?7 +eric5.Utilities.MimeTypes.isTextFile?4(filename) eric5.Utilities.ModuleParser.Attribute.addAssignment?4(lineno) eric5.Utilities.ModuleParser.Attribute?1(module, name, file, lineno, isSignal=False) eric5.Utilities.ModuleParser.Class.addAttribute?4(name, attr) @@ -8624,8 +8636,6 @@ eric5.Utilities.isinpath?4(file) eric5.Utilities.joinext?4(prefix, ext) eric5.Utilities.linesep?4() -eric5.Utilities.mimetypes.TextMimeTypes?7 -eric5.Utilities.mimetypes.isTextFile?4(filename) eric5.Utilities.normabsjoinpath?4(a, *p) eric5.Utilities.normabspath?4(path) eric5.Utilities.normcaseabspath?4(path)
--- a/Documentation/Help/source.qhp Sat Jun 21 18:11:38 2014 +0200 +++ b/Documentation/Help/source.qhp Sat Jun 21 22:35:36 2014 +0200 @@ -850,6 +850,7 @@ <section title="eric5.QScintilla.Lexers.LexerCPP" ref="eric5.QScintilla.Lexers.LexerCPP.html" /> <section title="eric5.QScintilla.Lexers.LexerCSS" ref="eric5.QScintilla.Lexers.LexerCSS.html" /> <section title="eric5.QScintilla.Lexers.LexerCSharp" ref="eric5.QScintilla.Lexers.LexerCSharp.html" /> + <section title="eric5.QScintilla.Lexers.LexerCoffeeScript" ref="eric5.QScintilla.Lexers.LexerCoffeeScript.html" /> <section title="eric5.QScintilla.Lexers.LexerContainer" ref="eric5.QScintilla.Lexers.LexerContainer.html" /> <section title="eric5.QScintilla.Lexers.LexerD" ref="eric5.QScintilla.Lexers.LexerD.html" /> <section title="eric5.QScintilla.Lexers.LexerDiff" ref="eric5.QScintilla.Lexers.LexerDiff.html" /> @@ -7330,6 +7331,7 @@ <keyword name="LexerCSharp.initProperties" id="LexerCSharp.initProperties" ref="eric5.QScintilla.Lexers.LexerCSharp.html#LexerCSharp.initProperties" /> <keyword name="LexerCSharp.isCommentStyle" id="LexerCSharp.isCommentStyle" ref="eric5.QScintilla.Lexers.LexerCSharp.html#LexerCSharp.isCommentStyle" /> <keyword name="LexerCSharp.isStringStyle" id="LexerCSharp.isStringStyle" ref="eric5.QScintilla.Lexers.LexerCSharp.html#LexerCSharp.isStringStyle" /> + <keyword name="LexerCoffeeScript (Module)" id="LexerCoffeeScript (Module)" ref="eric5.QScintilla.Lexers.LexerCoffeeScript.html" /> <keyword name="LexerContainer" id="LexerContainer" ref="eric5.QScintilla.Lexers.LexerContainer.html#LexerContainer" /> <keyword name="LexerContainer (Constructor)" id="LexerContainer (Constructor)" ref="eric5.QScintilla.Lexers.LexerContainer.html#LexerContainer.__init__" /> <keyword name="LexerContainer (Module)" id="LexerContainer (Module)" ref="eric5.QScintilla.Lexers.LexerContainer.html" /> @@ -7390,12 +7392,18 @@ <keyword name="LexerJava.initProperties" id="LexerJava.initProperties" ref="eric5.QScintilla.Lexers.LexerJava.html#LexerJava.initProperties" /> <keyword name="LexerJava.isCommentStyle" id="LexerJava.isCommentStyle" ref="eric5.QScintilla.Lexers.LexerJava.html#LexerJava.isCommentStyle" /> <keyword name="LexerJava.isStringStyle" id="LexerJava.isStringStyle" ref="eric5.QScintilla.Lexers.LexerJava.html#LexerJava.isStringStyle" /> + <keyword name="LexerJavaScript" id="LexerJavaScript" ref="eric5.QScintilla.Lexers.LexerCoffeeScript.html#LexerJavaScript" /> <keyword name="LexerJavaScript" id="LexerJavaScript" ref="eric5.QScintilla.Lexers.LexerJavaScript.html#LexerJavaScript" /> + <keyword name="LexerJavaScript (Constructor)" id="LexerJavaScript (Constructor)" ref="eric5.QScintilla.Lexers.LexerCoffeeScript.html#LexerJavaScript.__init__" /> <keyword name="LexerJavaScript (Constructor)" id="LexerJavaScript (Constructor)" ref="eric5.QScintilla.Lexers.LexerJavaScript.html#LexerJavaScript.__init__" /> <keyword name="LexerJavaScript (Module)" id="LexerJavaScript (Module)" ref="eric5.QScintilla.Lexers.LexerJavaScript.html" /> + <keyword name="LexerJavaScript.defaultKeywords" id="LexerJavaScript.defaultKeywords" ref="eric5.QScintilla.Lexers.LexerCoffeeScript.html#LexerJavaScript.defaultKeywords" /> <keyword name="LexerJavaScript.defaultKeywords" id="LexerJavaScript.defaultKeywords" ref="eric5.QScintilla.Lexers.LexerJavaScript.html#LexerJavaScript.defaultKeywords" /> + <keyword name="LexerJavaScript.initProperties" id="LexerJavaScript.initProperties" ref="eric5.QScintilla.Lexers.LexerCoffeeScript.html#LexerJavaScript.initProperties" /> <keyword name="LexerJavaScript.initProperties" id="LexerJavaScript.initProperties" ref="eric5.QScintilla.Lexers.LexerJavaScript.html#LexerJavaScript.initProperties" /> + <keyword name="LexerJavaScript.isCommentStyle" id="LexerJavaScript.isCommentStyle" ref="eric5.QScintilla.Lexers.LexerCoffeeScript.html#LexerJavaScript.isCommentStyle" /> <keyword name="LexerJavaScript.isCommentStyle" id="LexerJavaScript.isCommentStyle" ref="eric5.QScintilla.Lexers.LexerJavaScript.html#LexerJavaScript.isCommentStyle" /> + <keyword name="LexerJavaScript.isStringStyle" id="LexerJavaScript.isStringStyle" ref="eric5.QScintilla.Lexers.LexerCoffeeScript.html#LexerJavaScript.isStringStyle" /> <keyword name="LexerJavaScript.isStringStyle" id="LexerJavaScript.isStringStyle" ref="eric5.QScintilla.Lexers.LexerJavaScript.html#LexerJavaScript.isStringStyle" /> <keyword name="LexerLua" id="LexerLua" ref="eric5.QScintilla.Lexers.LexerLua.html#LexerLua" /> <keyword name="LexerLua (Constructor)" id="LexerLua (Constructor)" ref="eric5.QScintilla.Lexers.LexerLua.html#LexerLua.__init__" /> @@ -14173,6 +14181,7 @@ <file>eric5.QScintilla.Lexers.LexerCPP.html</file> <file>eric5.QScintilla.Lexers.LexerCSS.html</file> <file>eric5.QScintilla.Lexers.LexerCSharp.html</file> + <file>eric5.QScintilla.Lexers.LexerCoffeeScript.html</file> <file>eric5.QScintilla.Lexers.LexerContainer.html</file> <file>eric5.QScintilla.Lexers.LexerD.html</file> <file>eric5.QScintilla.Lexers.LexerDiff.html</file> @@ -14286,7 +14295,6 @@ <file>eric5.Utilities.crypto.__init__.html</file> <file>eric5.Utilities.crypto.py3AES.html</file> <file>eric5.Utilities.crypto.py3PBKDF2.html</file> - <file>eric5.Utilities.mimetypes.html</file> <file>eric5.Utilities.uic.html</file> <file>eric5.VCS.CommandOptionsDialog.html</file> <file>eric5.VCS.ProjectBrowserHelper.html</file>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric5.QScintilla.Lexers.LexerCoffeeScript.html Sat Jun 21 22:35:36 2014 +0200 @@ -0,0 +1,143 @@ +<!DOCTYPE html> +<html><head> +<title>eric5.QScintilla.Lexers.LexerCoffeeScript</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric5.QScintilla.Lexers.LexerCoffeeScript</h1> +<p> +Module implementing a CoffeeScript lexer with some additional methods. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#LexerJavaScript">LexerJavaScript</a></td> +<td>Subclass to implement some additional lexer dependant methods.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="LexerJavaScript" ID="LexerJavaScript"></a> +<h2>LexerJavaScript</h2> +<p> + Subclass to implement some additional lexer dependant methods. +</p> +<h3>Derived from</h3> +Lexer, QsciLexerCoffeScript +<h3>Class Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#LexerJavaScript.__init__">LexerJavaScript</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#LexerJavaScript.defaultKeywords">defaultKeywords</a></td> +<td>Public method to get the default keywords.</td> +</tr><tr> +<td><a href="#LexerJavaScript.initProperties">initProperties</a></td> +<td>Public slot to initialize the properties.</td> +</tr><tr> +<td><a href="#LexerJavaScript.isCommentStyle">isCommentStyle</a></td> +<td>Public method to check, if a style is a comment style.</td> +</tr><tr> +<td><a href="#LexerJavaScript.isStringStyle">isStringStyle</a></td> +<td>Public method to check, if a style is a string style.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="LexerJavaScript.__init__" ID="LexerJavaScript.__init__"></a> +<h4>LexerJavaScript (Constructor)</h4> +<b>LexerJavaScript</b>(<i>parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>parent</i></dt> +<dd> +parent widget of this lexer +</dd> +</dl><a NAME="LexerJavaScript.defaultKeywords" ID="LexerJavaScript.defaultKeywords"></a> +<h4>LexerJavaScript.defaultKeywords</h4> +<b>defaultKeywords</b>(<i>kwSet</i>) +<p> + Public method to get the default keywords. +</p><dl> +<dt><i>kwSet</i></dt> +<dd> +number of the keyword set (integer) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +string giving the keywords (string) or None +</dd> +</dl><a NAME="LexerJavaScript.initProperties" ID="LexerJavaScript.initProperties"></a> +<h4>LexerJavaScript.initProperties</h4> +<b>initProperties</b>(<i></i>) +<p> + Public slot to initialize the properties. +</p><a NAME="LexerJavaScript.isCommentStyle" ID="LexerJavaScript.isCommentStyle"></a> +<h4>LexerJavaScript.isCommentStyle</h4> +<b>isCommentStyle</b>(<i>style</i>) +<p> + Public method to check, if a style is a comment style. +</p><dl> +<dt><i>style</i></dt> +<dd> +style to check (integer) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +flag indicating a comment style (boolean) +</dd> +</dl><a NAME="LexerJavaScript.isStringStyle" ID="LexerJavaScript.isStringStyle"></a> +<h4>LexerJavaScript.isStringStyle</h4> +<b>isStringStyle</b>(<i>style</i>) +<p> + Public method to check, if a style is a string style. +</p><dl> +<dt><i>style</i></dt> +<dd> +style to check (integer) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +flag indicating a string style (boolean) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- a/Documentation/Source/index-eric5.QScintilla.Lexers.html Sat Jun 21 18:11:38 2014 +0200 +++ b/Documentation/Source/index-eric5.QScintilla.Lexers.html Sat Jun 21 22:35:36 2014 +0200 @@ -49,6 +49,9 @@ <td><a href="eric5.QScintilla.Lexers.LexerCSharp.html">LexerCSharp</a></td> <td>Module implementing a C# lexer with some additional methods.</td> </tr><tr> +<td><a href="eric5.QScintilla.Lexers.LexerCoffeeScript.html">LexerCoffeeScript</a></td> +<td>Module implementing a CoffeeScript lexer with some additional methods.</td> +</tr><tr> <td><a href="eric5.QScintilla.Lexers.LexerContainer.html">LexerContainer</a></td> <td>Module implementing a base class for custom lexers.</td> </tr><tr>
--- a/Preferences/ConfigurationPages/EditorPropertiesPage.py Sat Jun 21 18:11:38 2014 +0200 +++ b/Preferences/ConfigurationPages/EditorPropertiesPage.py Sat Jun 21 22:35:36 2014 +0200 @@ -42,10 +42,6 @@ self.foldBashCommentCheckBox.setChecked( Preferences.getEditor("BashFoldComment")) - # CMake - self.cmakeFoldAtElseCheckBox.setChecked( - Preferences.getEditor("CMakeFoldAtElse")) - # C++ self.foldCppCommentCheckBox.setChecked( Preferences.getEditor("CppFoldComment")) @@ -77,6 +73,21 @@ else: self.cppHighlightHashQuotedCheckBox.setEnabled(False) + # CMake + self.cmakeFoldAtElseCheckBox.setChecked( + Preferences.getEditor("CMakeFoldAtElse")) + + # CoffeeScript + if "CoffeeScript" in self.languages: + self.foldCoffeeScriptCommentCheckBox.setChecked( + Preferences.getEditor("CoffeScriptFoldComment")) + self.coffeeScriptDollarAllowedCheckBox.setChecked( + Preferences.getEditor("CoffeeScriptDollarsAllowed")) + self.coffeeScriptStylePreprocessorCheckBox.setChecked( + Preferences.getEditor("CoffeeScriptStylePreprocessor")) + else: + self.coffeeScriptGroup.setEnabled(False) + # CSS self.foldCssCommentCheckBox.setChecked( Preferences.getEditor("CssFoldComment")) @@ -335,6 +346,23 @@ "CppHighlightHashQuotedStrings", self.cppHighlightHashQuotedCheckBox.isChecked()) + # CMake + Preferences.setEditor( + "CMakeFoldAtElse", + self.cmakeFoldAtElseCheckBox.isChecked()) + + # CoffeeScript + if "CoffeeScript" in self.languages: + Preferences.setEditor( + "CoffeScriptFoldComment", + self.foldCoffeeScriptCommentCheckBox.isChecked()) + Preferences.setEditor( + "CoffeeScriptDollarsAllowed", + self.coffeeScriptDollarAllowedCheckBox.isChecked()) + Preferences.setEditor( + "CoffeeScriptStylePreprocessor", + self.coffeeScriptStylePreprocessorCheckBox.isChecked()) + # CSS Preferences.setEditor( "CssFoldComment",
--- a/Preferences/ConfigurationPages/EditorPropertiesPage.ui Sat Jun 21 18:11:38 2014 +0200 +++ b/Preferences/ConfigurationPages/EditorPropertiesPage.ui Sat Jun 21 22:35:36 2014 +0200 @@ -7,7 +7,7 @@ <x>0</x> <y>0</y> <width>558</width> - <height>2042</height> + <height>2611</height> </rect> </property> <layout class="QVBoxLayout" name="verticalLayout"> @@ -198,6 +198,45 @@ </widget> </item> <item> + <widget class="QGroupBox" name="coffeeScriptGroup"> + <property name="title"> + <string>CoffeeScript</string> + </property> + <layout class="QGridLayout" name="gridLayout_11"> + <item row="0" column="0"> + <widget class="QCheckBox" name="foldCoffeeScriptCommentCheckBox"> + <property name="toolTip"> + <string>Select whether folding of comments shall be possible</string> + </property> + <property name="text"> + <string>Fold comments</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QCheckBox" name="coffeeScriptDollarAllowedCheckBox"> + <property name="toolTip"> + <string>Select to allow '$' characters in identifier names</string> + </property> + <property name="text"> + <string>Allow '$' in identifier names</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QCheckBox" name="coffeeScriptStylePreprocessorCheckBox"> + <property name="toolTip"> + <string>Select to style preprocessor lines</string> + </property> + <property name="text"> + <string>Style preprocessor lines</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> <widget class="QGroupBox" name="groupBox_4"> <property name="title"> <string>CSS Lexer Properties</string> @@ -972,6 +1011,9 @@ <tabstop>cppHighlightTripleQuotedCheckBox</tabstop> <tabstop>cppHighlightHashQuotedCheckBox</tabstop> <tabstop>cmakeFoldAtElseCheckBox</tabstop> + <tabstop>foldCoffeeScriptCommentCheckBox</tabstop> + <tabstop>coffeeScriptDollarAllowedCheckBox</tabstop> + <tabstop>coffeeScriptStylePreprocessorCheckBox</tabstop> <tabstop>foldCssCommentCheckBox</tabstop> <tabstop>cssHssCheckBox</tabstop> <tabstop>cssLessCheckBox</tabstop>
--- a/Preferences/__init__.py Sat Jun 21 18:11:38 2014 +0200 +++ b/Preferences/__init__.py Sat Jun 21 22:35:36 2014 +0200 @@ -349,6 +349,11 @@ "CppHighlightTripleQuotedStrings": False, "CppHighlightHashQuotedStrings": False, + # CoffeeScript specifics + "CoffeScriptFoldComment": False, + "CoffeeScriptDollarsAllowed": True, + "CoffeeScriptStylePreprocessor": False, + # CSS specifics "CssFoldComment": True, "CssHssSupport": False,
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/QScintilla/Lexers/LexerCoffeeScript.py Sat Jun 21 22:35:36 2014 +0200 @@ -0,0 +1,83 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing a CoffeeScript lexer with some additional methods. +""" + +from __future__ import unicode_literals + +from PyQt4.Qsci import QsciLexerCoffeScript + +from .Lexer import Lexer +import Preferences + + +class LexerJavaScript(Lexer, QsciLexerCoffeScript): + """ + Subclass to implement some additional lexer dependant methods. + """ + def __init__(self, parent=None): + """ + Constructor + + @param parent parent widget of this lexer + """ + QsciLexerCoffeScript.__init__(self, parent) + Lexer.__init__(self) + + self.commentString = "#" + self.streamCommentString = { + 'start': '###\n', + 'end': '\n###' + } + + def initProperties(self): + """ + Public slot to initialize the properties. + """ + self.setDollarsAllowed( + Preferences.getEditor("CoffeeScriptDollarsAllowed")) + self.setFoldComments( + Preferences.getEditor("CoffeScriptFoldComment")) + self.setStylePreprocessor( + Preferences.getEditor("CoffeeScriptStylePreprocessor")) + self.setFoldCompact( + Preferences.getEditor("AllFoldCompact")) + + def isCommentStyle(self, style): + """ + Public method to check, if a style is a comment style. + + @param style style to check (integer) + @return flag indicating a comment style (boolean) + """ + return style in [QsciLexerCoffeScript.Comment, + QsciLexerCoffeScript.CommentDoc, + QsciLexerCoffeScript.CommentLine, + QsciLexerCoffeScript.CommentLineDoc, + QsciLexerCoffeScript.CommentBlock, + QsciLexerCoffeScript.BlockRegexComment] + + def isStringStyle(self, style): + """ + Public method to check, if a style is a string style. + + @param style style to check (integer) + @return flag indicating a string style (boolean) + """ + return style in [QsciLexerCoffeScript.DoubleQuotedString, + QsciLexerCoffeScript.SingleQuotedString, + QsciLexerCoffeScript.UnclosedString, + QsciLexerCoffeScript.VerbatimString] + + def defaultKeywords(self, kwSet): + """ + Public method to get the default keywords. + + @param kwSet number of the keyword set (integer) + @return string giving the keywords (string) or None + """ + return QsciLexerCoffeScript.keywords(self, kwSet)
--- a/QScintilla/Lexers/__init__.py Sat Jun 21 18:11:38 2014 +0200 +++ b/QScintilla/Lexers/__init__.py Sat Jun 21 22:35:36 2014 +0200 @@ -157,6 +157,11 @@ [QApplication.translate('Lexers', "Gettext"), 'dummy.po', "lexerGettext.png"] + if QSCINTILLA_VERSION() >= 0x020803: + supportedLanguages["CoffeeScript"] = \ + [QApplication.translate('Lexers', "CoffeeScript"), 'dummy.coffee', + "lexerCoffeeScript.png"] + for name in LexerRegistry: if not name.startswith("Pygments|"): supportedLanguages[name] = \ @@ -299,6 +304,9 @@ elif language == "Gettext": from .LexerPO import LexerPO return LexerPO(parent) + elif language == "CoffeeScript": + from .LexerCoffeeScript import LexerCoffeeScript + return LexerCoffeeScript(parent) elif language in LexerRegistry: return LexerRegistry[language][2](parent) @@ -472,6 +480,13 @@ 'Gettext Files (*.po)'), ) + if QSCINTILLA_VERSION() >= 0x020803: + openFileFiltersList.append( + QApplication.translate( + 'Lexers', + 'CoffeeScript Files (*.coffee)'), + ) + for name in LexerRegistry: openFileFiltersList.extend(LexerRegistry[name][3]) @@ -670,6 +685,13 @@ 'Gettext Files (*.po)'), ) + if QSCINTILLA_VERSION() >= 0x020803: + saveFileFiltersList.append( + QApplication.translate( + 'Lexers', + 'CoffeeScript Files (*.coffee)'), + ) + for name in LexerRegistry: saveFileFiltersList.extend(LexerRegistry[name][4]) @@ -824,8 +846,8 @@ '*.m.octave': "Octave", }) - if QSCINTILLA_VERSION() >= 0x020802: - assocs['*.po'] = "Gettext" + if QSCINTILLA_VERSION() >= 0x020803: + assocs['*.coffee'] = "CoffeeScript" for name in LexerRegistry: for pattern in LexerRegistry[name][5]:
--- a/changelog Sat Jun 21 18:11:38 2014 +0200 +++ b/changelog Sat Jun 21 22:35:36 2014 +0200 @@ -25,6 +25,8 @@ to be done via the configuration dialog) -- added support for the QScintilla Gettext lexer (QsciLexerPO) as of QScintilla 2.8.2 + -- added support for the QScintilla CoffeeScript lexer + (QsciLexerCoffeeScript) as of QScintilla 2.8.3 - Multi Project -- added support for the categorisation of projects and changed the multi project file format
--- a/eric5.e4p Sat Jun 21 18:11:38 2014 +0200 +++ b/eric5.e4p Sat Jun 21 22:35:36 2014 +0200 @@ -1148,6 +1148,7 @@ <Source>ThirdParty/Send2Trash/send2trash/plat_other.py</Source> <Source>ThirdParty/Send2Trash/send2trash/compat.py</Source> <Source>ThirdParty/Send2Trash/send2trash/plat_gio.py</Source> + <Source>QScintilla/Lexers/LexerCoffeeScript.py</Source> </Sources> <Forms> <Form>PyUnit/UnittestDialog.ui</Form>