1
0
forked from VimPlug/jedi
Commit Graph

163 Commits

Author SHA1 Message Date
Dave Halter
545cb26f78 stars -> star_count. 2017-04-08 15:26:57 +02:00
Dave Halter
448bfd0992 Move the python parser tree. 2017-03-16 17:20:32 +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
445bf6c419 Get rid of get_parent_until. 2017-02-03 09:59:32 +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
ae8e43d3c7 Move get_node() to tree_node and replace all the custom classdefs/funcdefs. 2017-01-05 23:43:12 +01:00
Dave Halter
e96fd32588 Fix an issue of params completion signatures. 2017-01-04 22:09:08 +01:00
Dave Halter
becf1027c0 Refactor our create_context constructs. 2016-12-06 09:51:57 +01:00
Dave Halter
d74e48dae2 Fix context completions and super calls. 2016-11-29 18:38:04 +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
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
Dave Halter
cb86cdec68 Small fixes to the origin_scopes. 2016-11-12 17:01:26 +01:00
Dave Halter
853f9fdb08 Somre more fixes towards basic stuff. 2016-11-12 14:23:44 +01:00
Dave Halter
f57455f0ad Deprecate Evaluator.wrap. 2016-11-01 23:38:06 +01:00
Dave Halter
e34246eb00 Fix __call__. 2016-10-24 00:39:59 +02:00
Dave Halter
2e6603cc2e A lot of small improvements. 2016-10-22 17:40:42 +02:00
Dave Halter
4ccfbb4962 Use super().__getattribute__ instead of custom AttributeErrors in __getattr__. 2016-10-21 02:12:54 +02:00
Dave Halter
cad9ae8ab1 Start implemeting contexts with specialized TreeNameDefinitions to avoid gambling with the parser. 2016-10-20 19:36:44 +02:00
Dave Halter
129c669bc0 Fix private variables in filters. 2016-10-15 19:12:46 +02:00
Dave Halter
fce0eff18a Get rid of all names_dicts in the completion api. 2016-10-12 03:40:24 +02:00
Dave Halter
482103e796 Replace names_dicts with filters in trailer completion. 2016-10-12 02:34:50 +02:00
Dave Halter
862e4a6176 Add filters for the sub module dicts and module attributes dicts. 2016-10-12 02:19:52 +02:00
Dave Halter
9acb5cf1b3 Make it possible to do class context completions even for non functions. Fixes #639. 2016-08-01 23:13:28 +02:00
Dave Halter
647a4db326 Autocomplete inherited methods when overriding in child class. Fixes #458. 2016-07-31 23:09:50 +02:00
Dave Halter
aeb734564c Finally fix all tests. 2016-07-25 00:15:58 +02:00
Dave Halter
7f2f66f011 Trying to refactor the completion stack finding. 2016-07-24 17:06:54 +02:00
Dave Halter
42bf193af8 Fix for some small issues with the equals. 2016-07-20 23:24:29 +02:00
Dave Halter
f20df95074 Fix the issues with added equals after params in the wrong places. Fixes #643. 2016-07-20 23:19:05 +02:00
Dave Halter
609965d07c Finally fix all python 3.4 tests again. 2016-07-01 20:59:24 +02:00
Dave Halter
f7278f5bf1 Some more bug fixes for MixedObject. 2016-06-30 19:36:21 +02:00
Dave Halter
6b41db96bf Refactor something to use .type instead of isinstance. 2016-06-30 09:55:21 +02:00
Dave Halter
969100e471 Move the parsing away from user_context to api.py. 2016-06-27 08:48:36 +02:00
Dave Halter
0445d51d34 Remove the user_scope from the user_context module. 2016-06-27 08:35:24 +02:00
Dave Halter
bb4ab45131 Don't use UserContextParser.user_stmt anymore, since we can access it directly. 2016-06-23 16:36:12 +02:00
Dave Halter
73e71b3c1a Finally able to remove the user_context. This is awesome!
Now we only use the syntax tree to understand where the user is doing something.
2016-06-23 16:26:28 +02:00
Dave Halter
672bf9908c Remove path argument from completions, because it's really not needed anymore. 2016-06-23 16:11:23 +02:00
Dave Halter
9225db084a user_context is not needed anymore for completions. yay! 2016-06-23 09:19:20 +02:00
Dave Halter
77e66e01e3 Remove the inference module, it's unused code. 2016-06-23 08:49:26 +02:00
Dave Halter
1ab4eb3696 Exchange the completion trailer evaluation logic. It's way more consistent now. 2016-06-23 08:47:43 +02:00
Dave Halter
cbef4235ff Remove needs_dot and settings.add_dot_after_module. Both are not really used anymore with context completions anymore.
Also the setting doesn't seem to be used anywhere as far as I can tell.
2016-06-22 22:52:10 +02:00
Dave Halter
1355ea01b3 Simplify completions further to eventually get rid of user_context. 2016-06-22 09:15:32 +02:00
Dave Halter
57b1fdaa26 Remove code that's not used anymore. 2016-06-22 00:31:36 +02:00
Dave Halter
c82691a12b Make goto_definitions a lot simpler. 2016-06-11 23:13:04 +02:00
Dave Halter
6b9f96ce13 Keyword completion is now possible in a semantic way. This includes better testing and documentation. 2016-06-06 18:32:00 +02:00
Dave Halter
028d0a2509 After as ther should not follow any completions. 2016-06-06 18:08:45 +02:00
Dave Halter
a74d3d6e9a Remove more unused code. 2016-06-06 09:29:05 +02:00