Chapter 29. What tools provide what functions?

Procedure 29.1.  Font highlighting (a.k.a. font lock)
  1. python-mode

    works automatically when in python-mode

  2. python-ts-mode

    No difference apparent vs python-mode (over my body)

Procedure 29.2.  Sort Imports
  1. treesitter

    In Emacs, with python file open (but cursor anywhere), type C-c TAB s

    Prerequisite

    Requires python isort package. poetry add --group=dev isort

    This works, but the exact details conflict with ruff's linter and produce an I1001 error.

  2. ruff

    At the command line: ruff check filename --fix

Procedure 29.3.  Rename symbols
Procedure 29.4.  Automatically load
  1. treesitter

    To use treesitter, first change to the -ts- version of the current mode. For example, python-ts-mode instead of python-mode. To make this automatic TK.

    If needed, install the grammar for that mode via M-x treesit-install-language-grammar and then following the prompts to let it download and compile and install the grammar.

  2. lsp

    ?

Procedure 29.5.  Insert templates
Procedure 29.6.  Code folding
Procedure 29.7.  rough notes


            Raw notes
see also https://www.mattduck.com/lsp-python-getting-started.html




Completion Front-ends
helm
ivy
default



linting from flycheck (UI) + ruff






Install ruff
------------
poetry add --group=dev ruff

poetry add --group=dev flycheck



Commands
--------

Things I want to do


* rename symbols
  - 

* replace tabs with spaces and switch to two spaces
* figure out what lens mode does