* pythonx/parso 579146b...6f385bd (7):
> Not testing Python 3.3 anymore on travis. It seems to be broken
> Add a changelog for 0.2.1
> Push the version
> The diff parser was slighly off with prefixes, fixes#1121
> A better repr for the endmarker
> Merge branch 'master' of github.com:davidhalter/parso
> Fix a prefix issue with error leafs.
- cache current environment
- s/jedi.get_python_environment/jedi.get_system_environment: the former
does not exist (renamed in https://github.com/davidhalter/jedi/commit/336087f)
- improve error display
This basically corrupts VIM's Python, because it might be having a differnet prefix (Python 3.6) than sys path. I don't know who came up with this - probably it's just how Python loads venvs - but it's definitely not good. Fortunately we can just reset it and be happy.
Unlisted buffers might come e.g. from `set viminfo+=%`, and Jedi would
crash on them.
This could additionally check for them to be readable, but this should
be handled in Jedi itself anyway.
* pythonx/jedi 02f238c...bd7c65d (413):
> Finally fix all the get_system_environment issues
> Fix a test
> There's really no bin/activate needed for an environment to work
> Document get_sys_path and change the signature of get_system_environment a bit
> Rework the time cache.
> Cache default environment
> Require parso 0.2.0 at least
> Set a release date
> Don't install the latest pip version anymore in appveyor
> Fix some references
> Mention Virtualenv support in readme and features
> Title case for Mänu :)
> Better overview over functions in the documentation
> A small docs correction
> Remove the old static analysis stuff. It was never really used
> Fix a lot of old docs code that doesn't exist anymore
> Remove the old parser documentation (that's now part of parso)
> Don't call it the plugin API anymore, that's confusing
> Reorder some functions
> Adda lot of environment documentation to sphinx
> find_python_environments -> find_system_environments
> A small refactoring
> Remove from_executable, were not really using it, yet.
> For the second time in a row it's called creationflags not creation_flags
> Refactor something small
> Remove an unnecessary else
> CREATE_NO_WINDOW was introduced in Python 3.7 and didn't exist before
> The SameEnvironment should not load by default if it's a portable
> Do binary comparisons to get virtualenvs working and not just venvs
> Use the correct parameter name for creation flags
> Add a way to generalize Popen
> Check the windows environments in a better way
> Fix some issues with the latest changes
> DefaultEnvironment -> SameEnvironment
> Better docs for Environment
> Some docstrings
> Make the Environment clearly non-public
> Make some names public
> Make sure Windows environments are safe
> Fix the module_name issue again
> Write a test for #1079 to avoid a regression in the future.
> Cleanup some of the module cache stuff
> Do not cache unimportable compiled module (#1079)
> Merge branch 'master' of github.com:davidhalter/jedi
> Multiple inheritance completion in Python 2 did not work
> Give the run.py script an environment parameter
> Fix an import
> Merge the environment changes for Windows
> Better tests for venvs
> Write a test for venvs
> Obviously Python 3 syntax cannot be used in Python 2
> Update the changelog about f-strings
> Use the latest parso version from master.
> Better goto definition for fstrings
> Fix an issue around the new grammar
> Fix some fstring issues for now
> Make a few modifications to always use the latest environment available.
> Better tests for fstrings
> With the changes in parso, f-strings are now completable
> With the changes in parso, f-strings are now completable
> Fix lambda dynamic param searches, fixes#1070
> Cleanup the namespace lookups so that it also works for Python 3.7
> Add a note about the fixed Windows tests in the changelog
> Add micbou to AUTHORS
> Add a badge for AppVeyor. Running tests for Windows
> Add comment explaining why test_versions is disabled on Windows
> Add JEDI_TEST_ENVIRONMENT_EXECUTABLE for AppVeyor
> Add AppVeyor configuration
> Improve venv_and_pths test
> Properly raise broken pipe exception
> Remove SourceLair from products, because it's a paid product
> Add a note to the readme.
> Fix another windows issue
> Merge branch 'master' of github.com:davidhalter/jedi
> Merge the windows fixes
> Some code cleanup
> Fix another error that surfaced in pandas
> Fix an issue with docstrings that contain errors
> Upgrade the wx widgets paths
> Somehow forgot about subscriptlist. Just ignore those for now.
> Fix the first issue in #1010
> colorama should always color, even if it's not a shell
> os.path.join completion speed test is sometimes slow, so give it a bit more of time
> Fix some code_lines issues
> Remove stdout/stderr from subprocesses (redirected to /dev/null)
> Add the module_path again
> Clean up the namedtuple test for #1060
> All modules now have a code_lines attribute, see #1062
> The release date for 0.12.0 should not be set, yet. See #1061.
> And now remove a pep0484 function that is no longer needed
> Some more code to a function
> More rewriting of the pep0484 logic
> Start moving some of the pep0484 comment code around
> Cleanup some instance stuff
> Better docs for funciton annotations
> Fix an error in param comments
> Catch parser errors instead of error recovery when splitting param comments
> Merge branch 'function_comment' of https://github.com/wilfred/jedi into mypy-comments
> Fix a few version issues in tests
> Use inspect.Parameter.kind for better differentiation between param types
> Fix REPL completion param name completion
> Add keyword argument test for #292
> Fix an interpreter test in Python 2
> Clean up zombie subprocesses, fixes#1048
> Fix an issue around __dir__ in the interpreter
> Fix doctest for replstartup
> Fix shell completion issues and documentation
> Merge branch 'master' of github.com:davidhalter/jedi
> Fix issues with default parameters in functions and classes
> Correct mistakes of lambda names
> eval_element -> eval_node
> Use the correct class for params when used in names. Fixes#1006
> Get rid of a regex warning, where escaping was not properly used in a normal string
> Get rid of the imp library import in Python3 to avoid warnings, fixes#1001
> Don't need the tests from #122
> Refactor the namespace package tests
> Add a failing test for nested PEP420 namespace packages
> Include __init__.py files in search for the project directory, fixes#773
> Add pytest cache to gitignore
> Improve some documentation/a failing doctest
> Fix the recursion error with globals
> Always pop nodes in recursion detector
> Globals should be looked up with the same priority as other defined nodes.
> fix set.append syntax error
> Add a few bits to the changelog
> Autocompletion in comments should at least not fail
> Fix the last async issue
> Fix a few numpydocs tests
> Fix some more await things
> Fix a yield from test
> AbstractIterableMixin -> IterableMixin
> Support generator returns when used with yield from.
> Show in a test that something doesn't work properly around async analysis
> A few documentation improvements
> Try to make the whole Builtin overwriting more abstract
> Fix a small remaining issue in Python 2
> Reorder tests to make the async stuff pass on all python versions
> Fix for all python versions
> Getting more edget cases work in 3.6 for async
> Fix an issue with async for
> Use the await method properly and just use it instead of some crazy things
> Refactor the way builtins can be overwritten by jedi's own contexts
> Move all the asynchronous contexts to a separate module
> Fix the merge issues. Now async stuff should at least partially work
> Merge the async branch
> Get rid of an unused import
> Add the name always to the script module
> Add the travere_parents function to a utility directory
> Fix Python 2 old-school relative imports
> Use the project path as a prefix, because many times it's used as a higher priority than other stuff
> Move the buildout_project stuff to a separate examples folder
> Rename of buildout stuff
> Small rename
> Use generators instead of complicated return of lists
> Some more sys path corrections.
> Generalize the use of smart import paths
> Better handling of smart sys path
> Some simplifications
> Add comments to implicit namespaces and fix some minor things.
> Merge the implicit namespace improvement (pkgutils.itermodules modification)
> Relative imports should be working again even when used in more special occasions. Fixes#973
> parent_module is not needed for loading modules
> Try to avoid CachedMetaClass for modules
> DOn't check the parser cache, that's parso's responsibility
> Better module loading
> Try to put all module loading in one place including namespace packages
> Unify load_module access
> Prepare a test to eventually solve a relative import problem
> Add a module cache that has a bit more capabilites
> print_to_stderr needs to be used with one argument
> Print errors that happen when importing certain objects
> Use unicode literals, to avoid potential issues
> Merge branch 'master' of github.com:davidhalter/jedi
> Fix some more dict.get/dict.values stuff
> Implememnt dict.values for FakeDict to avoid a recursion error. Fixes#1014.
> Add better error reporting
> Use a better string
> Add better debugging for an assert, see also #1010
> Make some things clearer about lazy contexts
> Finding the autocompletion stack is a bit more complicated than I initially thought
> Move the ahead of time tests to the pep0526 file
> Fix an issue where a default value was wrongly used
> Update the ahead of time tests
> Fix the last remaining issues with ahead of time annotations, see #982
> Fix a bug related to a wrong parametrization at one point
> Merge branch 'master' of https://github.com/johannesmik/jedi
> Force unicode on django paths
> Forgot to add the examples folder
> Fix a goto_assignments issue with a better internal API
> Merge remote-tracking branch 'origin/master' into virtualenv
> Disable predefined name analysis (if stmts) for all non-analysis tasks
> Remove something that obviously never happened
> Reorder some open flags for Python 2
> inspect.signature throws weird errors sometimes, just make it a bit simpler
> Fix the implicit namespace test
> Undo most of the namespace changes and use module again
> Differentiate between namespace and module as a type
> Use Scripts for virtualenvs instead of bin for windows
> Refactor django path support
> Fix project path finding
> Add a repr for Project
> Use the PathFinder, because the FileFinder doesn't work without suffixes
> Create the importer stuff Python2.7 and 3.3
> Trying to use the import machinery to import jedi/parso in python3.4+
> Better reporting of internal errors
> Better error handling for subprocesses
> Another merge with master
> Get rid of a cwd to tmpdir, because with the subprocess it doesn't behave the same depending on which tests you run first
> Hopefully the last merge with master
> Merge with master again
> Merge with master
> Get rid of some potential issues when using pandas interactively
> Clarity
> Remove the get_default_project caching
> Add a comment about why the project is None in the subprocess
> evaluate.project doesn't exist anymore. Eliminated code that used it
> At the moment, don't allow projects as an input to script
> Remove the old project
> Make the new project API fully work in tests
> Try to migrate to the new project API
> Refactor to make configuratios of sys paths easier
> Use the evaluate.project sys path stuff for api.project
> Cache the default project
> A possible introduction for projects
> Check for safe and unsafe environments when searching for them
> Sith still used NotFoundError which doesn't exist anymore in jedi
> Ignore pypy in travis for now
> A path to ignore in coveragerc was wrong
> Allowing the cov tests did not properly work. Trying again.
> Somehow previously removed the allowed failurs of TOXENV=cov
> Try to put env variables on one line
> Coverage was unfortunately excluded
> Merge with master
> Add a comment to refactoring that it's not in active development
> Change coveragerc a bit
> Use Python3.4 for coverage.
> Correct the issue about has_zlib
> Move the zip tests to the environment
> Only execute the zipimport tests fully if zlib is available for the environment Python.
> Some tests that involved jedi were actually a bit wrong and only worked in certain environments.
> Skip some 3.3 tests for travis
> Skipping was done wrong
> Try a bit more if modifying the PATH is now possible.
> A comparison was wrong
> A new version of the travis install script
> Try to use the virtual env that was defined in the VIRTUAL_ENV variable, if possible.
> If a subprocess gets killed by an OOM killer or whatever it should respawn and raise an InternalError
> Merge Subprocess and CompiledSubprocess
> Try to recover from errors that are happening in subprocesses
> Move the default environment around
> More travis trying
> Better debugging for travis
> Forgot to add the executable bit to the travis installer.
> Experiment with travis and installing packages differently
> The tags should be annotated if possible
> Remove 2.6 from travis
> Correct the travis file
> Some refactoring to finally get tests working with py27 and 3 environments
> Use the parser to check for certain namedtuple features
> Use unicode strings in test to pass some tests in Python 2
> Use Script everywhere where cwd_at is used, otherwise Python 2.7 is annoying
> The given sys_path gets converted to unicode now in py2
> Try to avoid the pth tests not working because of the created virtualenv in tox
> Test if virtualenvs and pth files work
> Move the module name searching to the subprocess
> Move the last test out of test_regressions and delete the file
> Move most of the regression tests into other test files
> Cleanup test_regression tests
> Move test_integration_keywrod to test_api/test_keyword
> Cleanup the docstring tests
> More test_evaluate Script fixtures
> stdlib fixture conversions
> More Script fixture conversions in test_evaluate
> Migrate parso integration to script fixture
> Use Script in more places
> Use the Script fixture more generally
> Differentiate between different Python versions in a specific test
> Start replacing Script calls with a fixture
> Monkeypatch the Unpickler in Python3.3
> Try to pass the environment variable for JEDI_TEST_ENVIRONMENT to pytest over tox
> Correct the two last unicode issues
> Some repr went crazy
> Make it more clear for debugging where dynamic search ended
> Fix pep0484 comments
> Better display of descriptors
> Remove some of the last py27 errors that were caused in combination with 3.6
> Forgot to cast a map to a list
> Fixing more py27 stuff
> More unicode literals
> Use force_unicode for all sys paths
> Add a print_to_stderr function in compatibility
> Some more small improvements for Python 2
> There were a few bugs in the previous commit
> Use unicode in way more cases
> Use unicode always for getting special objects
> Skip the correct tests
> Always use the parser of the environment
> Try to test on travis with different jedi test environment variables
> Try adding more automated tests to travis
> Fix potential issues with py2 analysis
> Check for bytes and unicode in dicts for Python 2
> Eliminate is_py3 usages
> Don't use python_version directly on evaluator anymore
> Use unicode always in getattr
> Fix an issue with the new behavior of special methods
> Fix some more py36 to py27 issues
> Refactor some things regarding Python 2 support
> Also don't cast do a string for other names
> Casting to str is not necessary
> Skip tests according to the current environment
> Remove unused keyword code
> Do more comparisons in the subprocess
> Use unicode in compiled access
> Remove unused code
> Refactor allowed_getattr_callback a bit to not raise random errors.
> The default of one function was not actually used
> The string_name of a Name should always be unicode
> Refactor a bit and force unicode in some places and use an appropriate function name for it
> Fix a test fail because of the unicode changes
> The environment selection had a bug
> More unicode conversions
> Don't use getattr, use the abstractions
> More unicode conversions
> Avoid execution of Jedi in test setup
> Start using a lot more unicode literals for Python 2
> Make it possible to explicitly state the version in pytest for different envs
> Use unicode sys paths always
> Don't cast bytes to strings when unpickling
> By default enable cross Python version tests in tox
> Skip more tests if it's necessary.
> Move the import logic to the subprocess
> Move even more import stuff to a separate function
> Move some import parts around to refactor it
> Make ImplicitNamespaceContext a bit cleaner
> Change two tests that were written in a strange way
> Add a way to skip typing tests in non default environments
> Use better error messages for import errors
> Start using the new virtualenv code
> Start using the correct parser for each environment
> Add a way to specify environments in tox
> Fix sys_path propagation for builtins load_module
> A small refactoring
> Merge branch 'master' into virtualenv
> evaluate/docstrings.py
> Don't import numpydoc in the beginning
> Ignore the build directory for pytest
> Refactor environments a bit
> Make it possible to get the right version parser for a certain environment
> api.virtualenv -> api.environment
> DefaultEnvironment -> get_default_environment
> Better support for searching python environments
> Add an optimization around compiled dir()
> Fix a potential issue in evaluate/stdlib
> Cache the subprocess results
> Remove unit test class from speed tests
> Make get_repr static in access.
> There was a bug in creating modules in a subprocess
> Fix the Python 2.7 tests
> Don't try to pickle ellipsis
> Ignore __main__ modules
> Use builtins_module instead of BUILTINS
> Don't use the pickler modification anymore. That doesn't work in other python versions and was in general a bit hard to do
> Remove the last test failures.
> Get the subprocess mostly working
> Don't use the create function anymore in compiled
> Use even more subprocess accesses
> Use the subprocess access to create acceses
> Use access handles everywhere
> Create a way of accessing access objects through a subprocess
> Use a class instead of a dict in get_special_objects
> Move get_special_object
> Move load_module a bit around
> Move another usage of create to builtin_from_name
> Use sys.modules instead of __import__
> Remove unused code
> Start creating access objects in a different way
> Use create_simple_object for a lot of use cases
> Move some of the compiled.create calls to compiled.builtin_from_name
> Move some stuff from compiled to context
> Remove stuff from CompiledObject that didn't belong there and wasn't used
> create_from_access -> _create_from_access
> Refactor a bit more and remove the parent_context parameter from create_from_access
> Isolate fake stuff a bit more
> Simplify an if
> Rewrite bases
> Use create only for non access objects
> Some simplification of _create_from_access
> Remove the old now unused fake code
> Fake context python code is now not the base for a lot of things anymore. It just gets executed.
> Rename SelfNameFilter to SelfAttributeFilter
> Simplify one if statement
> Refactor LazyInstanceName -> SelfName
> Fix all tests except fake docstring stuff
> Fix a slice test with a better helper function
> Fix a few more tests
> Creating objects works now a bit better but is a huge mess.
> Get a lot of tests passing
> Make params work with access
> Add an access abstraction (only array tests work, yet)
> The check if we should add type completions is now a bit more obvious
> Eliminate CompiledObject.type
> Make some faked things private
> Cleanup some compiled stuff.
> Progress in executing builtin stuff in submodules.
> Exceptions now also work over the subprocess.
> Finally got compiled_objects and the access to them working
> Progress when working with evaluators
> Make the subprocesses work and return the right sys paths for the different versions
> Make it possible to connect to a subprocess to get the sys path
> Subprocess progress
> Use types instead of special objects (see also #988)
> Some subprocess progress
> virtualenv progress
* pythonx/parso 2ca629a...579146b (22):
> Don't test python 2.6 in tox by default, because the newer pip versions don't support it anymore
> Set a release date
> Fix whitespace issues with prefixes
> Use proper leafs for fstring start/end
> Fix a Python 2 related issue.
> Forgot to delete another print. WTF I'm tired
> Unfortunately forgot to delete a print
> Start to write a changelog for 0.2.0
> Merge branch 'fstrings'
> A comparison was slightly off
> Ignore the pytest cache
> Fix an error message change in Python 3.7
> Fix an issue in the diff parser about endmarker newlines
> Remove the copyright for good
> Remove copyright years from documentation. (Closes: #25)
> Fix typo: containes→contains
> tox: use older pytest only for py26/py33
> Merge branch 'master' of github.com:davidhalter/parso
> Don't use a newer pytest version
> The tags should be annotated if possible
> Bump version for the next release
> Use 3.7-dev not 3.7 for travis
Squashed:
* fix: CheckHealth doesn't work in neovim
CheckHealth calls display_debug_info().
However, error occured when loading jedi_vim.jedi.Script('')._evaluator.sys_path,
because Evaluator.sys_path is unavailable variable.
* handle the both the old and new API
Evaluator.project.sys_path is temporary fix, because Evaluator.sys_path is correct API.
So, we handle the both the old and new API in preparation for merging virtualenv branch.