mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-23 15:03:36 +07:00
Replace the combined PyrightPyTool (which mixed pyright/basedpyright via aliases + installInfo) with two PyTool extensions, each with its own configuration, configurable and icon. Drop the now-unused aliases/installInfo from PyTool and collapse executableNames to a single executableName; uvx runs `uvx --from <pkg> <pkg>-langserver`, so the isUvxSupported flag is gone. Add a PyLspTool<C> base in python-pytools holding the shared LSP-tool wiring (configuration service, legacy-state migration, FUS snapshot, icon). The pyright family shares one LSP server: its descriptor binds to the first enabled tool (basedpyright over pyright), and toggling either restarts the shared provider. Keep UI off the core abstraction: drop detailConfigurable from PyTool in favour of a UI-side PyToolDetailConfigurableProvider, and resolve the status-bar icon from the tool rather than the running server name. IJ-MR-209748 GitOrigin-RevId: 98ec7f9924af30a86be8cfe71c468800a58a94f9