diff --git a/README.md b/README.md new file mode 100644 index 0000000..5806d81 --- /dev/null +++ b/README.md @@ -0,0 +1,55 @@ +# Cargo Features Manger + +A TUI like cli tool to manage the features of your rust-project dependencies. + +## install + +`cargo install cargo-features-manager` + +## usage + +To start the tool run `cargo features` in your project root dir. + +This will open the dependency-selector: + +![dependencySelector](resources/dependencySelector.png) + +Now you can select the dependency for which you want to change the enabled features. + +Selecting a dependency will open the feature-selector: + +![featureSelector](resources/featureSelector.png) + +When using `cargo features -d ` it will directly open the corresponding feature-selector. + +### navigation + +↑ to move up + +↓ to move down + +q to quit + +Space | Enter to select + +BackSpace to move back + +### dependency selector + +Dependency which do not have any features are marked grey. + +![greyDependency](resources/greyDependency.png) + +### feature selector + +All default features are marked Green. + +![greenMark](resources/greenMark.png) + +When hovering above a feature it shows other features which the selected feature requires. + +![featureDependency](resources/featureDependency.png) + +Features which an active feature requires are marked grey. + +![greyFeature](resources/greyFeature.png) diff --git a/resources/dependencySelector.png b/resources/dependencySelector.png new file mode 100644 index 0000000000000000000000000000000000000000..f142caaadb77dd26ce745387b31e7ff3ae510af7 GIT binary patch literal 4402 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 literal 0 HcmV?d00001 diff --git a/resources/featureDependency.png b/resources/featureDependency.png new file mode 100644 index 0000000000000000000000000000000000000000..7a7703edf742f5ee4381d8d426009d44c86e09d4 GIT binary patch literal 1893 zcmeAS@N?(olHy`uVBq!ia0y~yU}RumV9?`WV_;x7zWDeQ1_pK=PZ!6KinzCP4TH1| z1zi3!TCi<@z$4QrJz=u2&?G^ji4%n;7pvEqhWeInb&v9lyBSy36fU3r^kPQYGS&6h zfB%n-jjdJp+~ohS^04L3-MfGP`}ND}!P~cQ7v$^bO|ICla#L7blVSe+`Sz~<^XAXz z|MhLrHwP|u3({LYKRABw z;L@L;#WRH(+S}XTA3uKlrPmy$f;hdk55Nj1GuYVL{;e~sudMvJZ|6?S7n|8M8J<7A z#P#mdpP$_(oD6;qaTduF@7=#I|HZa#EjL5Ur^k;UU;p;|_wV!XJbx#MAALM=Lelck zF30ZL0~U+y`##$W6zpGcYM=KHiMoMUy z`}Y0&_Sp4RQ2e*Ug1fic8rdZ^Kv{R(GzyRdr_ajKa$-Prk{&@66e9 zD_tfw!6EnFTGr!JH?*yLrNy8zZRw*+g;9SL=gfY;=8j*!jrWEbwWiDEO&Kj*`?g=u zW#Euv_7d3g!Z=JnT9l#Ry+vJQds~#oQqiT?>va3xynk!e_j?!HuBU7>v~Oi4fBhwV zRB4gjpIsuFwC%W>Z`belvQOGCcKp_!NQr%|^H~3;@cgM*Z@*=$ z3d7!yIzLbBDzJXnKCk;M*MX?pf26h^iItwGk}uy_m)w3uxi9LA2=jf-o*V0rZZykZ zSMnkC?A%z+cTEmcqWAv0aBUL9mt&L5uCo8wJzMs`N|1Lxs8s&e*yZbzR5-iiNpD!` z0qrY)GDKsyNNu@9X}$F_+y_+@qOHnZ`(SI6@~KK}iStwIktm%a#J>AgB|_1`F&>Cbvqz8QYl z9zWxaW4>F^19`4R+ji;yJiOD*<#Tw{W6u8@nA7az{vR@|oiDa$zaL|U!}he0C#tIX zu5SY`Hh%Y>WLr3q>A{+X)AEd26+HEP7$&J$>S{80Zb}Yfn3QsS34@QqdVQ5>Mb-o+ zO@@_xEwZ#1~I5jV49HAD$>AtMvUR!%w^@*UH2>bOi~SEP%{W-2>7!{Jof#J zn8$gZcgnhFZ_L{MOs&2fq*$ckUi^u#2cnns|9t4bNf)Ag$6Nbn$1PQZ7{0l49bif0 zI^c6#li{~AYXXyT_m-n&FFj2!o^SECKTzcMmig~j)%xH4{YHN(b#Ej#Cq?hm;Vm;XFMcBEvTBb zmG=eL#pnes-@LVNZT$A~_pS49uRr(L5+m`n!nB01CPDkdqgI0-T(MPGBwbnRcKN@$ ze(U4PiA)BJ^9=Ik7nXLfbG43Iuw00t{>1YB(^t=S`}VKw*J9B9|GuF+z2%*h#r;c{ zyK8N}_5b_K|8CPFiSu3lycoQ@Nn*nX%Y#cZnM8j zH}>a#{yA;I|G;{=?yl`7=IJVSpeT5te)uCq-vw`B1`&f}9Ub%L_2?S(RW?oudl#k` z%24%Kcp}pV!x<{~)+sP9V!6`o{ZH<|kx#lSjI;Ke9^5%=_un`T4~1P__qd)%&zgSt z-(q>jMaie4J~C=DNH=>vdh0c1Llt+S=EUgtMlxIP&w8K}BjUX!Xj{-OiR;~QEIFFH zF6~$=&gd^HKLKjXi_c$vP8E%N{XAt$b>J48_WQqeZ?bPWocw3jx^G`&&KLiV6!`UZ ze!cFCZ`BXq9sB!m&z}ADzTv;5K8S$Aaf4ySrM-6@0}WnIQ1IZ2o$0XU(t`f`Z<_Z1 zWt$fEdlzr{gbjB4`XBCN@GlUVQm4ND+s35pWyZEs{y54kI)6tZnp^%~#TkFW`BKP9 nTjgY*C!@zC*~v^3RIH!b?+{8ZEmgDP1J$CQu6{1-oD!M<$HAm< literal 0 HcmV?d00001 diff --git a/resources/featureSelector.png b/resources/featureSelector.png new file mode 100644 index 0000000000000000000000000000000000000000..bb6bacce53b8f76243a01b2fbc7757c35f278cd3 GIT binary patch literal 4812 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 literal 0 HcmV?d00001 diff --git a/resources/greenMark.png b/resources/greenMark.png new file mode 100644 index 0000000000000000000000000000000000000000..df64ba19171967d2cc4c8bfc85200a5447b2d0ab GIT binary patch literal 1540 zcmeAS@N?(olHy`uVBq!ia0y~yVB}_CV36lvV_;zTkoqEdfwf7SfH24+JGVR21fBb{8v`dTIDO?cTn1 zug*2CoGCZunE071{$XWd*H*up_w4S$g9nv7C#7_i$4yZ23{pC(QaJH&dgAS{ zD{?oMM8w3!>CKxrPi*`4?ajMt6Yl?&XTHw5$EH$tvtake$wz+ApPtlI_T$ah`~U57 znU_SYxjF5>y1IJz<;$0kUc7j5!8-B$NS!i4|4rgajC}t!w*P*&eCvdoAE`I|JvT;d z*8QI-|5)MRUYM#N(eBTmKOa4M)U}+oyNmV5!+)zaYT~8`x+rbe)fCI#_VmBrB8)G8Ui|p+yj5LZ-&_{U(v;Su+wR>RKf?} zyNkAT9etJf{Q7f|i**ayBNTr8>E^t4bp1z19#c(?*8ero?-NxWH{d*k?D#u>tM zmESM-G*T1GdH<-@b&=hRuLtCAFO+|6DyO4tmv_bPctGQ`t*@F&f9n=BUSj{{e_Nzx zY3aTh)=PgJ5WAhLJWo*Vs8i#iS1D6ua+ZebFw75bSlK?yi+>|S)vYE6gTM_Hd*y#C z^u_e-lJ2|vZebtiGj*FQ7u(*;d^qf{XS#7g$IgO8n`x{2W40{VQfc7$H|6n`Tj_G2 zOb!;sDrC)1P0r9MF~44M$XqX?f3vY!{Fe9EOBi_csUbZ4iB&CeZ|t15Yat#_}O8=e2YZi+^1u*uHox0}zr z^||UQIs0%_?CBatTUN$7P61|OtK&ZQ1c-Lu+RPPG62hvyrHfTQ>yfL@zNtSyUQgUD zbX%x<<6L#Czz*Bnul{O^Z&knVebi~?TrGyl{3m<%sd{Y>SbI`-tN;AF=R#tq%u=}W zD(ZQ6!eQ6B`tK$sG=q)imRS5)V#gE*Q0l!Q_CET7b-mTm@0Nc{PIYP>?J=A?D`(s1 z%hJccK9T;s+-0ThX|L~_@37Y1(Ujoc|F$UVt+Cy_4_j|f2-D!WczeRNpQ{cQdT(=B zU*RSp+UQtu{Sb$l1e7DWchW-G8emTW(!vpA)stz54y-CcUWo1Cdn?cdg=0FSKv-%3dFC zqa1QHDca@eqHq7@ch}vW{ryi>k4w`Fm&cp8KMV|&U!|Gj{kvw>xkB&93Yrni>n?_! ztQY5wRng0+x)S#L!`d?0U#}a#HNIcJaecSf{M}!EycGFn8NcQ2Y{%C%7x&%Uw1NNh zUG)pv^8~*+={)<xARtbJ(Q@4Yq5I!p0nwFguy#$A(#F) zrW+Z2{sbMm_NHG|UaaH$!Sw%@8?V~kdc|}sz2~Uw^S99f8$0$)xoQ=ELjG2Wf!wd1 zwM)Zome1&ocyoLI3iW(xQSSA>_Z!J?G+5@xDR?KX%T-AAXwr#uN0mIEd2}6}AkwX( jIU&hV1#5}=kM+asqrxU(Dk~Tm7#KWV{an^LB{Ts5u=Vl< literal 0 HcmV?d00001 diff --git a/resources/greyDependency.png b/resources/greyDependency.png new file mode 100644 index 0000000000000000000000000000000000000000..f82de97661fbd1ad8a4ad5543508be4e39c978c8 GIT binary patch literal 851 zcmeAS@N?(olHy`uVBq!ia0y~yV3^Ioz@W&%#=yXE&fw;J1_ov+PZ!6KinzBk4D*T% z1zL(3^bSexU^La06_sTb<&_l`6_qtto#oN2);;&R;{W{~7sciaz4=;Y+w=DOj~Qpv zzArlQK-o;>=>J7$!j=T4X4X#bv@I%3_+1Q^ub%ngxgzTE$JM*rIr-DYpnYT6iYvKg?M9<#bz zVJrLPNr3E@ym0xm>wkUuwAk<1>byG_4Ch@q@KLRE$JgC^a?CpHLk0Y}jwG8Ov%4Ve z@2I$FoBPEbrx#D$>d#vCcxPPPORnrIX5sSY_Fs>v^?bD18`aje>ubU5@{MQMzDO(& z$jH`ZS)`yA=O1iPuDyIwxF7%7hsT2dTq`~NmuJfdX$eY)<-8_)-S5JSYuG7T^JMRS#=FPA_7!&-cKz!Sg z{D;SOr@gp%`S@9X+xWe1kCRVo?EMw{uk&UV|GHmI2ESOD`!YF~2e5G5y>)S7_+$68 z7Zxw?pS^#2`YTq({E07)PyKPKI3hm|6mstIosU-+$sC@qufcY_aJwO2_l2^#&zFbi zaY=qo&dHu5{C?KKtH;msf0?QE?0v36PSw1cU1@u!zHTc6d3l+=jg|(NdU*cz1i_E) zv0~@bRcu!&uhmahsW<7DhG_Ml;O*P+F>99CjWdO3YhI`HMDOoT-L~ilFF0vNPjs8P g)?+b_lVf86PVc7#J8lUHx3vIVCg!0N;3^&j0`b literal 0 HcmV?d00001 diff --git a/resources/greyFeature.png b/resources/greyFeature.png new file mode 100644 index 0000000000000000000000000000000000000000..3718c4f8b142927285f71da054d6781d0f1f27ad GIT binary patch literal 1127 zcmeAS@N?(olHy`uVBq!ia0y~yVA#gMz#zuK#=yXk`zGxb0|Semr;B4qMcmt2hJM0xx>)eH?5EBVt@jdluL7q3$v(fNXeEfU+!qWxV_w7>g=t}Wgna-J%1E# z_U*>J8}rkTx6QqK_pWRB^=+BQ#s9SW`T2>($Hy!0-MhCpC;RE|DSKkCmu0R!@bAwb znS^O_^78K6wr={n(DLB3@;i6$^3LD4Zfjgz9NW)N>*}MlH!S9;EhsQ(=$Ade@87p? zWt;d-)NhmlGt$Z@88->dHMPIoPRG~ytrcS)j0{mYa4t0 z7Hh^rsST;W|NXP8Ij;UQViV(Yw%^;Y9PATq;&u6UK=sGD^XJ{S*$498c=7dX>4xXM zhuSW0-tN89^oE!H8a+Kdx3Z3mb-ylOzI^oZ<;zCu`}gdTxw-i8;loGIo;|xMf8O`+ z-<>zSjIUkX-rk;QlV4t2YkTGQmCk>qaU1g8zPiU>QGP9-{Odt_?eTdVgZ3#{+xKKY zXOI7QdizODmgqx~ai32m3u-#9Hd!i`BdhY%Khye(R8B+6#tC9cTsgUH4V$G8ALcdr z=CI08N2iYG;Htu$|M&DA4zj;GckbM@r&*8x2HN-d%bx#nc=NB1$xEKO@2kAO{8{_^ zeZGFK3DJUUMGdnTo?0oEv&4kcS5{(eRCDgpMa#s(FC9{p<_vw8AI!30(Uw!Xd#=s1 zW1ZbQ=a#|=ciY{S6>J}5T%>}Zb2y&ZTxY%SS6SGPrM?f=yT1K%V}+me&l%m{;;tqb za|Emv(k+f+%?aYa^`O1}uWJnk$0~2xyp7Z2Yo478mNI6t z7VX?y^m)n8#N=OQw+e!#-L=@HC)Dga%W}o#^qj1N*S_A3sz)!c1>qw!dWzB~X4Ea(HN|N|t{k_+Qgi;Ts~DrVg-(MgWnANmMZQ1SUgKxbmCtBrA42=WUu5%*zRSnbhY8^U(;=7t3HG+e6#+)!{lg# zm0~&76o1-=~Iy_x^z4qJJ^=2Faf4|;cb-i|J!fN@SiR)Reitl$9 zynBv6_fM((wtr#j%X=B4%dg*98aLVU#onlKACT&aRViu4P=dXv