Dave Halter
aaf6c61e69
Make remove_last_newline private.
2017-03-18 03:07:01 +01:00
Dave Halter
519fa9cfb5
Remove complicated merging of used names from the parser.
...
It's a lot of complicated code and a lot can go wrong. It also didn't speed up anything. If anything it made things like 5% slower. I have tested this with:
./scripts/diff_parser_profile.py wx._core.py
wx._core.py is not part of Jedi.
2017-03-16 22:00:01 +01:00
Dave Halter
ce41119051
Fix some stuff in a diff profile test script.
2017-03-16 21:45:51 +01:00
Dave Halter
8156a6b8a2
Remove used_names from the parser step. It's a separate iteration, now.
2017-03-16 21:28:42 +01:00
Dave Halter
fd50146f92
Simple cleanup.
2017-03-16 20:20:58 +01:00
Dave Halter
96c67cee26
Simplify the leaf with newlines stuff.
2017-03-16 20:18:30 +01:00
Dave Halter
4573ab19f4
Separate the python syntax tree stuff from the non python stuff.
2017-03-16 19:54:08 +01:00
Dave Halter
448bfd0992
Move the python parser tree.
2017-03-16 17:20:32 +01:00
Dave Halter
b136800cfc
Don't use as in imports when not needed.
2017-03-16 08:45:12 +01:00
Dave Halter
06702d2a40
Move the python parser.
2017-03-16 08:40:19 +01:00
Dave Halter
a83b43ccfd
Merge branch 'dev' of github.com:davidhalter/jedi into dev
2017-03-15 19:12:51 +01:00
Dave Halter
93f14157a6
Cleanup the ParseError stuff.
2017-03-15 18:41:58 +01:00
Dave Halter
0effd348e8
Add a note about the grammar creation.
2017-03-15 18:18:06 +01:00
Dave Halter
c332fba488
Fix a namespace packages related issue.
2017-03-15 08:59:24 +01:00
Dave Halter
375749c5c3
Small restructuring.
2017-03-15 08:56:49 +01:00
Dave Halter
55c9fd3227
Fix an issue in the fake parser
2017-03-15 08:44:49 +01:00
Dave Halter
68a7365a0a
A few docstring improvements.
2017-03-14 21:03:03 +01:00
Dave Halter
9efb3f0af2
More direct parser usage removals.
2017-03-14 19:31:54 +01:00
Dave Halter
717bfeb574
Remove an occurance of the complicated parser creation.
2017-03-14 19:27:03 +01:00
Dave Halter
97fc3bc23c
Refactored the parser calls. Now it's possible to use jedi.parser.python.parse to quickly parse something.
2017-03-14 00:38:58 +01:00
Dave Halter
9b5e6d16da
Improved grammar loading API.
2017-03-13 20:33:29 +01:00
Dave Halter
595ffc24d4
Move some more stuff to a python directory in the parser.
2017-03-13 00:54:39 +01:00
Dave Halter
922c480e2e
Moved the parser to a new file.
2017-03-12 21:33:41 +01:00
Dave Halter
a635b6839a
Remove unused code.
2017-03-12 21:28:32 +01:00
Dave Halter
af9b0ba8d6
Merge branch 'master' into dev
2017-03-12 20:51:17 +01:00
Dave Halter
a7b1e3fe70
Fixed another diff parser error.
2017-03-12 15:58:14 +01:00
Dave Halter
6e3b00802c
Another endless while loop issue, add an assert.
2017-03-11 14:54:44 +01:00
Dave Halter
818fb4f60c
Fix a bug that might have caused an endless while loop a while ago. Fixes #878 .
2017-03-09 21:47:16 +01:00
Dave Halter
ccef008376
Python 2 compatibility.
2017-03-09 21:06:20 +01:00
Dave Halter
c7a74e6d1c
Make the tokenizer a generator.
2017-03-09 18:53:09 +01:00
Dave Halter
989e4bac89
Speed up splitlines.
...
We use the python function again with the modifications we need.
I ran it with:
python3 -m timeit -n 10000 -s 'from jedi.common import splitlines; x = open("test_regression.py").read()'
The speed differences are quite remarkable, it's ~3 times faster:
10000 loops, best of 3: 52.1 usec per loop
vs. the old:
10000 loops, best of 3: 148 usec per loop
We might need to speedup splitlines with as well. It's probably
also a factor 2-3 slower than it should be.
2017-03-09 08:58:57 +01:00
Dave Halter
b814a91f29
Avoid endless loop with an assert in the diff parser.
2017-03-08 18:33:38 +01:00
Dave Halter
5c9769c5a3
Merge remote-tracking branch 'origin/master' into dev
2017-03-07 19:01:53 +01:00
Dave Halter
ee98eab64c
Merge branch 'dev' of github.com:davidhalter/jedi into dev
2017-03-07 19:01:42 +01:00
Dave Halter
05e05252fa
Make python -m jedi.parser.tokenize possible for debugging purposes.
2017-03-07 18:31:12 +01:00
Dave Halter
8131f19751
Correct an issue in the tests with the last commit.
2017-02-04 18:11:54 +01:00
Dave Halter
b6e61133d8
Move the tests for the last PR #848 .
2017-02-04 18:11:14 +01:00
Dave Halter
1d64a5caa1
Replace first_leaf and last_leaf with get_first_leaf and get_last_leaf.
2017-02-03 17:35:53 +01:00
Dave Halter
90fffd883e
Clean up the function docstring.
2017-02-03 17:30:58 +01:00
Dave Halter
647aec11a6
Return None instead of raising an IndexError in get_next_leaf.
2017-02-03 17:26:02 +01:00
Dave Halter
c5071f9f49
Change get_previous_leaf to return None if there is no leaf anymore (at the start of the file).
2017-02-03 17:23:15 +01:00
Dave Halter
445bf6c419
Get rid of get_parent_until.
2017-02-03 09:59:32 +01:00
Dave Halter
b3cb7b5490
Remove the def isinstance from the parser. It was a really bad pattern.
2017-02-03 09:37:59 +01:00
Dave Halter
6ccac94162
Add a deploy script.
2017-02-03 00:40:19 +01:00
Dave Halter
f2b41b1752
Update already the version number so we don't forget it.
2017-02-03 00:38:08 +01:00
Dave Halter
7020086166
Changelog for 0.10.0
2017-02-03 00:08:51 +01:00
Dave Halter
8027aeebd8
Fix a small bug that was raised two commits ago (in the test suite).
2017-02-02 23:50:29 +01:00
Dave Halter
f627d541b8
Trying to fix the docs.
2017-02-02 23:39:10 +01:00
Dave Halter
a5a54fbc85
Fix a call signature issue.
2017-02-01 19:21:07 +01:00
Dave Halter
68a3a9cf41
Don't do anything with the diff parser if nothing changes.
2017-01-29 22:12:24 +01:00
Dave Halter
e5af996829
Remove old debug code from the diff parser.
2017-01-29 21:57:09 +01:00
Dave Halter
e0c8b3dd3b
Fix an context issue in completions.
2017-01-29 19:09:35 +01:00
Dave Halter
3f1e658e1d
Set the limit for debugging failed diff parsers a bit higher.
2017-01-29 14:34:20 +01:00
Dave Halter
40b6079ebd
If an INDENT is the next supposed token, we should still be able to complete.
2017-01-29 14:06:22 +01:00
Dave Halter
b0f340748c
So much work for one simple diff fail.
2017-01-29 00:42:09 +01:00
Dave Halter
b779677bf9
Merge branch 'dev' of github.com:davidhalter/jedi into dev
2017-01-25 23:21:45 +01:00
Dave Halter
b18239f9dd
Add a way to profile the diff parser.
2017-01-25 23:00:33 +01:00
Dave Halter
9982975ad2
Another small performance improvement.
2017-01-25 22:54:08 +01:00
Dave Halter
4918fb49f5
Implement binary search for get_leaf_for_position. This makes it a lot faster.
2017-01-25 22:27:36 +01:00
Dave Halter
f2db0dceb4
A few small performances improvements on the diff parser.
2017-01-25 21:12:13 +01:00
Dave Halter
dfced86730
Merge pull request #834 from Carreau/fix-keyword
...
Fix keywords detected as modules
2017-01-24 13:27:49 +01:00
Dave Halter
551c122cf8
Fix an issue in sith where there we have accessed a removed Jedi property.
2017-01-24 09:57:43 +01:00
Dave Halter
f4b8a02d37
Add a few speed debugging times to the diff parser.
2017-01-24 09:51:23 +01:00
Dave Halter
09779c88aa
Fix a nasty issue in the tokenizer. Fixes #836 .
...
At the same time there was a related issue of not cleaning up newlines properly.
2017-01-24 00:50:37 +01:00
Dave Halter
741993a738
Merge branch 'dev' of github.com:davidhalter/jedi into dev
2017-01-23 20:37:34 +01:00
Dave Halter
e7fcc21863
Remove both MergedNodes and AlreadyEvaluated, they are unused.
2017-01-23 20:36:26 +01:00
Dave Halter
7623b1e350
Removed tree.is_node.
...
It's not needed anymore, because we have Node/Leaf.type now.
2017-01-23 20:34:30 +01:00
Dave Halter
64abe401ed
The position modifier is not used anymore.
2017-01-23 20:12:17 +01:00
Dave Halter
d85ceb9222
More cleanups in the parser.
2017-01-23 20:10:02 +01:00
Dave Halter
645841d98c
Remove more unused code.
2017-01-23 19:51:30 +01:00
Dave Halter
b286f3aef0
Merge pull request #832 from Carreau/more-docs
...
Improve some documentation about name_with_symbols, name and completion.
2017-01-23 15:00:45 +01:00
Dave Halter
01b25efea1
Use the same function to detect newlines in the diff parser.
2017-01-23 09:56:38 +01:00
Dave Halter
1caa2ceafa
Cannot use sys.version.major and minor names, because in Python 2.6 it's
...
not a namedtuple.
2017-01-23 01:09:01 +01:00
Dave Halter
8d2ec6556e
Fix a Python 2.7 issue.
2017-01-23 00:36:57 +01:00
Dave Halter
1ff7ecc7af
Remove jedi.settings.add_dot_after_module that was removed a while ago from documentation.
2017-01-23 00:12:02 +01:00
Dave Halter
194295066a
Fix one more issue in the diff parser.
2017-01-22 23:44:10 +01:00
Dave Halter
08c66207ec
Fix the last diff parser test.
2017-01-22 20:27:11 +01:00
Dave Halter
dca35393d5
Remove old code from the diff parser.
2017-01-22 20:22:20 +01:00
Dave Halter
8f4b862892
Fix most diff tests.
2017-01-22 20:13:18 +01:00
Dave Halter
005b24ed54
Better handling of the stack.
2017-01-21 18:43:54 +01:00
Dave Halter
21cd10cefd
Get a few diff tests passing.
2017-01-20 20:46:30 +01:00
Dave Halter
73b2287fb4
Fix some tests.
2017-01-20 18:12:09 +01:00
Dave Halter
ebfae050a8
Delete a lof of duplicate code.
2017-01-19 18:31:53 +01:00
Dave Halter
ef31c3d1f4
Some asserts pass now in the tests.
2017-01-19 18:26:50 +01:00
Dave Halter
3bf5f93edd
Progress in using a stack in the diff parser.
2017-01-19 09:44:07 +01:00
Dave Halter
fe44458ec0
Start implementing the node stack.
2017-01-16 16:32:49 +01:00
Dave Halter
98185d530e
Simplify deep_ast_parser a lot.
2017-01-12 21:51:02 +01:00
Dave Halter
ad1222e6d7
Fix another parser bug.
2017-01-12 08:46:58 +01:00
Dave Halter
0141711af8
Diff parser docstring.
2017-01-10 19:17:37 +01:00
Dave Halter
425fba5e95
Move the parser.fast module to parser.diff.
2017-01-10 19:15:47 +01:00
Dave Halter
1edccbe2c3
Improve literal tests.
2017-01-08 19:52:21 +01:00
Dave Halter
7300f3e7ef
Fix issues with Python 3.6's f strings and underscores in numbers.
2017-01-08 19:39:14 +01:00
Dave Halter
00a9f1ec0a
Update the tokenizer to include f literals and underscores. Need tests still.
2017-01-08 16:03:45 +01:00
Dave Halter
3f09f3a304
Add support for PEP 0526.
...
This makes it possible to assign variables like
asdf: typing.List[int] = []
2017-01-08 03:57:35 +01:00
Dave Halter
6d00a5702f
If newer versions are using Jedi (e.g. at the moment Python 3.7), it shouldn't just result in a grammar issue, just because that grammar doesn't not exist. Just take the Python 3.6 grammar instead.
2017-01-07 15:54:04 +01:00
Dave Halter
aff3950085
Better async testing.
2017-01-07 15:40:55 +01:00
Dave Halter
6a18ddf8cb
Fix await issues. At the moment Jedi is just ignoring await statements.
2017-01-07 15:27:32 +01:00
Dave Halter
d3c437e891
Restructure yield code to make it less error prone.
2017-01-07 12:43:15 +01:00
Dave Halter
1f15ee8bc7
Fix an issue with contexts.
2017-01-06 00:08:01 +01:00
Dave Halter
ae8e43d3c7
Move get_node() to tree_node and replace all the custom classdefs/funcdefs.
2017-01-05 23:43:12 +01:00