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

lsp: formatting malformed when CSS expressions are too long #733

Open
rverton opened this issue May 9, 2024 · 2 comments
Open

lsp: formatting malformed when CSS expressions are too long #733

rverton opened this issue May 9, 2024 · 2 comments
Labels
bug Something isn't working lsp NeedsInvestigation Issue needs some investigation before being fixed

Comments

@rverton
Copy link

rverton commented May 9, 2024

templ version v0.2.680

The following example templates works fine:

package components

templ test() {
	<a
		href="/"
		class={ "hover:bg-zinc-600 px-1 py-1 -mt-1 rounded flex items-center space-x-2 foo foo foo" , "bar" }
	></a>
}

Now, if there is one more foo added to the list of classes, the LSP formatter seems to malform the template, resulting in the following output:

package components

templ test() {
<a href="/indexer" class={ "hover:bg-zinc-600 px-1 py-1 -mt-1 rounded flex items-center space-x-2 foo foo foo foo"
    , "bar" }></a>
}

This results in an error: string expression attribute: missing closing brace: line 3, col 27 []

@JuLi0n21
Copy link

JuLi0n21 commented May 9, 2024

I got a similar issue here:
line breaks in tag={ }
break the generation, i only noticed since my formater broke the line into 2 after adding more stlyes

Works:

<a href="/link" class={ "fixed left-2 p-3 " + theme(ctx).Light }> 
</a>

Doesnt work

<a href="/link" class={ "fixed left-2 p-3 " 
    + theme(ctx).Light }>
</a>

@joerdav joerdav changed the title LSP formatting malformed when CSS expressions are too long lsp: formatting malformed when CSS expressions are too long May 10, 2024
@joerdav joerdav added bug Something isn't working lsp NeedsInvestigation Issue needs some investigation before being fixed labels May 10, 2024
@JuLi0n21
Copy link

Did a bit more investigation on what would work and what not.

Works

<a href="/link" class={ "fixed left-2 p-3 " +
    theme(ctx).Light }>
</a>

or Alternativly using comma to concatenate the strings works fine

<a href="/link" class={ "fixed left-2 p-3",
    theme(ctx).Light }>
</a>

Maybe allowing the first Token of the next not empty line to be one of the allowed concatinatino tokens would remove the issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working lsp NeedsInvestigation Issue needs some investigation before being fixed
Projects
None yet
Development

No branches or pull requests

3 participants