xref: /llvm-project/mlir/test/mlir-pdll-lsp-server/textdocument-didchange.test (revision 6187178e832c36639f1dee4f718c76a90eb91fd0)
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