src/Tools/VSCode/extension/src/protocol.ts
author wenzelm
Thu, 29 Jun 2017 15:12:40 +0200
changeset 66216 d4949bae0bad
parent 66211 100c9c997e2b
child 75126 da1108a6d249
permissions -rw-r--r--
clarified editor focus;
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
66216
d4949bae0bad clarified editor focus;
wenzelm
parents: 66211
diff changeset
    33
  focus?: boolean
65201
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    34
}
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    35
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    36
export const caret_update_type =
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    37
  new NotificationType<Caret_Update, void>("PIDE/caret_update")
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    38
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    39
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    40
/* dynamic output */
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    41
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    42
export interface Dynamic_Output
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    43
{
65979
c208fcf369b7 tuned -- like Dynamic_Preview;
wenzelm
parents: 65977
diff changeset
    44
  content: string
65201
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    45
}
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    46
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    47
export const dynamic_output_type =
2d01b30e6ac6 clarified modules;
wenzelm
parents:
diff changeset
    48
  new NotificationType<Dynamic_Output, void>("PIDE/dynamic_output")
65977
c51b74be23b6 provide preview content on Scala side (similar to output);
wenzelm
parents: 65201
diff changeset
    49
c51b74be23b6 provide preview content on Scala side (similar to output);
wenzelm
parents: 65201
diff changeset
    50
66096
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    51
/* state */
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    52
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    53
export interface State_Output
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    54
{
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    55
  id: number
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    56
  content: string
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
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    59
export const state_output_type =
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    60
  new NotificationType<State_Output, void>("PIDE/state_output")
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    61
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    62
export interface State_Id
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    63
{
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    64
  id: number
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
66211
100c9c997e2b HTML GUI actions via JavaScript;
wenzelm
parents: 66138
diff changeset
    67
export interface Auto_Update
100c9c997e2b HTML GUI actions via JavaScript;
wenzelm
parents: 66138
diff changeset
    68
{
100c9c997e2b HTML GUI actions via JavaScript;
wenzelm
parents: 66138
diff changeset
    69
  id: number
100c9c997e2b HTML GUI actions via JavaScript;
wenzelm
parents: 66138
diff changeset
    70
  enabled: boolean
100c9c997e2b HTML GUI actions via JavaScript;
wenzelm
parents: 66138
diff changeset
    71
}
100c9c997e2b HTML GUI actions via JavaScript;
wenzelm
parents: 66138
diff changeset
    72
66096
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    73
export const state_init_type = new NotificationType<void, void>("PIDE/state_init")
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    74
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
    75
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
    76
export const state_update_type = new NotificationType<State_Id, void>("PIDE/state_update")
66211
100c9c997e2b HTML GUI actions via JavaScript;
wenzelm
parents: 66138
diff changeset
    77
export const state_auto_update_type =
100c9c997e2b HTML GUI actions via JavaScript;
wenzelm
parents: 66138
diff changeset
    78
  new NotificationType<Auto_Update, void>("PIDE/state_auto_update")
66096
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    79
6187612e83c1 support for separate proof state output;
wenzelm
parents: 66052
diff changeset
    80
65983
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    81
/* preview */
65977
c51b74be23b6 provide preview content on Scala side (similar to output);
wenzelm
parents: 65201
diff changeset
    82
65983
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    83
export interface Preview_Request
65977
c51b74be23b6 provide preview content on Scala side (similar to output);
wenzelm
parents: 65201
diff changeset
    84
{
65983
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    85
  uri: string
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    86
  column: number
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    87
}
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    88
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    89
export interface Preview_Response
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    90
{
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    91
  uri: string
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    92
  column: number
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    93
  label: string
65977
c51b74be23b6 provide preview content on Scala side (similar to output);
wenzelm
parents: 65201
diff changeset
    94
  content: string
c51b74be23b6 provide preview content on Scala side (similar to output);
wenzelm
parents: 65201
diff changeset
    95
}
c51b74be23b6 provide preview content on Scala side (similar to output);
wenzelm
parents: 65201
diff changeset
    96
65983
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    97
export const preview_request_type =
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    98
  new NotificationType<Preview_Request, void>("PIDE/preview_request")
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
    99
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
   100
export const preview_response_type =
d8c5603c1732 explicit preview request/response;
wenzelm
parents: 65979
diff changeset
   101
  new NotificationType<Preview_Response, void>("PIDE/preview_response")
66052
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
   102
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
   103
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
   104
/* Isabelle symbols */
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
   105
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
   106
export interface Symbols
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
   107
{
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
   108
  entries: [symbol.Entry]
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
   109
}
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
   110
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
   111
export const symbols_type =
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
   112
  new NotificationType<Symbols, void>("PIDE/symbols")
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
   113
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
   114
export const symbols_request_type =
39eb61b1fa51 provide information about Isabelle symbols within VSCode;
wenzelm
parents: 65983
diff changeset
   115
  new NotificationType<void, void>("PIDE/symbols_request")
66138
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   116
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   117
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   118
/* spell checker */
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   119
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   120
export const include_word_type =
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   121
  new NotificationType<void, void>("PIDE/include_word")
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   122
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   123
export const include_word_permanently_type =
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   124
  new NotificationType<void, void>("PIDE/include_word_permanently")
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   125
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   126
export const exclude_word_type =
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   127
  new NotificationType<void, void>("PIDE/exclude_word")
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   128
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   129
export const exclude_word_permanently_type =
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   130
  new NotificationType<void, void>("PIDE/exclude_word_permanently")
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   131
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   132
export const reset_words_type =
f7ef4c50b747 added commands for spell-checker dictionary;
wenzelm
parents: 66096
diff changeset
   133
  new NotificationType<void, void>("PIDE/reset_words")