UNPKG

@microsoft/compose-language-service

Version:
165 lines 6.99 kB
"use strict"; /*!-------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See LICENSE in the project root for license information. *--------------------------------------------------------------------------------------------*/ Object.defineProperty(exports, "__esModule", { value: true }); exports.ServiceCompletionCollection = void 0; const vscode_languageserver_1 = require("vscode-languageserver"); const CompletionCollection_1 = require("./CompletionCollection"); /** * The position given when the cursor is inbetween the service key and first properties, i.e. at the | below: services: foo: | a: b */ const PositionAtServicePathRegex = /^\/services\/[.\w-]+$/i; // e.g. /services/foo /** * The position given when the cursor is in a partially-typed properties in a service, i.e. at the | below: services: foo: a: b b| */ const PositionInServiceKeyPathRegex = /^\/services\/[.\w-]+\/<value>$/i; // e.g. /services/foo/<value> exports.ServiceCompletionCollection = new CompletionCollection_1.CompletionCollection('service', { logicalPaths: [PositionAtServicePathRegex, PositionInServiceKeyPathRegex], indentationDepth: 2 }, ...[ { label: 'build:', insertText: 'build: ${1:path}$0', insertTextFormat: vscode_languageserver_1.InsertTextFormat.Snippet, isAdvancedComposeCompletion: false, detail: 'Short form', documentation: 'build: <path>', }, { label: 'build:', insertText: 'build:\n\tcontext: ${1:contextPath}\n\tdockerfile: ${2:Dockerfile}', insertTextFormat: vscode_languageserver_1.InsertTextFormat.Snippet, insertTextMode: vscode_languageserver_1.InsertTextMode.adjustIndentation, isAdvancedComposeCompletion: true, detail: 'Long form', documentation: 'build:\n\tcontext: <contextPath>\n\tdockerfile: <Dockerfile>', }, { label: 'command:', insertText: 'command: ${1:command}$0', insertTextFormat: vscode_languageserver_1.InsertTextFormat.Snippet, isAdvancedComposeCompletion: false, detail: 'String form', documentation: 'command: echo hello' }, { label: 'command:', insertText: 'command: ["${1:executable}", "${2:arg}"]$0', insertTextFormat: vscode_languageserver_1.InsertTextFormat.Snippet, isAdvancedComposeCompletion: true, detail: 'List form', documentation: 'command: ["echo", "hello"]' }, { label: 'container_name:', insertText: 'container_name: ${1:name}$0', insertTextFormat: vscode_languageserver_1.InsertTextFormat.Snippet, isAdvancedComposeCompletion: false, }, { label: 'depends_on:', insertText: 'depends_on:\n\t- ${1:serviceName}$0', insertTextFormat: vscode_languageserver_1.InsertTextFormat.Snippet, insertTextMode: vscode_languageserver_1.InsertTextMode.adjustIndentation, isAdvancedComposeCompletion: true, }, { label: 'entrypoint:', insertText: 'entrypoint: ${1:entrypoint}$0', insertTextFormat: vscode_languageserver_1.InsertTextFormat.Snippet, isAdvancedComposeCompletion: false, detail: 'String form', documentation: 'entrypoint: /app/start.sh' }, { label: 'entrypoint:', insertText: 'entrypoint: ["${1:executable}", "${2:arg}"]$0', insertTextFormat: vscode_languageserver_1.InsertTextFormat.Snippet, isAdvancedComposeCompletion: true, detail: 'List form', documentation: 'entrypoint: ["echo", "hello"]' }, { label: 'env_file:', insertText: 'env_file:\n\t- ${1:fileName}$0', insertTextFormat: vscode_languageserver_1.InsertTextFormat.Snippet, insertTextMode: vscode_languageserver_1.InsertTextMode.adjustIndentation, isAdvancedComposeCompletion: true, }, { label: 'environment:', insertText: 'environment:\n\t- ${1:name}=${2:value}$0', insertTextFormat: vscode_languageserver_1.InsertTextFormat.Snippet, insertTextMode: vscode_languageserver_1.InsertTextMode.adjustIndentation, isAdvancedComposeCompletion: true, }, { label: 'expose:', insertText: 'expose:\n\t- ${1:1234}$0', insertTextFormat: vscode_languageserver_1.InsertTextFormat.Snippet, insertTextMode: vscode_languageserver_1.InsertTextMode.adjustIndentation, isAdvancedComposeCompletion: true, }, { label: 'healthcheck:', insertText: 'healthcheck:\n\ttest: ["${1:executable}", "${2:arg}"]\n\tinterval: ${3:1m30s}\n\ttimeout: ${4:30s}\n\tretries: ${5:5}\n\tstart_period: ${6:30s}$0', insertTextFormat: vscode_languageserver_1.InsertTextFormat.Snippet, insertTextMode: vscode_languageserver_1.InsertTextMode.adjustIndentation, isAdvancedComposeCompletion: true, }, { label: 'image:', insertText: 'image: ${1:imageName}$0', insertTextFormat: vscode_languageserver_1.InsertTextFormat.Snippet, isAdvancedComposeCompletion: false, }, { label: 'labels:', insertText: 'labels:\n\t- ${1:com.host.description}=${2:label}$0', insertTextFormat: vscode_languageserver_1.InsertTextFormat.Snippet, insertTextMode: vscode_languageserver_1.InsertTextMode.adjustIndentation, isAdvancedComposeCompletion: true, }, { label: 'networks:', insertText: 'networks:\n\t- ${1:networkName}$0', insertTextFormat: vscode_languageserver_1.InsertTextFormat.Snippet, insertTextMode: vscode_languageserver_1.InsertTextMode.adjustIndentation, isAdvancedComposeCompletion: true, }, { label: 'ports:', insertText: 'ports:\n\t-$0', insertTextFormat: vscode_languageserver_1.InsertTextFormat.Snippet, insertTextMode: vscode_languageserver_1.InsertTextMode.adjustIndentation, isAdvancedComposeCompletion: false, }, { label: 'profiles:', insertText: 'profiles:\n\t- ${1:profileName}$0', insertTextFormat: vscode_languageserver_1.InsertTextFormat.Snippet, insertTextMode: vscode_languageserver_1.InsertTextMode.adjustIndentation, isAdvancedComposeCompletion: true, }, { label: 'pull_policy:', insertText: 'pull_policy: ${1:pullPolicyName}$0', insertTextFormat: vscode_languageserver_1.InsertTextFormat.Snippet, isAdvancedComposeCompletion: false, }, { label: 'volumes:', insertText: 'volumes:\n\t-$0', insertTextFormat: vscode_languageserver_1.InsertTextFormat.Snippet, insertTextMode: vscode_languageserver_1.InsertTextMode.adjustIndentation, isAdvancedComposeCompletion: false, }, ]); //# sourceMappingURL=ServiceCompletionCollection.js.map