hsnips icon indicating copy to clipboard operation
hsnips copied to clipboard

Autocomplete failure if no language field exist in tokens/scopes

Open Easyoakland opened this issue 1 year ago • 1 comments

  1. Install vscode
  2. Install typst-lsp and hsnips
  3. Create new snippet all.hsnips or typst.hsnips (error even if file is blank and either works to produce error)
  4. Create new file named file.typ and open it.
  5. Type anything and instead of autocompletion this error is created every time a character is entered:
error log 2023-08-24 14:31:55.047 [error] TypeError: Cannot read properties of null (reading 'scopes') at Object.getCompletions (c:\Users\WDAGUtilityAccount\.vscode\extensions\draivin.hsnips-0.2.8\out\completion.js:58:56) at r.value (c:\Users\WDAGUtilityAccount\.vscode\extensions\draivin.hsnips-0.2.8\out\extension.js:127:40) at f.w (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:1902) at f.x (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:1972) at f.fire (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:2188) at $.$acceptModelChanged (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:104:10065) at t.N (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:114:7983) at t.M (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:114:7749) at t.H (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:114:6830) at t.G (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:114:5906) at r.value (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:114:4736) at f.w (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:1902) at f.fire (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:2119) at y.fire (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:79:13931) at r.value (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:130:30355) at f.w (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:1902) at f.fire (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:2119) at y.fire (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:79:13931) at MessagePortMain. (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:130:28635) at MessagePortMain.emit (node:events:513:28) at MessagePortMain._internalPort.emit (node:electron/js2c/utility_init:2:367) 2023-08-24 14:31:55.061 [error] [draivin.hsnips] provider FAILED 2023-08-24 14:31:55.061 [error] TypeError: Cannot read properties of null (reading 'scopes') at Object.getCompletions (c:\Users\WDAGUtilityAccount\.vscode\extensions\draivin.hsnips-0.2.8\out\completion.js:58:56) at Object.provideCompletionItems (c:\Users\WDAGUtilityAccount\.vscode\extensions\draivin.hsnips-0.2.8\out\extension.js:160:44) at ce.provideCompletionItems (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:104:50201) at c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:104:70866 at le.s (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:104:62744) at le.$provideCompletionItems (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:104:70852) at t.N (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:114:7983) at t.M (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:114:7749) at t.H (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:114:6791) at t.G (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:114:5906) at r.value (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:114:4736) at f.w (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:1902) at f.fire (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:2119) at y.fire (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:79:13931) at r.value (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:130:30355) at f.w (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:1902) at f.fire (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:2119) at y.fire (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:79:13931) at MessagePortMain. (c:\Users\WDAGUtilityAccount\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:130:28635) at MessagePortMain.emit (node:events:513:28) at MessagePortMain._internalPort.emit (node:electron/js2c/utility_init:2:367)

This can also be reproduced by using toml with the Python extension installed as the only provider of toml.

In the toml case the Developer: Inspect Editor Tokens and Scopes always says No grammar or semantic tokens available. which might be related. In the typst case it switches between No grammar or semantic tokens available. and a description with a blank language field.

Why would the textmate token/scope language need to be queried for all.hsnips? or a language specific typst.hsnips? Is the active language mode not queryable?

Easyoakland avatar Aug 24 '23 20:08 Easyoakland

I have the same issue with you and tried on both macOS and Windows11. I set up a new issue in typst-lsp repo too. ref https://github.com/nvarner/typst-lsp/issues/312

gRox167 avatar Sep 26 '23 22:09 gRox167