// RUN: mlir-pdll-lsp-server -lit-test < %s | FileCheck -strict-whitespace %s {"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootPath":"pdll","capabilities":{},"trace":"off"}} // ----- {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{ "uri":"test:///foo.pdll", "languageId":"pdll", "version":1, "text":"Pattern => replace with ;" }}} // CHECK: "method": "textDocument/publishDiagnostics", // CHECK-NEXT: "params": { // CHECK-NEXT: "diagnostics": [ // CHECK-NEXT: { // CHECK-NEXT: "category": "Parse Error", // CHECK-NEXT: "message": "expected expression", // CHECK-NEXT: "range": { // CHECK-NEXT: "end": { // CHECK-NEXT: "character": 23, // CHECK-NEXT: "line": 0 // CHECK-NEXT: }, // CHECK-NEXT: "start": { // CHECK-NEXT: "character": 19, // CHECK-NEXT: "line": 0 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "severity": 1, // CHECK-NEXT: "source": "pdll" // CHECK-NEXT: } // CHECK-NEXT: ], // CHECK-NEXT: "uri": "test:///foo.pdll", // CHECK-NEXT: "version": 1 // CHECK-NEXT: } // ----- {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{ "uri":"test:///foo.pdll", "version":2 }, "contentChanges": [{ "range":{ "start":{"line":0,"character":18}, "end":{"line":0,"character":18} }, "text": " op" }]}} // CHECK: "method": "textDocument/publishDiagnostics", // CHECK-NEXT: "params": { // CHECK-NEXT: "diagnostics": [ // CHECK-NEXT: { // CHECK-NEXT: "category": "Parse Error", // CHECK-NEXT: "message": "expected expression", // CHECK-NEXT: "range": { // CHECK-NEXT: "end": { // CHECK-NEXT: "character": 37, // CHECK-NEXT: "line": 0 // CHECK-NEXT: }, // CHECK-NEXT: "start": { // CHECK-NEXT: "character": 36, // CHECK-NEXT: "line": 0 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "severity": 1, // CHECK-NEXT: "source": "pdll" // CHECK-NEXT: } // CHECK-NEXT: ], // CHECK-NEXT: "uri": "test:///foo.pdll", // CHECK-NEXT: "version": 2 // CHECK-NEXT: } // ----- {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{ "uri":"test:///foo.pdll", "version":3 }, "contentChanges": [ { "range":{ "start":{"line":0,"character":30}, "end":{"line":0,"character":30} }, "text": "(values: ValueRange)" }, { "range":{ "start":{"line":0,"character":56}, "end":{"line":0,"character":57} }, "text": "values;" } ]}} // CHECK: "method": "textDocument/publishDiagnostics", // CHECK-NEXT: "params": { // CHECK-NEXT: "diagnostics": [], // CHECK-NEXT: "uri": "test:///foo.pdll", // CHECK-NEXT: "version": 3 // CHECK-NEXT: } // ----- {"jsonrpc":"2.0","id":3,"method":"shutdown"} // ----- {"jsonrpc":"2.0","method":"exit"}