From fc55ec89e8b023ce4417e6f55fcc89a3bc4b48c3 Mon Sep 17 00:00:00 2001 From: Prateek Mahendrakar Date: Sun, 25 Feb 2024 01:20:40 -0500 Subject: [PATCH] Attributes in newline threshold setting added (#149) --- CHANGELOG.md | 4 ++++ lib/XmlFormatter.CommandLine.dll | Bin 8192 -> 8192 bytes lib/XmlFormatter.CommandLine.exe | Bin 150016 -> 150016 bytes lib/XmlFormatter.CommandLine.pdb | Bin 11688 -> 11692 bytes lib/XmlFormatter.dll | Bin 15360 -> 15360 bytes lib/XmlFormatter.pdb | Bin 14576 -> 14700 bytes package.json | 18 +++++++++++++++++- src/formatter.ts | 6 ++++-- src/settings.ts | 5 +++++ 9 files changed, 30 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a59a75e..b487d9c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## Stable +## 4.4.0: 25-Feb-2024 + +- **Attributes In Newline Threshold** setting added. + ## 4.3.0: 23-Feb-2024 - Fixed some CDATA and text formatting. diff --git a/lib/XmlFormatter.CommandLine.dll b/lib/XmlFormatter.CommandLine.dll index 2d79a46ec02d2825115e5fa9e65f9dce8c4b40f5..01c20dbcd266251195f130b89accd7994cab4a7f 100644 GIT binary patch delta 359 zcmZp0XmFU&!4k~)6A)>?-cy~l!)HRW zq9j*K__oagf^1A0Nk*wArb*_><|#>*Y33#tiHV7p7KVmKsmW$$sfLLLriO_YmKLUl zlkJ2T@iIJ~yp(~_H-L$OfuU{kTVZ+DZAJ_X+a?Q&C|j6XOm+EwM#fbKLTaauZ8RQi~>Miv$`$H4D6gY6e*p zd%g7Q8(7!twI638+HLXg^I1~VW`1@aOZ41oGTv;|Oy1&F6L_1VFUeJE>^mdt zT8(o^#+1zhf^1A0iOB|*mS$dQgK-;AoHeM@&8&z zpc-eZn9$89<_j4CX+b%wP%>Pi05}sz_ll g0;&bcnFCcB0m&4g3JW010&Ic_gXQ+`u1uUP0Q0>P4FCWD diff --git a/lib/XmlFormatter.CommandLine.pdb b/lib/XmlFormatter.CommandLine.pdb index 6091505ebc4ab553429ef52d04101d3e9fc3c8f1..c409931f5490055f76cfe9bc2cacb92a116d195e 100644 GIT binary patch delta 842 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 delta 4133 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 diff --git a/lib/XmlFormatter.pdb b/lib/XmlFormatter.pdb index 0a6bfb3e7803284cb8843b3a3271332d60b01765..ade66b1a928fe0a42ad669289bb32a14f258744d 100644 GIT binary patch delta 2800 zcmZuz3s4kC8txu;nVDrDfXn-}xV#rwSe69>r4g+lA|gRi1dIzT5#=RI6nyP2MoaXH z0FxYsNMblibRp3kJ_1GzdguGjkKrkuyT-?Fc2)2!&v1=hfF$RKICPa1}8KiGbD1^UxY-*OGR|^2`Om ze*wKe4s?2DO$q2pgQBrPXU-lPj(zxJNqxM!aP~l3t9Pgdd|H4vU?pG{AR9pPIsse( zL2ZB16p)}-0ighx3y%bZQ5vGqI$$$!AMgp_JHU^C129J6m_lX1)xg8RBfuPm(eEe< zeddJGX)YIgSel|RQfMgT2iOhx3h+fVg``>vEz*imE?_0#4L~`d3Q!N&q7|biKr^5f z&;j@mPzC4#^a1(-gMeYcMZh({b-+!)ZNNRPI0`+6#&ZCQ6C)ZR2Y3Md0qQtslnvMf zc#os03Ead@QCXH62=Ag0k{~hif=6BswK@qkBH9~tG3btI?GIW5HF+?t13))|w!*6< z@qwVXgD#)eL7<~ps2gY(@CSn?SNF6IMc9J2f(QagAs}ozz#X&R)eP5izB zP5gdDTc)3w1o;0VAV8prKTx1a0`k^o1|)u!KoftkKokFLfhK-6z#>c#@{0hnO@#h1 zfhGyU1)2;HA<)DhDbU0pCD6nV`_}S*14Q#Rag<~(1jN7&otXeBQLI3dx1$wkl8{`Z zyd^m>>H|#V4Y!i!}v6Ehgb&DU|IAVxFsPyVL6_MHsX&9jC9a~ zBLJ)uIto^Vu7hRJNw6%RT7oK}?ShtomGXCFXalt6=wDzJ{L6MlTcGX6uM{OemWKtp zkflXZd-16q$JWf;e}el?=rmXnIt-S~?RgaJSKxAui09R?rAaZwC|4W~&ou>>MpN_{ z^vMxFf&P!NCw4-ApbTI~$%%-Nxdb&-RW4|!{p8iAO^Yk4O*wUWwZ>8t=Sv3!R+yKq ztuvX|)>M|wtF5i9C^eQ;n$UD0;?n6s?%(uYu8j#^@AyJD+mGZNdm?XACD?; zT-vwmZ6>u(@&lK{dad%Y-cSW}7Csv*jMl7IF8KSZ$^EM0GgniU!&UpTY=#v#BbIhb za%$@wY+k%5JT+X@`AP35M_a-^Qtz$fXh{m|V|&NO**>s!bD5G$ zGpebq-_OMjTc({mT2+tE_UqQSO;S7JzE;q?3yjmiWv$W6qwxUHN>%|E&Mwt*&KzB;TE@*z&FOUl+9J_1qe*=X8(GuF3ka z?(wzBqOliu=;8|*LyCmHf{(loUR336959@?_p#FA`FfYz)&o12piC#G@A!|e+_mRN zM>S>W^4BH?Y_=sa&c^$)7xP??4K6tqk?T#>-GfhyF7+5Zbllypp$AuU2O`#W z4E9%##*LE9c0zr!01|c5_!{8tKZa%Kt4{j*`!bDAAepi6u#;No6G|93QVUl^P7Dcw<~*yfHZ?IWfL}t-K?IQtLUKU=C}>_Ev1~#rEUaK8)=n*!~^a z>=6nvjnbm|50k>V2wixLd_+Ty+G2X~e#K=%OMLsw1D?)Aq2T2-bD3gMdXAUvecbN?_h@~Wu1%3@g z76po>;J3-zPN7K7W=N1HiyGfRQaL$6M2s7E)^Lov&2kM%X%;a#Y(!#}gF<<7j&)E1 zPjrNXVhG7-1FytE4hrGPIm|&Co@g~sjNU;hJhA+#CSntLCE=5aB)URgx}-U19#2w7 zN2#Nu%+XQi=qPvi5C@Rd6*; delta 2716 zcmZuz3sh6d8J@X$CnVva2=drS5{Q62Lm+|=Sdopux>P(h6c;dn#ASIU)Pr)25m)JY zP&`*ud~^%N+67@zS=VPpw^qTTwy3LB*HTxzPLr>y@x3DOJE!DN#KjXW55%@voS`Im_jAM>wtTJ9{_(wVe|z> zp;H`;y67}K-L^dtBd;I|1psydt^m#jQ-~W%p@dK_G5|gR{2cHhAP-Oou!Qo^I)EKe z4cGzL4afr=1T+C!0LK8Q0G)u#fNOwTfct<)p*%k{0F6<=3&0xyKa7W@VSE$;$ONpT z<_umW+(|0j&U?KdF5| z{~7c!XbJcgpvkXsQma5$Li-(n6Zq8#+n|Y%D?kc>4kDR)$XFV3GR0&2o!|1iur#SD z$vHKi#Jj;3n9{^Ijq%(5H{tZR0^C`eBqY0PDgjC8!P3O<$lckB@i=~O*n`j&B zjeXu4;LFk^0a-To11MOU_-C;+nZS>wiC@Xm#7}m=Z7LxdpnhwBKT8vT085hu8kQ#h z*(^=`fvhEu0UZQ|otlr7AQ%a3KX#C}pTinJ5|ZCp#*#8&v>q&l3c+$v0az}Y3zo-B z%tzOuEkGk+h3GL@5n2OQjJ^fygqpx26b``5N>FG4v~3);9f*rMzzR_vSP_$2%$yt& zrtO55LcbJU0V_jEVCBdN)|uG@Zp<{(V8=eTXD^4adFwlIaX_4S%}FZ%*0%=tEbwmNNmu5b>eJy;Z*7%-`_7E#oYJ0lkdhG486VLj_u6QK&HkQ7A$h&$nvvI;!sXrLF z(r_Uvl+F_CMQZzg`)BsU_BOgf+%=^(l^nN7T(E7@S#?0+esk~B6nnc-_3r0gxqoyn zZ0d^JIpQlBv47*`@6*&_wwHKAty}5jWKOvA<>7?$U*DkphFZQHJmFW+@Q?V~jC5yt z@6)Hc+Ei8j^6`87TaTqzwrA7J{NKEKQXdv~_g@1(n`a%!x%8w-k?LN5Y^?RDv8Bdl zRirE)*&@rpM?PAZZA!nfWKUhb(e*xE{@3sO!>TvMYpZ*+_by7i`F+MJ(9IKHIRvV_w(KyuM2+SluT- zHF#$8xvFl%%FdO8d%N#`V`^{8{C93;T7Jzlo9N(g%UTEe*T$EORzycXmJGbybho?w zlJ$-)_}0ZcuJv8xJANH&v4(8xK0MSK+o7JFkn|v4^04vx?V;>d4|C6-F}0QdA@$8QqY^{A@8sXuIRX#DoRBd)K8%i2^yFQXq1 z&n>zEb!m;M- z<3eX?wOC5;(hdm|;eU$v#+}mRpGLW3J%zMFICs3bLMck1$c;jwcSw(cf}>|XF(To5 z2;m_m*Ct0H6kKy<6!NDBb&;|_ZbcSylEK*#1qtYo=nm?>l>RO{&L$$q440>J&}@eI z5e|xGND%Cxa6(eSTt@Mf4$?5h4|Gr{LxKQ?gfR}9$B;` \n\n **Unchecked** : \n\n ``", "default": false }, + "prettyxml.settings.attributesInNewlineThreshold": { + "type": "number", + "default": 1, + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "markdownDescription": "Attributes count threshold to position attributes in newlines. Default is *1*. This setting only works when **Position first attribute on same line** is enabled.\n\nFor example if threshold=2, all attributes will be on same line if an element has only 2 attributes,\n\notherwise each attribute will be placed on newline." + }, "prettyxml.settings.enableLogs": { "type": "boolean", "markdownDescription": "Enable console local logs.", diff --git a/src/formatter.ts b/src/formatter.ts index f2216cf..06a73b5 100644 --- a/src/formatter.ts +++ b/src/formatter.ts @@ -57,9 +57,10 @@ export class Formatter { let positionAllAttributesOnFirstLine = prettyXmlConfig.get('positionAllAttributesOnFirstLine'); let preserveWhiteSpacesInComment = prettyXmlConfig.get('preserveWhiteSpacesInComment'); let addSpaceBeforeEndOfXmlDeclaration = prettyXmlConfig.get('addSpaceBeforeEndOfXmlDeclaration'); + let attributesInNewlineThreshold = prettyXmlConfig.get("attributesInNewlineThreshold"); let enableLogs = prettyXmlConfig.get('enableLogs'); Logger.instance.updateConfiguration(enableLogs); - + this.settings = new Settings(spacelength, usesinglequotes, useselfclosetag, @@ -72,10 +73,11 @@ export class Formatter { positionAllAttributesOnFirstLine, preserveWhiteSpacesInComment, addSpaceBeforeEndOfXmlDeclaration, + attributesInNewlineThreshold, enableLogs); Logger.instance.info(`Settings : ${JSON.stringify(this.settings)}`); - + Logger.instance.info("loadSettings end"); } diff --git a/src/settings.ts b/src/settings.ts index fd525a4..d8dd1b0 100644 --- a/src/settings.ts +++ b/src/settings.ts @@ -11,6 +11,7 @@ export interface ISettings { positionAllAttributesOnFirstLine: boolean; preserveWhiteSpacesInComment: boolean; addSpaceBeforeEndOfXmlDeclaration: boolean; + attributesInNewlineThreshold: number; enableLogs: boolean; } @@ -27,6 +28,7 @@ export const defaultSettings: ISettings = { positionAllAttributesOnFirstLine: false, preserveWhiteSpacesInComment: false, addSpaceBeforeEndOfXmlDeclaration: false, + attributesInNewlineThreshold: 1, enableLogs: false }; @@ -43,6 +45,7 @@ export class Settings { positionAllAttributesOnFirstLine?: boolean; preserveWhiteSpacesInComment?: boolean; addSpaceBeforeEndOfXmlDeclaration: boolean; + attributesInNewlineThreshold: number; enableLogs?: boolean; constructor(indentLengh?: number, @@ -57,6 +60,7 @@ export class Settings { positionAllAttributesOnFirstLine?: boolean, preserveWhiteSpacesInComment?: boolean, addSpaceBeforeEndOfXmlDeclaration?: boolean, + attributesInNewlineThreshold?: number, enableLogs?: boolean) { this.indentLength = indentLengh ?? defaultSettings.indentLength; this.useSingleQuotes = useSingleQuotes ?? defaultSettings.useSingleQuotes; @@ -70,6 +74,7 @@ export class Settings { this.positionAllAttributesOnFirstLine = positionAllAttributesOnFirstLine ?? defaultSettings.positionAllAttributesOnFirstLine; this.preserveWhiteSpacesInComment = preserveWhiteSpacesInComment ?? defaultSettings.preserveWhiteSpacesInComment; this.addSpaceBeforeEndOfXmlDeclaration = addSpaceBeforeEndOfXmlDeclaration ?? defaultSettings.addSpaceBeforeEndOfXmlDeclaration; + this.attributesInNewlineThreshold = attributesInNewlineThreshold ?? defaultSettings.attributesInNewlineThreshold; this.enableLogs = enableLogs ?? defaultSettings.enableLogs; } }