diff --git a/languageservice/src/complete.test.ts b/languageservice/src/complete.test.ts index d7eb160..060d9da 100644 --- a/languageservice/src/complete.test.ts +++ b/languageservice/src/complete.test.ts @@ -474,4 +474,15 @@ jobs: expect(result.filter(x => x.label === "concurrency").map(x => x.textEdit?.newText)).toEqual(["concurrency"]); }); }); + + it("adds a new line and indentation for mapping keys", async () => { + const input = "concurrency: |"; + + const result = await complete(...getPositionFromCursor(input)); + + expect(result.filter(x => x.label === "cancel-in-progress").map(x => x.textEdit?.newText)).toEqual([ + "\n cancel-in-progress: " + ]); + expect(result.filter(x => x.label === "group").map(x => x.textEdit?.newText)).toEqual(["\n group: "]); + }); }); diff --git a/languageservice/src/value-providers/definition.ts b/languageservice/src/value-providers/definition.ts index eb78d6e..059a204 100644 --- a/languageservice/src/value-providers/definition.ts +++ b/languageservice/src/value-providers/definition.ts @@ -71,6 +71,10 @@ function mappingValues( // No special insertText in this case break; + case DefinitionType.String: + case DefinitionType.Boolean: + insertText = `\n${indentation}${key}: `; + break; default: insertText = `${key}: `; }