Update submodule pythonx/parso a2b153e...f1ee761
* pythonx/parso a2b153e...f1ee761 (6):
> Release of 0.3.3
> Rename a test
> Remove some unused code
> Fix working with async functions in the diff parser, fixes#56
> Fix bytes/fstring mixing when using iter_errors, fixes#57.
> Improve a docstring, fixes#55.
Update submodule pythonx/parso 930ec08...a2b153e
* pythonx/parso 930ec08...a2b153e (91):
> Upgrade the Changelog
> Escape a backslash properly
> Bump the parso version to 0.3.2
> f-string parts are also PythonLeaf instances
> Fix get_start_pos_of_prefix
> Remove dead code
> Refactor f-string support
> Fix: End detection for strings was mostly wrong, fixes#51
> Fix f-string escapes, fixes#48
> Tokenizer: Simplify end of string regexes
> Add a comment from the Python3.7 code base
> Fix diff parser: The previous fix was a bit off
> Change fuzzer: Add ways to not always use correct parse input
> Fix diff parser: issue with opening brackets
> Async doesn't work in 3.4
> Skip some tests for Python2.6 and Python3.3
> Fix diff parser: DEDENT as error leaves should also be ignored and reparsed
> Fix diff parser: error dedents in between nodes should be ignored for now when copying
> Fix diff parser: Don't copy error nodes/leaves in the beginning, leads to strange issues in some cases
> Diff fuzzer: Create a check to see if the errors make sense.
> Fix diff parser: Don't copy DEDENT tokens at the beginning
> Fix diff parser: Skip last leaves for last line offset leaves
> Fix indentation error tokens
> Fix diff parser: Avoid side effects for prefix
> Fix tokenizer: backslashes sometimes led to newline token generation
> Make lines easier copyable in the fuzzer
> Fix tokenizer: Carriage returns after backslashes were not properly handled
> Fix in diff parser: prefix calculation was wrong when copying nodes
> Replace --print-diff with --print-code
> Fix diff parser generation for empty files
> Docopt should not be needed for tests
> Fix tokenizer: Form feeds and multiline docstrings didn't work together
> Fix diff parser: Need to calculate the prefix for the diff tokenizer better
> Remove copied nodes stuff, to simplify some things
> Fix newline endings and a few parser/copy counts
> Feature: The diff parser fuzzer is now able to use random Python fragments
> Fix: The Python 3.8 grammar did not include f-string support
> Fix tokenizer: Closing parentheses in the wrong place should not lead to strange behavior
> Fix end positions with error dedents
> Fix diff parser tests for Python 2
> Randomize the fuzzer a bit more with inserting characters
> Simplify the regexes
> Fix a regex clause that was totally wrong
> Fix another tokenizer issue
> Apply \r changes in syntax trees
> Actually make \r usable
> Fix split lines for Python code
> Add \r as a valid linebreak for splitlines
> Move split_lines tests around
> Start generating really random strings with the fuzzer
> Fix tokenizer: Dedents before error tokens are properly done, now.
> Fix diff parser: Also check async with
> Make the diff parser use a lot of different files by default
> Fix diff parser: Forgot that with statments are also flows
> Fix valid graph asserting for some dedents that are errors
> Fix diff parser: If funcs are not copied, errors shouldn't either
> Better documentation for the fuzz diff parser script
> Rename a test
> More verbose output for the diff fuzzer
> Fix diff parser: error dedent issues
> Fix diff parser: Avoid indentation issues
> Use the right diff order in debug output
> Fix diff parser: The prefix was wrong in some copy cases
> Make fuzz parser compatible with Python 2
> Make it possible to print all diffs in fuzzer
> Introduce a redo flag 'only_last' to narrow down issues
> Add docopt to testing dependencies
> Rewrite the fuzz diff parser to cache errors (so we can re-run those)
> Fix diff parser: Decorators were sometimes parsed without their functions
> Fix tokenizer: Dedents should only happen after newlines
> Usability for diff parser fuzzing
> Fix for diff parser: Rewrite prefix logic and don't mutate prematurely
> Fix diff parser: positioning of functions if decorators were removed
> Ignore ERROR_DEDENT in graph validation
> Add a small diff parser fuzzer
> Fix diff parser: get_last_line was sometimes wrong
> Fix error reporting order for diff issues
> Clean up the test diff parser file
> Avoid nasty side effects in creation of Node
> Make parso errors even more informative
> Fix diff parser get_last_line calculation
> Fix graph asserting for error indents
> Better checks for checking valid graphs
> Create better ways for debugging the diff parser
> Fix diff-parser: Copying parts of if else should not lead to the whole thing being copied
> Reenable diff parser parser counting in all tests
> Fix: Make the NodesStack to a NodesTree
> Fix for diff parser : Make sure that start_pos are growing always The problem was that functions/classes were sometimes not well positioned. Now all diff tests are ensuring that leaves always grow.
> Add a check to see if leaves have the right start positions
> Add parso version to an exception
> MNT: add grammar for python 3.8
* pythonx/jedi a79a1fb...bd1010b (91):
> Create a new 0.13.1 release
> Fixed completions of global vars and tensorflow slowness, fixes#1228, #1116
> The changelog date was wrong
> Release notes for 0.13.0
> Fix tensorflow issues with a few hacks (temporary), fixes#1195
> If the VIRTUAL_ENV variable changes, need to reload the default environment, fixes#1201, #1200
> Return SameEnvironment as a default, fixes#1226, #1196
> Document that using the REPL autocompletion is only available on Linux/Mac, fixes#1184
> Fix an issue with f-strings, fixes#1224
> Ignore some errors that are happening when the Python process ends and its subprocesses are cleaned up
> also remove crashes with pep 448 unpacking of lists and sets
> Fixed crash (and now recognises correctly) {**d, "b": "b"}["b"]
> Recognize {**d} as a dict instead of set
> Add extras_require=testing
> _get_virtual_env_from_var: use safe=False
> tests: venv_path: use session scope
> jedi/api/environment.py: minor flake8 fix
> jedi.api.environment._SUPPORTED_PYTHONS: add 3.7
> Removing a test from doctests, becaues it shouldn't be one
> Refactor argument clinic usage
> With the recent changes one performance optimization got lost
> FunctionExecutionContext should use the parent if possible
> Use anonymous instance arguments in a different way
> Move some anonymous instance function execution stuff
> Get rid of InstanceFunctionExecution, because it's really not needed
> Use the InstanceArguments for super as well
> Use InstanceArguments directly and not via InstanceFunctionExecution
> Remove old garbage code
> Don't use arguments that are not needed
> Also move the remaining get_params to get_executed_params
> get_params -> get_executed_params where possible
> Subprocess error reporting improvements
> Fix a recursion issue about compiled objects
> Use a CompiledInstanceNameFilter that wraps the class name as well
> Prefer Python 3 import over 2
> Now it's actually possible to specify a pytest environment for the same Python version
> Note that Python 3.3 support was dropped in Changelog
> Drop support for EOL Python 3.3 (#1019)
> Rewrite the pyc test
> Fix an issue with stderr debugging of subprocesses
> stderr of the child processes should be printed in debug output
> Use close_fds for posix.
> Remove some redundant code
> Use names of classes to infer names of instances
> Don't have execute and execute_evaluated on name
> Fix an issue where __ prefixed variables where not hidden when accessed from a class
> Bound methods are now working correctly in all Python versions. Therefore a test was wrong.
> Remove a print in tests
> BoundMethods now have access to the function that they are using
> Remove another usage of is_class where it's not needed
> FunctionContext should be created from a unified interface
> Don't create a FunctionExecutionContext if it's not used.
> Use TreeContext in a good way
> Fix broken link in documentation
> The implicit namespace package test from 4b276bae87a3170672f7ddb3e00f5851fe24d562 can only be used for Python 3.4+
> The import resolution for namespace packages was wrong
> Add a way to use the interpreter environment for tests
> MergedExecutedParams -> DynamicExecutedParams
> Fix a recursion error, fixes#1173
> Remove two recursion tests again that will belong into a commit at a point where it is not failing anymore
> Don't merge params if it's just one param
> Add a repr for AnonymousArguments
> Fix a doctest
> Some minor flake8 fixes
> Script.__repr__: include environment
> Add params to CallSignature.__repr__
> Environments are now always created on request
> Improve Environment
> Add max line length 100 to the config for flake8
> tests: use monkeypatch.setenv
> Don't test Python 3.3 on appveyor anymore, it's getting really hard to get all the right dependencies for it, because 3.3 is deprecated everywhere.
> Mention that it's ok to have a line length of 100 characters in our files.
> Don't use invalid escape sequences in regex, see https://github.com/davidhalter/jedi-vim/issues/843
> subprocess: listen: exit normally with EOFError
> Script: improve ValueError for column
> The sys path might be lazy or not in a venv
> The encoding parameter should be used again (includes test), fixes#1167
> Remove source_encoding from documentation (see #1167)
> Actually use the fast_parser setting again
> Use an import name list as long as possible
> Different _load_module API
> Directly load modules if possible, with this it's not necessary anymore to use dotted_from_fs_path, also fixes#1013.
> Don't mutate the sys.path. This is pretty nasty bug that fixes#1148
> Don't follow builtin imports anymore by default when follow_imports is on (goto)
> Add a changelog entry for the include_builtins change
> additional_module_paths in usages never actually worked
> Add include_builtins to usages, fixes#1131.
> Finally make it possible to use auto_import_modules for packages
> Test auto_import_modules in a very basic way
> Fix a bug about fstring completion
> Comprehensions are also possible arguments. Fixes 1146
The main motivation is to being able to use normal/other pytest based
tests.
Therefore this moves everything from conftest into test_integration
itself.
When being initialized via ftplugin `set shortmess+=F` (default in
Neovim by now) causes the additional information (the full traceback) to
be silenced.
This patch uses `:unsilent` to always display it.
Ref: https://github.com/neovim/neovim/issues/8675
I am seeing `p` twice for os.path.dirname, which seems to come from
Lib/posixpath.py and Lib/ntpath.py, as can be seen with `os.path.join`,
where I still see two with this patch:
```
(path, *paths)
import os (a, *p)
os.path.join()
```
It uses cterm=reverse, which is supported by current Neovim, and at
least for xterm and rxvt-unicode reverse and standout are the same.
See `infocmp`:
> smso=\E[7m / rev=\E[7m