Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: GPR LS sluggish during editing #1225

Open
brownts opened this issue Dec 4, 2024 · 1 comment
Open

[Bug]: GPR LS sluggish during editing #1225

brownts opened this issue Dec 4, 2024 · 1 comment
Assignees
Labels

Comments

@brownts
Copy link

brownts commented Dec 4, 2024

Environment

  • OS and Version: Windows 10, Linux
  • IDE Version: VSCode 1.95.3, Emacs 30
  • Ada & SPARK Extension Version: 26.0.202411173 and older

Bug Summary and Reproducer

Bug Summary:

During active editing of a GPR file, it seems the LS lags behind processing all of the intermediate edits such that it's responsiveness becomes very noticeable. The screen capture (in the "Additional Context" section) and log shows an example of typing a "package" skeleton and then waiting for a completion response for an attribute declaration, which takes nearly 8 seconds before a response is provided. In more complex GPR files I've seen completion timeout and not function at all.

Steps to reproduce:

Perform normal modifications of the GPR file and then trigger completion immediately after completing the edits. It should be very noticeable that completion is being delayed by the previous edits.

hello_world.zip

Expected behavior:

I'd expect the LS would not be bogged down processing previous versions of the file which were only transitional to get to the point where completion is requested. This provides an unappealing user experience where requests sent to the server can be delayed significantly or caused to timeout due to this.

Configuration and Logs

[ALS.MAIN] ALS version: 26.0w (20241117) (08:05:16.860)
[ALS.MAIN] Initializing server ... (08:05:16.860)
[ALS.MAIN] GPR PATH:  (08:05:16.860)
[ALS.MAIN] PATH: /home/troy/.cargo/bin:/home/troy/bin:/home/troy/.local/bin:/home/troy/.cargo/bin:/home/troy/bin:/home/troy/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-10-oracle/bin:/usr/lib/jvm/java-10-oracle/db/bin:/usr/lib/jvm/java-10-oracle/bin:/usr/lib/jvm/java-10-oracle/db/bin (08:05:16.860)
[ALS.IN] {"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":1828064,"clientInfo":{"name":"Visual Studio Code","version":"1.95.3"},"locale":"en","rootPath":"/home/troy/ada/hello_world","rootUri":"file:///home/troy/ada/hello_world","capabilities":{"workspace":{"applyEdit":true,"workspaceEdit":{"documentChanges":true,"resourceOperations":["create","rename","delete"],"failureHandling":"textOnlyTransactional","normalizesLineEndings":true,"changeAnnotationSupport":{"groupsOnLabel":true}},"configuration":true,"didChangeWatchedFiles":{"dynamicRegistration":true,"relativePatternSupport":true},"symbol":{"dynamicRegistration":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]},"tagSupport":{"valueSet":[1]},"resolveSupport":{"properties":["location.range"]}},"codeLens":{"refreshSupport":true},"executeCommand":{"dynamicRegistration":true},"didChangeConfiguration":{"dynamicRegistration":true},"workspaceFolders":true,"foldingRange":{"refreshSupport":true},"semanticTokens":{"refreshSupport":true},"fileOperations":{"dynamicRegistration":true,"didCreate":true,"didRename":true,"didDelete":true,"willCreate":true,"willRename":true,"willDelete":true},"inlineValue":{"refreshSupport":true},"inlayHint":{"refreshSupport":true},"diagnostics":{"refreshSupport":true}},"textDocument":{"publishDiagnostics":{"relatedInformation":true,"versionSupport":false,"tagSupport":{"valueSet":[1,2]},"codeDescriptionSupport":true,"dataSupport":true},"synchronization":{"dynamicRegistration":true,"willSave":true,"willSaveWaitUntil":true,"didSave":true},"completion":{"dynamicRegistration":true,"contextSupport":true,"completionItem":{"snippetSupport":true,"commitCharactersSupport":true,"documentationFormat":["markdown","plaintext"],"deprecatedSupport":true,"preselectSupport":true,"tagSupport":{"valueSet":[1]},"insertReplaceSupport":true,"resolveSupport":{"properties":["documentation","detail","additionalTextEdits"]},"insertTextModeSupport":{"valueSet":[1,2]},"labelDetailsSupport":true},"insertTextMode":2,"completionItemKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]},"completionList":{"itemDefaults":["commitCharacters","editRange","insertTextFormat","insertTextMode","data"]}},"hover":{"dynamicRegistration":true,"contentFormat":["markdown","plaintext"]},"signatureHelp":{"dynamicRegistration":true,"signatureInformation":{"documentationFormat":["markdown","plaintext"],"parameterInformation":{"labelOffsetSupport":true},"activeParameterSupport":true},"contextSupport":true},"definition":{"dynamicRegistration":true,"linkSupport":true},"references":{"dynamicRegistration":true},"documentHighlight":{"dynamicRegistration":true},"documentSymbol":{"dynamicRegistration":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]},"hierarchicalDocumentSymbolSupport":true,"tagSupport":{"valueSet":[1]},"labelSupport":true},"codeAction":{"dynamicRegistration":true,"isPreferredSupport":true,"disabledSupport":true,"dataSupport":true,"resolveSupport":{"properties":["edit"]},"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}},"honorsChangeAnnotations":true},"codeLens":{"dynamicRegistration":true},"formatting":{"dynamicRegistration":true},"rangeFormatting":{"dynamicRegistration":true,"rangesSupport":true},"onTypeFormatting":{"dynamicRegistration":true},"rename":{"dynamicRegistration":true,"prepareSupport":true,"prepareSupportDefaultBehavior":1,"honorsChangeAnnotations":true},"documentLink":{"dynamicRegistration":true,"tooltipSupport":true},"typeDefinition":{"dynamicRegistration":true,"linkSupport":true},"implementation":{"dynamicRegistration":true,"linkSupport":true},"colorProvider":{"dynamicRegistration":true},"foldingRange":{"dynamicRegistration":true,"rangeLimit":5000,"lineFoldingOnly":true,"foldingRangeKind":{"valueSet":["comment","imports","region"]},"foldingRange":{"collapsedText":false}},"declaration":{"dynamicRegistration":true,"linkSupport":true},"selectionRange":{"dynamicRegistration":true},"callHierarchy":{"dynamicRegistration":true},"semanticTokens":{"dynamicRegistration":true,"tokenTypes":["namespace","type","class","enum","interface","struct","typeParameter","parameter","variable","property","enumMember","event","function","method","macro","keyword","modifier","comment","string","number","regexp","operator","decorator"],"tokenModifiers":["declaration","definition","readonly","static","deprecated","abstract","async","modification","documentation","defaultLibrary"],"formats":["relative"],"requests":{"range":true,"full":{"delta":true}},"multilineTokenSupport":false,"overlappingTokenSupport":false,"serverCancelSupport":true,"augmentsSyntaxTokens":true},"linkedEditingRange":{"dynamicRegistration":true},"typeHierarchy":{"dynamicRegistration":true},"inlineValue":{"dynamicRegistration":true},"inlayHint":{"dynamicRegistration":true,"resolveSupport":{"properties":["tooltip","textEdits","label.tooltip","label.location","label.command"]}},"diagnostic":{"dynamicRegistration":true,"relatedDocumentSupport":false}},"window":{"showMessage":{"messageActionItem":{"additionalPropertiesSupport":true}},"showDocument":{"support":true},"workDoneProgress":true},"general":{"staleRequestSupport":{"cancel":true,"retryOnContentModified":["textDocument/semanticTokens/full","textDocument/semanticTokens/range","textDocument/semanticTokens/full/delta"]},"regularExpressions":{"engine":"ECMAScript","version":"ES2020"},"markdown":{"parser":"marked","version":"1.1.0"},"positionEncodings":["utf-16"]},"notebookDocument":{"synchronization":{"dynamicRegistration":true,"executionSummarySupport":true}}},"trace":"verbose","workspaceFolders":[{"uri":"file:///home/troy/ada/hello_world","name":"hello_world"}]}} (08:05:16.861)
[ALS.OUT] {"jsonrpc":"2.0","id":0,"result":{"capabilities":{"textDocumentSync":{"openClose":true,"change":1},"completionProvider":{"triggerCharacters":[" ",".","'"],"resolveProvider":true},"hoverProvider":true,"declarationProvider":true,"definitionProvider":true,"documentSymbolProvider":{}}}} (08:05:16.865)
[ALS.IN] {"jsonrpc":"2.0","method":"initialized","params":{}} (08:05:16.869)
[ALS.IN] {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","languageId":"gpr","version":1,"text":"project Hello_World is\n  for Main use (\"hello_world.adb\");\n  for Source_Dirs use (\".\");\n  for Object_Dir use \"obj\";\n  for Create_Missing_Dirs use \"true\";\nend Hello_World;\n"}}} (08:05:16.876)
[ALS.MAIN] In Text_Document_Did_Open (08:05:16.877)
[ALS.MAIN] Uri : file:///home/troy/ada/hello_world/hello_world.gpr (08:05:16.877)
[ALS.IN] {"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{"ada":{"projectFile":"hello_world.gpr","scenarioVariables":{},"projectDiagnostics":true,"defaultCharset":"iso-8859-1","relocateBuildTree":"","rootDir":"","useGnatformat":true,"onTypeFormatting":{"indentOnly":true},"documentationStyle":"gnat","displayMethodAncestryOnNavigation":"usage_and_abstract_only","enableDiagnostics":true,"foldComments":true,"namedNotationThreshold":3,"useCompletionSnippets":false,"insertWithClauses":false,"renameInComments":false,"enableIndexing":true,"followSymlinks":true,"trace":{"server":"verbose"}}}}} (08:05:16.877)
[ALS.IN] {"jsonrpc":"2.0","method":"$/setTrace","params":{"value":"verbose"}} (08:05:17.039)
[ALS.IN] {"jsonrpc":"2.0","id":1,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr"}}} (08:05:17.308)
[ALS.IN] {"jsonrpc":"2.0","method":"$/setTrace","params":{"value":"verbose"}} (08:05:18.258)
[ALS.IN] {"jsonrpc":"2.0","method":"$/setTrace","params":{"value":"verbose"}} (08:05:18.258)
[ALS.IN] {"jsonrpc":"2.0","method":"$/setTrace","params":{"value":"verbose"}} (08:05:18.258)
[ALS.IN] {"jsonrpc":"2.0","method":"$/setTrace","params":{"value":"verbose"}} (08:05:18.531)
[ALS.IN] {"jsonrpc":"2.0","id":2,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr"}}} (08:05:18.550)
[ALS.MAIN] Finished Text_Document_Did_Open (08:05:19.181)
[ALS.OUT] {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","diagnostics":[]}} (08:05:19.181)
[ALS.OUT] {"jsonrpc":"2.0","id":1,"result":[{"name":"Hello_World","kind":2,"range":{"start":{"line":0,"character":0},"end":{"line":0,"character":7}},"selectionRange":{"start":{"line":0,"character":0},"end":{"line":0,"character":7}},"children":[{"name":"Main","kind":7,"range":{"start":{"line":1,"character":6},"end":{"line":1,"character":10}},"selectionRange":{"start":{"line":1,"character":6},"end":{"line":1,"character":10}}},{"name":"Source_Dirs","kind":7,"range":{"start":{"line":2,"character":6},"end":{"line":2,"character":17}},"selectionRange":{"start":{"line":2,"character":6},"end":{"line":2,"character":17}}},{"name":"Object_Dir","kind":7,"range":{"start":{"line":3,"character":6},"end":{"line":3,"character":16}},"selectionRange":{"start":{"line":3,"character":6},"end":{"line":3,"character":16}}},{"name":"Create_Missing_Dirs","kind":7,"range":{"start":{"line":4,"character":6},"end":{"line":4,"character":25}},"selectionRange":{"start":{"line":4,"character":6},"end":{"line":4,"character":25}}}]}]} (08:05:21.155)
[ALS.OUT] {"jsonrpc":"2.0","id":2,"result":[{"name":"Hello_World","kind":2,"range":{"start":{"line":0,"character":0},"end":{"line":0,"character":7}},"selectionRange":{"start":{"line":0,"character":0},"end":{"line":0,"character":7}},"children":[{"name":"Main","kind":7,"range":{"start":{"line":1,"character":6},"end":{"line":1,"character":10}},"selectionRange":{"start":{"line":1,"character":6},"end":{"line":1,"character":10}}},{"name":"Source_Dirs","kind":7,"range":{"start":{"line":2,"character":6},"end":{"line":2,"character":17}},"selectionRange":{"start":{"line":2,"character":6},"end":{"line":2,"character":17}}},{"name":"Object_Dir","kind":7,"range":{"start":{"line":3,"character":6},"end":{"line":3,"character":16}},"selectionRange":{"start":{"line":3,"character":6},"end":{"line":3,"character":16}}},{"name":"Create_Missing_Dirs","kind":7,"range":{"start":{"line":4,"character":6},"end":{"line":4,"character":25}},"selectionRange":{"start":{"line":4,"character":6},"end":{"line":4,"character":25}}}]}]} (08:05:21.155)
[ALS.IN] {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","version":2},"contentChanges":[{"text":"project Hello_World is\n  for Main use (\"hello_world.adb\");\n  for Source_Dirs use (\".\");\n  for Object_Dir use \"obj\";\n  for Create_Missing_Dirs use \"true\";\n  \nend Hello_World;\n"}]}} (08:05:32.672)
[ALS.IN] {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","version":3},"contentChanges":[{"text":"project Hello_World is\n  for Main use (\"hello_world.adb\");\n  for Source_Dirs use (\".\");\n  for Object_Dir use \"obj\";\n  for Create_Missing_Dirs use \"true\";\n\n  \nend Hello_World;\n"}]}} (08:05:32.967)
[ALS.IN] {"jsonrpc":"2.0","id":3,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr"}}} (08:05:33.069)
[ALS.IN] {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","version":4},"contentChanges":[{"text":"project Hello_World is\n  for Main use (\"hello_world.adb\");\n  for Source_Dirs use (\".\");\n  for Object_Dir use \"obj\";\n  for Create_Missing_Dirs use \"true\";\n\n  p\nend Hello_World;\n"}]}} (08:05:33.405)
[ALS.IN] {"jsonrpc":"2.0","id":4,"method":"textDocument/completion","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr"},"position":{"line":6,"character":3},"context":{"triggerKind":1}}} (08:05:33.406)
[ALS.IN] {"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":3}} (08:05:33.444)
[ALS.IN] {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","version":8},"contentChanges":[{"text":"project Hello_World is\n  for Main use (\"hello_world.adb\");\n  for Source_Dirs use (\".\");\n  for Object_Dir use \"obj\";\n  for Create_Missing_Dirs use \"true\";\n\n  packa\nend Hello_World;\n"}]}} (08:05:34.063)
[ALS.IN] {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","version":9},"contentChanges":[{"text":"project Hello_World is\n  for Main use (\"hello_world.adb\");\n  for Source_Dirs use (\".\");\n  for Object_Dir use \"obj\";\n  for Create_Missing_Dirs use \"true\";\n\n  packag\nend Hello_World;\n"}]}} (08:05:34.166)
[ALS.IN] {"jsonrpc":"2.0","id":5,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr"}}} (08:05:34.166)
[ALS.IN] {"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":5}} (08:05:34.206)
[ALS.IN] {"jsonrpc":"2.0","id":6,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr"}}} (08:05:34.507)
[ALS.OUT] {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","diagnostics":[]}} (08:05:34.621)
[ALS.IN] {"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":6}} (08:05:34.667)
[ALS.IN] {"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":4}} (08:05:34.699)
[ALS.IN] {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","version":11},"contentChanges":[{"text":"project Hello_World is\n  for Main use (\"hello_world.adb\");\n  for Source_Dirs use (\".\");\n  for Object_Dir use \"obj\";\n  for Create_Missing_Dirs use \"true\";\n\n  package \nend Hello_World;\n"}]}} (08:05:34.700)
[ALS.IN] {"jsonrpc":"2.0","id":7,"method":"textDocument/completion","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr"},"position":{"line":6,"character":10},"context":{"triggerKind":2,"triggerCharacter":" "}}} (08:05:34.701)
[ALS.IN] {"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":7}} (08:05:35.886)
[ALS.IN] {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","version":20},"contentChanges":[{"text":"project Hello_World is\n  for Main use (\"hello_world.adb\");\n  for Source_Dirs use (\".\");\n  for Object_Dir use \"obj\";\n  for Create_Missing_Dirs use \"true\";\n\n  package Compiler \nend Hello_World;\n"}]}} (08:05:35.887)
[ALS.IN] {"jsonrpc":"2.0","id":8,"method":"textDocument/completion","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr"},"position":{"line":6,"character":19},"context":{"triggerKind":2,"triggerCharacter":" "}}} (08:05:35.887)
[ALS.IN] {"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":8}} (08:05:36.271)
[ALS.OUT] {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","diagnostics":[]}} (08:05:36.507)
[ALS.OUT] {"jsonrpc":"2.0","id":3,"error":{"code":-32800,"message":"Request was canceled"}} (08:05:36.507)
[ALS.IN] {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","version":23},"contentChanges":[{"text":"project Hello_World is\n  for Main use (\"hello_world.adb\");\n  for Source_Dirs use (\".\");\n  for Object_Dir use \"obj\";\n  for Create_Missing_Dirs use \"true\";\n\n  package Compiler is\n  \nend Hello_World;\n"}]}} (08:05:36.517)
[ALS.IN] {"jsonrpc":"2.0","id":9,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr"}}} (08:05:36.620)
[ALS.IN] {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","version":24},"contentChanges":[{"text":"project Hello_World is\n  for Main use (\"hello_world.adb\");\n  for Source_Dirs use (\".\");\n  for Object_Dir use \"obj\";\n  for Create_Missing_Dirs use \"true\";\n\n  package Compiler is\n  e\nend Hello_World;\n"}]}} (08:05:36.719)
[ALS.IN] {"jsonrpc":"2.0","id":10,"method":"textDocument/completion","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr"},"position":{"line":7,"character":3},"context":{"triggerKind":1}}} (08:05:36.719)
[ALS.IN] {"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":9}} (08:05:36.759)
[ALS.MAIN] hello_world.gpr:8:01: error: Expected ':=', got 'end' (08:05:36.773)
[ALS.OUT] {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","diagnostics":[{"range":{"start":{"line":7,"character":0},"end":{"line":7,"character":0}},"severity":1,"source":"project","message":"Expected ':=', got 'end'"}]}} (08:05:36.774)
[ALS.OUT] {"jsonrpc":"2.0","id":4,"error":{"code":-32800,"message":"Request was canceled"}} (08:05:36.774)
[ALS.IN] {"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":10}} (08:05:36.980)
[ALS.IN] {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","version":27},"contentChanges":[{"text":"project Hello_World is\n  for Main use (\"hello_world.adb\");\n  for Source_Dirs use (\".\");\n  for Object_Dir use \"obj\";\n  for Create_Missing_Dirs use \"true\";\n\n  package Compiler is\n  end \nend Hello_World;\n"}]}} (08:05:36.981)
[ALS.IN] {"jsonrpc":"2.0","id":11,"method":"textDocument/completion","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr"},"position":{"line":7,"character":6},"context":{"triggerKind":2,"triggerCharacter":" "}}} (08:05:36.982)
[ALS.MAIN] hello_world.gpr:8:01: error: Expected ':=', got 'end' (08:05:37.054)
[ALS.OUT] {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","diagnostics":[{"range":{"start":{"line":7,"character":0},"end":{"line":7,"character":0}},"severity":1,"source":"project","message":"Expected ':=', got 'end'"}]}} (08:05:37.055)
[ALS.OUT] {"jsonrpc":"2.0","id":5,"error":{"code":-32800,"message":"Request was canceled"}} (08:05:37.055)
[ALS.OUT] {"jsonrpc":"2.0","id":6,"error":{"code":-32800,"message":"Request was canceled"}} (08:05:37.055)
[ALS.MAIN] hello_world.gpr:8:01: error: Expected Identifier, got 'end' (08:05:37.338)
[ALS.OUT] {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","diagnostics":[{"range":{"start":{"line":7,"character":0},"end":{"line":7,"character":0}},"severity":1,"source":"project","message":"Expected Identifier, got 'end'"}]}} (08:05:37.339)
[ALS.OUT] {"jsonrpc":"2.0","id":7,"error":{"code":-32800,"message":"Request was canceled"}} (08:05:37.339)
[ALS.MAIN] hello_world.gpr:8:01: error: Expected 'is', got 'end' (08:05:37.614)
[ALS.OUT] {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","diagnostics":[{"range":{"start":{"line":7,"character":0},"end":{"line":7,"character":0}},"severity":1,"source":"project","message":"Expected 'is', got 'end'"}]}} (08:05:37.614)
[ALS.OUT] {"jsonrpc":"2.0","id":8,"error":{"code":-32800,"message":"Request was canceled"}} (08:05:37.615)
[ALS.MAIN] hello_world.gpr:10:01: error: Expected 'end', got Termination (08:05:37.895)
[ALS.OUT] {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","diagnostics":[{"range":{"start":{"line":9,"character":0},"end":{"line":9,"character":0}},"severity":1,"source":"project","message":"Expected 'end', got Termination"}]}} (08:05:37.895)
[ALS.OUT] {"jsonrpc":"2.0","id":9,"error":{"code":-32800,"message":"Request was canceled"}} (08:05:37.896)
[ALS.MAIN] hello_world.gpr:9:01: error: Expected ':=', got 'end' (08:05:38.173)
[ALS.OUT] {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","diagnostics":[{"range":{"start":{"line":8,"character":0},"end":{"line":8,"character":0}},"severity":1,"source":"project","message":"Expected ':=', got 'end'"}]}} (08:05:38.174)
[ALS.OUT] {"jsonrpc":"2.0","id":10,"error":{"code":-32800,"message":"Request was canceled"}} (08:05:38.174)
[ALS.IN] {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","version":36},"contentChanges":[{"text":"project Hello_World is\n  for Main use (\"hello_world.adb\");\n  for Source_Dirs use (\".\");\n  for Object_Dir use \"obj\";\n  for Create_Missing_Dirs use \"true\";\n\n  package Compiler is\n  end Compiler;\nend Hello_World;\n"}]}} (08:05:38.392)
[ALS.MAIN] hello_world.gpr:9:01: error: Expected Identifier, got 'end' (08:05:38.444)
[ALS.OUT] {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","diagnostics":[{"range":{"start":{"line":8,"character":0},"end":{"line":8,"character":0}},"severity":1,"source":"project","message":"Expected Identifier, got 'end'"}]}} (08:05:38.445)
[ALS.OUT] {"jsonrpc":"2.0","id":11,"result":{"isIncomplete":false,"items":[]}} (08:05:38.445)
[ALS.IN] {"jsonrpc":"2.0","id":12,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr"}}} (08:05:38.494)
[ALS.IN] {"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":12}} (08:05:39.250)
[ALS.IN] {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","version":37},"contentChanges":[{"text":"project Hello_World is\n  for Main use (\"hello_world.adb\");\n  for Source_Dirs use (\".\");\n  for Object_Dir use \"obj\";\n  for Create_Missing_Dirs use \"true\";\n\n  package Compiler is\n  \n  end Compiler;\nend Hello_World;\n"}]}} (08:05:39.448)
[ALS.IN] {"jsonrpc":"2.0","id":13,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr"}}} (08:05:39.550)
[ALS.IN] {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","version":38},"contentChanges":[{"text":"project Hello_World is\n  for Main use (\"hello_world.adb\");\n  for Source_Dirs use (\".\");\n  for Object_Dir use \"obj\";\n  for Create_Missing_Dirs use \"true\";\n\n  package Compiler is\n   \n  end Compiler;\nend Hello_World;\n"}]}} (08:05:39.578)
[ALS.IN] {"jsonrpc":"2.0","id":14,"method":"textDocument/completion","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr"},"position":{"line":7,"character":3},"context":{"triggerKind":2,"triggerCharacter":" "}}} (08:05:39.579)
[ALS.IN] {"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":13}} (08:05:39.626)
[ALS.IN] {"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":14}} (08:05:39.743)
[ALS.IN] {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","version":39},"contentChanges":[{"text":"project Hello_World is\n  for Main use (\"hello_world.adb\");\n  for Source_Dirs use (\".\");\n  for Object_Dir use \"obj\";\n  for Create_Missing_Dirs use \"true\";\n\n  package Compiler is\n    \n  end Compiler;\nend Hello_World;\n"}]}} (08:05:39.744)
[ALS.IN] {"jsonrpc":"2.0","id":15,"method":"textDocument/completion","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr"},"position":{"line":7,"character":4},"context":{"triggerKind":2,"triggerCharacter":" "}}} (08:05:39.745)
[ALS.IN] {"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":15}} (08:05:39.909)
[ALS.IN] {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","version":40},"contentChanges":[{"text":"project Hello_World is\n  for Main use (\"hello_world.adb\");\n  for Source_Dirs use (\".\");\n  for Object_Dir use \"obj\";\n  for Create_Missing_Dirs use \"true\";\n\n  package Compiler is\n     \n  end Compiler;\nend Hello_World;\n"}]}} (08:05:39.909)
[ALS.IN] {"jsonrpc":"2.0","id":16,"method":"textDocument/completion","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr"},"position":{"line":7,"character":5},"context":{"triggerKind":2,"triggerCharacter":" "}}} (08:05:39.910)
[ALS.IN] {"jsonrpc":"2.0","method":"$/cancelRequest","params":{"id":16}} (08:05:40.324)
[ALS.IN] {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","version":44},"contentChanges":[{"text":"project Hello_World is\n  for Main use (\"hello_world.adb\");\n  for Source_Dirs use (\".\");\n  for Object_Dir use \"obj\";\n  for Create_Missing_Dirs use \"true\";\n\n  package Compiler is\n     for \n  end Compiler;\nend Hello_World;\n"}]}} (08:05:40.325)
[ALS.IN] {"jsonrpc":"2.0","id":17,"method":"textDocument/completion","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr"},"position":{"line":7,"character":9},"context":{"triggerKind":2,"triggerCharacter":" "}}} (08:05:40.325)
[ALS.OUT] {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","diagnostics":[]}} (08:05:40.373)
[ALS.OUT] {"jsonrpc":"2.0","id":12,"error":{"code":-32800,"message":"Request was canceled"}} (08:05:40.373)
[ALS.IN] {"jsonrpc":"2.0","id":18,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr"}}} (08:05:40.672)
[ALS.OUT] {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","diagnostics":[]}} (08:05:42.210)
[ALS.OUT] {"jsonrpc":"2.0","id":13,"error":{"code":-32800,"message":"Request was canceled"}} (08:05:42.210)
[ALS.IN] {"jsonrpc":"2.0","id":19,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr"}}} (08:05:42.974)
[ALS.OUT] {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","diagnostics":[]}} (08:05:44.028)
[ALS.OUT] {"jsonrpc":"2.0","id":14,"error":{"code":-32800,"message":"Request was canceled"}} (08:05:44.028)
[ALS.OUT] {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","diagnostics":[]}} (08:05:45.878)
[ALS.OUT] {"jsonrpc":"2.0","id":15,"error":{"code":-32800,"message":"Request was canceled"}} (08:05:45.878)
[ALS.OUT] {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","diagnostics":[]}} (08:05:47.736)
[ALS.OUT] {"jsonrpc":"2.0","id":16,"error":{"code":-32800,"message":"Request was canceled"}} (08:05:47.737)
[ALS.MAIN] hello_world.gpr:9:03: error: Expected Identifier, got 'end' (08:05:48.012)
[ALS.OUT] {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/troy/ada/hello_world/hello_world.gpr","diagnostics":[{"range":{"start":{"line":8,"character":2},"end":{"line":8,"character":2}},"severity":1,"source":"project","message":"Expected Identifier, got 'end'"}]}} (08:05:48.013)
[ALS.OUT] {"jsonrpc":"2.0","id":17,"result":{"isIncomplete":false,"items":[{"label":"Default_Switches","data":["Compiler","Default_Switches"]},{"label":"Driver","data":["Compiler","Driver"]},{"label":"Required_Switches","data":["Compiler","Required_Switches"]},{"label":"Switches","data":["Compiler","Switches"]},{"label":"Config_Body_File_Name","data":["Compiler","Config_Body_File_Name"]},{"label":"Config_Body_File_Name_Index","data":["Compiler","Config_Body_File_Name_Index"]},{"label":"Config_Body_File_Name_Pattern","data":["Compiler","Config_Body_File_Name_Pattern"]},{"label":"Config_File_Switches","data":["Compiler","Config_File_Switches"]},{"label":"Config_File_Unique","data":["Compiler","Config_File_Unique"]},{"label":"Config_Spec_File_Name","data":["Compiler","Config_Spec_File_Name"]},{"label":"Config_Spec_File_Name_Index","data":["Compiler","Config_Spec_File_Name_Index"]},{"label":"Config_Spec_File_Name_Pattern","data":["Compiler","Config_Spec_File_Name_Pattern"]},{"label":"Dependency_Driver","data":["Compiler","Dependency_Driver"]},{"label":"Dependency_Kind","data":["Compiler","Dependency_Kind"]},{"label":"Dependency_Switches","data":["Compiler","Dependency_Switches"]},{"label":"Include_Path","data":["Compiler","Include_Path"]},{"label":"Include_Path_File","data":["Compiler","Include_Path_File"]},{"label":"Include_Switches","data":["Compiler","Include_Switches"]},{"label":"Include_Switches_Via_Spec","data":["Compiler","Include_Switches_Via_Spec"]},{"label":"Language_Kind","data":["Compiler","Language_Kind"]},{"label":"Leading_Required_Switches","data":["Compiler","Leading_Required_Switches"]},{"label":"Local_Config_File","data":["Compiler","Local_Config_File"]},{"label":"Local_Configuration_Pragmas","data":["Compiler","Local_Configuration_Pragmas"]},{"label":"Mapping_Body_Suffix","data":["Compiler","Mapping_Body_Suffix"]},{"label":"Mapping_File_Switches","data":["Compiler","Mapping_File_Switches"]},{"label":"Mapping_Spec_Suffix","data":["Compiler","Mapping_Spec_Suffix"]},{"label":"Max_Command_Line_Length","data":["Compiler","Max_Command_Line_Length"]},{"label":"Multi_Unit_Object_Separator","data":["Compiler","Multi_Unit_Object_Separator"]},{"label":"Multi_Unit_Switches","data":["Compiler","Multi_Unit_Switches"]},{"label":"Object_File_Suffix","data":["Compiler","Object_File_Suffix"]},{"label":"Object_File_Switches","data":["Compiler","Object_File_Switches"]},{"label":"Object_Path_Switches","data":["Compiler","Object_Path_Switches"]},{"label":"Path_Syntax","data":["Compiler","Path_Syntax"]},{"label":"Pic_Option","data":["Compiler","Pic_Option"]},{"label":"Response_File_Format","data":["Compiler","Response_File_Format"]},{"label":"Response_File_Switches","data":["Compiler","Response_File_Switches"]},{"label":"Source_File_Switches","data":["Compiler","Source_File_Switches"]},{"label":"Trailing_Required_Switches","data":["Compiler","Trailing_Required_Switches"]}]}} (08:05:48.014)
[ALS.OUT] {"jsonrpc":"2.0","id":18,"result":[{"name":"Hello_World","kind":2,"range":{"start":{"line":0,"character":0},"end":{"line":0,"character":7}},"selectionRange":{"start":{"line":0,"character":0},"end":{"line":0,"character":7}},"children":[{"name":"Main","kind":7,"range":{"start":{"line":1,"character":6},"end":{"line":1,"character":10}},"selectionRange":{"start":{"line":1,"character":6},"end":{"line":1,"character":10}}},{"name":"Source_Dirs","kind":7,"range":{"start":{"line":2,"character":6},"end":{"line":2,"character":17}},"selectionRange":{"start":{"line":2,"character":6},"end":{"line":2,"character":17}}},{"name":"Object_Dir","kind":7,"range":{"start":{"line":3,"character":6},"end":{"line":3,"character":16}},"selectionRange":{"start":{"line":3,"character":6},"end":{"line":3,"character":16}}},{"name":"Create_Missing_Dirs","kind":7,"range":{"start":{"line":4,"character":6},"end":{"line":4,"character":25}},"selectionRange":{"start":{"line":4,"character":6},"end":{"line":4,"character":25}}},{"name":"Compiler","kind":4,"range":{"start":{"line":6,"character":10},"end":{"line":6,"character":18}},"selectionRange":{"start":{"line":6,"character":10},"end":{"line":6,"character":18}}}]}]} (08:05:48.014)
[ALS.OUT] {"jsonrpc":"2.0","id":19,"result":[{"name":"Hello_World","kind":2,"range":{"start":{"line":0,"character":0},"end":{"line":0,"character":7}},"selectionRange":{"start":{"line":0,"character":0},"end":{"line":0,"character":7}},"children":[{"name":"Main","kind":7,"range":{"start":{"line":1,"character":6},"end":{"line":1,"character":10}},"selectionRange":{"start":{"line":1,"character":6},"end":{"line":1,"character":10}}},{"name":"Source_Dirs","kind":7,"range":{"start":{"line":2,"character":6},"end":{"line":2,"character":17}},"selectionRange":{"start":{"line":2,"character":6},"end":{"line":2,"character":17}}},{"name":"Object_Dir","kind":7,"range":{"start":{"line":3,"character":6},"end":{"line":3,"character":16}},"selectionRange":{"start":{"line":3,"character":6},"end":{"line":3,"character":16}}},{"name":"Create_Missing_Dirs","kind":7,"range":{"start":{"line":4,"character":6},"end":{"line":4,"character":25}},"selectionRange":{"start":{"line":4,"character":6},"end":{"line":4,"character":25}}},{"name":"Compiler","kind":4,"range":{"start":{"line":6,"character":10},"end":{"line":6,"character":18}},"selectionRange":{"start":{"line":6,"character":10},"end":{"line":6,"character":18}}}]}]} (08:05:48.014)
[ALS.IN] {"jsonrpc":"2.0","id":20,"method":"completionItem/resolve","params":{"label":"Config_Body_File_Name","insertTextFormat":1,"data":["Compiler","Config_Body_File_Name"]}} (08:05:48.042)
[ALS.OUT] {"jsonrpc":"2.0","id":20,"result":{"label":"Config_Body_File_Name","documentation":"Index is a language name. Value is the template to be used to indicate a configuration specific to a body of the language in a configuration file.","insertTextFormat":1,"data":["Compiler","Config_Body_File_Name"]}} (08:05:48.043)

Other VS Code Extensions

N/A

Additional context

hello_world-1733317530757

@brownts brownts added the bug label Dec 4, 2024
@brownts brownts changed the title [Bug]: GPR LS sluggish during editting [Bug]: GPR LS sluggish during editing Dec 4, 2024
@AnthonyLeonardoGracio AnthonyLeonardoGracio self-assigned this Jan 2, 2025
@AnthonyLeonardoGracio
Copy link
Collaborator

Hello,

Thank you for the bug report, we'll have a look.

Regards,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants