From 7d8a7c11a6106b0573b62221085cf61da97eddda Mon Sep 17 00:00:00 2001 From: Jonathan Tamsut Date: Wed, 12 Apr 2023 15:26:17 -0700 Subject: [PATCH 1/9] handle string and boolean mappings --- languageservice/src/value-providers/definition.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/languageservice/src/value-providers/definition.ts b/languageservice/src/value-providers/definition.ts index eb78d6e..25d50eb 100644 --- a/languageservice/src/value-providers/definition.ts +++ b/languageservice/src/value-providers/definition.ts @@ -71,6 +71,13 @@ function mappingValues( // No special insertText in this case break; + case DefinitionType.String: + insertText = `\n${indentation}${key}: `; + break; + + case DefinitionType.Boolean: + insertText = `${indentation}${key}: `; + default: insertText = `${key}: `; } From fc2bacfcdc07e50663e748ff940ec26a19d353ef Mon Sep 17 00:00:00 2001 From: Jonathan Tamsut Date: Wed, 12 Apr 2023 15:37:42 -0700 Subject: [PATCH 2/9] add break --- languageservice/src/value-providers/definition.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/languageservice/src/value-providers/definition.ts b/languageservice/src/value-providers/definition.ts index 25d50eb..66881b9 100644 --- a/languageservice/src/value-providers/definition.ts +++ b/languageservice/src/value-providers/definition.ts @@ -77,6 +77,7 @@ function mappingValues( case DefinitionType.Boolean: insertText = `${indentation}${key}: `; + break; default: insertText = `${key}: `; From a4d3fb1a3e0ee896591849c4f13bf293a806310d Mon Sep 17 00:00:00 2001 From: Jonathan Tamsut Date: Thu, 13 Apr 2023 10:05:39 -0700 Subject: [PATCH 3/9] add newline to boolean --- languageservice/src/value-providers/definition.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/languageservice/src/value-providers/definition.ts b/languageservice/src/value-providers/definition.ts index 66881b9..2cc38c7 100644 --- a/languageservice/src/value-providers/definition.ts +++ b/languageservice/src/value-providers/definition.ts @@ -76,7 +76,7 @@ function mappingValues( break; case DefinitionType.Boolean: - insertText = `${indentation}${key}: `; + insertText = `\n${indentation}${key}: `; break; default: From 2ecbeafacb91c9281b7068f443dea5a873c2fee5 Mon Sep 17 00:00:00 2001 From: Jonathan Tamsut Date: Thu, 13 Apr 2023 15:21:23 -0700 Subject: [PATCH 4/9] add tests --- languageservice/src/complete.test.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/languageservice/src/complete.test.ts b/languageservice/src/complete.test.ts index d7eb160..ed3082f 100644 --- a/languageservice/src/complete.test.ts +++ b/languageservice/src/complete.test.ts @@ -474,4 +474,13 @@ 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 : "]) + }) }); From 6d0f74e38b1e3f1583c0a086b219285338856ec8 Mon Sep 17 00:00:00 2001 From: Jonathan Tamsut Date: Thu, 13 Apr 2023 15:21:36 -0700 Subject: [PATCH 5/9] fix typo --- languageservice/src/complete.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/languageservice/src/complete.test.ts b/languageservice/src/complete.test.ts index ed3082f..f8f6dc7 100644 --- a/languageservice/src/complete.test.ts +++ b/languageservice/src/complete.test.ts @@ -481,6 +481,6 @@ jobs: 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 : "]) + expect(result.filter(x => x.label === "group").map(x => x.textEdit?.newText)).toEqual(["\n group: "]) }) }); From 11d3fc25ee614dd7003861e0d8049d2bee9219dd Mon Sep 17 00:00:00 2001 From: Jonathan Tamsut Date: Thu, 13 Apr 2023 15:26:31 -0700 Subject: [PATCH 6/9] run prettier --- languageservice/src/complete.test.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/languageservice/src/complete.test.ts b/languageservice/src/complete.test.ts index f8f6dc7..060d9da 100644 --- a/languageservice/src/complete.test.ts +++ b/languageservice/src/complete.test.ts @@ -480,7 +480,9 @@ jobs: 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: "]) - }) + 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: "]); + }); }); From 6df34a78ce1475d422da07a4fa813debb0ff606f Mon Sep 17 00:00:00 2001 From: Jonathan Tamsut Date: Fri, 14 Apr 2023 09:51:27 -0700 Subject: [PATCH 7/9] Update languageservice/src/value-providers/definition.ts Co-authored-by: Josh Gross --- languageservice/src/value-providers/definition.ts | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/languageservice/src/value-providers/definition.ts b/languageservice/src/value-providers/definition.ts index 2cc38c7..ce59d22 100644 --- a/languageservice/src/value-providers/definition.ts +++ b/languageservice/src/value-providers/definition.ts @@ -71,14 +71,9 @@ function mappingValues( // No special insertText in this case break; - case DefinitionType.String: + case (DefinitionType.String, DefinitionType.Boolean): insertText = `\n${indentation}${key}: `; break; - - case DefinitionType.Boolean: - insertText = `\n${indentation}${key}: `; - break; - default: insertText = `${key}: `; } From 18d1bd9734a50eaddf0b452c169bf9670a13e7ab Mon Sep 17 00:00:00 2001 From: Jonathan Tamsut Date: Fri, 14 Apr 2023 10:22:42 -0700 Subject: [PATCH 8/9] fix case bug --- languageservice/src/value-providers/definition.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/languageservice/src/value-providers/definition.ts b/languageservice/src/value-providers/definition.ts index ce59d22..658a041 100644 --- a/languageservice/src/value-providers/definition.ts +++ b/languageservice/src/value-providers/definition.ts @@ -71,7 +71,8 @@ function mappingValues( // No special insertText in this case break; - case (DefinitionType.String, DefinitionType.Boolean): + case (DefinitionType.String): + case (DefinitionType.Boolean): insertText = `\n${indentation}${key}: `; break; default: From a1d81c730f0b93c7a6e6e9ac5c8067c2d881cbd2 Mon Sep 17 00:00:00 2001 From: Jonathan Tamsut Date: Fri, 14 Apr 2023 10:29:20 -0700 Subject: [PATCH 9/9] yarn prettier --- languageservice/src/value-providers/definition.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/languageservice/src/value-providers/definition.ts b/languageservice/src/value-providers/definition.ts index 658a041..059a204 100644 --- a/languageservice/src/value-providers/definition.ts +++ b/languageservice/src/value-providers/definition.ts @@ -71,8 +71,8 @@ function mappingValues( // No special insertText in this case break; - case (DefinitionType.String): - case (DefinitionType.Boolean): + case DefinitionType.String: + case DefinitionType.Boolean: insertText = `\n${indentation}${key}: `; break; default: