]>
Commit | Line | Data |
---|---|---|
1 | ;ELC\1c\0\0\0 | |
2 | ;;; Compiled | |
3 | ;;; in Emacs version 28.2 | |
4 | ;;; with all optimizations. | |
5 | ||
6 | ||
7 | ||
8 | (byte-code "\300\301!\210\300\302!\210\303\304\305\306\307DD\310\311\312\313\314&\a\210\303\315\305\306\316DD\317\311\320\321\322\313\314& \210\303\323\305\306\324DD\325\311\320\321\322\313\314& \210\303\326\305\306\327DD\330\311\331\321\332\333\334\313\314&\v\210\303\335\305\306\336DD\337\311\340\321\341\313\314& \210\303\342\305\306\343DD\344\311\345\321\346\313\314& \210\303\347\305\306\350DD\351\311\320\313\314&\a\207" [require json pyvenv custom-declare-variable elpy-rpc-maximum-buffer-age funcall function #[0 "\300\207" [300] 1 #1=""] "Seconds after which Elpy automatically closes an unused RPC buffer.\n\nElpy creates RPC buffers over time, depending on python interpreters\nand the project root. When there are many projects being worked on,\nthese can accumulate. Setting this variable to an integer will close\nbuffers and processes when they have not been used for this amount of\nseconds.\n\nSetting this variable to nil will disable the behavior." :type (choice (const :tag "Never" nil) integer) :group elpy elpy-rpc-large-buffer-size #[0 "\300\207" [4096] 1 #1#] "Size for a source buffer up to which it will be sent directly.\n\nThe Elpy RPC protocol uses JSON as the serialization format.\nLarge buffers take a long time to encode, so Elpy can transmit\nthem via temporary files. If a buffer is larger than this value,\nit is sent via a temporary file." integer :safe integerp elpy-rpc-ignored-buffer-size #[0 "\300\207" [102400] 1 #1#] "Size for a source buffer over which Elpy completion will not work.\n\nTo provide completion, Elpy's backends have to parse the whole\nfile every time. For very large files, this is slow, and can make\nEmacs laggy. Elpy will simply not work on buffers larger than\nthis to prevent this from happening." elpy-rpc-python-command #[0 "\b\301=\203\14\0\302\303!\206\1d\0\302\304!\206\1d\0\305\207\302\305!\203\1c\0\305\207\306\207" [system-type windows-nt executable-find "py" "pythonw" "python" "python3"] 2 #1#] "The Python interpreter for the RPC backend.\n\nThis should NOT be an interactive shell like ipython or jupyter.\n\nAs the RPC should be independent of any virtual environment, Elpy\nwill try to use the system interpreter if it exists. If you wish\nto use a specific python interpreter (from a virtual environment\nfor example), set this to the full interpreter path." (choice (const :tag "python" "python") (const :tag "python2" "python2") (const :tag "python3" "python3") (const :tag "pythonw (Python on Windows)" "pythonw") (const :tag "py (other Python on Windows)" "py") (string :tag "Other")) #[257 "\211\300\235\207" [("python" "python2" "python3" "pythonw")] 3 "\n\n(fn VAL)"] :set #[514 "\300\ 2\ 2\"\210\301\302!\205\18\0\302\211\242\303=\262\ 1?\205\18\0\302 \207" [set-default fboundp elpy-rpc-restart autoload] 5 "\n\n(fn VAR VAL)"] elpy-rpc-pythonpath #[0 "\301\b!\207" [load-file-name file-name-directory] 2 #1#] "A directory to add to the PYTHONPATH for the RPC process.\n\nThis should be a directory where the elpy module can be found. If\nthis is nil, it's assumed elpy can be found in the standard path.\nUsually, there is no need to change this." directory file-directory-p elpy-rpc-timeout #[0 "\300\207" [1] 1 #1#] "Number of seconds to wait for a response when blocking.\n\nWhen Elpy blocks Emacs to wait for a response from the RPC\nprocess, it will assume it won't come or wait too long after this\nmany seconds. On a slow computer, or if you have a large project,\nyou might want to increase this.\n\nA setting of nil means to block indefinitely." (choice (const :tag "Block indefinitely" nil) integer) #[257 "\211\250\206\a\0\211?\207" [] 2 "\n\n(fn VAL)"] elpy-rpc-error-timeout #[0 "\300\207" [30] 1 #1#] "Minimum number of seconds between error popups.\n\nWhen Elpy encounters an error in the backend, it will display a\nlengthy description of the problem for a bug report. This hangs\nEmacs for a moment, and can be rather annoying if it happens\nrepeatedly while editing a source file.\n\nIf this variabl is non-nil, Elpy will not display the error\nmessage again within this amount of seconds."] 12) | |
9 | #@84 Call id of the last call to `elpy-rpc`. | |
10 | ||
11 | Used to associate responses to callbacks.\1f | |
12 | (defvar elpy-rpc--call-id 0 (#$ . 4156)) | |
13 | (make-variable-buffer-local 'elpy-rpc--call-id) | |
14 | #@54 Non-nil if the current buffer is an elpy-rpc buffer.\1f | |
15 | (defvar elpy-rpc--buffer-p nil (#$ . 4334)) | |
16 | (make-variable-buffer-local 'elpy-rpc--buffer-p) | |
17 | #@50 The elpy-rpc buffer associated with this buffer.\1f | |
18 | (defvar elpy-rpc--buffer nil (#$ . 4486)) | |
19 | (make-variable-buffer-local 'elpy-rpc--buffer) | |
20 | #@40 The project root used by this backend.\1f | |
21 | (defvar elpy-rpc--backend-library-root nil (#$ . 4630)) | |
22 | (make-variable-buffer-local 'elpy-rpc--backend-library-root) | |
23 | #@46 The Python interpreter used by this backend.\1f | |
24 | (defvar elpy-rpc--backend-python-command nil (#$ . 4792)) | |
25 | (make-variable-buffer-local 'elpy-rpc--backend-python-command) | |
26 | #@94 The callbacks registered for calls to the current backend. | |
27 | ||
28 | This maps call IDs to functions.\1f | |
29 | (defvar elpy-rpc--backend-callbacks nil (#$ . 4964)) | |
30 | (make-variable-buffer-local 'elpy-rpc--backend-callbacks) | |
31 | #@56 The time of the last RPC call issued for this backend.\1f | |
32 | (defvar elpy-rpc--last-call nil (#$ . 5174)) | |
33 | (make-variable-buffer-local 'elpy-rpc--last-call) | |
34 | #@40 The last time an error popup happened.\1f | |
35 | (defvar elpy-rpc--last-error-popup nil (#$ . 5330)) | |
36 | #@35 Whether jedi is available or not.\1f | |
37 | (defvar elpy-rpc--jedi-available nil (#$ . 5427)) | |
38 | (byte-code "\300\301\302\303\304DD\305\306\307\310\311&\a\207" [custom-declare-variable elpy-rpc-virtualenv-path funcall function #[0 "\300\207" [default] 1 ""] "Path to the virtualenv used by the RPC.\n\nCan be `default' (create a dedicated virtualenv in\n\".emacs.d/elpy\"), `system' (use the system environment),\n`current' (use the currently active environment), a virtualenv\npath or a function returning a virtualenv path.\n\nIf the default virtual environment does not exist, it will be\ncreated using `elpy-rpc-python-command' and populated with the\nneeded packages from `elpy-rpc--get-package-list'." :type (choice (const :tag "Dedicated environment" default) (const :tag "Global environment" system) (const :tag "Current environment" current) (string :tag "Virtualenv path") (function :tag "Function returning the virtualenv path")) :group elpy] 8) | |
39 | #@37 Return the default virtualenv path.\1f | |
40 | (defalias 'elpy-rpc-default-virtualenv-path #[0 "\300\301\302!!\207" [expand-file-name locate-user-emacs-file "elpy/rpc-venv"] 3 (#$ . 6376)]) | |
41 | #@40 Return the RPC virutalenv path to use.\1f | |
42 | (defalias 'elpy-rpc-get-virtualenv-path #[0 "\b\303=\203 \0\304 \207\b\305=\204\15\0\b\306=\203&\0\307 !\19\310\311\310\311\312\n!!!!!)\207\b\313=\2038\0\310\311\310\311\312\n!!!!!\207\b;\203A\0\314\b!\207\315\b!\203L\0\314\b !\207\316\317!\207" [elpy-rpc-virtualenv-path exec-path elpy-rpc-python-command default elpy-rpc-default-virtualenv-path system global reverse directory-file-name file-name-directory executable-find current expand-file-name functionp error "Invalid value for `elpy-rpc-virtualenv-path', please set it to a proper value using customize"] 6 (#$ . 6561)]) | |
43 | #@68 Return the list of packages to be installed in the RPC virtualenv.\1f | |
44 | (defalias 'elpy-rpc--get-package-list #[0 "\300 \301\ 1\302\"\203\v\0\303\207\304\207" [elpy-rpc--get-python-version version< "3.6.0" ("jedi" "flake8" "autopep8" "yapf") ("jedi" "flake8" "autopep8" "yapf" "black")] 4 (#$ . 7167)]) | |
45 | #@32 Return the RPC python version.\1f | |
46 | (defalias 'elpy-rpc--get-python-version #[0 "\301\302\303\"r\211q\210\304\305\ 2\"\216\306\b\307\303\307\310%\210eb\210\311\312!\210\313\314!*\207" [elpy-rpc-python-command generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \0\302\300!\207" [V0 buffer-name kill-buffer] 2] call-process nil "--version" re-search-forward "Python \\([0-9.]+\\)" match-string 1] 7 (#$ . 7467)]) | |
47 | #@438 Run BODY with Elpy's RPC virtualenv activated. | |
48 | ||
49 | During the execution of BODY the following variables are available: | |
50 | - `current-environment': current environment path. | |
51 | - `current-environment-binaries': current environment python binaries path. | |
52 | - `current-environment-is-deactivated': non-nil if the current | |
53 | environment has been deactivated (it is not if the RPC environment and | |
54 | the current environment are the same). | |
55 | ||
56 | (fn &rest BODY)\1f | |
57 | (defalias 'with-elpy-rpc-virtualenv-activated '(macro . #[128 "\300\301\302\303\304\305\306\307\310\311\312\313\314\ 6\rBE\315BBB\316BBBFF\207" [if (not (executable-find elpy-rpc-python-command)) (error "Cannot find executable '%s', please set 'elpy-rpc-python-command' to an existing executable." elpy-rpc-python-command) let* ((pyvenv-post-activate-hooks (remq 'elpy-rpc--disconnect pyvenv-post-activate-hooks)) (pyvenv-post-deactivate-hooks (remq 'elpy-rpc--disconnect pyvenv-post-deactivate-hooks)) (venv-was-activated pyvenv-virtual-env) (current-environment-binaries (executable-find elpy-rpc-python-command)) (current-environment (directory-file-name (file-name-directory (directory-file-name (file-name-directory current-environment-binaries))))) (same-venv (or (string= current-environment (elpy-rpc-get-virtualenv-path)) (file-equal-p current-environment (elpy-rpc-get-virtualenv-path)))) current-environment-is-deactivated) (unless same-venv (condition-case err (pyvenv-activate (elpy-rpc-get-or-create-virtualenv)) ((error quit) (if venv-was-activated (pyvenv-activate venv-was-activated) (pyvenv-deactivate)))) (setq current-environment-is-deactivated t)) let (venv-err result) condition-case err setq result progn ((error (setq venv-err (if (stringp err) err (car (cdr err))))) (quit nil)) ((unless same-venv (if venv-was-activated (pyvenv-activate venv-was-activated) (pyvenv-deactivate))) (when venv-err (error venv-err)) result)] 15 (#$ . 7889)])) | |
58 | #@352 Return Elpy's RPC virtualenv. | |
59 | ||
60 | Create the virtualenv if it does not exist yet. | |
61 | Update the virtualenv if the variable `elpy-rpc-python-command' has | |
62 | changed since the virtualenv creation. | |
63 | ||
64 | An additional file `elpy-rpc-python-path-command' is added in the | |
65 | virtualenv directory in order to keep track of the python | |
66 | binaries used to create the virtualenv.\1f | |
67 | (defalias 'elpy-rpc-get-or-create-virtualenv #[0 "\302 \303\ 1!\ 1\205\r\0\ 1\304 \230\305\ 3!\306P\303\ 1!\205.\0\307\310\311\"r\211q\210\312\313\ 2\"\216\314\ 2!\210\315 *\262\ 1\ 3\205:\0\ 2\205:\0\211\b\230?\ 4\203B\0\211\205M\0\ 3\206M\0\316\317\320\ 6\b\"!\ 1\203Z\0\321\ 6\a\311\"\210\322\262\ 6\ 5\204\317\0\211\204i\0\323\324!\210\202\317\0 \323\325\ 4\203t\0\326\202u\0\327\ 6\n#\210\330\ 6\b!\210\3311\271\0\332\ 6\b!\210\307\333\311\"\312\334\ 2\"\216r\211q\210\bc\210)r\211q\210\335\322\211\ 6\b\322\336%\210*\210\337 \ 6 \"\203\262\0\340 \210\341 0\210\202\272\0\210\211\203\307\0\332\342\ 2!!\210\202\312\0\343 \210\323\344!\266\ 2\ 6\ 6\207" [elpy-rpc-python-command pyvenv-virtual-env elpy-rpc-get-virtualenv-path file-exists-p elpy-rpc-default-virtualenv-path file-name-as-directory "elpy-rpc-python-path-command" generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \0\302\300!\207" [V0 buffer-name kill-buffer] 2] insert-file-contents buffer-string y-or-n-p format "`elpy-rpc-virtualenv-path' was set to '%s', but this virtualenv does not exist, create it ? " delete-directory nil message "Please indicate the virtualenv you wish to use with `elpy-rpc-virtualenv-path'." "Elpy is %s the RPC virtualenv ('%s')" "updating" "creating" elpy-rpc--create-virtualenv (quit) pyvenv-activate " *temp file*" #[0 "\301\300!\205 \0\302\300!\207" [V0 buffer-name kill-buffer] 2] write-region 0 file-equal-p elpy-rpc--install-dependencies elpy-rpc-restart directory-file-name pyvenv-deactivate "Done"] 15 (#$ . 9795)]) | |
68 | #@71 Create a virtualenv for the RPC in RPC-VENV-PATH. | |
69 | ||
70 | (fn RPC-VENV-PATH)\1f | |
71 | (defalias 'elpy-rpc--create-virtualenv #[257 "\305\18\306\307\310!\203\r\0\311\310!\210\307\312!\203\17\0\311\312!\210\313 !\204%\0\314\315 \"\210\202#\ 1\316\317\n\"\1a\316\317\v\"\e\f\313 !\320\321\320\321\ 4!!!!\211\322 \230\206H\0\323\ 1\322 \"\306\ 1\204l\0\3241Z\0\325\326 !0\210\202i\0\ 5\203e\0\325\ 6\ 6!\202g\0\327 \266\ 2\330\262\ 1\306\211\3311\377\0\3321\352\0\333 \306\211\211\334\335\336&\a\337U\203\266\0\333 \306\211\211\334\340\336&\a\337U\203\266\0r\341\310!q\210\342 \343\ 6\v\344\260\ 5c\210\333 \306\330\211\334\335\ 6\ f&\a\211\262 )\202\341\0\313\345!\203\336\0r\341\310!q\210\346 \347\ 6\v\344\260\ 5c\210\333\345\306\330\211\350 \ 6\ f&\a\211\262 )\202\341\0\314\351!\211\262\ 200\210\202\ 2\ 10\211;\203\364\0\211\202\367\0\211A@\211\262\ 4\266\ 2\202\ 2\ 1\306\266\ 2\ 3\204\16\ 1\ 6\ 6\203\13\ 1\325\ 6\a!\210\202\16\ 1\327 \210\ 1\203\1e\ 1\314\ 2!\210\266\ 2*\266\ 5\211\337U?\205<\ 1r\310q\210\352\312!\210db\210\353c\210)\314\354!)\207" [elpy-rpc-virtualenv-path elpy-rpc-python-command pyvenv-post-activate-hooks pyvenv-post-deactivate-hooks pyvenv-virtual-env system nil get-buffer " *elpy-virtualenv*" kill-buffer "*elpy-virtualenv*" executable-find error "Cannot find executable '%s', please set 'elpy-rpc-python-command' to an existing executable." remq elpy-rpc--disconnect directory-file-name file-name-directory elpy-rpc-get-virtualenv-path file-equal-p (error quit) pyvenv-activate elpy-rpc-get-or-create-virtualenv pyvenv-deactivate t (quit) (error) call-process "-m" "venv" "-h" 0 "ensurepip" get-buffer-create "Running '" " -m venv " "':\n\n" "virtualenv" "Running 'virtualenv -p " " " "-p" "Elpy needs the 'virtualenv' or 'venv' python packages to create its virtualenv. Please install one of them or disable the dedicated virtualenv with `(setq elpy-rpc-virtualenv-path 'current)`" rename-buffer "\n\nElpy failed to install its dedicated virtualenv due to the above\nerror. If the error details does not help you fixing it, You can\nreport this problem on Elpy repository on github.\nIn the meantime, setting the `elpy-rpc-virtualenv-path' option to\neither `system' or `current' should temporarily fix the issue." "Elpy failed to create its dedicated virtualenv. Please check the `*elpy-virtualenv*' buffer."] 17 (#$ . 11604)]) | |
72 | #@57 Install the RPC dependencies in the current virtualenv.\1f | |
73 | (defalias 'elpy-rpc--install-dependencies #[0 "\301\302!\2032\0\303\304\305\"r\211q\210\306\307\ 2\"\216\310\311!\210\312\313\b\314\305\314\315\316\317\320\321 &\n\322U?\2050\0\310\323\324 \"*\207\310\325!\207" [elpy-rpc-python-command y-or-n-p "Automatically install the RPC dependencies from PyPI (needed for completion, autoformatting and documentation) ? " generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \0\302\300!\207" [V0 buffer-name kill-buffer] 2] message "Elpy is installing the RPC dependencies..." apply call-process nil "-m" "pip" "install" "--upgrade" elpy-rpc--get-package-list 0 "Elpy failed to install some of the RPC dependencies, please use `elpy-config' to install them.\n%s" buffer-string "Some of Elpy's functionnalities will not work, please use `elpy-config' to install the needed python dependencies."] 12 (#$ . 13838)]) | |
74 | #@32 Re-install the RPC virtualenv.\1f | |
75 | (defalias 'elpy-rpc-reinstall-virtualenv #[0 "\301 \b\302=\204\ e\0\b\303=\203\14\0\304\305!\202!\0\306 \ 1\230\204$\0\307\310\311\ 3\"!\205+\0\312\ 1\313\"\210\314 \207" [elpy-rpc-virtualenv-path elpy-rpc-get-virtualenv-path system global error "Cannot reinstall the system environment, please reinstall the necessary packages manually" elpy-rpc-default-virtualenv-path y-or-n-p format "Are you sure you want to reinstall the virtualenv in '%s' (every manual modifications will be lost) ? " delete-directory t elpy-rpc-get-or-create-virtualenv] 5 (#$ . 14757) nil]) | |
76 | #@57 Return t if pip is not installed in the RPC virtualenv.\1f | |
77 | (defalias 'elpy-rpc--pip-missing #[0 "\300\301 !\211\300\302!\303Q\ 1\300\304!\303Q\305\ 2!\206)\0\305\ 1!\206)\0\305\ 2\306P!\206)\0\305\ 1\306P!?\207" [file-name-as-directory elpy-rpc-get-virtualenv-path "Scripts" "pip" "bin" file-exists-p ".exe"] 6 (#$ . 15344)]) | |
78 | #@54 An uninterned symbol marking an Elpy promise object.\1f | |
79 | (defvar elpy-promise-marker (make-symbol "*elpy-promise*") (#$ . 15660)) | |
80 | #@474 Return a new promise. | |
81 | ||
82 | A promise is an object with a success and error callback. If the | |
83 | promise is resolved using `elpy-promise-resolve', the SUCCESS | |
84 | callback is called with the given value. The current buffer is | |
85 | restored, too. | |
86 | ||
87 | If the promise is rejected using `elpy-promise-reject', the ERROR | |
88 | callback is called. For this function, the current buffer is not | |
89 | necessarily restored, as it is also called when the buffer does | |
90 | not exist anymore. | |
91 | ||
92 | (fn SUCCESS &optional ERROR)\1f | |
93 | (defalias 'elpy-promise #[513 "\301\b\ 3\ 3p\302%\207" [elpy-promise-marker vector nil] 8 (#$ . 15793)]) | |
94 | #@54 Return non-nil if OBJ is a promise object. | |
95 | ||
96 | (fn OBJ)\1f | |
97 | (defalias 'elpy-promise-p #[257 "\301\ 1!\205\12\0\211G\302U\205\12\0\211\303H\b=\207" [elpy-promise-marker vectorp 5 0] 3 (#$ . 16372)]) | |
98 | #@56 Return the success callback for PROMISE. | |
99 | ||
100 | (fn PROMISE)\1f | |
101 | (defalias 'elpy-promise-success-callback #[257 "\211\300H\207" [1] 3 (#$ . 16560)]) | |
102 | (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put elpy-promise-success-callback speed -1 put byte-optimizer byte-compile-inline-expand] 5) | |
103 | #@54 Return the error callback for PROMISE. | |
104 | ||
105 | (fn PROMISE)\1f | |
106 | (defalias 'elpy-promise-error-callback #[257 "\211\300H\207" [2] 3 (#$ . 16860)]) | |
107 | (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put elpy-promise-error-callback speed -1 put byte-optimizer byte-compile-inline-expand] 5) | |
108 | #@46 Return the buffer for PROMISE. | |
109 | ||
110 | (fn PROMISE)\1f | |
111 | (defalias 'elpy-promise-buffer #[257 "\211\300H\207" [3] 3 (#$ . 17154)]) | |
112 | (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put elpy-promise-buffer speed -1 put byte-optimizer byte-compile-inline-expand] 5) | |
113 | #@76 Return non-nil if the PROMISE has been resolved or rejected. | |
114 | ||
115 | (fn PROMISE)\1f | |
116 | (defalias 'elpy-promise-resolved-p #[257 "\211\300H\207" [4] 3 (#$ . 17424)]) | |
117 | (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put elpy-promise-resolved-p speed -1 put byte-optimizer byte-compile-inline-expand] 5) | |
118 | #@53 Mark PROMISE as having been resolved. | |
119 | ||
120 | (fn PROMISE)\1f | |
121 | (defalias 'elpy-promise-set-resolved #[257 "\211\300\301I\207" [4 t] 4 (#$ . 17732)]) | |
122 | (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put elpy-promise-set-resolved speed -1 put byte-optimizer byte-compile-inline-expand] 5) | |
123 | #@49 Resolve PROMISE with VALUE. | |
124 | ||
125 | (fn PROMISE VALUE)\1f | |
126 | (defalias 'elpy-promise-resolve #[514 "\ 1\211\300H\262\ 1?\2057\0\301\302\ 3\"\216\ 1\211\303H\262\ 1\211\2054\0\3041.\0r\ 2\211\305H\262\ 1q\210\211\ 2!)0\2024\0\306\ 4\ 2\"\262\ 1\262\ 1)\207" [4 make-closure #[0 "\300\211\301\302I\207" [V0 4 t] 4] 1 (error) 3 elpy-promise-reject] 7 (#$ . 18027)]) | |
127 | #@56 Reject PROMISE because of REASON. | |
128 | ||
129 | (fn PROMISE REASON)\1f | |
130 | (defalias 'elpy-promise-reject #[514 "\ 1\211\300H\262\ 1?\205J\0\301\302\ 3\"\216\ 1\211\303H\262\ 1\211\205G\0\304\ 3\211\305H\262\ 1!\2034\0r\ 2\211\305H\262\ 1q\210\211\ 2!)\202G\0\306\307\310\"r\211q\210\301\311\ 2\"\216\ 1\ 3!*\262\ 1\262\ 1)\207" [4 make-closure #[0 "\300\211\301\302I\207" [V0 4 t] 4] 2 buffer-live-p 3 generate-new-buffer " *temp*" t #[0 "\301\300!\205 \0\302\300!\207" [V0 buffer-name kill-buffer] 2]] 7 (#$ . 18355)]) | |
131 | #@367 Wait for PROMISE to be resolved, for up to TIMEOUT seconds. | |
132 | ||
133 | This will accept process output while waiting. | |
134 | ||
135 | This will wait for the current Elpy RPC process specifically, as | |
136 | Emacs currently has a bug where it can wait for the entire time | |
137 | of the timeout, even if output arrives. | |
138 | ||
139 | See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17647 | |
140 | ||
141 | (fn PROMISE &optional TIMEOUT)\1f | |
142 | (defalias 'elpy-promise-wait #[513 "\211\205\v\0\300\301 \302\ 3!\"\303\304 !\ 3\211\305H\262\ 1?\205-\0\ 1\203%\0\306\301 \ 3\"\205-\0\307\ 1\ 4\"\210\202\ f\0\207" [time-add current-time seconds-to-time get-buffer-process elpy-rpc--get-rpc-buffer 4 time-less-p accept-process-output] 7 (#$ . 18828)]) | |
143 | #@236 Call METHOD with PARAMS in the backend. | |
144 | ||
145 | If SUCCESS and optionally ERROR is given, return immediately and | |
146 | call those when a result is available. Otherwise, wait for a | |
147 | result and return that. | |
148 | ||
149 | (fn METHOD PARAMS &optional SUCCESS ERROR)\1f | |
150 | (defalias 'elpy-rpc #[1026 "\211\204\a\0\300\262\ 1\ 1\203\12\0\301\ 4\ 4\ 4\ 4$\207\302\ 4\ 4\"\207" [elpy-rpc--default-error-callback elpy-rpc--call elpy-rpc--call-blocking] 9 (#$ . 19482)]) | |
151 | #@133 Call METHOD-NAME with PARAMS in the current RPC backend. | |
152 | ||
153 | Returns the result, blocking until this arrived. | |
154 | ||
155 | (fn METHOD-NAME PARAMS)\1f | |
156 | (defalias 'elpy-rpc--call-blocking #[514 "\301C\301C\301C\301C\302\ 6\ 6\ 6\ 6\303\304\ 6\b\ 6\a#\303\305\ 6\b\ 6\a#$\306\ 1\b\"\210\ 3\242\203+\0\307\ 2\242!\207\ 4\242\2033\0\ 2\242\207\310\311\ 6\b\"\207" [elpy-rpc-timeout nil elpy-rpc--call make-closure #[257 "\301\ 1\240\210\300\302\240\207" [V0 V1 t] 3 "\n\n(fn RESULT)"] #[257 "\301\ 1\240\210\300\302\240\207" [V0 V1 t] 3 "\n\n(fn ERR)"] elpy-promise-wait elpy-rpc--default-error-callback error "Timeout during RPC call %s from backend"] 14 (#$ . 19896)]) | |
157 | #@276 Call METHOD-NAME with PARAMS in the current RPC backend. | |
158 | ||
159 | When a result is available, SUCCESS will be called with that | |
160 | value as its sole argument. If an error occurs, ERROR will be | |
161 | called with the error list. | |
162 | ||
163 | Returns a PROMISE object. | |
164 | ||
165 | (fn METHOD-NAME PARAMS SUCCESS ERROR)\1f | |
166 | (defalias 'elpy-rpc--call #[1028 "\303\ 2\ 2\"r\304 q\210\bT\10\305 \11\306\b\ 2\"\210\307\310p!\311\1a\312\313\bB\314\ 6 B\315\ 6 BE!\316P)\"\210)\207" [elpy-rpc--call-id elpy-rpc--last-call json-encoding-pretty-print elpy-promise elpy-rpc--get-rpc-buffer float-time elpy-rpc--register-callback process-send-string get-buffer-process nil json-encode id method params "\n"] 12 (#$ . 20510)]) | |
167 | #@118 Register for PROMISE to be called when CALL-ID returns. | |
168 | ||
169 | Must be called in an elpy-rpc buffer. | |
170 | ||
171 | (fn CALL-ID PROMISE)\1f | |
172 | (defalias 'elpy-rpc--register-callback #[514 "\b\204\b\0\302\303!\210 \204\11\0\304\305\306\"\11\307\ 2\ 2 #\207" [elpy-rpc--buffer-p elpy-rpc--backend-callbacks error "Must be called in RPC buffer" make-hash-table :test equal puthash] 6 (#$ . 21165)]) | |
173 | #@86 Return the RPC buffer associated with the current buffer, | |
174 | creating one if necessary.\1f | |
175 | (defalias 'elpy-rpc--get-rpc-buffer #[0 "\302\b!\204\14\0\303\304 \"\206\13\0\305\304 \"\10\b\207" [elpy-rpc--buffer elpy-rpc-python-command elpy-rpc--process-buffer-p elpy-rpc--find-buffer elpy-library-root elpy-rpc--open] 3 (#$ . 21529)]) | |
176 | #@185 Return non-nil when BUFFER is a live elpy-rpc process buffer. | |
177 | ||
178 | If BUFFER is a buffer for an elpy-rpc process, but the process | |
179 | died, this will kill the process and buffer. | |
180 | ||
181 | (fn BUFFER)\1f | |
182 | (defalias 'elpy-rpc--process-buffer-p #[257 "\211\203\n\0\300\ 1!\204\f\0\301\207\302\303\ 2\"\204\15\0\301\207\304\ 1!\203%\0\305\304\ 2!!\203%\0\306\207\30713\0\310\304\ 2!!0\210\2024\0\210\3111@\0\312\ 1!0\210\202A\0\210\301\207" [buffer-live-p nil buffer-local-value elpy-rpc--buffer-p get-buffer-process process-live-p t (error) kill-process (error) kill-buffer] 4 (#$ . 21854)]) | |
183 | #@100 Return an existing RPC buffer for this project root and command. | |
184 | ||
185 | (fn LIBRARY-ROOT PYTHON-COMMAND)\1f | |
186 | (defalias 'elpy-rpc--find-buffer #[514 "\30027\0\301\ 1!\302 \211\2033\0\211@\303\ 1!\203,\0\304\305\ 2\"\ 5\232\203,\0\304\306\ 2\"\ 3\232\203,\0\307\300\ 2\"\210\ 1A\266\202\202 \0\266\ 2\3100\207" [return executable-find buffer-list elpy-rpc--process-buffer-p buffer-local-value elpy-rpc--backend-library-root elpy-rpc--backend-python-command throw nil] 8 (#$ . 22407)]) | |
187 | #@93 Start a new RPC process and return the associated buffer. | |
188 | ||
189 | (fn LIBRARY-ROOT PYTHON-COMMAND)\1f | |
190 | (defalias 'elpy-rpc--open #[514 "\306 \210\307\b!\204\ e\0\310\311\b\"\207\312\313 \"\19\312\313\n\"\1a\v\307\b!\314\315\314\315\ 4!!!!\211\316 \230\2061\0\317\ 1\316 \"\320\ 1\204W\0\3211C\0\322\323 !0\210\202T\0\ 5\203P\0\322\ 6\ 6!\266\ 2\202T\0\324 \266\ 2\325\262\ 1\320\211\3261\357\0\3271\332\0\307\ 6\b!\330\331\ 6\v\ 6\b#\332\ 1!\320\ 3\204x\0\310\333!\210r\ 1q\210\325\14p\15\ 6\f\16-\ 3\16.\334\16/\3351\245\0\320\336 \1e0\1e1\337\ 3p\ 6\ 6\340\341\342\343&\a*0\202\257\0\344\345\ 2@\ 3A@#\262\ 1\262\ 1\346\ 1\320\"\210\347\ 1\350\"\210\351\ 1\352\"\210\353\ 6\r\ 6\b\205\312\0\ 6\v\354#\210)\ 1\266\204\211\262\ 200\210\202\362\00\211;\203\344\0\211\202\347\0\211A@\211\262\ 4\266\ 2\202\362\0\320\266\ 2\ 3\204\ 6\ 1\ 6\ 6\203\ 3\ 1\322\ 6\a!\210\202\ 6\ 1\324 \210\ 1\203\ e\ 1\310\ 2!\210\262\ 1*\207" [elpy-rpc-python-command pyvenv-post-activate-hooks pyvenv-post-deactivate-hooks pyvenv-virtual-env elpy-rpc--buffer-p elpy-rpc--buffer elpy-rpc--cleanup-buffers executable-find error "Cannot find executable '%s', please set 'elpy-rpc-python-command' to an existing executable." remq elpy-rpc--disconnect directory-file-name file-name-directory elpy-rpc-get-virtualenv-path file-equal-p nil (error quit) pyvenv-activate elpy-rpc-get-or-create-virtualenv pyvenv-deactivate t (quit) (error) format " *elpy-rpc [project:%s environment:%s]*" generate-new-buffer "Can't find Python command, configure `elpy-rpc-python-command'" "/" (error) elpy-rpc--environment start-process "-W" "ignore" "-m" "elpy.__main__" elpy-config-error "Elpy can't start Python (%s: %s)" set-process-query-on-exit-flag set-process-sentinel elpy-rpc--sentinel set-process-filter elpy-rpc--filter elpy-rpc-init #[257 "\301\ 1\236A\211\10\207" [elpy-rpc--jedi-available jedi_available] 3 "\n\n(fn RESULT)"] elpy-rpc--backend-library-root elpy-rpc--backend-python-command default-directory process-environment process-connection-type] 21 (#$ . 22862)]) | |
191 | #@60 Close RPC buffers that have not been used in five minutes.\1f | |
192 | (defalias 'elpy-rpc--cleanup-buffers #[0 "\b\205J\0\301 \bZ\302 \211\205F\0\211@\303\ 1!\203?\0\304\305\ 2\"\206\1e\0\ 2\ 3W\203?\0\30611\0\307\310\ 2!!0\210\2022\0\210\3111>\0\312\ 1!0\210\202?\0\210\ 1A\266\202\202\n\0\262\ 1\262\ 1\207" [elpy-rpc-maximum-buffer-age float-time buffer-list elpy-rpc--process-buffer-p buffer-local-value elpy-rpc--last-call (error) kill-process get-buffer-process (error) kill-buffer] 6 (#$ . 24745)]) | |
193 | #@204 The sentinel for the RPC process. | |
194 | ||
195 | As process sentinels are only ever called when the process | |
196 | terminates, this will call the error handler of all registered | |
197 | RPC calls with the event. | |
198 | ||
199 | (fn PROCESS EVENT)\1f | |
200 | (defalias 'elpy-rpc--sentinel #[514 "\301\ 2!\302\ 2\303\304OD\ 1\205'\0\305\ 2!\205'\0r\ 1q\210\b\205&\0\306\307\310\ 3\"\b\"\210\311\211\10)\207" [elpy-rpc--backend-callbacks process-buffer process-sentinel 0 -1 buffer-live-p maphash make-closure #[514 "\3011\n\0\302\ 1\300\"0\207\210\303\207" [V0 (error) elpy-promise-reject nil] 5 "\n\n(fn CALL-ID PROMISE)"] nil] 8 (#$ . 25215)]) | |
201 | #@54 The filter for the RPC process. | |
202 | ||
203 | (fn PROCESS OUTPUT)\1f | |
204 | (defalias 'elpy-rpc--filter #[514 "\303\ 2!\211\205\253\0\304\ 1!\205\253\0r\211q\210db\210\ 1c\210eb\210\305\306\307\310#\205\252\0`\307\211eb\210\3111N\0\312\307\211\18\19\1a\313 +\262\ 2\ 1<\203G\0`T\262\ 3\310\211\262\ 2\202I\0eb0\210\202R\0eb\266\ 2\211\203b\0e\ 3|\210\314\ 2!\266\ 4\202\17\0\315\316!\203t\0\317\320!\210\321\322!\266\ 4\202\17\0\315\323!\203\211\0\324\325!\317\320!\210\321\ 1!\266\ 5\202\17\0\315\326!\203\233\0\317\320!\210\327\330!\266\ 4\202\17\0e\ 3{e\ 4|\210\331\ 1!\266\ 5\202\17\0)\207" [json-encoding-pretty-print json-false json-array-type process-buffer buffer-live-p search-forward "\n" nil t (error) list json-read elpy-rpc--handle-json looking-at "elpy-rpc ready\n" replace-match "" elpy-rpc--check-backend-version "1.1" "elpy-rpc ready (\\([^ ]*\\))\n" match-string 1 ".*No module named elpy\n" elpy-config-error "Elpy module not found" elpy-rpc--handle-unexpected-line] 9 (#$ . 25788)]) | |
205 | #@93 Pop up a help buffer named BUFFER-NAME and execute BODY in it. | |
206 | ||
207 | (fn BUFFER-NAME &rest BODY)\1f | |
208 | (defalias 'elpy-insert--popup '(macro . #[385 "\300\ 2\301\302\ 4BBE\207" [with-help-window with-current-buffer standard-output] 7 (#$ . 26704)])) | |
209 | (byte-code "\300\301\302\303#\300\207" [function-put elpy-insert--popup lisp-indent-function 1] 4) | |
210 | #@62 Check that we are using the right version. | |
211 | ||
212 | (fn RPC-VERSION)\1f | |
213 | (defalias 'elpy-rpc--check-backend-version #[257 "\211\b\232?\205\\\0 \306\211\223\210\307\nB\310\vB\e\1a\311 \14\312\313!\211\1d\306\211r\rq\210\314\315!\210\316\317\320\321\322\323\324\325\326&\b\210\327\330\b\327\331\ 6\b\327\261\a)\262\ 1r\ 2q\210\332\ 3\306\"\262\ 2)\333\334!\203W\0\334\ 2\ 2\"\202X\0\211)\266\203*\207" [elpy-version help-window-point-marker temp-buffer-window-setup-hook temp-buffer-window-show-hook help-window-old-frame standard-output nil help-mode-setup help-mode-finish selected-frame temp-buffer-window-setup "*Elpy Version Mismatch*" elpy-insert--header "Elpy Version Mismatch" elpy-insert--para "You are not using the same version of Elpy in Emacs Lisp " "compared to Python. This can cause random problems. Please " "do make sure to use compatible versions.\n\n" "This often happens because you have an obsolete elpy python " "package installed on your system/virtualenv. This package " "shadows the elpy python package shipped with elpy, leading " "to this mismatch. If it is the case, uninstalling the elpy " "python package (with pip for example) should resolve the issue.\n" "\n" "Elpy Emacs Lisp version: " "Elpy Python version....: " temp-buffer-window-show functionp help-window-setup] 13 (#$ . 27044)]) | |
214 | #@96 Handle an unexpected line from the backend. | |
215 | ||
216 | This is usually an error or backtrace. | |
217 | ||
218 | (fn LINE)\1f | |
219 | (defalias 'elpy-rpc--handle-unexpected-line #[257 "\306\307!\211\204S\0\b\310\211\223\210\311 B\312\nB\1a\19\313 \13\314\307!\211\1c\310\211r\fq\210\315\316!\210\317\320\321\322\323\324%\210\315\325!\210p\211\262\ 5)\262\ 1r\ 2q\210\326\ 3\310\"\262\ 2)\327\330!\203O\0\330\ 2\ 2\"\210)\266\ 3*r\211q\210db\210\331\1d\ 1c*\207" [help-window-point-marker temp-buffer-window-setup-hook temp-buffer-window-show-hook help-window-old-frame standard-output inhibit-read-only get-buffer "*Elpy Output*" nil help-mode-setup help-mode-finish selected-frame temp-buffer-window-setup elpy-insert--header "Output from Backend" elpy-insert--para "There was some unexpected output from the Elpy backend. " "This is usually not a problem and should usually not be " "reported as a bug with Elpy. You can safely hide this " "buffer and ignore it. You can also see the output below " "in case there is an actual problem.\n\n" "Output" temp-buffer-window-show functionp help-window-setup t] 11 (#$ . 28325)]) | |
220 | #@62 Handle a single JSON object from the RPC backend. | |
221 | ||
222 | (fn JSON)\1f | |
223 | (defalias 'elpy-rpc--handle-json #[257 "\301\ 1\236A\302\ 2\236A\303\ 3\236A\304\ 3\b\"\211\204\19\0\302\305\ 5\"\210\306\ 4\b\"\210\ 2\203'\0\307\ 1\ 4\"\207\310\ 1\ 3\"\207" [elpy-rpc--backend-callbacks id error result gethash "Received a response for unknown call-id %s" remhash elpy-promise-reject elpy-promise-resolve] 8 (#$ . 29386)]) | |
224 | #@59 Display an error from the RPC backend. | |
225 | ||
226 | (fn ERROR-OBJECT)\1f | |
227 | (defalias 'elpy-rpc--default-error-callback #[257 "\211:\203\12\0\211@:\204\12\0\306\ 1@\ 2A\"\207\307\ 1\236A\310\ 2\236A\311\ 3\236A\ 1\247\204(\0\312\313\ 5\"\207\ 1\314W\2033\0\307\315\ 4\"\207\ 1\316W\203>\0\312\317\ 4\"\207\b\203T\0 \203T\0\320 \b\\X\203T\0\307\321\ 4\"\207\n?\205J\ 1\322 \v\323\211\223\210\324\fB\325\rB\1d\1c\326 \16@\327\330!\211\1eA\323\211r\ eAq\210\331\332!\210\333\334\335\336#\210\337\211\261\ 2\210\340\341\342\343\344\341%\210\337\211\345\261\ 3\210\331\346!\210\ 6\ 6\347\261\ 2\210\331\350!\210\351\ 4!\210\352\ 5\236A\211\203\272\0\337c\210\331\353!\210\211c\210\210\354\ 5\236A\211\203\17\ 1\337c\210\331\355!\210\356\ 1\236A\211\204\331\0\357c\266\ 2\202\356\0\211\211\203\354\0\211@\211\337\261\ 2\210\ 1A\266\202\202\332\0\266\ 2\337\345\337\360\337\261\ 5\210\361\ 1\236A\362\ 2\236A\363\ 3\236A\364c\210\365\337\366\ 4\367\337\370\ 6\a\371\372\ 6\f\373\261\f\266\ 4\210i\374U\204!\ 1\337c\210\375c)\262\ 1r\ 2q\210\376\ 3\323\"\262\ 2)\377\201B\0!\203@\ 1\201B\0\ 2\ 2\"\210)\266\ 3*\320 \211\11\262\ 1\207" [elpy-rpc-error-timeout elpy-rpc--last-error-popup elpy-disable-backend-error-display help-window-point-marker temp-buffer-window-setup-hook temp-buffer-window-show-hook signal message code data error "Bad response from RPC: %S" 300 "Elpy warning: %s" 500 "Elpy error: %s" float-time "Elpy error popup ignored, see `elpy-rpc-error-timeout': %s" elpy-config--get-config nil help-mode-setup help-mode-finish selected-frame temp-buffer-window-setup "*Elpy Error*" elpy-insert--header "Elpy Error" elpy-insert--para "The backend encountered an unexpected error. This indicates " "a bug in Elpy. Please open a bug report with the data below " "in the Elpy bug tracker:" "\n" insert-button "https://github.com/jorgenschaefer/elpy/issues/new" action #[257 "\300\301\ 2\302\"!\207" [browse-url button-get url] 5 "\n\n(fn BUTTON)"] url "```\n" "Error Message" "\n\n" "Configuration" elpy-config--insert-configuration-table traceback "Traceback" jedi_debug_info "Jedi Debug Information" debug_info "Jedi did not emit any debug info.\n" "Reproduction:\n" method source script_args "```Python\n" "import jedi\n" "source = '''\\\n" "'''\n" "script = jedi.Script(" ")\n" "script." "()\n" 0 "```" temp-buffer-window-show functionp help-window-old-frame standard-output help-window-setup] 24 (#$ . 29766)]) | |
228 | #@117 Return a `process-environment' for the RPC process. | |
229 | ||
230 | This includes `elpy-rpc-pythonpath' in the PYTHONPATH, if set.\1f | |
231 | (defalias 'elpy-rpc--environment #[0 "\b\203\r\0\306\307\310\b\"!\204\ f\0 \207\311\312!\211\203\1d\0\b\n\ 2Q\202\1e\0\b\313\ 1P\314 \v\315\230\205<\0\316\317\320\f\"\321\322\1d\323\ 3\ 3\ 3#)\266\ 4\324\325D\"B\207" [elpy-rpc-pythonpath process-environment path-separator system-type buffer-file-coding-system inhibit-changing-match-data file-exists-p expand-file-name "elpy/__init__.py" getenv "PYTHONPATH" "PYTHONPATH=" append "windows-nt" "utf-8" format "%s" nil t string-match "PYTHONIOENCODING=utf-8" "PYTHONLEGACYWINDOWSSTDIO=1"] 12 (#$ . 32044)]) | |
232 | #@172 Return the contents of the current buffer. | |
233 | ||
234 | This returns either a string, or a file object for the RPC | |
235 | protocol if the buffer is larger than | |
236 | `elpy-rpc-large-buffer-size'.\1f | |
237 | (defalias 'elpy-rpc--buffer-contents #[0 "\302 \bW\203\n\0\303 \207\304\305!\306\19\307\310\211\ 3\310\311%\210\312\ 1)B\313B\207" [elpy-rpc-large-buffer-size coding-system-for-write buffer-size buffer-string make-temp-file "elpy-rpc-" utf-8 write-region nil :nomessage filename ((delete_after_use . t))] 7 (#$ . 32691)]) | |
238 | #@41 Return the selected region as a string.\1f | |
239 | (defalias 'elpy-rpc--region-contents #[0 "\300 \205\n\0\301 \302 {\207" [use-region-p region-beginning region-end] 2 (#$ . 33182)]) | |
240 | #@43 Disconnect rpc process from elpy buffers.\1f | |
241 | (defalias 'elpy-rpc--disconnect #[0 "\302 \211\205\1a\0\211@r\211q\210\b\203\12\0\303\11)\ 1A\266\202\202\ 2\0\207" [elpy-mode elpy-rpc--buffer buffer-list nil] 3 (#$ . 33359)]) | |
242 | #@28 Restart all RPC processes.\1f | |
243 | (defalias 'elpy-rpc-restart #[0 "\300 \211\2051\0\211@\301\ 1!\203*\0\3021\1c\0\303\304\ 2!!0\210\202\1d\0\210\3051)\0\306\ 1!0\210\202*\0\210\ 1A\266\202\202\ 2\0\207" [buffer-list elpy-rpc--process-buffer-p (error) kill-process get-buffer-process (error) kill-buffer] 5 (#$ . 33571) nil]) | |
244 | #@316 Initialize the backend. | |
245 | ||
246 | This has to be called as the first method, else Elpy won't be | |
247 | able to respond to other calls. | |
248 | ||
249 | +LIBRARY-ROOT is the current project root, | |
250 | +ENVIRONMENT-BINARIES is the path to the python binaries of the environment to work in. | |
251 | ||
252 | (fn LIBRARY-ROOT ENVIRONMENT-BINARIES &optional SUCCESS ERROR)\1f | |
253 | (defalias 'elpy-rpc-init #[1026 "\300\301\302\303\304\ 6\b!B\305\ 6\a\205\13\0\304\ 6\b!BD!\ 4\ 4$\207" [elpy-rpc "init" vector project_root expand-file-name environment] 11 (#$ . 33875)]) | |
254 | #@124 Call the get_calltip API function. | |
255 | ||
256 | Returns a calltip string for the function call at point. | |
257 | ||
258 | (fn &optional SUCCESS ERROR)\1f | |
259 | (defalias 'elpy-rpc-get-calltip #[512 "\302 \bW\205\13\0\303\304 \305 `eZE\ 4\ 4$\207" [elpy-rpc-ignored-buffer-size buffer-file-name buffer-size elpy-rpc "get_calltip" elpy-rpc--buffer-contents] 8 (#$ . 34370)]) | |
260 | #@162 Call the get_calltip_or_oneline_doc API function. | |
261 | ||
262 | Returns a calltip string or a oneline docstring for the function call at point. | |
263 | ||
264 | (fn &optional SUCCESS ERROR)\1f | |
265 | (defalias 'elpy-rpc-get-calltip-or-oneline-docstring #[512 "\302 \bW\205\13\0\303\304 \305 `eZE\ 4\ 4$\207" [elpy-rpc-ignored-buffer-size buffer-file-name buffer-size elpy-rpc "get_calltip_or_oneline_docstring" elpy-rpc--buffer-contents] 8 (#$ . 34705)]) | |
266 | #@137 Call the get_oneline_docstring API function. | |
267 | ||
268 | Returns a oneline docstring string for the symbol at point. | |
269 | ||
270 | (fn &optional SUCCESS ERROR)\1f | |
271 | (defalias 'elpy-rpc-get-oneline-docstring #[512 "\302 \bW\205\13\0\303\304 \305 `eZE\ 4\ 4$\207" [elpy-rpc-ignored-buffer-size buffer-file-name buffer-size elpy-rpc "get_oneline_docstring" elpy-rpc--buffer-contents] 8 (#$ . 35120)]) | |
272 | #@142 Call the get_completions API function. | |
273 | ||
274 | Returns a list of possible completions for the Python symbol at | |
275 | point. | |
276 | ||
277 | (fn &optional SUCCESS ERROR)\1f | |
278 | (defalias 'elpy-rpc-get-completions #[512 "\302 \bW\205\1e\0\303\304\305\306 !\"?\205\1e\0\307\310 \311 `eZE\ 4\ 4$\207" [elpy-rpc-ignored-buffer-size buffer-file-name buffer-size string-match "^[0-9]+$" symbol-name symbol-at-point elpy-rpc "get_completions" elpy-rpc--buffer-contents] 8 (#$ . 35488)]) | |
279 | #@119 Call the get_completion_docstring API function. | |
280 | ||
281 | Returns a doc string or nil | |
282 | ||
283 | (fn COMPLETION &optional SUCCESS ERROR)\1f | |
284 | (defalias 'elpy-rpc-get-completion-docstring #[769 "\300\301\ 4C\ 4\ 4$\207" [elpy-rpc "get_completion_docstring"] 8 (#$ . 35928)]) | |
285 | #@142 Call the get_completion_location API function. | |
286 | ||
287 | Returns a list of file name and line number, or nil | |
288 | ||
289 | (fn COMPLETION &optional SUCCESS ERROR)\1f | |
290 | (defalias 'elpy-rpc-get-completion-location #[769 "\300\301\ 4C\ 4\ 4$\207" [elpy-rpc "get_completion_location"] 8 (#$ . 36179)]) | |
291 | #@115 Call the find_definition API function. | |
292 | ||
293 | Returns nil or a list of (filename, point). | |
294 | ||
295 | (fn &optional SUCCESS ERROR)\1f | |
296 | (defalias 'elpy-rpc-get-definition #[512 "\301\302\b\303 `eZE\ 4\ 4$\207" [buffer-file-name elpy-rpc "get_definition" elpy-rpc--buffer-contents] 8 (#$ . 36451)]) | |
297 | #@115 Call the find_assignment API function. | |
298 | ||
299 | Returns nil or a list of (filename, point). | |
300 | ||
301 | (fn &optional SUCCESS ERROR)\1f | |
302 | (defalias 'elpy-rpc-get-assignment #[512 "\301\302\b\303 `eZE\ 4\ 4$\207" [buffer-file-name elpy-rpc "get_assignment" elpy-rpc--buffer-contents] 8 (#$ . 36729)]) | |
303 | #@134 Call the get_docstring API function. | |
304 | ||
305 | Returns a possible multi-line docstring for the symbol at point. | |
306 | ||
307 | (fn &optional SUCCESS ERROR)\1f | |
308 | (defalias 'elpy-rpc-get-docstring #[512 "\301\302\b\303 `eZE\ 4\ 4$\207" [buffer-file-name elpy-rpc "get_docstring" elpy-rpc--buffer-contents] 8 (#$ . 37007)]) | |
309 | #@104 Return a list of modules available in pydoc starting with PREFIX. | |
310 | ||
311 | (fn PREFIX &optional SUCCESS ERROR)\1f | |
312 | (defalias 'elpy-rpc-get-pydoc-completions #[769 "\300\301\ 4C\ 4\ 4$\207" [elpy-rpc "get_pydoc_completions"] 8 (#$ . 37302)]) | |
313 | #@120 Get the Pydoc documentation for SYMBOL. | |
314 | ||
315 | Returns a possible multi-line docstring. | |
316 | ||
317 | (fn SYMBOL &optional SUCCESS ERROR)\1f | |
318 | (defalias 'elpy-rpc-get-pydoc-documentation #[769 "\300\301\ 4C\ 4\ 4$\207" [elpy-rpc "get_pydoc_documentation"] 8 (#$ . 37532)]) | |
319 | #@79 Return the symbol under point usages as a list. | |
320 | ||
321 | (fn &optional SUCCESS ERROR)\1f | |
322 | (defalias 'elpy-rpc-get-usages #[512 "\301\302\b\303 `eZE\ 4\ 4$\207" [buffer-file-name elpy-rpc "get_usages" elpy-rpc--buffer-contents] 8 (#$ . 37781)]) | |
323 | #@97 Return all names (possible candidates for jumping to definition). | |
324 | ||
325 | (fn &optional SUCCESS ERROR)\1f | |
326 | (defalias 'elpy-rpc-get-names #[512 "\301\302\b\303 `eZE\ 4\ 4$\207" [buffer-file-name elpy-rpc "get_names" elpy-rpc--buffer-contents] 8 (#$ . 38014)]) | |
327 | #@113 Return the diffs resulting from renaming the thing at point to NEW-NAME. | |
328 | ||
329 | (fn NEW-NAME &optional SUCCESS ERROR)\1f | |
330 | (defalias 'elpy-rpc-get-rename-diff #[769 "\301\302\b\303 `eZ\ 6\aF\ 4\ 4$\207" [buffer-file-name elpy-rpc "get_rename_diff" elpy-rpc--buffer-contents] 9 (#$ . 38264)]) | |
331 | #@147 Return the diffs resulting from renaming the thing at point to NEW-NAME. | |
332 | ||
333 | (fn NEW-NAME BEG-LINE END-LINE BEG-COL END-COL &optional SUCCESS ERROR)\1f | |
334 | (defalias 'elpy-rpc-get-extract-variable-diff #[1797 "\301\302\b\303 `eZ\ 6\v\ 6\v\ 6\v\ 6\v\ 6\v\257\b\ 4\ 4$\207" [buffer-file-name elpy-rpc "get_extract_variable_diff" elpy-rpc--buffer-contents] 17 (#$ . 38544)]) | |
335 | #@147 Return the diffs resulting from renaming the thing at point to NEW-NAME. | |
336 | ||
337 | (fn NEW-NAME BEG-LINE END-LINE BEG-COL END-COL &optional SUCCESS ERROR)\1f | |
338 | (defalias 'elpy-rpc-get-extract-function-diff #[1797 "\301\302\b\303 `eZ\ 6\v\ 6\v\ 6\v\ 6\v\ 6\v\257\b\ 4\ 4$\207" [buffer-file-name elpy-rpc "get_extract_function_diff" elpy-rpc--buffer-contents] 17 (#$ . 38892)]) | |
339 | #@96 Return the diffs resulting from inlineing the variable at point. | |
340 | ||
341 | (fn &optional SUCCESS ERROR)\1f | |
342 | (defalias 'elpy-rpc-get-inline-diff #[512 "\301\302\b\303 `eZE\ 4\ 4$\207" [buffer-file-name elpy-rpc "get_inline_diff" elpy-rpc--buffer-contents] 8 (#$ . 39239)]) | |
343 | (provide 'elpy-rpc) |