]> crepu.dev Git - config.git/blame_incremental - djavu-asus/elpa/elpy-20230803.1455/elpy.elc
Configuracion en desarrollo PC pega
[config.git] / djavu-asus / elpa / elpy-20230803.1455 / elpy.elc
... / ...
CommitLineData
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\300\303!\210\300\304!\210\300\305!\210\300\306!\210\300\307!\210\300\310!\210\300\311!\210\300\312\313\314#\210\300\315!\210\300\316!\210\300\317!\210\300\320!\210\300\321!\210\300\322!\210\300\323!\207" [require cus-edit etags files-x grep hideshow ido json python subr-x xref nil t cl-lib elpy-refactor elpy-django elpy-profile elpy-shell elpy-rpc pyvenv] 4)
9#@36 The version of the Elpy Lisp code.\1f
10(defconst elpy-version "1.35.0" (#$ . 484))
11(byte-code "\300\301\302\303\304\305\306\307&\a\210\310\311\312\313\314DD\315\316\317\320\321\306\301& \210\310\322\312\313\323DD\324\316\325\306\301&\a\210\310\326\312\313\327DD\330\316\331\332\333\306\301& \207" [custom-declare-group elpy nil "The Emacs Lisp Python Environment." :prefix "elpy-" :group languages custom-declare-variable elpy-mode-hook funcall function #[0 "\300\207" [nil] 1 #1=""] "Hook run when `elpy-mode' is enabled.\n\nThis can be used to enable minor modes for Python development." :type hook :options (subword-mode hl-line-mode) elpy-modules #[0 "\300\207" [(elpy-module-sane-defaults elpy-module-company elpy-module-eldoc elpy-module-flymake elpy-module-highlight-indentation elpy-module-pyvenv elpy-module-yasnippet elpy-module-django)] 1 #1#] "Which Elpy modules to use.\n\nElpy can use a number of modules for additional features, which\ncan be individually enabled or disabled." (set (const :tag "Inline code completion (company-mode)" elpy-module-company) (const :tag "Show function signatures (ElDoc)" elpy-module-eldoc) (const :tag "Highlight syntax errors (Flymake)" elpy-module-flymake) (const :tag "Code folding" elpy-module-folding) (const :tag "Show the virtualenv in the mode line (pyvenv)" elpy-module-pyvenv) (const :tag "Display indentation markers (highlight-indentation)" elpy-module-highlight-indentation) (const :tag "Expand code snippets (YASnippet)" elpy-module-yasnippet) (const :tag "Django configurations (Elpy-Django)" elpy-module-django) (const :tag "Automatically update documentation (Autodoc)." elpy-module-autodoc) (const :tag "Configure some sane defaults for Emacs" elpy-module-sane-defaults)) elpy-project-ignored-directories #[0 "\300\207" [(".tox" "build" "dist" ".cask" ".ipynb_checkpoints")] 1 #1#] "Directories ignored by functions working on the whole project.\nThis is in addition to `vc-directory-exclusion-list'\nand `grep-find-ignored-directories', as appropriate." (repeat string) :safe #[257 "\300\301\ 2\"\207" [cl-every stringp] 4 "\n\n(fn VAL)"]] 10)
12#@166 Compute the list of ignored directories for project.
13Combines
14 `elpy-project-ignored-directories'
15 `vc-directory-exclusion-list'
16 `grep-find-ignored-directories'\1f
17(defalias 'elpy-project-ignored-directories #[0 "\303\304\b \305\306!\203\11\0\306\307 !\202\17\0\310\311\312\n!\"#!\207" [elpy-project-ignored-directories vc-directory-exclusion-list grep-find-ignored-directories delete-dups append fboundp rgrep-find-ignored-directories elpy-project-root cl-delete-if-not stringp cl-copy-list] 8 (#$ . 2593)])
18(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313& \210\314\301!\210\300\315\302\303\316DD\317\306\320\312\313&\a\210\321\322\323\324#\210\300\323\302\303\325DD\326\306\327\312\313&\a\210\300\330\302\303\331DD\332\306\333\312\313&\a\210\300\334\302\303\335DD\336\306\327\312\313&\a\210\300\337\302\303\340DD\341\306\342\312\313&\a\210\300\343\302\303\344DD\345\306\327\312\313&\a\210\300\346\302\303\347DD\350\306\351\310\352\312\313& \210\300\353\302\303\354DD\355\306\356\312\313&\a\210\300\357\302\303\360DD\361\306\362\312\313&\a\210\300\363\302\303\364DD\365\306\366\312\313&\a\210\300\367\302\303\370DD\371\306\372\312\313&\a\210\300\373\302\303\374DD\375\306\376\312\313&\a\210\300\377\302\303\201@\0DD\201A\0\306\201B\0\312\313&\a\210\300\201C\0\302\303\201D\0DD\201E\0\306\201B\0\312\313&\a\210\300\201F\0\302\303\201G\0DD\201H\0\306\327\312\313&\a\210\300\201I\0\302\303\201J\0DD\201K\0\306\201L\0\312\313&\a\210\300\201M\0\302\303\201N\0DD\201O\0\306\201B\0\312\313&\a\207" [custom-declare-variable elpy-project-root funcall function #[0 "\300\207" [nil] 1 #1=""] "The root of the project the current buffer is in.\n\nThere is normally no use in setting this variable directly, as\nElpy tries to detect the project root automatically. See\n`elpy-project-root-finder-functions' for a way of influencing\nthis.\n\nSetting this variable globally will override Elpy's automatic\nproject detection facilities entirely.\n\nAlternatively, you can set this in file- or directory-local\nvariables using \\[add-file-local-variable] or\n\\[add-dir-local-variable].\n\nDo not use this variable in Emacs Lisp programs. Instead, call\nthe `elpy-project-root' function. It will do the right thing." :type directory :safe file-directory-p :group elpy make-variable-buffer-local elpy-project-root-finder-functions #[0 "\300\207" [(elpy-project-find-projectile-root elpy-project-find-python-root elpy-project-find-git-root elpy-project-find-hg-root elpy-project-find-svn-root)] 1 #1#] "List of functions to ask for the current project root.\n\nThese will be checked in turn. The first directory found is used." (set (const :tag "Projectile project root" elpy-project-find-projectile-root) (const :tag "Python project (setup.py, setup.cfg)" elpy-project-find-python-root) (const :tag "Git repository root (.git)" elpy-project-find-git-root) (const :tag "Mercurial project root (.hg)" elpy-project-find-hg-root) (const :tag "Subversion project root (.svn)" elpy-project-find-svn-root) (const :tag "Django project root (manage.py, django-admin.py)" elpy-project-find-django-root)) make-obsolete-variable elpy-company-hide-modeline elpy-remove-modeline-lighter "1.10.0" #[0 "\300\207" [t] 1 #1#] "Non-nil if Elpy should remove most mode line display.\n\nModeline shows many minor modes currently active. For Elpy, this is mostly\nuninteresting information, but if you rely on your modeline in other modes,\nyou might want to keep it." boolean elpy-company-post-completion-function #[0 "\300\207" [ignore] 1 #1#] "Your preferred Company post completion function.\n\nElpy can automatically insert parentheses after completing\ncallable objects.\n\nThe heuristic on when to insert these parentheses can easily be\nwrong, though, so this is disabled by default. Set this variable\nto the function `elpy-company-post-complete-parens' to enable\nthis feature." (choice (const :tag "Ignore post complete" ignore) (const :tag "Complete callables with parens" elpy-company-post-complete-parens) (function :tag "Other function")) elpy-get-info-from-shell #[0 "\300\207" [nil] 1 #1#] "If t, use the shell to gather docstrings and completions.\n\nNormally elpy provides completion and documentation using static code analysis (from jedi). With this option set to t, elpy will add the completion candidates and the docstrings from the associated python shell; This activates fallback completion candidates for cases when static code analysis fails." elpy-get-info-from-shell-timeout #[0 "\300\207" [1] 1 #1#] "Timeout (in seconds) for gathering information from the shell." number elpy-eldoc-show-current-function #[0 "\300\207" [t] 1 #1#] "If true, show the current function if no calltip is available.\n\nWhen Elpy can not find the calltip of the function call at point,\nit can show the name of the function or class and method being\nedited instead. Setting this variable to nil disables this feature." elpy-test-runner #[0 "\300\207" [elpy-test-discover-runner] 1 #1#] "The test runner to use to run tests." (choice (const :tag "Unittest Discover" elpy-test-discover-runner) (const :tag "Green" elpy-test-green-runner) (const :tag "Django Discover" elpy-test-django-runner) (const :tag "Nose" elpy-test-nose-runner) (const :tag "py.test" elpy-test-pytest-runner) (const :tag "Twisted Trial" elpy-test-trial-runner)) elpy-test-runner-p elpy-test-discover-runner-command #[0 "\300\207" [("python-shell-interpreter" "-m" "unittest")] 1 #1#] "The command to use for `elpy-test-discover-runner'.\nIf the string \"python-shell-interpreter\" is present, it will be replaced with\nthe value of `python-shell-interpreter'." (repeat string) elpy-test-green-runner-command #[0 "\300\207" [("green")] 1 #1#] "The command to use for `elpy-test-green-runner'." (repeat string) elpy-test-nose-runner-command #[0 "\300\207" [("nosetests")] 1 #1#] "The command to use for `elpy-test-nose-runner'." (repeat string) elpy-test-trial-runner-command #[0 "\300\207" [("trial")] 1 #1#] "The command to use for `elpy-test-trial-runner'." (repeat string) elpy-test-pytest-runner-command #[0 "\300\207" [("py.test")] 1 #1#] "The command to use for `elpy-test-pytest-runner'." (repeat string) elpy-test-compilation-function #[0 "\300\207" [compile] 1 #1#] "Function used by `elpy-test-run' to run a test command.\n\nThe function should behave similarly to `compile'. Another good\noption is `pdb'." string elpy-rgrep-file-pattern #[0 "\300\207" ["*.py"] 1 #1#] "FILES to use for `elpy-rgrep-symbol'." elpy-disable-backend-error-display #[0 "\300\207" [t] 1 #1#] "Non-nil if Elpy should disable backend error display." elpy-formatter #[0 "\300\207" [nil] 1 #1#] "Auto formatter used by `elpy-format-code'.\n\nif nil, use the first formatter found amongst\n`yapf' , `autopep8' and `black'." (choice (const :tag "First one found" nil) (const :tag "Yapf" yapf) (const :tag "autopep8" autopep8) (const :tag "Black" black)) elpy-syntax-check-command #[0 "\300\207" ["flake8"] 1 #1#] "The command to use for `elpy-check'."] 10)
19#@35 Key map for the refactor command.\1f
20(defvar elpy-refactor-map (byte-code "\300\301!\302\ 1\303\304\305\306\303\307\310#\"\311B#\210\302\ 1\312\304\313\306\312\307\310#\"\314B#\210\302\ 1\315\304\316\306\315\307\310#\"\317B#\210\302\ 1\320\304\321\306\320\307\310#\"\322B#\210\207" [make-sparse-keymap "Refactor" define-key "i" format "%snline" propertize face bold elpy-refactor-inline "f" "%sunction extraction" elpy-refactor-extract-function "v" "%sariable extraction" elpy-refactor-extract-variable "r" "%sename" elpy-refactor-rename] 10) (#$ . 9555))
21#@48 Key map for the Emacs Lisp Python Environment.\1f
22(defvar elpy-mode-map (byte-code "\302 \303\ 1\304\305#\210\303\ 1\306\307#\210\303\ 1\310\311#\210\303\ 1\312\313#\210\303\ 1\314\315#\210\303\ 1\316\317#\210\303\ 1\320\321#\210\303\ 1\322\323#\210\303\ 1\324\325#\210\303\ 1\326\327#\210\303\ 1\330\331#\210\303\ 1\332\333#\210\303\ 1\334\335#\210\303\ 1\336\337#\210\303\ 1\340\341#\210\303\ 1\342\343#\210\303\ 1\344\345#\210\303\ 1\346\347#\210\303\ 1\346\350#\210\303\ 1\351\b#\210\303\ 1\352 #\210\303\ 1\353\354#\210\303\ 1\355\356#\210\303\ 1\357\360#\210\303\ 1\361\362#\210\303\ 1\363\364#\210\303\ 1\365\366#\210\303\ 1\367\370#\210\303\ 1\371\372#\210\303\ 1\373\374#\210\303\ 1\375\376#\210\303\ 1\377\201@\0#\210\201A\0\201B\0!\204\330\0\303\ 1\201C\0\201D\0#\210\201A\0\201E\0!\204\357\0\303\ 1\201F\0\201G\0#\210\202\371\0\303\ 1\201H\0\201E\0#\210\201A\0\201I\0!\203\r\ 1\303\ 1\201J\0\201I\0#\210\303\ 1\201K\0\201L\0#\210\207" [elpy-refactor-map elpy-django-mode-map make-sparse-keymap define-key "\ 3\r" elpy-importmagic-add-import "\ 3\ 2" elpy-nav-expand-to-indentation "\ 3\ 3" elpy-shell-send-region-or-buffer "\ 3\ 4" elpy-doc "\ 3\ 5" elpy-multiedit-python-symbol-at-point "\ 3\ 6" elpy-find-file "\ 3\ e" elpy-flymake-next-error "\ 3\ f" elpy-occur-definitions "\ 3\10" elpy-flymake-previous-error "\ 3@\ 3" elpy-folding-toggle-at-point "\ 3@\ 2" elpy-folding-toggle-docstrings "\ 3@\r" elpy-folding-toggle-comments "\ 3@\ 6" elpy-folding-hide-leafs "\ 3\13" elpy-rgrep-symbol "\ 3\14" elpy-test "\ 3\16" elpy-check "\ 3\1a" elpy-shell-switch-to-shell "\ 3\v" elpy-shell-kill elpy-shell-kill-all "\ 3\12" "\ 3\18" [S-return] elpy-open-and-indent-line-below [C-S-return] elpy-open-and-indent-line-above [C-return] elpy-shell-send-statement-and-step [C-down] elpy-nav-forward-block [C-up] elpy-nav-backward-block [C-left] elpy-nav-backward-indent [C-right] elpy-nav-forward-indent [M-down] elpy-nav-move-line-or-region-down [M-up] elpy-nav-move-line-or-region-up [M-left] elpy-nav-indent-shift-left [M-right] elpy-nav-indent-shift-right fboundp xref-find-definitions [134217774] elpy-goto-definition xref-find-definitions-other-window [24 52 134217774] elpy-goto-definition-other-window [24 52 134217774] xref-pop-marker-stack [134217770] [134217737] elpy-company-backend] 5) (#$ . 10106))
23#@41 Key map for the shell related commands.\1f
24(defvar elpy-shell-map (byte-code "\300 \301\ 1\302\303#\210\301\ 1\304\305#\210\301\ 1\306\307#\210\301\ 1\310\311#\210\301\ 1\312\313#\210\301\ 1\314\315#\210\301\ 1\316\317#\210\301\ 1\320\321#\210\301\ 1\322\323#\210\301\ 1\324\325#\210\301\ 1\326\327#\210\301\ 1\330\331#\210\301\ 1\332\333#\210\301\ 1\334\335#\210\301\ 1\336\337#\210\301\ 1\340\341#\210\301\ 1\342\343#\210\301\ 1\344\345#\210\301\ 1\346\347#\210\301\ 1\350\351#\210\301\ 1\352\353#\210\301\ 1\354\355#\210\301\ 1\356\357#\210\301\ 1\360\361#\210\301\ 1\362\363#\210\301\ 1\364\365#\210\301\ 1\366\367#\210\301\ 1\370\371#\210\301\ 1\372\373#\210\301\ 1\374\375#\210\301\ 1\376\377#\210\301\ 1\201@\0\201A\0#\210\207" [make-sparse-keymap define-key "e" elpy-shell-send-statement "E" elpy-shell-send-statement-and-go "s" elpy-shell-send-top-statement "S" elpy-shell-send-top-statement-and-go "f" elpy-shell-send-defun "F" elpy-shell-send-defun-and-go "c" elpy-shell-send-defclass "C" elpy-shell-send-defclass-and-go "o" elpy-shell-send-group "O" elpy-shell-send-group-and-go "w" elpy-shell-send-codecell "W" elpy-shell-send-codecell-and-go "r" elpy-shell-send-region-or-buffer "R" elpy-shell-send-region-or-buffer-and-go "b" elpy-shell-send-buffer "B" elpy-shell-send-buffer-and-go "\ 5" elpy-shell-send-statement-and-step [33554437] elpy-shell-send-statement-and-step-and-go "\13" elpy-shell-send-top-statement-and-step [33554451] elpy-shell-send-top-statement-and-step-and-go "\ 6" elpy-shell-send-defun-and-step [33554438] elpy-shell-send-defun-and-step-and-go "\ 3" elpy-shell-send-defclass-and-step [33554435] elpy-shell-send-defclass-and-step-and-go "\ f" elpy-shell-send-group-and-step [33554447] elpy-shell-send-group-and-step-and-go "\17" elpy-shell-send-codecell-and-step [33554455] elpy-shell-send-codecell-and-step-and-go "\12" elpy-shell-send-region-or-buffer-and-step [33554450] elpy-shell-send-region-or-buffer-and-step-and-go "\ 2" elpy-shell-send-buffer-and-step [33554434] elpy-shell-send-buffer-and-step-and-go] 5) (#$ . 12250))
25(byte-code "\300\bM\210\301\302\303\304\305DD\306\307\310\311\312\313\314& \207" [elpy-shell-map custom-declare-variable elpy-shell-command-prefix-key funcall function #[0 "\300\207" ["C-c C-y"] 1 ""] "Prefix key used to call elpy shell related commands.\n\nThis option need to bet set through `customize' or `customize-set-variable' to be taken into account." :type string :group elpy :set #[514 "\301\ 2!\203\14\0\ 1J\203\14\0\302\b\303\ 4J!\304#\210\211\205#\0\302\b\303\ 3!\305#\210\ 1\ 1L\207" [elpy-mode-map boundp define-key kbd nil elpy-shell-map] 6 "\n\n(fn VAR KEY)"]] 10)
26#@41 Key map for the shell related commands.\1f
27(defvar elpy-pdb-map (byte-code "\300 \301\ 1\302\303#\210\301\ 1\304\305#\210\301\ 1\306\307#\210\301\ 1\310\311#\210\207" [make-sparse-keymap define-key "d" elpy-pdb-debug-buffer "p" elpy-pdb-break-at-point "e" elpy-pdb-debug-last-exception "b" elpy-pdb-toggle-breakpoint-at-point] 5) (#$ . 14796))
28(byte-code "\300\bM\210\302 \303\300#\207" [elpy-pdb-map elpy-mode-map define-key "\ 3\15"] 4)
29#@16 Elpy Mode Menu\1f
30(defvar elpy-menu nil (#$ . 15225))
31(easy-menu-do-define 'elpy-menu elpy-mode-map "Elpy Mode Menu" '("Elpy" ["Documentation" elpy-doc :help "Get documentation for symbol at point"] ["Run Tests" elpy-test :help "Run test at point, or all tests in the project"] ["Go to Definition" elpy-goto-definition :help "Go to the definition of the symbol at point"] ["Go to previous definition" pop-tag-mark :active (if (version< emacs-version "25.1") (not (ring-empty-p find-tag-marker-ring)) (> xref-marker-ring-length 0)) :help "Return to the position"] ["Complete" elpy-company-backend :keys "M-TAB" :help "Complete at point"] ["Refactor" elpy-refactor :help "Refactor options"] "---" ("Interactive Python" ["Switch to Python Shell" elpy-shell-switch-to-shell :help "Start and switch to the interactive Python"] ["Send Region or Buffer" elpy-shell-send-region-or-buffer :label (if (use-region-p) "Send Region to Python" "Send Buffer to Python") :help "Send the current region or the whole buffer to Python"] ["Send Definition" elpy-shell-send-defun :help "Send current definition to Python"] ["Kill Python shell" elpy-shell-kill :help "Kill the current Python shell"] ["Kill all Python shells" elpy-shell-kill-all :help "Kill all Python shells"]) ("Debugging" ["Debug buffer" elpy-pdb-debug-buffer :help "Debug the current buffer using pdb"] ["Debug at point" elpy-pdb-break-at-point :help "Debug the current buffer and stop at the current position"] ["Debug last exception" elpy-pdb-debug-last-exception :help "Run post-mortem pdb on the last exception"] ["Add/remove breakpoint" elpy-pdb-toggle-breakpoint-at-point :help "Add or remove a breakpoint at the current position"]) ("Project" ["Find File" elpy-find-file :help "Interactively find a file in the current project"] ["Find Symbol" elpy-rgrep-symbol :help "Find occurrences of a symbol in the current project"] ["Set Project Root" elpy-set-project-root :help "Change the current project root"] ["Set Project Variable" elpy-set-project-variable :help "Configure a project-specific option"]) ("Syntax Check" ["Check Syntax" elpy-check :help "Check the syntax of the current file"] ["Next Error" elpy-flymake-next-error :help "Go to the next inline error, if any"] ["Previous Error" elpy-flymake-previous-error :help "Go to the previous inline error, if any"]) ("Code folding" ["Hide/show at point" elpy-folding-toggle-at-point :help "Hide or show the block or docstring at point"] ["Hide/show all docstrings" elpy-folding-toggle-docstrings :help "Hide or show all the docstrings"] ["Hide/show all comments" elpy-folding-toggle-comments :help "Hide or show all the comments"] ["Hide leafs" elpy-folding-hide-leafs :help "Hide all leaf blocks (blocks not containing other blocks)"]) ("Indentation Blocks" ["Dedent" python-indent-shift-left :help "Dedent current block or region" :suffix (if (use-region-p) "Region" "Block")] ["Indent" python-indent-shift-right :help "Indent current block or region" :suffix (if (use-region-p) "Region" "Block")] ["Up" elpy-nav-move-line-or-region-up :help "Move current block or region up" :suffix (if (use-region-p) "Region" "Block")] ["Down" elpy-nav-move-line-or-region-down :help "Move current block or region down" :suffix (if (use-region-p) "Region" "Block")]) "---" ["Configure" elpy-config t]))
32#@25 Is Elpy enabled or not.\1f
33(defvar elpy-enabled-p nil (#$ . 18529))
34#@67 Enable Elpy in all future Python buffers.
35
36(fn &optional IGNORED)\1f
37(defalias 'elpy-enable #[256 "\b?\205\210\0 \305W\203\ f\0\306\307!\210\211\203\17\0\310\311!\210\312\313\314\"\211\203*\0\315\316\ 2\"\203*\0\306\317!\210\210\320 \210\321\n\322\323#\210\324\325\326\"\210\324\327\330\"\210\324\331\330\"\210\324\332\333\"\210\324\334\335\336#\210\337\313\340\341\211\v#\342BC\"\210\336\10\343 \211\205\206\0\211@\315\344\345\ 3!\"\204\7f\0r\211q\210\f\313\230\203~\0\313 \210\326\336!\210)\ 1A\266\202\202^\0\262\ 1\207" [elpy-enabled-p emacs-major-version inferior-python-mode-map elpy-shell-cell-boundary-regexp major-mode 24 error "Elpy requires Emacs 24 or newer" warn "The argument to `elpy-enable' is deprecated, customize `elpy-modules' instead" find-lisp-object-file-name python-mode symbol-function string-match "/python-mode\\.el\\'" "You are using python-mode.el. Elpy only works with python.el from Emacs 24 and above" elpy-modules-global-init define-key "\ 3\1a" elpy-shell-switch-to-buffer add-hook python-mode-hook elpy-mode pyvenv-post-activate-hooks elpy-rpc--disconnect pyvenv-post-deactivate-hooks inferior-python-mode-hook elpy-shell--enable-output-filter python-shell-first-prompt-hook elpy-shell--send-setup-code t font-lock-add-keywords replace-regexp-in-string "\\\\" (0 'elpy-codecell-boundary prepend) buffer-list "^ ?\\*" buffer-name] 7 (#$ . 18600) nil])
38#@44 Disable Elpy in all future Python buffers.\1f
39(defalias 'elpy-disable #[0 "\303 \210\304\b\305\306#\210\307\310\311\"\210\307\312\313\"\210\307\314\313\"\210\307\315\316\"\210\307\317\320\"\210\321\322\323\324\211 #\325BC\"\210\306\211\12\207" [inferior-python-mode-map elpy-shell-cell-boundary-regexp elpy-enabled-p elpy-modules-global-stop define-key "\ 3\1a" nil remove-hook python-mode-hook elpy-mode pyvenv-post-activate-hooks elpy-rpc--disconnect pyvenv-post-deactivate-hooks inferior-python-mode-hook elpy-shell--enable-output-filter python-shell-first-prompt-hook elpy-shell--send-setup-code font-lock-remove-keywords python-mode replace-regexp-in-string "\\\\" (0 'elpy-codecell-boundary prepend)] 6 (#$ . 19958) nil])
40#@87 Non-nil if Elpy mode is enabled.
41Use the command `elpy-mode' to change this variable.\1f
42(defvar elpy-mode nil (#$ . 20682))
43(make-variable-buffer-local 'elpy-mode)
44#@806 Minor mode in Python buffers for the Emacs Lisp Python Environment.
45
46This is a minor mode. If called interactively, toggle the `Elpy
47mode' mode. If the prefix argument is positive, enable the mode,
48and if it is zero or negative, disable the mode.
49
50If called from Lisp, toggle the mode if ARG is `toggle'. Enable
51the mode if ARG is nil, omitted, or is a positive number.
52Disable the mode if ARG is a negative number.
53
54To check whether the minor mode is enabled in the current buffer,
55evaluate `elpy-mode'.
56
57The mode's hook is called both when the mode is enabled and when
58it is disabled.
59
60This mode fully supports virtualenvs. Once you switch a
61virtualenv using \[pyvenv-workon], you can use
62\[elpy-rpc-restart] to make the elpy Python process use your
63virtualenv.
64
65\{elpy-mode-map}
66
67(fn &optional ARG)\1f
68(defalias 'elpy-mode #[256 "\305 \ 1\306=\203\r\0\b?\202\1d\0\ 1\247\203\1c\0\ 1\307W\203\1c\0\310\202\1d\0\311\10\312\301!\2031\0\313\300 \"\11\b\2031\0\300 B\11\314\315\316\"\204<\0\317\320!\210\n\204D\0\317\321!\210\312\322!\203Q\0\323\322\324\310\311$\210\325\304!\210\v\14\b\203a\0\326 \210\202h\0\b\204h\0\327 \210\330\331\b\203r\0\332\202s\0\333\"\210\334\335!\203\225\0\305 \203\207\0\211\305 \232\203\225\0\336\337\b\203\221\0\340\202\222\0\341\342#\210\210\343 \210\b\207" [elpy-mode local-minor-modes elpy-enabled-p elpy-syntax-check-command python-check-command current-message toggle 1 nil t boundp delq derived-mode-p python-mode python-ts-mode error "Elpy only works with `python-mode'" "Please enable Elpy with `(elpy-enable)` before using it" xref-backend-functions add-hook elpy--xref-backend make-local-variable elpy-modules-buffer-init elpy-modules-buffer-stop run-hooks elpy-mode-hook elpy-mode-on-hook elpy-mode-off-hook called-interactively-p any message "Elpy mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update] 7 (#$ . 20851) (byte-code "\b\203\n\0\301\b!\202\v\0\302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
69(defvar elpy-mode-hook nil)
70(byte-code "\301\302N\204\f\0\303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\313\314\300!\205#\0\b\310\211%\207" [elpy-mode-map elpy-mode-hook variable-documentation put "Hook run after entering or leaving `elpy-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode elpy-mode " Elpy" boundp] 6)
71(defvar elpy-config--related-custom-groups '(("Elpy" elpy "elpy-") ("Python" python "python-") ("Virtual Environments (Pyvenv)" pyvenv "pyvenv-") ("Completion (Company)" company "company-") ("Call Signatures (ElDoc)" eldoc "eldoc-") ("Inline Errors (Flymake)" flymake "flymake-") ("Code folding (hideshow)" hideshow "hs-") ("Snippets (YASnippet)" yasnippet "yas-") ("Directory Grep (rgrep)" grep "grep-") ("Search as You Type (ido)" ido "ido-") ("Django extension" elpy-django "elpy-django-") ("Autodoc extension" elpy-autodoc "elpy-autodoc-")))
72(defvar elpy-config--get-config "import json\nimport sys\n\nimport warnings\nwarnings.filterwarnings('ignore', category=FutureWarning)\nwarnings.filterwarnings('ignore', category=DeprecationWarning)\nwarnings.filterwarnings('ignore', category=PendingDeprecationWarning)\n\nfrom distutils.version import LooseVersion\n\ntry:\n import urllib2 as urllib\nexcept ImportError:\n import urllib.request as urllib\n\n\n# Check if we can connect to pypi quickly enough\ntry:\n response = urllib.urlopen('https://pypi.org/pypi', timeout=1)\n CAN_CONNECT_TO_PYPI = True\nexcept:\n CAN_CONNECT_TO_PYPI = False\n\n\ndef latest(package, version=None):\n if not CAN_CONNECT_TO_PYPI:\n return None\n try:\n response = urllib.urlopen('https://pypi.org/pypi/{package}/json'.format(package=package),\n timeout=2).read()\n latest = json.loads(response)['info']['version']\n if version is None or LooseVersion(version) < LooseVersion(latest):\n return latest\n else:\n return None\n except:\n return None\n\n\nconfig = {}\nconfig['can_connect_to_pypi'] = CAN_CONNECT_TO_PYPI\nconfig['rpc_python_version'] = ('{major}.{minor}.{micro}'\n .format(major=sys.version_info[0],\n minor=sys.version_info[1],\n micro=sys.version_info[2]))\n\ntry:\n import elpy\n config['elpy_version'] = elpy.__version__\nexcept:\n config['elpy_version'] = None\n\ntry:\n import jedi\n if isinstance(jedi.__version__, tuple):\n config['jedi_version'] = '.'.join(str(x) for x in jedi.__version__)\n else:\n config['jedi_version'] = jedi.__version__\n config['jedi_latest'] = latest('jedi', config['jedi_version'])\nexcept:\n config['jedi_version'] = None\n config['jedi_latest'] = latest('jedi')\n\ntry:\n import autopep8\n config['autopep8_version'] = autopep8.__version__\n config['autopep8_latest'] = latest('autopep8', config['autopep8_version'])\nexcept:\n config['autopep8_version'] = None\n config['autopep8_latest'] = latest('autopep8')\n\ntry:\n import yapf\n config['yapf_version'] = yapf.__version__\n config['yapf_latest'] = latest('yapf', config['yapf_version'])\nexcept:\n config['yapf_version'] = None\n config['yapf_latest'] = latest('yapf')\n\ntry:\n import black\n config['black_version'] = black.__version__\n config['black_latest'] = latest('black', config['black_version'])\nexcept:\n config['black_version'] = None\n config['black_latest'] = latest('black')\n\njson.dump(config, sys.stdout)\n")
73#@179 Note a configuration problem.
74
75FMT is the formating string.
76
77This will show a message in the minibuffer that tells the user to
78use \[elpy-config].
79
80(fn &optional FMT &rest ARGS)\1f
81(defalias 'elpy-config-error #[384 "\ 1\203\f\0\300\301\ 3\ 3#\202\r\0\302\303\304\ 2\"\207" [apply format "Elpy is not properly configured" error "%s; use M-x elpy-config to configure it"] 6 (#$ . 26458)])
82#@131 Configure Elpy.
83
84This function will pop up a configuration buffer, which is mostly
85a customize buffer, but has some more options.\1f
86(defalias 'elpy-config #[0 "\303\304!\305 \306\18r\ 1q\210\307\310!\210\311\ 1!\210\312c\210\307\313!\210\314\ 1!\210\307\315!\210\316\19\317 \210\320 \210\n\211\203J\0\211@\321\322\323\324\325\326\327\ 6\a@\330\ 6 A@& \210\ 1A\266\202\202+\0\210\331 \210eb\210*\332\ 2!)\207" [custom-search-field custom-buffer-style elpy-config--related-custom-groups custom-get-fresh-buffer "*Elpy Config*" elpy-config--get-config nil elpy-insert--header "Elpy Configuration" elpy-config--insert-configuration-table "\n" "Warnings" elpy-config--insert-configuration-problems "Options" tree Custom-mode elpy-config--insert-help widget-create custom-group :custom-last t :custom-state hidden :tag :value widget-setup pop-to-buffer-same-window] 14 (#$ . 26839) nil])
87#@30 Display the version of Elpy.\1f
88(defalias 'elpy-version #[0 "\301\302\b\"\207" [elpy-version message "Elpy %s (use M-x elpy-config for details)"] 3 (#$ . 27704) nil])
89#@32 Insert the customization help.\1f
90(defalias 'elpy-config--insert-help #[0 "`\302\303\304\b\203\f\0\305\202\r\0\306\"!\210 \203\18\0\302\307!\207\302\310!\210\311\312\313\314\315\316\317\320&\a\210\302\321!\210\311\312\313\314\315\322\317\323&\a\210\302\324!\210\311\312\313\314\315\325\317\326&\a\210\302\327!\210\330\ 1`\"\207" [custom-raised-buttons custom-browse-only-groups widget-insert format "%s buttons; type RET or click mouse-1\non a button to invoke its action.\nInvoke [+] to expand a group, and [-] to collapse an expanded group.\n" "`Raised' text indicates" "Square brackets indicate" "Invoke the [Group] button below to edit that item in another window.\n\n" "Invoke the " widget-create item :format "%t" :tag "[Group]" :tag-glyph "folder" ", " "[Face]" "face" ", and " "[Option]" "option" " buttons below to edit that\nitem in another window.\n\n" fill-region] 9 (#$ . 27873)])
91#@81 Insert help text and widgets for configuration problems.
92
93(fn &optional CONFIG)\1f
94(defalias 'elpy-config--insert-configuration-problems #[256 "\211\204\b\0\306 \262\ 1\307\310\ 2\"\210\311\307\312\ 3\"\204\e\0\313\314\315\316#\210\307\312\ 3\"\203/\0\307\317\ 3\"\204/\0\313\320\321\322#\210\b\323>\204X\0\307\312\ 3\"\203X\0 \204X\0\324\325!\n\235\204X\0\324\326!\n\235\204X\0\313\327\330\331\332\333%\210\307\312\ 3\"\203p\0\307\334\ 3\"\204p\0\313\335\336\337\340$\210\340c\210\307\334\ 3\"\203\221\0\307\334\ 3\"\v\232\204\221\0\307\334\ 3\"\313\341\ 2\342\343\v\344\345\340&\b\266\ 2\307\346\ 3\"\203\250\0\313\347\350\351#\210\340\307\346\ 4\"\340\211\261\ 4\210 \203\323\0\352\324 !\353\f!\"\204\323\0\313\354\f\355 \356\353\f!\357\340&\b\210\340c\210\360\361\362\f\363\364%\210\365c\210\307\366\ 3\"\204\357\0\313\367\370\371\340$\210\340c\210\360\372\373\374\375\376%\210\365c\210\r\377=\203)\ 1\201A\0 \203)\ 1\313\201B\0\201C\0\201D\0 \201E\0\201F\0\201G\0\201H\0\201I\0\365& \210\360\372\373\201J\0\375\201K\0%\210\365c\210\307\312\ 3\"\203S\ 1\307\201L\0\ 3\"\204S\ 1\313\201M\0\201N\0\201O\0#\210\340c\210\360\361\362\201P\0#\210\365c\210\307\201L\0\ 3\"\203}\ 1\307\201Q\0\ 3\"\203}\ 1\313\201R\0!\210\340c\210\360\361\362\201P\0\201S\0\364%\210\365c\210\307\201T\0\ 3\"\204\310\ 1\307\201U\0\ 3\"\204\310\ 1\307\201V\0\ 3\"\204\310\ 1\313\201W\0\201X\0\201Y\0#\210\340c\210\360\361\362\201Z\0#\210\340c\210\360\361\362\201[\0#\210\340c\210\360\361\362\201\\\0#\210\365c\210\307\201T\0\ 3\"\203\362\ 1\307\201]\0\ 3\"\203\362\ 1\313\201^\0!\210\340c\210\360\361\362\201Z\0\201S\0\364%\210\365c\210\307\201U\0\ 3\"\203\1c\ 2\307\201_\0\ 3\"\203\1c\ 2\313\201`\0!\210\340c\210\360\361\362\201[\0\201S\0\364%\210\365c\210\307\201V\0\ 3\"\203F\ 2\307\201a\0\ 3\"\203F\ 2\313\201b\0!\210\340c\210\360\361\362\201\\\0\201S\0\364%\210\365c\210\353\201c\0\ e@!@!?\205y\ 2\313\201d\0\201e\0\201c\0\ e@!@\"\201f\0\201g\0#\210\340c\210\360\361\362\201h\0\363\364%\210\365c\207" [system-type pyvenv-virtual-env exec-path elpy-version python-shell-interpreter elpy-rpc-virtualenv-path elpy-config--get-config gethash "rpc_python_version" nil "rpc_python_executable" elpy-insert--para "Elpy can not find the configured Python interpreter. Please make " "sure that the variable `elpy-rpc-python-command' points to a " "command in your PATH. You can change the variable below.\n\n" "virtual_env" "You have not activated a virtual env. It is not mandatory but" " often a good idea to work inside a virtual env. You can use " "`M-x pyvenv-activate` or `M-x pyvenv-workon` to activate one.\n\n" (ms-dos windows-nt) expand-file-name "~/.local/bin" "~/.local/bin/" "The directory ~/.local/bin/ is not in your PATH. As there is " "no active virtualenv, installing Python packages locally will " "place executables in that directory, so Emacs won't find them. " "If you are missing some commands, do add this directory to your " "PATH -- and then do `elpy-rpc-restart'.\n\n" "elpy_version" "The Python interpreter could not find the elpy module. " "Please report to: " "https://github.com/jorgenschaefer/elpy/issues/new." "\n" "The Elpy backend is version " " while " "the Emacs package is " ". This is incompatible. " "Please report to: https://github.com/jorgenschaefer/elpy/issues/new." "error_output" "There was an unexpected problem starting the RPC process. Please " "check the following output to see if this makes sense to you. " "To me, it doesn't.\n" string-prefix-p executable-find "The python interactive interpreter (" ") is not installed on the current virtualenv (" "). The system binary (" ") will be used instead." widget-create elpy-insert--pip-button :package :norpc t "\n\n" "can_connect_to_pypi" "Elpy could not connect to Pypi (or at least not quickly enough) " "and check if the python packages were up-to-date. " "You can still try to update all of them:" elpy-insert--generic-button :button-name "[Update python packages]" :function #[0 "\304\b!\204\v\0\305\306\b\"\207\307\310 \"\19\307\310\n\"\1a\v\304\b!\311\312\311\312\ 4!!!!\211\313 \230\206.\0\314\ 1\313 \"\315\ 1\204T\0\3161@\0\317\320 !0\210\202Q\0\ 5\203M\0\317\ 6\ 6!\266\ 2\202Q\0\321 \266\ 2\322\262\ 1\315\211\3231~\0\3241i\0\325 \211\262\ 200\210\202\201\00\211;\203s\0\211\202v\0\211A@\211\262\ 4\266\ 2\202\201\0\315\266\ 2\ 3\204\225\0\ 6\ 6\203\222\0\317\ 6\a!\210\202\225\0\321 \210\ 1\203\235\0\305\ 2!\210\262\ 1*\207" [elpy-rpc-python-command pyvenv-post-activate-hooks pyvenv-post-deactivate-hooks pyvenv-virtual-env 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) elpy-rpc--install-dependencies] 10] default elpy-syntax-check-command elpy-rpc--pip-missing "Pip doesn't seem to be installed in the dedicated virtualenv " "created by Elpy (" elpy-rpc-get-virtualenv-path "). " "This may prevent some features from working properly" " (completion, documentation, reformatting, ...). " "You can try reinstalling the virtualenv. " "If the problem persists, please report on Elpy's github page." "[Reinstall RPC virtualenv]" #[0 "\300 \207" [elpy-rpc-reinstall-virtualenv] 1] "jedi_version" "The Jedi package is not currently installed. " "This package is needed for code completion, code navigation " "and access to documentation.\n" "jedi" "jedi_latest" "There is a newer version of Jedi available.\n" :upgrade "autopep8_version" "yapf_version" "black_version" "No autoformatting package is currently installed. " "At least one is needed (Autopep8, Yapf or Black) " "to perform autoformatting (`C-c C-r f` in a python buffer).\n" "autopep8" "yapf" "black" "autopep8_latest" "There is a newer version of the autopep8 package available.\n" "yapf_latest" "There is a newer version of the yapf package available.\n" "black_latest" "There is a newer version of the black package available.\n" split-string format "The configured syntax checker (%s) could not be found. Elpy uses this " "program to provide syntax checks of your code. You can either " "install it, or select another one using `elpy-syntax-check-command`.\n" "flake8"] 12 (#$ . 28758)])
95#@57 Check if PACKAGE is installed in the rpc.
96
97(fn PACKAGE)\1f
98(defalias 'elpy-config--package-available-p #[257 "\304\b!\204\v\0\305\306\b\"\207\307\310 \"\19\307\310\n\"\1a\v\304\b!\311\312\311\312\ 4!!!!\211\313 \230\206.\0\314\ 1\313 \"\315\ 1\204T\0\3161@\0\317\320 !0\210\202Q\0\ 5\203M\0\317\ 6\ 6!\266\ 2\202Q\0\321 \266\ 2\322\262\ 1\315\211\3231\213\0\3241v\0\325\b\315\211\211\326\327\330\ 6\ f\"&\ 6\331=\211\262\ 200\210\202\216\00\211;\203\200\0\211\202\203\0\211A@\211\262\ 4\266\ 2\202\216\0\315\266\ 2\ 3\204\242\0\ 6\ 6\203\237\0\317\ 6\a!\210\202\242\0\321 \210\ 1\203\252\0\305\ 2!\210\262\ 1*\207" [elpy-rpc-python-command pyvenv-post-activate-hooks pyvenv-post-deactivate-hooks pyvenv-virtual-env 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) call-process "-c" format "import %s" 0] 17 (#$ . 34833)])
99#@359 Return the configuration from `elpy-rpc-python-command'.
100
101This returns a hash table with the following keys (all strings):
102
103emacs_version
104elpy_version
105python_interactive
106python_interactive_version
107python_interactive_executable
108rpc_virtualenv
109rpc_virtualenv_short
110rpc_python
111rpc_python_version
112rpc_python_executable
113jedi_version
114virtual_env
115virtual_env_short\1f
116(defalias 'elpy-config--get-config #[0 "\306\307\310\"r\211q\210\311\312\ 2\"\216\313\314\315\"\316\317\b\ 3#\210\320 \316\321\ 2\ 4#\210\211\2031\0\316\322\323\324\ 4!!\ 4#\266\ 2\2028\0\316\322\325\ 4#\266\ 2\326 !\204F\0\327\330 \"\210\202\350\0\331\332\n\"\1a\331\332\v\"\e\f\326 !\324\333\324\333\ 4!!!!\211\334 \230\206i\0\335\ 1\334 \"\325\ 1\204\215\0\3361{\0\337\320 !0\210\202\212\0\ 5\203\206\0\337\ 6\ 6!\202\210\0\340 \266\ 2\310\262\ 1\325\211\3411\304\0\3421\257\0\316\343 \ 6\n#\210\316\344\326 !\ 6\n#\211\262\ 200\210\202\307\00\211;\203\271\0\211\202\274\0\211A@\211\262\ 4\266\ 2\202\307\0\325\266\ 2\ 3\204\333\0\ 6\ 6\203\330\0\337\ 6\a!\210\202\333\0\340 \210\ 1\203\343\0\327\ 2!\210\266\ 2*\266\ 5\345\305!\203\362\0\r\202\364\0\ e@\316\346\ 2\ 4#\210\316\347\350\351\352\ e@\"!\353\354\ 2\"\205\ e\ 1\355\356\ 2\"\262\ 1\ 4#\210\316\357\326\ 3!\ 4#\266\ 2\360\361!\316\362\ 2\ 4#\210\211\2037\ 1\316\363\323\324\ 4!!\ 4#\266\ 2\202>\ 1\316\363\325\ 4#\266\ 2\326 !\204L\ 1\327\330 \"\210\202G\ 2\331\332\n\"\1a\331\332\v\"\e\f\326 !\324\333\324\333\ 4!!!!\211\334 \230\206o\ 1\335\ 1\334 \"\325\ 1\204\223\ 1\3361\201\ 1\337\320 !0\210\202\220\ 1\ 5\203\214\ 1\337\ 6\ 6!\202\216\ 1\340 \266\ 2\310\262\ 1\325\211\3641#\ 2\3651\ e\ 2\3661\267\ 1\367 \370\1eA\1eB\371 \325p\325\372\ eC&\ 6*0\202\271\ 1\210\325\211\205\ 3\ 2\3731\324\ 1\374\325\211\1eD\1eE\1eFeb\210\375 +0\202\326\ 1\210\325\211\204\344\ 1\316\376\377 \ 6\f#\202\ 1\ 2\211\211\205\377\ 1\211@\316\201G\0\ 2@!\ 2A\ 6\ e#\210\ 1A\266\202\202\345\ 1\262\ 1\262\ 1\262\ 1\211\262\ 200\210\202&\ 20\211;\203\18\ 2\211\202\e\ 2\211A@\211\262\ 4\266\ 2\202&\ 2\325\266\ 2\ 3\204:\ 2\ 6\ 6\2037\ 2\337\ 6\a!\210\202:\ 2\340 \210\ 1\203B\ 2\327\ 2!\210\266\ 2*\266\ 5\211\262\ 1*\207" [emacs-version elpy-rpc-python-command pyvenv-post-activate-hooks pyvenv-post-deactivate-hooks pyvenv-virtual-env python-python-command generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \0\302\300!\207" [V0 buffer-name kill-buffer] 2] make-hash-table :test equal puthash "emacs_version" elpy-rpc-get-or-create-virtualenv "rpc_virtualenv" "rpc_virtualenv_short" file-name-nondirectory directory-file-name nil executable-find error "Cannot find executable '%s', please set 'elpy-rpc-python-command' to an existing executable." remq elpy-rpc--disconnect file-name-directory elpy-rpc-get-virtualenv-path file-equal-p (error quit) pyvenv-activate pyvenv-deactivate (quit) (error) "rpc_python" "rpc_python_executable" boundp "python_interactive" "python_interactive_version" shell-command-to-string format "%s --version" string-match "[0-9.]+" match-string 0 "python_interactive_executable" getenv "VIRTUAL_ENV" "virtual_env" "virtual_env_short" (quit) (error) (error) elpy-rpc--environment "/" call-process "-c" (error) list json-read "error_output" buffer-string python-shell-interpreter default-directory process-environment elpy-config--get-config json-encoding-pretty-print json-false json-array-type symbol-name] 17 (#$ . 35863)])
117#@75 Insert a table describing the current Elpy config.
118
119(fn &optional CONFIG)\1f
120(defalias 'elpy-config--insert-configuration-table #[256 "\211\204\b\0\304 \262\ 1\305\306\ 2\"\305\307\ 3\"\305\310\ 4\"\305\311\ 5\"\305\312\ 6\ 6\"\305\313\ 6\a\"\305\314\ 6\b\"\305\315\ 6 \"\305\316\ 6\n\"\305\317\ 6\v\"\305\320\ 6\f\"\305\321\ 6\r\"\305\322\ 6\ e\"\305\323\ 6\ f\"\305\324\ 6\10\"\305\325\ 6\11\"\305\326\ 6\12\"\305\327\ 6\13\"\305\330\ 6\14\"\305\331\ 6\15\"\332\211\ 6\15\18\333\bB\334\ 6\16\203\205\0 \203\205\0\ 6\16 \232\203\205\0 \202\227\0\ 6\16\203\223\0\335\336\ 6\18 #\202\227\0\335\337 \"B\340\305\310\ 6\e\"\203\253\0\335\341\ 6\17\ 6\19#\202\254\0\342B\343\ 6\13\203\277\0\335\344\ 6\17\ 6\17\ 6\17$\202\315\0\ 6\15\203\314\0\335\345\ 6\17\"\202\315\0\346B\347\335\341\n\350=\204\335\0\n\351=\203\341\0\352\202\343\0\ 6\11\ 6\13#B\353\ 6\13\203\371\0\335\344\ 6\16\ 6\15\ 6\17$\202\13\ 1\ 6\13\203\ 3\ 1\ 6\13\202\13\ 1\ 6\14\203\10\ 1\335\345\ 6\16\"\202\13\ 1\335\346!B\354\355\356\ 6\12\ 6\12#B\357\355\360\ 6\11\ 6\11#B\361\355\362\ 6\10\ 6\10#B\363\355\364\ 6\ f\ 6\ f#B\365\366\367\v!@!\211\203M\ 1\335\341\370\ 3!\ 3#\202Q\ 1\335\371\v\"\262\ 1B\257\v\262\ 2\372\262\ 1\ 1\211\203\210\ 1\211@\332\ 1@;\203q\ 1\ 1@G\262\ 1\202w\ 1\ 1@@G\262\ 1\211\ 4V\203\200\ 1\211\262\ 4\210\ 1A\266\202\202\\\ 1\210\ 1\211\205\322\ 1\211@\211@;\203\246\ 1\211@\373\ 4\ 3@GZ\374\"\261\ 2\210\202\300\ 1\375\376\377\ 3@@\201@\0\ 5@A@%\210\373\ 3\ 2@@GZ\374\"c\210\201A\0\ 1A\201B\0\261\ 3\210\ 1A\266\202\202\212\ 1\262\ 1)\207" [emacs-version elpy-version elpy-rpc-virtualenv-path elpy-syntax-check-command elpy-config--get-config gethash "emacs_version" "elpy_version" "virtual_env" "virtual_env_short" "python_interactive" "python_interactive_version" "python_interactive_executable" "rpc_python" "rpc_python_executable" "rpc_python_version" "rpc_virtualenv" "rpc_virtualenv_short" "jedi_version" "jedi_latest" "autopep8_version" "autopep8_latest" "yapf_version" "yapf_latest" "black_version" "black_latest" nil "Emacs" "Elpy" format "%s (Python), %s (Emacs Lisp)" "Not found (Python), %s (Emacs Lisp)" ("Virtualenv" (lambda nil (call-interactively 'pyvenv-workon) (elpy-config))) "%s (%s)" "None" ("Interactive Python" (lambda nil (customize-variable 'python-shell-interpreter))) "%s %s (%s)" "%s (not found)" "Not configured" "RPC virtualenv" system global "system" (" Python" (lambda nil (customize-variable 'elpy-rpc-python-command))) " Jedi" elpy-config--package-link "jedi" " Autopep8" "autopep8" " Yapf" "yapf" " Black" "black" ("Syntax checker" (lambda nil (customize-variable 'elpy-syntax-check-command))) executable-find split-string file-name-nondirectory "Not found (%s)" 0 make-string 46 widget-create elpy-insert--generic-button :button-name :function ": " "\n"] 39 (#$ . 38962)])
121#@228 Return a string detailing a Python package.
122
123NAME is the PyPI name of the package. VERSION is the currently
124installed version. LATEST is the latest-available version on
125PyPI, or nil if that's VERSION.
126
127(fn NAME VERSION LATEST)\1f
128(defalias 'elpy-config--package-link #[771 "\ 1\204\n\0\211\204\n\0\300\207\211\204\10\0\ 1\207\ 1\204\19\0\301\302\ 2\"\207\301\303\ 3\ 3#\207" ["Not found" format "Not found (%s available)" "%s (%s available)"] 7 (#$ . 41456)])
129#@76 Insert MESSAGES, a list of strings, and then fill it.
130
131(fn &rest MESSAGES)\1f
132(defalias 'elpy-insert--para #[128 "`\300\301\ 3\"\210\302\ 1`\"\207" [mapc #[257 "\211;\203\b\0\211c\207\300\301\ 2\"c\207" [format "%s"] 4 "\n\n(fn OBJ)"] fill-region] 5 (#$ . 41899)])
133#@57 Insert TEXT has a header for a buffer.
134
135(fn &rest TEXT)\1f
136(defalias 'elpy-insert--header #[128 "\300\301\302\ 3\303#\304\305#\306\211\261\ 3\207" [propertize mapconcat #[257 "\207" [] 2 "\n\n(fn X)"] "" face header-line "\n"] 6 (#$ . 42159)])
137(define-widget 'elpy-insert--generic-button 'item "A button that run a rgiven function." :button-prefix "" :button-suffix "" :format "%[%v%]" :value-create 'elpy-insert--generic-button-value-create :action 'elpy-insert--generic-button-action)
138#@72 The :value-create option for the customize button widget.
139
140(fn WIDGET)\1f
141(defalias 'elpy-insert--generic-button-value-create #[257 "\300\ 1\301\"c\207" [widget-get :button-name] 4 (#$ . 42645)])
142#@82 The :action option for the customize button widget.
143
144(fn WIDGET &optional EVENT)\1f
145(defalias 'elpy-insert--generic-button-action #[513 "\300\ 2\301\" \207" [widget-get :function] 5 (#$ . 42842)])
146(define-widget 'elpy-insert--pip-button 'item "A button that runs pip (or an alternative)." :button-prefix "[" :button-suffix "]" :format "%[%v%]" :value-create 'elpy-insert--pip-button-value-create :action 'elpy-insert--pip-button-action)
147#@66 The :value-create option for the pip button widget.
148
149(fn WIDGET)\1f
150(defalias 'elpy-insert--pip-button-value-create #[257 "\301\ 1\302\"\301\ 2\303\"\211\203\10\0\304\202\11\0\305\306\b\307\211\211\310\311\312&\a\313U\203*\0\314\315\b\ 3\ 6\ 6$\202:\0\316\317!\2037\0\314\320\ 4\"\202:\0\321\322!\323\ 5\324\ 3#\210\ 2\203J\0\314\325\ 5\"c\207\314\326\ 5\"c\207" [elpy-rpc-python-command widget-get :package :upgrade "--upgrade " "" call-process nil "-m" "pip" "--help" 0 format "%s -m pip install %s%s" executable-find "easy_install" "easy_install %s" error "Neither easy_install nor pip found" widget-put :command "Update %s" "Install %s"] 12 (#$ . 43280)])
151#@76 The :action option for the pip button widget.
152
153(fn WIDGET &optional EVENT)\1f
154(defalias 'elpy-insert--pip-button-action #[513 "\304\ 2\305\"\304\ 3\306\"\211\203\10\0\307\ 2!\207\310\b!\204\e\0\311\312\b\"\207\313\314 \"\19\313\314\n\"\1a\v\310\b!\315\316\315\316\ 4!!!!\211\317 \230\206>\0\320\ 1\317 \"\321\ 1\204d\0\3221P\0\323\324 !0\210\202a\0\ 5\203]\0\323\ 6\ 6!\266\ 2\202a\0\325 \266\ 2\326\262\ 1\321\211\3271\220\0\3301{\0\307\ 6 !\211\262\ 200\210\202\223\00\211;\203\205\0\211\202\210\0\211A@\211\262\ 4\266\ 2\202\223\0\321\266\ 2\ 3\204\247\0\ 6\ 6\203\244\0\323\ 6\a!\210\202\247\0\325 \210\ 1\203\257\0\311\ 2!\210\262\ 1*\207" [elpy-rpc-python-command pyvenv-post-activate-hooks pyvenv-post-deactivate-hooks pyvenv-virtual-env widget-get :command :norpc async-shell-command 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)] 14 (#$ . 43907)])
155#@56 The history for `elpy-project--read-project-variable'.\1f
156(defvar elpy-project--variable-name-history nil (#$ . 44970))
157#@319 Return the root of the current buffer's project.
158
159This can very well be nil if the current file is not part of a
160project.
161
162See `elpy-project-root-finder-functions' for a way to configure
163how the project root is found. You can also set the variable
164`elpy-project-root' in, for example, .dir-locals.el to override
165this.\1f
166(defalias 'elpy-project-root #[0 "\b\204\b\0\301\302!\10\b\207" [elpy-project-root run-hook-with-args-until-success elpy-project-root-finder-functions] 2 (#$ . 45094)])
167#@55 Set the Elpy project root to NEW-ROOT.
168
169(fn NEW-ROOT)\1f
170(defalias 'elpy-set-project-root #[257 "\211\211\10\207" [elpy-project-root] 3 (#$ . 45581) "DNew project root: "])
171#@115 Return the current Python project root, if any.
172
173This is marked with 'setup.py', 'setup.cfg' or 'pyproject.toml'.\1f
174(defalias 'elpy-project-find-python-root #[0 "\301\b\302\"\206\12\0\301\b\303\"\206\12\0\301\b\304\"\207" [default-directory locate-dominating-file "setup.py" "setup.cfg" "pyproject.toml"] 3 (#$ . 45756)])
175#@49 Return the current git repository root, if any.\1f
176(defalias 'elpy-project-find-git-root #[0 "\301\b\302\"\207" [default-directory locate-dominating-file ".git"] 3 (#$ . 46073)])
177#@49 Return the current git repository root, if any.\1f
178(defalias 'elpy-project-find-hg-root #[0 "\301\b\302\"\207" [default-directory locate-dominating-file ".hg"] 3 (#$ . 46254)])
179#@49 Return the current git repository root, if any.\1f
180(defalias 'elpy-project-find-svn-root #[0 "\301\b\302\"\207" [default-directory locate-dominating-file #[257 "\300\301\302\ 3\"!\205\10\0\300\301\303\ 3\"!?\207" [file-directory-p format "%s/.svn" "%s/../.svn"] 5 "\n\n(fn DIR)"]] 3 (#$ . 46433)])
181#@58 Return the current project root according to projectile.\1f
182(defalias 'elpy-project-find-projectile-root #[0 "\3001\b\0\301 0\207\210\302\207" [(error) projectile-project-root nil] 1 (#$ . 46726)])
183#@189 Return the root of the Python package chain of the current buffer.
184
185That is, if you have /foo/package/module.py, it will return /foo,
186so that import package.module will pick up module.py.\1f
187(defalias 'elpy-library-root #[0 "\301\b\302\"\207" [default-directory locate-dominating-file #[257 "\300\301\302\ 3\"!?\207" [file-exists-p format "%s/__init__.py"] 5 "\n\n(fn DIR)"]] 3 (#$ . 46926)])
188#@84 Prompt the user for a variable name to set project-wide using PROMPT.
189
190(fn PROMPT)\1f
191(defalias 'elpy-project--read-project-variable #[257 "\302\303\b\"\304\305\306\ 3!\"\307\310\ 4 \311\312\ 6\ 6\"\313\314\315&\ 6!\207" [elpy-config--related-custom-groups obarray mapcar #[257 "\300\ 18\207" [2] 3 "\n\n(fn CUST)"] format "^%s" regexp-opt intern completing-read make-closure #[257 "\211\301N\205\12\0\302\300\303\ 3!\"\205\12\0\211\304N\207" [V0 safe-local-variable string-match symbol-name custom-type] 5 "\n\n(fn SYM)"] :require-match nil elpy-project--variable-name-history] 11 (#$ . 47319)])
192#@79 Read the value for VARIABLE from the user using PROMPT.
193
194(fn PROMPT VARIABLE)\1f
195(defalias 'elpy-project--read-variable-value #[514 "\211\300N\211\203*\0\301\ 1<\203\11\0\ 1\202\13\0\ 1C\ 4\302\ 5!\205#\0\ 4\303N\206!\0\304\ 5!\302\ 6\ 6!?$\207\305\ 3!\207" [custom-type widget-prompt-value boundp custom-get symbol-value eval-minibuffer] 9 (#$ . 47898)])
196#@127 Set or remove a variable in the project-wide .dir-locals.el.
197
198With prefix argument, remove the variable.
199
200(fn VARIABLE VALUE)\1f
201(defalias 'elpy-set-project-variable #[514 "r\302\303\304\305 \b#!q\210\306\307\ 3\ 3 \203\17\0\310\202\18\0\311$)\207" [dir-locals-file current-prefix-arg find-file-noselect format "%s/%s" elpy-project-root modify-dir-local-variable nil delete add-or-replace] 7 (#$ . 48229) (byte-code "\301\b\203 \0\302\202\n\0\303!\b?\205\17\0\304\305\306\ 3\"\ 2\"\ 1\ 1D\207" [current-prefix-arg elpy-project--read-project-variable "Remove project variable: " "Set project variable: " elpy-project--read-variable-value format "Value for %s: "] 5)])
202#@197 Search for REGEXP in the current project.
203
204REGEXP defaults to the symbol at point, or the current region if
205active.
206
207With a prefix argument, always prompt for a string to search for.
208
209(fn REGEXP)\1f
210(defalias 'elpy-rgrep-symbol #[257 "\305 \210\306 \18\307\ 1 \310 \206\ f\0\n#\210)r\vq\210\311\1c\212eb\210\312\313\314\311#\205,\0\315\316\317\320\ 4!\"!+\207" [grep-find-ignored-directories elpy-rgrep-file-pattern default-directory next-error-last-buffer inhibit-read-only grep-compute-defaults elpy-project-ignored-directories rgrep elpy-project-root t re-search-forward "^find .*" nil replace-match format "Searching for '%s'\n" regexp-quote] 6 (#$ . 48874) (byte-code "\301 \203\ e\0\302\303 \304 \"\202\11\0\305\306!\211\203 \0\b\204 \0\307\ 1\310Q\202$\0\311\312\ 2\"\262\ 1C\207" [current-prefix-arg use-region-p buffer-substring-no-properties region-beginning region-end thing-at-point symbol "\\<" "\\>" read-from-minibuffer "Search in project for regexp: "] 4)])
211(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313& \207" [custom-declare-variable elpy-ffip-prune-patterns funcall function #[0 "\300\207" [nil] 1 ""] "Elpy-specific extension of `ffip-prune-patterns'.\nThis is in addition to `elpy-project-ignored-directories'\nand `completion-ignored-extensions'.\nThe final value of `ffip-prune-patterns' used is computed\nby the eponymous function `elpy-ffip-prune-patterns'." :type (repeat string) :safe #[257 "\300\301\ 2\"\207" [cl-every stringp] 4 "\n\n(fn VAL)"] :group elpy] 10)
212#@192 Compute `ffip-prune-patterns' from other variables.
213This combines
214 `elpy-ffip-prune-patterns'
215 `elpy-project-ignored-directories'
216 `completion-ignored-extensions'
217 `ffip-prune-patterns'.\1f
218(defalias 'elpy-ffip-prune-patterns #[0 "\304\305\306\b\"\305\307 \"\244\310\n!\244\310\v!\244!\207" [elpy-project-ignored-directories completion-ignored-extensions elpy-ffip-prune-patterns ffip-prune-patterns delete-dups mapcar #[257 "\300\ 1\301Q\207" ["*/" "/*"] 4 "\n\n(fn DIR)"] #[257 "\300\301\ 2\"\203\f\0\302\ 1\302Q\207\302\ 1P\207" [s-ends-with\? "/" "*"] 4 "\n\n(fn EXT)"] cl-copy-list] 5 (#$ . 50356)])
219#@522 Efficiently find a file in the current project.
220
221It necessitates `projectile' or `find-file-in-project' to be installed.
222
223With prefix argument (or DWIM non-nil), tries to guess what kind of
224file the user wants to open:
225- On an import line, it opens the file of that module.
226- Otherwise, it opens a test file associated with the current file,
227if one exists. A test file is named test_<name>.py if the current
228file is <name>.py, and is either in the same directory or a
229"test" or "tests" subdirectory.
230
231(fn &optional DWIM)\1f
232(defalias 'elpy-find-file #[256 "\211\203?\0\306 \203?\0\212\307 b\210\310\311!\206\17\0\310\312!)\203?\0\313\314!\203-\0\315\316\313\317!\313\314!#\2020\0\313\317!\320\ 1!\211\203;\0\321\ 1!\207\322\323!\207\211\203V\0\306 \203V\0\324 \211\203R\0\321\ 1!\207\322\323!\207\325\326!\203\200\0\327\330\b!\330 !\244!\210\323\327\330\n!\330\v!\244\331 \244!\210\323\332 \204|\0\f\210\323\326 \207\325\333!\203\236\0\303 \210\323\332 \204\221\0\f\210\323\211\334\335\rB\1d\1e \333 *\207\336\337!\207" [projectile-globally-ignored-file-suffixes completion-ignored-extensions projectile-globally-ignored-directories elpy-ffip-prune-patterns default-directory ido-setup-hook buffer-file-name line-beginning-position looking-at "^ *import +\\([[:alnum:]._]+\\)" "^ *from +\\([[:alnum:]._]+\\) +import +\\([[:alnum:]._]+\\)" match-string 2 format "%s.%s" 1 elpy-find--resolve-module find-file elpy-find-file nil elpy-find--test-file fboundp projectile-find-file delete-dups cl-copy-list elpy-project-ignored-directories elpy-project-root find-file-in-project ("\n" "" "\n" "\n..." "[" "]" " [No match]" " [Matched]" " [Not readable]" " [Too big]" " [Confirm]") #[0 "\301\b\302\303#\210\301\b\304\305#\207" [ido-completion-map define-key [down] ido-next-match [up] ido-prev-match] 4] error "`elpy-find-file' necessitates `projectile' or `find-file-in-project' to be installed" ido-decorations] 7 (#$ . 50958) "P"])
233#@247 Return the test file for the current file, if any.
234
235If this is a test file, return the non-test file.
236
237A test file is named test_<name>.py if the current file is
238<name>.py, and is either in the same directors or a "test" or
239"tests" subdirectory.\1f
240(defalias 'elpy-find--test-file #[0 "\301 \206\ 6\0\b\302\303 !\304\305\ 2\"\205\15\0\306\307\ 2\"\310\311!\203#\0\312\313 \262\ 1\2028\0\310\314!\2037\0\312\315\316\317\320\312\211\"#\262\ 1\2028\0\312\ 1\203F\0\321\322\323\ 4\"\ 2\"\202M\0\321\322\324\ 5\"\ 2\"\211\205q\0\211G\307V\203a\0\325\326\ 2\"\262\ 1\202e\0\211@\262\ 1\327\ 1!\203l\0\207\330\ 5!\ 1P\207" [default-directory elpy-project-root file-name-base buffer-file-name string-match "test_\\(.*\\)" match-string 1 fboundp projectile-find-file nil projectile-current-project-files find-file-in-project cl-map list cdr ffip-project-search cl-remove-if make-closure #[257 "\300\301\ 2!\230?\207" [V0 file-name-base] 4 "\n\n(fn FILE)"] #[257 "\301\302\300\"\303\ 2!\230?\207" [V0 format "test_%s" file-name-base] 4 "\n\n(fn FILE)"] completing-read "Which file: " file-name-absolute-p file-name-as-directory] 10 (#$ . 52859)])
241#@325 Return a directory path for MODULE.
242
243The resulting path is not guaranteed to exist. This simply
244resolves leading periods relative to the current directory and
245replaces periods in the middle of the string with slashes.
246
247Only works with absolute imports. Stop using implicit relative
248imports. They're a bad idea.
249
250(fn MODULE)\1f
251(defalias 'elpy-find--module-path #[257 "\300\301\ 2\"\205\f\0\302\303\ 2\"G\211\203!\0\304\305\306 \307\310\311\ 6\ 6\312\"\313##\202#\0\314 \315\316\317\ 4\2031\0\ 5\ 5\312O\2022\0\ 5#\320\304\305\ 4\ 4#!\207" [string-match "^\\.+" match-string 0 format "%s/%s" buffer-file-name mapconcat #[257 "\300\207" ["../"] 2 "../\n\n(fn _)"] make-vector nil "" elpy-library-root replace-regexp-in-string "\\." "/" expand-file-name] 10 (#$ . 53949)])
252#@114 Resolve MODULE relative to the current file and project.
253
254Returns a full path name for that module.
255
256(fn MODULE)\1f
257(defalias 'elpy-find--resolve-module #[257 "\3002N\0\301\ 1!\302\303\304 !\ 2\"\203K\0\305\306\ 2\"\305\307\ 3\"D\211\2032\0\211@\310\ 1!\203+\0\311\300\ 2\"\210\ 1A\266\202\202\1a\0\210\312\313\ 2\"\203C\0\211\314\315O\262\ 1\202\a\0\316\ 1!\262\ 1\202\a\0\210\3170\207" [return elpy-find--module-path string-prefix-p expand-file-name elpy-library-root format "%s.py" "%s/__init__.py" file-exists-p throw string-match "/$" 0 -1 file-name-directory nil] 7 (#$ . 54698)])
258#@182 Run `python-check-command' on the current buffer's file,
259
260or the project root if WHOLE-PROJECT-P is non-nil (interactively,
261with a prefix argument).
262
263(fn &optional WHOLE-PROJECT-P)\1f
264(defalias 'elpy-check #[256 "\304 \204 \0\305\306!\210\307\b?\310\"\210\311 \312 \313\ 3\203\"\0\314 \206$\0\304 \202$\0\304 !\ 3\203?\0\315\316 \"\2034\0\317\2025\0\320\321\322\323 \324#P\202@\0\325\ 2\1a\ 3\e\326 \327\330\ 5!\ 4R\310\331#*\207" [compilation-ask-about-save python-check-command exec-path process-environment buffer-file-name error "Can't check a buffer without a file" save-some-buffers nil python-shell-calculate-process-environment python-shell-calculate-exec-path expand-file-name elpy-project-root string-match "pylint$" " --ignore=" " --exclude=" mapconcat identity elpy-project-ignored-directories "," "" compilation-start " " shell-quote-argument #[257 "\300\207" ["*Python Check*"] 2 "*Python Check*\n\n(fn MODE-NAME)"]] 10 (#$ . 55255) "P"])
265#@51 Initial position before expanding to indentation.\1f
266(defvar elpy-nav-expand--initial-position nil (#$ . 56187))
267(make-variable-buffer-local 'elpy-nav-expand--initial-position)
268#@64 Display a warning if jedi is not available in the current RPC.\1f
269(defalias 'elpy-rpc-warn-if-jedi-not-available #[0 "\b?\205\b\0\301\302!\207" [elpy-rpc--jedi-available error "This feature requires the `jedi` package to be installed. Please check `elpy-config` for more information."] 2 (#$ . 56367)])
270#@56 Go to the definition of the symbol at point, if found.\1f
271(defalias 'elpy-goto-definition #[0 "\300 \210\301 \211\203\11\0\302\ 1@\ 2A@\"\207\303\304!\207" [elpy-rpc-warn-if-jedi-not-available elpy-rpc-get-definition elpy-goto-location error "No definition found"] 4 (#$ . 56670) nil])
272#@56 Go to the assignment of the symbol at point, if found.\1f
273(defalias 'elpy-goto-assignment #[0 "\300 \210\301 \211\203\11\0\302\ 1@\ 2A@\"\207\303\304!\207" [elpy-rpc-warn-if-jedi-not-available elpy-rpc-get-assignment elpy-goto-location error "No assignment found"] 4 (#$ . 56952) nil])
274#@72 Go to the definition of the symbol at point in other window, if found.\1f
275(defalias 'elpy-goto-definition-other-window #[0 "\300 \210\301 \211\203\12\0\302\ 1@\ 2A@\303#\207\304\305!\207" [elpy-rpc-warn-if-jedi-not-available elpy-rpc-get-definition elpy-goto-location other-window error "No definition found"] 5 (#$ . 57234) nil])
276#@72 Go to the assignment of the symbol at point in other window, if found.\1f
277(defalias 'elpy-goto-assignment-other-window #[0 "\300 \210\301 \211\203\12\0\302\ 1@\ 2A@\303#\207\304\305!\207" [elpy-rpc-warn-if-jedi-not-available elpy-rpc-get-assignment elpy-goto-location other-window error "No assignment found"] 5 (#$ . 57561) nil])
278#@147 Show FILENAME at OFFSET to the user.
279
280If OTHER-WINDOW-P is non-nil, show the same in other window.
281
282(fn FILENAME OFFSET &optional OTHER-WINDOW-P)\1f
283(defalias 'elpy-goto-location #[770 "\302\b\303\"\203\10\0\304 \305 \"\210\202\13\0\306 \210\307\ 3!\ 1\203\"\0\310\ 1\311\"\210\202&\0\312\ 1!\210\ 2Tb\207" [emacs-version find-tag-marker-ring version< "25.1" ring-insert point-marker xref-push-marker-stack find-file-noselect pop-to-buffer t switch-to-buffer] 7 (#$ . 57889)])
284#@121 Move to the next line indented like point.
285
286This will skip over lines and statements with different
287indentation levels.\1f
288(defalias 'elpy-nav-forward-block #[0 "i`\301\ 2\b\246\302U\204\13\0\ 2\b\245T\b_\262\ 3\303 \210\ 2\304 W\2034\0m\2044\0`\ 1\232\203+\0\305\306!\210`\262\ 1\303 \210\202\16\0\304 \ 3W\205=\0\ 1b\207" [python-indent-offset nil 0 python-nav-forward-statement current-indentation error "Statement does not finish"] 5 (#$ . 58351) "^"])
289#@125 Move to the previous line indented like point.
290
291This will skip over lines and statements with different
292indentation levels.\1f
293(defalias 'elpy-nav-backward-block #[0 "i`\301\ 2\b\246\302U\204\13\0\ 2\b\245T\b_\262\ 3\303 \210\ 2\304 W\2034\0o\2044\0`\ 1\232\203+\0\305\306!\210`\262\ 1\303 \210\202\16\0\304 \ 3W\205=\0\ 1b\207" [python-indent-offset nil 0 python-nav-backward-statement current-indentation error "Statement does not start"] 5 (#$ . 58783) "^"])
294#@63 Move forward to the next indent level, or over the next word.\1f
295(defalias 'elpy-nav-forward-indent #[0 "i\301 W\203\14\0i\211\b\245T\b_\302 \ 1\\b\207\303 \304v\210`\ 1V\205\"\0\302 b\207" [python-indent-offset current-indentation point-at-bol point-at-eol nil] 4 (#$ . 59219) "^"])
296#@72 Move backward to the previous indent level, or over the previous word.\1f
297(defalias 'elpy-nav-backward-indent #[0 "i\301 X\203\1a\0i\302U\204\1a\0i\211\b\245S\b_\303 \ 1\\b\207\304v\207" [python-indent-offset current-indentation 0 point-at-bol -1] 4 (#$ . 59496) "^"])
298#@70 Move the current line or active region down.
299
300(fn &optional BEG END)\1f
301(defalias 'elpy-nav-move-line-or-region-down #[512 "\ 1\203\n\0\300\ 2\ 2\301#\207\302\301!\207" [elpy--nav-move-region-vertically 1 elpy--nav-move-line-vertically] 6 (#$ . 59758) (byte-code "\300 \203\v\0\301 \302 D\207\303\211D\207" [use-region-p region-beginning region-end nil] 2)])
302#@70 Move the current line or active region down.
303
304(fn &optional BEG END)\1f
305(defalias 'elpy-nav-move-line-or-region-up #[512 "\ 1\203\n\0\300\ 2\ 2\301#\207\302\301!\207" [elpy--nav-move-region-vertically -1 elpy--nav-move-line-vertically] 6 (#$ . 60111) (byte-code "\300 \203\v\0\301 \302 D\207\303\211D\207" [use-region-p region-beginning region-end nil] 2)])
306#@62 Move the current line vertically in direction DIR.
307
308(fn DIR)\1f
309(defalias 'elpy--nav-move-line-vertically #[257 "\300 \300\301!i\302\ 3\ 3\"\ 4y\210\212\211c\210)`\ 2\\b\207" [point-at-bol 2 delete-and-extract-region] 7 (#$ . 60463)])
310#@72 Move the current region vertically in direction DIR.
311
312(fn BEG END DIR)\1f
313(defalias 'elpy--nav-move-region-vertically #[771 "`\301 W\212\ 3b\210\302 )\212\ 3b\210n\203\17\0`\202\1a\0\302\303!)\304\ 2\ 2\"\ 2b\210\ 4y\210\212\211c\210)\ 3\2038\0\305`\ 2G\\!\210\202B\0\305`!\210`\ 1G\\b\210\306\211\10\207" [deactivate-mark mark point-at-bol 2 delete-and-extract-region set-mark nil] 10 (#$ . 60693)])
314#@60 Open a line below the current one, move there, and indent.\1f
315(defalias 'elpy-open-and-indent-line-below #[0 "\300\301!\210\302 \207" [move-end-of-line 1 newline-and-indent] 2 (#$ . 61069) nil])
316#@60 Open a line above the current one, move there, and indent.\1f
317(defalias 'elpy-open-and-indent-line-above #[0 "\300\301!\210\212\302c\210)\303 \207" [move-beginning-of-line 1 "\n" indent-according-to-mode] 2 (#$ . 61267) nil])
318#@52 Select surrounding lines with current indentation.\1f
319(defalias 'elpy-nav-expand-to-indentation #[0 "`\10\301 \211\302U\203\17\0\303`!\210\303d\304\305#\210eb\207\211\301 X\203$\0\306y\210\202\17\0\307y\210\303`\304\305#\210\211\301 X\203:\0\307y\210\202-\0\306u\207" [elpy-nav-expand--initial-position current-indentation 0 push-mark nil t -1 1] 5 (#$ . 61496) nil])
320(byte-code "\300\301\302\303\304$\210\305\301\304\"\207" [ad-add-advice keyboard-quit (collapse-region nil t (advice lambda nil "Abort elpy selection by indentation on quit." (when (eq last-command 'elpy-nav-expand-to-indentation) (goto-char elpy-nav-expand--initial-position)))) before nil ad-activate] 5)
321#@75 If the first or last line are not fully selected, select them completely.\1f
322(defalias 'elpy-nav-normalize-region #[0 "\300 \301 \ 1b\210\302 \210\303`\304\305#\210\211b\210`\306 U?\205\1d\0\304\7f\207" [region-beginning region-end beginning-of-line push-mark nil t line-beginning-position] 6 (#$ . 62163)])
323#@169 Shift current line by COUNT columns to the right.
324
325COUNT defaults to `python-indent-offset'.
326If region is active, normalize the region and shift.
327
328(fn &optional COUNT)\1f
329(defalias 'elpy-nav-indent-shift-right #[256 "\301 \203\10\0\302 \210\303\304 \305 \b#\207\303\306 \307 \b#\207" [current-prefix-arg use-region-p elpy-nav-normalize-region python-indent-shift-right region-beginning region-end line-beginning-position line-end-position] 5 (#$ . 62468) nil])
330#@168 Shift current line by COUNT columns to the left.
331
332COUNT defaults to `python-indent-offset'.
333If region is active, normalize the region and shift.
334
335(fn &optional COUNT)\1f
336(defalias 'elpy-nav-indent-shift-left #[256 "\301 \203\10\0\302 \210\303\304 \305 \b#\207\303\306 \307 \b#\207" [current-prefix-arg use-region-p elpy-nav-normalize-region python-indent-shift-left region-beginning region-end line-beginning-position line-end-position] 5 (#$ . 62928) nil])
337#@46 History variable for `elpy-set-test-runner'.\1f
338(defvar elpy-set-test-runner-history nil (#$ . 63384))
339#@205 Run tests on the current test, or the whole project.
340
341If there is a test at point, run that test. If not, or if a
342prefix is given, run all tests in the current project.
343
344(fn &optional TEST-WHOLE-PROJECT)\1f
345(defalias 'elpy-test #[256 "\301 \ 1\203\ e\0\b\ 1@\302\211\211$\207\303\b\ 2\"\207" [elpy-test-runner elpy-test-at-point nil apply] 7 (#$ . 63491) "P"])
346#@101 Tell Elpy to use TEST-RUNNER to run tests.
347
348See `elpy-test' for how to invoke it.
349
350(fn TEST-RUNNER)\1f
351(defalias 'elpy-set-test-runner #[257 "\211\211\10\207" [elpy-test-runner] 3 (#$ . 63845) (byte-code "\301\302\300\303NA\"\b\301\304\ 3\"\236A\305\ 1\203\1a\0\306\307\ 3\"\202\e\0\310\ 3\311\312\311\313&\ 6\211\314\232\203,\0\b\2021\0\315\ 1\ 4\"A\266\203C\207" [elpy-test-runner mapcar #[257 "\300\ 18\301\ 28B\207" [2 3] 4 "\n\n(fn VALUE)"] custom-type #[257 "\211A\ 1@B\207" [] 3 "\n\n(fn CELL)"] completing-read format "Test runner (currently %s): " "Test runner: " nil t elpy-set-test-runner-history "" assoc] 9)])
352#@538 Return a list specifying the test at point, if any.
353
354This is used as the interactive
355
356This list has four elements.
357
358- Top level directory:
359 All test files should be importable from here.
360- Test file:
361 The current file name.
362- Test module:
363 The module name, relative to the top level directory.
364- Test name:
365 The full name of the current test within the module, for
366 example TestClass.test_method
367
368If there is no test at point, test name is nil.
369If the current buffer is not visiting a file, only the top level
370directory is not nil.\1f
371(defalias 'elpy-test-at-point #[0 "\b\204\ e\0\301 \210\302 \303\211\211F\207\302 \b\304\ 2\ 2\"\305 \ 2\2033\0\306\307\ 3\206&\0\ 2\206&\0\310\"\2033\0\311 \210\ 3\ 3\ 3\ 3F\207\301 \210\ 3\303\211\211F\207" [buffer-file-name save-some-buffers elpy-library-root nil elpy-test--module-name-for-file elpy-test--current-test-name string-match "test" "" save-buffer] 8 (#$ . 64441)])
372#@39 Return the name of the test at point.\1f
373(defalias 'elpy-test--current-test-name #[0 "\300 \211\203\12\0\301\302\ 2\"\203\12\0\303\304\ 2\"\207\207" [python-info-current-defun string-match "\\`\\([^.]+\\.[^.]+\\)\\." match-string 1] 4 (#$ . 65336)])
374#@229 Return the module name relative to TOP-LEVEL for MODULE-FILE.
375
376For example, for a top level of /project/root/ and a module file
377of /project/root/package/module.py, this would return
378"package.module".
379
380(fn TOP-LEVEL MODULE-FILE)\1f
381(defalias 'elpy-test--module-name-for-file #[514 "\300\ 1\ 3\"\301\302\303\ 3#\301\304\303\ 3#\301\305\306\ 3#\307\310\ 2\"\203\"\0\306\301\311\306\ 4#P\207\207" [file-relative-name replace-regexp-in-string "\\.py\\'" "" "/__init__\\'" "/" "." string-match "^\\." "\\.\\.\\."] 11 (#$ . 65580)])
382#@99 Return t iff OBJ is a test runner.
383
384This uses the `elpy-test-runner-p' symbol property.
385
386(fn OBJ)\1f
387(defalias 'elpy-test-runner-p #[257 "\211\300N\207" [elpy-test-runner-p] 3 (#$ . 66094)])
388#@106 Run COMMAND with ARGS in WORKING-DIRECTORY as a test command.
389
390(fn WORKING-DIRECTORY COMMAND &rest ARGS)\1f
391(defalias 'elpy-test-run #[642 "\ 2\18 \302\303\ 4\ 4B\304#!)\207" [default-directory elpy-test-compilation-function mapconcat shell-quote-argument " "] 8 (#$ . 66289)])
392#@75 Return the test discover runner from `elpy-test-discover-runner-command'.\1f
393(defalias 'elpy-test-get-discover-runner #[0 "\b\302\211\ 2:\203&\0\ 2@\262\ 2\ 1\303\230\203\1a\0 \ 1B\262\ 1\202\1f\0\ 1\ 1B\262\ 1\ 2A\262\ 3\202\ 3\0\211\237\207" [elpy-test-discover-runner-command python-shell-interpreter nil "python-shell-interpreter"] 5 (#$ . 66562)])
394#@124 Test the project using the python unittest discover runner.
395
396This requires Python 2.7 or later.
397
398(fn TOP FILE MODULE TEST)\1f
399(defalias 'elpy-test-discover-runner #[1028 "\211\203\f\0\300\301\ 3\ 3#\202\15\0\ 1\203\14\0\ 1\202\15\0\302\303\304\ 6\ 6\305\306 \ 5C\"#\207" [format "%s.%s" "discover" apply elpy-test-run append elpy-test-get-discover-runner] 11 (#$ . 66886) (elpy-test-at-point)])
400(put 'elpy-test-discover-runner 'elpy-test-runner-p t)
401#@69 Test the project using the green runner.
402
403(fn TOP FILE MODULE TEST)\1f
404(defalias 'elpy-test-green-runner #[1028 "\211\203\f\0\301\302\ 3\ 3#\202\11\0\ 1\205\11\0\ 1\211\203\1d\0\303\b\ 2C\"\202\1e\0\b\304\305\ 6\a\ 3#\207" [elpy-test-green-runner-command format "%s.%s" append apply elpy-test-run] 10 (#$ . 67315) (elpy-test-at-point)])
405(put 'elpy-test-green-runner 'elpy-test-runner-p t)
406#@122 Test the project using the nose test runner.
407
408This requires the nose package to be installed.
409
410(fn TOP FILE MODULE TEST)\1f
411(defalias 'elpy-test-nose-runner #[1028 "\ 1\203\1d\0\301\302\ 5\303\b\ 5\203\17\0\304\305\ 6\b\ 6\b#\202\19\0\ 6\ 6C\"#\207\301\302\ 5\b#\207" [elpy-test-nose-runner-command apply elpy-test-run append format "%s:%s"] 13 (#$ . 67678) (elpy-test-at-point)])
412(put 'elpy-test-nose-runner 'elpy-test-runner-p t)
413#@137 Test the project using Twisted's Trial test runner.
414
415This requires the twisted-core package to be installed.
416
417(fn TOP FILE MODULE TEST)\1f
418(defalias 'elpy-test-trial-runner #[1028 "\ 1\203\1d\0\301\302\ 5\303\b\ 5\203\17\0\304\305\ 6\b\ 6\b#\202\19\0\ 6\ 6C\"#\207\301\302\ 5\b#\207" [elpy-test-trial-runner-command apply elpy-test-run append format "%s.%s"] 13 (#$ . 68085) (elpy-test-at-point)])
419(put 'elpy-test-trial-runner 'elpy-test-runner-p t)
420#@127 Test the project using the py.test test runner.
421
422This requires the pytest package to be installed.
423
424(fn TOP FILE MODULE TEST)\1f
425(defalias 'elpy-test-pytest-runner #[1028 "\211\203\e\0\301\ 1\302\"\303\304\ 6\ 6\305\b\306\307\ 6\n\ 6\bB\310#C\"#\207\ 1\203*\0\303\304\ 5\305\b\ 6\aC\"#\207\303\304\ 5\b#\207" [elpy-test-pytest-runner-command split-string "\\." apply elpy-test-run append mapconcat identity "::"] 14 (#$ . 68510) (elpy-test-at-point)])
426(put 'elpy-test-pytest-runner 'elpy-test-runner-p t)
427#@37 History for the `elpy-doc' command.\1f
428(defvar elpy-doc-history nil (#$ . 68992))
429#@169 Show documentation for the symbol at point.
430
431If there is no documentation for the symbol at point, or if a
432prefix argument is given, prompt for a symbol from the user.\1f
433(defalias 'elpy-doc #[0 "\301\b\204/\0\302 \262\ 1\211\204\16\0\212\303 \210\302 \262\ 1)\211\204 \0\304\305 !\262\ 1\211\204/\0\212\303 \210\304\305 !\262\ 1)\211\204;\0\304\306\305 !!\262\ 1\211\203C\0\307\ 1!\207\310\311!\207" [current-prefix-arg nil elpy-rpc-get-docstring python-nav-backward-up-list elpy-rpc-get-pydoc-documentation elpy-doc--symbol-at-point elpy-doc--read-identifier-from-minibuffer elpy-doc--show error "No documentation found"] 4 (#$ . 69078) nil])
434#@65 Read a pydoc-able identifier from the minibuffer.
435
436(fn INITIAL)\1f
437(defalias 'elpy-doc--read-identifier-from-minibuffer #[257 "\300\301\302\303!\304\211\ 5\305&\ 6\207" [completing-read "Pydoc for: " completion-table-dynamic elpy-rpc-get-pydoc-completions nil elpy-doc-history] 8 (#$ . 69705)])
438#@77 Show DOCUMENTATION to the user, replacing ^H with bold.
439
440(fn DOCUMENTATION)\1f
441(defalias 'elpy-doc--show #[257 "\b\305\211\223\210\306 B\307\nB\1a\19\310 \13\311\312!\211\1c\305\211r\312q\210\313 \210\ 3c\210eb\210\314\315\305\316#\205;\0\317\320\321\322!\323\324#\316\211#\210\202$\0)\262\ 1r\ 2q\210\325\ 3\305\"\262\ 2)\326\327!\203V\0\327\ 2\ 2\"\202W\0\211)\266\203*\207" [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 "*Python Doc*" erase-buffer re-search-forward "\\(.\\)\b\\1" t replace-match propertize match-string 1 face bold temp-buffer-window-show functionp help-window-setup] 9 (#$ . 69999)])
442#@60 Return the Python symbol at point, including dotted paths.\1f
443(defalias 'elpy-doc--symbol-at-point #[0 "\301 p\302\303\ 3\ 3#\216\304\b!\210\305 \211\205\16\0\306\ 1!\262\ 1)\207" [python-dotty-syntax-table syntax-table make-closure #[0 "r\301q\210\302\300!)\207" [V0 V1 set-syntax-table] 2] set-syntax-table symbol-at-point symbol-name] 6 (#$ . 70734)])
444#@68 Replace a block. SPEC is (startline endline newblock).
445
446(fn SPEC)\1f
447(defalias 'elpy-buffer--replace-block #[257 "\211@\ 1A@\300\ 38\212\214~\210eb\210\ 2y\210`\ 2\ 4Zy\210`\ 1\ 1{\ 3\230?\205(\0\ 1\ 1|\210\ 2c\266\202*\207" [2] 8 (#$ . 71080)])
448#@72 Replace text in BUFFER in region (BEG END) with REP.
449
450(fn BEG END REP)\1f
451(defalias 'elpy-buffer--replace-region #[771 "\ 2\ 2{\ 1\230?\205\14\0\212\ 1b\210\211c\210\ 2\ 2|)\207" [] 5 (#$ . 71307)])
452(defalias 'elpy-importmagic-add-import #[0 "\300\207" [nil] 1 nil nil])
453(defalias 'elpy-importmagic-fixup #[0 "\300\207" [nil] 1 nil nil])
454(byte-code "\300\301\302\303#\210\300\304\302\303#\207" [make-obsolete elpy-importmagic-add-import "support for importmagic has been dropped." "1.17.0" elpy-importmagic-fixup] 4)
455#@44 Format code using the available formatter.\1f
456(defalias 'elpy-format-code #[0 "\b\206$\0\3012$\0\302\211\205!\0\211@\303\ 1!\203\1a\0\304\301\ 2\"\210\ 1A\266\202\202 \0\262\ 10\211\18\204-\0\305\306!\210\303\b!\2048\0\305\307\b\"\210\310 \203B\0\311\312\b\"\210\313\314\315\b\"! )\207" [elpy-formatter available (yapf autopep8 black) elpy-config--package-available-p throw error "No formatter installed, please install one using `elpy-config'" "The '%s' formatter is not installed, please install it using `elpy-config' or choose another one using `elpy-formatter'" interactive-p message "Autoformatting code with %s." intern format "elpy-%s-fix-code"] 6 (#$ . 71812) nil])
457#@126 Automatically formats Python code with yapf.
458
459Yapf can be configured with a style file placed in the project
460root directory.\1f
461(defalias 'elpy-yapf-fix-code #[0 "\300\301!\207" [elpy--fix-code-with-formatter "fix_code_with_yapf"] 2 (#$ . 72466) nil])
462#@156 Automatically formats Python code to conform to the PEP 8 style guide.
463
464Autopep8 can be configured with a style file placed in the project
465root directory.\1f
466(defalias 'elpy-autopep8-fix-code #[0 "\300\301!\207" [elpy--fix-code-with-formatter "fix_code"] 2 (#$ . 72722) nil])
467#@108 Automatically formats Python code with black.
468Note: Requires 'toml' to be installed due to legacy reasons.\1f
469(defalias 'elpy-black-fix-code #[0 "\300\301!\207" [elpy--fix-code-with-formatter "fix_code_with_black"] 2 (#$ . 73002) nil])
470#@57 Common routine for formatting python code.
471
472(fn METHOD)\1f
473(defalias 'elpy--fix-code-with-formatter #[257 "\301 i\302 \203\ f\0\303\302 !\202\10\0\b\304 \203/\0\305\ 4\306 \ 3D\"\307 \310 \311\ 2\ 2\312\ 6\ 6!#\210\211b\210\313 \207\305\ 4\314 \ 3D\"ed\311\ 2\ 2\ 5#\210o\205H\0\ 5Sy\210\ 4u\207" [default-directory line-number-at-pos elpy-project-root expand-file-name use-region-p elpy-rpc elpy-rpc--region-contents region-beginning region-end elpy-buffer--replace-region string-trim-right deactivate-mark elpy-rpc--buffer-contents] 12 (#$ . 73241)])
474#@42 List of overlays currently being edited.\1f
475(defvar elpy-multiedit-overlays nil (#$ . 73762))
476#@138 Add an editable overlay between BEG and END.
477
478A modification in any of these overlays will modify all other
479overlays, too.
480
481(fn BEG END)\1f
482(defalias 'elpy-multiedit-add-overlay #[514 "\301\ 2\ 2\"\203\v\0\302\303!\210\304\ 2\ 2\305\211\306%\307\ 1\310\311#\210\307\ 1\312\313#\210\307\ 1\314\315#\210\307\ 1\316\317#\210\307\ 1\320\321#\210\211\bB\211\10\207" [elpy-multiedit-overlays elpy-multiedit--overlays-in-p error "Overlapping multiedit overlays are not allowed" make-overlay nil :rear-advance overlay-put elpy-multiedit t face highlight modification-hooks (elpy-multiedit--overlay-changed) insert-in-front-hooks (elpy-multiedit--overlay-changed) insert-behind-hooks (elpy-multiedit--overlay-changed)] 8 (#$ . 73860) "r"])
483#@78 Return t iff there are multiedit overlays between beg and end.
484
485(fn BEG END)\1f
486(defalias 'elpy-multiedit--overlays-in-p #[514 "\3002$\0\301\ 2\ 2\"\211\203!\0\211@\302\ 1\303\"\203\1a\0\304\300\305\"\210\ 1A\266\202\202\b\0\210\3060\207" [return overlays-in overlay-get elpy-multiedit throw t nil] 7 (#$ . 74571)])
487#@39 Stop editing multiple places at once.\1f
488(defalias 'elpy-multiedit-stop #[0 "\b\211\203\12\0\211@\301\ 1!\210\ 1A\266\202\202\ 1\0\210\302\211\10\207" [elpy-multiedit-overlays delete-overlay nil] 4 (#$ . 74875) nil])
489#@131 Called for each overlay that changes.
490
491This updates all other overlays.
492
493(fn OV AFTER-CHANGE BEG END &optional PRE-CHANGE-LENGTH)\1f
494(defalias 'elpy-multiedit--overlay-changed #[1284 "\ 3\205Q\0\b?\205Q\0\303\ 5!\205Q\0\304\ 5!\305\ 6\ 6!{\306\19\n\211\205L\0\211@\211\ 6\b\232\204E\0\307\303\ 2!!\203E\0r\303\ 1!q\210\212\304\ 1!b\210\ 2c\210`\305\ 2!|\210*\ 1A\266\202\202\1a\0\262\ 1)\262\ 1\207" [undo-in-progress inhibit-modification-hooks elpy-multiedit-overlays overlay-buffer overlay-start overlay-end t buffer-live-p] 11 (#$ . 75083)])
495#@101 Edit all occurences of the symbol at point, or the active region.
496
497If multiedit is active, stop it.\1f
498(defalias 'elpy-multiedit #[0 "\b\203\a\0\302 \207\303 \203\16\0\304\305 \306 {!\202\1f\0\307\310\304\311\312 !!\"\313\19\212eb\210\314\ 1\313\315#\2057\0\316\317\224\317\225\"\210\202%\0*\207" [elpy-multiedit-overlays case-fold-search elpy-multiedit-stop use-region-p regexp-quote region-beginning region-end format "\\_<%s\\_>" symbol-name symbol-at-point nil re-search-forward t elpy-multiedit-add-overlay 0] 5 (#$ . 75591) nil])
499#@212 Edit all usages of the the Python symbol at point.
500
501With prefix arg, edit all syntactic usages of the symbol at
502point. This might include unrelated symbols that just share the
503name.
504
505(fn &optional USE-SYMBOL-P)\1f
506(defalias 'elpy-multiedit-python-symbol-at-point #[256 "\b\204\r\0\211\204\r\0\301 \203\11\0\302\303!\207\304 \210\3051\1e\0\306 0\202@\0\211@\307=\2039\0\211A@;\2039\0\310\311\ 2A@\"\2039\0\312\202>\0\307\ 1A@!\262\ 1\211\313\267\202^\0\302\303!\210\314\315!\207\302\303!\210\b\203Z\0\314\316!\207\314\317!\207\214~\210\320\ 1!)\207" [elpy-multiedit-overlays use-region-p call-interactively elpy-multiedit save-some-buffers (error) elpy-rpc-get-usages error string-match "not implemented" not-supported #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (not-supported 70 nil 78)) message "Using syntactic editing as current backend does not support get_usages." "Using syntactic editing as no usages of the symbol at point were found by the backend." "No occurrences of the symbol at point found" elpy-multiedit--usages] 5 (#$ . 76116) "P"])
507#@53 Mark the usages in USAGES for editing.
508
509(fn USAGES)\1f
510(defalias 'elpy-multiedit--usages #[257 "\301\302\303\304\"\ 2\211\203b\0\211@\305\ 1\236A\306\ 2\236A\307\ 3\236A\ 1\262\ar\ 2\203&\0\310\ 3!\202'\0pq\210\311\ 1T\ 2T\ 4G\\\"\210\212\211Tb\210\312\ 3\ 2\313 \314 {`\313 Z`\ 6\aG\\\313 ZF\315\ 6\ 6\ 6\n\"B\ 6\b#\210*\266\ 3\ 1A\266\202\202\ 6\0\210\316\ 1!\317X\203r\0\320\321\ 4G\ 4#\207r\322\323!q\210\324\301C\ 1\18\325 \210\326\327\ 5\330\331$\210\332\333\334\ 3\"\ 4\"\210\335\ 1\242\336\"\211\203\330\0\211@\337\ 1!\210\335\315\ 2\ 6\a\"\340\"\211\203\315\0\211@\211A@\313 \341\ 38\\\314 \342\ 48\\\ 2\343\261\ 2\210\311\ 2\ 2\"\266\ 4\ 1A\266\202\202\246\0\210\343c\210\ 1A\266\202\202\224\0\210eb\210\344p\301\345#)\266\202)\207" [inhibit-read-only nil make-hash-table :test equal filename name offset find-file-noselect elpy-multiedit-add-overlay puthash line-beginning-position line-end-position gethash hash-table-count 1 message "Editing %s usages of '%s' in this buffer" get-buffer-create "*Elpy Edit Usages*" t erase-buffer elpy-insert--para "The symbol '" "' was found in multiple files. Editing " "all locations:\n\n" maphash make-closure #[514 "\ 1\300\242\235?\205\ e\0\300\ 2\300\242B\240\207" [V0] 5 "\n\n(fn KEY VALUE)"] sort string< elpy-insert--header #[514 "\ 1@\ 1@W\207" [] 4 "\n\n(fn LOC1 LOC2)"] 2 3 "\n" display-buffer visible] 15 (#$ . 77184)])
511#@97 Display an occur buffer of all definitions in the current buffer.
512
513Also, switch to that buffer.\1f
514(defalias 'elpy-occur-definitions #[0 "\301\18\302\303!\210)\304\305!\211\203\12\0\306\ 1!\207\307\305!\207" [list-matching-lines-face nil occur "^ *\\(\\(async \\|\\)def\\|class\\) " get-buffer-window "*Occur*" select-window switch-to-buffer] 3 (#$ . 78461) nil])
515#@43 Return the name of the elpy xref backend.\1f
516(defalias 'elpy--xref-backend #[0 "\302\b!\204\v\0\303 \204\ f\0 \205\10\0\304\207" [elpy-rpc--buffer elpy-rpc--jedi-available elpy-rpc--process-buffer-p elpy-rpc--get-rpc-buffer elpy] 2 (#$ . 78821)])
517#@51 String used to format references in xref buffers.\1f
518(defvar elpy-xref--format-references (byte-code "\300\301\302\303\304\305%\210\305\207" [put-text-property 0 4 face compilation-line-number "%s: %s"] 6) (#$ . 79062))
519(byte-code "\300\301!\203\ f\ 1\302\303\304\"\210\305\306\307\303#\210\302\306\310\"\210\311\306\312\313#\210\305\314\315\306#\210\302\316\317\"\210\305\320\307\316#\210\302\320\321\"\210\311\320\312\322#\210\302\323\324\"\210\305\325\307\323#\210\302\325\326\"\210\311\325\312\322#\210\302\327\330\"\210\302\331\332\"\210\305\333\307\331#\210\302\333\334\"\210\311\333\312\322#\210\302\335\336\"\210\305\337\307\335#\210\302\337\340\"\210\311\337\312\322#\210\341\314\342\343\344\345\346\347\314\322& \210\302\337\350\"\210\351\352\345\353\345\354%\210\351\355\345\356\345\357%\210\351\360\345\361\345\362%\210\302\363\364\"\210\302\365\366\"\210\302\367\370\"\210\302\371\372\"\210\351\373\345\374\345\375%\210\302\376\377\"\210\351\201@\0\345\201A\0\345\201B\0%\210\302\201C\0\201D\0\"\210\351\201E\0\345\201F\0\345\201G\0%\210\302\201H\0\201I\0\"\210\351\201J\0\345\201K\0\345\201L\0%\210\302\201M\0\201N\0\"\210\345\207" [featurep xref defalias xref-elpy-location-p--cmacro #[514 "\300\301\302\303\211\211\ 6\ 6&\ 6\207" [cl--defsubst-expand (cl-x) (cl-block xref-elpy-location-p (and (memq (type-of cl-x) cl-struct-xref-elpy-location-tags) t)) nil] 9 "compiler-macro for inlining `xref-elpy-location-p'.\n\n(fn CL-WHOLE-ARG CL-X)"] put xref-elpy-location-p compiler-macro #[257 "\301\ 1!\b>\205 \0\302\207" [cl-struct-xref-elpy-location-tags type-of t] 3 "\n\n(fn CL-X)"] function-put side-effect-free error-free xref-elpy-location cl-deftype-satisfies xref-elpy-location-file--cmacro #[514 "\300\301\302\303\211\211\ 6\ 6&\ 6\207" [cl--defsubst-expand (cl-x) (cl-block xref-elpy-location-file (progn (or #1=(xref-elpy-location-p cl-x) (signal #2='wrong-type-argument (list 'xref-elpy-location . #3=(cl-x)))) (aref cl-x 1))) nil] 9 "compiler-macro for inlining `xref-elpy-location-file'.\n\n(fn CL-WHOLE-ARG CL-X)"] xref-elpy-location-file #[257 "\301\ 1!\b>\204\ f\0\302\303\304\ 3D\"\210\211\305H\207" [cl-struct-xref-elpy-location-tags type-of signal wrong-type-argument xref-elpy-location 1] 5 "Access slot \"file\" of `xref-elpy-location' struct CL-X.\n\n(fn CL-X)"] t xref-elpy-location-pos--cmacro #[514 "\300\301\302\303\211\211\ 6\ 6&\ 6\207" [cl--defsubst-expand (cl-x) (cl-block xref-elpy-location-pos (progn (or #1# (signal #2# (list 'xref-elpy-location . #3#))) (aref cl-x 2))) nil] 9 "compiler-macro for inlining `xref-elpy-location-pos'.\n\n(fn CL-WHOLE-ARG CL-X)"] xref-elpy-location-pos #[257 "\301\ 1!\b>\204\ f\0\302\303\304\ 3D\"\210\211\305H\207" [cl-struct-xref-elpy-location-tags type-of signal wrong-type-argument xref-elpy-location 2] 5 "Access slot \"pos\" of `xref-elpy-location' struct CL-X.\n\n(fn CL-X)"] copy-xref-elpy-location copy-sequence make-xref-elpy-location--cmacro #[385 "\300\ 1\301\"A@\300\ 2\302\"A@\ 2\211\2037\0\211@\303>\203 \0\211AA\262\ 1\202\r\0\304\ 4>A@\203.\0\305\262\ 1\202\r\0\306\307\ 2@\"\210\202\r\0\210\310\311\312\305\ 6\a\305\ 6\a\ 6\a&\a\207" [plist-member :file :pos (:file :pos . #4=(:allow-other-keys)) :allow-other-keys nil error "Keyword argument %s not one of (:file :pos)" cl--defsubst-expand (file pos) (cl-block make-xref-elpy-location (record #5='xref-elpy-location file pos))] 12 "compiler-macro for inlining `make-xref-elpy-location'.\n\n(fn CL-WHOLE &cl-quote &key FILE POS)"] make-xref-elpy-location #[128 "\300\ 1\301\"A@\300\ 2\302\"A@\ 2\211\2037\0\211@\303>\203 \0\211AA\262\ 1\202\r\0\304\ 4>A@\203.\0\305\262\ 1\202\r\0\306\307\ 2@\"\210\202\r\0\210\310\311\ 3\ 3#\207" [plist-member :file :pos (:file :pos . #4#) :allow-other-keys nil error "Keyword argument %s not one of (:file :pos)" record xref-elpy-location] 7 "Constructor for objects of type `xref-elpy-location'.\n\n(fn &key FILE POS)"] xref-make-elpy-location--cmacro #[771 "\300\301\302\303\211\211\ 6\a\ 6\a&\a\207" [cl--defsubst-expand (file pos) (cl-block xref-make-elpy-location (record #5# file pos)) nil] 11 "compiler-macro for inlining `xref-make-elpy-location'.\n\n(fn CL-WHOLE-ARG FILE POS)"] xref-make-elpy-location #[514 "\300\301\ 3\ 3#\207" [record xref-elpy-location] 6 "Constructor for objects of type `xref-elpy-location'.\n\n(fn FILE POS)"] cl-struct-define "Location of a python symbol definition." cl-structure-object record nil ((cl-tag-slot) (file) (pos)) cl-struct-xref-elpy-location-tags #[514 "\300\301\302\303\ 5!\304\ 5%\207" [make-instance xref-etags-location :file expand-file-name :pos] 8 "Return an elpy location structure.\nPoints to file FILE, at position POS.\n\n(fn FILE POS)"] cl-generic-define-method xref-location-marker ((l xref-elpy-location)) #[257 "r\301\302\ 2!\b>\204\11\0\303\304\305\ 4D\"\210\ 1\306H!q\210\212\302\ 1!\b>\204'\0\303\304\305\ 3D\"\210\211\307Hb\210\310 *\207" [cl-struct-xref-elpy-location-tags find-file-noselect type-of signal wrong-type-argument xref-elpy-location 1 2 point-marker] 6 "\n\n(fn L)"] xref-location-group ((l xref-elpy-location)) #[257 "\301\ 1!\b>\204\ f\0\302\303\304\ 3D\"\210\211\305H\207" [cl-struct-xref-elpy-location-tags type-of signal wrong-type-argument xref-elpy-location 1] 5 "\n\n(fn L)"] xref-backend-identifier-at-point ((_backend (eql elpy))) #[257 "\300 \207" [elpy-xref--identifier-at-point] 2 "\n\n(fn BACKEND)"] elpy-xref--identifier-at-point #[0 "\300 \301\302\ 2!!\ 1\205\11\0\303\304\305 \ 3#\207" [symbol-at-point substring-no-properties symbol-name format "%s: %s" line-number-at-pos] 6 "Return identifier at point.\n\nIs a string, formatted as \"LINE_NUMBER: VARIABLE_NAME\".\n"] elpy-xref--identifier-name #[257 "\300\301\ 2\"\210\302\303\ 2\"\207" [string-match ".*: \\([^:]*\\)" match-string 1] 4 "Return the identifier ID variable name.\n\n(fn ID)"] elpy-xref--identifier-line #[257 "\300\301\ 2\"\210\302\303\304\ 3\"!\207" [string-match "\\([^:]*\\):.*" string-to-number match-string 1] 5 "Return the identifier ID line number.\n\n(fn ID)"] elpy-xref--goto-identifier #[257 "\301\18eb\210\302\ 1!Sy\210\303\304\ 2!\305 \"\210\306\224b)\207" [case-fold-search nil elpy-xref--identifier-line search-forward elpy-xref--identifier-name line-end-position 0] 4 "Goto the identifier ID in the current buffer.\nThis is needed to get information on the identifier with jedi\n(that work only on the symbol at point)\n\n(fn ID)"] xref-backend-definitions ((_backend (eql elpy)) id) #[514 "\300\ 1!\207" [elpy-xref--definitions] 4 "\n\n(fn BACKEND ID)"] elpy-xref--definitions #[257 "\212\301\ 1!\210\302 \211\204\11\0\303\304!\202F\0\305\ 1@!\ 1A@Tr\306\ 2!q\210\211Tb\210\307 \310 {)r\306\ 3!q\210\311\ 2!)\312\b\ 2\ 4#\313\314\ 6\ 6\ 6\ 6#\315\ 2\ 2\"C\266\206\262\ 1)\207" [elpy-xref--format-references elpy-xref--goto-identifier elpy-rpc-get-definition error "No definition found" expand-file-name find-file-noselect line-beginning-position line-end-position line-number-at-pos format record xref-elpy-location xref-make] 11 "Return SYMBOL definition position as a xref object.\n\n(fn ID)"] xref-backend-references ((_backend (eql elpy)) id) #[514 "\300\ 1!\207" [elpy-xref--references] 4 "\n\n(fn BACKEND ID)"] elpy-xref--references #[257 "\212\301\ 1!\210\302 \211\303\211\211\211\211\211\211\211\211\ 6 :\203\202\0\ 6 @\262 \304\305\ 6\n\"\262\b\304\306\ 6\n\"T\262\a\ 6\a\205C\0r\307\ 6\b!q\210\212\ 6\ 6Tb\210\310 \311 {*\262\ 6\ 6\a\205V\0r\307\ 6\b!q\210\312\ 6\a!)\262\ 5\313\b\ 6\ 6\ 6\b#\262\ 4\314\315\ 6 \ 6 #\262\ 3\ 6\a\203w\0\316\ 4\ 4\"\ 2B\262\ 2\ 6 A\262\n\303\262\ 1\202\11\0\ 1\237\266\212\262\ 1)\207" [elpy-xref--format-references elpy-xref--goto-identifier elpy-rpc-get-usages nil alist-get filename offset find-file-noselect line-beginning-position line-end-position line-number-at-pos format record xref-elpy-location xref-make] 16 "Return SYMBOL references as a list of xref objects.\n\n(fn ID)"] xref-backend-identifier-completion-table ((_backend (eql elpy))) #[257 "\300 \207" [elpy-xref--get-completion-table] 2 "\n\n(fn BACKEND)"] elpy-xref--get-completion-table #[0 "\300 \237\301\211\211\211\211\211\ 6\ 6:\203<\0\ 6\ 6@\262\ 6\302\303\ 6\a\"T\262\ 5\304\ 5!\262\ 4\305\306\ 5\302\307\ 6\n\"#\262\ 3\ 2\ 2B\262\ 2\ 6\ 6A\262\a\301\262\ 1\202 \0\ 1\237\207" [elpy-rpc-get-names nil alist-get offset line-number-at-pos format "%s: %s" name] 13 "Return the completion table for identifiers."] xref-backend-apropos ((_backend (eql elpy)) regex) #[514 "\300\ 1!\207" [elpy-xref--apropos] 4 "\n\n(fn BACKEND REGEX)"] elpy-xref--apropos #[257 "\302 \303\18\211\303\211\211\211\211\211\ 6\ 6:\203h\0\ 6\ 6@\262\ 6\304\305\ 6\a\"\262\ 5\304\306\ 6\a\"\262\ 4\304\307\ 6\a\"T\262\ 3\310\ 6 \ 6\ 6\"\203]\0r\311\ 4!q\210\ 2b\210\212\312 \313 \314 {\315 \ 3\ 3#\316\317\ 6\b\ 6\b#\320\ 2\ 2\"\266\204*\ 2B\262\ 2\ 6\ 6A\262\a\303\262\ 1\202\v\0\ 1\237\266\207)\207" [case-fold-search elpy-xref--format-references elpy-rpc-get-names nil alist-get name filename offset string-match find-file-noselect line-number-at-pos line-beginning-position line-end-position format record xref-elpy-location xref-make] 16 "Return identifiers matching REGEX.\n\n(fn REGEX)"]] 10)
520#@62 Boolean, set to true if modules were run with `global-init'.\1f
521(defvar elpy-modules-initialized-p nil (#$ . 87814))
522#@83 Run COMMAND with ARGS for all modules in `elpy-modules'.
523
524(fn COMMAND &rest ARGS)\1f
525(defalias 'elpy-modules-run #[385 "\b\211\205\14\0\211@\301\ 1\ 5\ 5#\210\ 1A\266\202\202\ 1\0\207" [elpy-modules apply] 8 (#$ . 87934)])
526#@80 Run the global-init method of Elpy modules.
527
528Make sure this only happens once.\1f
529(defalias 'elpy-modules-global-init #[0 "\b?\205\f\0\301\302!\210\303\211\10\207" [elpy-modules-initialized-p elpy-modules-run global-init t] 2 (#$ . 88145)])
530#@101 Run the global-stop method of Elpy modules.
531
532Make sure this only happens once per global-init call.\1f
533(defalias 'elpy-modules-global-stop #[0 "\b\205\v\0\301\302!\210\303\211\10\207" [elpy-modules-initialized-p elpy-modules-run global-stop nil] 2 (#$ . 88386)])
534#@85 Run the buffer-init method of Elpy modules.
535
536Make sure global-init is called first.\1f
537(defalias 'elpy-modules-buffer-init #[0 "\300 \210\301\302!\207" [elpy-modules-global-init elpy-modules-run buffer-init] 2 (#$ . 88647)])
538#@45 Run the buffer-stop method of Elpy modules.\1f
539(defalias 'elpy-modules-buffer-stop #[0 "\300\301!\207" [elpy-modules-run buffer-stop] 2 (#$ . 88875)])
540#@221 Remove the lighter for MODENAME.
541
542It should not be necessary to see (Python Elpy yas company ElDoc) all the
543time.
544
545If you need your modeline, you can set the variable `elpy-remove-modeline-lighter' to nil
546
547(fn MODENAME)\1f
548(defalias 'elpy-modules-remove-modeline-lighter #[257 "\b\205\e\0\211\303=\203\ e\0\304\211\11\207\211\n\236\211\205\19\0\211\305C\241\262\ 1\207" [elpy-remove-modeline-lighter eldoc-minor-mode-string minor-mode-alist eldoc-minor-mode nil ""] 4 (#$ . 89030) nil])
549#@68 Module for sane Emacs default for python.
550
551(fn COMMAND &rest ARGS)\1f
552(defalias 'elpy-module-sane-defaults #[385 "\ 1\302\267\202\1c\0\303\300!\210\304\10\303\301!\210\305\211\11\207\306\300!\210\306\301!\207\304\207" [forward-sexp-function comment-inline-offset #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (buffer-init 6 buffer-stop 20)) make-local-variable nil 2 kill-local-variable] 4 (#$ . 89507)])
553#@70 Module to support company-mode completions.
554
555(fn COMMAND &rest ARGS)\1f
556(defalias 'elpy-module-company #[385 "\ 1\306\267\202e\0\307\310!\210\307\311!\210\312\313!\210\314\b\315\316#\210\317\320\321\"\207\322\301!\210\323\11\322\302!\210\324\12\322\303!\210\324\13\322\304!\210\325\326\327\326\330\326\311\331\332\f\"\"\"\"B\14\313\333!\210\334 \rV\205f\0\335\336\337 \r#\207\313\340!\210\341\301!\210\341\302!\210\341\304!\207\342\207" [company-active-map company-idle-delay company-tooltip-align-annotations company-dabbrev-code-everywhere company-backends elpy-rpc-ignored-buffer-size #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (global-init 6 buffer-init 29 buffer-stop 85)) require company company-capf elpy-modules-remove-modeline-lighter company-mode define-key "\ 4" company-show-doc-buffer add-hook inferior-python-mode-hook #[0 "\302\300!\210\303\304\b\"\10\302\301!\210\305\211\11\207" [company-transformers company-minimum-prefix-length make-local-variable remove company-sort-by-occurrence 2] 3] make-local-variable 0.1 t elpy-company-backend delq company-semantic company-ropemacs mapcar identity 1 buffer-size message "Buffer %s larger than elpy-rpc-ignored-buffer-size (%d). Elpy will turn off completion." buffer-name -1 kill-local-variable nil] 12 (#$ . 89945)])
557#@47 Buffer-local cache for candidate information.\1f
558(defvar elpy-company--cache nil (#$ . 91248))
559(make-variable-buffer-local 'elpy-company--cache)
560#@33 Clear and initialize the cache.\1f
561(defalias 'elpy-company--cache-clear #[0 "\b\203\b\0\301\b!\207\302\303\304\"\211\10\207" [elpy-company--cache clrhash make-hash-table :test equal] 3 (#$ . 91396)])
562#@51 Return the cached annotation for NAME.
563
564(fn NAME)\1f
565(defalias 'elpy-company--cache-annotation #[257 "\b\205\v\0\301\302\ 2\b\"\236A\207" [elpy-company--cache annotation gethash] 5 (#$ . 91593)])
566#@51 Return the cached annotation for NAME.
567
568(fn NAME)\1f
569(defalias 'elpy-company--cache-meta #[257 "\b\205\v\0\301\302\ 2\b\"\236A\207" [elpy-company--cache meta gethash] 5 (#$ . 91786)])
570#@158 Return the cached name for NAME.
571
572Confused yet? We pass "our" name, that is, prefix + suffix,
573here, and return the "name" as used by the backend.
574
575(fn NAME)\1f
576(defalias 'elpy-company--cache-name #[257 "\b\205\v\0\301\302\ 2\b\"\236A\207" [elpy-company--cache name gethash] 5 (#$ . 91968)])
577#@80 Store RESULT in the candidate cache and return candidates.
578
579(fn PREFIX RESULT)\1f
580(defalias 'elpy-company--cache-completions #[514 "\300 \210\301\302\303\ 4\"\ 2\"\207" [elpy-company--cache-clear mapcar make-closure #[257 "\302\ 1\236A\303\304 \300\"\ 1P\305\ 1\ 4 #\210\207" [V0 elpy-company--cache name s-chop-suffix company-grab-symbol puthash] 7 "\n\n(fn COMPLETION)"]] 6 (#$ . 92256)])
581#@54 Check whether NAME is a Python exception.
582
583(fn NAME)\1f
584(defalias 'elpy-company--python-exception-p #[257 "\211\300\235\207" [("ArithmeticError" "AssertionError" "AttributeError" "BlockingIOError" "BrokenPipeError" "BufferError" "BytesWarning" "ChildProcessError" "ConnectionAbortedError" "ConnectionError" "ConnectionRefusedError" "ConnectionResetError" "DeprecationWarning" "EOFError" "EnvironmentError" "Exception" "FileExistsError" "FileNotFoundError" "FloatingPointError" "FutureWarning" "IOError" "ImportError" "ImportWarning" "IndentationError" "IndexError" "InterruptedError" "IsADirectoryError" "KeyError" "LookupError" "MemoryError" "NameError" "NotADirectoryError" "NotImplementedError" "OSError" "OverflowError" "PendingDeprecationWarning" "PermissionError" "ProcessLookupError" "RecursionError" "ReferenceError" "ResourceWarning" "RuntimeError" "RuntimeWarning" "StandardError" "StopAsyncIteration" "StopIteration" "SyntaxError" "SyntaxWarning" "SystemError" "TabError" "TimeoutError" "TypeError" "UnboundLocalError" "UnicodeDecodeError" "UnicodeEncodeError" "UnicodeError" "UnicodeTranslateError" "UnicodeWarning" "UserWarning" "ValueError" "Warning" "ZeroDivisionError")] 3 (#$ . 92638)])
585#@353 Complete functions, classes, and callable instances with parentheses.
586
587Add parentheses in case ANNOTATION is "class", "function", or
588"instance",unless the completion is already looking at a left
589 parenthesis,or unless NAME is a Python exception outside a reasonably
590 formed raise statement,or unless NAME is no callable instance.
591
592(fn ANNOTATION NAME)\1f
593(defalias 'elpy-company-post-complete-parens #[514 "\301\302\18\303\ 1!)\262\ 1?\205T\0\ 1\304\230\203\19\0\305c\210\306u\207\ 1\307\230\203<\0\310\ 1!\2036\0\212\311v\210\303\312!)\205T\0\305c\210\306u\207\305c\210\306u\207\ 1\313\230\205T\0\305c\210\306u\210\314 ?\205T\0\306u\210\315\316!\207" [inhibit-changing-match-data "(" t looking-at "function" "()" -1 "class" elpy-company--python-exception-p -2 "\\_<raise\\_>" "instance" elpy-rpc-get-calltip delete-char 2] 5 (#$ . 93846)])
594#@252 Add completions candidates from the shell to the list of candidates.
595
596Get completions candidates at point from the shell, normalize them to look
597like what elpy-company returns, merge them with the CANDIDATES list
598and return the list.
599
600(fn CANDIDATES)\1f
601(defalias 'elpy-company--add-interpreter-completions-candidates #[257 "\b\203 \0\303 \204\n\0\207\212r\304\305 !q\210db\210)\3062.\0\307 \310\311#\211\nB\1a\312\313\ 2\"\216\314 *\262\ 10\211\306=\2038\0\315\2029\0\211\262\ 1\211@\ 1A@\316\ 38\ 2\203K\0\ 1\204Q\0\ 4\266\204\202\236\0\317\320\321\ 6\a#\322\ 4\ 4{\ 3\"\211\310\211\211\211\211\ 5:\203\231\0\ 5@\262\ 2\323\324\325\ 4#\262\ 2\323\326\325\ 4#\262\ 2\327\ 2!\262\ 2\ 1\ 6\b\235\204\217\0\330\ 2BC\ 6\rB\262\r\ 5A\262\ 6\310\262\ 1\202c\0\266\b\ 4\266\204)\207" [elpy-get-info-from-shell elpy-get-info-from-shell-timeout with-timeout-timers elpy-shell--check-if-shell-available process-buffer python-shell-get-process #1=#:timeout run-with-timer nil #[0 "\300\301\211\"\207" [throw #1#] 3] make-closure #[0 "\301\300!\207" [V0 cancel-timer] 2] python-completion-complete-at-point (nil nil nil) 2 cl-map list #[257 "\300\ 1\236A\207" [name] 3 "\n\n(fn EL)"] all-completions replace-regexp-in-string "($" "" "^.*\\." string-trim name] 17 (#$ . 94668)])
602#@76 A company-mode backend for Elpy.
603
604(fn COMMAND &optional ARG &rest IGNORED)\1f
605(defalias 'elpy-company-backend #[641 "\ 2\302\267\202o\0\303\304!\207\b\205\18\0\305 ?\205p\0\306\307\310\"\207\311\312\313\ 4\"B\207\314\207\315\207\316\ 2!\211\2038\0\317\320\ 2\"\2038\0\321\310\ 2\"\262\ 1\207\322\ 2!\207\323\ 2!\211\205G\0\324\ 1!\211\205N\0\325\ 1!\207\326\207\323\ 2!\211\205[\0\327\ 1!\211\205e\0\211@\ 1A@B\207 \322\ 3!\323\ 4!\"\207\315\207" [elpy-mode elpy-company-post-completion-function #s(hash-table size 11 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (interactive 6 prefix 10 candidates 25 sorted 32 duplicates 34 meta 36 annotation 57 doc-buffer 61 require-match 79 location 81 post-completion 102)) company-begin-backend elpy-company-backend company-in-string-or-comment company-grab-symbol-cons "\\." 1 :async make-closure #[257 "\301\302\303\300\ 4#!\207" [V0 elpy-rpc-get-completions make-closure #[257 "\303\ 1!\262\ 1\304 \210\301\ 1\203\14\0\305\300\ 3\"\202%\0\300G\nV\203$\0\306\307\310\300\"!\202%\0\311!\207" [V0 V1 company-minimum-prefix-length elpy-company--add-interpreter-completions-candidates elpy-company--cache-clear elpy-company--cache-completions elpy--sort-and-strip-duplicates company-dabbrev-code candidates nil] 6 "\n\n(fn RESULT)"]] 6 "\n\n(fn CALLBACK)"] t nil elpy-company--cache-meta string-match "\\`\\(.*\n.*\\)\n.*" match-string elpy-company--cache-annotation elpy-company--cache-name elpy-rpc-get-completion-docstring company-doc-buffer never elpy-rpc-get-completion-location] 7 (#$ . 95859) (byte-code "\300C\207" [interactive] 1)])
606#@47 Sort SEQ and remove any duplicates.
607
608(fn SEQ)\1f
609(defalias 'elpy--sort-and-strip-duplicates #[257 "\300\301\ 2!\302\"\207" [sort delete-dups #[514 "\ 1\ 1\231\207" [] 4 "\n\n(fn A B)"]] 4 (#$ . 97403)])
610#@68 Module to support ElDoc for Python files.
611
612(fn COMMAND &rest ARGS)\1f
613(defalias 'elpy-module-eldoc #[385 "\ 1\303\267\202D\0\304\305!\210\306\307!\207\310\311!\210\312\300!\210\313\314\b\"\10\315\316 \"\2032\0\317\320!\2032\0\321\320\322\323\324$\210\2028\0\312\302!\210\322\12\325\326!\207\325\327!\210\330\302!\207\323\207" [company-frontends emacs-version eldoc-documentation-function #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (global-init 6 buffer-init 14 buffer-stop 60)) require eldoc elpy-modules-remove-modeline-lighter eldoc-minor-mode eldoc-add-command-completions "python-indent-dedent-line-backspace" make-local-variable remq company-echo-metadata-frontend version< "28.0.0" boundp eldoc-documentation-functions add-hook elpy-eldoc-documentation nil t eldoc-mode 1 -1 kill-local-variable] 7 (#$ . 97603)])
614#@640 Return some interesting information for the code at point.
615
616This function is meant to be added to `eldoc-documentation-functions'
617(for Emacs >= 28) or set in `eldoc-documentation-function' (for older
618Emacs versions).
619
620This will return flymake errors for the line at point if there are
621any. If not, this will do an asynchronous call to the RPC backend to
622get a call tip, and display that using `eldoc-message'. If the backend
623has no call tip, this will display the current class and method
624instead.
625
626If specified, CALLBACK is the function called to display the
627documentation (only used for Emacs >= 28).
628
629(fn &optional CALLBACK &rest MORE)\1f
630(defalias 'elpy-eldoc-documentation #[384 "\ 1\206\ 5\0\301\302 \211\203\f\0\207\303\304\305\ 4\"!\210\ 3\203\19\0\306\207\b\207" [eldoc-last-message #[385 "\302\ 1\303\"\302\ 2\304\"\210\305\ 1\2031\0\306\307\310\ 4\311\312#\"\262\ 2\313\b\314\"\203(\0\306\315\ 3\ 6\ 6#\202/\0\305\19\316\ 2\ 5\")\262\ 4\317\ 4!\207" [emacs-version eldoc-echo-area-use-multiline-p plist-get :thing :face nil format "%s: " propertize face font-lock-function-name-face version<= "25" "%s%s" eldoc-docstring-format-sym-doc eldoc-message] 10 "\n\n(fn DOC &rest PLIST)"] elpy-flymake-error-at-point elpy-rpc-get-calltip-or-oneline-docstring make-closure #[257 "\211;\203 \0\300\ 1!\207\302\ 1\236A\303\230\203C\0\304\ 1\236A\305\ 2\236A\306\ 3\236A\ 1\2030\0\ 1\ 1\233\211\307\ 4\ 48\310\311#\240\266\ 2\307\ 3\310\312#\313\314\ 2\315\316\ 6\ 6\317##\300\ 1!\207\302\ 1\236A\320\230\203\\\0\304\ 1\236A\321\ 2\236A\300\ 1\322\ 4\323\312%\207 \205t\0\324 \211\205r\0\325\326\307\313\327\ 5\"\310\312#P!\262\ 1\207" [V0 elpy-eldoc-show-current-function kind "calltip" name index params propertize face eldoc-highlight-function-argument font-lock-function-name-face format "%s(%s)" mapconcat identity ", " "oneline_doc" doc :thing :face python-info-current-defun eldoc-message "In: " "%s()"] 12 "\n\n(fn INFO)"] t] 8 (#$ . 98457)])
631#@66 Module allowing code folding in Python.
632
633(fn COMMAND &rest ARGS)\1f
634(defalias 'elpy-module-folding #[385 "\ 1\304\267\202h\0\305\306!\207\306\307!\210\310\300!\210\311\10\310\301!\210\312\11\313\n\314\315#\210\313\n\316\317#\210\320 \210\321\303\320\"\207\306\322!\210\323\300!\210\323\301!\210\313\n\324\325#\210\313\n\326\325#\210\327\320\v\"\210\330\325\ 1:\203d\0\ 1@\262\ 1\331ed\ 3\312$\210\ 1A\262\ 2\202M\0\266\ 2\325\207\325\207" [hs-set-up-overlay hs-allow-nesting elpy-mode-map after-change-functions #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (global-init 6 buffer-init 10 buffer-stop 46)) elpy-modules-remove-modeline-lighter hs-minor-mode 1 make-local-variable elpy-folding--display-code-line-counts t define-key [left-fringe mouse-1] elpy-folding--click-fringe [mouse-1] elpy-folding--click-text elpy-folding--mark-foldable-lines add-to-list -1 kill-local-variable [left-fringe mouse-1] nil [mouse-1] remove (elpy-hs-folded elpy-hs-foldable elpy-hs-fringe) remove-overlays] 9 (#$ . 100315)])
635(byte-code "\300\301!\203$\0\301\302\303\304\211\211\305\306\307\310\311&\b\"\210\301\312\303\313\314\315\316\211\315\314\313&\b\"\210\317\320\321\322\323DD\324\325\326\327\330&\a\210\331\320\332\324\327\330%\210\317\333\321\322\334DD\335\325\326\327\330&\a\210\331\333\336\335\327\330%\210\317\337\321\322\340DD\341\342\343%\207" [fboundp define-fringe-bitmap elpy-folding-fringe-marker vector 0 195 231 126 60 24 elpy-folding-fringe-foldable-marker 32 16 8 4 custom-declare-variable elpy-folding-fringe-face funcall function #[0 "\300\207" [elpy-folding-fringe-face] 1 #1=""] "Face for folding bitmaps appearing on the fringe." :type face :group elpy custom-declare-face ((t (:inherit 'font-lock-comment-face :box (:line-width 1 :style released-button)))) elpy-folding-face #[0 "\300\207" [elpy-folding-face] 1 #1#] "Face for the folded region indicator." ((t (:inherit 'font-lock-comment-face :box t))) elpy-folding-fringe-indicators #[0 "\300\207" [t] 1 #1#] "Non-nil if Elpy should display folding fringe indicators." :set #[514 "\302\ 2\ 2\"\210\303 \211\205&\0\211@r\211q\210\b)\203\1f\0\304 >\203\1f\0\304 \210\ 1A\266\202\202\a\0\207" [elpy-mode after-change-functions set-default buffer-list elpy-folding--mark-foldable-lines] 6 "\n\n(fn VAR VAL)"]] 11)
636#@63 Regular expression matching docstrings openings and closings.\1f
637(defvar elpy-folding-docstring-regex "[uU]?[rR]?\"\"\"" (#$ . 102586))
638#@52 Version of `hs-block-start-regexp' for docstrings.\1f
639(defvar elpy-docstring-block-start-regexp "^\\s-*[uU]?[rR]?\"\"\"\n?\\s-*" (#$ . 102725))
640(custom-declare-face 'elpy-codecell-boundary '((t :inherit 'highlight)) "Face for elpy codecell boundary." :group 'elpy-mode)
641#@119 Display a folded region indicator with the number of folded lines.
642
643Meant to be used as `hs-set-up-overlay'.
644
645(fn OV)\1f
646(defalias 'elpy-folding--display-code-line-counts #[257 "\301\ 1\302\"\303=\203N\0\304\305\ 2!\306\ 3!\"\307\310\ 2\"\b\2030\0\311\312\313\314\315\316\317E\320%\210\321\ 3\322\320#\210\321\ 3\323\324#\210\311\312\ 2G\325\326\ 5%\210\311\312\ 2G\327\330\ 5%\210\321\ 3\314\ 3#\210\321\ 3\331\324#\207\301\ 1\302\"\332=\204`\0\301\ 1\302\"\333=\205s\0\311\312\334\327\330\335%\210\321\ 1\314\335#\210\321\ 1\331\324#\207" [elpy-folding-fringe-indicators overlay-get hs code count-lines overlay-start overlay-end format "(%d)..." put-text-property 0 14 display left-fringe elpy-folding-fringe-marker elpy-folding-fringe-face "*fringe-dummy*" overlay-put before-string elpy-hs-fringe t face elpy-folding-face mouse-face highlight elpy-hs-folded docstring comment 3 "..."] 10 (#$ . 102999)])
647#@137 Add a fringe indicator for foldable lines.
648
649Meant to be used as a hook to `after-change-functions'.
650
651(fn &optional BEG END RM-TEXT-LEN)\1f
652(defalias 'elpy-folding--mark-foldable-lines #[768 "\b\205a\0\212\214\303 \304\305\ 2\"\216\ 3\203!\0\ 2\203!\0\ 3b\210\306 \ 3b\210\307 }\210\310ed\311\312$\210eb\210\313 \314\312#\205]\0\306 \307 \315\ 2\ 2\"\316\317\n\"\203S\0\320\321\322\323\324\325\326E\327%\210\330\ 1\331\327#\210\330\ 1\311\312#\266\ 4\202+\0)\262\ 1*\207" [elpy-folding-fringe-indicators python-nav-beginning-of-defun-regexp emacs-version match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] line-beginning-position line-end-position remove-overlays elpy-hs-foldable t re-search-forward nil make-overlay version<= "25.2" put-text-property 0 14 display left-fringe elpy-folding-fringe-foldable-marker elpy-folding-fringe-face "*fringe-dummy*" overlay-put before-string] 14 (#$ . 103872)])
653#@49 Hide or show block on fringe click.
654
655(fn EVENT)\1f
656(defalias 'elpy-folding--click-fringe #[257 "\b\2055\0\304\211\19\1a\v\2054\0\305\ 1!\210\212\306\7f\210\307\310\311`!\")\307\312\311`!\"\ 1\203,\0\313 \266\202\2024\0\211\2052\0\314 \266\202*\207" [hs-minor-mode case-fold-search inhibit-point-motion-hooks elpy-folding-fringe-indicators t mouse-set-point nil cl-remove-if-not #[257 "\300\ 1\301\"\207" [overlay-get elpy-hs-folded] 4 "\n\n(fn OV)"] overlays-at #[257 "\300\ 1\301\"\207" [overlay-get elpy-hs-foldable] 4 "\n\n(fn OV)"] hs-show-block hs-hide-block] 6 (#$ . 104778) "e"])
657#@34 Show block on click.
658
659(fn EVENT)\1f
660(defalias 'elpy-folding--click-text #[257 "\b\205-\0\303\211\19\1a\212\304\ 1!\211@\262\ 1\305\304\ 3!!r\306\ 2!q\210\211b\210\307`!\205)\0\310 \210\311 )\266\202+\207" [hs-minor-mode case-fold-search inhibit-point-motion-hooks t event-end posn-point window-buffer hs-overlay-at hs-show-block deactivate-mark] 5 (#$ . 105347) "e"])
661#@213 Hide a region from BEG to END, marking it as a docstring.
662
663BEG and END have to be respectively on the first and last line
664of the docstring, their values are adapted to hide only the
665docstring body.
666
667(fn BEG END)\1f
668(defalias 'elpy-folding--hide-docstring-region #[514 "\b\205e\0\306\211\19\1a\212\ 1b\210\307 \210\310\v\311\vQ\312 \306#)?\205d\0\212\ 1b\210\212\307 \210\310\v\313P\312 \306#)\2034\0\314y\210\307 \210\315 \210`\262\ 2\312 \14)\212\211b\210\316 \262\ 1\312 \15)\317\f\r\"\210\320\f\r\321\ 5\fZ\ 5\rZ%\210\322\323!\210\ 1b*\207" [hs-minor-mode case-fold-search inhibit-point-motion-hooks elpy-folding-docstring-regex ov-beg ov-end t beginning-of-line re-search-forward ".*" line-end-position "[[:space:]]*$" 1 back-to-indentation line-beginning-position hs-discard-overlays hs-make-overlay docstring run-hooks hs-hide-hook] 9 (#$ . 105704)])
669#@30 Hide the docstring at point.\1f
670(defalias 'elpy-folding--hide-docstring-at-point #[0 "\b\205w\0\306\211\19\1a\v\1c\307 \205v\0\310 ?\205v\0\311\211\211\211\212\312y\210\307 )\204*\0\313 \262\ 4\202<\0\312y\210\311\7f\210\314\315\rP\311\306#\210\313 \262\ 4\316\r\311\306#\210\317 \262\ 2\212\320y\210\307 )\204[\0\321 \262\ 3\317 \262\ 1\202i\0\316\r\311\306#\210\321 \262\ 3\317 \262\ 1\211\ 2U?\205t\0\322\ 4\ 4\"\266\204+\207" [hs-minor-mode case-fold-search inhibit-point-motion-hooks elpy-docstring-block-start-regexp hs-block-start-regexp elpy-folding-docstring-regex t python-info-docstring-p hs-already-hidden-p nil -1 line-beginning-position re-search-backward "^[[:space:]]*" re-search-forward line-number-at-pos 1 line-end-position elpy-folding--hide-docstring-region] 8 (#$ . 106532)])
671#@26 Show docstring at point.\1f
672(defalias 'elpy-folding--show-docstring-at-point #[0 "\b\205\12\0\305\211\19\1a\v\1c\306 \205\11\0\307 +\207" [hs-minor-mode case-fold-search inhibit-point-motion-hooks elpy-docstring-block-start-regexp hs-block-start-regexp t python-info-docstring-p hs-show-block] 2 (#$ . 107292)])
673#@43 If docstrings are globally hidden or not.\1f
674(defvar elpy-folding-docstrings-hidden nil (#$ . 107593))
675(make-variable-buffer-local 'elpy-folding-docstrings-hidden)
676#@56 Fold or unfold every docstrings in the current buffer.\1f
677(defalias 'elpy-folding-toggle-docstrings #[0 "\b\204\b\0\305\306!\207\b\203Z\0\307\211\19\1a\212eb\210\310 \203Y\0\311\312\313\307#\210\313y\210\314 \203\14\0\315 \210\311\v\313\307#\203\14\0\316u\210\317 \210\320`!\203I\0\321\320`!\322\"\323=\203\14\0\f\203S\0\324 \210\202\14\0\325 \210\202\14\0+\f?\211\14\207" [hs-minor-mode case-fold-search inhibit-point-motion-hooks elpy-folding-docstring-regex elpy-folding-docstrings-hidden message "Please enable the 'Folding module' to use this functionality." t python-nav-forward-defun search-forward-regexp ")\\s-*:" nil python-info-docstring-p beginning-of-line 2 back-to-indentation hs-overlay-at overlay-get hs docstring elpy-folding--show-docstring-at-point elpy-folding--hide-docstring-at-point] 4 (#$ . 107760) nil])
678#@41 If comments are globally hidden or not.\1f
679(defvar elpy-folding-comments-hidden nil (#$ . 108562))
680(make-variable-buffer-local 'elpy-folding-comments-hidden)
681#@60 Fold or unfold every comment blocks in the current buffer.\1f
682(defalias 'elpy-folding-toggle-comments #[0 "\b\204\b\0\304\305!\207\b\205U\0\306\211\19\1a\212eb\210\307d\306\"\203O\0\310`!\203,\0\311\310`!\312\"\313=\203G\0\v\204D\0\212\314y\210\315\316 \317 \")\203G\0\320 \210\202G\0\321 \210\322\323 !\210\202\14\0)\v?\211\13*\207" [hs-minor-mode case-fold-search inhibit-point-motion-hooks elpy-folding-comments-hidden message "Please enable the 'Folding module' to use this functionality." t comment-search-forward hs-overlay-at overlay-get hs comment nil comment-only-p line-beginning-position line-end-position hs-hide-block hs-show-block python-util-forward-comment buffer-size] 3 (#$ . 108723) nil])
683#@82 Hide blocks that do not contain others blocks in region (BEG END).
684
685(fn BEG END)\1f
686(defalias 'elpy-folding--hide-leafs #[514 "\b\205b\0\306\211\19\1a\212\ 1b\210\307 \203\1d\0`T\262\ 2\v\310!\210`S\262\ 1\f\204&\0\311\ 2\ 2\"\210\306\312\313 !\210`\ 2W\203W\0\314\r\ 3\306#\203W\0\ e\12\224\16\13\315\ e\13\ 3\"\203Q\0\212\ e\13b\210\316\306!\210)\317\262\ 1\202'\0\ 1b\210\320\321!\210\211\262\ 1+\207" [hs-minor-mode case-fold-search inhibit-point-motion-hooks hs-forward-sexp-func hs-allow-nesting hs-block-start-regexp t hs-find-block-beginning 1 hs-discard-overlays forward-comment buffer-size re-search-forward elpy-folding--hide-leafs hs-hide-block-at-point nil run-hooks hs-hide-hook hs-block-start-mdata-select pos] 7 (#$ . 109412)])
687#@51 Hide all blocks that do not contain other blocks.\1f
688(defalias 'elpy-folding-hide-leafs #[0 "\b\204\b\0\303\304!\207\b\205:\0\305\211\19\1a\212\306 \203\e\0\307 \202\1c\0eb\210\310 )\212\306 \203,\0\311 \202-\0db\210\312 T)\313\ 2\ 2\"\266\202*\207" [hs-minor-mode case-fold-search inhibit-point-motion-hooks message "Please enable the 'Folding module' to use this functionality." t use-region-p region-beginning line-beginning-position region-end line-end-position elpy-folding--hide-leafs] 5 (#$ . 110105) nil])
689#@52 Hide the region betwwen BEG and END.
690
691(fn BEG END)\1f
692(defalias 'elpy-folding--hide-region #[514 "\b\2051\0\303\211\19\1a\212\ 1b\210\304 \ 1b\210\304 \305\ 2\ 2\"\210\306\ 2\ 2\307\ 6\a\ 6\ 6Z\ 6\a\ 6\ 6Z%\210\310\311!\210\312 \266\202+\207" [hs-minor-mode case-fold-search inhibit-point-motion-hooks t line-end-position hs-discard-overlays hs-make-overlay code run-hooks hs-hide-hook deactivate-mark] 11 (#$ . 110602)])
693#@99 Fold/Unfold the block, comment or docstring at point.
694
695If a region is selected, fold that region.\1f
696(defalias 'elpy-folding-toggle-at-point #[0 "\b\204\b\0\305\306!\207\b\205A\0\307\211\19\1a\310 \203\1e\0\311\312 \313 \"\202@\0\314 \203'\0\v\202(\0\f\1c\315 \2033\0\316 \202?\0\314 \203=\0\317 \202?\0\320 )*\207" [hs-minor-mode case-fold-search inhibit-point-motion-hooks elpy-docstring-block-start-regexp hs-block-start-regexp message "Please enable the 'Folding module' to use this functionality." t use-region-p elpy-folding--hide-region region-beginning region-end python-info-docstring-p hs-already-hidden-p hs-show-block elpy-folding--hide-docstring-at-point hs-hide-block] 3 (#$ . 110995) nil])
697#@61 Enable Flymake support for Python.
698
699(fn COMMAND &rest ARGS)\1f
700(defalias 'elpy-module-flymake #[385 "\ 1\306\267\202\325\0\307\310!\210\311\b\312\"\203\15\0\313\314!\210\315\312\b\"?\205\326\0\316 \235\203%\0 \207\316 B\211\11\207\317\n>\203>\0\v\203>\0\320\304!\210\321\14\202D\0\320\304!\210\322\14\315\312\b\"\203g\0\320\323!\210\324\r!\325\ 1@!\326\230\203b\0\327\ 1\330\"\202c\0\211\262\ 1\16\13\320\331!\210\332\16\19\320\333!\210\334\16\e\315\312\b\"\203\204\0\335\336\337\"\210\202\233\0\340\341!\203\224\0\320\341!\210\342\16!\202\233\0\320\343!\210\342\16#\344 \205\261\0\315\312\b\"\204\256\0\345\ e*!\205\326\0\314\346!\207\314\347!\210\350\331!\210\350\333!\210\315\312\b\"\203\307\0\351\207\340\341!\203\321\0\350\341!\207\350\343!\207\334\207" [emacs-version flymake-allowed-file-name-masks elpy-modules elpy-folding-fringe-indicators flymake-fringe-indicator-position elpy-syntax-check-command #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (global-init 6 buffer-init 43 buffer-stop 178)) require flymake version< "26.1" elpy-modules-remove-modeline-lighter flymake-mode version<= ("\\.py\\'" elpy-flymake-python-init) elpy-module-folding make-local-variable right-fringe left-fringe python-flymake-command split-string file-name-nondirectory "flake8" append ("-") flymake-no-changes-timeout 60 flymake-start-syntax-check-on-newline nil set-default python-flymake-msg-alist (("^W[0-9]+" . :warning) ("^E[0-9]+" . :error)) boundp flymake-warning-predicate "^W[0-9]" flymake-warning-re buffer-file-name executable-find 1 -1 kill-local-variable t python-check-command] 6 (#$ . 111681)])
701(defalias 'elpy-flymake-python-init #[0 "\302\b!?\205\11\0\303\304! \ 1C\305E\262\ 1\207" [buffer-file-name python-check-command file-remote-p flymake-init-create-temp-buffer-copy flymake-create-temp-inplace "/"] 4])
702#@64 Move forward to the next Flymake error and show a description.\1f
703(defalias 'elpy-flymake-next-error #[0 "\300 \210\301 \207" [flymake-goto-next-error elpy-flymake-show-error] 1 (#$ . 113471) nil])
704#@69 Move backward to the previous Flymake error and show a description.\1f
705(defalias 'elpy-flymake-previous-error #[0 "\300 \210\301 \207" [flymake-goto-prev-error elpy-flymake-show-error] 1 (#$ . 113672) nil])
706#@42 Show the flymake error message at point.\1f
707(defalias 'elpy-flymake-show-error #[0 "\300 \211\205\n\0\301\302\ 2\"\207" [elpy-flymake-error-at-point message "%s"] 4 (#$ . 113882) nil])
708#@61 Return the flymake error at point, or nil if there is none.\1f
709(defalias 'elpy-flymake-error-at-point #[0 "\301\300!\203\17\0\302 \303\b\ 2\"@\211\205\16\0\304\305\ 2\306#\207\307\310!\2051\0\307\311!\2051\0\311`!\211\205/\0\304\310\ 2\306#\262\ 1\207" [flymake-err-info boundp line-number-at-pos flymake-find-err-info mapconcat flymake-ler-text ", " fboundp flymake-diagnostic-text flymake-diagnostics] 6 (#$ . 114067)])
710#@75 Module to highlight indentation in Python files.
711
712(fn COMMAND &rest ARGS)\1f
713(defalias 'elpy-module-highlight-indentation #[385 "\ 1\300\267\202\12\0\301\302!\207\303\304!\207\303\305!\207\306\207" [#s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (global-init 6 buffer-init 10 buffer-stop 14)) require highlight-indentation highlight-indentation-mode 1 -1 nil] 4 (#$ . 114474)])
714#@85 Module to display the current virtualenv in the mode line.
715
716(fn COMMAND &rest ARGS)\1f
717(defalias 'elpy-module-pyvenv #[385 "\ 1\300\267\202\ e\0\301\302!\207\301\303!\207\304\207" [#s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (global-init 6 global-stop 10)) pyvenv-mode 1 -1 nil] 4 (#$ . 114888)])
718#@63 Module to enable YASnippet snippets.
719
720(fn COMMAND &rest ARGS)\1f
721(defalias 'elpy-module-yasnippet #[385 "\ 1\301\267\202H\0\302\303!\210\304\305!\210\b<\204\16\0\bC\10\306\307\310!!\311P\211\b\235\203)\0\b\266\ 2\2020\0\312\b\ 2C\"\10\210\313 \207\314\306\307\310!!\311P\b\"\211\10\207\305\315!\207\305\316!\207\317\207" [yas-snippet-dirs #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (global-init 6 global-stop 51 buffer-init 64 buffer-stop 68)) require yasnippet elpy-modules-remove-modeline-lighter yas-minor-mode file-name-directory locate-library "elpy" "snippets/" append yas-reload-all delete 1 -1 nil] 6 (#$ . 115224)])
722#@60 Module to provide Django support.
723
724(fn COMMAND &rest ARGS)\1f
725(defalias 'elpy-module-django #[385 "\ 1\301\267\202$\0\302\b>\203\ e\0\b\207\303\b\302C\"\211\10\207\304\302\b\"\211\10\207\305 \207\306\307!\207\310\207" [elpy-project-root-finder-functions #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (global-init 6 global-stop 22 buffer-init 29 buffer-stop 32)) elpy-project-find-django-root append remove elpy-django-setup elpy-django -1 nil] 5 (#$ . 115870)])
726#@72 Module to automatically update documentation.
727
728(fn COMMAND &rest ARGS)\1f
729(defalias 'elpy-module-autodoc #[385 "\ 1\301\267\2021\0\302\303\304\305\306$\210\302\307\310\305\306$\210\311\300!\210\312\300\313\314#\207\315\303\304\306#\210\315\307\310\306#\210\316\313\b\"\211\10\207\305\207" [company-frontends #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (buffer-init 6 buffer-stop 30)) add-hook pre-command-hook elpy-autodoc--pre-command nil t post-command-hook elpy-autodoc--post-command make-local-variable add-to-list elpy-autodoc--frontend :append remove-hook remove] 7 (#$ . 116360)])
730#@33 Timer to refresh documentation.\1f
731(defvar elpy-autodoc--timer nil (#$ . 116986))
732(byte-code "\300\301\302\303\304DD\305\306\307\310\311\310\312& \207" [custom-declare-variable elpy-autodoc-delay funcall function #[0 "\300\207" [0.5] 1 ""] "The idle delay in seconds until documentation is refreshed automatically." :type (choice (const :tag "immediate (0)" 0) (number :tag "seconds")) :group elpy elpy-autodoc] 10)
733#@38 Cancel autodoc timer on user action.\1f
734(defalias 'elpy-autodoc--pre-command #[0 "\b\205\v\0\301\b!\210\302\211\10\207" [elpy-autodoc--timer cancel-timer nil] 2 (#$ . 117405)])
735#@41 Set up autodoc timer after user action.\1f
736(defalias 'elpy-autodoc--post-command #[0 "\b\205\v\0\302\b\303\304#\211\11\207" [elpy-autodoc-delay elpy-autodoc--timer run-with-timer nil elpy-autodoc--refresh-doc] 4 (#$ . 117579)])
737#@58 Refresh the doc asynchronously with the symbol at point.\1f
738(defalias 'elpy-autodoc--refresh-doc #[0 "\300\301!\205\n\0\302\303\304\"\207" [get-buffer-window "*Python Doc*" elpy-rpc-get-docstring elpy-autodoc--show-doc #[257 "\300\207" [nil] 2 "\n\n(fn REASON)"]] 3 (#$ . 117804)])
739#@81 Display DOC (if any) but only if the doc buffer is currently visible.
740
741(fn DOC)\1f
742(defalias 'elpy-autodoc--show-doc #[257 "\211\205\r\0\300\301!\205\r\0\302\ 1!\207" [get-buffer-window "*Python Doc*" elpy-doc--show] 3 (#$ . 118088)])
743#@68 Elpy autodoc front-end for refreshing documentation.
744
745(fn COMMAND)\1f
746(defalias 'elpy-autodoc--frontend #[257 "\211\302\267\202\"\0\b\205#\0 \203\12\0\303 !\210\304\b\305\306#\211\11\207 \205#\0\303 !\207\305\207" [elpy-autodoc-delay elpy-autodoc--timer #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (post-command 6 hide 26)) cancel-timer run-with-timer nil elpy-autodoc--refresh-doc-from-company] 5 (#$ . 118320)])
747#@69 Refresh the doc asynchronously using the current company candidate.\1f
748(defalias 'elpy-autodoc--refresh-doc-from-company #[0 "\b 8\302\ 1!\303\ 1!\207" [company-selection company-candidates elpy-rpc-get-completion-docstring elpy-autodoc--show-doc] 4 (#$ . 118768)])
749(byte-code "\303\304!\204\v\0\305\304\306\"\210\303\307!\204\16\0\305\307\310\"\210\303\311!\204!\0\305\311\312\"\210\303\313!\204,\0\305\313\314\"\210\303\315!\2047\0\305\315\316\"\210\303\317!\204B\0\305\317\320\"\210\303\321!\204M\0\305\321\322\"\210\303\323!\204X\0\305\323\324\"\210\303\325!\204c\0\305\325\326\"\210\303\327!\204n\0\305\327\330\"\210\303\331!\204y\0\305\331\332\"\210\b\333W\204\213\0\b\333U\203\220\0 \334X\203\220\0\305\335\336\"\210\303\337!\204\233\0\305\337\340\"\210\341\n\342\"\203\247\0\305\343\344\"\210\303\345!\204\262\0\305\345\346\"\210\347\350!\204\275\0\351\352\353\"\210\303\354!\204\310\0\305\354\355\"\210\303\356!\204\323\0\305\356\357\"\210\303\360!\204\336\0\305\360\361\"\210\362\363!\207" [emacs-major-version emacs-minor-version emacs-version fboundp python-info-current-defun defalias python-current-defun python-nav-forward-statement #[128 "\300\301!\207" [error "Enhanced Python navigation only available in Emacs 24.3+"] 3 "Function added in Emacs 24.3\n\n(fn &rest IGNORED)"] python-nav-backward-up-list #[0 "\3001\b\0\301 0\207\210\302\207" [(error) backward-up-list nil] 1 "Compatibility function for older Emacsen"] python-shell-calculate-exec-path #[0 "\b\207" [exec-path] 1 "Compatibility function for older Emacsen."] python-shell-calculate-process-environment #[0 "\b\207" [process-environment] 1 "Compatibility function for older Emacsen."] python-shell-get-process-name #[257 "\300\207" ["Python"] 2 "Compatibility function for older Emacsen.\n\n(fn DEDICATED)"] python-shell-parse-command #[0 "\b\207" [python-python-command] 1 "Compatibility function for older Emacsen."] python-shell-send-buffer #[256 "\300 \207" [python-send-buffer] 2 "\n\n(fn &optional ARG)"] python-shell-send-string python-send-string python-indent-shift-right python-shift-right python-indent-shift-left python-shift-left 24 2 locate-dominating-file #[514 "\301\ 2!\262\ 2\302\211\ 1\204H\0\ 3\203H\0\303\b\ 5\"\204H\0\ 2;\203%\0\304\305\ 4\ 6\ 6\"!\202(\0\ 2\ 4!\262\ 1\211\2034\0\ 3\262\ 2\202\a\0\ 3\306\307\ 6\ 6!!\211\262\ 6\232\203\a\0\302\262\ 4\202\a\0\ 1\205O\0\310\ 2!\207" [locate-dominating-stop-dir-regexp abbreviate-file-name nil string-match file-exists-p expand-file-name file-name-directory directory-file-name file-name-as-directory] 8 "Look up the directory hierarchy from FILE for a directory containing NAME.\nStop at the first parent directory containing a file NAME,\nand return the directory. Return nil if not found.\nInstead of a string, NAME can also be a predicate taking one argument\n(a directory) and returning a non-nil value if that directory is the one for\nwhich we're looking.\n\n(fn FILE NAME)"] highlight-indentation-mode #[257 "\211\301V\203\r\0\b\204\r\0\302 \207\211\301X\205\19\0\b\205\19\0\302 \207" [highlight-indent-active 0 highlight-indentation] 3 "\n\n(fn ON-OR-OFF)"] version< "25.2" python-shell-completion-native-try #[0 "\303\b\19\1a\304\305p!\306\307#*\207" [python-shell-completion-native-try-output-timeout python-shell-completion-native-output-timeout python-shell-completion-native-enable t python-shell-completion-native-get-completions get-buffer-process nil "_"] 4 "Return non-nil if can trigger native completion."] python-info-encoding #[0 "\300\207" [utf-8] 1] boundp python-shell-first-prompt-hook add-hook inferior-python-mode-hook #[0 "\300 \205\12\0\301p!\302\303\304\300 \"\ 2\"\262\ 1\207" [elpy-project-root get-buffer-process python-shell-send-string format "import sys;sys.path.append('%s');del sys"] 5] python-shell-comint-end-of-output-p #[257 "\301\302\303\304\305\b#\306Q\ 2\"\207" [python-shell--prompt-calculated-input-regexp string-match "\r?\n?" replace-regexp-in-string "\\`\\^" "" "\\'"] 7 "Return non-nil if OUTPUT is ends with input prompt.\n\n(fn OUTPUT)"] python-info-docstring-p #[256 "\212\300 \210\301\302!\205\12\0\303y\210\304 \210\305 )\207" [python-nav-beginning-of-statement looking-at "\\(\"\\|'\\)" -1 beginning-of-line python-info-looking-at-beginning-of-defun] 3 "Return non-nil if point is in a docstring.\n\n(fn &optional SYNTAX-PPSS)"] alist-get #[642 "\300\ 3\ 3\"A\207" [assoc] 6 "\n\n(fn KEY ALIST &rest REST)"] provide elpy] 3)