src/Tools/VSCode/extension/src/lsp.ts
author wenzelm
Sun, 26 Oct 2025 19:14:08 +0100
changeset 83401 1d9b1ca7977e
parent 83388 8d90bd0e4f39
child 83405 6ac2c6c2e549
permissions -rw-r--r--
dismantle redundant sledgehammer history in Isabelle/Scala, which does not quite work --- and is already done via vscode.setState / vscode.getState; proper message name for Sledgehammer_Provers; discontinue pointless "init" flag;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
75201
8f6b8a46f54c clarified modules: more uniform .scala vs. ts (amending 4519eeefe3b5);
wenzelm
parents: 75134
diff changeset
     1
/*  Author:     Makarius
83375
300d07eb0569 tuned whitespace and comments;
wenzelm
parents: 83373
diff changeset
     2
    Author:     Thomas Lindae, TU Muenchen
300d07eb0569 tuned whitespace and comments;
wenzelm
parents: 83373
diff changeset
     3
    Author:     Diana Korchmar, LMU Muenchen
75201
8f6b8a46f54c clarified modules: more uniform .scala vs. ts (amending 4519eeefe3b5);
wenzelm
parents: 75134
diff changeset
     4
8f6b8a46f54c clarified modules: more uniform .scala vs. ts (amending 4519eeefe3b5);
wenzelm
parents: 75134
diff changeset
     5
Message formats for Language Server Protocol, with adhoc PIDE extensions
8f6b8a46f54c clarified modules: more uniform .scala vs. ts (amending 4519eeefe3b5);
wenzelm
parents: 75134
diff changeset
     6
(see Tools/VSCode/src/lsp.scala).
8f6b8a46f54c clarified modules: more uniform .scala vs. ts (amending 4519eeefe3b5);
wenzelm
parents: 75134
diff changeset
     7
*/
8f6b8a46f54c clarified modules: more uniform .scala vs. ts (amending 4519eeefe3b5);
wenzelm
parents: 75134
diff changeset
     8
65201
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
     9
'use strict';
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    10
75126
da1108a6d249 various improvements to Isabelle/VSCode (by Denis Paluca and Fabian Huch);
wenzelm
parents: 66216
diff changeset
    11
import { MarkdownString } from 'vscode'
81035
56594fac1dab vscode: added dynamic and state output set margin messages to vscode extension;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 75263
diff changeset
    12
import { NotificationType, RequestType0 } from 'vscode-languageclient'
65201
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    13
75201
8f6b8a46f54c clarified modules: more uniform .scala vs. ts (amending 4519eeefe3b5);
wenzelm
parents: 75134
diff changeset
    14
65201
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    15
/* decorations */
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    16
75126
da1108a6d249 various improvements to Isabelle/VSCode (by Denis Paluca and Fabian Huch);
wenzelm
parents: 66216
diff changeset
    17
export interface Decoration_Options {
65201
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    18
  range: number[],
75126
da1108a6d249 various improvements to Isabelle/VSCode (by Denis Paluca and Fabian Huch);
wenzelm
parents: 66216
diff changeset
    19
  hover_message?: MarkdownString | MarkdownString[]
65201
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    20
}
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    21
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    22
export interface Decoration
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    23
{
75126
da1108a6d249 various improvements to Isabelle/VSCode (by Denis Paluca and Fabian Huch);
wenzelm
parents: 66216
diff changeset
    24
  "type": string
da1108a6d249 various improvements to Isabelle/VSCode (by Denis Paluca and Fabian Huch);
wenzelm
parents: 66216
diff changeset
    25
  content: Decoration_Options[]
da1108a6d249 various improvements to Isabelle/VSCode (by Denis Paluca and Fabian Huch);
wenzelm
parents: 66216
diff changeset
    26
}
da1108a6d249 various improvements to Isabelle/VSCode (by Denis Paluca and Fabian Huch);
wenzelm
parents: 66216
diff changeset
    27
da1108a6d249 various improvements to Isabelle/VSCode (by Denis Paluca and Fabian Huch);
wenzelm
parents: 66216
diff changeset
    28
export interface Document_Decorations {
da1108a6d249 various improvements to Isabelle/VSCode (by Denis Paluca and Fabian Huch);
wenzelm
parents: 66216
diff changeset
    29
  uri: string
da1108a6d249 various improvements to Isabelle/VSCode (by Denis Paluca and Fabian Huch);
wenzelm
parents: 66216
diff changeset
    30
  entries: Decoration[]
65201
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    31
}
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    32
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    33
export const decoration_type =
75134
c04ccea8bdd2 update VSCode plugin dependencies;
Fabian Huch <huch@in.tum.de>
parents: 75126
diff changeset
    34
  new NotificationType<Document_Decorations>("PIDE/decoration")
65201
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    35
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    36
81044
6206f3b2625a vscode: added decoration request on file switch;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 81035
diff changeset
    37
export interface Decoration_Request
6206f3b2625a vscode: added decoration request on file switch;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 81035
diff changeset
    38
{
6206f3b2625a vscode: added decoration request on file switch;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 81035
diff changeset
    39
  uri: string
6206f3b2625a vscode: added decoration request on file switch;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 81035
diff changeset
    40
}
6206f3b2625a vscode: added decoration request on file switch;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 81035
diff changeset
    41
6206f3b2625a vscode: added decoration request on file switch;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 81035
diff changeset
    42
export const decoration_request_type =
6206f3b2625a vscode: added decoration request on file switch;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 81035
diff changeset
    43
  new NotificationType<Decoration_Request>("PIDE/decoration_request")
6206f3b2625a vscode: added decoration request on file switch;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 81035
diff changeset
    44
6206f3b2625a vscode: added decoration request on file switch;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 81035
diff changeset
    45
65201
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    46
/* caret handling */
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    47
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    48
export interface Caret_Update
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    49
{
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    50
  uri?: string
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    51
  line?: number
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    52
  character?: number
66216
d4949bae0bad clarified editor focus;
wenzelm
parents: 66211
diff changeset
    53
  focus?: boolean
65201
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    54
}
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    55
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    56
export const caret_update_type =
75134
c04ccea8bdd2 update VSCode plugin dependencies;
Fabian Huch <huch@in.tum.de>
parents: 75126
diff changeset
    57
  new NotificationType<Caret_Update>("PIDE/caret_update")
65201
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    58
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    59
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    60
/* dynamic output */
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    61
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    62
export interface Dynamic_Output
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    63
{
65979
c208fcf369b7 tuned -- like Dynamic_Preview;
wenzelm
parents: 65977
diff changeset
    64
  content: string
65201
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    65
}
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    66
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    67
export const dynamic_output_type =
75134
c04ccea8bdd2 update VSCode plugin dependencies;
Fabian Huch <huch@in.tum.de>
parents: 75126
diff changeset
    68
  new NotificationType<Dynamic_Output>("PIDE/dynamic_output")
65977
c51b74be23b6 provide preview content on Scala side (similar to output);
wenzelm
parents: 65201
diff changeset
    69
81035
56594fac1dab vscode: added dynamic and state output set margin messages to vscode extension;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 75263
diff changeset
    70
export interface Output_Set_Margin
56594fac1dab vscode: added dynamic and state output set margin messages to vscode extension;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 75263
diff changeset
    71
{
56594fac1dab vscode: added dynamic and state output set margin messages to vscode extension;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 75263
diff changeset
    72
  margin: number
56594fac1dab vscode: added dynamic and state output set margin messages to vscode extension;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 75263
diff changeset
    73
}
56594fac1dab vscode: added dynamic and state output set margin messages to vscode extension;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 75263
diff changeset
    74
56594fac1dab vscode: added dynamic and state output set margin messages to vscode extension;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 75263
diff changeset
    75
export const output_set_margin_type =
56594fac1dab vscode: added dynamic and state output set margin messages to vscode extension;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 75263
diff changeset
    76
  new NotificationType<Output_Set_Margin>("PIDE/output_set_margin")
65977
c51b74be23b6 provide preview content on Scala side (similar to output);
wenzelm
parents: 65201
diff changeset
    77
83375
300d07eb0569 tuned whitespace and comments;
wenzelm
parents: 83373
diff changeset
    78
66096
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    79
/* state */
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    80
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    81
export interface State_Output
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    82
{
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    83
  id: number
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    84
  content: string
75126
da1108a6d249 various improvements to Isabelle/VSCode (by Denis Paluca and Fabian Huch);
wenzelm
parents: 66216
diff changeset
    85
  auto_update: boolean
66096
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    86
}
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    87
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    88
export const state_output_type =
75134
c04ccea8bdd2 update VSCode plugin dependencies;
Fabian Huch <huch@in.tum.de>
parents: 75126
diff changeset
    89
  new NotificationType<State_Output>("PIDE/state_output")
66096
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    90
81035
56594fac1dab vscode: added dynamic and state output set margin messages to vscode extension;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 75263
diff changeset
    91
export interface State_Set_Margin
56594fac1dab vscode: added dynamic and state output set margin messages to vscode extension;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 75263
diff changeset
    92
{
56594fac1dab vscode: added dynamic and state output set margin messages to vscode extension;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 75263
diff changeset
    93
  id: number
56594fac1dab vscode: added dynamic and state output set margin messages to vscode extension;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 75263
diff changeset
    94
  margin: number
56594fac1dab vscode: added dynamic and state output set margin messages to vscode extension;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 75263
diff changeset
    95
}
56594fac1dab vscode: added dynamic and state output set margin messages to vscode extension;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 75263
diff changeset
    96
56594fac1dab vscode: added dynamic and state output set margin messages to vscode extension;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 75263
diff changeset
    97
export const state_set_margin_type =
56594fac1dab vscode: added dynamic and state output set margin messages to vscode extension;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 75263
diff changeset
    98
  new NotificationType<State_Set_Margin>("PIDE/state_set_margin")
56594fac1dab vscode: added dynamic and state output set margin messages to vscode extension;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 75263
diff changeset
    99
66096
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
   100
export interface State_Id
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
   101
{
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
   102
  id: number
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
   103
}
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
   104
66211
100c9c997e2b HTML GUI actions via JavaScript;
wenzelm
parents: 66138
diff changeset
   105
export interface Auto_Update
100c9c997e2b HTML GUI actions via JavaScript;
wenzelm
parents: 66138
diff changeset
   106
{
100c9c997e2b HTML GUI actions via JavaScript;
wenzelm
parents: 66138
diff changeset
   107
  id: number
100c9c997e2b HTML GUI actions via JavaScript;
wenzelm
parents: 66138
diff changeset
   108
  enabled: boolean
100c9c997e2b HTML GUI actions via JavaScript;
wenzelm
parents: 66138
diff changeset
   109
}
100c9c997e2b HTML GUI actions via JavaScript;
wenzelm
parents: 66138
diff changeset
   110
81035
56594fac1dab vscode: added dynamic and state output set margin messages to vscode extension;
Thomas Lindae <thomas.lindae@in.tum.de>
parents: 75263
diff changeset
   111
export const state_init_type = new RequestType0("PIDE/state_init")
75134
c04ccea8bdd2 update VSCode plugin dependencies;
Fabian Huch <huch@in.tum.de>
parents: 75126
diff changeset
   112
export const state_exit_type = new NotificationType<State_Id>("PIDE/state_exit")
c04ccea8bdd2 update VSCode plugin dependencies;
Fabian Huch <huch@in.tum.de>
parents: 75126
diff changeset
   113
export const state_locate_type = new NotificationType<State_Id>("PIDE/state_locate")
c04ccea8bdd2 update VSCode plugin dependencies;
Fabian Huch <huch@in.tum.de>
parents: 75126
diff changeset
   114
export const state_update_type = new NotificationType<State_Id>("PIDE/state_update")
83375
300d07eb0569 tuned whitespace and comments;
wenzelm
parents: 83373
diff changeset
   115
export const state_auto_update_type = new NotificationType<Auto_Update>("PIDE/state_auto_update")
66096
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
   116
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
   117
65983
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
   118
/* preview */
65977
c51b74be23b6 provide preview content on Scala side (similar to output);
wenzelm
parents: 65201
diff changeset
   119
65983
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
   120
export interface Preview_Request
65977
c51b74be23b6 provide preview content on Scala side (similar to output);
wenzelm
parents: 65201
diff changeset
   121
{
65983
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
   122
  uri: string
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
   123
  column: number
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
   124
}
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
   125
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
   126
export interface Preview_Response
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
   127
{
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
   128
  uri: string
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
   129
  column: number
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
   130
  label: string
65977
c51b74be23b6 provide preview content on Scala side (similar to output);
wenzelm
parents: 65201
diff changeset
   131
  content: string
c51b74be23b6 provide preview content on Scala side (similar to output);
wenzelm
parents: 65201
diff changeset
   132
}
c51b74be23b6 provide preview content on Scala side (similar to output);
wenzelm
parents: 65201
diff changeset
   133
83375
300d07eb0569 tuned whitespace and comments;
wenzelm
parents: 83373
diff changeset
   134
export const preview_request_type =
300d07eb0569 tuned whitespace and comments;
wenzelm
parents: 83373
diff changeset
   135
  new NotificationType<Preview_Request>("PIDE/preview_request")
300d07eb0569 tuned whitespace and comments;
wenzelm
parents: 83373
diff changeset
   136
300d07eb0569 tuned whitespace and comments;
wenzelm
parents: 83373
diff changeset
   137
export const preview_response_type =
300d07eb0569 tuned whitespace and comments;
wenzelm
parents: 83373
diff changeset
   138
  new NotificationType<Preview_Response>("PIDE/preview_response")
300d07eb0569 tuned whitespace and comments;
wenzelm
parents: 83373
diff changeset
   139
300d07eb0569 tuned whitespace and comments;
wenzelm
parents: 83373
diff changeset
   140
300d07eb0569 tuned whitespace and comments;
wenzelm
parents: 83373
diff changeset
   141
/* symbols */
300d07eb0569 tuned whitespace and comments;
wenzelm
parents: 83373
diff changeset
   142
83363
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   143
export interface Symbol_Entry {
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   144
  name: string;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   145
  abbrevs: string[];
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   146
  groups: string[];
83370
6a097e8add88 tuned whitespace;
wenzelm
parents: 83363
diff changeset
   147
  code?: number;
6a097e8add88 tuned whitespace;
wenzelm
parents: 83363
diff changeset
   148
  font?: string;
83363
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   149
  symbol: string;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   150
  argument: string;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   151
  decoded: string;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   152
}
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   153
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   154
export interface Symbols_Response {
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   155
  symbols: Symbol_Entry [];
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   156
  abbrevs_from_Thy: [string, string][];
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   157
}
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   158
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   159
export const symbols_response_type =
83376
d9c64b2af247 tuned quotes: follow Isabelle majority style, instead of JS/TS;
wenzelm
parents: 83375
diff changeset
   160
  new NotificationType<Symbols_Response>("PIDE/symbols_response");
83363
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   161
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   162
export interface InitRequest {
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   163
  init: boolean;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   164
}
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   165
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   166
export const symbols_request_type =
83375
300d07eb0569 tuned whitespace and comments;
wenzelm
parents: 83373
diff changeset
   167
  new NotificationType<InitRequest>("PIDE/symbols_panel_request")
83363
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   168
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   169
83375
300d07eb0569 tuned whitespace and comments;
wenzelm
parents: 83373
diff changeset
   170
/* documentation */
300d07eb0569 tuned whitespace and comments;
wenzelm
parents: 83373
diff changeset
   171
83363
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   172
export const documentation_request_type =
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   173
  new NotificationType<InitRequest>("PIDE/documentation_request")
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   174
83378
485ba4e3787a clarified signature: more explicit types;
wenzelm
parents: 83376
diff changeset
   175
export interface Doc_Entry {
83388
8d90bd0e4f39 more accurate Doc_Entry: print_html like Isabelle/jEdit, proper platform_path;
wenzelm
parents: 83378
diff changeset
   176
  print_html: string;
8d90bd0e4f39 more accurate Doc_Entry: print_html like Isabelle/jEdit, proper platform_path;
wenzelm
parents: 83378
diff changeset
   177
  platform_path: string;
83378
485ba4e3787a clarified signature: more explicit types;
wenzelm
parents: 83376
diff changeset
   178
}
485ba4e3787a clarified signature: more explicit types;
wenzelm
parents: 83376
diff changeset
   179
485ba4e3787a clarified signature: more explicit types;
wenzelm
parents: 83376
diff changeset
   180
export interface Doc_Section {
485ba4e3787a clarified signature: more explicit types;
wenzelm
parents: 83376
diff changeset
   181
  title: string;
485ba4e3787a clarified signature: more explicit types;
wenzelm
parents: 83376
diff changeset
   182
  important: boolean;
485ba4e3787a clarified signature: more explicit types;
wenzelm
parents: 83376
diff changeset
   183
  entries: Array<Doc_Entry>;
485ba4e3787a clarified signature: more explicit types;
wenzelm
parents: 83376
diff changeset
   184
}
485ba4e3787a clarified signature: more explicit types;
wenzelm
parents: 83376
diff changeset
   185
83363
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   186
export interface Documentation_Response {
83378
485ba4e3787a clarified signature: more explicit types;
wenzelm
parents: 83376
diff changeset
   187
  sections: Array<Doc_Section>;
83363
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   188
}
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   189
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   190
export const documentation_response_type =
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   191
  new NotificationType<Documentation_Response>("PIDE/documentation_response");
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   192
83375
300d07eb0569 tuned whitespace and comments;
wenzelm
parents: 83373
diff changeset
   193
300d07eb0569 tuned whitespace and comments;
wenzelm
parents: 83373
diff changeset
   194
/* Sledgehammer */
300d07eb0569 tuned whitespace and comments;
wenzelm
parents: 83373
diff changeset
   195
83363
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   196
export interface SledgehammerApplyRequest {
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   197
  provers: string;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   198
  isar: boolean;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   199
  try0: boolean;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   200
  purpose: number;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   201
}
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   202
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   203
export interface SledgehammerStatus {
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   204
  message: string;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   205
}
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   206
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   207
export interface SledgehammerApplyResult {
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   208
  content: string;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   209
  position: {
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   210
    uri: string;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   211
    line: number;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   212
    character: number;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   213
  };
83373
9e59028314be clarified protocol: avoid camel-case;
wenzelm
parents: 83370
diff changeset
   214
  sendback_id: number;
83363
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   215
  state_location: {
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   216
    uri: string;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   217
    line: number;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   218
    character: number;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   219
  };
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   220
}
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   221
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   222
export interface SledgehammerLocate {
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   223
  position: {
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   224
    uri: string;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   225
    line: number;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   226
    character: number;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   227
  };
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   228
}
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   229
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   230
export interface SledgehammerInsertPosition {
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   231
  position: {
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   232
    uri: string;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   233
    line: number;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   234
    character: number;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   235
  };
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   236
}
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   237
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   238
export interface Sledgehammer_Provers {
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   239
  provers: string;
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   240
}
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   241
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   242
export interface SledgehammerNoSuchProver {
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   243
  provers: string[];
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   244
}
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   245
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   246
export const sledgehammer_request_type =
83376
d9c64b2af247 tuned quotes: follow Isabelle majority style, instead of JS/TS;
wenzelm
parents: 83375
diff changeset
   247
  new NotificationType<SledgehammerApplyRequest>("PIDE/sledgehammer_request");
83363
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   248
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   249
export const sledgehammer_cancel_type =
83376
d9c64b2af247 tuned quotes: follow Isabelle majority style, instead of JS/TS;
wenzelm
parents: 83375
diff changeset
   250
  new NotificationType<void>("PIDE/sledgehammer_cancel_request");
83363
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   251
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   252
export const sledgehammer_provers =
83401
1d9b1ca7977e dismantle redundant sledgehammer history in Isabelle/Scala, which does not quite work --- and is already done via vscode.setState / vscode.getState;
wenzelm
parents: 83388
diff changeset
   253
  new NotificationType<void>("PIDE/sledgehammer_provers_request");
83370
6a097e8add88 tuned whitespace;
wenzelm
parents: 83363
diff changeset
   254
83363
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   255
export const sledgehammer_provers_response =
83376
d9c64b2af247 tuned quotes: follow Isabelle majority style, instead of JS/TS;
wenzelm
parents: 83375
diff changeset
   256
  new NotificationType<Sledgehammer_Provers>("PIDE/sledgehammer_provers_response");
83363
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   257
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   258
export const sledgehammer_no_such_prover_type =
83376
d9c64b2af247 tuned quotes: follow Isabelle majority style, instead of JS/TS;
wenzelm
parents: 83375
diff changeset
   259
  new NotificationType<SledgehammerNoSuchProver>("PIDE/sledgehammer_noProver_response");
83363
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   260
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   261
export const sledgehammer_status_type =
83376
d9c64b2af247 tuned quotes: follow Isabelle majority style, instead of JS/TS;
wenzelm
parents: 83375
diff changeset
   262
  new NotificationType<SledgehammerStatus>("PIDE/sledgehammer_status_response");
83363
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   263
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   264
export const sledgehammer_apply_response_type =
83376
d9c64b2af247 tuned quotes: follow Isabelle majority style, instead of JS/TS;
wenzelm
parents: 83375
diff changeset
   265
  new NotificationType<SledgehammerApplyResult>("PIDE/sledgehammer_apply_response");
83363
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   266
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   267
export const sledgehammer_locate_response_type =
83376
d9c64b2af247 tuned quotes: follow Isabelle majority style, instead of JS/TS;
wenzelm
parents: 83375
diff changeset
   268
  new NotificationType<SledgehammerLocate>("PIDE/sledgehammer_locate_response");
83363
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   269
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   270
export const sledgehammer_insert_position_response_type =
83376
d9c64b2af247 tuned quotes: follow Isabelle majority style, instead of JS/TS;
wenzelm
parents: 83375
diff changeset
   271
  new NotificationType<SledgehammerInsertPosition>("PIDE/sledgehammer_insert_position_response");
83363
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   272
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   273
export const sledgehammer_no_proof_context_type =
83376
d9c64b2af247 tuned quotes: follow Isabelle majority style, instead of JS/TS;
wenzelm
parents: 83375
diff changeset
   274
  new NotificationType<void>("PIDE/sledgehammer_no_proof_context");
83363
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   275
486e094b676c various improvements of Isabelle/VSCode: original changeset by Diana Korchmar, LMU München;
wenzelm
parents: 81044
diff changeset
   276
66138
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   277
/* spell checker */
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   278
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   279
export const include_word_type =
75134
c04ccea8bdd2 update VSCode plugin dependencies;
Fabian Huch <huch@in.tum.de>
parents: 75126
diff changeset
   280
  new NotificationType<void>("PIDE/include_word")
66138
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   281
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   282
export const include_word_permanently_type =
75134
c04ccea8bdd2 update VSCode plugin dependencies;
Fabian Huch <huch@in.tum.de>
parents: 75126
diff changeset
   283
  new NotificationType<void>("PIDE/include_word_permanently")
66138
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   284
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   285
export const exclude_word_type =
75134
c04ccea8bdd2 update VSCode plugin dependencies;
Fabian Huch <huch@in.tum.de>
parents: 75126
diff changeset
   286
  new NotificationType<void>("PIDE/exclude_word")
66138
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   287
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   288
export const exclude_word_permanently_type =
75134
c04ccea8bdd2 update VSCode plugin dependencies;
Fabian Huch <huch@in.tum.de>
parents: 75126
diff changeset
   289
  new NotificationType<void>("PIDE/exclude_word_permanently")
66138
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   290
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   291
export const reset_words_type =
75134
c04ccea8bdd2 update VSCode plugin dependencies;
Fabian Huch <huch@in.tum.de>
parents: 75126
diff changeset
   292
  new NotificationType<void>("PIDE/reset_words")