# RUN: clangd -lit-test < %s | FileCheck %s
{"jsonrpc":"2.0","id":0,"method":"initialize","params":{}}
---
{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{
"uri":"test:///main.cpp",
"languageId":"cpp",
"version":1,
"text":"int foo(int bar);\nint x = foo(42);\nint y = foo(42);"
}}}
---
{"jsonrpc":"2.0","id":1,"method":"clangd/inlayHints","params":{
"textDocument":{"uri":"test:///main.cpp"},
"range":{
"start": {"line":1,"character":0},
"end": {"line":2,"character":0}
}
}}
# CHECK: "id": 1,
# CHECK-NEXT: "jsonrpc": "2.0",
# CHECK-NEXT: "result": [
# CHECK-NEXT: {
# CHECK-NEXT: "kind": "parameter",
# CHECK-NEXT: "label": "bar: ",
# CHECK-NEXT: "position": {
# CHECK-NEXT: "character": 12,
# CHECK-NEXT: "line": 1
# CHECK-NEXT: },
# CHECK-NEXT: "range": {
# CHECK-NEXT: "end": {
# CHECK-NEXT: "character": 14,
# CHECK-NEXT: "line": 1
# CHECK-NEXT: },
# CHECK-NEXT: "start": {
# CHECK-NEXT: "character": 12,
# CHECK-NEXT: "line": 1
# CHECK-NEXT: }
# CHECK-NEXT: }
# CHECK-NEXT: }
# CHECK-NEXT: ]
# CHECK-NEXT:}
---
{"jsonrpc":"2.0","id":2,"method":"textDocument/inlayHint","params":{
"textDocument":{"uri":"test:///main.cpp"},
"range":{
"start": {"line":1,"character":0},
"end": {"line":2,"character":0}
}
}}
# CHECK: "id": 2,
# CHECK-NEXT: "jsonrpc": "2.0",
# CHECK-NEXT: "result": [
# CHECK-NEXT: {
# CHECK-NEXT: "kind": 2,
# CHECK-NEXT: "label": [
# CHECK-NEXT: {
# CHECK-NEXT: "value": "bar:"
# CHECK-NEXT: }
# CHECK-NEXT: ],
# CHECK-NEXT: "paddingLeft": false,
# CHECK-NEXT: "paddingRight": true,
# CHECK-NEXT: "position": {
# CHECK-NEXT: "character": 12,
# CHECK-NEXT: "line": 1
# CHECK-NEXT: }
# CHECK-NEXT: }
# CHECK-NEXT: ]
# CHECK-NEXT:}
---
{"jsonrpc":"2.0","id":100,"method":"shutdown"}
---
{"jsonrpc":"2.0","method":"exit"}