Moved add-hook calls (for tree-sitter initialization) into their respective modes' config blocks, or nearby, to be consistent with how other, similar tools (like lsp!) are initialized, and does so at runtime, rather than at expansion/compile time, which eval-when! caused. |
||
|---|---|---|
| .. | ||
| autoload | ||
| config.el | ||
| doctor.el | ||
| packages.el | ||
| README.org | ||
lang/python
Description
Adds Python support to Doom Emacs.
- Syntax checking (
flycheck) - Snippets
- Run tests (
nose,pytest) - Auto-format (
black), requires:editor format - LSP integration (mspyls, pyls, or pyright)
Module Flags
+lspLanguage Server Protocol support+pyrightUse the pyright LSP server instead of mspyls or pyls (requires+lsp).+pyenvPython virtual environment support via pyenv+condaPython virtual environment support via Conda+poetryPython packaging, dependency management, and virtual environment support via Poetry+cythonCython files support via cython-mode
Plugins
- anaconda-mode*
- pyimport*
- py-isort*
- nose*
- python-pytest*
- pip-requirements*
- pipenv*
-
if
+conda -
if
+pyenv -
if
+poetry -
if
+lspand:tools lsp- lsp
-
if
+pyright -
else
-
if
+cython- cython-mode
- if
:checkers syntax: flycheck-cython
Prerequisites
This module has no hard prerequisites, but a few soft ones:
-
For this module's supported test runners:
pip install pytestpip install nose
- The
:editor formatmodule uses Black for python files ::pip install black pyimportrequires Python's modulepyflakes::pip install pyflakespy-isortrequires isort to be installed ::pip install isort-
Python virtual environments install instructions at:
cythonrequires Cython
Language Server Protocol Support
For LSP support the :tools lsp module must be enabled, along with this
module's +lsp flag. By default, it supports mspyls and pyls, in that
order. With the +pyright flag, it will try Pyright first.
Each of these servers must be installed on your system via your OS package manager or manually:
- pyls can be installed with
pip install python-language-server[all]. - mspyls can be installed by typing
M-x lsp-install-server RET mspyls. - pyright can be installed with
pip install pyrightornpm i -g pyright.
Features
This module supports LSP. It requires installation of Python Language Server, Microsoft Language Server, or pyright, see LSP Support.
To enable support for auto-formatting with black enable :editor format in
init.el file.
Keybindings
| Binding | Description |
|---|---|
<localleader> c c |
Compile Cython buffer |
<localleader> i i |
Insert mising imports |
<localleader> i r |
Remove unused imports |
<localleader> i s |
Sort imports |
<localleader> i o |
Optimize imports |
<localleader> t r |
nosetests-again |
<localleader> t a |
nosetests-all |
<localleader> t s |
nosetests-one |
<localleader> t v |
nosetests-module |
<localleader> t A |
nosetests-pdb-all |
<localleader> t O |
nosetests-pdb-one |
<localleader> t V |
nosetests-pdb-module |
<localleader> t f |
python-pytest-file |
<localleader> t k |
python-pytest-file-dwim |
<localleader> t t |
python-pytest-function |
<localleader> t m |
python-pytest-function-dwim |
<localleader> t r |
python-pytest-repeat |
<localleader> t p |
python-pytest-popup |
<localleader> g d |
anaconda-mode-find-definitions |
<localleader> g h |
anaconda-mode-show-doc |
<localleader> g a |
anaconda-mode-find-assignments |
<localleader> g f |
anaconda-mode-find-file |
<localleader> g u |
anaconda-mode-find-references |