From c92e6c2657a339828046b0bea8551dc0369008a5 Mon Sep 17 00:00:00 2001 From: BdR76 Date: Tue, 25 Jun 2024 22:30:11 +0200 Subject: [PATCH] Various updates for v4.6.7 Various updates for v4.6.7, update DLL, fix typo, version, screenshots, readme, add more edge cases to data test script --- CSVLintNppPlugin/CsvLint/CsvGenerateCode.cs | 2 +- CSVLintNppPlugin/Main.cs | 31 +++++++++++++++- .../PluginInfrastructure/ScintillaGateway.cs | 6 ++++ CSVLintNppPlugin/Properties/AssemblyInfo.cs | 4 +-- CSVLintNppPlugin/bin/Release-x64/CSVLint.dll | Bin 469504 -> 469504 bytes CSVLintNppPlugin/bin/Release/CSVLint.dll | Bin 469504 -> 469504 bytes docs/csvlint_add_new_column.png | Bin 18199 -> 16124 bytes docs/csvlint_sort_data.png | Bin 10038 -> 9976 bytes docs/readme.md | 8 +++-- extra/generate_data99.py | 34 ++++++++++++------ readme.md | 4 +-- 11 files changed, 70 insertions(+), 19 deletions(-) diff --git a/CSVLintNppPlugin/CsvLint/CsvGenerateCode.cs b/CSVLintNppPlugin/CsvLint/CsvGenerateCode.cs index e6db9bc..da144c5 100644 --- a/CSVLintNppPlugin/CsvLint/CsvGenerateCode.cs +++ b/CSVLintNppPlugin/CsvLint/CsvGenerateCode.cs @@ -535,7 +535,7 @@ public static void GenerateSchemaIni(CsvDefinition csvdef) || ((col.DataType == ColumnType.DateTime) && (col.Mask != csvdef.DateTimeFormat)) ) notsup = true; } - if (notsup) comment += "\r\n; NOTE: some CSV Lint features are not supported by the ODBC Text driver, that is why these lines are are commented out"; + if (notsup) comment += "\r\n; NOTE: some CSV Lint features are not supported by the ODBC Text driver, that is why these lines are commented out"; // also add filename string FILE_NAME = Path.GetFileName(notepad.GetCurrentFilePath()); diff --git a/CSVLintNppPlugin/Main.cs b/CSVLintNppPlugin/Main.cs index 2788698..08e974a 100644 --- a/CSVLintNppPlugin/Main.cs +++ b/CSVLintNppPlugin/Main.cs @@ -16,7 +16,7 @@ namespace Kbg.NppPluginNET { - class Main + partial class Main { internal const string PluginName = "CSV Lint"; public static Settings Settings = new Settings(); @@ -193,14 +193,43 @@ internal static void RefreshFromSettings() { // check if cursor line currently has alpha value var editor = new ScintillaGateway(PluginBase.GetCurrentScintilla()); + var test123 = editor.GetCaretLineBackAlpha(); + + //if (test123 == Alpha.NOALPHA || test123 == Alpha.OPAQUE) if (editor.GetCaretLineBackAlpha() == Alpha.NOALPHA) { + // OLD OLD OLD OLD OLD // set cursor line transparency editor.SetCaretLineBackAlpha((Alpha)16 + 8); //editor.SetCaretLineBack(sCaretLineBack); editor.SetCaretLineBack(new Colour(0)); // Main.CheckConfigDarkMode() ? 0xFFFFFF : 0 editor.SetCaretLineLayer(Layer.UNDER_TEXT); // *IMPORTANT* + // OLD OLD OLD OLD OLD + + // // NEW NEW NEW NEW NEW + // //int safeoldcolor = static_cast(CallScintilla(view, SCI_GETELEMENTCOLOUR, SC_ELEMENT_CARET_LINE_BACK, 0)); + // int safeoldcolor = 0x808080; + // + // // set to transparent + // INotepadPPGateway notepad = new NotepadPPGateway(); + // int hiddenColor = notepad.IsDarkModeEnabled() ? 0xD0D0D0 : 0x202020; + // + // //ColourAlpha clr = new ColourAlpha(hiddenColor | ((int)SciMsg.SC_ALPHA_OPAQUE << 24)); + // ColourAlpha clr = new ColourAlpha(hiddenColor | (64 << 24)); + // + // editor.SetElementColor((int)SciMsg.SC_ELEMENT_HIDDEN_LINE, clr); + // + // editor.SetCaretLineBackAlpha((Alpha)16 + 8); + // + // //const intptr_t alpha = ((100 - caretLineTransp) * SC_ALPHA_OPAQUE / 100); + // int alpha = 24; + // ColourAlpha newclr = new ColourAlpha( (safeoldcolor & 0xFFFFFF) | (alpha << 24)); + // editor.SetElementColor((int)SciMsg.SC_ELEMENT_CARET_LINE_BACK, newclr); + // editor.SetCaretLineLayer(Layer.UNDER_TEXT); + // // NEW NEW NEW NEW NEW + } + } } diff --git a/CSVLintNppPlugin/PluginInfrastructure/ScintillaGateway.cs b/CSVLintNppPlugin/PluginInfrastructure/ScintillaGateway.cs index 1ca62a0..a509173 100644 --- a/CSVLintNppPlugin/PluginInfrastructure/ScintillaGateway.cs +++ b/CSVLintNppPlugin/PluginInfrastructure/ScintillaGateway.cs @@ -1308,6 +1308,12 @@ public Colour GetCaretLineBack() public void SetCaretLineBack(Colour back) { Win32.SendMessage(scintilla, SciMsg.SCI_SETCARETLINEBACK, back.Value, (IntPtr) Unused); + //Win32.SendMessage(scintilla, SciMsg.SC_ELEMENT_CARET_LINE_BACK, back.Value, (IntPtr)Unused); + } + + public void SetElementColor(int element, ColourAlpha clr) + { + Win32.SendMessage(scintilla, SciMsg.SCI_SETELEMENTCOLOUR, element, clr.Value); } /// diff --git a/CSVLintNppPlugin/Properties/AssemblyInfo.cs b/CSVLintNppPlugin/Properties/AssemblyInfo.cs index 08a49ec..477c9f5 100644 --- a/CSVLintNppPlugin/Properties/AssemblyInfo.cs +++ b/CSVLintNppPlugin/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.4.6.6")] -[assembly: AssemblyFileVersion("0.4.6.6")] +[assembly: AssemblyVersion("0.4.6.7")] +[assembly: AssemblyFileVersion("0.4.6.7")] diff --git a/CSVLintNppPlugin/bin/Release-x64/CSVLint.dll b/CSVLintNppPlugin/bin/Release-x64/CSVLint.dll index 2e3a87dce2def23200a83a66e895868d880583b8..641a9f3cad42ba8475d668588d12231530b8342d 100644 GIT binary patch delta 20454 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 Zv2*&r(!XM@4NPYIuj!ShRkt3o{vTrdu(tpJ delta 19910 zcma*P2YeL8|Np=5yW7o8`sGM(w2;ePLIR;kuYrV)h;#wzMFPu*W`H9G2vy2Kh8997 z(gF%WPf$N}0qFt?gx;ixh~=Xw=>*a_!_rLW6ha1N%B^Miwl=r z2!S5130t~Z)!!ndv9_+L+hYv2V0Lv~*s>WyU0GXSgF&uw+ah2b|C{Z4yfp$g@V`g7 z@-6@Sg#Z1M{WbVRxvFdnH^gd}RDOZB#n-nrv{{?AlEzNUG)X2y*tD_iqGq_JUrurL zzL4~R%Gmb!(}~%Rp@1 zxaC+mtvlDA=(I3f53Z3kPcvECUR+CZohb=#*QeCtXCNV36Z>&{ZmES=We6AZOT{wx zVcg<&)w*Vf3$DJ`QlP}O@LDK%xi(!(2yj%!)=n~Dp9J8uh;&`Q))?Yl5!a(%FK?;a zMjC4g2uU`EI1HA6%*(77{Vo2%ss5O(85*@rN~NypF774x3%iZmfgnuEjU& zt!@7yyV{~2_b>YUx9SEl|I#*vSwhvg;!C&k!BLCpEHrr=Z0R^2ViQw+6}4XlH3_x3 zuKYV;Rf^G~d0I_DCfg^NQvH^BPsNeqt*AF$-`r`~n@=h>jml;an_?9v6`M~gn_0q3 zQD0$BI428yJQ*5n9k5b~l@&EQofX`{wd-D}EBo$cXyodB&*s&GtAkww?uC<~!ZXvg z{azz*xW2pB4GLY2?nhQ4F>HutTt}p=zd7}G0cSbfi)1lW}sIn z4&FfZg6qHcL!<7Ov*xg5h_&gn3{(fAhb3UD zla*f$Fc#fmlO#}4#}&_f&N{91AdKA4{|+HJyv|_hjck$e`72!&KAQaZ@hY`IPsV9#_0Pf zTI+?>@=|}}ca}OKwfrn~EOk@8)a2sNe@ixDpMC#ljzMlxJnm&nsn1EPhwGrNA zw#UqBAoNGDn0b^h)h3~4JHRJ?kiWW!Q3rG{?^Mj>K$E1Dm#-|3faq|qrqWolV3;I9 zd25s9U0^3=^!3o+5V7UKXbS*8p0o@A_8`im5sa7d#cz|RIspY`Bj;B8Y)PX`8 zXTZx@+M8Yeq>I?aL5~>VE$B|G86g!$&>lvJh8=W*5fb1#TEH$<=m{engg$h>2|8l& zS4{8#T=akpJN;I-@C;i&wUA~h@X%6-lEuR7Z?$0QJLrGBUMY3k8H~2|I2?T))z#-8aAp&81D7mnGdeE-sv2N3-5CJk(BFML0D=Kl z(i?%06!2uT7`k0$xr_Q6jj%v7^GXzP4!eg`f{_Nio(q90pqz-p2+-F3TPV~6 z$fPyHp$06Z-NRutd_fO|Lo)W$PvP(yk#PpI0Z(XZ1gd^?Py|ebRC+Z6TH-T|j)dB< zoOX$XUf`zNBB2>}_v1)-9d6PlQBXVR6{gQDz^P}*T7$Dtg;<&$1x=to-5&+XmMO8N z=6q(JM*oh2kx)QKMq_DH=&ESUe=j|a7t6P0z6H#;ga*by2dq-R7|cm$UB|2rnjZr< ze3Nl8wPoQ9F{lgOxv|j6K>w%$A@oTV2%xc5@h-3`-nC|Tb=lpBst`hAJ zBUyBvyIt!MV*+;lpY+Xy@_oC5SuHd#0op@ddIzo0fCkxl7q_%SLf_6wTAUlguVHEy zzlN(z_%%Y^%de5@ZGMeXNloS-tw!=|jGDx+u|#dA-FT}bv>PAQMUUAb9*5O4J3h-- zw5kIymuPnfR`D4+iP6FONBx;DcR+W108h}#l3TUZ%6e8!r8N`rfsdzIiCFVox;+u5 z!xCyw!tUBkM<$_olCDaE6dZgf8U0QFOoBlWN&DA?R7LR+JHVni7_d{(Mf$^$mDjfIPj7yMRo$rpX1KV-IabKtldm)gindfm@gd_*xf;XS8 zsSh!h`KbEK+M*nY@@9InKHNyzj5=&a|(+`B&1fT8cU-a!05!xI2@Q^)8|V#R#zBtjrURqGD%ibF@@F3VzOPtG*+{M zG3?_85R3EsQUh>Q-i&68D3&iu=zx;8Bq-`>TDc+E6JDUCU!@#1aI4?Gf)=ExS#*3u zXoDkpUqh%0N9py3U^8DpN32LQ>emRT*LO6b5sdRC9k5zqvEJ4QHHm)E2%17$dcP60 z@gIZ+u^GBL+9d13O|KG5^e^1RsmGk@2?p;A7j_1lk6a z7GjOWq$$+Y6b3n$b}HW$inUn%Ef=_~J6p zw`;g1Sb}EWBsIs=E-Nk%Z!$mrpvsy@8#V-==x|3(MV*Rfi(>KBTONg%LAKH`cp$>QPxJ+NwFy{rM{heuob zXETTl&MbAb_=hyZR!F$PrHa*yX#o`Tv|y#Y`eEFaV`xZAXjO?VT$u~_-YFosRu#n(pz`Wx`SZ7^BRKbx{1nwm z|JM@NzD+c`6@brG9e?_)-Rl0p5JE3|JbDDwLb@3sC_a0L%; zjWflI)@=GHQ+rLP|m^OkoZUZfx@30i(SPK4z9Dq%j#-!|W(tIW@DkrUEQhqsUE0cDVlUTG- z_m-1bSW=G)DUH2=2B?|jADQtvbiQ0lKH+ZvQ_7(&+CoI=GqhL&bz4jaj&HdeRoh~B zIq2H9xc)VxhuXq4=t`TXLp8r%-7tlh`U+2Q)OYCEbf}5JxgZ^SV_^Lw9V5pE+9Ctq z$35n`3}}uQOFOV*2R3fUJMgo1kmB5md8j+^kJf=cI5&CM6ql2D*X%7P@vhllPSU!j zoWy(PWI2iV%myJDy{$g?}-)KL2bQo zYkQcE?1glje$WfX!ml*6H*^I;NA$)7(R5XBTo04z>E7s)MoAys!VRHq`yge}oIbcq ze?-ss!ARjpU-W?~KJdFWlxO>7C}x{PhYZ8TzAfD}3|H7;G+=o7UCRFK>r?&TMP^BJ_6I~c8%wlwEwMaBBw9bDAC3eS*Q~0e_+F#iDBKdipkIx`9=6h?(U79wnO$Nj7r!$34Wma7cFEeXC{eoEw>Cb4zI#eHn{c@MC9fR~OJv#aWQFV%^6 zxWwn;g@*$l+^-Cs3a=+@N5w}yi+_D>q4>7y=V-3}$~E#D(_*-W@A>rhRH)?J1Vz5& z`l#(GhK(@XMn_D8>0SlQTfIvQra?7rUsjDCp9Xg@%xs?yQLx#4d^#?0P>tSn!hGBZ zkD39UaDwccfqS>FX;d~e)jvMoj0bd7HooE5>CtR>4_edo_poCJ(5&}xGcum;dk@EJ zE`9tSz8WldZ^(f{BaV@@T*$$9*AuyDyh~r?LT!UFjwa24cDTQtJO{^MG(9s18tDtO zvp!3v5p&U6pN^f2R^9k@Fl&4I`CJ%e>5f}Ab}+%VZtLU1)J&Q(59i4&+H)ShAFQUI z&ck`Ki~c?jD|(tb=3|I_N=MI!G59n~=EDSxB3&1ttvj8$04vy!?pXlM43lbT^VPZ# z_QMAEg@ur8gm7wHf=gr*YF~m`PoVSIWjTGk1Sfwnt+5m@C+OQtu`3?YLPi#Pon2CC zxC<}6Xm@rQN0+$JWg$JsXfyR)hP0QqUxsvr=CaE(dUzQm8)UmyiJ;|>4{`2~mSf@0 zV|dU~b`H#zVt$BKy}JnROksyKWhY%sDSsTslncyfglC;%3Io-y&nJ%gMB^X6Y%rfV z=Rc)?C@h7VqR)t(4wW5ovyAv*Ts^%HJ7H48@lR=C4AjPYpJQH5lv?T}`~M7TI%B?q z7}U3Q_r^EN^fkKsT0K0veWyX)TuKJ@72X?li?iNpmn3V7OuMas<~{v-;xPx|I|A)U zQ&HLS=Qq9`u3T398lZM9Th&Zz0=ny81<>9eB~j;0cIufFiQ+K&WCcXnHlvN`YJrwZ zC>b)}Vvb(w-v}5vd}z{2h%f~AqMbg5FkeF^KYolx?^g7kl@Jw~)yq=`YV-9_OgFBC zDu(mD=(T*POut(R@tyc{*51TQU)tFTv4v>Et%B($=BMrS&5jI}oda3T7^ohhY&GLH zuTuRp{%5sEG}UNp;hct0DH^3LNln1@byq$j@C`35N}v zTEL2|FdEJ?twP=ZrlZzC^(eo-y4pnRA-*p?y%$nw$r?!MlZ=*_(9H2TLdmB{aBa&>zD~Z zQ`wjaN8)29f!}CjCXsGji|0#(?puo+n+CLc0Za@nzkT&3swU7~1-J`Lqelz)Ip5;~ zNPTk==2iOeHtS)(9v%A?p=qwvK{p0I_!rDG@=mK&_Y_j z5DPy^`xZj`ke@NFC6o_A(M;U9|4hFq1V@;$KiVo;g85sOW>v78>gKJ-HTVDxU5|bI z2ko#PYC5Y9(AB4d9()FtT70!vWcCdc4=(EBOQO|RU5s|Cp9mBzqI`e?ehg$^M73T~ zzZNcoaioOQim~{qfp4?e!dN^0rm;of?T5MWc)~nt(!dSa=1#Qc2C#>);K#nN>B66v zdXkRW0Bsvg$Gj>I?%hn&AD5^%P_cR$w7}N^tLZ<8#(oT;5gi6$RYEdnVO?}}Mu&+s zb|ZxQ#}6)TKidGb*@!PqkJ%-GuHFcN{=`8R*MyLg6=#!0L!`*qMP53H$g|^rP zR%eglI!F7cQt&C)t0&Q5_0hg7L>G}KBRT8`DhJP$Z) zV5Yx&h(W_~I=>To*rJw|eFpDKvo0R5g8~2XfOxE4{EIw}6Wn1>@YoQhFd*9do=M$K zuYQ2XhX0|xH^X}PgucSxB;X5e@D`Y*&HDUm=+55yJ+nTa?%D!Y!~RM1%L06#dqvr_ zcb1#>ev@_Or6T-eKL2BV{r@xN)b5y-Rn{&FA1GFBrL@vD>wsVs_+Tp}D}B&StxHR` zLR5A3I{;j&*^d*f!Iq$ql+vYj63Z+EKhi9xk=r0Tgs~?qShHs1n@M6{bpq|QjYpYL z+c3)PqKmgd102F%ZG+?({#yXHCXXGA z6p9zCzZg>OFgs7AsDg%njT9Z}(;^5hA1PYXraK_PXi}fEn+E<9r|AaBS~_b7)bj5! zU8hZ>M|MD~s;zOiS#fu80=3d9FqtOogs8sd!a@I;W%H$6IGBZo(v&3#7H<&_{y(C@ z`?PQ;#;cvPbZP(3XmAU?D(-N~MT0uCb=j=Y!%IDsiww(irLjXw>-`F;6b{WPYw9h$ zFEzO5>R{+R9sDyEctSzid~G{({6l<+y-M4B#258ZA36aAX(KExYhdY6ZQw3+&ytVH!(#RyNKm9xJUexb&W4Vw5Gq5@WlK0Y;mA1l{=L zbE*?M@I+|@c!zRgFZ2I3djfxDr)?H86uq$O6js{2@c)yfOG9ASyjj@eh!9lNnM zPw1oF_^LUKMioP1G@EFA^y8NP$&&*{jN?Xt`+g2|eq^cg=EJkAtgqHPJsi{A6nR6hcy)tkF5l zN3i%=0%I#@zJag3_^PJ+JY!O?qgjp1r#nA|@P-ZYbqV|FAx96}_3#;j+LZ426e5&1 zYw`Xjzju~@7WzJZj$WQ^QfPs$MDscwysn3G@#t`&&Mja)HZQ1r=O00BXz4Jnv_a>- zKo4K);hY}2ZNyx?GC#(EgZt!i9kv-wrFrjipV|v;jX>O$z5ts6Pl224hmH6>_s)Kp zi?3g!58z>tmAVdKlt`stG0LFN*<}&$H+0(}JREyWA0NVx<$us7hw-a;7@d0<6I7>17`3EMdo znY7+fJSxkhLyzKD=-ssVC?+^ge_(WnHu@3|6aVKv_9c8^f>-V_C-DT$V2pGppN92* zc)0%cRd@q`gA!i?zu=);)HVD{F_5ml29xle%6c6J<1a%dUx!h++qrig3oD^81W(=pD;f<53xSs_pqLpaY)o2aWrM2Qu zU5C&!kDyaIRmLo7;$x^=Q}3%7vNG{^DzV9_l?>`M%oKmi$==bX%|O+Why~F_kKs)` zseSMmGB9qZJb?(H?)FchG5aOWoTo6ypBF^60`3&l%v(8dk zgZS1Qf70?cYmHxR{MZVu@Cj)@=hM`{TByE2-*T#zsR4B5Gl;LwDo}Rv$6Hi(SjcOm zhP&@QgO?DVvQ?6*b?+t}8D^3K@t3>R+IGjE?@7`{_lxJ?{MLEl2!b>_tO@=FX@c<@ z=OtmMMo7|b%LL=Nqs*RDYM;W{Wv(_;lFkHAFm4iDA9=Jq!B`}?74k*2?-AS?xg>a^ z@vPw98as`Tg)kI_(_Rye@|UbYmpMytWxi!RI+U zCmIh4;iho7F8Hb7-#O1V*PA6t53mK&F;>CZ=4QzC%oB}7a5}ONOfp&o4?qr(CK;nR zACdC#SL9}|$;ST(h7d`LGk8s*UMCIFPLSR;_B_sW=6&sr{I-st2WJ^4Yiz!QIll;= zW}G4TcjO%7G~-;s{<9^ir!?KTL~t~+H}V?Jd6Fepl3rPy#)&6cd3jO`tK^g-O-|z! zAta+iE7J^Pmf+%HlGIhnHs%RFh@2eqo^gxd3&?dtW*QF&u8-*(h0HbpIBf{?}GtMLfVo8Fqoau>mo$hkqE$SVZfIXgd8f>q835oX?c(E2Akr!~zmNuasq@(h=C(JG)XB`xpf3GFz94Sffn2*W_IA=>& zFhO_Ym-6VRnqABAm^`17Yli*K0xr)s*TwQnjA!M|g4-j@(pmWcrj1^wR~0ZdY=Akr+ilkdr&AbUXY&%K8h?$7vx_A ze}n7;7v-0NpCSiH7iIYe-VtWgEmna`vY+5kWN+jU!FF!{Mvf8OoZFq>$nipW6NM7v zw{o)J5y-Oit^AtcsXT+ra&y5;c?Or|48dEFds(l@T?HRTUT3-@_ZEDE+po%R3;vzi zou;euC?N#lYpoBI$m0c9M-Grm#+V*?$ z@#owwh2f;|mhQ_JbllwjK)#{lHui_|k2>ybeJZnN6y*OD)b*^e<}C(F)GUMf)kPPG+r^8 zwES8i=h?lK4qh7fLf&8}%3!m`&M_$LwEHMOY65S8Ecq(wggbEVW%pBN>iAQ8kaACB z=_;lN$*L^y)-t@0?2TO6M`P)pB<;6XQqp}HKY&^oI5*0{%KI8SAr=K62v&9qhhKPr z3s&%_>^#9srQhcgM0$_T;pkS`=eDerOi>{X+c1)TGwWNhJid$dwH zoMpH~%0#|yucj=HV4NovBmZQNSGH8q>?e?4*lo&1#!hs&k|Rlf+wIEC8qC2{K(ex+ z0VPO_X-YfaT+6R*OtcmDh#C%-d`fH&yxw)&f&AWsqPkFf~&~Yb-6m3_)tH zq^4*sT#K9=)LdyS_+#XrQcGn^EzN!sxwWIEvZglfd|8(~;t5(SD^fN7m2(^Ah~Vh& zScd7!_k!ziZl_eQ!~8v~bO)t1XU{6#QF+>!**%Z6qoOq7Z2s&at58S9-zkJsD0rg~ zD)>6G4|Gyu1wTg)kUA+g!SW-PL1!gJa4@nras$C}+}=fLA-E2=cTw62ZpH0g73b?h z=*AtoDt!bGLiT~zl|h0hAqPmWE2A|QUEWQ3vzgXo^Uy$E z+ybX#f)Y2537$ccr6g70MjD&1V1g23meNY_Lu6UXQaT78n#CU3ROJo9laT|YsY*Y= z+qiw2GDPsF$j$(1nle@s_%p3-pRTl4S%tEt->?7-5lVl-X53Qd204{sf|HP2JF=B^ zg0*Lwqxg^VqTr5G18yJw88QhYh*Na1X&RbpJFjL;m+Ek;SwXO30MM0(<(p))vX_#;DX*FBn5 z`pzs#&mHR(+ftsL6o4BmkTxjwT%65O$Q$JiN>jmW(EoSG1|^;I17I&7%>Rgc?jytg zTFxK2o+k~$ba9DMzfrV{KsANgK|d{GEwpxNy)4NFtTD>kCLCDH@9clE^vEo)s&JG%sTQ zo(z-80M4GdmO{?$X7(jgW!$k|f)w(7vBve0-*hI{BKAF+kd8vX#M-1M=RBzo@=x|U zusTrsVp!tj5_=Q?%y>H6zkxjr((ML2QEAroXkL71<(K z8v|)%_!Z56Irnc%@&#}I6{AmXPzEUy!XfU^o;>61d8Qpn;8iUHZH#mxkM1&FA`SXY zl4xQl^1a}9kk=x=5IhTcb7E%_a!>Q8$R8zkA>o2II8oS_*o`z7!gl0?$U6idL_U%D z2Kh+vS>$ub*96~2zMR;dnC@!@yyV=I#0w7iU6Sr3_8~PnduB~vQctso(dMznbmtp7 zYq)VBxu)m(gUG}OEce+WxC|!K1;Q&j8?YziEt%@_1DJ1?OFO12kEXDUvz zNaw#)nL#M$Jo5u9&bzc3WV_%2evIF9lKn#P_mQNx(`J&Jf_I(2xIm+T1a!JqiD0^TP!&RU(i8b6vKIMX^hMNd^T2@1lHj(C>Jr&$U)^YY!a1%MjdA9WT3f96+ z)oDfKIA>3Tib(h~eS?ZfN5S2lm;j_AGLZ|O78a2r&Yl()k;|O5M-Y=0>3TuVHT2LdsnC#)~X+bfOpX*ytOd1I8 z&Kpon-sbFSKrvat+0%exa)h&IV^&Pgah~lI�JO=0c9N7&CkgD{xP9;Pw{CQ9qTn z_`d8WjdTpsXQWjH9>w{Hv=-yURj<#;yP93nj?zCTdpJ91OR$DLf-i{aXI_9*3ArfY z3sQ%3p41Zg!}R?m@E5HIw3F(?T)0mT2%gFlJRm0oQ*Qr`T;!}hGFf^^`o7|0M(U2+>1pOiWU|q~#*j1y*;{%- z?g^fO?9=Xh@`g#XFXi?hi1TwH>_)-T?iso0r8!*X4!@9QX2#jl6Xb|?zmmzEXG@hg zfK;{J3*ycGli<=Z^nwI&&XHQ8y%yRV3m%BvxZNM5i{KgD{$~(j|7A2AGzDCENfuL* zV2pJh=JJ=)b(H(I1MgFuJ!94AeUYQ#qTw{}7zU zS@t&K|FDczqX%cj>Fq0o5nS-{4i=on+3X#|S*wt@M7$g6IJ=#?Q7@f{U5>mkPo&?_4jrP;VcSg+68#$a`t2x=5)M1)w#XwM*P?0 z?q!$Hu9J5gQzdZ6pOjPI4;;Cp>C8u8*fN$(HeNpv5b?x4x|cHhOZQ)~Uicrm;s3ME Lom$oFwAcRwa2ac( diff --git a/docs/csvlint_add_new_column.png b/docs/csvlint_add_new_column.png index 29fcad4408a9579435cfe9be77b3f2d5a66f5625..365165cd450e472cd47766126f5edcc39ffa0564 100644 GIT binary patch literal 16124 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%0DpLfqp#6k;|{$CAv9-VGX)m_~itTr!UNrmi6_ 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∈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 WZ_(}z)%;2FQkK^MmC3&T@P7bgd*F%y literal 10038 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 CSV Lint > Setttings` dialog. -At first time startup, the plug-in will select normal or darkmode color scheme, +At first time startup, the plug-in will select light or darkmode color scheme, depending on the Dark Mode setting in the Notepad++ `config.xml`. ![CSV Lint color styles for syntax highlighting](/docs/csvlint_color_styles.png?raw=true "CSV Lint plug-in color styles for syntax highlighting") @@ -324,6 +324,9 @@ current `Apply quotes` setting in the Reformat dialog. ![CSV Lint sort data dialog](/docs/csvlint_sort_data.png?raw=true "CSV Lint plug-in sort data dialog") +Sort on **value** to sort on the actual values, for example date value `31-01-2024` is lower than `01-12-2024`. +Sort on **length of value** to sort on the character length of the values, for example `xray` has a smaller length than `abdominal`. + Sort **ascending** start with low values, end with high values `0 -> 9, A -> Z` Sort **descending** start with high values, end with low values `Z -> A, 9 -> 0` @@ -644,7 +647,7 @@ and they are stored in a settings file `%USERPROFILE%\AppData\Roaming\Notepad++\ About ----- -An about window +An about dialog with the version number, contact information and a link to the documentation. Disclaimer ---------- @@ -676,5 +679,6 @@ History 02-may-2023 - v0.4.6.4 Comment character and dark mode support 04-jun-2023 - v0.4.6.5 Support enum/coded values and various updates 16-dec-2023 - v0.4.6.6 PowerShell support and various updates +25-jun-2024 - v0.4.6.7 Reformat bugfix, improved enumeration, sort on length BdR©2019-2024 Free to use - send questions or comments: Bas de Reuver - bdr1976@gmail.com diff --git a/extra/generate_data99.py b/extra/generate_data99.py index e6e9fcb..f6f7237 100644 --- a/extra/generate_data99.py +++ b/extra/generate_data99.py @@ -194,7 +194,7 @@ def random_lorem_string(c_min, c_max=None): else: val = ("%d.%s" % ( random.randint(1, 12), random_digits_string(2))) elif col == 42: - val = ("%d.%s" % ( random.randint(-9, 9), random_digits_string(3))).replace("0.", ".") + val = ("%d.%s" % ( random.randint(-9, 9), random_digits_string(random.randint(1, 3)))).replace("0.", ".") elif col == 43: val = ("%d.%s" % ( random.randint(-50, 20), random_digits_string(3))) elif col == 44: @@ -261,9 +261,11 @@ def random_lorem_string(c_min, c_max=None): elif col == 67: val = random.choices(["NEG", "POS", "readrror", "-"], weights=(30, 10, 2, 2))[0] elif col == 68: - val = random.choices(["NEG", "POS", "readrror", "-"], weights=(30, 10, 2, 2))[0] + if random.randint(1, 100) < 10: + val = random.choice(["Hb", "LDL", "HDL"]) elif col == 69: - val = random.choice(["Hb", "LDL", "HDL"]) + if random.randint(1, 100) < 10: + val = random_lorem_string(10, 50) elif col == 70: val = random.choices(["mmol/L", "µmol/L", "mg/mL", "g/L", "g/dL", "g/100mL", "g%"], weights=(30, 20, 20, 5, 5, 5, 2))[0] # random texts @@ -287,19 +289,27 @@ def random_lorem_string(c_min, c_max=None): val = random_lorem_string(0, 40) elif col == 80: val = random_lorem_string(0, 50) - # random texts + # various edge cases elif col == 81: - val = random_lorem_string(10) + if random.randint(1, 100) < 10: + val = random_lorem_string(10) elif col == 82: - val = random_lorem_string(10) + val = random_datetime_string("%d%m%y", -80) elif col == 83: - val = random_lorem_string(10) + val = "yes" elif col == 84: - val = random_lorem_string(10) + if random.randint(1, 100) < 95: + val = ("%d.%s" % ( random.randint(0, 1), random_digits_string(random.randint(1, 2)))) + else: + r_int = random.randint(0, 1) + val = ("%d.%sE-%02d" % ( random.randint(1, 9), random_digits_string(3), random.randint(5, 20))) elif col == 85: - val = random_lorem_string(10) + val = ("%02d.%02d.%d" % ( random.randint(1, 12), random.randint(1, 12), random.randint(curryear-10, curryear))) elif col == 86: - val = random_lorem_string(10) + if row < 95: + val = ("%02d/%02d/%d" % ( random.randint(1, 12), random.randint(1, 12), random.randint(curryear-10, curryear))) + else: + val = ("%02d/%02d/%d" % ( random.randint(13, 28), random.randint(1, 12), random.randint(curryear-10, curryear))) elif col == 87: val = random_lorem_string(10) elif col == 88: @@ -360,8 +370,10 @@ def random_lorem_string(c_min, c_max=None): colprefix = "decimal" elif 51 <= col <= 60: colprefix = "currency" - elif 71 <= col <= 89: + elif 71 <= col <= 80: colprefix = "text" + elif 81 <= col <= 89: + colprefix = "edgecase" elif col >= 90: colprefix = "random" else: diff --git a/readme.md b/readme.md index 7ea5c89..92cc930 100644 --- a/readme.md +++ b/readme.md @@ -54,8 +54,8 @@ want to install the plug-in manually: * Go to the [releases page](https://github.com/BdR76/CSVLint/releases) * Find the latest release -* 32bit version; unzip [CSVLint.dll (32bit)](../../releases/download/0.4.6.6/CSVLint_x86.zip/) to folder `.\Program Files (x86)\Notepad++\plugins\CSVLint\CSVLint.dll`. -* 64bit version; unzip [CSVLint.dll (64bit)](../../releases/download/0.4.6.6/CSVLint_x64.zip/) to folder `.\Program Files\Notepad++\plugins\CSVLint\CSVLint.dll`. +* 32bit version; unzip [CSVLint.dll (32bit)](../../releases/download/0.4.6.7/CSVLint_x86.zip/) to folder `.\Program Files (x86)\Notepad++\plugins\CSVLint\CSVLint.dll`. +* 64bit version; unzip [CSVLint.dll (64bit)](../../releases/download/0.4.6.7/CSVLint_x64.zip/) to folder `.\Program Files\Notepad++\plugins\CSVLint\CSVLint.dll`. * restart Notepad++ How to use it