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: printWidth option (or pugPrintWidth) not working #511

Open
evgeniy-vashchuk opened this issue Sep 10, 2024 · 6 comments
Open

Bug: printWidth option (or pugPrintWidth) not working #511

evgeniy-vashchuk opened this issue Sep 10, 2024 · 6 comments

Comments

@evgeniy-vashchuk
Copy link

For some reason, the default Prettier option is not working with pug files. I tried both options printWidth and pugPrintWidth. The pug file with some long text remains unformatted.

image

Also, the plugin does not convert indents to tabs ("useTabs": true) on save.

@Shinigami92
Copy link
Member

For some reason, the default Prettier option is not working with pug files. I tried both options printWidth and pugPrintWidth. The pug file with some long text remains unformatted.

There is a test for printWidth https://github.com/prettier/plugin-pug/tree/main/tests/options/printWidth

Also, the plugin does not convert indents to tabs ("useTabs": true) on save.

There is a whole test for this https://github.com/prettier/plugin-pug/tree/main/tests/indents


You could checkout the project and add tests for your specific case in https://github.com/prettier/plugin-pug/tree/main/tests/issues
just add a new folder issue-511 and orientate yourself on other issue tests

@evgeniy-vashchuk
Copy link
Author

Okay, thanks! Will check it.

@evgeniy-vashchuk
Copy link
Author

evgeniy-vashchuk commented Sep 11, 2024

@Shinigami92 After diving into this issue, I found the following:

  1. In the test example for printWidth there is long text IN THE ATTRIBUTES. In this case, it works. It just throws to a new line all attributes). But I need to control it, if I have the pug code with long text IN THE PARAGRAPH (or in any other tag) - just like plain text. Same way if there will be more large text (more than in printWidth value) in any attribute (in foo or bar - like in test) it also will be not formatted correctly. screenshot. Expected result must be like this screenshot

  2. About useTabs. In this tests https://github.com/prettier/plugin-pug/tree/main/tests/indents it works only if there is ALL INDENTS ARE THE SAME in the pug file (for example all indents are with dots - and with "useTabs": true all of them will correctly formatted into tabs. But if there will be one tab space, this tab will fail the converting.

@Shinigami92
Copy link
Member

For second point, I think I remember that the underlying pug-compiler crashes/fails when there are mixed spaces and tabs, so we might be out of luck here and you should e.g. use https://github.com/pugjs/pug-lint for such cases.

When you try tackling these via PRs, please ensure to open separate PRs for each individual problem.

@evgeniy-vashchuk
Copy link
Author

evgeniy-vashchuk commented Sep 11, 2024

Did you know the way, how I can run fixing finding problems by https://github.com/pugjs/pug-lint on save? Because for now, I use this both 2 plugins:

@prettier/plugin-pug - to format the pug-code on save by setting "editor.defaultFormatter": "esbenp.prettier-vscode" (but I couldn't find the way, how to show all problems/errors in pug files that not matching the settings in .prettierrc)
pug-lint - to show problems/errors underline in the VS Code (but I couldn't find the way, to fix on save all finding linting problems).

Not sure that it is a proper way, but I found only this way to format code on save + show problems screenshot

@Shinigami92
Copy link
Member

Did you know the way, how I can run fixing finding problems by pugjs/pug-lint on save? Because for now, I use this both 2 plugins:

@prettier/plugin-pug - to format the pug-code on save by setting "editor.defaultFormatter": "esbenp.prettier-vscode" (but I couldn't find the way, how to show all problems/errors in pug files that not matching the settings in .prettierrc) pug-lint - to show problems/errors underline in the VS Code (but I couldn't find the way, to fix on save all finding linting problems).

Not sure that it is a proper way, but I found only this way to format code on save + show problems screenshot

As I do not have anymore an active pug project for 2 years now, TLDR: no

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

No branches or pull requests

2 participants