Compare commits

...

2 Commits

Author SHA1 Message Date
Gerard Vermeulen
eb36b4e821 Link to pyproject.toml tutorials 2022-12-29 10:04:59 +01:00
Gerard Vermeulen
cfc1161822 Make the minimal `eglot' setup show more options 2022-12-29 08:52:38 +01:00

View File

@ -3842,8 +3842,8 @@ mode independent [[https://github.com/joaotavora/eglot][Eglot]] configuration:
file [[info:emacs#Directory Variables][.dir-locals.el]] in the root directory of any project using proper
programming modes).
#+caption[Ensure =eglot= installation with minimal configuration]:
#+caption: Ensure =eglot= installation with minimal configuration.
#+caption[Ensure =eglot= installation with minimal setup]:
#+caption: Ensure =eglot= installation with minimal setup.
#+name: lst:minimal-eglot-setup
#+begin_src emacs-lisp
(with-eval-after-load 'emacs
@ -3852,13 +3852,16 @@ mode independent [[https://github.com/joaotavora/eglot][Eglot]] configuration:
;; Replace `nil' with `t' for debugging.
(when nil
(defvar eglot-server-programs
`(((python-ts-mod python-mode) . ("pylsp" "-vv")))
"Shadow the definition of `eglot-server-programs' in `eglot'."))
(when (require 'eglot nil t)
(setq eglot-server-programs
`(((python-ts-mod python-mode)
. ,(eglot-alternatives
'(("pylsp" "-vv")
("ruff-lsp"))))))))
(with-eval-after-load 'eglot
(define-key eglot-mode-map (kbd "C-c n") #'flymake-goto-next-error)
(define-key eglot-mode-map (kbd "C-c p") #'flymake-goto-prev-error)
(define-key eglot-mode-map (kbd "C-c n") 'flymake-goto-next-error)
(define-key eglot-mode-map (kbd "C-c p") 'flymake-goto-prev-error)
(define-key eglot-mode-map (kbd "C-c r") 'eglot-rename)))
#+end_src
@ -4335,6 +4338,8 @@ explains why he started [[https://pypi.org/project/ruff/][Ruff]] in the post [[h
Listing [[lst:pyproject-toml-kickoff][kickoff pyproject.toml proposal]] facilitates dropping a [[https://pip.pypa.io/en/stable/reference/build-system/pyproject-toml][pyproject.toml]]
file into Python projects which anyhow should switch to using a [[https://pip.pypa.io/en/stable/reference/build-system/pyproject-toml][pyproject.toml]]
file as explained in the post [[https://bbc.github.io/cloudfit-public-docs/packaging/this_way_up.html][This Way Up: A Bottom-Up Look At Python Packaging]].
The [[https://packaging.python.org/en/latest/tutorials/packaging-projects/][packaging Python projects tutorial]] and the [[https://github.com/pypa/sampleproject][Python sample project]] walk you
through the process of writing a [[https://pip.pypa.io/en/stable/reference/build-system/pyproject-toml][pyproject.toml]] file.
Listing [[lst:setup-cfg-kickoff][kickoff setup.cfg proposal]] implements the [[https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html][using black with other tools]]
rules which make [[https://flake8.pycqa.org/en/latest/][flake8]] or [[https://pycodestyle.pycqa.org/en/latest/][pycodestyle]] agree with [[https://black.readthedocs.io/en/stable/index.html][black's uncompromising style]].