mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 22:02:55 +01:00
Implement lsp/formatting for Carbon::LanguageServer (#7688)
Implements formatting support within LSP. Current implementation performs while file formatting, we just replace file with output of Carbon::Format() https://github.com/carbon-language/carbon-lang/pull/7687 independently improves formatting so that this output is somewhat decent. Assisted-With: Gemini / Antigravity
This commit is contained in:
@@ -36,7 +36,7 @@
|
||||
|
||||
// --- AUTOUPDATE-SPLIT
|
||||
|
||||
// CHECK:STDOUT: Content-Length: 352{{\r}}
|
||||
// CHECK:STDOUT: Content-Length: 394{{\r}}
|
||||
// CHECK:STDOUT: {{\r}}
|
||||
// CHECK:STDOUT: {
|
||||
// CHECK:STDOUT: "id": 1,
|
||||
@@ -45,6 +45,7 @@
|
||||
// CHECK:STDOUT: "capabilities": {
|
||||
// CHECK:STDOUT: "declarationProvider": true,
|
||||
// CHECK:STDOUT: "definitionProvider": true,
|
||||
// CHECK:STDOUT: "documentFormattingProvider": true,
|
||||
// CHECK:STDOUT: "documentSymbolProvider": true,
|
||||
// CHECK:STDOUT: "hoverProvider": true,
|
||||
// CHECK:STDOUT: "positionEncoding": "utf-16",
|
||||
|
||||
@@ -30,7 +30,7 @@ choice Colors {
|
||||
[[@LSP-CALL:shutdown]]
|
||||
[[@LSP-NOTIFY:exit]]
|
||||
|
||||
// CHECK:STDOUT: Content-Length: 352{{\r}}
|
||||
// CHECK:STDOUT: Content-Length: 394{{\r}}
|
||||
// CHECK:STDOUT: {{\r}}
|
||||
// CHECK:STDOUT: {
|
||||
// CHECK:STDOUT: "id": 1,
|
||||
@@ -39,6 +39,7 @@ choice Colors {
|
||||
// CHECK:STDOUT: "capabilities": {
|
||||
// CHECK:STDOUT: "declarationProvider": true,
|
||||
// CHECK:STDOUT: "definitionProvider": true,
|
||||
// CHECK:STDOUT: "documentFormattingProvider": true,
|
||||
// CHECK:STDOUT: "documentSymbolProvider": true,
|
||||
// CHECK:STDOUT: "hoverProvider": true,
|
||||
// CHECK:STDOUT: "positionEncoding": "utf-16",
|
||||
|
||||
+2
-1
@@ -33,7 +33,7 @@ fn G() {}
|
||||
[[@LSP-CALL:shutdown]]
|
||||
[[@LSP-NOTIFY:exit]]
|
||||
|
||||
// CHECK:STDOUT: Content-Length: 352{{\r}}
|
||||
// CHECK:STDOUT: Content-Length: 394{{\r}}
|
||||
// CHECK:STDOUT: {{\r}}
|
||||
// CHECK:STDOUT: {
|
||||
// CHECK:STDOUT: "id": 1,
|
||||
@@ -42,6 +42,7 @@ fn G() {}
|
||||
// CHECK:STDOUT: "capabilities": {
|
||||
// CHECK:STDOUT: "declarationProvider": true,
|
||||
// CHECK:STDOUT: "definitionProvider": true,
|
||||
// CHECK:STDOUT: "documentFormattingProvider": true,
|
||||
// CHECK:STDOUT: "documentSymbolProvider": true,
|
||||
// CHECK:STDOUT: "hoverProvider": true,
|
||||
// CHECK:STDOUT: "positionEncoding": "utf-16",
|
||||
|
||||
@@ -29,7 +29,7 @@ fn Builtin() = "int.make_type_32";
|
||||
[[@LSP-CALL:shutdown]]
|
||||
[[@LSP-NOTIFY:exit]]
|
||||
|
||||
// CHECK:STDOUT: Content-Length: 352{{\r}}
|
||||
// CHECK:STDOUT: Content-Length: 394{{\r}}
|
||||
// CHECK:STDOUT: {{\r}}
|
||||
// CHECK:STDOUT: {
|
||||
// CHECK:STDOUT: "id": 1,
|
||||
@@ -38,6 +38,7 @@ fn Builtin() = "int.make_type_32";
|
||||
// CHECK:STDOUT: "capabilities": {
|
||||
// CHECK:STDOUT: "declarationProvider": true,
|
||||
// CHECK:STDOUT: "definitionProvider": true,
|
||||
// CHECK:STDOUT: "documentFormattingProvider": true,
|
||||
// CHECK:STDOUT: "documentSymbolProvider": true,
|
||||
// CHECK:STDOUT: "hoverProvider": true,
|
||||
// CHECK:STDOUT: "positionEncoding": "utf-16",
|
||||
|
||||
@@ -27,7 +27,7 @@ class Incomplete {
|
||||
[[@LSP-CALL:shutdown]]
|
||||
[[@LSP-NOTIFY:exit]]
|
||||
|
||||
// CHECK:STDOUT: Content-Length: 352{{\r}}
|
||||
// CHECK:STDOUT: Content-Length: 394{{\r}}
|
||||
// CHECK:STDOUT: {{\r}}
|
||||
// CHECK:STDOUT: {
|
||||
// CHECK:STDOUT: "id": 1,
|
||||
@@ -36,6 +36,7 @@ class Incomplete {
|
||||
// CHECK:STDOUT: "capabilities": {
|
||||
// CHECK:STDOUT: "declarationProvider": true,
|
||||
// CHECK:STDOUT: "definitionProvider": true,
|
||||
// CHECK:STDOUT: "documentFormattingProvider": true,
|
||||
// CHECK:STDOUT: "documentSymbolProvider": true,
|
||||
// CHECK:STDOUT: "hoverProvider": true,
|
||||
// CHECK:STDOUT: "positionEncoding": "utf-16",
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
// CHECK:STDERR: /test.cpp: warning: non-Carbon file requested [LanguageServerFileUnsupported]
|
||||
// CHECK:STDERR:
|
||||
// CHECK:STDOUT: Content-Length: 352{{\r}}
|
||||
// CHECK:STDOUT: Content-Length: 394{{\r}}
|
||||
// CHECK:STDOUT: {{\r}}
|
||||
// CHECK:STDOUT: {
|
||||
// CHECK:STDOUT: "id": 1,
|
||||
@@ -29,6 +29,7 @@
|
||||
// CHECK:STDOUT: "capabilities": {
|
||||
// CHECK:STDOUT: "declarationProvider": true,
|
||||
// CHECK:STDOUT: "definitionProvider": true,
|
||||
// CHECK:STDOUT: "documentFormattingProvider": true,
|
||||
// CHECK:STDOUT: "documentSymbolProvider": true,
|
||||
// CHECK:STDOUT: "hoverProvider": true,
|
||||
// CHECK:STDOUT: "positionEncoding": "utf-16",
|
||||
|
||||
@@ -28,7 +28,7 @@ fn Bar() {}
|
||||
[[@LSP-CALL:shutdown]]
|
||||
[[@LSP-NOTIFY:exit]]
|
||||
|
||||
// CHECK:STDOUT: Content-Length: 352{{\r}}
|
||||
// CHECK:STDOUT: Content-Length: 394{{\r}}
|
||||
// CHECK:STDOUT: {{\r}}
|
||||
// CHECK:STDOUT: {
|
||||
// CHECK:STDOUT: "id": 1,
|
||||
@@ -37,6 +37,7 @@ fn Bar() {}
|
||||
// CHECK:STDOUT: "capabilities": {
|
||||
// CHECK:STDOUT: "declarationProvider": true,
|
||||
// CHECK:STDOUT: "definitionProvider": true,
|
||||
// CHECK:STDOUT: "documentFormattingProvider": true,
|
||||
// CHECK:STDOUT: "documentSymbolProvider": true,
|
||||
// CHECK:STDOUT: "hoverProvider": true,
|
||||
// CHECK:STDOUT: "positionEncoding": "utf-16",
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
// CHECK:STDERR: /test.carbon: warning: unknown file requested [LanguageServerFileUnknown]
|
||||
// CHECK:STDERR:
|
||||
// CHECK:STDOUT: Content-Length: 352{{\r}}
|
||||
// CHECK:STDOUT: Content-Length: 394{{\r}}
|
||||
// CHECK:STDOUT: {{\r}}
|
||||
// CHECK:STDOUT: {
|
||||
// CHECK:STDOUT: "id": 1,
|
||||
@@ -29,6 +29,7 @@
|
||||
// CHECK:STDOUT: "capabilities": {
|
||||
// CHECK:STDOUT: "declarationProvider": true,
|
||||
// CHECK:STDOUT: "definitionProvider": true,
|
||||
// CHECK:STDOUT: "documentFormattingProvider": true,
|
||||
// CHECK:STDOUT: "documentSymbolProvider": true,
|
||||
// CHECK:STDOUT: "hoverProvider": true,
|
||||
// CHECK:STDOUT: "positionEncoding": "utf-16",
|
||||
|
||||
Reference in New Issue
Block a user