Skip to content

[Language Servers - COBOL first] Have a way to programmatically manage the stopping and starting of Language Servers. #634

Description

@FALLAI-Denis

Hi,

Cancel and replace other issues:

Description of the enhancement requested

In implementing our development workshop—based primarily on Z Open Editor—we established a mechanism for importing copybooks/includes locally:

  • Our programs are stored in Git repositories dedicated to specific applications.
  • Copybooks/includes are also stored in dedicated, application-specific Git repositories, separate from the programs; this allows an application to share only its interfaces (copybooks/includes) rather than the programs themselves.
  • An application requiring interfaces with other applications declares the list of Git repositories dedicated to those other applications' copybooks/includes.
  • The Git repositories dedicated to copybooks/includes are cloned into a folder—declared in the zapp.yaml file—within the consuming application's workspace; this folder is listed in the application workspace's .gitignore file.

The cloning of Git repositories for copybooks/includes is handled by a VS Code extension we developed.
The actual cloning is performed once per repository but is refreshed whenever VS Code starts, whenever the branch of the program repository changes, and upon user request.
Users can also request that all clones be deleted and recreated.

We observe that, even when no program is open in an editor, ZOE monitors the directory specified in zapp.yaml, triggering messages and even exceptions in the ZOE logs.
This likely also slows down the overall performance of VS Code.

To avoid interference between ZOE and our own developments, we would like to have the following capabilities:

  • query the active/inactive status of a Language Server (even when no program is open in an editor),
  • deactivate/stop a Language Server (this is already possible via ZOE commands),
  • reactivate a Language Server.

Thus, before initiating the cloning or refreshing of our Git repositories for copybooks/includes, we would query the status of the Language Servers, pause any potentially active Language Servers, and then reactivate them once our loading operations were complete.

Thanks.


Image Image Image Image Image Image Image Image Image Image Image Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions