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

[serapi] Add Init call to the protocol. #49

Closed
ejgallego opened this issue Mar 31, 2018 · 1 comment · Fixed by #318
Closed

[serapi] Add Init call to the protocol. #49

ejgallego opened this issue Mar 31, 2018 · 1 comment · Fixed by #318

Comments

@ejgallego
Copy link
Owner

ejgallego commented Mar 31, 2018

As of today, SerAPI creates a new document by default, with standard loadpaths, libraries, etc...

This can be overridden to some point using cmdline parameters, but we would like to have proper protocol support for that, as well as for document ids and for output formats. Thus, the init call should support as parameters:

Pending

  • Packages, in the jsCoq style.
  • Output format the Feedback about a particular document should be sent back / extra printing / feedback channels.

Fixed by #69

@ejgallego
Copy link
Owner Author

The Init call should also include the feedback initalization parameters, including the desired printing format.

@ejgallego ejgallego added this to the 0.6.0 milestone Sep 20, 2018
ejgallego added a commit that referenced this issue Nov 29, 2018
The protocol now supports a call:
```
(NewDoc ((top_name "Module")
         (iload_path (path_1 ... path_n)
         (require_libs (require_1 ... require_n))))
```
where `path_i` is of type
```
Mltop.coq_path = {
  path_spec: coq_path_spec;
  recursive: bool;
}

type coq_path_spec =
  | VoPath of vo_path_spec
  | MlPath of string

type vo_path_spec = {
  unix_path : string;
  coq_path  : Names.DirPath.t;
  implicit  : bool;
  has_ml    : add_ml;
}
```
and `require_i` is of type:
```
string * string option * bool option
```
where `(module, root, import)` corresponds to `From root Require import module`

`iload_path` and `require_libs` are optional, if absent, SerAPI will
resort to the defaults.

By default, invoking `sertop` will create a document with the standard
paths and `Prelude` loaded. To avoid that, use the commit line option
`--no_init`.

This PR improves a certain number of things, including `compser` and
`sercomp` will now create documents with the proper module path cc: #84.

This also improves #49 and #59.
ejgallego added a commit that referenced this issue Nov 29, 2018
The protocol now supports a method:
```
(NewDoc ((top_name "Module")
         (iload_path (path_1 ... path_n)
         (require_libs (require_1 ... require_n))))
```
where `path_i` is of type
```
Mltop.coq_path = {
  path_spec: coq_path_spec;
  recursive: bool;
}

type coq_path_spec =
  | VoPath of vo_path_spec
  | MlPath of string

type vo_path_spec = {
  unix_path : string;
  coq_path  : Names.DirPath.t;
  implicit  : bool;
  has_ml    : add_ml;
}
```
and `require_i` is of type:
```
string * string option * bool option
```
where `(module, root, import)` corresponds to `From root Require import module`

`iload_path` and `require_libs` are optional, if absent, SerAPI will
resort to the defaults.

By default, invoking `sertop` will create a document with the standard
paths and `Prelude` loaded. To avoid that, use the commit line option
`--no_init`.

This PR improves a certain number of things, including `compser` and
`sercomp` will now create documents with the proper module path cc: #84.

This also improves #49 and #59.
ejgallego added a commit that referenced this issue Nov 29, 2018
The protocol now supports a method:
```
(NewDoc ((top_name "Module")
         (iload_path (path_1 ... path_n)
         (require_libs (require_1 ... require_n))))
```
where `path_i` is of type
```
Mltop.coq_path = {
  path_spec: coq_path_spec;
  recursive: bool;
}

type coq_path_spec =
  | VoPath of vo_path_spec
  | MlPath of string

type vo_path_spec = {
  unix_path : string;
  coq_path  : Names.DirPath.t;
  implicit  : bool;
  has_ml    : add_ml;
}
```
and `require_i` is of type:
```
string * string option * bool option
```
where `(module, root, import)` corresponds to `From root Require import module`

`iload_path` and `require_libs` are optional, if absent, SerAPI will
resort to the defaults.

By default, invoking `sertop` will create a document with the standard
paths and `Prelude` loaded. To avoid that, use the commit line option
`--no_init`. **Important** in practice the user still can only use
this option to create one single document using `NewDoc`, as the
protocol doesn't yet include per-document addressing.

This PR improves a certain number of things, including `compser` and
`sercomp` will now create documents with the proper module path cc: #84.

This also improves #49 and #59.
@ejgallego ejgallego modified the milestones: 0.6.0, 0.6.1 Feb 4, 2019
@ejgallego ejgallego modified the milestones: 0.6.1, 0.7.0 Mar 27, 2019
@ejgallego ejgallego modified the milestones: 0.7.0, 0.7.1 Nov 4, 2019
@ejgallego ejgallego modified the milestones: 0.7.1, 0.11.0 Jan 24, 2020
@ejgallego ejgallego modified the milestones: 0.11.0, 0.11.1 May 13, 2020
@ejgallego ejgallego modified the milestones: 0.11.1, 0.12.2 Aug 26, 2020
@ejgallego ejgallego modified the milestones: 0.12.2, 0.13.1 Mar 12, 2021
@ejgallego ejgallego modified the milestones: 0.13.1, 0.16.0 Jun 15, 2022
@ejgallego ejgallego removed this from the 0.16.0 milestone Sep 8, 2022
ejgallego added a commit that referenced this issue Feb 14, 2023
Thanks to everyone that helped and used this project for almost 7
years!

The following issues are solved by coq-lsp:

closes #252, closes #261, closes #234, closes #202, closes #117,
closes #49, closes #32, closes #26, closes #24, closes #13
ejgallego added a commit that referenced this issue Feb 14, 2023
Thanks to everyone that helped and used this project for almost 7
years!

The following issues are solved by coq-lsp:

closes #252, closes #261, closes #234, closes #202, closes #117,
closes #49, closes #32, closes #26, closes #24, closes #21,
closes #18, closes #13
ejgallego added a commit that referenced this issue Feb 14, 2023
Thanks to everyone that helped and used this project for almost 7
years!

The following issues are solved by coq-lsp:

closes #252, closes #261, closes #234, closes #202, closes #117,
closes #49, closes #32, closes #26, closes #24, closes #21,
closes #18, closes #13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant