src/Tools/VSCode/extension/src/protocol.ts
author wenzelm
Fri, 16 Jun 2017 16:21:17 +0200
changeset 66096 6187612e83c1
parent 66052 39eb61b1fa51
child 66138 f7ef4c50b747
permissions -rw-r--r--
support for separate proof state output;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
65201
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
     1
'use strict';
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
     2
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
     3
import { Position, Range, MarkedString, DecorationOptions, DecorationRenderOptions } from 'vscode'
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
     4
import { NotificationType } from 'vscode-languageclient';
66052
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
     5
import * as symbol from './symbol'
65201
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
     6
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
     7
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
     8
/* decorations */
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
     9
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    10
export interface DecorationOpts {
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    11
  range: number[],
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    12
  hover_message?: MarkedString | MarkedString[]
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    13
}
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    14
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    15
export interface Decoration
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    16
{
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    17
  uri: string,
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    18
  "type": string,
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    19
  content: DecorationOpts[]
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 const decoration_type =
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    23
  new NotificationType<Decoration, void>("PIDE/decoration")
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    24
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    25
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    26
/* caret handling */
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    27
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    28
export interface Caret_Update
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    29
{
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    30
  uri?: string
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    31
  line?: number
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    32
  character?: number
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    33
}
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    34
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    35
export const caret_update_type =
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    36
  new NotificationType<Caret_Update, void>("PIDE/caret_update")
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    37
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    38
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    39
/* dynamic output */
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    40
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    41
export interface Dynamic_Output
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    42
{
65979
c208fcf369b7 tuned -- like Dynamic_Preview;
wenzelm
parents: 65977
diff changeset
    43
  content: string
65201
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    44
}
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    45
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    46
export const dynamic_output_type =
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    47
  new NotificationType<Dynamic_Output, void>("PIDE/dynamic_output")
65977
c51b74be23b6 provide preview content on Scala side (similar to output);
wenzelm
parents: 65201
diff changeset
    48
c51b74be23b6 provide preview content on Scala side (similar to output);
wenzelm
parents: 65201
diff changeset
    49
66096
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    50
/* state */
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    51
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    52
export interface State_Output
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    53
{
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    54
  id: number
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    55
  content: string
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    56
}
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    57
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    58
export const state_output_type =
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    59
  new NotificationType<State_Output, void>("PIDE/state_output")
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    60
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    61
export interface State_Id
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    62
{
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    63
  id: number
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    64
}
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    65
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    66
export const state_init_type = new NotificationType<void, void>("PIDE/state_init")
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    67
export const state_exit_type = new NotificationType<State_Id, void>("PIDE/state_exit")
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    68
export const state_locate_type = new NotificationType<State_Id, void>("PIDE/state_locate")
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    69
export const state_update_type = new NotificationType<State_Id, void>("PIDE/state_update")
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    70
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    71
65983
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    72
/* preview */
65977
c51b74be23b6 provide preview content on Scala side (similar to output);
wenzelm
parents: 65201
diff changeset
    73
65983
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    74
export interface Preview_Request
65977
c51b74be23b6 provide preview content on Scala side (similar to output);
wenzelm
parents: 65201
diff changeset
    75
{
65983
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    76
  uri: string
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    77
  column: number
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    78
}
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    79
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    80
export interface Preview_Response
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    81
{
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    82
  uri: string
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    83
  column: number
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    84
  label: string
65977
c51b74be23b6 provide preview content on Scala side (similar to output);
wenzelm
parents: 65201
diff changeset
    85
  content: string
c51b74be23b6 provide preview content on Scala side (similar to output);
wenzelm
parents: 65201
diff changeset
    86
}
c51b74be23b6 provide preview content on Scala side (similar to output);
wenzelm
parents: 65201
diff changeset
    87
65983
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    88
export const preview_request_type =
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    89
  new NotificationType<Preview_Request, void>("PIDE/preview_request")
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    90
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    91
export const preview_response_type =
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    92
  new NotificationType<Preview_Response, void>("PIDE/preview_response")
66052
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
    93
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
    94
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
    95
/* Isabelle symbols */
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
    96
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
    97
export interface Symbols
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
    98
{
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
    99
  entries: [symbol.Entry]
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
   100
}
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
   101
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
   102
export const symbols_type =
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
   103
  new NotificationType<Symbols, void>("PIDE/symbols")
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
   104
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
   105
export const symbols_request_type =
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
   106
  new NotificationType<void, void>("PIDE/symbols_request")