yeah it is really rough... it splits blocks occasionally such that a block lacks its final bracket, it ends up somewhere else.
but it doesn't happen that often that it's hard to manually correct at this point. I am thinking now after seeing the greatly improved visual appeal of my code when all the comments were preceded by a blank line too, that it should have that in it as well, I did intend it but it dragged on so long ... On Friday, 15 February 2019 23:08:11 UTC+1, Louki Sumirniy wrote: > > ok never mind the combining files thing... doesn't work yet :) and I'm > sure the manual cleanup will be super messy > > On Friday, 15 February 2019 22:34:19 UTC+1, Louki Sumirniy wrote: >> >> oh, I really didn't introduce that so well... >> >> I fixed the issue about multiple init/main functions by setting it to >> count how many it finds and just leaving them where they are if there is >> more than one (they will just end up in arbitrary order next to each other >> within the func block for this case). >> >> I also fixed the stdin for stdoutput, now you can go 'cat file.go|tidy >> stdin' and the result will print on the terminal, so you could chain it to >> other processing commands afterwards. >> >> It's very simple thing but I think it's going to be a huge help for me >> with handling large codebases and speeding up the process of logically >> dividing into files, and potentially, it may make it easier to see that a >> package should be split or merged (if the circular imports don't get you >> first). >> >> On Friday, 15 February 2019 22:08:04 UTC+1, Louki Sumirniy wrote: >>> >>> I have written a small source code processing tool which does something >>> that I personally think that gofmt should do. It's called tidy, and it's >>> hiding inside the embryonic attempt at a 'deal with all those irritating >>> application setup startup stuff' project here: >>> >>> https://github.com/l0k1verloren/skele/tree/master/cmd/tidy >>> >>> All it does is slice a source file up into the root level sections, >>> package, imports, type, const, var, func. All of the groups are sorted by >>> alphabetical order based on the content of their key line (line starting >>> with root level keyword), the 'main' and 'init' functions are pushed to the >>> top of the block of functions. >>> >>> In theory, it is possible to take an entire package, a whole folder >>> containing all the same package name. It only will pick up one of the >>> package header parts, I'm not sure about imports, I think gofmt >>> automatically consolidates multiple anyway, but yeah it will also stumble >>> over those init blocks too for this. I will probably need to fix that since >>> exactly this merging of sources is one of my intended uses). >>> >>> I don't know why it took me so bleedin long to write it, it was funny, I >>> wrote something that worked about 90% in about an hour and then it took 2 >>> days to redo it, I kept overcomplicating things (ahaha, well, read the >>> prose, know the code :) >>> >> -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.