sql-formatter icon indicating copy to clipboard operation
sql-formatter copied to clipboard

Feature Request: Line break before or after "+"

Open gwduvalljr-AT opened this issue 1 year ago • 3 comments

Describe the Feature When building a long string in a script for insert or update, I like to break it into logical chunks for readability and easy maintenance. Also, VSCode does not like really long single-line strings. Something like this:

declare @longString nvarchar(max) = '';

set
    @longString = @longString +
	'{"JsonObject": [{' +
	'"JsonField1": {"Name": "JsonValue1"},' +
	'"JsonField2": {"Name": "JsonValue2"},' +
	'"JsonField3": {"Name": "JsonValue3"},' +
	'"JsonField4": {"Name": "JsonValue4"}' + 
	'}]}';


update MyTable set MyColumn = @longString where...

At this time, when formatting with this extension, the formatter joins all these lines onto a single line.

Why do you want this feature? I'd like to keep my strings readable and not have the issue with VSCode an long strings.

gwduvalljr-AT avatar Nov 04 '24 15:11 gwduvalljr-AT

It's a very reasonable feature request.

Unfortunately this is very unlikely to get implemented in SQL Formatter, because I'm not really doing any real feature development in this library. Rather I'm concentrating on prettier-plugin-sql-cst, which is much more likely to support such a thing in the future, as its architecture is much better suited for that.

nene avatar Nov 04 '24 16:11 nene

gotcha

I checked out the prettier plugin. I use prettier every day. We are a SQL Server shop. Any idea when tsql will be supported?

gwduvalljr-AT avatar Nov 04 '24 17:11 gwduvalljr-AT

Hard to say. Currently the main priority is to get PostgreSQL supported. Then MySQL/MariaDB. Given that SQL Server is proprietary, it's also harder implement support for it. Like with PostgreSQL I have often dug into PostgreSQL source code to figure out which syntax exactly is supported. With SQL Server I've always found the documentation to be one of the most confusing among SQL dialects. So I'm personally not really keen on implementing a parser for it :(

nene avatar Nov 04 '24 17:11 nene