From eee2b4b89c2095b315f8c0d0bef102faab23cc56 Mon Sep 17 00:00:00 2001 From: syl20bnr Date: Fri, 5 Jan 2018 22:15:50 -0500 Subject: [PATCH] python: document pippel and set key binding to SPC m P --- layers/+lang/python/README.org | 71 ++++++++++++++++++++++----------- layers/+lang/python/packages.el | 4 +- 2 files changed, 49 insertions(+), 26 deletions(-) diff --git a/layers/+lang/python/README.org b/layers/+lang/python/README.org index 1decad2a4..aca2baea5 100644 --- a/layers/+lang/python/README.org +++ b/layers/+lang/python/README.org @@ -16,6 +16,9 @@ - [[#autoflake][autoflake]] - [[#pylookup][pylookup]] - [[#hy-mode][Hy-mode]] +- [[#configuration][Configuration]] + - [[#fill-column][Fill column]] + - [[#sort-imports][Sort imports]] - [[#management-of-python-versions-and-virtual-environments][Management of Python versions and virtual environments]] - [[#manage-virtual-environments-with-pyvenv][Manage virtual environments with pyvenv]] - [[#manage-multiple-python-versions-with-pyenv][Manage multiple Python versions with pyenv]] @@ -25,12 +28,10 @@ - [[#running-python-script-in-shell][Running Python Script in shell]] - [[#testing][Testing]] - [[#refactoring][Refactoring]] + - [[#pip-package-management][Pip package management]] - [[#live-coding][Live coding]] - [[#hy-repl-process][Hy REPL process]] - [[#other-python-commands][Other Python commands]] -- [[#configuration][Configuration]] - - [[#fill-column][Fill column]] - - [[#sort-imports][Sort imports]] * Description This layer adds support for the Python language. @@ -48,6 +49,7 @@ This layer adds support for the Python language. - Use the ~%~ key to jump between blocks with [[https://github.com/redguardtoo/evil-matchit][evil-matchit]] - Sort imports with [[https://pypi.python.org/pypi/isort][isort]] - Fix a missing import statement with [[https://github.com/anachronic/importmagic.el][importmagic]] +- Pip package manager with [[https://github.com/brotzeit/pippel][pippel]] * Install ** Layer @@ -150,6 +152,28 @@ that hy is installed. pip install hy #+END_SRC +* Configuration +** Fill column +If you want to customize the fill column value, use something like this inside +the =user-init= function in your =.spacemacs=: + +#+BEGIN_SRC elisp +(setq-default dotspacemacs-configuration-layers '( + (python :variables python-fill-column 99))) +#+END_SRC + +** Sort imports +If you want imports to be automatically sorted when you save a file (using +[[https://pypi.python.org/pypi/isort][isort]]), set the =python-sort-imports-on-save= variable in the python layer +config section: + +#+BEGIN_SRC elisp +(setq-default dotspacemacs-configuration-layers + '((python :variables python-sort-imports-on-save t))) +#+END_SRC + +or as a directory-local variable (for per-project settings). + * Management of Python versions and virtual environments ** Manage virtual environments with pyvenv A virtual environment provides isolation of your Python package versions. For a @@ -262,6 +286,26 @@ function with a prefix argument, for example ~SPC u SPC m t a~. | ~SPC m r i~ | remove unused imports with [[https://github.com/myint/autoflake][autoflake]] | | ~SPC m r I~ | sort imports with [[https://pypi.python.org/pypi/isort][isort]] | +** Pip package management +In python buffer type ~SPC m P~ to open buffer listing all installed =pip= +packages in the currently activated virtual environment. + +*Note:* To open this menu from outside a python buffer type +~SPC SPC pippel-list-packages RET~ . + +In the package list buffer: + +| Key Binding | Description | +|-------------+-------------------------------------------------------------| +| ~RET~ | follow link (=pippel-menu-visit-homepage=) | +| ~d~ | mark for deletion (=pippel-menu-mark-delete=) | +| ~i~ | prompt user for packages (=pippel-install-package=) | +| ~m~ | remove mark (=pippel-menu-mark-unmark=) | +| ~r~ | refresh package list (=pippel-list-packages=) | +| ~U~ | mark all upgradable (=pippel-menu-mark-all-upgrades=) | +| ~u~ | mark for upgrade (=pippel-menu-mark-upgrade=) | +| ~x~ | perform marked package menu actions (=pippel-menu-execute=) | + ** Live coding Live coding is provided by the [[https://github.com/donkirkby/live-py-plugin][live-py-plugin.]] @@ -307,24 +351,3 @@ Send code to hy REPL commands: | ~SPC m V a~ | activate a virtual environment in any directory | | ~SPC m V d~ | deactivate active virtual environment | -* Configuration -** Fill column -If you want to customize the fill column value, use something like this inside -the =user-init= function in your =.spacemacs=: - -#+BEGIN_SRC elisp -(setq-default dotspacemacs-configuration-layers '( - (python :variables python-fill-column 99))) -#+END_SRC - -** Sort imports -If you want imports to be automatically sorted when you save a file (using -[[https://pypi.python.org/pypi/isort][isort]]), set the =python-sort-imports-on-save= variable in the python layer -config section: - -#+BEGIN_SRC elisp -(setq-default dotspacemacs-configuration-layers - '((python :variables python-sort-imports-on-save t))) -#+END_SRC - -or as a directory-local variable (for per-project settings). diff --git a/layers/+lang/python/packages.el b/layers/+lang/python/packages.el index e2ad52d80..efe2d3780 100644 --- a/layers/+lang/python/packages.el +++ b/layers/+lang/python/packages.el @@ -191,8 +191,8 @@ (defun python/init-pippel () (use-package pippel :defer t - :init - (spacemacs/set-leader-keys "al" 'pippel-list-packages) + :init (spacemacs/set-leader-keys-for-major-mode 'python-mode + "P" 'pippel-list-packages) :config (evilified-state-evilify-map pippel-package-menu-mode-map :mode pippel-package-menu-mode)))