Functional Requirements

Table 9.1.  Front and back end providers by function
Tool Type Tool Back End Front End
Navigation Information Composing Error checking Test + Debug Navigation Information Composing Error checking Test + Debug
LSP Server pyright
pylsp
ruff
LSP Client lsp-mode
eglot
Completion company Autocomplete
corfu Autocomplete
something else something else


Note

◓: Provides UI

◒: Provides back end

◐: Provides some functions

⚫: Provides everything

  1. Navigation

    1. jump to definition

    2. move cursor by semantic increments

    3. fold/unfold

    4. Error navigation

  2. Information

    1. Symbol documentation

    2. see usages

  3. Composing

    1. Autocomplete

    2. Autocomplete

    3. exact format (black)

    4. module order (isort)

    5. renaming symbols

  4. Error Checking

    1. Syntax checking

    2. Style checking

    3. Type checking

  5. Test and Debug

    1. Run code

    2. Run unit test

    3. Show running state