1
0
forked from VimPlug/jedi
Commit Graph

521 Commits

Author SHA1 Message Date
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
Dave Halter
445bf6c419 Get rid of get_parent_until. 2017-02-03 09:59:32 +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
a5a54fbc85 Fix a call signature issue. 2017-02-01 19:21:07 +01:00
Dave Halter
e0c8b3dd3b Fix an context issue in completions. 2017-01-29 19:09:35 +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
dfced86730 Merge pull request #834 from Carreau/fix-keyword
Fix keywords detected as modules
2017-01-24 13:27:49 +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
Matthias Bussonnier
0f865a17ef Improve some documentation about name with symbols, name and completion. 2017-01-22 18:41:35 -08:00
Matthias Bussonnier
d3e8a9bd52 Resolve kewords types as keyword in completions
Closes #833
2017-01-22 18:39:32 -08:00
Dave Halter
425fba5e95 Move the parser.fast module to parser.diff. 2017-01-10 19:15:47 +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
ae8e43d3c7 Move get_node() to tree_node and replace all the custom classdefs/funcdefs. 2017-01-05 23:43:12 +01:00
Dave Halter
9341df11bf Fix the issues that were changed by removing start_pos from the api classes. 2017-01-04 22:24:25 +01:00
Dave Halter
e96fd32588 Fix an issue of params completion signatures. 2017-01-04 22:09:08 +01:00
Dave Halter
55ec47f15f Test module attributes. 2017-01-04 18:32:16 +01:00
Dave Halter
0caeef2589 Remove the deprecated start_pos. 2017-01-04 18:23:41 +01:00
Dave Halter
cd23499fbe Fix param issues in goto definition. 2017-01-04 08:58:29 +01:00
Dave Halter
c7241068e8 Fix an issue with call signatures in empty files. 2017-01-02 19:39:48 +01:00
Dave Halter
5b9e5f96aa Merge with master. 2017-01-02 13:05:45 +01:00
Dave Halter
437f915f35 Delete a lot of names dict related stuff but also other things that were not used anymore. 2016-12-17 16:51:28 +01:00
Dave Halter
1ef507e5e6 Cleanup some code and a small Python 2 fix. 2016-12-17 16:42:52 +01:00
Dave Halter
57857b6332 Remove the ImportWrapper and replace it with something simpler. 2016-12-17 16:08:37 +01:00
Dave Halter
ce0a02f6c1 Fix an issue with executed python objects. 2016-12-17 14:08:49 +01:00
Dave Halter
9ac301d0c3 Refactor the mixed objects a bit to make at least some interpreter tests pass. 2016-12-16 17:17:03 +01:00
Dave Halter
575352d4b6 Start cleaning up the interpreter module. 2016-12-15 09:49:34 +01:00
Dave Halter
eaf0100446 Some analysis improvements. 2016-12-11 15:03:19 +01:00
Dave Halter
2be5da3f85 Fix some old regression tests. 2016-12-07 01:30:30 +01:00
Dave Halter
97ccb74ebb Api classes test fixes. 2016-12-07 01:00:03 +01:00
Dave Halter
c6248ae169 Some testing fixes that were broken with the few previous commits. 2016-12-06 18:18:53 +01:00
Dave Halter
becf1027c0 Refactor our create_context constructs. 2016-12-06 09:51:57 +01:00
Dave Halter
cb4f405f7d Fix some internal name handling. 2016-12-05 22:27:18 +01:00
Dave Halter
6736b1a5ce Fix some docstring stuff. 2016-12-05 09:42:51 +01:00
Dave Halter
641ecedcd2 Improve a few anonymous function execution context goto issues. 2016-12-04 22:35:23 +01:00
Dave Halter
6f4cd7e6d3 Improve api class tests. 2016-12-04 20:04:54 +01:00
Dave Halter
439e394535 Fix call signatures. 2016-12-04 03:52:33 +01:00
Dave Halter
6940900c58 A lot more fixes - fix all evaluate integration tests. 2016-12-03 22:17:38 +01:00
Dave Halter
ba8a3215f2 Fix some issues with usages and imports. 2016-12-02 23:51:01 +01:00
Dave Halter
dfc06dfe83 A lot of small bug fixes. 2016-12-02 15:08:54 +01:00
Dave Halter
d74e48dae2 Fix context completions and super calls. 2016-11-29 18:38:04 +01:00
Dave Halter
60234e68ca Fixed sys path scanning again. 2016-11-29 18:28:28 +01:00
Dave Halter
ba52ecd0df Some isinstance/flow analysis improvements. 2016-11-29 18:19:15 +01:00
Dave Halter
4ad0179b72 Fix named param completion and add a few tests. 2016-11-27 11:27:30 +01:00
Dave Halter
0b5f8ccc21 Remove memoize_default from api. 2016-11-26 17:50:21 +01:00
Dave Halter
2161be2dcb Fix side effect issues with predefined names and lazy contexts. 2016-11-26 10:16:26 +01:00
Dave Halter
7ed1c95737 Fix dynamic param tests. 2016-11-24 00:11:26 +01:00
Dave Halter
cbd6713b5e Fix a lot of the import completion issues. 2016-11-20 16:37:02 +01:00