Spaces:
Running
on
Zero
Running
on
Zero
""" | |
This module contains variables with global |jedi| settings. To change the | |
behavior of |jedi|, change the variables defined in :mod:`jedi.settings`. | |
Plugins should expose an interface so that the user can adjust the | |
configuration. | |
Example usage:: | |
from jedi import settings | |
settings.case_insensitive_completion = True | |
Completion output | |
~~~~~~~~~~~~~~~~~ | |
.. autodata:: case_insensitive_completion | |
.. autodata:: add_bracket_after_function | |
Filesystem cache | |
~~~~~~~~~~~~~~~~ | |
.. autodata:: cache_directory | |
Parser | |
~~~~~~ | |
.. autodata:: fast_parser | |
Dynamic stuff | |
~~~~~~~~~~~~~ | |
.. autodata:: dynamic_array_additions | |
.. autodata:: dynamic_params | |
.. autodata:: dynamic_params_for_other_modules | |
.. autodata:: auto_import_modules | |
Caching | |
~~~~~~~ | |
.. autodata:: call_signatures_validity | |
""" | |
import os | |
import platform | |
# ---------------- | |
# Completion Output Settings | |
# ---------------- | |
case_insensitive_completion = True | |
""" | |
Completions are by default case insensitive. | |
""" | |
add_bracket_after_function = False | |
""" | |
Adds an opening bracket after a function for completions. | |
""" | |
# ---------------- | |
# Filesystem Cache | |
# ---------------- | |
if platform.system().lower() == 'windows': | |
_cache_directory = os.path.join( | |
os.getenv('LOCALAPPDATA') or os.path.expanduser('~'), | |
'Jedi', | |
'Jedi', | |
) | |
elif platform.system().lower() == 'darwin': | |
_cache_directory = os.path.join('~', 'Library', 'Caches', 'Jedi') | |
else: | |
_cache_directory = os.path.join(os.getenv('XDG_CACHE_HOME') or '~/.cache', | |
'jedi') | |
cache_directory = os.path.expanduser(_cache_directory) | |
""" | |
The path where the cache is stored. | |
On Linux, this defaults to ``~/.cache/jedi/``, on OS X to | |
``~/Library/Caches/Jedi/`` and on Windows to ``%LOCALAPPDATA%\\Jedi\\Jedi\\``. | |
On Linux, if the environment variable ``$XDG_CACHE_HOME`` is set, | |
``$XDG_CACHE_HOME/jedi`` is used instead of the default one. | |
""" | |
# ---------------- | |
# Parser | |
# ---------------- | |
fast_parser = True | |
""" | |
Uses Parso's diff parser. If it is enabled, this might cause issues, please | |
read the warning on :class:`.Script`. This feature makes it possible to only | |
parse the parts again that have changed, while reusing the rest of the syntax | |
tree. | |
""" | |
_cropped_file_size = int(10e6) # 1 Megabyte | |
""" | |
Jedi gets extremely slow if the file size exceed a few thousand lines. | |
To avoid getting stuck completely Jedi crops the file at some point. | |
One megabyte of typical Python code equals about 20'000 lines of code. | |
""" | |
# ---------------- | |
# Dynamic Stuff | |
# ---------------- | |
dynamic_array_additions = True | |
""" | |
check for `append`, etc. on arrays: [], {}, () as well as list/set calls. | |
""" | |
dynamic_params = True | |
""" | |
A dynamic param completion, finds the callees of the function, which define | |
the params of a function. | |
""" | |
dynamic_params_for_other_modules = True | |
""" | |
Do the same for other modules. | |
""" | |
dynamic_flow_information = True | |
""" | |
Check for `isinstance` and other information to infer a type. | |
""" | |
auto_import_modules = [ | |
'gi', # This third-party repository (GTK stuff) doesn't really work with jedi | |
] | |
""" | |
Modules that will not be analyzed but imported, if they contain Python code. | |
This improves autocompletion for libraries that use ``setattr`` or | |
``globals()`` modifications a lot. | |
""" | |
allow_unsafe_interpreter_executions = True | |
""" | |
Controls whether descriptors are evaluated when using an Interpreter. This is | |
something you might want to control when using Jedi from a Repl (e.g. IPython) | |
Generally this setting allows Jedi to execute __getitem__ and descriptors like | |
`property`. | |
""" | |
# ---------------- | |
# Caching Validity | |
# ---------------- | |
call_signatures_validity = 3.0 | |
""" | |
Finding function calls might be slow (0.1-0.5s). This is not acceptible for | |
normal writing. Therefore cache it for a short time. | |
""" | |