Function: doom-modeline-env-update-python
doom-modeline-env-update-python is a byte-compiled function defined in
doom-modeline-env.el.
Signature
(doom-modeline-env-update-python)
Documentation
Updates the python version string in the modeline.
Source Code
;; Defined in /nix/store/1lcicrdd2r4b8rkc91nnn74ymk1jl6yd-emacs-packages-deps/share/emacs/site-lisp/elpa/doom-modeline-20260928.1632/doom-modeline-env.el
;; Bootstrap
;; Versions, support Python, Ruby, Perl and Golang, etc.
;;;###autoload (autoload 'doom-modeline-env-setup-python "doom-modeline-env")
(doom-modeline-def-env python
:hooks '(python-mode-hook python-ts-mode-hook)
:command (lambda () (cond ((and (executable-find "pipenv")
(locate-dominating-file default-directory "Pipfile"))
(list "pipenv" "run"
(or doom-modeline-env-python-executable
python-shell-interpreter
"python")
"--version"))
((executable-find "pyenv") (list "pyenv" "version-name"))
((and (executable-find "direnv")
(locate-dominating-file default-directory ".envrc"))
(list "bash"
"-c"
;; Direnv unfortunately writes crao on stderr
;; so we need to pipe that to /dev/null
(format "direnv exec %s %s --version 2>/dev/null"
(file-truename default-directory)
(or doom-modeline-env-python-executable
python-shell-interpreter
"python"))))
((list (or doom-modeline-env-python-executable
python-shell-interpreter
"python")
"--version"))))
:parser (lambda (line) (let ((version (split-string line)))
(if (length> version 1)
(cadr version)
(car version)))))