From e7fd3d4f7eba8c347191f02dc5b85ffdfe0fd809 Mon Sep 17 00:00:00 2001 From: Vladimir Gorej Date: Thu, 27 Oct 2022 15:26:47 +0200 Subject: [PATCH 1/2] feat(ls): provide completion for field in supported objects Refs #2202 --- .../src/config/openapi/callback/completion.ts | 22 +++++++++++++++++++ .../src/config/openapi/callback/meta.ts | 2 ++ .../src/config/openapi/example/completion.ts | 12 ++++++++++ .../src/config/openapi/header/completion.ts | 2 +- .../src/config/openapi/link/completion.ts | 12 ++++++++++ .../config/openapi/parameter/completion.ts | 2 +- .../config/openapi/request-body/completion.ts | 12 ++++++++++ .../src/config/openapi/response/completion.ts | 12 ++++++++++ .../openapi/security-scheme/completion.ts | 12 ++++++++++ 9 files changed, 86 insertions(+), 2 deletions(-) create mode 100644 packages/apidom-ls/src/config/openapi/callback/completion.ts diff --git a/packages/apidom-ls/src/config/openapi/callback/completion.ts b/packages/apidom-ls/src/config/openapi/callback/completion.ts new file mode 100644 index 0000000000..bf8db4a110 --- /dev/null +++ b/packages/apidom-ls/src/config/openapi/callback/completion.ts @@ -0,0 +1,22 @@ +import { + ApidomCompletionItem, + CompletionFormat, + CompletionType, +} from '../../../apidom-language-types'; + +const completion: ApidomCompletionItem[] = [ + { + label: '$ref', + insertText: '\\$ref', + kind: 14, + format: CompletionFormat.QUOTED, + type: CompletionType.PROPERTY, + insertTextFormat: 2, + documentation: { + kind: 'markdown', + value: 'A reference to a Callback.', + }, + }, +]; + +export default completion; diff --git a/packages/apidom-ls/src/config/openapi/callback/meta.ts b/packages/apidom-ls/src/config/openapi/callback/meta.ts index 687725779c..381bda653d 100644 --- a/packages/apidom-ls/src/config/openapi/callback/meta.ts +++ b/packages/apidom-ls/src/config/openapi/callback/meta.ts @@ -1,9 +1,11 @@ import lint from './lint'; +import completion from './completion'; import documentation from './documentation'; import { FormatMeta } from '../../../apidom-language-types'; const meta: FormatMeta = { lint, + completion, documentation, }; diff --git a/packages/apidom-ls/src/config/openapi/example/completion.ts b/packages/apidom-ls/src/config/openapi/example/completion.ts index 96eab03780..ffa52bd838 100644 --- a/packages/apidom-ls/src/config/openapi/example/completion.ts +++ b/packages/apidom-ls/src/config/openapi/example/completion.ts @@ -5,6 +5,18 @@ import { } from '../../../apidom-language-types'; const completion: ApidomCompletionItem[] = [ + { + label: '$ref', + insertText: '\\$ref', + kind: 14, + format: CompletionFormat.QUOTED, + type: CompletionType.PROPERTY, + insertTextFormat: 2, + documentation: { + kind: 'markdown', + value: 'A reference to an Example', + }, + }, { label: 'summary', insertText: 'summary', diff --git a/packages/apidom-ls/src/config/openapi/header/completion.ts b/packages/apidom-ls/src/config/openapi/header/completion.ts index 2272562d34..bcd7c3c536 100644 --- a/packages/apidom-ls/src/config/openapi/header/completion.ts +++ b/packages/apidom-ls/src/config/openapi/header/completion.ts @@ -14,7 +14,7 @@ const completion: ApidomCompletionItem[] = [ insertTextFormat: 2, documentation: { kind: 'markdown', - value: 'A reference to a Header', + value: 'A reference to a Header.', }, }, { diff --git a/packages/apidom-ls/src/config/openapi/link/completion.ts b/packages/apidom-ls/src/config/openapi/link/completion.ts index daaca11fb0..3911c15932 100644 --- a/packages/apidom-ls/src/config/openapi/link/completion.ts +++ b/packages/apidom-ls/src/config/openapi/link/completion.ts @@ -5,6 +5,18 @@ import { } from '../../../apidom-language-types'; const completion: ApidomCompletionItem[] = [ + { + label: '$ref', + insertText: '\\$ref', + kind: 14, + format: CompletionFormat.QUOTED, + type: CompletionType.PROPERTY, + insertTextFormat: 2, + documentation: { + kind: 'markdown', + value: 'A reference to a Link.', + }, + }, { label: 'operationRef', insertText: 'operationRef', diff --git a/packages/apidom-ls/src/config/openapi/parameter/completion.ts b/packages/apidom-ls/src/config/openapi/parameter/completion.ts index 69fbb06cc7..e9fed2c370 100644 --- a/packages/apidom-ls/src/config/openapi/parameter/completion.ts +++ b/packages/apidom-ls/src/config/openapi/parameter/completion.ts @@ -14,7 +14,7 @@ const completion: ApidomCompletionItem[] = [ insertTextFormat: 2, documentation: { kind: 'markdown', - value: 'A reference to a Parameter', + value: 'A reference to a Parameter.', }, }, { diff --git a/packages/apidom-ls/src/config/openapi/request-body/completion.ts b/packages/apidom-ls/src/config/openapi/request-body/completion.ts index 8a36f291f7..1512dc5ff7 100644 --- a/packages/apidom-ls/src/config/openapi/request-body/completion.ts +++ b/packages/apidom-ls/src/config/openapi/request-body/completion.ts @@ -5,6 +5,18 @@ import { } from '../../../apidom-language-types'; const completion: ApidomCompletionItem[] = [ + { + label: '$ref', + insertText: '\\$ref', + kind: 14, + format: CompletionFormat.QUOTED, + type: CompletionType.PROPERTY, + insertTextFormat: 2, + documentation: { + kind: 'markdown', + value: 'A reference to a Request Body.', + }, + }, { label: 'description', insertText: 'description', diff --git a/packages/apidom-ls/src/config/openapi/response/completion.ts b/packages/apidom-ls/src/config/openapi/response/completion.ts index 4b55ad1593..b406114bd3 100644 --- a/packages/apidom-ls/src/config/openapi/response/completion.ts +++ b/packages/apidom-ls/src/config/openapi/response/completion.ts @@ -5,6 +5,18 @@ import { } from '../../../apidom-language-types'; const completion: ApidomCompletionItem[] = [ + { + label: '$ref', + insertText: '\\$ref', + kind: 14, + format: CompletionFormat.QUOTED, + type: CompletionType.PROPERTY, + insertTextFormat: 2, + documentation: { + kind: 'markdown', + value: 'A reference to a Response.', + }, + }, { label: 'description', insertText: 'description', diff --git a/packages/apidom-ls/src/config/openapi/security-scheme/completion.ts b/packages/apidom-ls/src/config/openapi/security-scheme/completion.ts index 3c9ca8af7c..d2058d1961 100644 --- a/packages/apidom-ls/src/config/openapi/security-scheme/completion.ts +++ b/packages/apidom-ls/src/config/openapi/security-scheme/completion.ts @@ -5,6 +5,18 @@ import { } from '../../../apidom-language-types'; const completion: ApidomCompletionItem[] = [ + { + label: '$ref', + insertText: '\\$ref', + kind: 14, + format: CompletionFormat.QUOTED, + type: CompletionType.PROPERTY, + insertTextFormat: 2, + documentation: { + kind: 'markdown', + value: 'A reference to a Security Scheme.', + }, + }, { label: 'type', insertText: 'type', From 0938fe663e3134d2f6f3e8dea39a24a0c2f9187f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Gorej?= Date: Thu, 27 Oct 2022 15:30:45 +0200 Subject: [PATCH 2/2] Update packages/apidom-ls/src/config/openapi/example/completion.ts --- packages/apidom-ls/src/config/openapi/example/completion.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/apidom-ls/src/config/openapi/example/completion.ts b/packages/apidom-ls/src/config/openapi/example/completion.ts index ffa52bd838..381b7a2dc7 100644 --- a/packages/apidom-ls/src/config/openapi/example/completion.ts +++ b/packages/apidom-ls/src/config/openapi/example/completion.ts @@ -14,7 +14,7 @@ const completion: ApidomCompletionItem[] = [ insertTextFormat: 2, documentation: { kind: 'markdown', - value: 'A reference to an Example', + value: 'A reference to an Example.', }, }, {