[{"data":1,"prerenderedAt":457},["ShallowReactive",2],{"project-9087108":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":45,"post_text":47,"what":48,"said":80,"maker_in_thread":180,"shape":190,"grid":194,"attempts":419,"same_week":420,"maker_shows":40,"maker_hidden":449,"reader_version":450,"card":451},"9087108","Exa","A replacement for ls written in Rust","title","Show HN: Exa, a replacement for ls written in Rust","http:\u002F\u002Fbsago.me\u002Fexa\u002F","bsago.me","cytzol",1424555080,2015,132,87,166,2565,7,"notable","dev_tools","command line utility","cli",[24,25,26,27],"ls replacement","rust cli","file listing","git status","mixed",-0.151,{"positive":31,"neutral":32,"mixed":33,"critical":34},6,17,4,15,42,{"idea":37,"execution":39,"design":41,"performance":43},{"positive":33,"critical":38},2,{"positive":40,"critical":33},1,{"positive":42,"critical":31},0,{"positive":42,"critical":44},3,[46,42,40,42,42,40,42,42,42,42,44,40,44,40,40,44,44,44,46,42,40,42,40,40,40,44,44,44,42,42,42,44,44,44,44,42,44,46,44,40],5,null,{"problem":49,"audience":47,"pricing":47,"motivation":59,"time_to_build":47,"stack":63,"openness":78,"stage":79,"team_size":79},{"value":50,"source":51,"evidence":52},"Listing directory contents with more useful detail than ls","maker",[53,56],{"id":54,"by":11,"text":55},"9087470","Thanks! Years ago I wrote a wrapper for ls that just added colours and did highlighting - but not only was it much slower, I couldn't do things like preview a symlink's path…",{"id":57,"by":11,"text":58},"9087476","Do you mean recursing into a directory and summing the file sizes of its contents? exa doesn't do this, sorry, but it's something I've been thinking of adding. ls actually…",{"value":60,"source":51,"evidence":61},"Built to improve on ls; maker wrote a colour wrapper for ls before",[62],{"id":54,"by":11,"text":55},[64,70],{"value":65,"source":51,"evidence":66},"Rust",[67],{"id":68,"by":11,"text":69},"9087592","I'd really like for that to happen (compiling to a standalone binary is one of the reasons I picked Rust), but I have no idea how to go about doing it...",{"value":71,"source":72,"evidence":73},"libgit2","commenter",[74],{"id":75,"by":76,"text":77},"9087626","fiatjaf","It seems awesome, specially the --tree option. I would love to try it, but ``` Download and install Rust Nightly for your platform. Install libgit2 and cmake using your favourite…","open_source","unknown",{"praise":81,"objections":100,"requests":125,"questions":149,"alternatives":165},[82,93],{"value":83,"source":72,"evidence":84},"Git integration and symlink preview are useful",[85,89],{"id":86,"by":87,"text":88},"9087320","zeekay","A better ls! I love the git integration.",{"id":90,"by":91,"text":92},"9087442","TN1ck","Works pretty good! I really like the symbolic-link-preview. But I think it would be better when you just add -l when you enter things like -h, -T, -b, ... or allow an option for…",{"value":94,"source":72,"evidence":95},"Works well and is fun to use",[96],{"id":97,"by":98,"text":99},"9088097","EpicDavi","I am using it right now and it is great! My only complaint is that it is a lot easier to type `ls` than `exa` :) (all the letters are on different key rows with the same hand)",[101,108,115],{"value":102,"source":72,"evidence":103},"Requires Rust to install",[104],{"id":105,"by":106,"text":107},"9087514","desireco42","Am I the only one who, while I think this is awesome utility and idea, find that unless you are Rust enthusiast, likelihood of using it is very low. I think there is a need for…",{"value":109,"source":72,"evidence":110},"Column alignment looks buggy",[111],{"id":112,"by":113,"text":114},"9089701","on_and_off","It is very promising but sadly the alignment of the column mode looks very buggy at the moment.",{"value":116,"source":72,"evidence":117},"Slow on very large directories",[118,122],{"id":119,"by":120,"text":121},"9087455","fsniper","I would not joy until exa is tried over a fs with more than a million files. Huge file numbers are a thing now and it is becoming to be an engineering challenge.",{"id":123,"by":11,"text":124},"9087614","exa can certainly handle a million files. Try running \"exa -lRT ~\" and watch it produce a tree view of your entire home directory! However, by 'handle', I actually mean 'run…",[126,136,144],{"value":127,"source":72,"evidence":128},"Distribute prebuilt binaries or package it in Homebrew",[129,133],{"id":130,"by":131,"text":132},"9087521","wtetzner","If the binary could be distributed, then there's no reason you'd need to install Rust to use it.",{"id":134,"by":106,"text":135},"9087527","OK, yes, that is what I would like to see. Maybe if it would show up in homebrew, then it would be good to install.",{"value":137,"source":72,"evidence":138},"Show directory sizes",[139,143],{"id":140,"by":141,"text":142},"9087466","aurora72","Not tried yet. Wonder if it's got the option to display the size of directories. On the screenshots, the directories are shown with '-' just like the case with the ls.",{"id":57,"by":11,"text":58},{"value":145,"source":72,"evidence":146},"Add -l automatically with other options",[147,148],{"id":90,"by":91,"text":92},{"id":54,"by":11,"text":55},[150,157],{"value":151,"source":72,"evidence":152},"Does it work with light terminal backgrounds",[153],{"id":154,"by":155,"text":156},"9087456","joosters","How do you pick the colours? The website uses a dark background. If I ran this tool on my terminal (with a white background), would the colours still be readable?",{"value":158,"source":72,"evidence":159},"How to package a Rust binary for distros",[160,161],{"id":68,"by":11,"text":69},{"id":162,"by":163,"text":164},"9088345","geofft","You could just distribute the executable you get when you run `cargo build`. rustc \u002F cargo statically link the Rust standard library into the app, so it should work fine on a…",[166,173],{"value":167,"source":72,"evidence":168},"uutils\u002Fcoreutils",[169],{"id":170,"by":171,"text":172},"9087890","indiv0","A similar, but more broadly scoped project is uutils\u002Fcoreutils [0], which is a cross-platform re-write of the GNU coreutils in Rust. IMO, both the coreutils project and Exa are…",{"value":174,"source":72,"evidence":175},"lsp (Go ls replacement)",[176],{"id":177,"by":178,"text":179},"9088813","knowledgesale","Another alternative is lsp: https:\u002F\u002Fgithub.com\u002Fdborzov\u002Flsp Unlike exa it fully supports Windows and does not have any external dependancies (as it is written in Go, everything is…",{"comments":181,"answered":38,"key":182},8,[183,186,187],{"id":184,"text":185},"9091897","This has dropped off the frontpage, so I feel better about going off-topic: but you can use rsync instead of cp if you want a progress bar!",{"id":123,"text":124},{"id":188,"text":189},"9087761","I don't even have downvote privileges yet! I was unaware of the getdents issue - thanks. However, it is most definitely slower than ls, because I've only tested it on large…",{"commenters":191,"max_depth":181,"maker_replies":181,"first_comment_mins":192,"lifespan_hours":193},58,59,239,[195,199,203,206,210,214,218,219,221,222,226,230,232,234,236,238,240,242,245,248,250,253,256,259,261,263,265,267,268,270,272,275,277,279,281,282,285,286,290,293,296,299,302,305,310,313,316,318,320,322,326,328,330,332,333,334,337,340,343,344,345,348,351,353,355,358,361,364,366,369,372,374,378,381,384,387,390,393,396,398,400,403,407,409,412,413,415],[196,42,46,197,198,42],"9087620","project\u002Fpositive\u002Fidea","zedpm",[200,42,42,201,202,42],"9087725","commenter\u002Fneutral\u002Fnone","igravious",[204,42,42,201,205,42],"9088128","bhrgunatha",[207,42,42,208,209,42],"9088794","other\u002Fneutral\u002Fnone","ehamberg",[211,42,40,212,213,42],"9089748","project\u002Fcritical\u002Fexecution","Touche",[215,42,44,216,217,42],"9090994","project\u002Fneutral\u002Fidea","tshepang",[184,42,42,201,11,40],[220,42,42,201,213,42],"9092142",[170,40,42,208,171,42],[223,38,42,224,225,42],"9088786","commenter\u002Fpositive\u002Fnone","59nadir",[227,38,40,228,229,42],"9088892","project\u002Fcritical\u002Fdesign","cogburnd02",[231,38,42,201,225,42],"9088919",[233,38,42,201,229,42],"9089070",[235,38,42,201,225,42],"9089515",[237,38,42,201,229,42],"9091730",[239,38,42,201,225,42],"9093123",[241,38,42,201,229,42],"9140611",[243,38,42,201,244,42],"9089138","digi_owl",[246,38,42,201,247,42],"9089543","danieldk",[249,38,42,208,244,42],"9089140",[251,38,42,208,252,42],"9089430","whyever",[254,38,46,197,255,42],"9088920","MrQuincle",[257,44,40,228,258,42],"9087688","username223",[119,33,40,260,120,42],"project\u002Fcritical\u002Fperformance",[123,33,42,262,11,40],"project\u002Fneutral\u002Fperformance",[264,33,40,260,120,42],"9087648",[266,33,44,262,120,42],"9087686",[188,33,42,262,11,40],[269,33,40,260,120,42],"9087836",[271,33,44,262,163,42],"9088300",[273,33,40,228,274,42],"9088350","agumonkey",[90,46,44,276,91,42],"project\u002Fmixed\u002Fdesign",[54,46,42,278,11,40],"project\u002Fneutral\u002Fdesign",[140,31,44,280,141,42],"project\u002Fneutral\u002Fexecution",[57,31,42,278,11,40],[283,31,44,278,284,42],"9087562","heinrich5991",[97,18,44,276,98,42],[287,18,44,288,289,42],"9088154","project\u002Fneutral\u002Fnone","ludamad",[291,18,44,278,292,42],"9088165","_-_-_-_",[294,181,46,197,295,42],"9087616","kibwen",[297,181,42,208,298,42],"9087638","jmgrosen",[300,181,42,208,301,42],"9087851","comex",[303,181,42,208,304,42],"9088543","nathan7",[306,307,40,308,309,42],"9088592",9,"project\u002Fcritical\u002Fidea","Animats",[311,307,42,208,312,42],"9088648","dbaupp",[314,307,42,208,315,42],"9088665","scintill76",[317,307,42,208,309,42],"9088711",[319,307,42,208,312,42],"9089071",[321,307,42,208,252,42],"9089447",[323,324,40,228,325,42],"9088240",10,"zkanda",[327,324,42,201,252,42],"9089491",[177,329,40,228,178,42],11,[105,331,40,212,106,42],12,[130,331,44,280,131,42],[134,331,44,280,106,42],[335,331,44,280,336,42],"9087607","glesica",[338,331,44,280,339,42],"9087669","icebraining",[341,331,44,280,342,42],"9087693","bede",[68,331,42,280,11,40],[162,331,44,280,163,42],[346,331,42,201,347,42],"9088809","EugeneOZ",[349,331,42,201,350,42],"9090415","steveklabnik",[352,331,42,201,347,42],"9091446",[354,331,42,201,350,42],"9091578",[356,331,42,201,357,42],"9087536","maemre",[359,331,42,208,360,42],"9087758","hannob",[362,331,42,208,363,42],"9088331","brson",[154,365,44,278,155,42],13,[367,365,42,368,11,40],"9087482","maker\u002Fneutral\u002Fdesign",[370,365,44,368,371,42],"9087668","themartorana",[373,365,42,368,11,40],"9087742",[375,376,46,197,377,42],"9087435",14,"hlieberman",[379,376,40,308,380,42],"9087444","krick",[382,376,44,288,383,42],"9087750","A_COMPUTER",[385,376,42,208,386,42],"9087933","threeseed",[388,376,42,208,389,42],"9088161","TheDong",[391,376,42,208,392,42],"9088285","oscargrouch",[394,376,42,208,395,42],"9088700","yen223",[397,376,42,208,247,42],"9088730",[75,34,44,399,76,42],"project\u002Fmixed\u002Fexecution",[401,34,44,280,402,42],"9087659","spullara",[404,34,46,405,406,42],"9087684","project\u002Fpositive\u002Fexecution","gkya",[408,34,40,212,76,42],"9088118",[86,410,46,411,87,42],16,"project\u002Fpositive\u002Fnone",[112,32,40,212,113,42],[414,32,44,399,113,42],"9123759",[416,417,40,228,418,42],"9088003",18,"zobzu",[],[421,426,431,434,439,444],{"id":422,"name":423,"points":424,"category":425},"9096002","visadoor H1B salary histogram",322,"learning_science",{"id":427,"name":428,"points":429,"category":430},"9076558","Gun v0.1.0",173,"data",{"id":432,"name":433,"points":16,"category":425},"9072842","SQL Teaching",{"id":435,"name":436,"points":437,"category":438},"9089778","RemoteOK",100,"productivity",{"id":440,"name":441,"points":442,"category":443},"9109775","DonglePi",92,"hardware",{"id":445,"name":446,"points":447,"category":448},"9096843","Sonar",84,"web_saas",false,"v2",{"id":452,"name":5,"line":6,"ai":449,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":453,"top":18,"kw":454,"maker":11,"domain":10,"tier":19,"attempts":42,"strip":455,"url":9,"mix":456,"praise":83,"objection":102,"sub":21},9087108,-0.15,[24,25,26,27],"5010010000313113335010111333000333303531",[31,32,33,34],1794036528657]