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.

Reply via email to