1*6187178eSRiver Riddle// RUN: tblgen-lsp-server -lit-test < %s | FileCheck -strict-whitespace %s 2*6187178eSRiver Riddle{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootPath":"tablegen","capabilities":{},"trace":"off"}} 3*6187178eSRiver Riddle// ----- 4*6187178eSRiver Riddle{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{ 5*6187178eSRiver Riddle "uri":"test:///foo.td", 6*6187178eSRiver Riddle "languageId":"tablegen", 7*6187178eSRiver Riddle "version":1, 8*6187178eSRiver Riddle "text":"class Foo<>;" 9*6187178eSRiver Riddle}}} 10*6187178eSRiver Riddle// CHECK: "method": "textDocument/publishDiagnostics", 11*6187178eSRiver Riddle// CHECK-NEXT: "params": { 12*6187178eSRiver Riddle// CHECK-NEXT: "diagnostics": [ 13*6187178eSRiver Riddle// CHECK-NEXT: { 14*6187178eSRiver Riddle// CHECK-NEXT: "category": "Parse Error", 15*6187178eSRiver Riddle// CHECK-NEXT: "message": "Unknown token when expecting a type", 16*6187178eSRiver Riddle// CHECK-NEXT: "range": { 17*6187178eSRiver Riddle// CHECK-NEXT: "end": { 18*6187178eSRiver Riddle// CHECK-NEXT: "character": 11, 19*6187178eSRiver Riddle// CHECK-NEXT: "line": 0 20*6187178eSRiver Riddle// CHECK-NEXT: }, 21*6187178eSRiver Riddle// CHECK-NEXT: "start": { 22*6187178eSRiver Riddle// CHECK-NEXT: "character": 10, 23*6187178eSRiver Riddle// CHECK-NEXT: "line": 0 24*6187178eSRiver Riddle// CHECK-NEXT: } 25*6187178eSRiver Riddle// CHECK-NEXT: }, 26*6187178eSRiver Riddle// CHECK-NEXT: "severity": 1, 27*6187178eSRiver Riddle// CHECK-NEXT: "source": "tablegen" 28*6187178eSRiver Riddle// CHECK-NEXT: } 29*6187178eSRiver Riddle// CHECK-NEXT: ], 30*6187178eSRiver Riddle// CHECK-NEXT: "uri": "test:///foo.td", 31*6187178eSRiver Riddle// CHECK-NEXT: "version": 1 32*6187178eSRiver Riddle// CHECK-NEXT: } 33*6187178eSRiver Riddle// ----- 34*6187178eSRiver Riddle{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{ 35*6187178eSRiver Riddle "uri":"test:///foo.td", 36*6187178eSRiver Riddle "version":2 37*6187178eSRiver Riddle}, "contentChanges": [{ 38*6187178eSRiver Riddle "range":{ 39*6187178eSRiver Riddle "start":{"line":0,"character":10}, 40*6187178eSRiver Riddle "end":{"line":0,"character":10} 41*6187178eSRiver Riddle }, 42*6187178eSRiver Riddle "text": "int" 43*6187178eSRiver Riddle}]}} 44*6187178eSRiver Riddle// CHECK: "method": "textDocument/publishDiagnostics", 45*6187178eSRiver Riddle// CHECK-NEXT: "params": { 46*6187178eSRiver Riddle// CHECK-NEXT: "diagnostics": [ 47*6187178eSRiver Riddle// CHECK-NEXT: { 48*6187178eSRiver Riddle// CHECK-NEXT: "category": "Parse Error", 49*6187178eSRiver Riddle// CHECK-NEXT: "message": "Expected identifier in declaration", 50*6187178eSRiver Riddle// CHECK-NEXT: "range": { 51*6187178eSRiver Riddle// CHECK-NEXT: "end": { 52*6187178eSRiver Riddle// CHECK-NEXT: "character": 14, 53*6187178eSRiver Riddle// CHECK-NEXT: "line": 0 54*6187178eSRiver Riddle// CHECK-NEXT: }, 55*6187178eSRiver Riddle// CHECK-NEXT: "start": { 56*6187178eSRiver Riddle// CHECK-NEXT: "character": 13, 57*6187178eSRiver Riddle// CHECK-NEXT: "line": 0 58*6187178eSRiver Riddle// CHECK-NEXT: } 59*6187178eSRiver Riddle// CHECK-NEXT: }, 60*6187178eSRiver Riddle// CHECK-NEXT: "severity": 1, 61*6187178eSRiver Riddle// CHECK-NEXT: "source": "tablegen" 62*6187178eSRiver Riddle// CHECK-NEXT: } 63*6187178eSRiver Riddle// CHECK-NEXT: ], 64*6187178eSRiver Riddle// CHECK-NEXT: "uri": "test:///foo.td", 65*6187178eSRiver Riddle// CHECK-NEXT: "version": 2 66*6187178eSRiver Riddle// CHECK-NEXT: } 67*6187178eSRiver Riddle// ----- 68*6187178eSRiver Riddle{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{ 69*6187178eSRiver Riddle "uri":"test:///foo.td", 70*6187178eSRiver Riddle "version":3 71*6187178eSRiver Riddle}, "contentChanges": [ 72*6187178eSRiver Riddle { 73*6187178eSRiver Riddle "range":{ 74*6187178eSRiver Riddle "start":{"line":0,"character":13}, 75*6187178eSRiver Riddle "end":{"line":0,"character":13} 76*6187178eSRiver Riddle }, 77*6187178eSRiver Riddle "text": " i" 78*6187178eSRiver Riddle }, 79*6187178eSRiver Riddle { 80*6187178eSRiver Riddle "range":{ 81*6187178eSRiver Riddle "start":{"line":0,"character":15}, 82*6187178eSRiver Riddle "end":{"line":0,"character":17} 83*6187178eSRiver Riddle }, 84*6187178eSRiver Riddle "text": "> { int x = i; }" 85*6187178eSRiver Riddle } 86*6187178eSRiver Riddle]}} 87*6187178eSRiver Riddle// CHECK: "method": "textDocument/publishDiagnostics", 88*6187178eSRiver Riddle// CHECK-NEXT: "params": { 89*6187178eSRiver Riddle// CHECK-NEXT: "diagnostics": [], 90*6187178eSRiver Riddle// CHECK-NEXT: "uri": "test:///foo.td", 91*6187178eSRiver Riddle// CHECK-NEXT: "version": 3 92*6187178eSRiver Riddle// CHECK-NEXT: } 93*6187178eSRiver Riddle// ----- 94*6187178eSRiver Riddle{"jsonrpc":"2.0","id":3,"method":"shutdown"} 95*6187178eSRiver Riddle// ----- 96*6187178eSRiver Riddle{"jsonrpc":"2.0","method":"exit"} 97