Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
b5461b22
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b5461b22
编写于
6月 01, 2016
作者:
A
Alex Dima
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Document and rearrange things in monaco.d.ts
上级
4aa66645
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
1184 addition
and
1171 deletion
+1184
-1171
build/monaco/README.md
build/monaco/README.md
+25
-0
build/monaco/monaco.d.ts.recipe
build/monaco/monaco.d.ts.recipe
+38
-44
src/vs/monaco.d.ts
src/vs/monaco.d.ts
+1121
-1127
未找到文件。
build/monaco/README.md
0 → 100644
浏览文件 @
b5461b22
# Steps to publish a new version of monaco-editor-core
## Generate monaco.d.ts
*
Generate
`.d.ts`
files from our modules
*
kill
`gulp watch`
if you have it running
*
`SET VSCODE_BUILD_DECLARATION_FILES=1`
*
run
`gulp watch`
*
`node build/lib/api`
*
validate that the file is generated ok and that everything compiles
## Bump version
*
increase version in
`build/monaco/package.json`
## Generate npm contents for monaco-editor-core
*
Be sure to have all changes committed
**and pushed to the remote**
*
(the generated files contain the HEAD sha and that should be available on the remote)
*
run gulp editor-distro
## Publish
*
`cd out-monaco-editor-core`
*
`npm publish`
build/monaco/monaco.d.ts.recipe
浏览文件 @
b5461b22
declare module monaco.worker {
export interface IMirrorModel {
uri: Uri;
version: number;
getText(): string;
}
export var mirrorModels: IMirrorModel[];
}
declare module monaco.languages {
#includeAll(vs/editor/browser/standalone/standaloneLanguages;modes.=>;editorCommon.=>editor.):
#include(vs/editor/common/modes/supports/richEditSupport): CommentRule, IRichLanguageConfiguration
#include(vs/editor/common/modes/supports/onEnter): IIndentationRules, IOnEnterRegExpRules
#include(vs/editor/common/modes/supports/electricCharacter): IBracketElectricCharacterContribution, IDocComment
#includeAll(vs/editor/common/modes;editorCommon.IRange=>IRange;editorCommon.IPosition=>IPosition;editorCommon.=>editor.;IToken2=>IToken;ILineTokens2=>ILineTokens;IState2=>IState):
#include(vs/editor/common/services/modeService): ILanguageExtensionPoint
}
declare module monaco.editor {
#includeAll(vs/editor/browser/standalone/standaloneEditor;modes.=>languages.):
#include(vs/editor/browser/standalone/standaloneCodeEditor): IEditorConstructionOptions, IDiffEditorConstructionOptions
#include(vs/editor/browser/standalone/standaloneServices): IEditorOverrideServices
#include(vs/platform/markers/common/markers): IMarkerData
export interface IColorizerOptions {
tabSize?: number;
}
export interface IColorizerElementOptions extends IColorizerOptions {
theme?: string;
mimeType?: string;
}
}
declare module monaco {
interface Thenable<R> {
...
...
@@ -92,10 +49,47 @@ declare module monaco {
#include(vs/editor/common/core/selection): Selection
}
declare module monaco.editor {
#includeAll(vs/editor/browser/standalone/standaloneEditor;modes.=>languages.):
#include(vs/editor/browser/standalone/standaloneCodeEditor): IEditorConstructionOptions, IDiffEditorConstructionOptions
#include(vs/editor/browser/standalone/standaloneServices): IEditorOverrideServices
#include(vs/platform/markers/common/markers): IMarkerData
export interface IColorizerOptions {
tabSize?: number;
}
export interface IColorizerElementOptions extends IColorizerOptions {
theme?: string;
mimeType?: string;
}
#include(vs/editor/common/modes/monarch/monarchTypes): ILanguage, ILanguageBracket
#include(vs/base/browser/ui/scrollbar/scrollableElementOptions): ScrollbarVisibility
#includeAll(vs/editor/common/editorCommon;IMode=>languages.IMode): IPosition, IRange, ISelection, SelectionDirection, IScrollEvent
#includeAll(vs/editor/browser/editorBrowser;editorCommon.=>):
}
declare module monaco.languages {
#includeAll(vs/editor/browser/standalone/standaloneLanguages;modes.=>;editorCommon.=>editor.):
#include(vs/editor/common/modes/supports/richEditSupport): CommentRule, IRichLanguageConfiguration
#include(vs/editor/common/modes/supports/onEnter): IIndentationRules, IOnEnterRegExpRules
#include(vs/editor/common/modes/supports/electricCharacter): IBracketElectricCharacterContribution, IDocComment
#includeAll(vs/editor/common/modes;editorCommon.IRange=>IRange;editorCommon.IPosition=>IPosition;editorCommon.=>editor.;IToken2=>IToken;ILineTokens2=>ILineTokens;IState2=>IState):
#include(vs/editor/common/services/modeService): ILanguageExtensionPoint
}
declare module monaco.worker {
export interface IMirrorModel {
uri: Uri;
version: number;
getText(): string;
}
export var mirrorModels: IMirrorModel[];
}
\ No newline at end of file
src/vs/monaco.d.ts
浏览文件 @
b5461b22
declare
module
monaco
{
declare
module
monaco
.
worker
{
export
interface
IMirrorModel
{
uri
:
Uri
;
version
:
number
;
getText
():
string
;
interface
Thenable
<
R
>
{
/**
* Attaches callbacks for the resolution and/or rejection of the Promise.
* @param onfulfilled The callback to execute when the Promise is resolved.
* @param onrejected The callback to execute when the Promise is rejected.
* @returns A Promise for the completion of which ever callback is executed.
*/
then
<
TResult
>
(
onfulfilled
?:
(
value
:
R
)
=>
TResult
|
Thenable
<
TResult
>
,
onrejected
?:
(
reason
:
any
)
=>
TResult
|
Thenable
<
TResult
>
):
Thenable
<
TResult
>
;
then
<
TResult
>
(
onfulfilled
?:
(
value
:
R
)
=>
TResult
|
Thenable
<
TResult
>
,
onrejected
?:
(
reason
:
any
)
=>
void
):
Thenable
<
TResult
>
;
}
export
var
mirrorModels
:
IMirrorModel
[];
}
declare
module
monaco
.
languages
{
export
function
setLanguageConfiguration
(
languageId
:
string
,
configuration
:
IRichLanguageConfiguration
):
IDisposable
;
export
function
setTokensProvider
(
languageId
:
string
,
support
:
TokensProvider
):
IDisposable
;
export
function
registerReferenceProvider
(
languageId
:
string
,
support
:
ReferenceProvider
):
IDisposable
;
export
function
registerRenameProvider
(
languageId
:
string
,
support
:
RenameProvider
):
IDisposable
;
export
enum
CompletionItemKind
{
Text
=
0
,
Method
=
1
,
Function
=
2
,
Constructor
=
3
,
Field
=
4
,
Variable
=
5
,
Class
=
6
,
Interface
=
7
,
Module
=
8
,
Property
=
9
,
Unit
=
10
,
Value
=
11
,
Enum
=
12
,
Keyword
=
13
,
Snippet
=
14
,
Color
=
15
,
File
=
16
,
Reference
=
17
,
export
interface
IDisposable
{
dispose
():
void
;
}
export
interface
CompletionItem
{
label
:
string
;
kind
:
CompletionItemKind
;
detail
?:
string
;
documentation
?:
string
;
sortText
?:
string
;
filterText
?:
string
;
insertText
?:
string
;
textEdit
?:
editor
.
ISingleEditOperation
;
export
interface
IEvent
<
T
>
{
(
listener
:
(
e
:
T
)
=>
any
,
thisArg
?:
any
):
IDisposable
;
}
export
interface
CompletionList
{
isIncomplete
?:
boolean
;
items
:
CompletionItem
[];
export
class
Emitter
<
T
>
{
constructor
();
event
:
IEvent
<
T
>
;
fire
(
event
?:
T
):
void
;
dispose
():
void
;
}
export
interface
CompletionItemProvider
{
triggerCharacters
?:
string
[];
provideCompletionItems
(
model
:
editor
.
IReadOnlyModel
,
position
:
Position
,
token
:
CancellationToken
):
CompletionItem
[]
|
Thenable
<
CompletionItem
[]
>
|
CompletionList
|
Thenable
<
CompletionList
>
;
resolveCompletionItem
?(
item
:
CompletionItem
,
token
:
CancellationToken
):
CompletionItem
|
Thenable
<
CompletionItem
>
;
export
enum
Severity
{
Ignore
=
0
,
Info
=
1
,
Warning
=
2
,
Error
=
3
,
}
export
function
registerCompletionItemProvider
(
languageId
:
string
,
provider
:
CompletionItemProvider
):
IDisposable
;
export
function
registerSignatureHelpProvider
(
languageId
:
string
,
support
:
SignatureHelpProvider
):
IDisposable
;
export
function
registerHoverProvider
(
languageId
:
string
,
support
:
HoverProvider
):
IDisposable
;
export
function
registerDocumentSymbolProvider
(
languageId
:
string
,
support
:
DocumentSymbolProvider
):
IDisposable
;
export
function
registerDocumentHighlightProvider
(
languageId
:
string
,
support
:
DocumentHighlightProvider
):
IDisposable
;
export
function
registerDefinitionProvider
(
languageId
:
string
,
support
:
DefinitionProvider
):
IDisposable
;
export
function
registerCodeLensProvider
(
languageId
:
string
,
support
:
CodeLensProvider
):
IDisposable
;
export
function
registerCodeActionProvider
(
languageId
:
string
,
support
:
CodeActionProvider
):
IDisposable
;
export
function
registerDocumentFormattingEditProvider
(
languageId
:
string
,
support
:
DocumentFormattingEditProvider
):
IDisposable
;
export
function
registerDocumentRangeFormattingEditProvider
(
languageId
:
string
,
support
:
DocumentRangeFormattingEditProvider
):
IDisposable
;
export
function
registerOnTypeFormattingEditProvider
(
languageId
:
string
,
support
:
OnTypeFormattingEditProvider
):
IDisposable
;
export
function
registerLinkProvider
(
languageId
:
string
,
support
:
LinkProvider
):
IDisposable
;
export
function
registerMonarchStandaloneLanguage
(
language
:
ILanguageExtensionPoint
,
defModule
:
string
):
void
;
export
function
register
(
language
:
ILanguageExtensionPoint
):
void
;
export
function
onLanguage
(
languageId
:
string
,
callback
:
()
=>
void
):
IDisposable
;
export
interface
CommentRule
{
lineComment
?:
string
;
blockComment
?:
CharacterPair
;
// --- Generic promise
export
interface
TValueCallback
<
T
>
{
(
value
:
T
):
void
;
}
export
interface
IRichLanguageConfiguration
{
comments
?:
CommentRule
;
brackets
?:
CharacterPair
[];
wordPattern
?:
RegExp
;
indentationRules
?:
IIndentationRules
;
onEnterRules
?:
IOnEnterRegExpRules
[];
autoClosingPairs
?:
IAutoClosingPairConditional
[];
surroundingPairs
?:
IAutoClosingPair
[];
__electricCharacterSupport
?:
IBracketElectricCharacterContribution
;
}
export
interface
IIndentationRules
{
decreaseIndentPattern
:
RegExp
;
increaseIndentPattern
:
RegExp
;
indentNextLinePattern
?:
RegExp
;
unIndentedLinePattern
?:
RegExp
;
export
interface
ProgressCallback
{
(
progress
:
any
):
any
;
}
export
interface
IOnEnterRegExpRules
{
beforeText
:
RegExp
;
afterText
?:
RegExp
;
action
:
IEnterAction
;
}
export
interface
IBracketElectricCharacterContribution
{
docComment
?:
IDocComment
;
caseInsensitive
?:
boolean
;
embeddedElectricCharacters
?:
string
[];
}
export
class
Promise
<
V
>
{
/**
* Definition of documentation comments (e.g. Javadoc/JSdoc)
*/
export
interface
IDocComment
{
scope
:
string
;
open
:
string
;
lineStart
:
string
;
close
?:
string
;
}
constructor
(
init
:
(
complete
:
TValueCallback
<
V
>
,
error
:
(
err
:
any
)
=>
void
,
progress
:
ProgressCallback
)
=>
void
,
oncancel
?:
any
);
export
interface
IMode
{
getId
():
string
;
}
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
Promise
<
U
>
,
error
?:
(
err
:
any
)
=>
Promise
<
U
>
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
Promise
<
U
>
,
error
?:
(
err
:
any
)
=>
Promise
<
U
>
|
U
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
Promise
<
U
>
,
error
?:
(
err
:
any
)
=>
U
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
Promise
<
U
>
,
error
?:
(
err
:
any
)
=>
void
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
Promise
<
U
>
|
U
,
error
?:
(
err
:
any
)
=>
Promise
<
U
>
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
Promise
<
U
>
|
U
,
error
?:
(
err
:
any
)
=>
Promise
<
U
>
|
U
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
Promise
<
U
>
|
U
,
error
?:
(
err
:
any
)
=>
U
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
Promise
<
U
>
|
U
,
error
?:
(
err
:
any
)
=>
void
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
U
,
error
?:
(
err
:
any
)
=>
Promise
<
U
>
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
U
,
error
?:
(
err
:
any
)
=>
Promise
<
U
>
|
U
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
U
,
error
?:
(
err
:
any
)
=>
U
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
U
,
error
?:
(
err
:
any
)
=>
void
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
export
interface
IToken
{
startIndex
:
number
;
scopes
:
string
|
string
[];
}
public
done
(
success
?:
(
value
:
V
)
=>
void
,
error
?:
(
err
:
any
)
=>
any
,
progress
?:
ProgressCallback
):
void
;
public
cancel
():
void
;
export
interface
ILineTokens
{
tokens
:
IToken
[];
endState
:
IState
;
retokenize
?:
Promise
<
void
>
;
public
static
as
<
ValueType
>
(
value
:
ValueType
):
Promise
<
ValueType
>
;
public
static
is
(
value
:
any
):
value
is
Promise
<
any
>
;
public
static
timeout
(
delay
:
number
):
Promise
<
void
>
;
public
static
join
<
ValueType
>
(
promises
:
Promise
<
ValueType
>
[]):
Promise
<
ValueType
[]
>
;
public
static
join
<
ValueType
>
(
promises
:
Thenable
<
ValueType
>
[]):
Thenable
<
ValueType
[]
>
;
public
static
join
<
ValueType
>
(
promises
:
{
[
n
:
string
]:
Promise
<
ValueType
>
}):
Promise
<
{
[
n
:
string
]:
ValueType
}
>
;
public
static
any
<
ValueType
>
(
promises
:
Promise
<
ValueType
>
[]):
Promise
<
{
key
:
string
;
value
:
Promise
<
ValueType
>
;
}
>
;
public
static
wrapError
<
ValueType
>
(
error
:
any
):
Promise
<
ValueType
>
;
}
export
interface
IState
{
clone
():
IState
;
equals
(
other
:
IState
):
boolean
;
export
class
CancellationTokenSource
{
token
:
CancellationToken
;
cancel
():
void
;
dispose
():
void
;
}
export
interface
TokensProvider
{
getInitialState
():
IState
;
tokenize
(
line
:
string
,
state
:
IState
):
ILineTokens
;
export
interface
CancellationToken
{
isCancellationRequested
:
boolean
;
onCancellationRequested
:
IEvent
<
any
>
;
}
/**
* A hover represents additional information for a symbol or word. Hovers are
* rendered in a tooltip-like widget.
* Uniform Resource Identifier (Uri) http://tools.ietf.org/html/rfc3986.
* This class is a simple parser which creates the basic component paths
* (http://tools.ietf.org/html/rfc3986#section-3) with minimal validation
* and encoding.
*
* foo://example.com:8042/over/there?name=ferret#nose
* \_/ \______________/\_________/ \_________/ \__/
* | | | | |
* scheme authority path query fragment
* | _____________________|__
* / \ / \
* urn:example:animal:ferret:nose
*
*
*/
export
interface
Hover
{
export
class
Uri
{
constructor
();
/**
* The contents of this hover.
* scheme is the 'http' part of 'http://www.msft.com/some/path?query#fragment'.
* The part before the first colon.
*/
htmlContent
:
IHTMLContentElement
[]
;
scheme
:
string
;
/**
* The range to which this hover applies. When missing, the
* editor will use the range at the current position or the
* current position itself.
*/
range
:
IRange
;
}
export
interface
HoverProvider
{
provideHover
(
model
:
editor
.
IReadOnlyModel
,
position
:
Position
,
token
:
CancellationToken
):
Hover
|
Thenable
<
Hover
>
;
}
/**
* Interface used to quick fix typing errors while accesing member fields.
*/
export
interface
IQuickFix
{
command
:
ICommand
;
score
:
number
;
}
export
interface
CodeActionProvider
{
provideCodeActions
(
model
:
editor
.
IReadOnlyModel
,
range
:
Range
,
token
:
CancellationToken
):
IQuickFix
[]
|
Thenable
<
IQuickFix
[]
>
;
}
export
interface
ParameterInformation
{
label
:
string
;
documentation
:
string
;
}
export
interface
SignatureInformation
{
label
:
string
;
documentation
:
string
;
parameters
:
ParameterInformation
[];
}
export
interface
SignatureHelp
{
signatures
:
SignatureInformation
[];
activeSignature
:
number
;
activeParameter
:
number
;
}
export
interface
SignatureHelpProvider
{
signatureHelpTriggerCharacters
:
string
[];
provideSignatureHelp
(
model
:
editor
.
IReadOnlyModel
,
position
:
Position
,
token
:
CancellationToken
):
SignatureHelp
|
Thenable
<
SignatureHelp
>
;
}
export
enum
DocumentHighlightKind
{
Text
=
0
,
Read
=
1
,
Write
=
2
,
}
export
interface
DocumentHighlight
{
range
:
IRange
;
kind
:
DocumentHighlightKind
;
}
export
interface
DocumentHighlightProvider
{
provideDocumentHighlights
(
model
:
editor
.
IReadOnlyModel
,
position
:
Position
,
token
:
CancellationToken
):
DocumentHighlight
[]
|
Thenable
<
DocumentHighlight
[]
>
;
}
export
interface
ReferenceContext
{
includeDeclaration
:
boolean
;
}
export
interface
ReferenceProvider
{
provideReferences
(
model
:
editor
.
IReadOnlyModel
,
position
:
Position
,
context
:
ReferenceContext
,
token
:
CancellationToken
):
Location
[]
|
Thenable
<
Location
[]
>
;
}
export
class
Location
{
uri
:
Uri
;
range
:
IRange
;
}
export
type
Definition
=
Location
|
Location
[];
export
interface
DefinitionProvider
{
provideDefinition
(
model
:
editor
.
IReadOnlyModel
,
position
:
Position
,
token
:
CancellationToken
):
Definition
|
Thenable
<
Definition
>
;
}
export
enum
SymbolKind
{
File
=
0
,
Module
=
1
,
Namespace
=
2
,
Package
=
3
,
Class
=
4
,
Method
=
5
,
Property
=
6
,
Field
=
7
,
Constructor
=
8
,
Enum
=
9
,
Interface
=
10
,
Function
=
11
,
Variable
=
12
,
Constant
=
13
,
String
=
14
,
Number
=
15
,
Boolean
=
16
,
Array
=
17
,
Object
=
18
,
Key
=
19
,
Null
=
20
,
}
export
interface
SymbolInformation
{
name
:
string
;
containerName
?:
string
;
kind
:
SymbolKind
;
location
:
Location
;
}
export
interface
DocumentSymbolProvider
{
provideDocumentSymbols
(
model
:
editor
.
IReadOnlyModel
,
token
:
CancellationToken
):
SymbolInformation
[]
|
Thenable
<
SymbolInformation
[]
>
;
}
/**
* Interface used to format a model
*/
export
interface
IFormattingOptions
{
tabSize
:
number
;
insertSpaces
:
boolean
;
}
export
interface
DocumentFormattingEditProvider
{
provideDocumentFormattingEdits
(
model
:
editor
.
IReadOnlyModel
,
options
:
IFormattingOptions
,
token
:
CancellationToken
):
editor
.
ISingleEditOperation
[]
|
Thenable
<
editor
.
ISingleEditOperation
[]
>
;
}
export
interface
DocumentRangeFormattingEditProvider
{
provideDocumentRangeFormattingEdits
(
model
:
editor
.
IReadOnlyModel
,
range
:
Range
,
options
:
IFormattingOptions
,
token
:
CancellationToken
):
editor
.
ISingleEditOperation
[]
|
Thenable
<
editor
.
ISingleEditOperation
[]
>
;
}
export
interface
OnTypeFormattingEditProvider
{
autoFormatTriggerCharacters
:
string
[];
provideOnTypeFormattingEdits
(
model
:
editor
.
IReadOnlyModel
,
position
:
Position
,
ch
:
string
,
options
:
IFormattingOptions
,
token
:
CancellationToken
):
editor
.
ISingleEditOperation
[]
|
Thenable
<
editor
.
ISingleEditOperation
[]
>
;
}
export
interface
ILink
{
range
:
IRange
;
url
:
string
;
}
export
interface
LinkProvider
{
provideLinks
(
model
:
editor
.
IReadOnlyModel
,
token
:
CancellationToken
):
ILink
[]
|
Thenable
<
ILink
[]
>
;
}
export
interface
IResourceEdit
{
resource
:
Uri
;
range
:
IRange
;
newText
:
string
;
}
export
interface
WorkspaceEdit
{
edits
:
IResourceEdit
[];
rejectReason
?:
string
;
}
export
interface
RenameProvider
{
provideRenameEdits
(
model
:
editor
.
IReadOnlyModel
,
position
:
Position
,
newName
:
string
,
token
:
CancellationToken
):
WorkspaceEdit
|
Thenable
<
WorkspaceEdit
>
;
}
export
interface
ICommand
{
id
:
string
;
title
:
string
;
arguments
?:
any
[];
}
export
interface
ICodeLensSymbol
{
range
:
IRange
;
id
?:
string
;
command
?:
ICommand
;
}
export
interface
CodeLensProvider
{
provideCodeLenses
(
model
:
editor
.
IReadOnlyModel
,
token
:
CancellationToken
):
ICodeLensSymbol
[]
|
Thenable
<
ICodeLensSymbol
[]
>
;
resolveCodeLens
?(
model
:
editor
.
IReadOnlyModel
,
codeLens
:
ICodeLensSymbol
,
token
:
CancellationToken
):
ICodeLensSymbol
|
Thenable
<
ICodeLensSymbol
>
;
}
export
type
CharacterPair
=
[
string
,
string
];
export
interface
IAutoClosingPairConditional
extends
IAutoClosingPair
{
notIn
?:
string
[];
}
export
enum
IndentAction
{
None
=
0
,
Indent
=
1
,
IndentOutdent
=
2
,
Outdent
=
3
,
}
/**
* An action the editor executes when 'enter' is being pressed
*/
export
interface
IEnterAction
{
indentAction
:
IndentAction
;
appendText
?:
string
;
removeText
?:
number
;
}
export
interface
IAutoClosingPair
{
open
:
string
;
close
:
string
;
}
export
interface
ILanguageExtensionPoint
{
id
:
string
;
extensions
?:
string
[];
filenames
?:
string
[];
filenamePatterns
?:
string
[];
firstLine
?:
string
;
aliases
?:
string
[];
mimetypes
?:
string
[];
configuration
?:
string
;
}
}
declare
module
monaco
.
editor
{
export
function
create
(
domElement
:
HTMLElement
,
options
:
IEditorConstructionOptions
,
services
:
IEditorOverrideServices
):
ICodeEditor
;
export
function
createDiffEditor
(
domElement
:
HTMLElement
,
options
:
IDiffEditorConstructionOptions
,
services
:
IEditorOverrideServices
):
IDiffEditor
;
export
function
createModel
(
value
:
string
,
mode
:
string
|
ILanguage
|
languages
.
IMode
,
associatedResource
?:
Uri
|
string
):
IModel
;
export
function
getModels
():
IModel
[];
export
function
getModel
(
uri
:
Uri
):
IModel
;
export
function
onDidCreateModel
(
listener
:
(
model
:
IModel
)
=>
void
):
IDisposable
;
export
function
onWillDisposeModel
(
listener
:
(
model
:
IModel
)
=>
void
):
IDisposable
;
export
function
onDidChangeModelMode
(
listener
:
(
e
:
{
model
:
IModel
;
oldModeId
:
string
;
})
=>
void
):
IDisposable
;
export
function
setMarkers
(
model
:
IModel
,
owner
:
string
,
markers
:
IMarkerData
[]):
void
;
export
function
getOrCreateMode
(
modeId
:
string
):
Promise
<
languages
.
IMode
>
;
export
function
createCustomMode
(
language
:
ILanguage
):
Promise
<
languages
.
IMode
>
;
export
class
MonacoWebWorker
<
T
>
{
dispose
():
void
;
getProxy
():
Promise
<
T
>
;
withSyncedResources
(
resources
:
Uri
[]):
Promise
<
void
>
;
}
export
interface
IWebWorkerOptions
{
moduleId
:
string
;
}
export
function
createWebWorker
<
T
>
(
opts
:
IWebWorkerOptions
):
MonacoWebWorker
<
T
>
;
export
function
colorizeElement
(
domNode
:
HTMLElement
,
options
:
IColorizerElementOptions
):
Promise
<
void
>
;
export
function
colorize
(
text
:
string
,
modeId
:
string
,
options
:
IColorizerOptions
):
Promise
<
string
>
;
export
function
colorizeModelLine
(
model
:
IModel
,
lineNumber
:
number
,
tabSize
?:
number
):
string
;
export
interface
IEditorConstructionOptions
extends
ICodeEditorWidgetCreationOptions
{
value
?:
string
;
mode
?:
string
;
}
export
interface
IDiffEditorConstructionOptions
extends
IDiffEditorOptions
{
}
export
interface
IEditorOverrideServices
{
}
export
interface
IMarkerData
{
code
?:
string
;
severity
:
Severity
;
message
:
string
;
source
?:
string
;
startLineNumber
:
number
;
startColumn
:
number
;
endLineNumber
:
number
;
endColumn
:
number
;
}
export
interface
IColorizerOptions
{
tabSize
?:
number
;
}
export
interface
IColorizerElementOptions
extends
IColorizerOptions
{
theme
?:
string
;
mimeType
?:
string
;
}
}
declare
module
monaco
{
interface
Thenable
<
R
>
{
/**
* Attaches callbacks for the resolution and/or rejection of the Promise.
* @param onfulfilled The callback to execute when the Promise is resolved.
* @param onrejected The callback to execute when the Promise is rejected.
* @returns A Promise for the completion of which ever callback is executed.
*/
then
<
TResult
>
(
onfulfilled
?:
(
value
:
R
)
=>
TResult
|
Thenable
<
TResult
>
,
onrejected
?:
(
reason
:
any
)
=>
TResult
|
Thenable
<
TResult
>
):
Thenable
<
TResult
>
;
then
<
TResult
>
(
onfulfilled
?:
(
value
:
R
)
=>
TResult
|
Thenable
<
TResult
>
,
onrejected
?:
(
reason
:
any
)
=>
void
):
Thenable
<
TResult
>
;
}
export
interface
IDisposable
{
dispose
():
void
;
}
export
interface
IEvent
<
T
>
{
(
listener
:
(
e
:
T
)
=>
any
,
thisArg
?:
any
):
IDisposable
;
}
export
class
Emitter
<
T
>
{
constructor
();
event
:
IEvent
<
T
>
;
fire
(
event
?:
T
):
void
;
dispose
():
void
;
}
export
enum
Severity
{
Ignore
=
0
,
Info
=
1
,
Warning
=
2
,
Error
=
3
,
}
// --- Generic promise
export
interface
TValueCallback
<
T
>
{
(
value
:
T
):
void
;
}
export
interface
ProgressCallback
{
(
progress
:
any
):
any
;
}
export
class
Promise
<
V
>
{
constructor
(
init
:
(
complete
:
TValueCallback
<
V
>
,
error
:
(
err
:
any
)
=>
void
,
progress
:
ProgressCallback
)
=>
void
,
oncancel
?:
any
);
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
Promise
<
U
>
,
error
?:
(
err
:
any
)
=>
Promise
<
U
>
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
Promise
<
U
>
,
error
?:
(
err
:
any
)
=>
Promise
<
U
>
|
U
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
Promise
<
U
>
,
error
?:
(
err
:
any
)
=>
U
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
Promise
<
U
>
,
error
?:
(
err
:
any
)
=>
void
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
Promise
<
U
>
|
U
,
error
?:
(
err
:
any
)
=>
Promise
<
U
>
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
Promise
<
U
>
|
U
,
error
?:
(
err
:
any
)
=>
Promise
<
U
>
|
U
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
Promise
<
U
>
|
U
,
error
?:
(
err
:
any
)
=>
U
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
Promise
<
U
>
|
U
,
error
?:
(
err
:
any
)
=>
void
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
U
,
error
?:
(
err
:
any
)
=>
Promise
<
U
>
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
U
,
error
?:
(
err
:
any
)
=>
Promise
<
U
>
|
U
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
U
,
error
?:
(
err
:
any
)
=>
U
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
then
<
U
>
(
success
?:
(
value
:
V
)
=>
U
,
error
?:
(
err
:
any
)
=>
void
,
progress
?:
ProgressCallback
):
Promise
<
U
>
;
public
done
(
success
?:
(
value
:
V
)
=>
void
,
error
?:
(
err
:
any
)
=>
any
,
progress
?:
ProgressCallback
):
void
;
public
cancel
():
void
;
public
static
as
<
ValueType
>
(
value
:
ValueType
):
Promise
<
ValueType
>
;
public
static
is
(
value
:
any
):
value
is
Promise
<
any
>
;
public
static
timeout
(
delay
:
number
):
Promise
<
void
>
;
public
static
join
<
ValueType
>
(
promises
:
Promise
<
ValueType
>
[]):
Promise
<
ValueType
[]
>
;
public
static
join
<
ValueType
>
(
promises
:
Thenable
<
ValueType
>
[]):
Thenable
<
ValueType
[]
>
;
public
static
join
<
ValueType
>
(
promises
:
{
[
n
:
string
]:
Promise
<
ValueType
>
}):
Promise
<
{
[
n
:
string
]:
ValueType
}
>
;
public
static
any
<
ValueType
>
(
promises
:
Promise
<
ValueType
>
[]):
Promise
<
{
key
:
string
;
value
:
Promise
<
ValueType
>
;
}
>
;
public
static
wrapError
<
ValueType
>
(
error
:
any
):
Promise
<
ValueType
>
;
}
export
class
CancellationTokenSource
{
token
:
CancellationToken
;
cancel
():
void
;
dispose
():
void
;
}
export
interface
CancellationToken
{
isCancellationRequested
:
boolean
;
onCancellationRequested
:
IEvent
<
any
>
;
}
/**
* Uniform Resource Identifier (Uri) http://tools.ietf.org/html/rfc3986.
* This class is a simple parser which creates the basic component paths
* (http://tools.ietf.org/html/rfc3986#section-3) with minimal validation
* and encoding.
*
* foo://example.com:8042/over/there?name=ferret#nose
* \_/ \______________/\_________/ \_________/ \__/
* | | | | |
* scheme authority path query fragment
* | _____________________|__
* / \ / \
* urn:example:animal:ferret:nose
*
*
*/
export
class
Uri
{
constructor
();
/**
* scheme is the 'http' part of 'http://www.msft.com/some/path?query#fragment'.
* The part before the first colon.
*/
scheme
:
string
;
/**
* authority is the 'www.msft.com' part of 'http://www.msft.com/some/path?query#fragment'.
* The part between the first double slashes and the next slash.
* authority is the 'www.msft.com' part of 'http://www.msft.com/some/path?query#fragment'.
* The part between the first double slashes and the next slash.
*/
authority
:
string
;
/**
...
...
@@ -1118,8 +645,83 @@ declare module monaco {
}
}
declare
module
monaco
.
editor
{
export
function
create
(
domElement
:
HTMLElement
,
options
:
IEditorConstructionOptions
,
services
:
IEditorOverrideServices
):
ICodeEditor
;
export
function
createDiffEditor
(
domElement
:
HTMLElement
,
options
:
IDiffEditorConstructionOptions
,
services
:
IEditorOverrideServices
):
IDiffEditor
;
export
function
createModel
(
value
:
string
,
mode
:
string
|
ILanguage
|
languages
.
IMode
,
associatedResource
?:
Uri
|
string
):
IModel
;
export
function
getModels
():
IModel
[];
export
function
getModel
(
uri
:
Uri
):
IModel
;
export
function
onDidCreateModel
(
listener
:
(
model
:
IModel
)
=>
void
):
IDisposable
;
export
function
onWillDisposeModel
(
listener
:
(
model
:
IModel
)
=>
void
):
IDisposable
;
export
function
onDidChangeModelMode
(
listener
:
(
e
:
{
model
:
IModel
;
oldModeId
:
string
;
})
=>
void
):
IDisposable
;
export
function
setMarkers
(
model
:
IModel
,
owner
:
string
,
markers
:
IMarkerData
[]):
void
;
export
function
getOrCreateMode
(
modeId
:
string
):
Promise
<
languages
.
IMode
>
;
export
function
createCustomMode
(
language
:
ILanguage
):
Promise
<
languages
.
IMode
>
;
export
class
MonacoWebWorker
<
T
>
{
dispose
():
void
;
getProxy
():
Promise
<
T
>
;
withSyncedResources
(
resources
:
Uri
[]):
Promise
<
void
>
;
}
export
interface
IWebWorkerOptions
{
moduleId
:
string
;
}
export
function
createWebWorker
<
T
>
(
opts
:
IWebWorkerOptions
):
MonacoWebWorker
<
T
>
;
export
function
colorizeElement
(
domNode
:
HTMLElement
,
options
:
IColorizerElementOptions
):
Promise
<
void
>
;
export
function
colorize
(
text
:
string
,
modeId
:
string
,
options
:
IColorizerOptions
):
Promise
<
string
>
;
export
function
colorizeModelLine
(
model
:
IModel
,
lineNumber
:
number
,
tabSize
?:
number
):
string
;
export
interface
IEditorConstructionOptions
extends
ICodeEditorWidgetCreationOptions
{
value
?:
string
;
mode
?:
string
;
}
export
interface
IDiffEditorConstructionOptions
extends
IDiffEditorOptions
{
}
export
interface
IEditorOverrideServices
{
}
export
interface
IMarkerData
{
code
?:
string
;
severity
:
Severity
;
message
:
string
;
source
?:
string
;
startLineNumber
:
number
;
startColumn
:
number
;
endLineNumber
:
number
;
endColumn
:
number
;
}
export
interface
IColorizerOptions
{
tabSize
?:
number
;
}
export
interface
IColorizerElementOptions
extends
IColorizerOptions
{
theme
?:
string
;
mimeType
?:
string
;
}
/**
* A Monarch language definition
*/
...
...
@@ -3073,748 +2675,1140 @@ declare module monaco.editor {
*/
export
interface
IActionDescriptor
{
/**
* An unique identifier of the contributed action.
* An unique identifier of the contributed action.
*/
id
:
string
;
/**
* A label of the action that will be presented to the user.
*/
label
:
string
;
/**
* An array of keybindings for the action.
*/
keybindings
?:
number
[];
keybindingContext
?:
string
;
/**
* A set of enablement conditions.
*/
enablement
?:
IActionEnablement
;
/**
* Control if the action should show up in the context menu and where.
* Built-in groups:
* 1_goto/* => e.g. 1_goto/1_peekDefinition
* 2_change/* => e.g. 2_change/2_format
* 3_edit/* => e.g. 3_edit/1_copy
* 4_tools/* => e.g. 4_tools/1_commands
* You can also create your own group.
* Defaults to null (don't show in context menu).
*/
contextMenuGroupId
?:
string
;
/**
* Method that will be executed when the action is triggered.
* @param editor The editor instance is passed in as a convinience
*/
run
:
(
editor
:
ICommonCodeEditor
)
=>
Promise
<
void
>
;
}
/**
* An editor.
*/
export
interface
IEditor
{
onDidChangeModelRawContent
(
listener
:
(
e
:
IModelContentChangedEvent
)
=>
void
):
IDisposable
;
onDidChangeModelContent
(
listener
:
(
e
:
IModelContentChangedEvent2
)
=>
void
):
IDisposable
;
onDidChangeModelMode
(
listener
:
(
e
:
IModelModeChangedEvent
)
=>
void
):
IDisposable
;
onDidChangeModelOptions
(
listener
:
(
e
:
IModelOptionsChangedEvent
)
=>
void
):
IDisposable
;
onDidChangeConfiguration
(
listener
:
(
e
:
IConfigurationChangedEvent
)
=>
void
):
IDisposable
;
onDidChangeCursorPosition
(
listener
:
(
e
:
ICursorPositionChangedEvent
)
=>
void
):
IDisposable
;
onDidChangeCursorSelection
(
listener
:
(
e
:
ICursorSelectionChangedEvent
)
=>
void
):
IDisposable
;
onDidDispose
(
listener
:
()
=>
void
):
IDisposable
;
dispose
():
void
;
getId
():
string
;
/**
* Get the editor type. Current supported types:
* EditorCommon.EditorType.ICodeEditor => ICodeEditor;
* EditorCommon.EditorType.IDiffEditor => IDiffEditor;
* This is to avoid an instanceof check
*/
getEditorType
():
string
;
/**
* Update the editor's options after the editor has been created.
*/
updateOptions
(
newOptions
:
IEditorOptions
):
void
;
/**
* Instructs the editor to remeasure its container. This method should
* be called when the container of the editor gets resized.
*/
layout
(
dimension
?:
IDimension
):
void
;
/**
* Brings browser focus to the editor text
*/
focus
():
void
;
/**
* Returns true if this editor has keyboard focus (e.g. cursor is blinking).
*/
isFocused
():
boolean
;
/**
* Add a new action to this editor.
*/
addAction
(
descriptor
:
IActionDescriptor
):
void
;
/**
* Returns all actions associated with this editor.
*/
getActions
():
IAction
[];
/**
* Saves current view state of the editor in a serializable object.
*/
saveViewState
():
IEditorViewState
;
/**
* Restores the view state of the editor from a serializable object generated by `saveViewState`.
*/
restoreViewState
(
state
:
IEditorViewState
):
void
;
/**
* Given a position, returns a column number that takes tab-widths into account.
*/
getVisibleColumnFromPosition
(
position
:
IPosition
):
number
;
/**
* Returns the primary position of the cursor.
*/
getPosition
():
Position
;
/**
* Set the primary position of the cursor. This will remove any secondary cursors.
* @param position New primary cursor's position
*/
setPosition
(
position
:
IPosition
):
void
;
/**
* Scroll vertically as necessary and reveal a line.
*/
revealLine
(
lineNumber
:
number
):
void
;
/**
* Scroll vertically as necessary and reveal a line centered vertically.
*/
revealLineInCenter
(
lineNumber
:
number
):
void
;
/**
* Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport.
*/
revealLineInCenterIfOutsideViewport
(
lineNumber
:
number
):
void
;
/**
* Scroll vertically or horizontally as necessary and reveal a position.
*/
revealPosition
(
position
:
IPosition
):
void
;
/**
* Scroll vertically or horizontally as necessary and reveal a position centered vertically.
*/
revealPositionInCenter
(
position
:
IPosition
):
void
;
/**
* Scroll vertically or horizontally as necessary and reveal a position centered vertically only if it lies outside the viewport.
*/
revealPositionInCenterIfOutsideViewport
(
position
:
IPosition
):
void
;
/**
* Returns the primary selection of the editor.
*/
getSelection
():
Selection
;
/**
* Returns all the selections of the editor.
*/
getSelections
():
Selection
[];
/**
* Set the primary selection of the editor. This will remove any secondary cursors.
* @param selection The new selection
*/
setSelection
(
selection
:
IRange
):
void
;
setSelection
(
selection
:
Range
):
void
;
setSelection
(
selection
:
ISelection
):
void
;
setSelection
(
selection
:
Selection
):
void
;
/**
* Set the selections for all the cursors of the editor.
* Cursors will be removed or added, as necessary.
*/
setSelections
(
selections
:
ISelection
[]):
void
;
/**
* Scroll vertically as necessary and reveal lines.
*/
revealLines
(
startLineNumber
:
number
,
endLineNumber
:
number
):
void
;
/**
* Scroll vertically as necessary and reveal lines centered vertically.
*/
revealLinesInCenter
(
lineNumber
:
number
,
endLineNumber
:
number
):
void
;
/**
* Scroll vertically as necessary and reveal lines centered vertically only if it lies outside the viewport.
*/
revealLinesInCenterIfOutsideViewport
(
lineNumber
:
number
,
endLineNumber
:
number
):
void
;
/**
* Scroll vertically or horizontally as necessary and reveal a range.
*/
revealRange
(
range
:
IRange
):
void
;
/**
* Scroll vertically or horizontally as necessary and reveal a range centered vertically.
*/
revealRangeInCenter
(
range
:
IRange
):
void
;
/**
* Scroll vertically or horizontally as necessary and reveal a range centered vertically only if it lies outside the viewport.
*/
revealRangeInCenterIfOutsideViewport
(
range
:
IRange
):
void
;
/**
* Directly trigger a handler or an editor action.
* @param source The source of the call.
* @param handlerId The id of the handler or the id of a contribution.
* @param payload Extra data to be sent to the handler.
*/
trigger
(
source
:
string
,
handlerId
:
string
,
payload
:
any
):
void
;
/**
* Gets the current model attached to this editor.
*/
getModel
():
IEditorModel
;
/**
* Sets the current model attached to this editor.
* If the previous model was created by the editor via the value key in the options
* literal object, it will be destroyed. Otherwise, if the previous model was set
* via setModel, or the model key in the options literal object, the previous model
* will not be destroyed.
* It is safe to call setModel(null) to simply detach the current model from the editor.
*/
setModel
(
model
:
IEditorModel
):
void
;
}
/**
* An editor contribution that gets created every time a new editor gets created and gets disposed when the editor gets disposed.
*/
export
interface
IEditorContribution
{
/**
* Get a unique identifier for this contribution.
*/
getId
():
string
;
/**
* Dispose this contribution.
*/
dispose
():
void
;
/**
* Store view state.
*/
saveViewState
?():
any
;
/**
* Restore view state.
*/
restoreViewState
?(
state
:
any
):
void
;
}
export
interface
ICommonCodeEditor
extends
IEditor
{
onDidChangeModel
(
listener
:
(
e
:
IModelChangedEvent
)
=>
void
):
IDisposable
;
onDidChangeModelModeSupport
(
listener
:
(
e
:
IModeSupportChangedEvent
)
=>
void
):
IDisposable
;
onDidChangeModelDecorations
(
listener
:
(
e
:
IModelDecorationsChangedEvent
)
=>
void
):
IDisposable
;
onDidFocusEditorText
(
listener
:
()
=>
void
):
IDisposable
;
onDidBlurEditorText
(
listener
:
()
=>
void
):
IDisposable
;
onDidFocusEditor
(
listener
:
()
=>
void
):
IDisposable
;
onDidBlurEditor
(
listener
:
()
=>
void
):
IDisposable
;
/**
* Returns true if this editor or one of its widgets has keyboard focus.
*/
hasWidgetFocus
():
boolean
;
/**
* Get a contribution of this editor.
* @id Unique identifier of the contribution.
* @return The contribution or null if contribution not found.
*/
getContribution
(
id
:
string
):
IEditorContribution
;
/**
* Type the getModel() of IEditor.
*/
getModel
():
IModel
;
/**
* Returns the current editor's configuration
*/
getConfiguration
():
InternalEditorOptions
;
/**
* Get value of the current model attached to this editor.
* @see IModel.getValue
*/
getValue
(
options
?:
{
preserveBOM
:
boolean
;
lineEnding
:
string
;
}):
string
;
/**
* Set the value of the current model attached to this editor.
* @see IModel.setValue
*/
setValue
(
newValue
:
string
):
void
;
/**
* Get the scrollWidth of the editor's viewport.
*/
getScrollWidth
():
number
;
/**
* Get the scrollLeft of the editor's viewport.
*/
id
:
string
;
getScrollLeft
():
number
;
/**
*
A label of the action that will be presented to the user
.
*
Get the scrollHeight of the editor's viewport
.
*/
label
:
string
;
getScrollHeight
():
number
;
/**
*
An array of keybindings for the action
.
*
Get the scrollTop of the editor's viewport
.
*/
keybindings
?:
number
[];
keybindingContext
?:
string
;
getScrollTop
():
number
;
/**
*
A set of enablement conditions
.
*
Change the scrollLeft of the editor's viewport
.
*/
enablement
?:
IActionEnablement
;
setScrollLeft
(
newScrollLeft
:
number
):
void
;
/**
* Control if the action should show up in the context menu and where.
* Built-in groups:
* 1_goto/* => e.g. 1_goto/1_peekDefinition
* 2_change/* => e.g. 2_change/2_format
* 3_edit/* => e.g. 3_edit/1_copy
* 4_tools/* => e.g. 4_tools/1_commands
* You can also create your own group.
* Defaults to null (don't show in context menu).
* Change the scrollTop of the editor's viewport.
*/
contextMenuGroupId
?:
string
;
setScrollTop
(
newScrollTop
:
number
):
void
;
/**
* Method that will be executed when the action is triggered.
* @param editor The editor instance is passed in as a convinience
* Change the scroll position of the editor's viewport.
*/
run
:
(
editor
:
ICommonCodeEditor
)
=>
Promise
<
void
>
;
}
/**
* An editor.
*/
export
interface
IEditor
{
onDidChangeModelRawContent
(
listener
:
(
e
:
IModelContentChangedEvent
)
=>
void
):
IDisposable
;
onDidChangeModelContent
(
listener
:
(
e
:
IModelContentChangedEvent2
)
=>
void
):
IDisposable
;
onDidChangeModelMode
(
listener
:
(
e
:
IModelModeChangedEvent
)
=>
void
):
IDisposable
;
onDidChangeModelOptions
(
listener
:
(
e
:
IModelOptionsChangedEvent
)
=>
void
):
IDisposable
;
onDidChangeConfiguration
(
listener
:
(
e
:
IConfigurationChangedEvent
)
=>
void
):
IDisposable
;
onDidChangeCursorPosition
(
listener
:
(
e
:
ICursorPositionChangedEvent
)
=>
void
):
IDisposable
;
onDidChangeCursorSelection
(
listener
:
(
e
:
ICursorSelectionChangedEvent
)
=>
void
):
IDisposable
;
onDidDispose
(
listener
:
()
=>
void
):
IDisposable
;
dispose
():
void
;
getId
():
string
;
setScrollPosition
(
position
:
INewScrollPosition
):
void
;
/**
* Get the editor type. Current supported types:
* EditorCommon.EditorType.ICodeEditor => ICodeEditor;
* EditorCommon.EditorType.IDiffEditor => IDiffEditor;
* This is to avoid an instanceof check
* Get an action that is a contribution to this editor.
* @id Unique identifier of the contribution.
* @return The action or null if action not found.
*/
get
EditorType
():
string
;
get
Action
(
id
:
string
):
IAction
;
/**
* Update the editor's options after the editor has been created.
* Execute a command on the editor.
* @param source The source of the call.
* @param command The command to execute
*/
updateOptions
(
newOptions
:
IEditorOptions
):
void
;
executeCommand
(
source
:
string
,
command
:
ICommand
):
void
;
/**
* Instructs the editor to remeasure its container. This method should
* be called when the container of the editor gets resized.
* Execute a command on the editor.
* @param source The source of the call.
* @param command The command to execute
*/
layout
(
dimension
?:
IDimension
):
void
;
executeEdits
(
source
:
string
,
edits
:
IIdentifiedSingleEditOperation
[]):
boolean
;
/**
* Brings browser focus to the editor text
* Execute multiple (concommitent) commands on the editor.
* @param source The source of the call.
* @param command The commands to execute
*/
focus
(
):
void
;
executeCommands
(
source
:
string
,
commands
:
ICommand
[]
):
void
;
/**
*
Returns true if this editor has keyboard focus (e.g. cursor is blinking
).
*
Get all the decorations on a line (filtering out decorations from other editors
).
*/
isFocused
():
boolean
;
getLineDecorations
(
lineNumber
:
number
):
IModelDecoration
[]
;
/**
* Add a new action to this editor.
* All decorations added through this call will get the ownerId of this editor.
* @see IModel.deltaDecorations
*/
addAction
(
descriptor
:
IActionDescriptor
):
void
;
deltaDecorations
(
oldDecorations
:
string
[],
newDecorations
:
IModelDeltaDecoration
[]):
string
[]
;
/**
*
Returns all actions associated with this
editor.
*
Get the layout info for the
editor.
*/
getActions
():
IAction
[];
getLayoutInfo
():
EditorLayoutInfo
;
}
export
interface
ICommonDiffEditor
extends
IEditor
{
onDidUpdateDiff
(
listener
:
()
=>
void
):
IDisposable
;
/**
*
Saves current view state of the editor in a serializable object
.
*
Type the getModel() of IEditor
.
*/
saveViewState
():
IEditorViewState
;
getModel
():
IDiffEditorModel
;
getOriginalEditor
():
ICommonCodeEditor
;
getModifiedEditor
():
ICommonCodeEditor
;
getLineChanges
():
ILineChange
[];
/**
*
Restores the view state of the editor from a serializable object generated by `saveViewState`.
*
@see ICodeEditor.getValue
*/
restoreViewState
(
state
:
IEditorViewState
):
void
;
getValue
(
options
?:
{
preserveBOM
:
boolean
;
lineEnding
:
string
;
}):
string
;
}
export
var
EditorType
:
{
ICodeEditor
:
string
;
IDiffEditor
:
string
;
};
export
var
Handler
:
{
ExecuteCommand
:
string
;
ExecuteCommands
:
string
;
CursorLeft
:
string
;
CursorLeftSelect
:
string
;
CursorWordLeft
:
string
;
CursorWordStartLeft
:
string
;
CursorWordEndLeft
:
string
;
CursorWordLeftSelect
:
string
;
CursorWordStartLeftSelect
:
string
;
CursorWordEndLeftSelect
:
string
;
CursorRight
:
string
;
CursorRightSelect
:
string
;
CursorWordRight
:
string
;
CursorWordStartRight
:
string
;
CursorWordEndRight
:
string
;
CursorWordRightSelect
:
string
;
CursorWordStartRightSelect
:
string
;
CursorWordEndRightSelect
:
string
;
CursorUp
:
string
;
CursorUpSelect
:
string
;
CursorDown
:
string
;
CursorDownSelect
:
string
;
CursorPageUp
:
string
;
CursorPageUpSelect
:
string
;
CursorPageDown
:
string
;
CursorPageDownSelect
:
string
;
CursorHome
:
string
;
CursorHomeSelect
:
string
;
CursorEnd
:
string
;
CursorEndSelect
:
string
;
ExpandLineSelection
:
string
;
CursorTop
:
string
;
CursorTopSelect
:
string
;
CursorBottom
:
string
;
CursorBottomSelect
:
string
;
CursorColumnSelectLeft
:
string
;
CursorColumnSelectRight
:
string
;
CursorColumnSelectUp
:
string
;
CursorColumnSelectPageUp
:
string
;
CursorColumnSelectDown
:
string
;
CursorColumnSelectPageDown
:
string
;
AddCursorDown
:
string
;
AddCursorUp
:
string
;
CursorUndo
:
string
;
MoveTo
:
string
;
MoveToSelect
:
string
;
ColumnSelect
:
string
;
CreateCursor
:
string
;
LastCursorMoveToSelect
:
string
;
JumpToBracket
:
string
;
Type
:
string
;
ReplacePreviousChar
:
string
;
Paste
:
string
;
Tab
:
string
;
Indent
:
string
;
Outdent
:
string
;
DeleteLeft
:
string
;
DeleteRight
:
string
;
DeleteWordLeft
:
string
;
DeleteWordStartLeft
:
string
;
DeleteWordEndLeft
:
string
;
DeleteWordRight
:
string
;
DeleteWordStartRight
:
string
;
DeleteWordEndRight
:
string
;
DeleteAllLeft
:
string
;
DeleteAllRight
:
string
;
RemoveSecondaryCursors
:
string
;
CancelSelection
:
string
;
Cut
:
string
;
Undo
:
string
;
Redo
:
string
;
WordSelect
:
string
;
WordSelectDrag
:
string
;
LastCursorWordSelect
:
string
;
LineSelect
:
string
;
LineSelectDrag
:
string
;
LastCursorLineSelect
:
string
;
LastCursorLineSelectDrag
:
string
;
LineInsertBefore
:
string
;
LineInsertAfter
:
string
;
LineBreakInsert
:
string
;
SelectAll
:
string
;
ScrollLineUp
:
string
;
ScrollLineDown
:
string
;
ScrollPageUp
:
string
;
ScrollPageDown
:
string
;
};
export
enum
TextEditorCursorStyle
{
Line
=
1
,
Block
=
2
,
Underline
=
3
,
}
/**
* A view zone is a full horizontal rectangle that 'pushes' text down.
* The editor reserves space for view zones when rendering.
*/
export
interface
IViewZone
{
/**
* Given a position, returns a column number that takes tab-widths into account.
* The line number after which this zone should appear.
* Use 0 to place a view zone before the first line number.
*/
getVisibleColumnFromPosition
(
position
:
IPosition
)
:
number
;
afterLineNumber
:
number
;
/**
* Returns the primary position of the cursor.
* The column after which this zone should appear.
* If not set, the maxLineColumn of `afterLineNumber` will be used.
*/
getPosition
():
Position
;
afterColumn
?:
number
;
/**
* Set the primary position of the cursor. This will remove any secondary cursors.
* @param position New primary cursor's position
* Suppress mouse down events.
* If set, the editor will attach a mouse down listener to the view zone and .preventDefault on it.
* Defaults to false
*/
s
etPosition
(
position
:
IPosition
):
void
;
s
uppressMouseDown
?:
boolean
;
/**
* Scroll vertically as necessary and reveal a line.
* The height in lines of the view zone.
* If specified, `heightInPx` will be used instead of this.
* If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
*/
revealLine
(
lineNumber
:
number
):
void
;
heightInLines
?:
number
;
/**
* Scroll vertically as necessary and reveal a line centered vertically.
* The height in px of the view zone.
* If this is set, the editor will give preference to it rather than `heightInLines` above.
* If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
*/
revealLineInCenter
(
lineNumber
:
number
):
void
;
heightInPx
?:
number
;
/**
*
Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport.
*
The dom node of the view zone
*/
revealLineInCenterIfOutsideViewport
(
lineNumber
:
number
):
void
;
domNode
:
HTMLElement
;
/**
* Scroll vertically or horizontally as necessary and reveal a position.
* Callback which gives the relative top of the view zone as it appears (taking scrolling into account).
*/
onDomNodeTop
?:
(
top
:
number
)
=>
void
;
/**
* Callback which gives the height in pixels of the view zone.
*/
revealPosition
(
position
:
IPosition
):
void
;
onComputedHeight
?:
(
height
:
number
)
=>
void
;
}
/**
* An accessor that allows for zones to be added or removed.
*/
export
interface
IViewZoneChangeAccessor
{
/**
* Scroll vertically or horizontally as necessary and reveal a position centered vertically.
* Create a new view zone.
* @param zone Zone to create
* @return A unique identifier to the view zone.
*/
revealPositionInCenter
(
position
:
IPosition
):
void
;
addZone
(
zone
:
IViewZone
):
number
;
/**
* Scroll vertically or horizontally as necessary and reveal a position centered vertically only if it lies outside the viewport.
* Remove a zone
* @param id A unique identifier to the view zone, as returned by the `addZone` call.
*/
re
vealPositionInCenterIfOutsideViewport
(
position
:
IPosition
):
void
;
re
moveZone
(
id
:
number
):
void
;
/**
* Returns the primary selection of the editor.
* Change a zone's position.
* The editor will rescan the `afterLineNumber` and `afterColumn` properties of a view zone.
*/
getSelection
():
Selection
;
layoutZone
(
id
:
number
):
void
;
}
/**
* A positioning preference for rendering content widgets.
*/
export
enum
ContentWidgetPositionPreference
{
/**
*
Returns all the selections of the editor.
*
Place the content widget exactly at a position
*/
getSelections
():
Selection
[];
EXACT
=
0
,
/**
* Set the primary selection of the editor. This will remove any secondary cursors.
* @param selection The new selection
* Place the content widget above a position
*/
setSelection
(
selection
:
IRange
):
void
;
setSelection
(
selection
:
Range
):
void
;
setSelection
(
selection
:
ISelection
):
void
;
setSelection
(
selection
:
Selection
):
void
;
ABOVE
=
1
,
/**
* Set the selections for all the cursors of the editor.
* Cursors will be removed or added, as necessary.
* Place the content widget below a position
*/
setSelections
(
selections
:
ISelection
[]):
void
;
BELOW
=
2
,
}
/**
* A position for rendering content widgets.
*/
export
interface
IContentWidgetPosition
{
/**
* Scroll vertically as necessary and reveal lines.
* Desired position for the content widget.
* `preference` will also affect the placement.
*/
revealLines
(
startLineNumber
:
number
,
endLineNumber
:
number
):
void
;
position
:
IPosition
;
/**
*
Scroll vertically as necessary and reveal lines centered vertically
.
*
Placement preference for position, in order of preference
.
*/
revealLinesInCenter
(
lineNumber
:
number
,
endLineNumber
:
number
):
void
;
preference
:
ContentWidgetPositionPreference
[];
}
/**
* A content widget renders inline with the text and can be easily placed 'near' an editor position.
*/
export
interface
IContentWidget
{
/**
*
Scroll vertically as necessary and reveal lines centered vertically only if it lies outside the viewport
.
*
Render this content widget in a location where it could overflow the editor's view dom node
.
*/
revealLinesInCenterIfOutsideViewport
(
lineNumber
:
number
,
endLineNumber
:
number
):
void
;
allowEditorOverflow
?:
boolean
;
/**
*
Scroll vertically or horizontally as necessary and reveal a range
.
*
Get a unique identifier of the content widget
.
*/
revealRange
(
range
:
IRange
):
void
;
getId
():
string
;
/**
*
Scroll vertically or horizontally as necessary and reveal a range centered vertically
.
*
Get the dom node of the content widget
.
*/
revealRangeInCenter
(
range
:
IRange
):
void
;
getDomNode
():
HTMLElement
;
/**
* Scroll vertically or horizontally as necessary and reveal a range centered vertically only if it lies outside the viewport.
* Get the placement of the content widget.
* If null is returned, the content widget will be placed off screen.
*/
revealRangeInCenterIfOutsideViewport
(
range
:
IRange
):
void
;
getPosition
():
IContentWidgetPosition
;
}
/**
* A positioning preference for rendering overlay widgets.
*/
export
enum
OverlayWidgetPositionPreference
{
/**
* Directly trigger a handler or an editor action.
* @param source The source of the call.
* @param handlerId The id of the handler or the id of a contribution.
* @param payload Extra data to be sent to the handler.
* Position the overlay widget in the top right corner
*/
trigger
(
source
:
string
,
handlerId
:
string
,
payload
:
any
):
void
;
TOP_RIGHT_CORNER
=
0
,
/**
*
Gets the current model attached to this editor.
*
Position the overlay widget in the bottom right corner
*/
getModel
():
IEditorModel
;
BOTTOM_RIGHT_CORNER
=
1
,
/**
* Sets the current model attached to this editor.
* If the previous model was created by the editor via the value key in the options
* literal object, it will be destroyed. Otherwise, if the previous model was set
* via setModel, or the model key in the options literal object, the previous model
* will not be destroyed.
* It is safe to call setModel(null) to simply detach the current model from the editor.
* Position the overlay widget in the top center
*/
setModel
(
model
:
IEditorModel
):
void
;
TOP_CENTER
=
2
,
}
/**
* A
n editor contribution that gets created every time a new editor gets created and gets disposed when the editor gets disposed
.
* A
position for rendering overlay widgets
.
*/
export
interface
I
EditorContribu
tion
{
export
interface
I
OverlayWidgetPosi
tion
{
/**
*
Get a unique identifier for this contribution
.
*
The position preference for the overlay widget
.
*/
getId
():
string
;
preference
:
OverlayWidgetPositionPreference
;
}
/**
* An overlay widgets renders on top of the text.
*/
export
interface
IOverlayWidget
{
/**
*
Dispose this contribution
.
*
Get a unique identifier of the overlay widget
.
*/
dispose
():
void
;
getId
():
string
;
/**
*
Store view state
.
*
Get the dom node of the overlay widget
.
*/
saveViewState
?():
any
;
getDomNode
():
HTMLElement
;
/**
* Restore view state.
* Get the placement of the overlay widget.
* If null is returned, the overlay widget is responsible to place itself.
*/
restoreViewState
?(
state
:
any
):
void
;
getPosition
():
IOverlayWidgetPosition
;
}
export
interface
ICommonCodeEditor
extends
IEditor
{
onDidChangeModel
(
listener
:
(
e
:
IModelChangedEvent
)
=>
void
):
IDisposable
;
onDidChangeModelModeSupport
(
listener
:
(
e
:
IModeSupportChangedEvent
)
=>
void
):
IDisposable
;
onDidChangeModelDecorations
(
listener
:
(
e
:
IModelDecorationsChangedEvent
)
=>
void
):
IDisposable
;
onDidFocusEditorText
(
listener
:
()
=>
void
):
IDisposable
;
onDidBlurEditorText
(
listener
:
()
=>
void
):
IDisposable
;
onDidFocusEditor
(
listener
:
()
=>
void
):
IDisposable
;
onDidBlurEditor
(
listener
:
()
=>
void
):
IDisposable
;
/**
* Target hit with the mouse in the editor.
*/
export
interface
IMouseTarget
{
/**
*
Returns true if this editor or one of its widgets has keyboard focus.
*
The target element
*/
hasWidgetFocus
():
boolean
;
element
:
Element
;
/**
* Get a contribution of this editor.
* @id Unique identifier of the contribution.
* @return The contribution or null if contribution not found.
* The target type
*/
getContribution
(
id
:
string
):
IEditorContribution
;
type
:
MouseTargetType
;
/**
* T
ype the getModel() of IEditor.
* T
he 'approximate' editor position
*/
getModel
():
IModel
;
position
:
Position
;
/**
*
Returns the current editor's configuration
*
Desired mouse column (e.g. when position.column gets clamped to text length -- clicking after text on a line).
*/
getConfiguration
():
InternalEditorOptions
;
mouseColumn
:
number
;
/**
* Get value of the current model attached to this editor.
* @see IModel.getValue
* The 'approximate' editor range
*/
getValue
(
options
?:
{
preserveBOM
:
boolean
;
lineEnding
:
string
;
}):
string
;
range
:
Range
;
/**
* Set the value of the current model attached to this editor.
* @see IModel.setValue
* Some extra detail.
*/
setValue
(
newValue
:
string
):
void
;
detail
:
any
;
}
/**
* A mouse event originating from the editor.
*/
export
interface
IEditorMouseEvent
{
event
:
IMouseEvent
;
target
:
IMouseTarget
;
}
/**
* A rich code editor.
*/
export
interface
ICodeEditor
extends
ICommonCodeEditor
{
onMouseUp
(
listener
:
(
e
:
IEditorMouseEvent
)
=>
void
):
IDisposable
;
onMouseDown
(
listener
:
(
e
:
IEditorMouseEvent
)
=>
void
):
IDisposable
;
onContextMenu
(
listener
:
(
e
:
IEditorMouseEvent
)
=>
void
):
IDisposable
;
onMouseMove
(
listener
:
(
e
:
IEditorMouseEvent
)
=>
void
):
IDisposable
;
onMouseLeave
(
listener
:
(
e
:
IEditorMouseEvent
)
=>
void
):
IDisposable
;
onKeyUp
(
listener
:
(
e
:
IKeyboardEvent
)
=>
void
):
IDisposable
;
onKeyDown
(
listener
:
(
e
:
IKeyboardEvent
)
=>
void
):
IDisposable
;
onDidLayoutChange
(
listener
:
(
e
:
EditorLayoutInfo
)
=>
void
):
IDisposable
;
onDidScrollChange
(
listener
:
(
e
:
IScrollEvent
)
=>
void
):
IDisposable
;
/**
*
Get the scrollWidth of the editor's viewport.
*
Returns the editor's dom node
*/
get
ScrollWidth
():
number
;
get
DomNode
():
HTMLElement
;
/**
*
Get the scrollLeft of the editor's viewport
.
*
Add a content widget. Widgets must have unique ids, otherwise they will be overwritten
.
*/
getScrollLeft
():
number
;
addContentWidget
(
widget
:
IContentWidget
):
void
;
/**
* Get the scrollHeight of the editor's viewport.
* Layout/Reposition a content widget. This is a ping to the editor to call widget.getPosition()
* and update appropiately.
*/
getScrollHeight
():
number
;
layoutContentWidget
(
widget
:
IContentWidget
):
void
;
/**
*
Get the scrollTop of the editor's viewpor
t.
*
Remove a content widge
t.
*/
getScrollTop
():
number
;
removeContentWidget
(
widget
:
IContentWidget
):
void
;
/**
*
Change the scrollLeft of the editor's viewport
.
*
Add an overlay widget. Widgets must have unique ids, otherwise they will be overwritten
.
*/
setScrollLeft
(
newScrollLeft
:
number
):
void
;
addOverlayWidget
(
widget
:
IOverlayWidget
):
void
;
/**
* Change the scrollTop of the editor's viewport.
* Layout/Reposition an overlay widget. This is a ping to the editor to call widget.getPosition()
* and update appropiately.
*/
setScrollTop
(
newScrollTop
:
number
):
void
;
layoutOverlayWidget
(
widget
:
IOverlayWidget
):
void
;
/**
*
Change the scroll position of the editor's viewpor
t.
*
Remove an overlay widge
t.
*/
setScrollPosition
(
position
:
INewScrollPosition
):
void
;
removeOverlayWidget
(
widget
:
IOverlayWidget
):
void
;
/**
* Get an action that is a contribution to this editor.
* @id Unique identifier of the contribution.
* @return The action or null if action not found.
* Change the view zones. View zones are lost when a new model is attached to the editor.
*/
getAction
(
id
:
string
):
IAction
;
changeViewZones
(
callback
:
(
accessor
:
IViewZoneChangeAccessor
)
=>
void
):
void
;
/**
* Execute a command on the editor.
* @param source The source of the call.
* @param command The command to execute
* Returns the range that is currently centered in the view port.
*/
executeCommand
(
source
:
string
,
command
:
ICommand
):
void
;
getCenteredRangeInViewport
():
Range
;
/**
* Execute a command on the editor.
* @param source The source of the call.
* @param command The command to execute
* Get the horizontal position (left offset) for the column w.r.t to the beginning of the line.
* This method works only if the line `lineNumber` is currently rendered (in the editor's viewport).
* Use this method with caution.
*/
getOffsetForColumn
(
lineNumber
:
number
,
column
:
number
):
number
;
/**
* Force an editor render now.
*/
executeEdits
(
source
:
string
,
edits
:
IIdentifiedSingleEditOperation
[]):
boolean
;
render
():
void
;
/**
* Execute multiple (concommitent) commands on the editor.
* @param source The source of the call.
* @param command The commands to execute
* Get the vertical position (top offset) for the line w.r.t. to the first line.
*/
executeCommands
(
source
:
string
,
commands
:
ICommand
[]):
void
;
getTopForLineNumber
(
lineNumber
:
number
):
number
;
/**
* Get
all the decorations on a line (filtering out decorations from other editors)
.
* Get
the vertical position (top offset) for the position w.r.t. to the first line
.
*/
get
LineDecorations
(
lineNumber
:
number
):
IModelDecoration
[]
;
get
TopForPosition
(
lineNumber
:
number
,
column
:
number
):
number
;
/**
* All decorations added through this call will get the ownerId of this editor.
* @see IModel.deltaDecorations
* Get the visible position for `position`.
* The result position takes scrolling into account and is relative to the top left corner of the editor.
* Explanation 1: the results of this method will change for the same `position` if the user scrolls the editor.
* Explanation 2: the results of this method will not change if the container of the editor gets repositioned.
* Warning: the results of this method are innacurate for positions that are outside the current editor viewport.
*/
deltaDecorations
(
oldDecorations
:
string
[],
newDecorations
:
IModelDeltaDecoration
[]):
string
[];
getScrolledVisiblePosition
(
position
:
IPosition
):
{
top
:
number
;
left
:
number
;
height
:
number
;
};
/**
*
Get the layout info for the editor
.
*
Apply the same font settings as the editor to `target`
.
*/
getLayoutInfo
():
EditorLayoutInfo
;
applyFontInfo
(
target
:
HTMLElement
):
void
;
}
export
interface
ICommonDiffEditor
extends
IEditor
{
onDidUpdateDiff
(
listener
:
()
=>
void
):
IDisposable
;
/**
* Type the getModel() of IEditor.
*/
getModel
():
IDiffEditorModel
;
getOriginalEditor
():
ICommonCodeEditor
;
getModifiedEditor
():
ICommonCodeEditor
;
getLineChanges
():
ILineChange
[];
/**
* A rich diff editor.
*/
export
interface
IDiffEditor
extends
ICommonDiffEditor
{
/**
* @see ICodeEditor.get
Valu
e
* @see ICodeEditor.get
DomNod
e
*/
getValue
(
options
?:
{
preserveBOM
:
boolean
;
lineEnding
:
string
;
}):
string
;
getDomNode
():
HTMLElement
;
}
}
export
var
EditorType
:
{
ICodeEditor
:
string
;
IDiffEditor
:
string
;
};
declare
module
monaco
.
languages
{
export
var
Handler
:
{
ExecuteCommand
:
string
;
ExecuteCommands
:
string
;
CursorLeft
:
string
;
CursorLeftSelect
:
string
;
CursorWordLeft
:
string
;
CursorWordStartLeft
:
string
;
CursorWordEndLeft
:
string
;
CursorWordLeftSelect
:
string
;
CursorWordStartLeftSelect
:
string
;
CursorWordEndLeftSelect
:
string
;
CursorRight
:
string
;
CursorRightSelect
:
string
;
CursorWordRight
:
string
;
CursorWordStartRight
:
string
;
CursorWordEndRight
:
string
;
CursorWordRightSelect
:
string
;
CursorWordStartRightSelect
:
string
;
CursorWordEndRightSelect
:
string
;
CursorUp
:
string
;
CursorUpSelect
:
string
;
CursorDown
:
string
;
CursorDownSelect
:
string
;
CursorPageUp
:
string
;
CursorPageUpSelect
:
string
;
CursorPageDown
:
string
;
CursorPageDownSelect
:
string
;
CursorHome
:
string
;
CursorHomeSelect
:
string
;
CursorEnd
:
string
;
CursorEndSelect
:
string
;
ExpandLineSelection
:
string
;
CursorTop
:
string
;
CursorTopSelect
:
string
;
CursorBottom
:
string
;
CursorBottomSelect
:
string
;
CursorColumnSelectLeft
:
string
;
CursorColumnSelectRight
:
string
;
CursorColumnSelectUp
:
string
;
CursorColumnSelectPageUp
:
string
;
CursorColumnSelectDown
:
string
;
CursorColumnSelectPageDown
:
string
;
AddCursorDown
:
string
;
AddCursorUp
:
string
;
CursorUndo
:
string
;
MoveTo
:
string
;
MoveToSelect
:
string
;
ColumnSelect
:
string
;
CreateCursor
:
string
;
LastCursorMoveToSelect
:
string
;
JumpToBracket
:
string
;
Type
:
string
;
ReplacePreviousChar
:
string
;
Paste
:
string
;
Tab
:
string
;
Indent
:
string
;
Outdent
:
string
;
DeleteLeft
:
string
;
DeleteRight
:
string
;
DeleteWordLeft
:
string
;
DeleteWordStartLeft
:
string
;
DeleteWordEndLeft
:
string
;
DeleteWordRight
:
string
;
DeleteWordStartRight
:
string
;
DeleteWordEndRight
:
string
;
DeleteAllLeft
:
string
;
DeleteAllRight
:
string
;
RemoveSecondaryCursors
:
string
;
CancelSelection
:
string
;
Cut
:
string
;
Undo
:
string
;
Redo
:
string
;
WordSelect
:
string
;
WordSelectDrag
:
string
;
LastCursorWordSelect
:
string
;
LineSelect
:
string
;
LineSelectDrag
:
string
;
LastCursorLineSelect
:
string
;
LastCursorLineSelectDrag
:
string
;
LineInsertBefore
:
string
;
LineInsertAfter
:
string
;
LineBreakInsert
:
string
;
SelectAll
:
string
;
ScrollLineUp
:
string
;
ScrollLineDown
:
string
;
ScrollPageUp
:
string
;
ScrollPageDown
:
string
;
};
export
enum
TextEditorCursorStyle
{
Line
=
1
,
Block
=
2
,
Underline
=
3
,
export
function
setLanguageConfiguration
(
languageId
:
string
,
configuration
:
IRichLanguageConfiguration
):
IDisposable
;
export
function
setTokensProvider
(
languageId
:
string
,
support
:
TokensProvider
):
IDisposable
;
export
function
registerReferenceProvider
(
languageId
:
string
,
support
:
ReferenceProvider
):
IDisposable
;
export
function
registerRenameProvider
(
languageId
:
string
,
support
:
RenameProvider
):
IDisposable
;
export
enum
CompletionItemKind
{
Text
=
0
,
Method
=
1
,
Function
=
2
,
Constructor
=
3
,
Field
=
4
,
Variable
=
5
,
Class
=
6
,
Interface
=
7
,
Module
=
8
,
Property
=
9
,
Unit
=
10
,
Value
=
11
,
Enum
=
12
,
Keyword
=
13
,
Snippet
=
14
,
Color
=
15
,
File
=
16
,
Reference
=
17
,
}
export
interface
CompletionItem
{
label
:
string
;
kind
:
CompletionItemKind
;
detail
?:
string
;
documentation
?:
string
;
sortText
?:
string
;
filterText
?:
string
;
insertText
?:
string
;
textEdit
?:
editor
.
ISingleEditOperation
;
}
export
interface
CompletionList
{
isIncomplete
?:
boolean
;
items
:
CompletionItem
[];
}
export
interface
CompletionItemProvider
{
triggerCharacters
?:
string
[];
provideCompletionItems
(
model
:
editor
.
IReadOnlyModel
,
position
:
Position
,
token
:
CancellationToken
):
CompletionItem
[]
|
Thenable
<
CompletionItem
[]
>
|
CompletionList
|
Thenable
<
CompletionList
>
;
resolveCompletionItem
?(
item
:
CompletionItem
,
token
:
CancellationToken
):
CompletionItem
|
Thenable
<
CompletionItem
>
;
}
export
function
registerCompletionItemProvider
(
languageId
:
string
,
provider
:
CompletionItemProvider
):
IDisposable
;
export
function
registerSignatureHelpProvider
(
languageId
:
string
,
support
:
SignatureHelpProvider
):
IDisposable
;
export
function
registerHoverProvider
(
languageId
:
string
,
support
:
HoverProvider
):
IDisposable
;
export
function
registerDocumentSymbolProvider
(
languageId
:
string
,
support
:
DocumentSymbolProvider
):
IDisposable
;
export
function
registerDocumentHighlightProvider
(
languageId
:
string
,
support
:
DocumentHighlightProvider
):
IDisposable
;
export
function
registerDefinitionProvider
(
languageId
:
string
,
support
:
DefinitionProvider
):
IDisposable
;
export
function
registerCodeLensProvider
(
languageId
:
string
,
support
:
CodeLensProvider
):
IDisposable
;
export
function
registerCodeActionProvider
(
languageId
:
string
,
support
:
CodeActionProvider
):
IDisposable
;
export
function
registerDocumentFormattingEditProvider
(
languageId
:
string
,
support
:
DocumentFormattingEditProvider
):
IDisposable
;
export
function
registerDocumentRangeFormattingEditProvider
(
languageId
:
string
,
support
:
DocumentRangeFormattingEditProvider
):
IDisposable
;
export
function
registerOnTypeFormattingEditProvider
(
languageId
:
string
,
support
:
OnTypeFormattingEditProvider
):
IDisposable
;
export
function
registerLinkProvider
(
languageId
:
string
,
support
:
LinkProvider
):
IDisposable
;
export
function
registerMonarchStandaloneLanguage
(
language
:
ILanguageExtensionPoint
,
defModule
:
string
):
void
;
export
function
register
(
language
:
ILanguageExtensionPoint
):
void
;
export
function
onLanguage
(
languageId
:
string
,
callback
:
()
=>
void
):
IDisposable
;
export
interface
CommentRule
{
lineComment
?:
string
;
blockComment
?:
CharacterPair
;
}
export
interface
IRichLanguageConfiguration
{
comments
?:
CommentRule
;
brackets
?:
CharacterPair
[];
wordPattern
?:
RegExp
;
indentationRules
?:
IIndentationRules
;
onEnterRules
?:
IOnEnterRegExpRules
[];
autoClosingPairs
?:
IAutoClosingPairConditional
[];
surroundingPairs
?:
IAutoClosingPair
[];
__electricCharacterSupport
?:
IBracketElectricCharacterContribution
;
}
export
interface
IIndentationRules
{
decreaseIndentPattern
:
RegExp
;
increaseIndentPattern
:
RegExp
;
indentNextLinePattern
?:
RegExp
;
unIndentedLinePattern
?:
RegExp
;
}
export
interface
IOnEnterRegExpRules
{
beforeText
:
RegExp
;
afterText
?:
RegExp
;
action
:
IEnterAction
;
}
export
interface
IBracketElectricCharacterContribution
{
docComment
?:
IDocComment
;
caseInsensitive
?:
boolean
;
embeddedElectricCharacters
?:
string
[];
}
/**
* Definition of documentation comments (e.g. Javadoc/JSdoc)
*/
export
interface
IDocComment
{
scope
:
string
;
open
:
string
;
lineStart
:
string
;
close
?:
string
;
}
export
interface
IMode
{
getId
():
string
;
}
export
interface
IToken
{
startIndex
:
number
;
scopes
:
string
|
string
[];
}
export
interface
ILineTokens
{
tokens
:
IToken
[];
endState
:
IState
;
retokenize
?:
Promise
<
void
>
;
}
export
interface
IState
{
clone
():
IState
;
equals
(
other
:
IState
):
boolean
;
}
export
interface
TokensProvider
{
getInitialState
():
IState
;
tokenize
(
line
:
string
,
state
:
IState
):
ILineTokens
;
}
/**
* A
view zone is a full horizontal rectangle that 'pushes' text down.
*
The editor reserves space for view zones when rendering
.
* A
hover represents additional information for a symbol or word. Hovers are
*
rendered in a tooltip-like widget
.
*/
export
interface
IViewZone
{
/**
* The line number after which this zone should appear.
* Use 0 to place a view zone before the first line number.
*/
afterLineNumber
:
number
;
/**
* The column after which this zone should appear.
* If not set, the maxLineColumn of `afterLineNumber` will be used.
*/
afterColumn
?:
number
;
/**
* Suppress mouse down events.
* If set, the editor will attach a mouse down listener to the view zone and .preventDefault on it.
* Defaults to false
*/
suppressMouseDown
?:
boolean
;
/**
* The height in lines of the view zone.
* If specified, `heightInPx` will be used instead of this.
* If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
*/
heightInLines
?:
number
;
/**
* The height in px of the view zone.
* If this is set, the editor will give preference to it rather than `heightInLines` above.
* If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
*/
heightInPx
?:
number
;
/**
* The dom node of the view zone
*/
domNode
:
HTMLElement
;
export
interface
Hover
{
/**
*
Callback which gives the relative top of the view zone as it appears (taking scrolling into account)
.
*
The contents of this hover
.
*/
onDomNodeTop
?:
(
top
:
number
)
=>
void
;
htmlContent
:
IHTMLContentElement
[]
;
/**
* Callback which gives the height in pixels of the view zone.
* The range to which this hover applies. When missing, the
* editor will use the range at the current position or the
* current position itself.
*/
onComputedHeight
?:
(
height
:
number
)
=>
void
;
range
:
IRange
;
}
export
interface
HoverProvider
{
provideHover
(
model
:
editor
.
IReadOnlyModel
,
position
:
Position
,
token
:
CancellationToken
):
Hover
|
Thenable
<
Hover
>
;
}
/**
*
An accessor that allows for zones to be added or removed
.
*
Interface used to quick fix typing errors while accesing member fields
.
*/
export
interface
IViewZoneChangeAccessor
{
/**
* Create a new view zone.
* @param zone Zone to create
* @return A unique identifier to the view zone.
*/
addZone
(
zone
:
IViewZone
):
number
;
/**
* Remove a zone
* @param id A unique identifier to the view zone, as returned by the `addZone` call.
*/
removeZone
(
id
:
number
):
void
;
/**
* Change a zone's position.
* The editor will rescan the `afterLineNumber` and `afterColumn` properties of a view zone.
*/
layoutZone
(
id
:
number
):
void
;
export
interface
IQuickFix
{
command
:
ICommand
;
score
:
number
;
}
export
interface
CodeActionProvider
{
provideCodeActions
(
model
:
editor
.
IReadOnlyModel
,
range
:
Range
,
token
:
CancellationToken
):
IQuickFix
[]
|
Thenable
<
IQuickFix
[]
>
;
}
export
interface
ParameterInformation
{
label
:
string
;
documentation
:
string
;
}
export
interface
SignatureInformation
{
label
:
string
;
documentation
:
string
;
parameters
:
ParameterInformation
[];
}
export
interface
SignatureHelp
{
signatures
:
SignatureInformation
[];
activeSignature
:
number
;
activeParameter
:
number
;
}
export
interface
SignatureHelpProvider
{
signatureHelpTriggerCharacters
:
string
[];
provideSignatureHelp
(
model
:
editor
.
IReadOnlyModel
,
position
:
Position
,
token
:
CancellationToken
):
SignatureHelp
|
Thenable
<
SignatureHelp
>
;
}
export
enum
DocumentHighlightKind
{
Text
=
0
,
Read
=
1
,
Write
=
2
,
}
export
interface
DocumentHighlight
{
range
:
IRange
;
kind
:
DocumentHighlightKind
;
}
export
interface
DocumentHighlightProvider
{
provideDocumentHighlights
(
model
:
editor
.
IReadOnlyModel
,
position
:
Position
,
token
:
CancellationToken
):
DocumentHighlight
[]
|
Thenable
<
DocumentHighlight
[]
>
;
}
export
interface
ReferenceContext
{
includeDeclaration
:
boolean
;
}
export
interface
ReferenceProvider
{
provideReferences
(
model
:
editor
.
IReadOnlyModel
,
position
:
Position
,
context
:
ReferenceContext
,
token
:
CancellationToken
):
Location
[]
|
Thenable
<
Location
[]
>
;
}
export
class
Location
{
uri
:
Uri
;
range
:
IRange
;
}
export
type
Definition
=
Location
|
Location
[];
export
interface
DefinitionProvider
{
provideDefinition
(
model
:
editor
.
IReadOnlyModel
,
position
:
Position
,
token
:
CancellationToken
):
Definition
|
Thenable
<
Definition
>
;
}
export
enum
SymbolKind
{
File
=
0
,
Module
=
1
,
Namespace
=
2
,
Package
=
3
,
Class
=
4
,
Method
=
5
,
Property
=
6
,
Field
=
7
,
Constructor
=
8
,
Enum
=
9
,
Interface
=
10
,
Function
=
11
,
Variable
=
12
,
Constant
=
13
,
String
=
14
,
Number
=
15
,
Boolean
=
16
,
Array
=
17
,
Object
=
18
,
Key
=
19
,
Null
=
20
,
}
export
interface
SymbolInformation
{
name
:
string
;
containerName
?:
string
;
kind
:
SymbolKind
;
location
:
Location
;
}
export
interface
DocumentSymbolProvider
{
provideDocumentSymbols
(
model
:
editor
.
IReadOnlyModel
,
token
:
CancellationToken
):
SymbolInformation
[]
|
Thenable
<
SymbolInformation
[]
>
;
}
/**
*
A positioning preference for rendering content widgets.
*
Interface used to format a model
*/
export
enum
ContentWidgetPositionPreference
{
/**
* Place the content widget exactly at a position
*/
EXACT
=
0
,
/**
* Place the content widget above a position
*/
ABOVE
=
1
,
/**
* Place the content widget below a position
*/
BELOW
=
2
,
export
interface
IFormattingOptions
{
tabSize
:
number
;
insertSpaces
:
boolean
;
}
export
interface
DocumentFormattingEditProvider
{
provideDocumentFormattingEdits
(
model
:
editor
.
IReadOnlyModel
,
options
:
IFormattingOptions
,
token
:
CancellationToken
):
editor
.
ISingleEditOperation
[]
|
Thenable
<
editor
.
ISingleEditOperation
[]
>
;
}
export
interface
DocumentRangeFormattingEditProvider
{
provideDocumentRangeFormattingEdits
(
model
:
editor
.
IReadOnlyModel
,
range
:
Range
,
options
:
IFormattingOptions
,
token
:
CancellationToken
):
editor
.
ISingleEditOperation
[]
|
Thenable
<
editor
.
ISingleEditOperation
[]
>
;
}
export
interface
OnTypeFormattingEditProvider
{
autoFormatTriggerCharacters
:
string
[];
provideOnTypeFormattingEdits
(
model
:
editor
.
IReadOnlyModel
,
position
:
Position
,
ch
:
string
,
options
:
IFormattingOptions
,
token
:
CancellationToken
):
editor
.
ISingleEditOperation
[]
|
Thenable
<
editor
.
ISingleEditOperation
[]
>
;
}
export
interface
ILink
{
range
:
IRange
;
url
:
string
;
}
export
interface
LinkProvider
{
provideLinks
(
model
:
editor
.
IReadOnlyModel
,
token
:
CancellationToken
):
ILink
[]
|
Thenable
<
ILink
[]
>
;
}
export
interface
IResourceEdit
{
resource
:
Uri
;
range
:
IRange
;
newText
:
string
;
}
export
interface
WorkspaceEdit
{
edits
:
IResourceEdit
[];
rejectReason
?:
string
;
}
/**
* A position for rendering content widgets.
*/
export
interface
IContentWidgetPosition
{
/**
* Desired position for the content widget.
* `preference` will also affect the placement.
*/
position
:
IPosition
;
/**
* Placement preference for position, in order of preference.
*/
preference
:
ContentWidgetPositionPreference
[];
export
interface
RenameProvider
{
provideRenameEdits
(
model
:
editor
.
IReadOnlyModel
,
position
:
Position
,
newName
:
string
,
token
:
CancellationToken
):
WorkspaceEdit
|
Thenable
<
WorkspaceEdit
>
;
}
/**
* A content widget renders inline with the text and can be easily placed 'near' an editor position.
*/
export
interface
IContentWidget
{
/**
* Render this content widget in a location where it could overflow the editor's view dom node.
*/
allowEditorOverflow
?:
boolean
;
/**
* Get a unique identifier of the content widget.
*/
getId
():
string
;
/**
* Get the dom node of the content widget.
*/
getDomNode
():
HTMLElement
;
/**
* Get the placement of the content widget.
* If null is returned, the content widget will be placed off screen.
*/
getPosition
():
IContentWidgetPosition
;
export
interface
ICommand
{
id
:
string
;
title
:
string
;
arguments
?:
any
[];
}
/**
* A positioning preference for rendering overlay widgets.
*/
export
enum
OverlayWidgetPositionPreference
{
/**
* Position the overlay widget in the top right corner
*/
TOP_RIGHT_CORNER
=
0
,
/**
* Position the overlay widget in the bottom right corner
*/
BOTTOM_RIGHT_CORNER
=
1
,
/**
* Position the overlay widget in the top center
*/
TOP_CENTER
=
2
,
export
interface
ICodeLensSymbol
{
range
:
IRange
;
id
?:
string
;
command
?:
ICommand
;
}
/**
* A position for rendering overlay widgets.
*/
export
interface
IOverlayWidgetPosition
{
/**
* The position preference for the overlay widget.
*/
preference
:
OverlayWidgetPositionPreference
;
export
interface
CodeLensProvider
{
provideCodeLenses
(
model
:
editor
.
IReadOnlyModel
,
token
:
CancellationToken
):
ICodeLensSymbol
[]
|
Thenable
<
ICodeLensSymbol
[]
>
;
resolveCodeLens
?(
model
:
editor
.
IReadOnlyModel
,
codeLens
:
ICodeLensSymbol
,
token
:
CancellationToken
):
ICodeLensSymbol
|
Thenable
<
ICodeLensSymbol
>
;
}
/**
* An overlay widgets renders on top of the text.
*/
export
interface
IOverlayWidget
{
/**
* Get a unique identifier of the overlay widget.
*/
getId
():
string
;
/**
* Get the dom node of the overlay widget.
*/
getDomNode
():
HTMLElement
;
/**
* Get the placement of the overlay widget.
* If null is returned, the overlay widget is responsible to place itself.
*/
getPosition
():
IOverlayWidgetPosition
;
export
type
CharacterPair
=
[
string
,
string
];
export
interface
IAutoClosingPairConditional
extends
IAutoClosingPair
{
notIn
?:
string
[];
}
/**
* Target hit with the mouse in the editor.
*/
export
interface
IMouseTarget
{
/**
* The target element
*/
element
:
Element
;
/**
* The target type
*/
type
:
MouseTargetType
;
/**
* The 'approximate' editor position
*/
position
:
Position
;
/**
* Desired mouse column (e.g. when position.column gets clamped to text length -- clicking after text on a line).
*/
mouseColumn
:
number
;
/**
* The 'approximate' editor range
*/
range
:
Range
;
/**
* Some extra detail.
*/
detail
:
any
;
export
enum
IndentAction
{
None
=
0
,
Indent
=
1
,
IndentOutdent
=
2
,
Outdent
=
3
,
}
/**
* A
mouse event originating from the editor.
* A
n action the editor executes when 'enter' is being pressed
*/
export
interface
IEditorMouseEvent
{
event
:
IMouseEvent
;
target
:
IMouseTarget
;
export
interface
IEnterAction
{
indentAction
:
IndentAction
;
appendText
?:
string
;
removeText
?:
number
;
}
/**
* A rich code editor.
*/
export
interface
ICodeEditor
extends
ICommonCodeEditor
{
onMouseUp
(
listener
:
(
e
:
IEditorMouseEvent
)
=>
void
):
IDisposable
;
onMouseDown
(
listener
:
(
e
:
IEditorMouseEvent
)
=>
void
):
IDisposable
;
onContextMenu
(
listener
:
(
e
:
IEditorMouseEvent
)
=>
void
):
IDisposable
;
onMouseMove
(
listener
:
(
e
:
IEditorMouseEvent
)
=>
void
):
IDisposable
;
onMouseLeave
(
listener
:
(
e
:
IEditorMouseEvent
)
=>
void
):
IDisposable
;
onKeyUp
(
listener
:
(
e
:
IKeyboardEvent
)
=>
void
):
IDisposable
;
onKeyDown
(
listener
:
(
e
:
IKeyboardEvent
)
=>
void
):
IDisposable
;
onDidLayoutChange
(
listener
:
(
e
:
EditorLayoutInfo
)
=>
void
):
IDisposable
;
onDidScrollChange
(
listener
:
(
e
:
IScrollEvent
)
=>
void
):
IDisposable
;
/**
* Returns the editor's dom node
*/
getDomNode
():
HTMLElement
;
/**
* Add a content widget. Widgets must have unique ids, otherwise they will be overwritten.
*/
addContentWidget
(
widget
:
IContentWidget
):
void
;
/**
* Layout/Reposition a content widget. This is a ping to the editor to call widget.getPosition()
* and update appropiately.
*/
layoutContentWidget
(
widget
:
IContentWidget
):
void
;
/**
* Remove a content widget.
*/
removeContentWidget
(
widget
:
IContentWidget
):
void
;
/**
* Add an overlay widget. Widgets must have unique ids, otherwise they will be overwritten.
*/
addOverlayWidget
(
widget
:
IOverlayWidget
):
void
;
/**
* Layout/Reposition an overlay widget. This is a ping to the editor to call widget.getPosition()
* and update appropiately.
*/
layoutOverlayWidget
(
widget
:
IOverlayWidget
):
void
;
/**
* Remove an overlay widget.
*/
removeOverlayWidget
(
widget
:
IOverlayWidget
):
void
;
/**
* Change the view zones. View zones are lost when a new model is attached to the editor.
*/
changeViewZones
(
callback
:
(
accessor
:
IViewZoneChangeAccessor
)
=>
void
):
void
;
/**
* Returns the range that is currently centered in the view port.
*/
getCenteredRangeInViewport
():
Range
;
/**
* Get the horizontal position (left offset) for the column w.r.t to the beginning of the line.
* This method works only if the line `lineNumber` is currently rendered (in the editor's viewport).
* Use this method with caution.
*/
getOffsetForColumn
(
lineNumber
:
number
,
column
:
number
):
number
;
/**
* Force an editor render now.
*/
render
():
void
;
/**
* Get the vertical position (top offset) for the line w.r.t. to the first line.
*/
getTopForLineNumber
(
lineNumber
:
number
):
number
;
/**
* Get the vertical position (top offset) for the position w.r.t. to the first line.
*/
getTopForPosition
(
lineNumber
:
number
,
column
:
number
):
number
;
/**
* Get the visible position for `position`.
* The result position takes scrolling into account and is relative to the top left corner of the editor.
* Explanation 1: the results of this method will change for the same `position` if the user scrolls the editor.
* Explanation 2: the results of this method will not change if the container of the editor gets repositioned.
* Warning: the results of this method are innacurate for positions that are outside the current editor viewport.
*/
getScrolledVisiblePosition
(
position
:
IPosition
):
{
top
:
number
;
left
:
number
;
height
:
number
;
};
/**
* Apply the same font settings as the editor to `target`.
*/
applyFontInfo
(
target
:
HTMLElement
):
void
;
export
interface
IAutoClosingPair
{
open
:
string
;
close
:
string
;
}
/**
* A rich diff editor.
*/
export
interface
IDiffEditor
extends
ICommonDiffEditor
{
/**
* @see ICodeEditor.getDomNode
*/
getDomNode
():
HTMLElement
;
export
interface
ILanguageExtensionPoint
{
id
:
string
;
extensions
?:
string
[];
filenames
?:
string
[];
filenamePatterns
?:
string
[];
firstLine
?:
string
;
aliases
?:
string
[];
mimetypes
?:
string
[];
configuration
?:
string
;
}
}
declare
module
monaco
.
worker
{
export
interface
IMirrorModel
{
uri
:
Uri
;
version
:
number
;
getText
():
string
;
}
export
var
mirrorModels
:
IMirrorModel
[];
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录