1*6187178eSRiver Riddle// RUN: mlir-pdll-lsp-server -lit-test < %s | FileCheck -strict-whitespace %s 2*6187178eSRiver Riddle{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootPath":"pdll","capabilities":{},"trace":"off"}} 3*6187178eSRiver Riddle// ----- 4*6187178eSRiver Riddle{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{ 5*6187178eSRiver Riddle "uri":"test:///foo.pdll", 6*6187178eSRiver Riddle "languageId":"pdll", 7*6187178eSRiver Riddle "version":1, 8*6187178eSRiver Riddle "text":"Pattern => replace with ;" 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": "expected expression", 16*6187178eSRiver Riddle// CHECK-NEXT: "range": { 17*6187178eSRiver Riddle// CHECK-NEXT: "end": { 18*6187178eSRiver Riddle// CHECK-NEXT: "character": 23, 19*6187178eSRiver Riddle// CHECK-NEXT: "line": 0 20*6187178eSRiver Riddle// CHECK-NEXT: }, 21*6187178eSRiver Riddle// CHECK-NEXT: "start": { 22*6187178eSRiver Riddle// CHECK-NEXT: "character": 19, 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": "pdll" 28*6187178eSRiver Riddle// CHECK-NEXT: } 29*6187178eSRiver Riddle// CHECK-NEXT: ], 30*6187178eSRiver Riddle// CHECK-NEXT: "uri": "test:///foo.pdll", 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.pdll", 36*6187178eSRiver Riddle "version":2 37*6187178eSRiver Riddle}, "contentChanges": [{ 38*6187178eSRiver Riddle "range":{ 39*6187178eSRiver Riddle "start":{"line":0,"character":18}, 40*6187178eSRiver Riddle "end":{"line":0,"character":18} 41*6187178eSRiver Riddle }, 42*6187178eSRiver Riddle "text": " op<test.op>" 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 expression", 50*6187178eSRiver Riddle// CHECK-NEXT: "range": { 51*6187178eSRiver Riddle// CHECK-NEXT: "end": { 52*6187178eSRiver Riddle// CHECK-NEXT: "character": 37, 53*6187178eSRiver Riddle// CHECK-NEXT: "line": 0 54*6187178eSRiver Riddle// CHECK-NEXT: }, 55*6187178eSRiver Riddle// CHECK-NEXT: "start": { 56*6187178eSRiver Riddle// CHECK-NEXT: "character": 36, 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": "pdll" 62*6187178eSRiver Riddle// CHECK-NEXT: } 63*6187178eSRiver Riddle// CHECK-NEXT: ], 64*6187178eSRiver Riddle// CHECK-NEXT: "uri": "test:///foo.pdll", 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.pdll", 70*6187178eSRiver Riddle "version":3 71*6187178eSRiver Riddle}, "contentChanges": [ 72*6187178eSRiver Riddle { 73*6187178eSRiver Riddle "range":{ 74*6187178eSRiver Riddle "start":{"line":0,"character":30}, 75*6187178eSRiver Riddle "end":{"line":0,"character":30} 76*6187178eSRiver Riddle }, 77*6187178eSRiver Riddle "text": "(values: ValueRange)" 78*6187178eSRiver Riddle }, 79*6187178eSRiver Riddle { 80*6187178eSRiver Riddle "range":{ 81*6187178eSRiver Riddle "start":{"line":0,"character":56}, 82*6187178eSRiver Riddle "end":{"line":0,"character":57} 83*6187178eSRiver Riddle }, 84*6187178eSRiver Riddle "text": "values;" 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.pdll", 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