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

💡 RFC: Support prose-wrap option for text content in .astro files #414

Open
1 of 3 tasks
septatrix opened this issue Mar 15, 2024 · 4 comments
Open
1 of 3 tasks
Labels
feature Suggestion / request for a new feature

Comments

@septatrix
Copy link

septatrix commented Mar 15, 2024

Background & Motivation

Large text blocks are currently reflowed by this plugin to match the configured line width.
However, it is commonly considered best practice to insert a line break after semantic sections (e.g. end of sentence, after a comma, before a dependent clause etc.).
This makes the text easier to read and leads to smaller diffs whenever something has to be changed.

Proposed Solution

Possible solutions

Support the prose-wrap option from prettier for astro files.

Alternatives considered

None

Risks, downsides, and/or tradeoffs

It is configurable so no real downsides apart from someone having to implement it.

Open Questions

Detailed Design

Issue from the Prettier repo where this feature was first requested and subsequently introduced: prettier/prettier#3183
Another issue from the Prettier repo about enabling support for this option in HTML and Vue files: prettier/prettier#7595

Help make it happen!

  • I am willing to submit a PR to implement this change.
  • I am willing to submit a PR to implement this change, but would need some guidance.
  • I am not willing to submit a PR to implement this change.
@septatrix septatrix added the feature Suggestion / request for a new feature label Mar 15, 2024
@septatrix
Copy link
Author

My current workaround is to suffix every line with <!-- --> as this will prevent Prettier from wrapping the line though this adds a lot of visual noise and redundant characters

@Princesseuh
Copy link
Member

Does prose-wrap work in HTML files? I thought it was only for Markdown

@septatrix
Copy link
Author

Does prose-wrap work in HTML files? I thought it was only for Markdown

No, not until prettier/prettier#7595 is resolved.

@jasikpark
Copy link
Collaborator

jasikpark commented Mar 15, 2024

Looks like HTML is unaffected?

https://prettier.io/playground/#N4Igxg9gdgLgprEAuEAeADgPgDpQAR4AyEATnALZ4CW6AzgK6UAmEANqXrVTHgIblwYAGjyQotOGHgx6JPkxpVaYKlADmeOK24A6PADU4tGFQBG9VozwK1UJV3Ii4ADz5hR0CQEd6vHgDMSVTUqVlZeERZ2OSMedAgGODI8O1MACxFeD3FJaVk8fy0lPAgFCE5uPgEeWl50KgQ9Q2MzCysJJjx0MhMrH349AEl8bTULLKgLcJFwlTssuHo8Vjhy+HJ0eloRADcLTZg-OGpYJKYrKDgfOD0AZS30BAVaCTwd7l5j8ioUpSoh04kc6UQR4ci8FYMXhMLL+fhGNx8U7UOhWbpUb60E4FXj0FTmWh6AAKWhWp1o1zesValkovGR-UceHoPFU8CBViKPCm-EgJEeclUegAIvRiuQ2NosbRJVQVDIFPhSConGpQWoSLx3jDrGwOCQWQbKJcwHcHk97MduoIqFYVuUuDx4TVShCESYoCpzrA9AAxLZgY4WGBBFQI1JpbI7CFSsG4oJYiWQkxwTLuQLBULhOO2WGqVqEgxUaPkLZdUkIeAU+jHGgMSg7LQ5qBZGUwyGZZa8UhwUERrs9wQ6XC4ACyn0DLaxm1Y7xbMVc70OxwTZZ2bBZ6D8bjAjFqUGJmqMlYKSQEsCsACstjByiy4y9YWfK1YQ0oTNc9OPJAheFjG6wyxUGM2YKAMeAkmElZGJSix4NexjlIUJDnjIDZcpoKyoZyKxUIUUCdB02IAboeD3LQjwEZaVJpHK4xOK4cBqgEz4XuhLTmLSmT0GMxznD8ixKBKnTaKYSQQKqoLIdhIIkAkKL1syPClFQEB6AAcjyzDAXYLwYssPaUBITIAW8vBBGWtT1AgcbOBiZZUEwIrQJIeAel69CwCkVw1pwcCdCp5QKFIjAiOgaTmYImqiLIDBYreJAJcyrBvmGhaQWSVaUkRGbqFmrYUIenwSF5-j5gSbmqB5XmNrRu7hMSFbkrBSyzPmWTgrISgaTyOIqFK-wQUeJU8HA-hlfK+S6YBcGyC2eBpE8ZBBDwjYcW05BNMW-Bliavy0IBvDuPxXQWHO5l9aEfxYvee2XJ+I5QAAoiY-BvMWSTReCkK+Dq7mOZ5MBfhOv7Tj0tqUMqPxtfMYWkIcCkXJIIjfUYv1ZAlCV6C9VBvVoFAvsafwVE61RUtoPCWCFWKkPONwQU1WW+aoO57vS8E3hJfCcAGijciQLZfqQpg-MGoYNFi00pNAmh2JQ8SJREmhLDO51yIybz7CyRw9Z6iKFDxuOU8B4wimKWJiN4vg8PAYRlrivG7E2YjRmExQIPpu4kHF1BOXgmlhG9Ni6Q4nCupCp0Gv+TYGiGjB6AAqtyKWhgioniZozF+ZQYtyhLIj3uwpjw8UJ2q6o5lCyQIth+2CIuJwdQNFABc1BQApgj8cL9dd5PAz+U6Z6C4J2aWkt-CILOLQRy2VLEw5QLgwoue4yj4wmlKzGWoz0Xwq0bjAW7GyBWRsmcnL0Njr3oYdPG+ZMnp6AAgggcDs2NE3cLIMyrO9y5UpcFsJgsT4xkijQQZYEK3j4HiJKUMnBLBHvZGmJAVD7QEjwB+po8D+jXh4cgwkHRNxsj4YoDtfL4zwk8csUFmoUKzqZTqCYARgjYNSY4cI8QFl+OkAuKc5QIhIGkaAu4sT2moBsM4DQnQsMCtnEQtNIp4BFmJAiVgDYhG3I5Jw4084yDkEdICJ8ATwDVAY1a1JOI4VIsvPaCsEa43quKWU6VGYwV8kIkRZYP56PyBCKgjIzQUQtC8K0EB4CwEGrcfy3NzK7j8p0e6vkXYxmKMZAUz9tAa3BDAYB2Qrbbn+t6IG-s3q6R+NNEQ6SkgJNPLGI6cNEomCSiop4VhVyFm-JOP8cZcnFGnkwWecRZD23cDk4Bicai83qJgmWGsmKgmDvYDEC9cBEgihIO205ZhJC0fgOap8RIQGLolbqeBRTFFIfFduHA4n0BEFctyNy5D6PqIWZoJgrEggpm5eGpAqnhwRPecEuYTgArdpNRUbkEwfl8t8K+uNKBex9hqLUjksgHMnp0S2uQIEGLvscfx1xRolNHMLASujJpyHGcUTYUc-6fHeo2EgmomiWI2l0CKPRopRA4AsngMJ6gVUErQYSjVaFM2OBFEWhwvISmrj8N8LRsqv2ppoTBECQE8FRlCHUcIBBYkMa892apjB-iKseLyjydXo1+YlUgmSAm+EoI83KIRA7WDFK3WuboQFy1WVAAA4q-TU8BOgAFYujmV4Ki8K2w8AABYE0AA48AAHdSBMHjQAZgAIwAAYADsyiACeVYSj+CIIZPAgxUTkFwAQVAAB6LAIAhAgAgOgEwnhkCgHMnJNNRJIriGQCACEabeAltoG2kAphNRgAANaCFuPCQgqg4DIDhKwCQ7a51HSXTAW4W45hqGQHHVMIBjJUDPQaC9LgBQYkrBCAAKkkecEtN0Qh3Ze4IKwACK9BwkbqQFu79l5aDOFuL+uAAGgOfu3RenwQGiRyToKOv8ABaS4-l-IzpDLwK66gADCEACG8HQ2EGdXB1ArCfrkoI5h4AkhIGuy48Hv1pBgOQVgAB1WiVZj1wGieIbgxZuAltHWAF4M69hwGGEwSstwwBBC7U-AitwYAlpWOxi93QEhwB45qdAo7rQSBII2GdqgzMwBQzG8EOn21bm9kkUdnHuMzvRLAHjjkYBpGQMm-N7ayCkLILZtQ9mQNfovYcUw3mmC+eQAAJnbVsOAz7eCmGnZFhD7aKBiSYAppghB6RjBjXAX0pAaXqHQyyCAIAAC+9WgA

MDX does respect the rule

https://prettier.io/playground/#N4Igxg9gdgLgprEAuEAeADgPgDpQAR4AyEATnALZ4CW6AzgK6UAmEANqXrVTHgIblwYAGjyQotOGHgx6JPkxpVaYKlADmeOK24A6PADU4tGFQBG9VozwK1UJV3Ii4ADz5hR0CQEd6vHgDMSVTUqVlZeERZ2OSMedAgGODI8O1MACxFeD3FJaVk8fy0lPAgFCE5uPgEeWl50KgQ9Q2MzCysJJjx0MhMrH349AEl8bTULLKgLcJFwlTssuHo8Vjhy+HJ0eloRADcLTZg-OGpYJKYrKDgfOD0AZS30BAVaCTwd7l5j8ioUpSoh04kc6UQR4ci8FYMXhMLL+fhGNx8U7UOhWbpUb60E4FXj0FTmWh6AAKWhWp1o1zesValkovGR-UceHoPFU8CBViKPCm-EgJEeclUegAIvRiuQ2NosbRJVQVDIFPhSConGpQWoSLx3jDrGwOCQWQbKJcwHcHk97MduoIqFYVuUuDx4TVShCESYoCpzrA9AAxLZgY4WGBBFQI1JpbI7CFSsG4oJYiWQkxwTLuQLBULhOO2WGqVqEgxUaPkLZdUkIeAU+jHGgMSg7LQ5qBZGUwyGZZa8UhwUERrs9wQ6XC4ACyn0DLaxm1Y7xbMVc70OxwTZZ2bBZ6D8bjAjFqUGJmqMlYKSQEsCsACstjByiy4y9YWfK1YQ0oTNc9OPJAheFjG6wyxUGM2YKAMeAkmElZGJSix4NexjlIUJDnjIDZcpoKyoZyKxUIUUCdB02IAboeD3LQjwEZaVJpHK4xOK4cBqgEz4XuhLTmLSmT0GMxznD8ixKBKnTaKYSQQKqoLIdhIIkAkKL1syPClFQEB6AAcjyzDAXYLwYssPaUBITIAW8vBBGWtT1AgcbOBiZZUEwIrQJIeAel69CwCkVw1pwcCdCp5QKFIjAiOgaTmYImqiLIDBYreJAJcyrBvmGhaQWSVaUkRGbqFmrYUIenwSF5-j5gSbmqB5XmNrRu7hMSFbkrBSyzPmWTgrISgaTyOIqFK-wQUeJU8HA-hlfK+S6YBcGyC2eBpE8ZBBDwjYcW05BNMW-Bliavy0IBvDuPxXQWHO5l9aEfxYvee2XJ+I5QAAoiY-BvMWSTReCkK+Dq7mOZ5MBfhOv7Tj0tqUMqPxtfMYWkIcCkXJIIjfUYv1ZAlCV6C9VBvVoFAvsafwVE61RUtoPCWCFWKkPONwQU1WW+aoO57vS8E3hJfCcAGijciQLZfqQpg-MGoYNFi00pNAmh2JQ8SJREmhLDO51yIybz7CyRw9Z6iKFDxuOU8B4wimKWJiN4vg8PAYRlrivG7E2YjRmExQIPpu4kHF1BOXgmlhG9Ni6Q4nCupCp0Gv+TYGiGjB6AAqtyKWhgioniZozF+ZQYtyhLIj3uwpjw8UJ2q6o5lCyQIth+2CIuJwdQNFABc1BQApgj8cL9dd5PAz+U6Z6C4J2aWkt-CILOLQRy2VLEw5QLgwoue4yj4wmlKzGWoz0Xwq0bjAW7GyBWRsmcnL0Njr3oYdPG+ZMnp6AAgggcDs2NE3cLIMyrO9y5UpcFsJgsT4xkijQQZYEK3j4HiJKUMnBLBHvZGmJAVD7QEjwB+po8D+jXh4cgwkHRNxsj4YoDtfL4zwk8csUFmoUKzqZTqCYARgjYNSY4cI8QFl+OkAuKc5QIhIGkaAu4sT2moBsM4DQnQsMCtnEQtNIp4BFmJAiVgDYhG3I5Jw4084yDkEdICJ8ATwDVAY1a1JOI4VIsvPaCsEa43quKWU6VGYwV8kIkRZYP56PyBCKgjIzQUQtC8K0EB4CwEGrcfy3NzK7j8p0e6vkXYxmKMZAUz9tAa3BDAYB2Qrbbn+t6IG-s3q6R+NNEQ6SkgJNPLGI6cNEomCSiop4VhVyFm-JOP8cZcnFGnkwWecRZD23cDk4Bicai83qJgmWGsmKgmDvYDEC9cBEgihIO205ZhJC0fgOap8RIQGLolbqeBRTFFIfFduHA4n0BEFctyNy5D6PqIWZoJgrEggpm5eGpAqnhwRPecEuYTgArdpNRUbkEwfl8t8K+uNKBex9hqLUjksgHMnp0S2uQIEGLvscfx1xRolNHMLASujJpyHGcUTYUc-6fHeo2EgmomiWI2l0CKPRopRA4AsngMJ6gVUErQYSjVaFM2OBFEWhwvISmrj8N8LRsqv2ppoTBECQE8FRlCHUcIBBYkMa892apjB-iKseLyjydXo1+YlUgmSAm+EoI83KIRA7WDFK3WuboQFy1WVAAA4q-TU8BOgAFYujmV4Ki8K2w8AABYE0AA48AAHdSBMHjQAZgAIwAAYADsyiACeVYSj+CIIZPAgxUTkFwAQVAAB6LAIAhAgAgOgEwnhkCgHMnJNNRJIriGQCACEabeAltoG2kAphNRgAANaCFuPCQgqg4DIDhKwCQ7a51HSXTAW4W45hqGQHHVMIBjJUDPQaC9LgBQYkrBCAAKkkecEtN0Qh3Ze4IKwACK9BwkbqQFu79l5aDOFuL+uAAGgOfu3RenwQGiRyToKOv8ABaS4-l-IzpDLwK66gADCEACG8HQ2EGdXB1ArCfrkoI5h4AkhIGuy48Hv1pBgOQVgAB1WiVZj1wGieIbgxZuAltHWAF4M69hwGGEwSstwwBBC7U-AitwYAlpWOxi93QEhwB45qdAo7rQSBII2GdqgzMwBQzG8EOn21bm9kkUd5AmDOBneiWAPHHIwDSMgZN+b21kFIWQWzah7Mga-Rew4pgfNMD88gAATO2rYcBn28FMNOqLCH20UDEkwBTTBCD0jGDGuAvpSA0vUOhlkEAQAAF8GtAA

TSX does not

https://prettier.io/playground/#N4Igxg9gdgLgprEAuEAeADgPgDpQAR4AyEATnALZ4CW6AzgK6UAmEANqXrVTHgIblwYAGjyQotOGHgx6JPkxpVaYKlADmeOK24A6PADU4tGFQBG9VozwK1UJV3Ii4ADz5hR0CQEd6vHgDMSVTUqVlZeERZ2OSMedAgGODI8O1MACxFeD3FJaVk8fy0lPAgFCE5uPgEeWl50KgQ9Q2MzCysJJjx0MhMrH349AEl8bTULLKgLcJFwlTssuHo8Vjhy+HJ0eloRADcLTZg-OGpYJKYrKDgfOD0AZS30BAVaCTwd7l5j8ioUpSoh04kc6UQR4ci8FYMXhMLL+fhGNx8U7UOhWbpUb60E4FXj0FTmWh6AAKWhWp1o1zesValkovGR-UceHoPFU8CBViKPCm-EgJEeclUegAIvRiuQ2NosbRJVQVDIFPhSConGpQWoSLx3jDrGwOCQWQbKJcwHcHk97MduoIqFYVuUuDx4TVShCESYoCpzrA9AAxLZgY4WGBBFQI1JpbI7CFSsG4oJYiWQkxwTLuQLBULhOO2WGqVqEgxUaPkLZdUkIeAU+jHGgMSg7LQ5qBZGUwyGZZa8UhwUERrs9wQ6XC4ACyn0DLaxm1Y7xbMVc70OxwTZZ2bBZ6D8bjAjFqUGJmqMlYKSQEsCsACstjByiy4y9YWfK1YQ0oTNc9OPJAheFjG6wyxUGM2YKAMeAkmElZGJSix4NexjlIUJDnjIDZcpoKyoZyKxUIUUCdB02IAboeD3LQjwEZaVJpHK4xOK4cBqgEz4XuhLTmLSmT0GMxznD8ixKBKnTaKYSQQKqoLIdhIIkAkKL1syPClFQEB6AAcjyzDAXYLwYssPaUBITIAW8vBBGWtT1AgcbOBiZZUEwIrQJIeAel69CwCkVw1pwcCdCp5QKFIjAiOgaTmYImqiLIDBYreJAJcyrBvmGhaQWSVaUkRGbqFmrYUIenwSF5-j5gSbmqB5XmNrRu7hMSFbkrBSyzPmWTgrISgaTyOIqFK-wQUeJU8HA-hlfK+S6YBcGyC2eBpE8ZBBDwjYcW05BNMW-Bliavy0IBvDuPxXQWHO5l9aEfxYvee2XJ+I5QAAoiY-BvMWSTReCkK+Dq7mOZ5MBfhOv7Tj0tqUMqPxtfMYWkIcCkXJIIjfUYv1ZAlCV6C9VBvVoFAvsafwVE61RUtoPCWCFWKkPONwQU1WW+aoO57vS8E3hJfCcAGijciQLZfqQpg-MGoYNFi00pNAmh2JQ8SJREmhLDO51yIybz7CyRw9Z6iKFDxuOU8B4wimKWJiN4vg8PAYRlrivG7E2YjRmExQIPpu4kHF1BOXgmlhG9Ni6Q4nCupCp0Gv+TYGiGjB6AAqtyKWhgioniZozF+ZQYtyhLIj3uwpjw8UJ2q6o5lCyQIth+2CIuJwdQNFABc1BQApgj8cL9dd5PAz+U6Z6C4J2aWkt-CILOLQRy2VLEw5QLgwoue4yj4wmlKzGWoz0Xwq0bjAW7GyBWRsmcnL0Njr3oYdPG+ZMnp6AAgggcDs2NE3cLIMyrO9y5UpcFsJgsT4xkijQQZYEK3j4HiJKUMnBLBHvZGmJAVD7QEjwB+po8D+jXh4cgwkHRNxsj4YoDtfL4zwk8csUFmoUKzqZTqCYARgjYNSY4cI8QFl+OkAuKc5QIhIGkaAu4sT2moBsM4DQnQsMCtnEQtNIp4BFmJAiVgDYhG3I5Jw4084yDkEdICJ8ATwDVAY1a1JOI4VIsvPaCsEa43quKWU6VGYwV8kIkRZYP56PyBCKgjIzQUQtC8K0EB4CwEGrcfy3NzK7j8p0e6vkXYxmKMZAUz9tAa3BDAYB2Qrbbn+t6IG-s3q6R+NNEQ6SkgJNPLGI6cNEomCSiop4VhVyFm-JOP8cZcnFGnkwWecRZD23cDk4Bicai83qJgmWGsmKgmDvYDEC9cBEgihIO205ZhJC0fgOap8RIQGLolbqeBRTFFIfFduHA4n0BEFctyNy5D6PqIWZoJgrEggpm5eGpAqnhwRPecEuYTgArdpNRUbkEwfl8t8K+uNKBex9hqLUjksgHMnp0S2uQIEGLvscfx1xRolNHMLASujJpyHGcUTYUc-6fHeo2EgmomiWI2l0CKPRopRA4AsngMJ6gVUErQYSjVaFM2OBFEWhwvISmrj8N8LRsqv2ppoTBECQE8FRlCHUcIBBYkMa892apjB-iKseLyjydXo1+YlUgmSAm+EoI83KIRA7WDFK3WuboQFy1WVAAA4q-TU8BOgAFYujmV4Ki8K2w8AABYE0AA48AAHdSBMHjQAZgAIwAAYADsyiACeVYSj+CIIZPAgxUTkFwAQVAAB6LAIAhAgAgOgEwnhkCgHMnJNNRJIriGQCACEabeAltoG2kAphNRgAANaCFuPCQgqg4DIDhKwCQ7a51HSXTAW4W45hqGQHHVMIBjJUDPQaC9LgBQYkrBCAAKkkecEtN0Qh3Ze4IKwACK9BwkbqQFu79l5aDOFuL+uAAGgOfu3RenwQGiRyToKOv8ABaS4-l-IzpDLwK66gADCEACG8HQ2EGdXB1ArCfrkoI5h4AkhIGuy48Hv1pBgOQVgAB1WiVZj1wGieIbgxZuAltHWAF4M69hwGGEwSstwwBBC7U-AitwYAlpWOxi93QEhwB45qdAo7rQSBII2GdqgzMwBQzG8EOn21bm9kkUdpheBiVYDO9EsAeOORgGkZAyb83trIKQsgtm1D2ZA1+i9hxTC+aYP55AAAmdtWw4DPvc9O6LCH20UDEkwBTTBCD0jGDGuAvpSA0vUOhlkEAQAAF8GtAA

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Suggestion / request for a new feature
Projects
None yet
Development

No branches or pull requests

3 participants