Dave Halter
67ebb6acac
async is actually a token that cannot appear in brackets
2020-04-04 23:14:10 +02:00
Dave Halter
bcf76949b6
Diff parser: Remove error statements before caring about nested functions
2020-04-04 22:43:33 +02:00
Dave Halter
6c7b397cc7
Diff parser: Check indentation for copies correctly
2020-04-04 20:36:19 +02:00
Dave Halter
1927ba7254
Start using the parser count/copy count again
2020-04-04 17:49:35 +02:00
Dave Halter
f8dce76ef7
Make sure to only copy nodes that have the same indentation in diff parser
2020-04-04 16:07:54 +02:00
Dave Halter
3242e36859
Python 2 compatibility
2020-04-04 15:45:03 +02:00
Dave Halter
734a4b0e67
Remove support for specialized treatment of form feeds
...
This is a very intentional change. Previously form feeds were handled very
poorly and sometimes where not counted as indentation. This obviously makes
sense. But at the same time indentation is very tricky to deal with (both for
editors and parso).
Especially in the diff parser this led to a lot of very weird issues. The
decision probably makes sense since:
1. Almost nobody uses form feeds in the first place.
2. People that use form feeds like Barry Warsaw often put a newline ater them.
(e.g Python's email.__init__)
3. If you write an editor you want to be able to identify a unicode character
with a clear line/column. This would not be the case if form feeds were just
ignored when counting.
Form feeds will still work in Jedi, will not cause parse errors and in general
you should be fine using them. It might just cause Jedi to count them as
indentation **if** you use it like '\f foo()'. This is however confusing for
most editors anyway. It leads to a weird display e.g. in VIM, even if it's
perfectly valid code in Python.
Since parso is a code analysis parser and not the languages parser I think it's
fine to ignore this edge case.
2020-04-04 15:38:10 +02:00
Dave Halter
7f0dd35c37
Remove the piece of shit _get_insertion_node function
2020-04-04 03:51:28 +02:00
Dave Halter
a07146f8a5
Deal with indents in diff parser more explicitly
2020-04-03 12:41:28 +02:00
Dave Halter
77327a4cea
Make node insertion a bit easier
2020-04-03 03:28:14 +02:00
Dave Halter
ce170e8aae
WIP: Try to use the tokenizer in a more native way
2020-04-02 02:00:35 +02:00
Dave Halter
d674bc9895
Fix a backslash issue
2020-03-29 23:59:53 +02:00
Dave Halter
0d9886c22a
Diff parser: Rewrite tokenizer modifications a bit
2020-03-29 22:41:59 +02:00
Dave Halter
9f8a68677d
Tokenizer: It's now clearer when an error dedent appears
2020-03-29 13:50:36 +02:00
Dave Halter
a950b82066
Fix tokenizer for random invalid unicode points
2020-03-28 21:02:04 +01:00
Dave Halter
38b7763e9a
Use _assert_nodes_are_equal in the fuzzer
2020-03-28 14:51:27 +01:00
Dave Halter
cf880f43d4
Tokenizer: Add error dedents only if parens are not open
2020-03-28 14:41:10 +01:00
Dave Halter
8e49d8ab5f
Fix tokenizer fstring end positions
2020-03-28 11:22:32 +01:00
Dave Halter
29e3545241
Fix adding error indents/dedents only at the right places
2020-03-27 17:05:05 +01:00
Dave Halter
3d95b65b21
Fix an issue with unfinished f string literals
2020-03-27 11:17:31 +01:00
Dave Halter
4c42a82ebc
Allow multiple newlines in a suite, this makes the diff parser easier
2020-03-24 22:35:21 +01:00
Dave Halter
43651ef219
Diff parser: Make sure dedent start pos are matching
2020-03-24 22:27:04 +01:00
Dave Halter
2bef3cf6ff
Fix an issue where indents where repeated unnessecarily
2020-03-24 00:24:53 +01:00
Dave Halter
c18c89eb6b
Diff parser: Correctly add indent issues
2020-03-23 00:16:47 +01:00
Dave Halter
afc556d809
Diff parser: Prepare for indent error leaf insertion
2020-03-22 22:57:58 +01:00
Dave Halter
cdb791fbdb
Diff parser: Add error dedents if necessary, see also davidhalter/jedi#1499
2020-03-22 21:37:25 +01:00
Dave Halter
d3ceafee01
Specify in tests how another dedent issue is recovered from
2020-03-22 19:34:12 +01:00
Dave Halter
237dc9e135
Diff parser: Make sure to pop nodes directly after error nodes, see also davidhalter/jedi#1499
2020-03-22 14:49:22 +01:00
Dave Halter
51a044cc70
Fix diff parser: Invalid dedents meant that sometimes the wrong parents were chosen, fixes davidhalter/jedi#1499
2020-03-22 12:41:19 +01:00
Dave Halter
2cd0d6c9fc
Fix: Dedent omission was wrong, see davidhalter/jedi#1499
2020-03-22 12:41:19 +01:00
Dave Halter
a47b5433d4
Make sure iter_funcdefs includes async functions with decorators, fixes #98
2020-01-26 20:00:56 +01:00
Jarry Shaw
84874aace3
Revision on fstring issues ( #100 )
...
* f-string expression part cannot include a backslash
* failing example `f"{'\n'}"` for tests
2020-01-09 21:49:34 +01:00
Jarry Shaw
55531ab65b
Revision on assignment errors ( #97 )
...
* Revision on assignment expression errors
* added rule for __debug__ (should be a keyword)
* reviewed error messages
* added new failing samples
* Adjustment upon Dave's review
* rewind several changes in assignment errors
* patched is_definition: command not found for assignment expressions
* patched Python 2 inconsistent error messages in test_python_errors.py: command not found
2020-01-08 23:07:37 +01:00
Dave Halter
cfef1d74e7
Fix a Python 2.7 issue
2020-01-06 00:02:26 +01:00
Dave Halter
9ee7409d8a
Get rid of Python 3.3 artifacts
2020-01-05 23:59:38 +01:00
Dave Halter
4090c80401
Remove Python 2.6 grammar
2020-01-05 23:55:03 +01:00
Dave Halter
95f353a15f
Merge branch 'rm-2.6' of https://github.com/hugovk/parso
2020-01-05 23:50:20 +01:00
Dave Halter
2b0b093276
Make sure to limit the amount of cached files parso stores, fixes davidhalter/jedi#1340
2020-01-05 23:44:51 +01:00
Dave Halter
ceb1ee81fa
Merge pull request #93 from yangyangxcf/fstring_tokenize
...
fixed #86 and #87
2019-12-15 00:47:32 +01:00
Dave Halter
753e1999fe
Fix: Add more cases for named expression errors, see #89 , #90
2019-12-15 00:04:38 +01:00
Dave Halter
5f04dad9ab
Fix: Catch some additional cases named expr errors, see #89 , #90
2019-12-14 23:31:43 +01:00
Dave Halter
dbba1959f7
Make sure that function executions are errors as well, see #90
2019-12-14 23:23:00 +01:00
Dave Halter
32584ac731
Merge https://github.com/JarryShaw/parso into master
2019-12-14 22:21:22 +01:00
Jarry Shaw
89c4d959e9
* moved all namedexpr_test related rules to _NamedExprRule
...
* added valid examples
2019-12-14 09:37:16 +01:00
Jarry Shaw
776e151370
Revised implementation
...
* search ancestors of namedexpr_test directly for comprehensions
* added test samples for invalid namedexpr_test syntax
2019-12-13 11:55:53 +08:00
yangyang
b90e5cd758
fixed #86 and #87
2019-12-05 19:22:58 +08:00
Robin Fourcade
e496b07b63
Fix trailing comma error
2019-12-04 22:59:24 +01:00
Dave Halter
3ecd4dddb4
Fix is_definition test
2019-09-05 23:28:46 +02:00
Dave Halter
e8653a49ff
Make is_definition work on setitem modifications, see #66
2019-09-04 09:52:55 +02:00
Hugo
f6bdba65c0
Drop support for EOL Python 2.6
2019-08-08 14:56:27 +03:00