Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Overhaul server configuration #679

Merged
merged 20 commits into from
Nov 18, 2023
Merged

Commits on Nov 9, 2023

  1. lsp: Add dedicated configuration component

    The idea is that all configuration will be managed in a centralised
    location. The `WorkspaceConfiguration` component will be attached to the
    main language server will be responsible from merging configuration
    values from a number of sources.
    
    - Initialization options
    - ``workspace/configuration`` requests
    - Configuration files
    
    While this is not implemented yet, this component will also make sure
    that the configuration values are kept up to date. Eventually features
    will be able to subscribe to changes in the sections that they are
    interested in.
    alcarney committed Nov 9, 2023
    Configuration menu
    Copy the full SHA
    a6b47e0 View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2023

  1. lsp: Reimplement workspace/configuration requests

    Upon receiving the `initialized` notification the server dynamically
    registers to receive `workspace/didChangeConfiguration` notifications,
    if the client supports it.
    
    The server will also early request the entire `esbonio` configuration
    section for each workspace root and the global config so that it's ready
    to serve internal configuration requests from features.
    
    This commit also updates the old uses of `server.get_user_config` to use
    the new `server.configuration.get` API
    alcarney committed Nov 10, 2023
    Configuration menu
    Copy the full SHA
    b12137b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    05255fc View commit details
    Browse the repository at this point in the history
  3. lsp: Move logging code to a LanguageFeature

    Rather than have the logging setup be anything "special", it is now just
    another LanguageFeature allowing it to take advantage of the APIs
    provided to them.
    alcarney committed Nov 10, 2023
    Configuration menu
    Copy the full SHA
    2261e71 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0fc9377 View commit details
    Browse the repository at this point in the history
  5. code: Update pythonCommand injection code

    To align with the changes in how the server asks for configuration
    values, this updates and simplifies the code that injects the user's
    configured Python environment into returned configuration.
    alcarney committed Nov 10, 2023
    Configuration menu
    Copy the full SHA
    3e3d749 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    95b8fd9 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    260400c View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2023

  1. code: Refactor lsp-devtools support

    `lsp-devtools` is too heavy a dependency to bundle for it to be worth
    it, especially when you consider the proportion of users who are
    actually going to make use of it.
    
    Instead, the extension now assumes that it is available on the user's
    PATH
    alcarney committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    b0f036e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    949a7f1 View commit details
    Browse the repository at this point in the history
  3. code: Only send options the user has configured

    Since the language server treats `workspace/configuration` requests as
    an override for any options set via config file, it's now important to
    only send the options that the user has actually set.
    
    This means most config options in the VSCode extension are now `null` by
    default.
    alcarney committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    9822a36 View commit details
    Browse the repository at this point in the history
  4. lsp: Use pyproject.toml files as a config source

    Options are read from the `tool.esbonio` namespace
    alcarney committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    80e21b4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ee3d1d3 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3be0d1b View commit details
    Browse the repository at this point in the history
  7. workflow: Fix release script

    alcarney committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    31fb89a View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2023

  1. lsp: Register workspace/didChangeWatchedFiles handler

    For clients that support it, the language server will be able to listen
    for changes to `pyproject.toml` files and update its configuration
    accordingly.
    alcarney committed Nov 18, 2023
    Configuration menu
    Copy the full SHA
    13139d9 View commit details
    Browse the repository at this point in the history
  2. docs: Update configuration docs

    - Move to reference section
    - Add a custom domain to document esbonio
    - Explain the updated configuration behavior
    alcarney committed Nov 18, 2023
    Configuration menu
    Copy the full SHA
    f336f36 View commit details
    Browse the repository at this point in the history
  3. lsp: Skip tests... for now

    alcarney committed Nov 18, 2023
    Configuration menu
    Copy the full SHA
    f6643e9 View commit details
    Browse the repository at this point in the history
  4. lsp: Update changelog

    alcarney committed Nov 18, 2023
    Configuration menu
    Copy the full SHA
    ddf0e1a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b71bae2 View commit details
    Browse the repository at this point in the history