From 3f22168d06279ec6f514c0099a626a89aabed274 Mon Sep 17 00:00:00 2001 From: Daniel Bento Date: Fri, 15 Mar 2024 21:20:09 +0000 Subject: [PATCH] add actions to move tabs and groups up and down in the tree --- package.json | 72 ++++++++++++++++++++++++++++++++++----- resources/dark/down.png | Bin 0 -> 16775 bytes resources/dark/up.png | Bin 0 -> 16344 bytes resources/light/down.png | Bin 0 -> 14193 bytes resources/light/up.png | Bin 0 -> 13599 bytes src/TreeDataProvider.ts | 49 ++++++++++++++++++++++++++ 6 files changed, 113 insertions(+), 8 deletions(-) create mode 100644 resources/dark/down.png create mode 100644 resources/dark/up.png create mode 100644 resources/light/down.png create mode 100644 resources/light/up.png diff --git a/package.json b/package.json index c7638d3..dd72012 100644 --- a/package.json +++ b/package.json @@ -112,45 +112,85 @@ "when": "view == vs_tab_groups && viewItem == vstg_root_item", "group": "inline@1" }, + { + "command": "vs_tab_groups.moveUp", + "when": "view == vs_tab_groups && viewItem == vstg_root_item", + "group": "inline@2" + }, + { + "command": "vs_tab_groups.moveDown", + "when": "view == vs_tab_groups && viewItem == vstg_root_item", + "group": "inline@3" + }, { "command": "vs_tab_groups.addEntry", "when": "view == vs_tab_groups && viewItem == vstg_root_item", "group": "vs_tab_groups_1@0" }, { - "command": "vs_tab_groups.openTabGroup", + "command": "vs_tab_groups.moveUp", "when": "view == vs_tab_groups && viewItem == vstg_root_item", "group": "vs_tab_groups_2@0" }, { - "command": "vs_tab_groups.closeTabGroup", + "command": "vs_tab_groups.moveDown", "when": "view == vs_tab_groups && viewItem == vstg_root_item", "group": "vs_tab_groups_2@1" }, { - "command": "vs_tab_groups.editTabGroupIcon", + "command": "vs_tab_groups.openTabGroup", "when": "view == vs_tab_groups && viewItem == vstg_root_item", "group": "vs_tab_groups_3@0" }, { - "command": "vs_tab_groups.removeTabGroup", + "command": "vs_tab_groups.closeTabGroup", "when": "view == vs_tab_groups && viewItem == vstg_root_item", "group": "vs_tab_groups_3@1" }, { - "command": "vs_tab_groups.openTab", + "command": "vs_tab_groups.editTabGroupIcon", + "when": "view == vs_tab_groups && viewItem == vstg_root_item", + "group": "vs_tab_groups_4@0" + }, + { + "command": "vs_tab_groups.removeTabGroup", + "when": "view == vs_tab_groups && viewItem == vstg_root_item", + "group": "vs_tab_groups_4@1" + }, + { + "command": "vs_tab_groups.moveUp", + "when": "view == vs_tab_groups && viewItem == vstg_child_item", + "group": "inline@0" + }, + { + "command": "vs_tab_groups.moveDown", + "when": "view == vs_tab_groups && viewItem == vstg_child_item", + "group": "inline@1" + }, + { + "command": "vs_tab_groups.moveUp", "when": "view == vs_tab_groups && viewItem == vstg_child_item", "group": "vs_tab_groups_2@0" }, { - "command": "vs_tab_groups.closeTab", + "command": "vs_tab_groups.moveDown", "when": "view == vs_tab_groups && viewItem == vstg_child_item", "group": "vs_tab_groups_2@1" }, { - "command": "vs_tab_groups.removeTab", + "command": "vs_tab_groups.openTab", "when": "view == vs_tab_groups && viewItem == vstg_child_item", "group": "vs_tab_groups_3@0" + }, + { + "command": "vs_tab_groups.closeTab", + "when": "view == vs_tab_groups && viewItem == vstg_child_item", + "group": "vs_tab_groups_3@1" + }, + { + "command": "vs_tab_groups.removeTab", + "when": "view == vs_tab_groups && viewItem == vstg_child_item", + "group": "vs_tab_groups_4@0" } ], "editor/title": [ @@ -224,7 +264,7 @@ }, { "command": "vs_tab_groups.editTabGroupIcon", - "title": "Select Tab Group Icon" + "title": "Edit Tab Group Icon" }, { "command": "vs_tab_groups.removeTabGroup", @@ -234,6 +274,22 @@ "dark": "resources/dark/remove.png" } }, + { + "command": "vs_tab_groups.moveUp", + "title": "Move Up", + "icon": { + "light": "resources/light/up.png", + "dark": "resources/dark/up.png" + } + }, + { + "command": "vs_tab_groups.moveDown", + "title": "Move Down", + "icon": { + "light": "resources/light/down.png", + "dark": "resources/dark/down.png" + } + }, { "command": "vs_tab_groups.openTab", "title": "Open Tab" diff --git a/resources/dark/down.png b/resources/dark/down.png new file mode 100644 index 0000000000000000000000000000000000000000..f2d53da1145b4bbfdc85b05a3cff56cb6104558b GIT binary patch literal 16775 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 n_vimk;Qyl&z#H!^lwn1g@l|Y!knX$ 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 literal 0 HcmV?d00001 diff --git a/resources/light/down.png b/resources/light/down.png new file mode 100644 index 0000000000000000000000000000000000000000..5dd2fd3fe2478ceff9fa36e05840ed88ef25cd70 GIT binary patch literal 14193 zcmeIZ`9IX_8$bRUlpIB;PC7?fD$6NE%W&+`VjqRj*hXnFL_#vQDV5U^D%qE5F*D7K zVU!6YTZLq8HreZpFf*1gLx$mVJKyi0@cI1q_IP-B%)DN&`@Zh`b=}wXd_J$s{nH4$ zEx)M#0zuFg2m2Fl5G1R){<~=-_-5eR#w*|tEYi)+7Aou7%?BUkF59@+Ku|@7;!5BK z@LA!S{kcd8QhK-k3)}IhBNl>8HaeWJ@wn+fHKed|buoTsZBQ?AtJa;5F9j(KUK8_AAUY?5VAI+JW z87-V&o~o;ln;D;LK}3v0QO#9m`y$p3!+w*&u=cfe1gv1_%&&~W&N z?(0Y!$?G;9sI;Iq{O?)InD@A2@7Guz6xc__ZBS`WK}mQCcQO5vM$u2)uGKpiWAa3$ zq9>IJ2@n)g>BDFW+WzGuB)2-y#n)h+d#?_ac3SOPl{@%u_d}~1m%qy9nM#>1&=+)l z_wv7QtF}*L8?~<%tRAQ{@~gFium;zvJVy2%OMZmH`5xlGFK7BO_kb}%i;?WnrA!yI z|NjvJr|A<+5!)F(AS!9o={XO{P$(lA$;@$9mQWV@a;J_J7`zymQ5+xs9v9UJ$r)3p z69;vqO*DDv>M}vu#hBmG%aZCAh}N%l!`kjdL7ww}N4;p%QCmtR$Hc20nS@cuoE+nN zy8G*?ooU_V{D-TgAgfJ~9%m?n@o8AH+H>=&uk*$)n`2z50a~2|45CsTtM+kK8`gL# z$6>^UI1Tj^P&Rl8u?ckm*$~4I_7RJZ9%d$LPfi4IY__%7}4YDBCMRgMD7x zM15hRZ9l&;>R+0CXm&o%-S7}PZ2~S8T%DkHQy9DJe*?J1T}wu6EF z_1-p}qNUM$*0RA@)8)!doAl7n?#dS|3%*-tfYO0ll zFUOL1=OY`U@)L86_t(+UDp2Zof0EepXLf9oQ#RqKLeFgdQFZpl!W5Ni<1zM7 zM*~t!jxOyDC42o^X;rR-XnerY94+QAlfX3)!T35O1mT)Wl zSmpi)zDV9m;`{Yr`^YvQ{aAm1NyxKgh3guwP)7!GqWK>$9-VY+MA==sY&8D%?`x|Z z!_mvk?JSZQHuSP7&=22t`HL({eekepo0=Wap!Nb4>;KB*eB^T@5=Vk^nRPV4kbc{z=dnP2AtB4YU^G9lirgM}u7QBDgd1hFQe7va5 z*Ko6x9JdzyTC~6mKTgjLm6?AzefzC7=Y_Ri zcm#T|%Xty_1vh|z=^#djf;k)7A|JOt*;(i?kvdcAQFW-{ugTAu?SumDn7yz|#Ny2_ zH`o-8E_{C{iXo{mO&hGBF(1o0_jbiMWyV(q1=!^R1uTDHkJKHlmH`hV>So_D*KB{5 zSdroCf4dhaQHwu``AU;-JSvTN#c;#<)4#c*ntV;9myxj?8{Xnj)PP)L6ua@o*f2f4 zNwvz0nE(10{g;#yTnQI;jCVHUJO`~WuHFp^h4rMd6K~QRRLhZ?;|XnFFSOm13t3t@ zs+OAw3{I8!#rrTi!9*C+&iUb^oOc?c?=;a@kL2Uoe{*88StJtT=8P%0k+FQHeJ=4} zk+%j!yVQ`?VK~8(x?5&7J&uqMGUZ(D#wacxdarI-<4N9uTu@tpyi?`z$cg0Dcunce zR|@*6jDG)&Ej$(_E^#A>Z!SR zxYbGAjl579+Filk0eEKS;3|8cm$Ji%#sU`ak=$eLtXGb>vQnQ{_6YiNIL4mJBezgh z8vD#EMh9Wfls1jni=W#{uGfhq9$vH17mF&yOkpT9FQ;V2+4$B)uPU-eaTh|b-1EvH zI!zQqEZPngc(zX^n$pvWs#P!CEd4kC2oQvQad#6weHKBnv9Hrs!E*fea0Xkr5gxo7 zr^x2+P!7!<6G+}Z%!Qrco%Kq$IIKWpQ1IMYcixS_x#2^oOo7&-B`JFAXOVgN?76ea z?=bF?G6ihvfL?+LJsqc7&T^-|QP|0InJD#`w<#-DvLE2ecd*e7nc^8YL*2ncYJ~^w zA!ilA%?pPco?2@-8|H?-OF9At;u+^>?|OLkhX-i%q^aH+G%m^#Xd|HZGXF1<{HO+y z64|Ng0Z-EZSb&V*?_f2QWL3Gt6YX@NH+^H#r07ESPs=^9(25~etDCU#Ilrp^JTzWn z?eyOO{bmUC;OgF~htL~GOTuC%+pO`5gd^BP?GCx-7EUv9mG?fC<2vI=<-KT`no=-s zdsXb4ZJ*TeC-BpULT+S<9#zgANNJfN z@~sq5=T;ohYRd3LLj)vzUiM~0Q!N`QzuTq3rB3665A)W=>%Qxk!^&Oh2mWYeFv85V z=}H#)VV6y;2EMfMhZRttrLpAJcx0<>T5k#~OaV2-DS9Y%6MlWc_X>aFcU99Z#y%_y zQaNK#J!=q2Voov!ScvYo;FkoW4ZJq=SzZBXqu_;sX>e?zHbfh3jT zYr{<3arZ5oVT4P(fofqVL9hJw6=Ui`;zRQA`6Qkk?a%1~gbVdTaZBe5uf`6x<|x)9 z<~UMb3q(*vq8?2DACnU9EP}UC6ICZ?bOgRB7KK)Oax`oN;e~+arxQsk{a4h4z#P0# z3!68fdu~U_+k;o)-&9~uge}S$m4_8|fzbfdI)f8 z_n|zQ-~G1O78fJs^?<3ztTIba%XDP661az4c%B))Bc`yZ3*#aaQgjdVCdhZP3Mh47 z1CFgKm6z8-%|3oFI#6ko@OxpD2iYW=mBBDSOZoWr5J&UZr(Ryp^7y(G5Mm>(1m^18 zyI$k3iv@i>m|X%j)*CU*@1^1v@jX#~N31=W^BTgqDPDRDA3}e5p-b=SxWM!Ri&5gV zP3yS{7pN`NjVZm3kYyhn0FZPa)v66aOEMjmv-f4CVeIQl8RQX zI75-%UOLZ?7+5>BYRi|^Pd+Ke6+iUFLM}MsS{1 z?&MiYt)?;py7028wcSnlvm}DT(Z>}*V_fz1MD&nVonQ!i@Jzi1t(J2%5pHycG`DFZ z%d;v%*|o|U{`p}dTaCP(*$Woi7aRC$G%RTqE{!k?|00`vA^N#b_tKlPN)V0`7MHcK z=ayI=sacij4yxrzu3iq1;)~&HK86QE)kH_b#P98o9R>}T*G!qLPYV$IRmW~*0LhBHx@I$(j>iI3_Fr*m(VD^Ii>Bu%^3fvLTd zaLzdeq0C3FL_0i2U+L1jxMR6^#;5Dv7^E5A>gg`=<9AZl6tGz=9^lUba6Y#rDv6TN zuh8IkK1ytRjwe&A~x~XbauMQS}+G`-ZSa8vfD*L=;ibC?=wvpz! z3^Ky==+e*CoPw_MhfwyZEw61oW7OydAm3#IcZX`4*U*L~ z@BV$TP|^U=?DJK%fTR9mcGJ-IMrQ3PwA!EWF!-hleM1_)EbHyfH{IzjMrIkP&&l}@ z{4>rE?K`K+(1?yf<0>ypZjxaNjRZEYQXZcGeEWJB!;4(2X>>q#E9SKBn-rp=`_P*a z0_Qk{@mj*!w124q_Rv8-a@j7~?r`poe#>?XN$?z`M0b+_$ zoaj8SeP6c|u3Q;9`0rJ|6?hr$PSadpr-^&8O_q{Ca#lsyW5I_UEB0XF06_!)LLiIc zb6yOVJ7x^hT&x9MVt3Xa()1nZ+I~Umt`q0iM)3(LK*cHxY> z@aNMA%F%Nplhl2HJ!Dy$voJJg}vf!BepS~%T z)6W=j0B`M(4R2x0qrFd-rgX!JZssY(QfA3DW{a+k*Q?K=)fA5=YSJ7k_z*x`fO+#4z602F}LqH@zXh==Jw*U*!V- zOAfVBfcVH`@j)cslQs|-JR{f9VAf=5PEYKG`?unKw4qC-(_hu{kn)$)ybL;*pG9TK zb(CWU>FTq=(&CUo|6=HOo1qP{C(vqz>+TvGBQwT|b~DibERk|Sl$pYz!u&41#~GE^ z=XE(Q?p~NUxkX7>Gpk3);K(=nE;%!nf-<`X4b%?x-B}9SW;Q>4TlA0Uc2pQZy8@Zk z`rzI`<=mZd1P1n4K$ra@VxtCB^s-6hnzvT;r zO=N49WT%$am<7C4#vYXVU>bpG76zPuf}p4?RiZa+#$9T}@;M1rPBcElx=Rw*QX-b$ z2X!4(Y*s#+I>r`Nk4E5DefJFgdDVInR#zS0Z)mDJ(H=`u@m^~6nCC+izD1L7%Cv$9 z1x}*-3KPfG^wzZLi2?91^>Y^kYxleJ^5{{n#@WP@y%M1ZOvOvSbd924dadtptZ zrbM%B#;cNuWgCW6OqP#4Cau?yX}QhFhrabgs+(}pjkoZ*(p?7C#d({&OyoBC^KKv* z=VUI8?CrNX{+cyAr1^v+#(cJ+TF(g3q~O* z{S^P6t>+@`JHm>f6?Jd80`nz4bv%qF4o+a=ViFRbh{4f>H-43NEOEs zB9;*hKN(aTTdi@Nz|Bc+naWY{E-(ic<+RLj6|%E|vt1Hv|G-Dx9c_PV2)Cvd`;Me~a1zm9w8XOz77}vJUY}12g>D75qK?wUYK;`Nm6>MF+M8 zc?bmXIi_g1O-J7_<`}BrYJH*L&SKen^}3g_W>vYNVe=#)M-<%Ph+Ii3eNPQ_@x8=w zr8r2x?kX#U`Dr`~o;a@kmC1Q3^&^SnN@gi`<=AWTaysbmc*7Emd~^Le7tbUYJ+9TH z1@DsA1h3B`b|`2&ba2{{|AWoI;AeqgqE~Z8=IQ`(tpM3z4M`l>;ibIj-Y~)Q^K7| zZ7El;lfiagFY<^~LI(V)3Ume3^WvZ@(&8&C=)mpJm%S#Ac0}&Z)E42W=%ZZq^5>9n zms)M;%XzVFIX5S@Wr`g|lxrtX$6J^eWg;8)sg}QI?$}QIC9@}xg>Y^KGMYWr(=!}X zzeDV@X*Dud{o{b2y_}p6X{rmYx_${ z$~k3YyV>`rVQp8%^^?Vk`AVt_DATw5IZp2Uc3l>anYXSVp0S*}HtrGb9PTFuaOUd| z9fj0*G`m)+fMOwF*g^9NE@UtLA1o*C#RU6;V#wA#q;gIw-vw$4x#nDWqYW zGxIiY0AjNR0X}aj|Dk`(@zMv)7L4oUDrxU%WJ^WAshj0(pH^um5KVF`%=)CMmHo>$ zf&=G-kuD7qlbXx7W8IU-kzrNhNGf2mb}nY}*fX5#+;C^Ap`PKv-Q|+n@}!+Hm^_n3 z2P!T&&1c9(S|nHc$ncVPt>ip8=CrT*P_J63H-mdVqq9-1N zC*qtNe*><^I-8uKOPtvfxAU??Ys6HZ5}@rJ(w2MH{Prf&v@@*HmvU=0#a-xF06>uX zxp1eHbC?r=-X`k6!@8Xz+SWt^kTkeEi(960N2Qt_pNiZJ?(|5`v8&Y{mt{k!J#3z5 z^uG}pbiyo1dfy)zU5(S#^B4EUxEt)2>A;$58toEqh`Az>dSv+bBkW28Kp{#~ij{Om z&C%pL9>6v|;7vqbA}^i}_0j0Li#ajf61*(RlR(^;{^+W;_2>O2;)wh1S)vHewkZ*X zxYdJo7JjGKWsR-Fnp0MjP25`l|8&4T4@X>Z8Ve9e7&{h|oT!&G;rNd7u9g6h`!`{FrMl(VV(y4uW@9@B5%`)7Z^3WK(}C zPCKo)hM(8=T%!k;+4D>}dgrJKb9`N33@P4Rq`+Tvk0B`vXr>S*1LNey>t;-VgR!G6TIbnuy zK`86}Eta3L?&Js6SE61iK$X7coEP3yy;#+%8KUanjVCSPoYX0#^%0O#2*|9>Q1x$d zCEMMEif4IeV_vFfdDgnWn_ChG{rDUpu9cJp{eY<*R#1~fU1vCv^`=EHHmZjsVpJEr zZw%lIbaZQ^OQGbumgpVk5b6jBXDm0N0C?ihsM-(LmxtJrrJkQsq>R~jrA;DA{fUr+ zAJ44Iei+PIGG#=ci23}r9hf>+$JYe~AXEr@pt{>$ulz^wO8pao!GeB{EK}J{c-fYB z;~K+L#%v6XGSf~fd&6z7oM<;-e%C3`zmGZk%9C6>wytY@OHU!H?v{Z_}N;lIqO7SHnFL}s5q~MW{E)Rfg!`_t}gAiNYX4tl`kne67 zezLG@VZxy<^hdc)LF3y)(5;Zx#-f05duozb+6Zr(QLFxY#d#{?I?EeJd!$q*L7sZ~TcQVp-K^Y)sg=dR-V3~oa~%TzMo zQ30A5OapPqmvrDeylN)2`EB1VODZxuKuw1F`Z}c&y&B$Hkbi?FXl=XO9}ur z{Q8LB+_o5)q~r)Ul7q%RP?={)(HGC~JSj_qT8GMzzkjV{OH7#634i(>f+>F7q2cWt z;OOc|1Qa`HZS>&BpX$Yey8nc55fH*5R2MrANPbAK-{D~+E?!O#c(+I!$EiuX(t7zo z+lK%NNXWw#A_EpwtHOzv+g?YfMERqo1wiI6`wcQ02LRrZHA@oTEst0}!N8n14$I#B zae1;d=$MjI z7d^~>GR&BJ89_0@_a3{$mjsZ+i{-O%wla`PPdfiDDO%=f#IpT)OxYs=0wtXB=ZzJe zqy+&_X#YMaqKi`3#bI7VIHGoQTq$vg*~B+nN0~O?Ze_Zl&VeA*KK{i+_K`V$N+8QP zo$-;=t`OsxLYUtk;k=AFb}wDJH=UN9e1? z@WcSu#%uzxr&k z4SP}swCuZSpl-3-GJ_CWCy9&qS(nJ_ae~W(zDK>?z>B`V94zrp zvW+q07^49yu?i&5>*wcJkcVq(Ty+V%h^!P#RB#Pl`APmJNwddxX8Adgh%g=tC8HOw z7L1oOSApWZXd+Q1*AGR;VbXp;t=$=;&3+>xS|DFX!vb=C_Zek0=EzXPaTKuzGk|0aSBtUsD) z?Evk(ptOnRM(qrUu@Pto#vgPk)|5TY5f=FxNRp4K28;o{PSn zD4en9iQkW&v4K#OK`qX{bJWbuX+Cwr^LZNPjI-oLhsxEkqhSH|5afd|E^n~Ao>kL5 zoR@vZ&#(M!6EaB`csxN*3wsv89^d>K{C`4S1&|Fd6OXeF*9}rPHkZ4YtVcFW)t?g{ zt(ze%oRnF=?!*6*K&b9NVvuT%2i4b+yDh>GQN3~yEli+Q75(qC+2zy7jd8^FD!h45 zb%FsbR3!riE1(P?_VY5GDboKol#{^ZuMbj~ z6&1<3KlLjKVLbitjg#n^`lH&DKvNPc<(!Pn60JtHuOEeiE{#H!*>R=ZZQy>V1goiR zf%XNE68A)JkbL!sp{TU+SQ^g8{Exx>KlsUjs5Jh@S=JrSM|R&1c`G=`u`W6J%8Pt| zfx1=)a*Zz50Aw^8{GdHtdGy;lxvbSRaTU+Fx6gOgN=D|>qq+e@XFsk@y-~F#7Y3#b zQNxwxFE~X%x7QFMGE~BRQ$7Zx7Uk0^DGf z&QP4|sho2pwUn26S|8}ll*CGiY{|%rh&ZSIJuv7&ndbpX2HPz7b9K?fY1~-z8e*Kt zT~kRLklh9yGg)wME#ck=gs~)w$F6O~1B93aX!{oaD+N?%slH4p(T~;3gs)4brx@>o zUOQDeg5=7~TP#U&F@|xww4zX!9EUK20tppteQ3_KQQssJw%(8;w#sXDHikhGj~LH2 zE4n(br&_HbEC=Jh{d>0yb*)RaDmLF*4$`l{>{?uO6W%$+yK#aMCTNyr-6x4h&a%pf zcd|eY9mPP(K)H%y^%Sl{TFcBwc5(qhgUC&?b7@di#a*48@KAJuO3gESZUvKg?L#bc zw>t0i#Ff26nw)KQ7f84aR9;`D74)Qjf^7-YPs2rer&hCCwtLGT&A-@cF!%0JJfk4^# zLLQ$Vk4RE-uG2pa=^I5J!=9@)syl3H$XQmOuuD)L)av}#fbZo3{~EYEI_Cv`>d)!YsM7*^#{ZAOw zXv^?rOhk?gh+ZYZFKz5B|K&*5h%HkzIV1OJEcDt_*D}Wi$gLA?2JQw8jAC7UG)HQ{ z2Y|mW)=@GB$QLSt6Q68C%<{SbPZZmC&6J2wCuig@zb0J_fcv|;P+MO?gipW;HpBVi zBs@lWLqZ>%<3o%2eSu3@eZAm>xW4SBXv4m}b?pgSQwE|P6{HR7m48C72-2HbETr%L zy8ZOkd3YErAGH7U)J?flAF$0FnAJr&>iKU@4bA>cVN1F>Kd|Zn>QAa+$b{?>w`;cg>i-8hJEK!_iy^MAnzFvWt$?Ox^XG zTg^$v(WEEHwHbKg@bZSJ_mNMJ849%cDSW5(H0#hF?oy??(2ss6`41&0kP;gp=t{MV z1i_f#45WI73&Il0_=|TdU6K4%{vEa?=|#kH22iCZ?wM;I3kL<|N12_3eC0V_o6Zr> zm}6yTeQ$Gp2oxaFe0;=jBW+B9pitXR`PgH~sj!r@6`-Z1eS&KX+v(>(nog|N;{*`3 z_55Lehxc!p;8ZaY{I2)I%~xx`xe|yQZyA^q<4Q8{bu62<)G3MkO!!hu(DtW>>P<43 zh2~09D-|8Bb18gH^hwmU9>r{x)N5rJ^!^h*}Biu4Lui z=p!bdl-0T-U6?BLm^p8H^NZ|6uHkPeb+&KD1t1pTDsM34acj-voHLaedl5xd*449 zPBVa0j$vV&jKT#j{5X7pQru3jAllb5iIU_G;Tlulie*nTbrpvogiSBY*f`iQ1#w3_j;us zvM`5rXoKS$3z~&^0N2GtL_ha5+%Nk3m(;Pd{BEG6K^^^KcguA8+<}O*^EN;^6|U)Y zURcX7%Z0|W;q$jno~E3aYSO0#T&K-dxX^dL=317TMOKrrj{P8{ojh%L-e*cXbfbp; zZN_qh$KjvQSTSr9ZIfVhvMHFJRe>7j+*Wi2pufXp{q_j7nc0x3AIS>4VYWi_(_^Lz zmK!&Q1vT(={!=!i(XBm)@#CGvk|QPvIrZytY|RBoMn4}@DcTv_8mK(xRTp#(Cwc+E zhYdiD`uRxAq7uIZT+2U=#QL}L`Wl^UPH*GxWSJ)(PNsiS}cEN#&rt;7b zg?hwUwoxhui@)h?2FNfick?k&0P@DzN|tEyQc1Ac4e({P#qACH$@|>YW(3-Isfvd5 z>)99E{&4T~l1QUIu9q&sLl@8J-tcl=Rt74~k0yO~JZN{Ej^*#?4*?TzAAw-m4wmWB zos}~*`PY$%{y@;3wq{<30fYbSfWflcNPJ4BOKu)=E|%DKiA6MCQK0=c2rhIc5kg9& zkL}8H?{W?k+C`46$(;38L*+T50)*8*6Jujlgw#!8VxlgA zW~;n;aO<70!urQZ-M^Vgvlp{{EyMX`PoV6_4ik-s&2^+#UMUF2E`w5RC&3UeS=)%( zpNCb@uT^863C0B~bIbfgYx)%pN1g~eSLlaT8r=X8_r3vl_*u{Y0xlD>G5%AvVje%D z?W?ReI{Vv(TnnYhD2Dr7sFjcKN#!zV3AD;oFX&PQEgZS#n$UKfO91dS70Qls&t37m z9~I{#c7scWuuY98s0dM^hha*x0sZ|wYoEl2o5NtnMha?Q{|(Co`(CRQca85^5anN= z6;|8@T0)HEaHhI(pWN5yV6(l46!=YP5c94zYnSxUZmBjg9H5f4^^njbtGTY9Oc2=}HS)c>6;vlxgP#?3rAsDL>9FtNtN z@IcT~VWzS8&Ahce=&FQ4s04PZ!pI|Zn7#1OZi7p7RitoUFenlQJ(7VS!gF;$szVDk z^NhhI>yUU)&R3q{HVAU&)RUrZ$=?Oh3Rr_6rA>|56gyg3LE_af7yjTtqo3Q_H^ScZ ztPTFqg$l|MX1F{n^T~<_t9#U}L2SbIeKC+~Qsa->rTPp>F+SuC3J`=EE6c1eK=6d-m;O$Anw=$kMP#|5nAhB(BqrH0^%&>1B#hgIw_O+p6QihsnQq6Yy<0qe(yD4 zqGwWjRu=hDX>t%W^p_^5osZO|<&V_k7VM$Y|HgBr{v934i0da=p{Bt?y7;YNL?~)3 zsica?&5G&_$N*StUuF-C>s3@)zpu!2@=$mEIH zstK_ooFx~{j5ydkOA&$O#f11k(AVhq2NrU+EBc_Gf5W-TA-!t;S+-lEhvet_n~Nk& zC+@}}GnQU93_pQ#_k!67Gid-(h7*a42xC~TN`@TdJo1h2$j=5i1!Ifp1vmv78`!~G zb{AG?q>V(fZh-w#IR(09s_<0^EF3XTXmEr&{;AWt{mQO*yQF;did zCfkAVi%2>p`AV}>UcLGr2Z57aR-ojlryOBqJX-8-eGVcEH2~s=@fMIjDx5NK~BMIQ9)=+of7ekY%pL$ zkdttMuS<%4S1J}B;hO4BX7_Qu>8|k4z?_MmFjDkh>kR3Ep?zQ# zMdap_>N#CbR6x-LlTl0SgOq~0yeH`KK9nAB5551b5Fu z`YAl-PThi`m#~ku%%%0MrJXK&T%YYZeE0Vk$XP*ja1O9u|E1ZtwM6umUoQ0xfDNF@ zEx3-@Q*SltlNDwMbivRHZ01`-Cu&nu<#K4hE{t{uAS-VKeCy3fNf*t;2j?`hE>}YB zK_iuOO3g=?(d7F-!0H~G85KQ7%H9)C$^$$G=BXJ$5DDDIKua^@A$_od&6&)#BlL~R z!p{L<8tmGfkOaT!9YP<^$I=+`Qoon4$Vkd&xK<(kBN-@MBY5u9^O2OZboCaX`dmtNQvP;WNB?FfQu# zRQ~WoWby+Jxv6!#yJZXbPb1n%LFe}wu*8;6=zk@VZZ1LKz<)U~K;&XCTr_k5!-Tla z+YA>Wlhe}xY5?FGg1F88{Np6}&zFNzaGlG6v%FZJnp%ad?_d)f8NeG7qaFvg3Rlkj@!9k@t+=&e-`GEuyFYo>l*s>ribJk?snVUP5Lh0u$Vvo zTJxIIoxTSP+~cKA$i9mP1J36Ew!XFBtmL)nss0nKy9I)n7;jsI zzTbU}O!}=>z3{@dyUWOah~0kuoXT6RMxS;nL6Fz|y(~9*El+Vt5JCZh=x=NuVv^G= zXhl1vAt;ihng7w5cKvn!d=G_u89dKm@&`T<2Ro4MX6Ty~OT9G(2JNp6#tg=2rHRW# zNo$Y2G?mi^2Kgsux=0a%zF4jpG31oH`fhg;HbD?JXjSxqqjto=fkFQEP8Nc?n+Q>h zJ1G{CULSFuv=J9DKp}rO3Cud>A#QfHD@cs zhu~GaUju^1UY!&?<1`;TcpKL;BC{2OOyq~NF*3E8$Xa6yb>#xUbYWH3n zgUM!}pv3$dalYhAJ}U(=w^dRaGEU`G@SKudx%>wh?e-JkGIDP=rSZggKR00uWcGd! zp7?40i${`6maSvK{|053$Z3s}d44IwOR4`eIr4S~D+4Y3mZ(NuHXg~$$?)kE;m9pIzq^U)@cy3y`VxpJ>X;g2X@PS zu{N+-<`C;LCFU(wr82mHV}A`S*2~Fsrh}XCctUpNt$BG}aOB2tAx3Xv?r+0qBSyd< zw*GjDzltLj_Bal4QnfIO2AQ5e==NNj<+`I3IVob^FHhQJ;3OVs2RUoeH*k%y4MPf zENKkn8;2i)mz1k~>)$$BV+jWa=kZJ3gw*zGKf~S{d2?_ebaX}VhXem~rbTrh`Y9Oe z_D0uWGS8_&rH1$Z2;zUwSEFW)JCyMh8>(9Z%9nH@__@vSqs221{4EnZF#~(1vkqx$ zfY(cdn=c<`R8NJ5AP)V{&}jp{vLl$e^k8`wT6i228esTsl_YyqzDi1J z;_VsA43Yjk)}>|N$W;(j?@_Fsl$dn^U2H$FINhzy@T4#t$vkusuE&*5f}mUl@r?Iv>0`8KK8;`Nv`rCqpDa`@q0eY_u@Qt3yN< z`6v<<>2k8z+M?o!BZ*FW8w11uZ@TZm*mY>(`sXRLt&~F`0~7NigK(tZ)MEd84USON zBeCbQBJ+KdC&7asgg;)h@suZ-uc1WTeio*{eBW}3f8o#lkBBI4F;ulF?kIGI*UB!g zKsh*wsuNwrh1us$IzR^2GMk7Gqu+`~>lY{f3Hf^@EtTBGcA}7jq@be<5u}eO+Ut+` z={R`ycrtM1)@4>FCC05%AW)@{d!^`iK&W~pG74ByUvrR8X{_X|7Hz2Oo!TbicSbZJ zp;pKZ8#qYHZnFZ;K}`3xUDjrh=PnXj%r%NYWU0rDmo`L%lbATkk~j4(h#hR?Ah{F- zn@1fxhrOamjKOY(Gn*?Zo(t;jK`GoXUo(SF!Opaai`+qo1LVww~xrnVyCCFhaVtY^Ia`bjJZ!w z1^*Fbh!*F7!T5{ppdSZEW{M*YuZ4;JcoRj_r9VF(-II2)wdT`QR_D=e5OMocI|2q1 z_T%*Olb=Nw8u`R8wrHB7G#2J1BTXM$G0}LavNZL4UpVmH!Y3_S*D4Izih^2MChl4I z2Kv}X7wbC#{$1ZgI(|BjaS{a_;5{n9-I@7U@qFB$UziOx`(0g)rlfr3(R8SKFu@Hm zcdnqXkFjV_&T+50%eq{;7s`(hk**qkAwYEUH�*R16>T%WccWU57(TJBW}$M31}c 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 BEkytT literal 0 HcmV?d00001 diff --git a/src/TreeDataProvider.ts b/src/TreeDataProvider.ts index 78f8676..3e928a4 100644 --- a/src/TreeDataProvider.ts +++ b/src/TreeDataProvider.ts @@ -47,6 +47,8 @@ export class TreeDataProvider implements vscode.TreeDataProvider { // General vscode.commands.registerCommand("vs_tab_groups.item_clicked", (item) => this.item_clicked(item)); + vscode.commands.registerCommand("vs_tab_groups.moveUp", (item) => this.moveItemUp(item)); + vscode.commands.registerCommand("vs_tab_groups.moveDown", (item) => this.moveItemDown(item)); // Editor vscode.commands.registerCommand("vs_tab_groups.addEntryToGroup", (item) => this.addEntryToGroup(item)); @@ -491,6 +493,53 @@ export class TreeDataProvider implements vscode.TreeDataProvider { /*** LOW LEVEL ***/ + private findParentOfItem(item: TreeItem): TreeItem[] { + console.log(item); + console.log(this.m_data); + console.log(this.m_data.filter(e => e.label === item.parentLabel)) + if (item.isRoot) { + return this.m_data; + } + return this.m_data.filter(e => e.label === item.parentLabel)[0].children; + } + + private array_move(arr: any[], old_index: number, new_index: number): any[] { + arr.splice(new_index, 0, arr.splice(old_index, 1)[0]); + return arr; + }; + + moveItemUp(item: TreeItem): void { + const parent = this.findParentOfItem(item); + const index = parent.indexOf(item); + + if (index <= 0) { + vscode.window.showErrorMessage(`Can't move this item up.`); + return; + } + this.array_move(parent, index, index - 1); + + this.treeView?.reveal(item); + + this.m_onDidChangeTreeData.fire(undefined); + this.save(); + } + + moveItemDown(item: TreeItem): void { + const parent = this.findParentOfItem(item); + const index = parent.indexOf(item); + + if (index === parent.length - 1) { + vscode.window.showErrorMessage(`Can't move this item down.`); + return; + } + this.array_move(parent, index, index + 1); + + this.treeView?.reveal(item); + + this.m_onDidChangeTreeData.fire(undefined); + this.save(); + } + /** * Open a tab in the editor. * @param item The item representing the file to be opened.