Dave Halter
9663e343c2
Almost the last switch to _get_definition.
2017-09-02 22:42:01 +02:00
Dave Halter
6419534417
Some more _get_definition fixes
2017-09-02 21:37:59 +02:00
Dave Halter
7e19e49200
Start replacing get_definitions.
2017-09-02 17:48:01 +02:00
Dave Halter
fe9be9fe09
source_to_unicode -> python_bytes_to_unicode.
2017-08-15 20:09:48 +02:00
Dave Halter
f9e31dc941
Refactor splitlines -> split_lines.
2017-08-15 19:55:50 +02:00
Dave Halter
2fcd2f8f89
Fix some more stuff because of newer parso changes.
2017-07-14 18:21:52 +02:00
Dave Halter
945a2ba405
Dedent some code to avoid issues with parso.
2017-07-09 00:27:23 +02:00
Dave Halter
e0485b032e
Fix some stuff to make parso work again.
2017-06-02 00:00:31 +02:00
Dave Halter
76529ca34d
The parser_cache contents have changed. Therefore adapt.
2017-05-26 12:52:52 -04:00
Dave Halter
35e248091e
Some more parso API changes.
2017-05-26 12:02:39 -04:00
Dave Halter
3015e7e60f
Remove use_exact_op_types because the default changed.
2017-05-26 11:35:47 -04:00
Dave Halter
24cd603fcf
Some more parso adaptations.
2017-05-26 09:08:34 -04:00
Dave Halter
3f36824a94
Parso changed load_python_grammar to load_grammar.
2017-05-25 12:41:19 -04:00
Dave Halter
ef2e2f343e
Fix some warnings.
2017-05-25 12:24:21 -04:00
Dave Halter
b90589b62e
Some changes because parso has changed.
2017-05-22 15:42:42 -04:00
Dave Halter
f35f1b9676
Add the cache_path parameter to parso calls.
2017-05-20 10:08:48 -04:00
Dave Halter
50c7137437
splitlines and source_to_unicode are utils of parso.
2017-05-20 09:55:16 -04:00
Dave Halter
9bca3d39f5
Actually use parso now instead of Jedi.
2017-05-19 14:20:14 -04:00
Dave Halter
84d8279089
Import.paths -> Import.get_paths.
2017-05-07 15:47:34 +02:00
Dave Halter
63679aabd9
Replace Param.get_description with get_code and a parameter include_coma.
2017-05-01 02:19:42 +02:00
Matthias Bussonnier
6f1ee0cfa8
Use stacklevel in warnings or filters don't work.
...
In particular with the right stacklevel IPython will display the warning
if code is directly entered by the user. Without this info it does not.
Use the opportunity to add in the warning since when things are
deprecated. This leads to one less lookup of information for the user.
2017-04-29 20:13:19 +02:00
Dave Halter
7ca62578e1
Add py__doc__ as a better approach to docstrings.
2017-04-20 09:45:15 +02:00
Dave Halter
b4631d6dd4
Progress in removing the docstring/call signature logic from the parser.
2017-04-18 18:48:05 +02:00
Dave Halter
deb028c3fb
Move get_statement_of_position out of the parser tree.
2017-04-15 02:23:08 +02:00
Dave Halter
a0b65b52c6
used_names -> get_used_names().
2017-04-12 08:56:11 +02:00
Dave Halter
545cb26f78
stars -> star_count.
2017-04-08 15:26:57 +02:00
Dave Halter
65a6c61dc6
Remove nodes_to_execute in favor of a function in parser_utils.
2017-04-08 12:59:49 +02:00
Dave Halter
632072000e
Fix the builtin docstring issue that we've had. Fixes #859 .
2017-04-03 00:27:31 +02:00
Andy Lee
1624f6945e
Fix api.usages so it finds cross-module usages
2017-04-01 15:52:22 +02:00
Dave Halter
a6829ca546
Use the cache variables in more straight forward fashion.
2017-03-31 23:10:39 +02:00
Dave Halter
1bb0c89f46
Remove source parameter from parser.
2017-03-31 21:44:43 +02:00
Dave Halter
35fd1c70bd
Rename parser.utils to parser.cache.
2017-03-30 01:57:48 +02:00
Dave Halter
8059c3c2c8
Save a module instead of a parser when pickling.
2017-03-30 00:55:04 +02:00
Dave Halter
932703f04a
Remove an import that is not needed anymore.
2017-03-28 02:09:38 +02:00
Dave Halter
ee47be0140
Merge Parser and ParserWithRecovery.
2017-03-28 02:08:16 +02:00
Dave Halter
6a9c2f8795
Start using ContextualizedNode for py__iter__.
2017-03-28 01:34:07 +02:00
Dave Halter
8a35a04439
Remove the module path from the parser tree.
...
Some static analysis tests are still failing.
2017-03-27 18:13:32 +02:00
Dave Halter
b60ec024fa
Remove start_parsing completely from the Parsers.
2017-03-26 12:52:37 +02:00
Dave Halter
7874026ee5
A lot of work toward a better diff parser API.
2017-03-25 01:51:03 +01:00
Dave Halter
26cce4d078
Add the grammar as an argument to saving the parser.
...
This makes collisions of different grammars when loading from the cache impossible.
2017-03-22 18:32:49 +01:00
Dave Halter
2cb565561d
Replace the diff parser imports with the modified path.
2017-03-21 22:10:01 +01:00
Dave Halter
9dedb9ff68
Don't start parsing in our own API.
2017-03-20 08:44:52 +01:00
Dave Halter
0f66a3c7a8
Remove the module attribute from the parser.
2017-03-18 03:53:34 +01:00
Dave Halter
d0b6d41e99
Remove the old star import cache, because it's not even used.
2017-03-18 03:30:23 +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
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
micbou
a859add6d7
Only resolve names for actual modules
...
A name can be part of an import statement without being a module.
2017-03-01 21:06:21 +01:00
Mathias Rav
c809aad67f
Complete dotted names properly in decorators
...
Outside decorators, a dotted name is parsed by the grammar as
stmt -> test -> power -> atom trailer -> (NAME) ('.' NAME)
where the first NAME is an 'atom' and the second NAME is a 'trailer'.
Thus, testing if the most recent variable is a 'trailer' and the most
recent node is a '.' is almost always enough for Jedi to properly
complete dotted names.
However, the grammar for decorators is more restricted and doesn't allow
arbitrary atoms and trailers; instead, a dotted name in a decorator is
decorator -> '@' dotted_name -> '@' (NAME '.' NAME),
meaning the most recent variable will be 'dotted_name', not 'trailer'.
Besides in decorators, the 'dotted_name' variable is only used in import
statements which are handled previously in _get_context_completions,
so checking for 'dotted_name' in this arm of the if only covers decorators
and not inadvertently anything else.
2017-02-04 18:05:15 +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