From d0132fe24422ac535cc50b295eb5fa6b1e9121b2 Mon Sep 17 00:00:00 2001 From: Henning Dieterichs Date: Mon, 16 Aug 2021 12:17:47 +0200 Subject: [PATCH] Updates changelog & monaco.d.ts. --- CHANGELOG.md | 27 +++- typedoc/monaco.d.ts | 229 ++++++++++++++++------------- website/playground/monaco.d.ts.txt | 229 ++++++++++++++++------------- 3 files changed, 284 insertions(+), 201 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ac10a8a..0e5405e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,34 @@ # Monaco Editor Changelog +## [0.27.0] (16.08.2021) + +* added property `inlineClassName` to style injected text +* added option `foldingImportsByDefault` +* added more JSON diagnostic options. + +### Breaking Change + +* changed `seedSearchStringFromSelection` from boolean to `'never' | 'always' 'selection'` +* changed suggestion preview mode `subwordDiff` to `subwordSmart`, introduced `subword` + +### Thank you + +Contributions to `monaco-editor`: + +* [@Surm4 (Marcin)](https://github.com/Surm4): Exposed colors sample update in the playground. [PR #2561](https://github.com/microsoft/monaco-editor/pull/2561) + +Contributions to `monaco-languages`: + +* [@alefragnani (Alessandro Fragnani)](https://github.com/alefragnani): Adds `strict` keyword to Pascal language [PR #153](https://github.com/microsoft/monaco-languages/pull/153) +* [@jonatanklosko (Jonatan Kłosko)](https://github.com/jonatanklosko): Properly tokenize fence closing in GitHub style code blocks [PR #149](https://github.com/microsoft/monaco-languages/pull/149) +* [@kupiakos (Alyssa Haroldsen)](https://github.com/kupiakos): Remove ' as an auto-closing pair for Rust [PR #151](https://github.com/microsoft/monaco-languages/pull/151) +* [@lofcz (Matěj Štágl)](https://github.com/lofcz): Fix razor + liquid render of tags with a dash symbol [PR #150](https://github.com/microsoft/monaco-languages/pull/150) + + ## [0.26.0] (15.07.2021) * added support for injected text. Use `IModelDecorationOptions.before`/`after`. -* adds support for inlay hints provider. +* added support for inlay hints provider. ### Breaking Changes diff --git a/typedoc/monaco.d.ts b/typedoc/monaco.d.ts index e0098d2e..f2159491 100644 --- a/typedoc/monaco.d.ts +++ b/typedoc/monaco.d.ts @@ -1464,8 +1464,16 @@ declare namespace monaco.editor { export interface InjectedTextOptions { /** * Sets the text to inject. Must be a single line. - */ + */ readonly content: string; + /** + * If set, the decoration will be rendered inline with the text with this CSS class name. + */ + readonly inlineClassName?: string | null; + /** + * If there is an `inlineClassName` which affects letter spacing. + */ + readonly inlineClassNameAffectsLetterSpacing?: boolean; } /** @@ -3167,6 +3175,11 @@ declare namespace monaco.editor { * Defaults to true. */ foldingHighlight?: boolean; + /** + * Auto fold imports folding regions. + * Defaults to true. + */ + foldingImportsByDefault?: boolean; /** * Controls whether the fold actions in the gutter stay always visible or hide unless the mouse is over the gutter. * Defaults to 'mouseover'. @@ -3436,7 +3449,7 @@ declare namespace monaco.editor { /** * Controls if we seed search string in the Find Widget with editor selection. */ - seedSearchStringFromSelection?: boolean; + seedSearchStringFromSelection?: 'never' | 'always' | 'selection'; /** * Controls if Find in Selection flag is turned on in the editor. */ @@ -3856,10 +3869,11 @@ declare namespace monaco.editor { /** * Configures the mode. * Use `prefix` to only show ghost text if the text to replace is a prefix of the suggestion text. - * Use `subwordDiff` to only show ghost text if the replace text is a subword of the suggestion text and diffing should be used to compute the ghost text. + * Use `subword` to only show ghost text if the replace text is a subword of the suggestion text. + * Use `subwordSmart` to only show ghost text if the replace text is a subword of the suggestion text, but the subword must start after the cursor position. * Defaults to `prefix`. */ - mode?: 'prefix' | 'subwordDiff'; + mode?: 'prefix' | 'subword' | 'subwordSmart'; } export type InternalInlineSuggestOptions = Readonly>; @@ -3901,9 +3915,9 @@ declare namespace monaco.editor { */ preview?: boolean; /** - * Configures the mode of the preview. Defaults to `subwordDiff`. + * Configures the mode of the preview. */ - previewMode?: 'prefix' | 'subwordDiff'; + previewMode?: 'prefix' | 'subword' | 'subwordSmart'; /** * Show details inline with the label. Defaults to true. */ @@ -4098,98 +4112,99 @@ declare namespace monaco.editor { folding = 35, foldingStrategy = 36, foldingHighlight = 37, - unfoldOnClickAfterEndOfLine = 38, - fontFamily = 39, - fontInfo = 40, - fontLigatures = 41, - fontSize = 42, - fontWeight = 43, - formatOnPaste = 44, - formatOnType = 45, - glyphMargin = 46, - gotoLocation = 47, - hideCursorInOverviewRuler = 48, - highlightActiveIndentGuide = 49, - hover = 50, - inDiffEditor = 51, - inlineSuggest = 52, - letterSpacing = 53, - lightbulb = 54, - lineDecorationsWidth = 55, - lineHeight = 56, - lineNumbers = 57, - lineNumbersMinChars = 58, - linkedEditing = 59, - links = 60, - matchBrackets = 61, - minimap = 62, - mouseStyle = 63, - mouseWheelScrollSensitivity = 64, - mouseWheelZoom = 65, - multiCursorMergeOverlapping = 66, - multiCursorModifier = 67, - multiCursorPaste = 68, - occurrencesHighlight = 69, - overviewRulerBorder = 70, - overviewRulerLanes = 71, - padding = 72, - parameterHints = 73, - peekWidgetDefaultFocus = 74, - definitionLinkOpensInPeek = 75, - quickSuggestions = 76, - quickSuggestionsDelay = 77, - readOnly = 78, - renameOnType = 79, - renderControlCharacters = 80, - renderIndentGuides = 81, - renderFinalNewline = 82, - renderLineHighlight = 83, - renderLineHighlightOnlyWhenFocus = 84, - renderValidationDecorations = 85, - renderWhitespace = 86, - revealHorizontalRightPadding = 87, - roundedSelection = 88, - rulers = 89, - scrollbar = 90, - scrollBeyondLastColumn = 91, - scrollBeyondLastLine = 92, - scrollPredominantAxis = 93, - selectionClipboard = 94, - selectionHighlight = 95, - selectOnLineNumbers = 96, - showFoldingControls = 97, - showUnused = 98, - snippetSuggestions = 99, - smartSelect = 100, - smoothScrolling = 101, - stickyTabStops = 102, - stopRenderingLineAfter = 103, - suggest = 104, - suggestFontSize = 105, - suggestLineHeight = 106, - suggestOnTriggerCharacters = 107, - suggestSelection = 108, - tabCompletion = 109, - tabIndex = 110, - unusualLineTerminators = 111, - useShadowDOM = 112, - useTabStops = 113, - wordSeparators = 114, - wordWrap = 115, - wordWrapBreakAfterCharacters = 116, - wordWrapBreakBeforeCharacters = 117, - wordWrapColumn = 118, - wordWrapOverride1 = 119, - wordWrapOverride2 = 120, - wrappingIndent = 121, - wrappingStrategy = 122, - showDeprecated = 123, - inlayHints = 124, - editorClassName = 125, - pixelRatio = 126, - tabFocusMode = 127, - layoutInfo = 128, - wrappingInfo = 129 + foldingImportsByDefault = 38, + unfoldOnClickAfterEndOfLine = 39, + fontFamily = 40, + fontInfo = 41, + fontLigatures = 42, + fontSize = 43, + fontWeight = 44, + formatOnPaste = 45, + formatOnType = 46, + glyphMargin = 47, + gotoLocation = 48, + hideCursorInOverviewRuler = 49, + highlightActiveIndentGuide = 50, + hover = 51, + inDiffEditor = 52, + inlineSuggest = 53, + letterSpacing = 54, + lightbulb = 55, + lineDecorationsWidth = 56, + lineHeight = 57, + lineNumbers = 58, + lineNumbersMinChars = 59, + linkedEditing = 60, + links = 61, + matchBrackets = 62, + minimap = 63, + mouseStyle = 64, + mouseWheelScrollSensitivity = 65, + mouseWheelZoom = 66, + multiCursorMergeOverlapping = 67, + multiCursorModifier = 68, + multiCursorPaste = 69, + occurrencesHighlight = 70, + overviewRulerBorder = 71, + overviewRulerLanes = 72, + padding = 73, + parameterHints = 74, + peekWidgetDefaultFocus = 75, + definitionLinkOpensInPeek = 76, + quickSuggestions = 77, + quickSuggestionsDelay = 78, + readOnly = 79, + renameOnType = 80, + renderControlCharacters = 81, + renderIndentGuides = 82, + renderFinalNewline = 83, + renderLineHighlight = 84, + renderLineHighlightOnlyWhenFocus = 85, + renderValidationDecorations = 86, + renderWhitespace = 87, + revealHorizontalRightPadding = 88, + roundedSelection = 89, + rulers = 90, + scrollbar = 91, + scrollBeyondLastColumn = 92, + scrollBeyondLastLine = 93, + scrollPredominantAxis = 94, + selectionClipboard = 95, + selectionHighlight = 96, + selectOnLineNumbers = 97, + showFoldingControls = 98, + showUnused = 99, + snippetSuggestions = 100, + smartSelect = 101, + smoothScrolling = 102, + stickyTabStops = 103, + stopRenderingLineAfter = 104, + suggest = 105, + suggestFontSize = 106, + suggestLineHeight = 107, + suggestOnTriggerCharacters = 108, + suggestSelection = 109, + tabCompletion = 110, + tabIndex = 111, + unusualLineTerminators = 112, + useShadowDOM = 113, + useTabStops = 114, + wordSeparators = 115, + wordWrap = 116, + wordWrapBreakAfterCharacters = 117, + wordWrapBreakBeforeCharacters = 118, + wordWrapColumn = 119, + wordWrapOverride1 = 120, + wordWrapOverride2 = 121, + wrappingIndent = 122, + wrappingStrategy = 123, + showDeprecated = 124, + inlayHints = 125, + editorClassName = 126, + pixelRatio = 127, + tabFocusMode = 128, + layoutInfo = 129, + wrappingInfo = 130 } export const EditorOptions: { acceptSuggestionOnCommitCharacter: IEditorOption; @@ -4231,6 +4246,7 @@ declare namespace monaco.editor { folding: IEditorOption; foldingStrategy: IEditorOption; foldingHighlight: IEditorOption; + foldingImportsByDefault: IEditorOption; unfoldOnClickAfterEndOfLine: IEditorOption; fontFamily: IEditorOption; fontInfo: IEditorOption; @@ -7413,11 +7429,13 @@ declare namespace monaco.languages.css { declare namespace monaco.languages.json { export interface DiagnosticsOptions { /** - * If set, the validator will be enabled and perform syntax validation as well as schema based validation. + * If set, the validator will be enabled and perform syntax and schema based validation, + * unless `DiagnosticsOptions.schemaValidation` is set to `ignore`. */ readonly validate?: boolean; /** * If set, comments are tolerated. If set to false, syntax errors will be emitted for comments. + * `DiagnosticsOptions.allowComments` will override this setting. */ readonly allowComments?: boolean; /** @@ -7429,7 +7447,10 @@ declare namespace monaco.languages.json { */ readonly uri: string; /** - * A list of file names that are associated to the schema. The '*' wildcard can be used. For example '*.schema.json', 'package.json' + * A list of glob patterns that describe for which file URIs the JSON schema will be used. + * '*' and '**' wildcards are supported. Exclusion patterns start with '!'. + * For example '*.schema.json', 'package.json', '!foo*.schema.json', 'foo/**\/BADRESP.json'. + * A match succeeds when there is at least one pattern matching and last matching pattern does not start with '!'. */ readonly fileMatch?: string[]; /** @@ -7449,6 +7470,14 @@ declare namespace monaco.languages.json { * The severity of problems that occurred when resolving and loading schemas. If set to 'ignore', schema resolving problems are not reported. If not set, 'warning' is used. */ readonly schemaRequest?: SeverityLevel; + /** + * The severity of reported trailing commas. If not set, trailing commas will be reported as errors. + */ + readonly trailingCommas?: SeverityLevel; + /** + * The severity of reported comments. If not set, 'DiagnosticsOptions.allowComments' defines whether comments are ignored or reported as errors. + */ + readonly comments?: SeverityLevel; } export type SeverityLevel = 'error' | 'warning' | 'ignore'; export interface ModeConfiguration { diff --git a/website/playground/monaco.d.ts.txt b/website/playground/monaco.d.ts.txt index e0098d2e..f2159491 100644 --- a/website/playground/monaco.d.ts.txt +++ b/website/playground/monaco.d.ts.txt @@ -1464,8 +1464,16 @@ declare namespace monaco.editor { export interface InjectedTextOptions { /** * Sets the text to inject. Must be a single line. - */ + */ readonly content: string; + /** + * If set, the decoration will be rendered inline with the text with this CSS class name. + */ + readonly inlineClassName?: string | null; + /** + * If there is an `inlineClassName` which affects letter spacing. + */ + readonly inlineClassNameAffectsLetterSpacing?: boolean; } /** @@ -3167,6 +3175,11 @@ declare namespace monaco.editor { * Defaults to true. */ foldingHighlight?: boolean; + /** + * Auto fold imports folding regions. + * Defaults to true. + */ + foldingImportsByDefault?: boolean; /** * Controls whether the fold actions in the gutter stay always visible or hide unless the mouse is over the gutter. * Defaults to 'mouseover'. @@ -3436,7 +3449,7 @@ declare namespace monaco.editor { /** * Controls if we seed search string in the Find Widget with editor selection. */ - seedSearchStringFromSelection?: boolean; + seedSearchStringFromSelection?: 'never' | 'always' | 'selection'; /** * Controls if Find in Selection flag is turned on in the editor. */ @@ -3856,10 +3869,11 @@ declare namespace monaco.editor { /** * Configures the mode. * Use `prefix` to only show ghost text if the text to replace is a prefix of the suggestion text. - * Use `subwordDiff` to only show ghost text if the replace text is a subword of the suggestion text and diffing should be used to compute the ghost text. + * Use `subword` to only show ghost text if the replace text is a subword of the suggestion text. + * Use `subwordSmart` to only show ghost text if the replace text is a subword of the suggestion text, but the subword must start after the cursor position. * Defaults to `prefix`. */ - mode?: 'prefix' | 'subwordDiff'; + mode?: 'prefix' | 'subword' | 'subwordSmart'; } export type InternalInlineSuggestOptions = Readonly>; @@ -3901,9 +3915,9 @@ declare namespace monaco.editor { */ preview?: boolean; /** - * Configures the mode of the preview. Defaults to `subwordDiff`. + * Configures the mode of the preview. */ - previewMode?: 'prefix' | 'subwordDiff'; + previewMode?: 'prefix' | 'subword' | 'subwordSmart'; /** * Show details inline with the label. Defaults to true. */ @@ -4098,98 +4112,99 @@ declare namespace monaco.editor { folding = 35, foldingStrategy = 36, foldingHighlight = 37, - unfoldOnClickAfterEndOfLine = 38, - fontFamily = 39, - fontInfo = 40, - fontLigatures = 41, - fontSize = 42, - fontWeight = 43, - formatOnPaste = 44, - formatOnType = 45, - glyphMargin = 46, - gotoLocation = 47, - hideCursorInOverviewRuler = 48, - highlightActiveIndentGuide = 49, - hover = 50, - inDiffEditor = 51, - inlineSuggest = 52, - letterSpacing = 53, - lightbulb = 54, - lineDecorationsWidth = 55, - lineHeight = 56, - lineNumbers = 57, - lineNumbersMinChars = 58, - linkedEditing = 59, - links = 60, - matchBrackets = 61, - minimap = 62, - mouseStyle = 63, - mouseWheelScrollSensitivity = 64, - mouseWheelZoom = 65, - multiCursorMergeOverlapping = 66, - multiCursorModifier = 67, - multiCursorPaste = 68, - occurrencesHighlight = 69, - overviewRulerBorder = 70, - overviewRulerLanes = 71, - padding = 72, - parameterHints = 73, - peekWidgetDefaultFocus = 74, - definitionLinkOpensInPeek = 75, - quickSuggestions = 76, - quickSuggestionsDelay = 77, - readOnly = 78, - renameOnType = 79, - renderControlCharacters = 80, - renderIndentGuides = 81, - renderFinalNewline = 82, - renderLineHighlight = 83, - renderLineHighlightOnlyWhenFocus = 84, - renderValidationDecorations = 85, - renderWhitespace = 86, - revealHorizontalRightPadding = 87, - roundedSelection = 88, - rulers = 89, - scrollbar = 90, - scrollBeyondLastColumn = 91, - scrollBeyondLastLine = 92, - scrollPredominantAxis = 93, - selectionClipboard = 94, - selectionHighlight = 95, - selectOnLineNumbers = 96, - showFoldingControls = 97, - showUnused = 98, - snippetSuggestions = 99, - smartSelect = 100, - smoothScrolling = 101, - stickyTabStops = 102, - stopRenderingLineAfter = 103, - suggest = 104, - suggestFontSize = 105, - suggestLineHeight = 106, - suggestOnTriggerCharacters = 107, - suggestSelection = 108, - tabCompletion = 109, - tabIndex = 110, - unusualLineTerminators = 111, - useShadowDOM = 112, - useTabStops = 113, - wordSeparators = 114, - wordWrap = 115, - wordWrapBreakAfterCharacters = 116, - wordWrapBreakBeforeCharacters = 117, - wordWrapColumn = 118, - wordWrapOverride1 = 119, - wordWrapOverride2 = 120, - wrappingIndent = 121, - wrappingStrategy = 122, - showDeprecated = 123, - inlayHints = 124, - editorClassName = 125, - pixelRatio = 126, - tabFocusMode = 127, - layoutInfo = 128, - wrappingInfo = 129 + foldingImportsByDefault = 38, + unfoldOnClickAfterEndOfLine = 39, + fontFamily = 40, + fontInfo = 41, + fontLigatures = 42, + fontSize = 43, + fontWeight = 44, + formatOnPaste = 45, + formatOnType = 46, + glyphMargin = 47, + gotoLocation = 48, + hideCursorInOverviewRuler = 49, + highlightActiveIndentGuide = 50, + hover = 51, + inDiffEditor = 52, + inlineSuggest = 53, + letterSpacing = 54, + lightbulb = 55, + lineDecorationsWidth = 56, + lineHeight = 57, + lineNumbers = 58, + lineNumbersMinChars = 59, + linkedEditing = 60, + links = 61, + matchBrackets = 62, + minimap = 63, + mouseStyle = 64, + mouseWheelScrollSensitivity = 65, + mouseWheelZoom = 66, + multiCursorMergeOverlapping = 67, + multiCursorModifier = 68, + multiCursorPaste = 69, + occurrencesHighlight = 70, + overviewRulerBorder = 71, + overviewRulerLanes = 72, + padding = 73, + parameterHints = 74, + peekWidgetDefaultFocus = 75, + definitionLinkOpensInPeek = 76, + quickSuggestions = 77, + quickSuggestionsDelay = 78, + readOnly = 79, + renameOnType = 80, + renderControlCharacters = 81, + renderIndentGuides = 82, + renderFinalNewline = 83, + renderLineHighlight = 84, + renderLineHighlightOnlyWhenFocus = 85, + renderValidationDecorations = 86, + renderWhitespace = 87, + revealHorizontalRightPadding = 88, + roundedSelection = 89, + rulers = 90, + scrollbar = 91, + scrollBeyondLastColumn = 92, + scrollBeyondLastLine = 93, + scrollPredominantAxis = 94, + selectionClipboard = 95, + selectionHighlight = 96, + selectOnLineNumbers = 97, + showFoldingControls = 98, + showUnused = 99, + snippetSuggestions = 100, + smartSelect = 101, + smoothScrolling = 102, + stickyTabStops = 103, + stopRenderingLineAfter = 104, + suggest = 105, + suggestFontSize = 106, + suggestLineHeight = 107, + suggestOnTriggerCharacters = 108, + suggestSelection = 109, + tabCompletion = 110, + tabIndex = 111, + unusualLineTerminators = 112, + useShadowDOM = 113, + useTabStops = 114, + wordSeparators = 115, + wordWrap = 116, + wordWrapBreakAfterCharacters = 117, + wordWrapBreakBeforeCharacters = 118, + wordWrapColumn = 119, + wordWrapOverride1 = 120, + wordWrapOverride2 = 121, + wrappingIndent = 122, + wrappingStrategy = 123, + showDeprecated = 124, + inlayHints = 125, + editorClassName = 126, + pixelRatio = 127, + tabFocusMode = 128, + layoutInfo = 129, + wrappingInfo = 130 } export const EditorOptions: { acceptSuggestionOnCommitCharacter: IEditorOption; @@ -4231,6 +4246,7 @@ declare namespace monaco.editor { folding: IEditorOption; foldingStrategy: IEditorOption; foldingHighlight: IEditorOption; + foldingImportsByDefault: IEditorOption; unfoldOnClickAfterEndOfLine: IEditorOption; fontFamily: IEditorOption; fontInfo: IEditorOption; @@ -7413,11 +7429,13 @@ declare namespace monaco.languages.css { declare namespace monaco.languages.json { export interface DiagnosticsOptions { /** - * If set, the validator will be enabled and perform syntax validation as well as schema based validation. + * If set, the validator will be enabled and perform syntax and schema based validation, + * unless `DiagnosticsOptions.schemaValidation` is set to `ignore`. */ readonly validate?: boolean; /** * If set, comments are tolerated. If set to false, syntax errors will be emitted for comments. + * `DiagnosticsOptions.allowComments` will override this setting. */ readonly allowComments?: boolean; /** @@ -7429,7 +7447,10 @@ declare namespace monaco.languages.json { */ readonly uri: string; /** - * A list of file names that are associated to the schema. The '*' wildcard can be used. For example '*.schema.json', 'package.json' + * A list of glob patterns that describe for which file URIs the JSON schema will be used. + * '*' and '**' wildcards are supported. Exclusion patterns start with '!'. + * For example '*.schema.json', 'package.json', '!foo*.schema.json', 'foo/**\/BADRESP.json'. + * A match succeeds when there is at least one pattern matching and last matching pattern does not start with '!'. */ readonly fileMatch?: string[]; /** @@ -7449,6 +7470,14 @@ declare namespace monaco.languages.json { * The severity of problems that occurred when resolving and loading schemas. If set to 'ignore', schema resolving problems are not reported. If not set, 'warning' is used. */ readonly schemaRequest?: SeverityLevel; + /** + * The severity of reported trailing commas. If not set, trailing commas will be reported as errors. + */ + readonly trailingCommas?: SeverityLevel; + /** + * The severity of reported comments. If not set, 'DiagnosticsOptions.allowComments' defines whether comments are ignored or reported as errors. + */ + readonly comments?: SeverityLevel; } export type SeverityLevel = 'error' | 'warning' | 'ignore'; export interface ModeConfiguration {