mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 02:22:26 -05:00 
			
		
		
		
	Implement Cobra CLI tooling, Viper config tooling (#336)
* start pulling out + replacing urfave and config * replace many many instances of config * move more stuff => viper * properly remove urfave * move some flags to root command * add testrig commands to root * alias config file keys * start adding cli parsing tests * reorder viper init * remove config path alias * fmt * change config file keys to non-nested * we're more or less in business now * tidy up the common func * go fmt * get tests passing again * add note about the cliparsing tests * reorganize * update docs with changes * structure cmd dir better * rename + move some files around * fix dangling comma
This commit is contained in:
		
					parent
					
						
							
								182b4eea73
							
						
					
				
			
			
				commit
				
					
						0884f89431
					
				
			
		
					 487 changed files with 46667 additions and 8831 deletions
				
			
		
							
								
								
									
										46
									
								
								vendor/github.com/spf13/jwalterweatherman/log_counter.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								vendor/github.com/spf13/jwalterweatherman/log_counter.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,46 @@ | |||
| // Copyright © 2016 Steve Francia <spf@spf13.com>. | ||||
| // | ||||
| // Use of this source code is governed by an MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
| 
 | ||||
| package jwalterweatherman | ||||
| 
 | ||||
| import ( | ||||
| 	"io" | ||||
| 	"sync/atomic" | ||||
| ) | ||||
| 
 | ||||
| // Counter is an io.Writer that increments a counter on Write. | ||||
| type Counter struct { | ||||
| 	count uint64 | ||||
| } | ||||
| 
 | ||||
| func (c *Counter) incr() { | ||||
| 	atomic.AddUint64(&c.count, 1) | ||||
| } | ||||
| 
 | ||||
| // Reset resets the counter. | ||||
| func (c *Counter) Reset() { | ||||
| 	atomic.StoreUint64(&c.count, 0) | ||||
| } | ||||
| 
 | ||||
| // Count returns the current count. | ||||
| func (c *Counter) Count() uint64 { | ||||
| 	return atomic.LoadUint64(&c.count) | ||||
| } | ||||
| 
 | ||||
| func (c *Counter) Write(p []byte) (n int, err error) { | ||||
| 	c.incr() | ||||
| 	return len(p), nil | ||||
| } | ||||
| 
 | ||||
| // LogCounter creates a LogListener that counts log statements >= the given threshold. | ||||
| func LogCounter(counter *Counter, t1 Threshold) LogListener { | ||||
| 	return func(t2 Threshold) io.Writer { | ||||
| 		if t2 < t1 { | ||||
| 			// Not interested in this threshold. | ||||
| 			return nil | ||||
| 		} | ||||
| 		return counter | ||||
| 	} | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue