SergeyKasyanov / vscode-october-extension

VSCode extension for work with OctoberCMS
MIT License
20 stars 2 forks source link

Formatting doesn't work in some cases #14

Closed Metallizzer closed 3 months ago

Metallizzer commented 1 year ago

Hello

October Code v0.19.0

Code formatting does not work if the file contains json strings, for example

<button data-request="onRefreshTime" data-request-update="{ mytime: '#myDiv' }">Go</button>
<button data-request="onRefreshTime" data-request-data="{ id: 1 }">Go</button>

Also does not work if the tag contains inline condition

<button data-request="onRefreshTime"{% if condition %} disabled{% endif %}>Go</button>
Metallizzer commented 3 months ago

Hello, here is the log entry

2024-06-27 14:20:45.052 [error] [Extension Host] Error: ERROR: Invalid Token. Expected stringEnd but found text instead.     
> 1 | <button data-request="onRefreshTime" data-request-update="{ mytime: '#myDiv' }">Go</button>
    |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    at yc.error (/home/metallizzer/.vscode/extensions/sergeykasyanov.october-code-0.28.1/dist/extension.js:2:424274)
    at yc.expect (/home/metallizzer/.vscode/extensions/sergeykasyanov.october-code-0.28.1/dist/extension.js:2:424115)
    at fc.matchAttributes (/home/metallizzer/.vscode/extensions/sergeykasyanov.october-code-0.28.1/dist/extension.js:2:416767)
    at fc.matchElement (/home/metallizzer/.vscode/extensions/sergeykasyanov.october-code-0.28.1/dist/extension.js:2:415480)
    at fc.parse (/home/metallizzer/.vscode/extensions/sergeykasyanov.october-code-0.28.1/dist/extension.js:2:414109)
    at Object.parse (/home/metallizzer/.vscode/extensions/sergeykasyanov.october-code-0.28.1/dist/extension.js:2:457091)
    at Object.parse (/home/metallizzer/.vscode/extensions/sergeykasyanov.october-code-0.28.1/dist/extension.js:86:36457)
    at y (/home/metallizzer/.vscode/extensions/sergeykasyanov.october-code-0.28.1/dist/extension.js:86:51284)
    at w (/home/metallizzer/.vscode/extensions/sergeykasyanov.october-code-0.28.1/dist/extension.js:86:53870)
    at /home/metallizzer/.vscode/extensions/sergeykasyanov.october-code-0.28.1/dist/extension.js:86:366590
    at Object.format (/home/metallizzer/.vscode/extensions/sergeykasyanov.october-code-0.28.1/dist/extension.js:86:366675)
    at t.formatTwig (/home/metallizzer/.vscode/extensions/sergeykasyanov.october-code-0.28.1/dist/extension.js:86:846892)
    at t.OctoberTplDocumentFormatting.provideDocumentFormattingEdits (/home/metallizzer/.vscode/extensions/sergeykasyanov.october-code-0.28.1/dist/extension.js:86:848914)
    at F.provideDocumentFormattingEdits (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:153:107347)
    at /usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:153:135145
    at Ie.s (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:153:129520)
    at Ie.$provideDocumentFormattingEdits (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:153:135132)
    at E.S (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:150:5970)
    at E.Q (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:150:5736)
    at E.M (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:150:4723)
    at E.L (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:150:3589)
    at n.value (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:150:2282)
    at l.y (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:82:664)
    at l.fire (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:82:881)
    at s.fire (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:107:14502)
    at n.value (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:176:8481)
    at l.y (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:82:664)
    at l.fire (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:82:881)
    at s.fire (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:107:14502)
    at MessagePortMain.<anonymous> (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:176:6631)
    at MessagePortMain.emit (node:events:514:28)
    at Object.MessagePortMain._internalPort.emit (node:electron/js2c/utility_init:2:2285)
Metallizzer commented 3 months ago

It also fails when using <button @click="open = true">Expand</button> with following error [Extension Host] Error: ERROR: Expected an Identifier. Expected a valid attribute name, but instead found "@", which is not part of a valid attribute name.

SergeyKasyanov commented 3 months ago

Hello. Check out 0.29.0. It now uses new version of Prettier under the hood, so these issues should be fixed.

Metallizzer commented 3 months ago

Thanks, работает теперь