brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · e5e8b74 Raw
88 lines · plain
1# RUN: clangd -lit-test < %s | FileCheck -strict-whitespace %s -implicit-check-not=semanticHighlight2# Send capabilities for both Theia semanticHighlight & standard semanticTokens.3# clangd should not use/acknowledge the Theia protocol.4{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"capabilities":{"textDocument":{5  "semanticHighlightingCapabilities":{"semanticHighlighting":true},6  "semanticTokens":{"dynamicRegistration":true}7}}}}8---9{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{10  "uri": "test:///foo.cpp",11  "languageId": "cpp",12  "text": "int x = 2;"13}}}14---15# Non-incremental token request.16{"jsonrpc":"2.0","id":1,"method":"textDocument/semanticTokens/full","params":{"textDocument":{"uri":"test:///foo.cpp"}}}17# CHECK:       "id": 1,18# CHECK-NEXT:  "jsonrpc": "2.0",19# CHECK-NEXT:  "result": {20# CHECK-NEXT:    "data": [21#                  First line, char 5, variable, declaration+globalScope22# CHECK-NEXT:      0,23# CHECK-NEXT:      4,24# CHECK-NEXT:      1,25# CHECK-NEXT:      0,26# CHECK-NEXT:      13107527# CHECK-NEXT:    ],28# CHECK-NEXT:    "resultId": "1"29# CHECK-NEXT:  }30---31{"jsonrpc":"2.0","method":"textDocument/didChange","params":{32  "textDocument": {"uri":"test:///foo.cpp","version":2},33  "contentChanges":[{"text":"int x = 2;\nint y = 3;"}]34}}35---36# Incremental token request, based on previous response.37{"jsonrpc":"2.0","id":2,"method":"textDocument/semanticTokens/full/delta","params":{38  "textDocument": {"uri":"test:///foo.cpp"},39  "previousResultId": "1"40}}41# CHECK:       "id": 2,42# CHECK-NEXT:  "jsonrpc": "2.0",43# CHECK-NEXT:  "result": {44# CHECK-NEXT:    "edits": [45# CHECK-NEXT:      {46# CHECK-NEXT:        "data": [47#                      Next line, char 5, variable, declaration+globalScope48# CHECK-NEXT:          1,49# CHECK-NEXT:          4,50# CHECK-NEXT:          1,51# CHECK-NEXT:          0,52# CHECK-NEXT:          13107553# CHECK-NEXT:        ],54#                    Inserted at position 155# CHECK-NEXT:        "deleteCount": 0,56# CHECK-NEXT:        "start": 557# CHECK-NEXT:      }58# CHECK-NEXT:    ],59# CHECK-NEXT:    "resultId": "2"60# CHECK-NEXT:  }61---62# Incremental token request with incorrect baseline => full tokens list.63{"jsonrpc":"2.0","id":2,"method":"textDocument/semanticTokens/full/delta","params":{64  "textDocument": {"uri":"test:///foo.cpp"},65  "previousResultId": "bogus"66}}67# CHECK:       "id": 2,68# CHECK-NEXT:  "jsonrpc": "2.0",69# CHECK-NEXT:  "result": {70# CHECK-NEXT:    "data": [71# CHECK-NEXT:      0,72# CHECK-NEXT:      4,73# CHECK-NEXT:      1,74# CHECK-NEXT:      0,75# CHECK-NEXT:      131075,76# CHECK-NEXT:      1,77# CHECK-NEXT:      4,78# CHECK-NEXT:      1,79# CHECK-NEXT:      0,80# CHECK-NEXT:      13107581# CHECK-NEXT:    ],82# CHECK-NEXT:    "resultId": "3"83# CHECK-NEXT:  }84---85{"jsonrpc":"2.0","id":3,"method":"shutdown"}86---87{"jsonrpc":"2.0","method":"exit"}88