Open jorgenschaefer opened 10 years ago
No, really, this is nonsense. rope is not expected to fix broken code, and I don't want to make it into corrector of one.
No, really, this is nonsense. rope is not expected to fix broken code, and I don't want to make it into corrector of one.
Thank you for the clarification.
I would like to disagree on the "nonsense" part, though. Certain features of Rope, for example completion suggestions, calltips, etc., are primarily useful when editing a source file. While editing source code, those files will not be syntactically correct. Relying on syntactically correct source files makes those features in Rope mostly useless.
Additionally, rope already does some automatic corrections in source files (max_fixes
). In addition to that, it already does catch syntax errors in certain cases (ModuleSyntaxError
). This allows users of Rope to distinguish errors in Rope from errors caused by malformed input sources. You are now asking users of Rope to ignore all exceptions Rope might throw as "probably because the input was malformed", which means it will be impossible to detect and report actual errors in Rope.
I can do this of course. I just want to make sure that you are aware of this problem.
First of all, let me apologize for that “nonsense”. I shouldn’t use the term. On the other hand, let me present to you my “mission statement” in https://github.com/python-rope/rope/issues/57#issuecomment-47872067 . If you have any free capacity and produce a pull request, I will certainly consider it. On the third hand, being syntactically correct is not that difficult with help of flake8
or similar validator and proper plugin to your $EDITOR
.
OK, following on dicussing on jorgenschaefer/elpy#702 reopening this ticket. If anybody provides pull request, I am willing to consider it.
The following code produces an uncaught LookupError. I would expect Rope to produce a ModuleSyntaxError, as it does when the string passed to
code_assist
isstr
and notunicode
.Backtrace: