|
1 | 1 | # RUN: clangd -lit-test < %s | FileCheck -strict-whitespace %s
|
2 | 2 | {"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootPath":"clangd","capabilities":{},"trace":"off"}}
|
3 | 3 | ---
|
4 |
| -{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"test:///main.cpp","languageId":"cpp","version":1,"text":"int x = 0;\nint y = x;"}}} |
| 4 | +{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"test:///main.cpp","languageId":"cpp","version":1,"text":"extern int x;\nint x = 0;\nint y = x;"}}} |
5 | 5 | ---
|
6 |
| -{"jsonrpc":"2.0","id":1,"method":"textDocument/definition","params":{"textDocument":{"uri":"test:///main.cpp"},"position":{"line":1,"character":8}}} |
| 6 | +{"jsonrpc":"2.0","id":1,"method":"textDocument/definition","params":{"textDocument":{"uri":"test:///main.cpp"},"position":{"line":2,"character":8}}} |
7 | 7 | # CHECK: "id": 1,
|
8 | 8 | # CHECK-NEXT: "jsonrpc": "2.0",
|
9 | 9 | # CHECK-NEXT: "result": [
|
10 | 10 | # CHECK-NEXT: {
|
11 | 11 | # CHECK-NEXT: "range": {
|
12 | 12 | # CHECK-NEXT: "end": {
|
13 | 13 | # CHECK-NEXT: "character": 5,
|
14 |
| -# CHECK-NEXT: "line": 0 |
| 14 | +# CHECK-NEXT: "line": 1 |
15 | 15 | # CHECK-NEXT: },
|
16 | 16 | # CHECK-NEXT: "start": {
|
17 | 17 | # CHECK-NEXT: "character": 4,
|
| 18 | +# CHECK-NEXT: "line": 1 |
| 19 | +# CHECK-NEXT: } |
| 20 | +# CHECK-NEXT: }, |
| 21 | +# CHECK-NEXT: "uri": "file://{{.*}}/{{([A-Z]:/)?}}main.cpp" |
| 22 | +# CHECK-NEXT: } |
| 23 | +# CHECK-NEXT: ] |
| 24 | +--- |
| 25 | +# Toggle: we're on the definition, so jump to the declaration. |
| 26 | +{"jsonrpc":"2.0","id":1,"method":"textDocument/definition","params":{"textDocument":{"uri":"test:///main.cpp"},"position":{"line":1,"character":4}}} |
| 27 | +# CHECK: "id": 1, |
| 28 | +# CHECK-NEXT: "jsonrpc": "2.0", |
| 29 | +# CHECK-NEXT: "result": [ |
| 30 | +# CHECK-NEXT: { |
| 31 | +# CHECK-NEXT: "range": { |
| 32 | +# CHECK-NEXT: "end": { |
| 33 | +# CHECK-NEXT: "character": 12, |
| 34 | +# CHECK-NEXT: "line": 0 |
| 35 | +# CHECK-NEXT: }, |
| 36 | +# CHECK-NEXT: "start": { |
| 37 | +# CHECK-NEXT: "character": 11, |
18 | 38 | # CHECK-NEXT: "line": 0
|
19 | 39 | # CHECK-NEXT: }
|
20 | 40 | # CHECK-NEXT: },
|
21 | 41 | # CHECK-NEXT: "uri": "file://{{.*}}/{{([A-Z]:/)?}}main.cpp"
|
22 | 42 | # CHECK-NEXT: }
|
23 | 43 | # CHECK-NEXT: ]
|
24 | 44 | ---
|
25 |
| -{"jsonrpc":"2.0","id":1,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"test:///main.cpp"},"position":{"line":1,"character":8}}} |
| 45 | +{"jsonrpc":"2.0","id":1,"method":"textDocument/documentHighlight","params":{"textDocument":{"uri":"test:///main.cpp"},"position":{"line":2,"character":8}}} |
26 | 46 | # CHECK: "id": 1
|
27 | 47 | # CHECK-NEXT: "jsonrpc": "2.0",
|
28 | 48 | # CHECK-NEXT: "result": [
|
29 | 49 | # CHECK-NEXT: {
|
30 | 50 | # CHECK-NEXT: "kind": 1,
|
31 | 51 | # CHECK-NEXT: "range": {
|
32 | 52 | # CHECK-NEXT: "end": {
|
33 |
| -# CHECK-NEXT: "character": 5, |
| 53 | +# CHECK-NEXT: "character": 12, |
34 | 54 | # CHECK-NEXT: "line": 0
|
35 | 55 | # CHECK-NEXT: },
|
36 | 56 | # CHECK-NEXT: "start": {
|
37 |
| -# CHECK-NEXT: "character": 4, |
| 57 | +# CHECK-NEXT: "character": 11, |
38 | 58 | # CHECK-NEXT: "line": 0
|
39 | 59 | # CHECK-NEXT: }
|
40 | 60 | # CHECK-NEXT: }
|
41 | 61 | # CHECK-NEXT: },
|
42 | 62 | # CHECK-NEXT: {
|
| 63 | +# CHECK-NEXT: "kind": 1, |
| 64 | +# CHECK-NEXT: "range": { |
| 65 | +# CHECK-NEXT: "end": { |
| 66 | +# CHECK-NEXT: "character": 5, |
| 67 | +# CHECK-NEXT: "line": 1 |
| 68 | +# CHECK-NEXT: }, |
| 69 | +# CHECK-NEXT: "start": { |
| 70 | +# CHECK-NEXT: "character": 4, |
| 71 | +# CHECK-NEXT: "line": 1 |
| 72 | +# CHECK-NEXT: } |
| 73 | +# CHECK-NEXT: } |
| 74 | +# CHECK-NEXT: }, |
| 75 | +# CHECK-NEXT: { |
43 | 76 | # CHECK-NEXT: "kind": 2,
|
44 | 77 | # CHECK-NEXT: "range": {
|
45 | 78 | # CHECK-NEXT: "end": {
|
46 | 79 | # CHECK-NEXT: "character": 9,
|
47 |
| -# CHECK-NEXT: "line": 1 |
| 80 | +# CHECK-NEXT: "line": 2 |
48 | 81 | # CHECK-NEXT: },
|
49 | 82 | # CHECK-NEXT: "start": {
|
50 | 83 | # CHECK-NEXT: "character": 8,
|
51 |
| -# CHECK-NEXT: "line": 1 |
| 84 | +# CHECK-NEXT: "line": 2 |
52 | 85 | # CHECK-NEXT: }
|
53 | 86 | # CHECK-NEXT: }
|
54 | 87 | # CHECK-NEXT: }
|
|
0 commit comments