stuff
- WIP toward towncon command - upgrade lipgloss - fix fallout from lipgloss update
This commit is contained in:
		
							parent
							
								
									5750265818
								
							
						
					
					
						commit
						7b9ccf0ff2
					
				
							
								
								
									
										6
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								Makefile
									
									
									
									
									
								
							| @ -5,6 +5,7 @@ install: all | ||||
| 	cp bin/launcher /usr/local/bin/town | ||||
| 	cp bin/stats /town/bin/ | ||||
| 	cp bin/contrib /town/bin/ | ||||
| 	cp bin/con /town/bin/ | ||||
| 	cp bin/request /town/bin/ | ||||
| 	cp bin/appendkeyfile /town/bin/ | ||||
| 	cp bin/createkeyfile /town/bin/ | ||||
| @ -43,7 +44,7 @@ bin/emailtouser: external/cmd/helpers/emailtouser/main.go bin | ||||
| bin/registeruser: external/cmd/helpers/registeruser/main.go bin | ||||
| 	go build -o bin/registeruser ./external/cmd/helpers/registeruser | ||||
| 
 | ||||
| cmds: bin/launcher bin/stats bin/contrib bin/request bin/review bin/tma | ||||
| cmds: bin/launcher bin/stats bin/con bin/contrib bin/request bin/review bin/tma | ||||
| 
 | ||||
| bin/launcher: cmd/launcher/main.go bin | ||||
| 	go build -o bin/launcher ./cmd/launcher | ||||
| @ -54,6 +55,9 @@ bin/stats: cmd/stats/main.go bin | ||||
| bin/contrib: cmd/contrib/main.go bin | ||||
| 	go build -o bin/contrib ./cmd/contrib | ||||
| 
 | ||||
| bin/con: cmd/towncon/main.go bin | ||||
| 	go build -o bin/con ./cmd/towncon | ||||
| 
 | ||||
| bin/request: cmd/request/main.go bin | ||||
| 	go build -o bin/request ./cmd/request | ||||
| 
 | ||||
|  | ||||
| @ -1,30 +0,0 @@ | ||||
| package main | ||||
| 
 | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"os" | ||||
| 
 | ||||
| 	"github.com/charmbracelet/huh" | ||||
| ) | ||||
| 
 | ||||
| func _main() error { | ||||
| 
 | ||||
| 	var mode string | ||||
| 
 | ||||
| 	huh.NewSelect[string]().Title("whuddyu wanna doo?"). | ||||
| 		Options( | ||||
| 			huh.NewOption("Get an info dump"), | ||||
| 			huh.NewOption("RSVP", "rsvp"), | ||||
| 			huh.NewOption("Submit a talk proposal or finished work"), | ||||
| 		).Value(&mode).Run() | ||||
| 
 | ||||
| 	return nil | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| func main() { | ||||
| 	if err := _main(); err != nil { | ||||
| 		fmt.Fprintf(os.Stderr, ":( failed: %s\n", err.Error()) | ||||
| 		os.Exit(1) | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										26
									
								
								cmd/towncon/banners/banner0.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								cmd/towncon/banners/banner0.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,26 @@ | ||||
|             [0;1;35;95m.-[0;1;31;91m''[0;1;33;93m'-[0;1;32;92m.[0m                                       | ||||
|            [0;1;35;95m'[0m   [0;1;33;93m_[0m    [0;1;34;94m\[0m                                     | ||||
|          [0;1;35;95m/[0m   [0;1;33;93m/[0;1;32;92m`[0m [0;1;36;96m'.[0m   [0;1;35;95m\[0m                 [0;1;32;92m_[0;1;36;96m..[0;1;34;94m._[0m              | ||||
|         [0;1;31;91m.[0m   [0;1;32;92m|[0m     [0;1;35;95m\[0m  [0;1;31;91m'[0m       [0;1;34;94m_[0m     [0;1;33;93m_[0m [0;1;32;92m.[0;1;36;96m'[0m     [0;1;31;91m'.[0m            | ||||
|      [0;1;35;95m.[0;1;31;91m|[0m [0;1;33;93m|[0m   [0;1;36;96m'[0m      [0;1;31;91m|[0m  [0;1;32;92m'/[0;1;36;96m\[0m    [0;1;35;95m\[0;1;31;91m\[0m   [0;1;32;92m//[0;1;36;96m.[0m   [0;1;35;95m.-[0;1;31;91m.[0m   [0;1;32;92m.[0m           | ||||
|    [0;1;35;95m.[0;1;31;91m'[0m [0;1;33;93m|_[0;1;32;92m\[0m    [0;1;34;94m\[0m     [0;1;33;93m/[0m [0;1;32;92m/[0m [0;1;36;96m`[0;1;34;94m\\[0m  [0;1;31;91m//[0;1;33;93m\\[0m [0;1;32;92m/[0;1;36;96m/[0m [0;1;34;94m|[0m  [0;1;35;95m'[0m   [0;1;33;93m'[0m  [0;1;36;96m|[0m           | ||||
|  [0;1;35;95m.[0;1;31;91m'[0m     [0;1;36;96m|`[0;1;34;94m.[0m   [0;1;31;91m`[0m [0;1;33;93m..[0;1;32;92m'[0m [0;1;36;96m/[0m    [0;1;35;95m\[0;1;31;91m`/[0;1;33;93m/[0m  [0;1;32;92m\[0;1;36;96m'/[0m  [0;1;35;95m|[0m  [0;1;31;91m|[0m   [0;1;32;92m|[0m  [0;1;34;94m|[0m           | ||||
| [0;1;31;91m'-[0;1;33;93m-.[0m  [0;1;36;96m.-[0;1;34;94m'[0m   [0;1;31;91m'-[0;1;33;93m..[0;1;32;92m.-[0;1;36;96m'`[0m      [0;1;33;93m\|[0m   [0;1;36;96m|[0;1;34;94m/[0m   [0;1;31;91m|[0m  [0;1;33;93m|[0m   [0;1;36;96m|[0m  [0;1;35;95m|[0m           | ||||
|    [0;1;32;92m|[0m  [0;1;34;94m|[0m                    [0;1;32;92m'[0m        [0;1;33;93m|[0m  [0;1;32;92m|[0m   [0;1;34;94m|[0m  [0;1;31;91m|[0m           | ||||
|    [0;1;36;96m|[0m  [0;1;35;95m|[0m                             [0;1;32;92m|[0m  [0;1;36;96m|[0m   [0;1;35;95m|[0m  [0;1;33;93m|[0m           | ||||
|    [0;1;34;94m|[0m  [0;1;31;91m'.[0;1;33;93m'[0m                           [0;1;36;96m|[0m  [0;1;34;94m|[0m   [0;1;31;91m|[0m  [0;1;32;92m|[0m           | ||||
|    [0;1;35;95m|[0m   [0;1;33;93m/[0m                            [0;1;34;94m|[0m  [0;1;35;95m|[0m   [0;1;33;93m|[0m  [0;1;36;96m|[0m           | ||||
|    [0;1;31;91m`[0;1;33;93m'-[0;1;32;92m'[0m                             [0;1;35;95m'-[0;1;31;91m-'[0m   [0;1;32;92m'[0;1;36;96m--[0;1;34;94m'[0m           | ||||
|        [0;1;36;96m_[0;1;34;94m..[0;1;35;95m._[0m       [0;1;36;96m.[0;1;34;94m-'[0;1;35;95m''[0;1;31;91m-.[0m                                | ||||
|     [0;1;36;96m.-[0;1;34;94m'_[0;1;35;95m..[0;1;31;91m._[0;1;33;93m''[0;1;32;92m.[0m   [0;1;34;94m'[0m   [0;1;31;91m_[0m    [0;1;32;92m\[0m                              | ||||
|   [0;1;36;96m.'[0m [0;1;34;94m.[0;1;35;95m'[0m      [0;1;32;92m'[0;1;36;96m.\[0;1;34;94m/[0m   [0;1;31;91m/`[0m [0;1;33;93m'[0;1;32;92m.[0m   [0;1;34;94m\[0m    [0;1;31;91m_[0;1;33;93m..[0;1;32;92m._[0m                    | ||||
|  [0;1;36;96m/[0m [0;1;34;94m.[0;1;35;95m'[0m          [0;1;34;94m.[0m   [0;1;31;91m|[0m     [0;1;36;96m\[0m  [0;1;35;95m'[0m  [0;1;31;91m.[0;1;33;93m'[0m     [0;1;34;94m'.[0m                  | ||||
| [0;1;34;94m.[0m [0;1;35;95m'[0m            [0;1;35;95m|[0m   [0;1;33;93m'[0m      [0;1;35;95m|[0m  [0;1;31;91m'[0;1;33;93m.[0m   [0;1;36;96m.-[0;1;34;94m.[0m   [0;1;31;91m.[0m                 | ||||
| [0;1;35;95m|[0m [0;1;31;91m|[0m            [0;1;31;91m\[0m    [0;1;36;96m\[0m     [0;1;31;91m/[0m [0;1;33;93m/[0m [0;1;32;92m|[0m  [0;1;36;96m'[0m   [0;1;35;95m'[0m  [0;1;33;93m|[0m                 | ||||
| [0;1;31;91m|[0m [0;1;33;93m|[0m             [0;1;32;92m`.[0m   [0;1;34;94m`[0m [0;1;35;95m.[0;1;31;91m.'[0m [0;1;33;93m/[0m  [0;1;36;96m|[0m  [0;1;34;94m|[0m   [0;1;31;91m|[0m  [0;1;32;92m|[0m                 | ||||
| [0;1;33;93m.[0m [0;1;32;92m'[0m                [0;1;34;94m'[0;1;35;95m-.[0;1;31;91m..[0;1;33;93m-'[0;1;32;92m`[0m   [0;1;34;94m|[0m  [0;1;35;95m|[0m   [0;1;33;93m|[0m  [0;1;36;96m|[0m                 | ||||
|  [0;1;32;92m\[0m [0;1;36;96m'[0;1;34;94m.[0m          [0;1;36;96m.[0m              [0;1;35;95m|[0m  [0;1;31;91m|[0m   [0;1;32;92m|[0m  [0;1;34;94m|[0m                 | ||||
|   [0;1;34;94m'.[0m [0;1;35;95m`[0;1;31;91m._[0;1;33;93m__[0;1;32;92m__[0;1;36;96m.-[0;1;34;94m'/[0m              [0;1;31;91m|[0m  [0;1;33;93m|[0m   [0;1;36;96m|[0m  [0;1;35;95m|[0m                 | ||||
|     [0;1;31;91m`-[0;1;33;93m._[0;1;32;92m__[0;1;36;96m__[0;1;34;94m_[0m [0;1;35;95m/[0m               [0;1;33;93m|[0m  [0;1;32;92m|[0m   [0;1;34;94m|[0m  [0;1;31;91m|[0m                 | ||||
|              [0;1;35;95m`[0m                [0;1;32;92m|[0m  [0;1;36;96m|[0m   [0;1;35;95m|[0m  [0;1;33;93m|[0m                 | ||||
|                               [0;1;36;96m'-[0;1;34;94m-'[0m   [0;1;31;91m'[0;1;33;93m--[0;1;32;92m'[0m                 | ||||
							
								
								
									
										32
									
								
								cmd/towncon/banners/banner1.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								cmd/towncon/banners/banner1.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,32 @@ | ||||
|         [0;1;36;96m,-[0;1;34;94m--[0;1;35;95m-,[0m                                                          | ||||
|       [0;1;36;96m,/[0m   [0;1;35;95m.[0;1;31;91m`|[0m  [0;1;32;92m,-[0;1;36;96m--[0;1;34;94m-.[0;1;35;95m.[0m                            [0;1;33;93m,[0;1;32;92m--[0;1;36;96m.[0m                 | ||||
|     [0;1;36;96m,`[0m   [0;1;35;95m.[0;1;31;91m'[0m  [0;1;33;93m:[0m [0;1;32;92m/[0m   [0;1;34;94m/[0m   [0;1;31;91m\[0m             [0;1;33;93m.[0;1;32;92m--[0;1;36;96m-.[0m       [0;1;33;93m,[0;1;32;92m--[0;1;36;96m.'[0;1;34;94m|[0m                 | ||||
|   [0;1;36;96m;[0m    [0;1;35;95m;[0m     [0;1;32;92m/[0;1;36;96m/[0m   [0;1;35;95m.[0m     [0;1;32;92m:[0m           [0;1;32;92m/.[0m [0;1;36;96m.[0;1;34;94m/|[0m   [0;1;31;91m,[0;1;33;93m--[0;1;32;92m,:[0m  [0;1;34;94m:[0m [0;1;35;95m|[0m                 | ||||
| [0;1;36;96m.'[0;1;34;94m__[0;1;35;95m_,[0;1;31;91m/[0m    [0;1;32;92m,[0;1;36;96m'.[0m   [0;1;35;95m/[0m   [0;1;33;93m;[0;1;32;92m.[0m  [0;1;36;96m\[0m      [0;1;33;93m.-[0;1;32;92m-'[0;1;36;96m.[0m  [0;1;34;94m'[0m [0;1;35;95m;[0;1;31;91m,`[0;1;33;93m--[0;1;32;92m.'[0;1;36;96m`|[0m  [0;1;35;95m'[0m [0;1;31;91m:[0m                 | ||||
| [0;1;34;94m|[0m    [0;1;31;91m:[0m     [0;1;36;96m|[0;1;34;94m.[0m   [0;1;31;91m;[0m   [0;1;32;92m/[0m  [0;1;36;96m`[0m [0;1;34;94m;[0m     [0;1;33;93m/[0;1;32;92m__[0;1;36;96m./[0m [0;1;34;94m\[0m [0;1;35;95m:[0m [0;1;31;91m|[0;1;33;93m|[0m   [0;1;36;96m:[0m  [0;1;34;94m:[0m  [0;1;31;91m|[0m [0;1;33;93m|[0m                 | ||||
| [0;1;35;95m;[0m    [0;1;33;93m|[0;1;32;92m.'[0;1;36;96m;[0m  [0;1;34;94m;[0;1;35;95m;[0m   [0;1;33;93m|[0m  [0;1;32;92m;[0m [0;1;36;96m\[0m [0;1;34;94m;[0m [0;1;35;95m|[0m [0;1;31;91m.[0;1;33;93m--[0;1;32;92m'.[0m  [0;1;34;94m'[0m   [0;1;31;91m\'[0m [0;1;33;93m.[0;1;32;92m:[0m   [0;1;34;94m|[0m   [0;1;31;91m\[0m [0;1;33;93m|[0m [0;1;32;92m:[0m                 | ||||
| [0;1;31;91m`-[0;1;33;93m--[0;1;32;92m-'[0m  [0;1;34;94m|[0m  [0;1;35;95m|[0;1;31;91m|[0m   [0;1;32;92m:[0m  [0;1;36;96m|[0m [0;1;34;94m;[0m [0;1;35;95m|[0m [0;1;31;91m'[0;1;33;93m/_[0;1;32;92m__[0;1;36;96m/[0m [0;1;34;94m\[0m [0;1;35;95m|[0m    [0;1;33;93m'[0m [0;1;32;92m'[0;1;36;96m|[0m   [0;1;35;95m:[0m [0;1;31;91m'[0m  [0;1;33;93m'[0;1;32;92m;[0m [0;1;36;96m|[0m                 | ||||
|     [0;1;36;96m'[0m   [0;1;35;95m:[0m  [0;1;31;91m;[0;1;33;93m.[0m   [0;1;36;96m|[0m  [0;1;34;94m'[0m [0;1;35;95m'[0m [0;1;31;91m'[0m [0;1;33;93m:[0;1;32;92m;[0m   [0;1;34;94m\[0m  [0;1;35;95m\[0;1;31;91m;[0m      [0;1;36;96m:[0;1;34;94m'[0m   [0;1;31;91m'[0m [0;1;33;93m;.[0m    [0;1;34;94m;[0m                 | ||||
|     [0;1;34;94m|[0m   [0;1;31;91m|[0m  [0;1;33;93m'[0;1;32;92m'[0m   [0;1;34;94m;[0m  [0;1;35;95m\[0;1;31;91m;[0m [0;1;33;93m/[0m  [0;1;32;92m|[0m [0;1;36;96m\[0m   [0;1;35;95m;[0m  [0;1;33;93m`[0m      [0;1;34;94m|[0;1;35;95m|[0m   [0;1;33;93m|[0m [0;1;32;92m|[0m [0;1;36;96m\[0m   [0;1;35;95m|[0m                 | ||||
|     [0;1;35;95m'[0m   [0;1;33;93m:[0m  [0;1;32;92m|[0m [0;1;36;96m\[0m   [0;1;35;95m\[0m  [0;1;33;93m',[0m  [0;1;36;96m/[0m   [0;1;35;95m.[0m   [0;1;33;93m\[0m    [0;1;36;96m.[0;1;34;94m\[0m  [0;1;35;95m;[0;1;31;91m'[0m   [0;1;32;92m:[0m [0;1;36;96m|[0m  [0;1;34;94m;[0m [0;1;35;95m.[0;1;31;91m'[0m                 | ||||
|     [0;1;31;91m;[0m   [0;1;32;92m|.[0;1;36;96m'[0m   [0;1;35;95m;[0m   [0;1;33;93m:[0m    [0;1;36;96m/[0m     [0;1;31;91m\[0m   [0;1;32;92m\[0m   [0;1;34;94m'[0m [0;1;35;95m\[0m [0;1;31;91m|[0;1;33;93m|[0m   [0;1;36;96m|[0m [0;1;34;94m'`[0;1;35;95m--[0;1;31;91m'[0m                   | ||||
|     [0;1;33;93m'-[0;1;32;92m--[0;1;36;96m'[0m      [0;1;31;91m\[0m   [0;1;32;92m\[0m [0;1;36;96m.[0;1;34;94m'[0m       [0;1;32;92m:[0m   [0;1;34;94m'[0m  [0;1;35;95m|[0;1;31;91m--[0;1;33;93m"[0m [0;1;32;92m'[0m   [0;1;34;94m:[0m [0;1;35;95m|[0m                       | ||||
|                 [0;1;32;92m`-[0;1;36;96m--[0;1;34;94m`[0m          [0;1;36;96m\[0m   [0;1;35;95m\[0m [0;1;31;91m;[0m    [0;1;36;96m;[0m   [0;1;35;95m|.[0;1;31;91m'[0m                       | ||||
|                                 [0;1;35;95m'-[0;1;31;91m--[0;1;33;93m"[0m     [0;1;34;94m'-[0;1;35;95m--[0;1;31;91m'[0m                         | ||||
|                                                                         | ||||
|                                                                         | ||||
|                [0;1;35;95m,[0;1;31;91m--[0;1;33;93m--[0;1;32;92m..[0m            [0;1;36;96m,-[0;1;34;94m-.[0m                                  | ||||
|   [0;1;31;91m,-[0;1;33;93m--[0;1;32;92m-.[0;1;36;96m.[0m     [0;1;31;91m/[0m   [0;1;32;92m/[0m   [0;1;34;94m\[0m         [0;1;36;96m,-[0;1;34;94m-.[0;1;35;95m'|[0m                                  | ||||
|  [0;1;31;91m/[0m   [0;1;32;92m/[0m   [0;1;34;94m\[0m   [0;1;31;91m/[0m   [0;1;32;92m.[0m     [0;1;35;95m:[0m    [0;1;32;92m,-[0;1;36;96m-,[0;1;34;94m:[0m  [0;1;35;95m:[0m [0;1;31;91m|[0m                                  | ||||
| [0;1;33;93m|[0m   [0;1;36;96m:[0m     [0;1;31;91m:[0m [0;1;33;93m.[0m   [0;1;36;96m/[0m   [0;1;35;95m;.[0m  [0;1;33;93m\,[0;1;32;92m`-[0;1;36;96m-.[0;1;34;94m'`[0;1;35;95m|[0m  [0;1;31;91m'[0m [0;1;33;93m:[0m                                  | ||||
| [0;1;32;92m.[0m   [0;1;34;94m|[0m  [0;1;35;95m;[0;1;31;91m.[0m [0;1;33;93m/.[0m   [0;1;36;96m;[0m   [0;1;35;95m/[0m  [0;1;33;93m`[0m [0;1;32;92m;|[0m   [0;1;34;94m:[0m  [0;1;31;91m:[0m  [0;1;33;93m|[0m [0;1;32;92m|[0m                                  | ||||
| [0;1;36;96m.[0m   [0;1;35;95m;[0m [0;1;31;91m/-[0;1;33;93m-`[0m [0;1;32;92m;[0m   [0;1;34;94m|[0m  [0;1;31;91m;[0m [0;1;33;93m\[0m [0;1;32;92m;[0m [0;1;36;96m|:[0m   [0;1;35;95m|[0m   [0;1;33;93m\[0m [0;1;32;92m|[0m [0;1;36;96m:[0m                                  | ||||
| [0;1;34;94m;[0m   [0;1;31;91m|[0m [0;1;33;93m;[0m    [0;1;36;96m|[0m   [0;1;35;95m:[0m  [0;1;33;93m|[0m [0;1;32;92m;[0m [0;1;36;96m|[0m [0;1;34;94m'|[0m   [0;1;31;91m:[0m [0;1;33;93m'[0m  [0;1;36;96m';[0m [0;1;34;94m|[0m                                  | ||||
| [0;1;35;95m|[0m   [0;1;33;93m:[0m [0;1;32;92m|[0m    [0;1;34;94m.[0m   [0;1;31;91m|[0m  [0;1;32;92m'[0m [0;1;36;96m'[0m [0;1;34;94m'[0m [0;1;35;95m:'[0m   [0;1;33;93m'[0m [0;1;32;92m;[0;1;36;96m.[0m    [0;1;35;95m;[0m                                  | ||||
| [0;1;31;91m.[0m   [0;1;32;92m|[0m [0;1;36;96m'_[0;1;34;94m__[0m [0;1;35;95m'[0m   [0;1;33;93m;[0m  [0;1;36;96m\;[0m [0;1;34;94m/[0m  [0;1;31;91m||[0m   [0;1;32;92m|[0m [0;1;36;96m|[0m [0;1;34;94m\[0m   [0;1;31;91m|[0m                                  | ||||
| [0;1;33;93m'[0m   [0;1;36;96m;[0m [0;1;34;94m:[0m [0;1;35;95m.'[0;1;31;91m|[0m [0;1;33;93m\[0m   [0;1;36;96m\[0m  [0;1;34;94m'[0;1;35;95m,[0m  [0;1;31;91m/[0m [0;1;33;93m'[0m   [0;1;36;96m:[0m [0;1;34;94m|[0m  [0;1;31;91m;[0m [0;1;33;93m.'[0m                                  | ||||
| [0;1;32;92m'[0m   [0;1;34;94m|[0m [0;1;35;95m'/[0m  [0;1;33;93m:[0m  [0;1;32;92m;[0m   [0;1;34;94m:[0m    [0;1;33;93m/[0m  [0;1;32;92m|[0m   [0;1;34;94m|[0m [0;1;35;95m'[0;1;31;91m`-[0;1;33;93m-'[0m                                    | ||||
| [0;1;36;96m|[0m   [0;1;35;95m:[0m    [0;1;33;93m/[0m    [0;1;34;94m\[0m   [0;1;31;91m\[0m [0;1;33;93m.'[0m   [0;1;36;96m'[0m   [0;1;35;95m:[0m [0;1;31;91m|[0m                                        | ||||
|  [0;1;34;94m\[0m   [0;1;31;91m\[0m [0;1;33;93m.[0;1;32;92m'[0m      [0;1;35;95m`[0;1;31;91m--[0;1;33;93m-`[0m     [0;1;34;94m;[0m   [0;1;31;91m|[0;1;33;93m.'[0m                                        | ||||
|   [0;1;31;91m`-[0;1;33;93m--[0;1;32;92m`[0m                  [0;1;35;95m'[0;1;31;91m--[0;1;33;93m-'[0m                                          | ||||
|                                                                         | ||||
							
								
								
									
										18
									
								
								cmd/towncon/banners/banner2.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								cmd/towncon/banners/banner2.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,18 @@ | ||||
| [0;1;35;95m__[0;1;31;91m/\[0;1;33;93m\\[0;1;32;92m\\[0;1;36;96m\\[0;1;34;94m\\[0;1;35;95m\\[0;1;31;91m\\[0;1;33;93m\\[0;1;32;92m__[0;1;36;96m__[0;1;34;94m__[0;1;35;95m_/[0;1;31;91m\\[0;1;33;93m\\[0;1;32;92m\_[0;1;36;96m__[0;1;34;94m__[0;1;35;95m__[0;1;31;91m/\[0;1;33;93m\\[0;1;32;92m__[0;1;36;96m__[0;1;34;94m__[0;1;35;95m__[0;1;31;91m__[0;1;33;93m__[0;1;32;92m__[0;1;36;96m/\[0;1;34;94m\\[0;1;35;95m__[0;1;31;91m/\[0;1;33;93m\\[0;1;32;92m\\[0;1;36;96m__[0;1;34;94m__[0;1;35;95m_/[0;1;31;91m\\[0;1;33;93m\_[0m         | ||||
|  [0;1;31;91m_[0;1;33;93m\/[0;1;32;92m//[0;1;36;96m//[0;1;34;94m//[0;1;35;95m\\[0;1;31;91m\/[0;1;33;93m//[0;1;32;92m//[0;1;36;96m__[0;1;34;94m__[0;1;35;95m__[0;1;31;91m/\[0;1;33;93m\\[0;1;32;92m//[0;1;36;96m/\[0;1;34;94m\\[0;1;35;95m__[0;1;31;91m__[0;1;33;93m\/[0;1;32;92m\\[0;1;36;96m\_[0;1;34;94m__[0;1;35;95m__[0;1;31;91m__[0;1;33;93m__[0;1;32;92m__[0;1;36;96m__[0;1;34;94m\/[0;1;35;95m\\[0;1;31;91m\_[0;1;33;93m\/[0;1;32;92m\\[0;1;36;96m\\[0;1;34;94m\\[0;1;35;95m__[0;1;31;91m_\[0;1;33;93m/\[0;1;32;92m\\[0;1;36;96m_[0m        | ||||
|   [0;1;32;92m__[0;1;36;96m__[0;1;34;94m__[0;1;35;95m_\[0;1;31;91m/\[0;1;33;93m\\[0;1;32;92m__[0;1;36;96m__[0;1;34;94m__[0;1;35;95m__[0;1;31;91m_/[0;1;33;93m\\[0;1;32;92m\/[0;1;36;96m__[0;1;34;94m\/[0;1;35;95m//[0;1;31;91m\\[0;1;33;93m\_[0;1;32;92m_\[0;1;36;96m/\[0;1;34;94m\\[0;1;35;95m__[0;1;31;91m__[0;1;33;93m__[0;1;32;92m__[0;1;36;96m__[0;1;34;94m__[0;1;35;95m_\[0;1;31;91m/\[0;1;33;93m\\[0;1;32;92m_\[0;1;36;96m/\[0;1;34;94m\\[0;1;35;95m/\[0;1;31;91m\\[0;1;33;93m__[0;1;32;92m\/[0;1;36;96m\\[0;1;34;94m\_[0m       | ||||
|    [0;1;36;96m_[0;1;34;94m__[0;1;35;95m__[0;1;31;91m__[0;1;33;93m\/[0;1;32;92m\\[0;1;36;96m\_[0;1;34;94m__[0;1;35;95m__[0;1;31;91m__[0;1;33;93m_/[0;1;32;92m\\[0;1;36;96m\_[0;1;34;94m__[0;1;35;95m__[0;1;31;91m_\[0;1;33;93m//[0;1;32;92m\\[0;1;36;96m\_[0;1;34;94m\/[0;1;35;95m/\[0;1;31;91m\\[0;1;33;93m__[0;1;32;92m__[0;1;36;96m/\[0;1;34;94m\\[0;1;35;95m__[0;1;31;91m__[0;1;33;93m/\[0;1;32;92m\\[0;1;36;96m__[0;1;34;94m\/[0;1;35;95m\\[0;1;31;91m\/[0;1;33;93m/\[0;1;32;92m\\[0;1;36;96m_\[0;1;34;94m/\[0;1;35;95m\\[0;1;31;91m_[0m      | ||||
|     [0;1;35;95m__[0;1;31;91m__[0;1;33;93m__[0;1;32;92m_\[0;1;36;96m/\[0;1;34;94m\\[0;1;35;95m__[0;1;31;91m__[0;1;33;93m__[0;1;32;92m_\[0;1;36;96m/\[0;1;34;94m\\[0;1;35;95m__[0;1;31;91m__[0;1;33;93m__[0;1;32;92m_\[0;1;36;96m/\[0;1;34;94m\\[0;1;35;95m__[0;1;31;91m\/[0;1;33;93m/\[0;1;32;92m\\[0;1;36;96m__[0;1;34;94m/\[0;1;35;95m\\[0;1;31;91m\\[0;1;33;93m__[0;1;32;92m/\[0;1;36;96m\\[0;1;34;94m__[0;1;35;95m_\[0;1;31;91m/\[0;1;33;93m\\[0;1;32;92m\/[0;1;36;96m/\[0;1;34;94m\\[0;1;35;95m\/[0;1;31;91m\\[0;1;33;93m\_[0m     | ||||
|      [0;1;31;91m_[0;1;33;93m__[0;1;32;92m__[0;1;36;96m__[0;1;34;94m\/[0;1;35;95m\\[0;1;31;91m\_[0;1;33;93m__[0;1;32;92m__[0;1;36;96m__[0;1;34;94m\/[0;1;35;95m/\[0;1;31;91m\\[0;1;33;93m__[0;1;32;92m__[0;1;36;96m__[0;1;34;94m/\[0;1;35;95m\\[0;1;31;91m__[0;1;33;93m__[0;1;32;92m\/[0;1;36;96m/\[0;1;34;94m\\[0;1;35;95m/\[0;1;31;91m\\[0;1;33;93m/\[0;1;32;92m\\[0;1;36;96m/\[0;1;34;94m\\[0;1;35;95m__[0;1;31;91m__[0;1;33;93m\/[0;1;32;92m\\[0;1;36;96m\_[0;1;34;94m\/[0;1;35;95m/\[0;1;31;91m\\[0;1;33;93m/\[0;1;32;92m\\[0;1;36;96m_[0m    | ||||
|       [0;1;32;92m__[0;1;36;96m__[0;1;34;94m__[0;1;35;95m_\[0;1;31;91m/\[0;1;33;93m\\[0;1;32;92m__[0;1;36;96m__[0;1;34;94m__[0;1;35;95m__[0;1;31;91m\/[0;1;33;93m//[0;1;32;92m\\[0;1;36;96m\_[0;1;34;94m_/[0;1;35;95m\\[0;1;31;91m\_[0;1;33;93m__[0;1;32;92m__[0;1;36;96m__[0;1;34;94m\/[0;1;35;95m/\[0;1;31;91m\\[0;1;33;93m\\[0;1;32;92m\/[0;1;36;96m/\[0;1;34;94m\\[0;1;35;95m\\[0;1;31;91m__[0;1;33;93m__[0;1;32;92m_\[0;1;36;96m/\[0;1;34;94m\\[0;1;35;95m__[0;1;31;91m\/[0;1;33;93m/\[0;1;32;92m\\[0;1;36;96m\\[0;1;34;94m\_[0m   | ||||
|        [0;1;36;96m_[0;1;34;94m__[0;1;35;95m__[0;1;31;91m__[0;1;33;93m\/[0;1;32;92m\\[0;1;36;96m\_[0;1;34;94m__[0;1;35;95m__[0;1;31;91m__[0;1;33;93m__[0;1;32;92m_\[0;1;36;96m//[0;1;34;94m/\[0;1;35;95m\\[0;1;31;91m\\[0;1;33;93m/_[0;1;32;92m__[0;1;36;96m__[0;1;34;94m__[0;1;35;95m__[0;1;31;91m\/[0;1;33;93m/\[0;1;32;92m\\[0;1;36;96m__[0;1;34;94m\/[0;1;35;95m/\[0;1;31;91m\\[0;1;33;93m__[0;1;32;92m__[0;1;36;96m__[0;1;34;94m\/[0;1;35;95m\\[0;1;31;91m\_[0;1;33;93m__[0;1;32;92m\/[0;1;36;96m/\[0;1;34;94m\\[0;1;35;95m\\[0;1;31;91m_[0m  | ||||
|         [0;1;35;95m__[0;1;31;91m__[0;1;33;93m__[0;1;32;92m_\[0;1;36;96m//[0;1;34;94m/_[0;1;35;95m__[0;1;31;91m__[0;1;33;93m__[0;1;32;92m__[0;1;36;96m__[0;1;34;94m__[0;1;35;95m\/[0;1;31;91m//[0;1;33;93m//[0;1;32;92m__[0;1;36;96m__[0;1;34;94m__[0;1;35;95m__[0;1;31;91m__[0;1;33;93m__[0;1;32;92m\/[0;1;36;96m//[0;1;34;94m__[0;1;35;95m__[0;1;31;91m\/[0;1;33;93m//[0;1;32;92m__[0;1;36;96m__[0;1;34;94m__[0;1;35;95m_\[0;1;31;91m//[0;1;33;93m/_[0;1;32;92m__[0;1;36;96m__[0;1;34;94m\/[0;1;35;95m//[0;1;31;91m//[0;1;33;93m__[0m | ||||
| [0;1;32;92m__[0;1;36;96m__[0;1;34;94m__[0;1;35;95m__[0;1;31;91m__[0;1;33;93m__[0;1;32;92m__[0;1;36;96m__[0;1;34;94m__[0;1;35;95m/\[0;1;31;91m\\[0;1;33;93m\\[0;1;32;92m\\[0;1;36;96m\\[0;1;34;94m__[0;1;35;95m__[0;1;31;91m__[0;1;33;93m_/[0;1;32;92m\\[0;1;36;96m\\[0;1;34;94m\_[0;1;35;95m__[0;1;31;91m__[0;1;33;93m__[0;1;32;92m/\[0;1;36;96m\\[0;1;34;94m\\[0;1;35;95m__[0;1;31;91m__[0;1;33;93m_/[0;1;32;92m\\[0;1;36;96m\_[0m                       | ||||
|  [0;1;36;96m_[0;1;34;94m__[0;1;35;95m__[0;1;31;91m__[0;1;33;93m__[0;1;32;92m__[0;1;36;96m__[0;1;34;94m__[0;1;35;95m/\[0;1;31;91m\\[0;1;33;93m//[0;1;32;92m//[0;1;36;96m//[0;1;34;94m//[0;1;35;95m__[0;1;31;91m__[0;1;33;93m__[0;1;32;92m/\[0;1;36;96m\\[0;1;34;94m//[0;1;35;95m/\[0;1;31;91m\\[0;1;33;93m__[0;1;32;92m__[0;1;36;96m\/[0;1;34;94m\\[0;1;35;95m\\[0;1;31;91m\\[0;1;33;93m__[0;1;32;92m_\[0;1;36;96m/\[0;1;34;94m\\[0;1;35;95m_[0m                      | ||||
|   [0;1;35;95m__[0;1;31;91m__[0;1;33;93m__[0;1;32;92m__[0;1;36;96m__[0;1;34;94m__[0;1;35;95m_/[0;1;31;91m\\[0;1;33;93m\/[0;1;32;92m__[0;1;36;96m__[0;1;34;94m__[0;1;35;95m__[0;1;31;91m__[0;1;33;93m__[0;1;32;92m_/[0;1;36;96m\\[0;1;34;94m\/[0;1;35;95m__[0;1;31;91m\/[0;1;33;93m//[0;1;32;92m\\[0;1;36;96m\_[0;1;34;94m_\[0;1;35;95m/\[0;1;31;91m\\[0;1;33;93m/\[0;1;32;92m\\[0;1;36;96m__[0;1;34;94m\/[0;1;35;95m\\[0;1;31;91m\_[0m                     | ||||
|    [0;1;31;91m_[0;1;33;93m__[0;1;32;92m__[0;1;36;96m__[0;1;34;94m__[0;1;35;95m__[0;1;31;91m_/[0;1;33;93m\\[0;1;32;92m\_[0;1;36;96m__[0;1;34;94m__[0;1;35;95m__[0;1;31;91m__[0;1;33;93m__[0;1;32;92m__[0;1;36;96m_/[0;1;34;94m\\[0;1;35;95m\_[0;1;31;91m__[0;1;33;93m__[0;1;32;92m_\[0;1;36;96m//[0;1;34;94m\\[0;1;35;95m\_[0;1;31;91m\/[0;1;33;93m\\[0;1;32;92m\/[0;1;36;96m/\[0;1;34;94m\\[0;1;35;95m_\[0;1;31;91m/\[0;1;33;93m\\[0;1;32;92m_[0m                    | ||||
|     [0;1;32;92m__[0;1;36;96m__[0;1;34;94m__[0;1;35;95m__[0;1;31;91m__[0;1;33;93m_\[0;1;32;92m/\[0;1;36;96m\\[0;1;34;94m__[0;1;35;95m__[0;1;31;91m__[0;1;33;93m__[0;1;32;92m__[0;1;36;96m__[0;1;34;94m_\[0;1;35;95m/\[0;1;31;91m\\[0;1;33;93m__[0;1;32;92m__[0;1;36;96m__[0;1;34;94m_\[0;1;35;95m/\[0;1;31;91m\\[0;1;33;93m_\[0;1;32;92m/\[0;1;36;96m\\[0;1;34;94m\/[0;1;35;95m/\[0;1;31;91m\\[0;1;33;93m\/[0;1;32;92m\\[0;1;36;96m\_[0m                   | ||||
|      [0;1;36;96m_[0;1;34;94m__[0;1;35;95m__[0;1;31;91m__[0;1;33;93m__[0;1;32;92m__[0;1;36;96m\/[0;1;34;94m/\[0;1;35;95m\\[0;1;31;91m__[0;1;33;93m__[0;1;32;92m__[0;1;36;96m__[0;1;34;94m__[0;1;35;95m__[0;1;31;91m\/[0;1;33;93m/\[0;1;32;92m\\[0;1;36;96m__[0;1;34;94m__[0;1;35;95m__[0;1;31;91m/\[0;1;33;93m\\[0;1;32;92m__[0;1;36;96m\/[0;1;34;94m\\[0;1;35;95m\_[0;1;31;91m\/[0;1;33;93m/\[0;1;32;92m\\[0;1;36;96m/\[0;1;34;94m\\[0;1;35;95m_[0m                  | ||||
|       [0;1;35;95m__[0;1;31;91m__[0;1;33;93m__[0;1;32;92m__[0;1;36;96m__[0;1;34;94m__[0;1;35;95m\/[0;1;31;91m//[0;1;33;93m\\[0;1;32;92m\_[0;1;36;96m__[0;1;34;94m__[0;1;35;95m__[0;1;31;91m__[0;1;33;93m__[0;1;32;92m\/[0;1;36;96m//[0;1;34;94m\\[0;1;35;95m\_[0;1;31;91m_/[0;1;33;93m\\[0;1;32;92m\_[0;1;36;96m__[0;1;34;94m_\[0;1;35;95m/\[0;1;31;91m\\[0;1;33;93m__[0;1;32;92m\/[0;1;36;96m/\[0;1;34;94m\\[0;1;35;95m\\[0;1;31;91m\_[0m                 | ||||
|        [0;1;31;91m_[0;1;33;93m__[0;1;32;92m__[0;1;36;96m__[0;1;34;94m__[0;1;35;95m__[0;1;31;91m__[0;1;33;93m_\[0;1;32;92m//[0;1;36;96m//[0;1;34;94m\\[0;1;35;95m\\[0;1;31;91m\\[0;1;33;93m\\[0;1;32;92m\_[0;1;36;96m__[0;1;34;94m_\[0;1;35;95m//[0;1;31;91m/\[0;1;33;93m\\[0;1;32;92m\\[0;1;36;96m/_[0;1;34;94m__[0;1;35;95m__[0;1;31;91m\/[0;1;33;93m\\[0;1;32;92m\_[0;1;36;96m__[0;1;34;94m\/[0;1;35;95m/\[0;1;31;91m\\[0;1;33;93m\\[0;1;32;92m_[0m                | ||||
|         [0;1;32;92m__[0;1;36;96m__[0;1;34;94m__[0;1;35;95m__[0;1;31;91m__[0;1;33;93m__[0;1;32;92m__[0;1;36;96m__[0;1;34;94m_\[0;1;35;95m//[0;1;31;91m//[0;1;33;93m//[0;1;32;92m//[0;1;36;96m/_[0;1;34;94m__[0;1;35;95m__[0;1;31;91m__[0;1;33;93m\/[0;1;32;92m//[0;1;36;96m//[0;1;34;94m__[0;1;35;95m__[0;1;31;91m__[0;1;33;93m_\[0;1;32;92m//[0;1;36;96m/_[0;1;34;94m__[0;1;35;95m__[0;1;31;91m\/[0;1;33;93m//[0;1;32;92m//[0;1;36;96m__[0m               | ||||
							
								
								
									
										10
									
								
								cmd/towncon/banners/banner3.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								cmd/towncon/banners/banner3.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,10 @@ | ||||
|                                                                        | ||||
|    [0;1;33;93md[0;1;32;92m8P[0m                                                                 | ||||
| [0;1;33;93md8[0;1;32;92m88[0;1;36;96m88[0;1;34;94m8P[0m                                                               | ||||
|   [0;1;36;96m?8[0;1;34;94m8'[0m   [0;1;31;91md[0;1;33;93m88[0;1;32;92m88[0;1;36;96mb[0m  [0;1;34;94m?[0;1;35;95m88[0m   [0;1;33;93md[0;1;32;92m8P[0m  [0;1;34;94md8[0;1;35;95mP[0m  [0;1;31;91m8[0;1;33;93m8b[0;1;32;92md8[0;1;36;96m8b[0m      [0;1;33;93md8[0;1;32;92m88[0;1;36;96m8b[0m [0;1;34;94md[0;1;35;95m88[0;1;31;91m88[0;1;33;93mb[0m   [0;1;36;96m88[0;1;34;94mbd[0;1;35;95m88[0;1;31;91mb[0m  | ||||
|   [0;1;34;94m88[0;1;35;95mP[0m   [0;1;33;93md8[0;1;32;92mP'[0m [0;1;36;96m?[0;1;34;94m88[0m [0;1;35;95md[0;1;31;91m88[0m  [0;1;32;92md8[0;1;36;96mP'[0m [0;1;34;94md[0;1;35;95m8P[0;1;31;91m'[0m  [0;1;33;93m8[0;1;32;92m8P[0;1;36;96m'[0m [0;1;34;94m?8[0;1;35;95mb[0m    [0;1;33;93md[0;1;32;92m8P[0;1;36;96m'[0m [0;1;34;94m`P[0;1;35;95md8[0;1;31;91mP'[0m [0;1;33;93m?[0;1;32;92m88[0m  [0;1;34;94m88[0;1;35;95mP'[0m [0;1;31;91m?[0;1;33;93m8b[0m | ||||
|   [0;1;35;95m88[0;1;31;91mb[0m   [0;1;32;92m88[0;1;36;96mb[0m  [0;1;34;94md[0;1;35;95m88[0m [0;1;31;91m?[0;1;33;93m8b[0m [0;1;32;92m,[0;1;36;96m88[0;1;34;94mb[0m [0;1;35;95m,8[0;1;31;91m8'[0m  [0;1;32;92md8[0;1;36;96m8[0m   [0;1;35;95m88[0;1;31;91mP[0m    [0;1;32;92m8[0;1;36;96m8b[0m    [0;1;31;91m88[0;1;33;93mb[0m  [0;1;32;92md[0;1;36;96m88[0m [0;1;34;94md[0;1;35;95m88[0m   [0;1;33;93m8[0;1;32;92m8P[0m | ||||
|   [0;1;31;91m`?[0;1;33;93m8b[0m  [0;1;36;96m`?[0;1;34;94m88[0;1;35;95m88[0;1;31;91mP'[0m [0;1;33;93m`[0;1;32;92m?8[0;1;36;96m88[0;1;34;94mP'[0;1;35;95m88[0;1;31;91m8P[0;1;33;93m'[0m  [0;1;32;92md[0;1;36;96m88[0;1;34;94m'[0m   [0;1;31;91m88[0;1;33;93mb[0m    [0;1;36;96m`[0;1;34;94m?8[0;1;35;95m88[0;1;31;91mP'[0;1;33;93m`?[0;1;32;92m88[0;1;36;96m88[0;1;34;94mP'[0;1;35;95md8[0;1;31;91m8'[0m   [0;1;32;92m8[0;1;36;96m8b[0m | ||||
|                                                                        | ||||
|                                                                        | ||||
|                                                                        | ||||
							
								
								
									
										94
									
								
								cmd/towncon/main.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										94
									
								
								cmd/towncon/main.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,94 @@ | ||||
| package main | ||||
| 
 | ||||
| import ( | ||||
| 	"embed" | ||||
| 	"fmt" | ||||
| 	"math/rand" | ||||
| 	"os" | ||||
| 	"os/exec" | ||||
| 	"path" | ||||
| 	"strings" | ||||
| 
 | ||||
| 	"github.com/charmbracelet/glamour" | ||||
| 	"github.com/charmbracelet/huh" | ||||
| ) | ||||
| 
 | ||||
| //go:embed banners/* | ||||
| var banners embed.FS | ||||
| 
 | ||||
| //go:embed md/* | ||||
| var md embed.FS | ||||
| 
 | ||||
| func banner() (string, error) { | ||||
| 	dirs, err := banners.ReadDir("banners") | ||||
| 	if err != nil { | ||||
| 		return "", err | ||||
| 	} | ||||
| 	mx := len(dirs) | ||||
| 	ix := rand.Intn(mx) | ||||
| 	content, err := banners.ReadFile(path.Join("banners", dirs[ix].Name())) | ||||
| 	if err != nil { | ||||
| 		return "", err | ||||
| 	} | ||||
| 
 | ||||
| 	return string(content), nil | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| func pager() *exec.Cmd { | ||||
| 	return exec.Command("/usr/bin/bat") | ||||
| } | ||||
| 
 | ||||
| func _main() error { | ||||
| 	b, err := banner() | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 
 | ||||
| 	fmt.Println(b) | ||||
| 
 | ||||
| 	var mode string | ||||
| 
 | ||||
| 	huh.NewSelect[string]().Title("whuddyu wanna doo?"). | ||||
| 		Options( | ||||
| 			huh.NewOption("Get an info dump", "info"), | ||||
| 			huh.NewOption("RSVP", "rsvp"), | ||||
| 			huh.NewOption("Submit a talk proposal or finished work", "submit"), | ||||
| 			huh.NewOption("Propose a creative jam", "jam"), | ||||
| 			huh.NewOption("Quit", "quit"), | ||||
| 		).Value(&mode).Run() | ||||
| 
 | ||||
| 	switch mode { | ||||
| 	case "info": | ||||
| 		infoContent, err := md.ReadFile("md/info.md") | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 		out, err := glamour.Render(string(infoContent), "dracula") | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 		cmd := pager() | ||||
| 		cmd.Stdin = strings.NewReader(out) | ||||
| 		cmd.Stdout = os.Stdout | ||||
| 		err = cmd.Run() | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 	case "rsvp": | ||||
| 	case "submit": | ||||
| 	case "jam": | ||||
| 	case "quit": | ||||
| 	default: | ||||
| 		return fmt.Errorf("wtf '%s'", mode) | ||||
| 	} | ||||
| 
 | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| func main() { | ||||
| 	if err := _main(); err != nil { | ||||
| 		fmt.Fprintf(os.Stderr, ":( failed: %s\n", err.Error()) | ||||
| 		os.Exit(1) | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										86
									
								
								cmd/towncon/md/info.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								cmd/towncon/md/info.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,86 @@ | ||||
| # TOWN CON INFORMATION | ||||
| 
 | ||||
| TOWN CON is a celebration of tilde.town's 10 year anniversary featuring 24 hours of talks, art, and music by townies. | ||||
| 
 | ||||
| TOWN CON begins at 0:00 UTC on October 11, 2024 and ends 23:59 UTC on October 12, 2024. | ||||
| 
 | ||||
| There is an additional day of TOWN CON on October 12th for townies attending TOWN CON MEAT EDITION in Chicago, Illinois, USA. | ||||
| 
 | ||||
| ## DIGITAL EVENT | ||||
| 
 | ||||
| TOWN CON's primary locus of reality will be here on the server in a text-mode environment. This environment will be supplemented with audio/video feeds as needed. | ||||
| 
 | ||||
| Works submitted by townies will all be slotted into a viewing schedule to run throughout the 24 hours of the event. The text-mode environment will either show the submitted work or have a pointer off to where it can be consumed in a browser. | ||||
| 
 | ||||
| The text mode environment will either be a HERMETICUM instance (if I finish the project in time) or just IRC. | ||||
| 
 | ||||
| ### JAMS | ||||
| 
 | ||||
| Throughout the event townies are encouraged to cluster and collaborate on various creative **JAMS**. Re-run this tool and select _Propose a creative jam_ if you want to suggest one. Suggested jams: | ||||
| 
 | ||||
| - 88x31 badge jam | ||||
| - forum software jam | ||||
| - game jam | ||||
| - dos jam | ||||
| 
 | ||||
| ## PHYSICAL EVENT | ||||
| 
 | ||||
| TOWN CON MEAT EDITION takes place October 11th and 12th in Chicago, Illinois, USA. | ||||
| 
 | ||||
| On the 11th we'll be plugged into the digital event together and on the 12th we'll do something in meatspace. | ||||
| 
 | ||||
| ### live music jam | ||||
| 
 | ||||
| Meat edition guests are encouraged to bring small sound or music emitting devices. We'll set them up with recording system and do some jamming. Some synthesizers and a sampler will be provided. | ||||
| 
 | ||||
| ### VENUE and LODGING | ||||
| 
 | ||||
| The venue is a converted warehouse loft located at: | ||||
| 
 | ||||
| ``` | ||||
| Loft 606 | ||||
| 2605 W Armitage Ave,  | ||||
| Chicago, IL 60647 | ||||
| ``` | ||||
| 
 | ||||
| The venue has enough sleeping space to lodge everyone who expressed interest in coming in person, however some people will need to volunteer to sleep on couches. I have the venue reserved for: | ||||
| 
 | ||||
| - the evening of October 10th (feel free to arrive this day!) | ||||
| - all day October 11th | ||||
| - all day October 12th | ||||
| - the morning of October 13th (feel free to leave this day!) | ||||
| 
 | ||||
| The total cost to book this venue was **$8,637**. I've paid for it out of pocket and would love if townies could help chip in for the cost. As of right now (`2024-08-31`) I have received **$0** of chip in and will update this as I get donations. | ||||
| 
 | ||||
| To learn more about the venue you can visit their website: https://www.loft606.com/ | ||||
| 
 | ||||
| ### FOOD | ||||
| 
 | ||||
| I'll arrange food throughout the event. | ||||
| 
 | ||||
| - 10th  | ||||
|   - **dinner**: local restaurant food for dinner | ||||
| - 11th | ||||
|   - breakfast: bulk order from Colectivo | ||||
|   - lunch: sandwich fixins | ||||
|   - dinner: vegan deep dish pizza from Kitchen 17 | ||||
| - 12th | ||||
|   - breakfast: bulk order from Colectivo | ||||
|   - lunch: sandwich fixins | ||||
|   - dinner: vegan mexican food from Quesadilla Del Reina Del Sur | ||||
| - 13th | ||||
|   - breakfast: bulk order from Colectivo | ||||
| 
 | ||||
| There are also plenty of restaurants around the venue if people want to get their own food. | ||||
| 
 | ||||
| ### ACTIVITIES | ||||
| 
 | ||||
| I'd like to do a field trip on the 12th...Some potential ideas: | ||||
| 
 | ||||
| - go to the nearby thrift store | ||||
| - go out to minigolf | ||||
| - go to a museum | ||||
| - go into the woods | ||||
| - just hang out and play synths (field trip of the mind) | ||||
| 
 | ||||
| !!! TBD !!! | ||||
							
								
								
									
										14
									
								
								external/cmd/help/main.go
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								external/cmd/help/main.go
									
									
									
									
										vendored
									
									
								
							| @ -35,16 +35,16 @@ func connectDB() (*sql.DB, error) { | ||||
| } | ||||
| 
 | ||||
| type colorScheme struct { | ||||
| 	Header   func(string) string | ||||
| 	Subtitle func(string) string | ||||
| 	Prompt   func(string) string | ||||
| 	Email    func(string) string | ||||
| 	Option   func(string) string | ||||
| 	Error    func(string) string | ||||
| 	Header   func(...string) string | ||||
| 	Subtitle func(...string) string | ||||
| 	Prompt   func(...string) string | ||||
| 	Email    func(...string) string | ||||
| 	Option   func(...string) string | ||||
| 	Error    func(...string) string | ||||
| } | ||||
| 
 | ||||
| func newColorScheme() colorScheme { | ||||
| 	s2r := func(s lipgloss.Style) func(string) string { | ||||
| 	s2r := func(s lipgloss.Style) func(...string) string { | ||||
| 		return s.Render | ||||
| 	} | ||||
| 	c := func(s string) lipgloss.Color { | ||||
|  | ||||
							
								
								
									
										30
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								go.mod
									
									
									
									
									
								
							| @ -6,7 +6,8 @@ require ( | ||||
| 	github.com/AlecAivazis/survey/v2 v2.3.5 | ||||
| 	github.com/MakeNowJust/heredoc/v2 v2.0.1 | ||||
| 	github.com/charmbracelet/glamour v0.5.0 | ||||
| 	github.com/charmbracelet/lipgloss v0.6.0 | ||||
| 	github.com/charmbracelet/huh v0.5.3 | ||||
| 	github.com/charmbracelet/lipgloss v0.13.0 | ||||
| 	github.com/gdamore/tcell/v2 v2.5.3 | ||||
| 	github.com/gofrs/flock v0.8.1 | ||||
| 	github.com/mattn/go-sqlite3 v1.14.16 | ||||
| @ -18,27 +19,42 @@ require ( | ||||
| 
 | ||||
| require ( | ||||
| 	github.com/alecthomas/chroma v0.10.0 // indirect | ||||
| 	github.com/atotto/clipboard v0.1.4 // indirect | ||||
| 	github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect | ||||
| 	github.com/aymerick/douceur v0.2.0 // indirect | ||||
| 	github.com/catppuccin/go v0.2.0 // indirect | ||||
| 	github.com/charmbracelet/bubbles v0.19.0 // indirect | ||||
| 	github.com/charmbracelet/bubbletea v0.27.0 // indirect | ||||
| 	github.com/charmbracelet/x/ansi v0.2.2 // indirect | ||||
| 	github.com/charmbracelet/x/exp/strings v0.0.0-20240722160745-212f7b056ed0 // indirect | ||||
| 	github.com/charmbracelet/x/term v0.2.0 // indirect | ||||
| 	github.com/dlclark/regexp2 v1.4.0 // indirect | ||||
| 	github.com/dustin/go-humanize v1.0.1 // indirect | ||||
| 	github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect | ||||
| 	github.com/gdamore/encoding v1.0.0 // indirect | ||||
| 	github.com/gorilla/css v1.0.0 // indirect | ||||
| 	github.com/inconshreveable/mousetrap v1.0.0 // indirect | ||||
| 	github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect | ||||
| 	github.com/lucasb-eyer/go-colorful v1.2.0 // indirect | ||||
| 	github.com/mattn/go-colorable v0.1.4 // indirect | ||||
| 	github.com/mattn/go-isatty v0.0.14 // indirect | ||||
| 	github.com/mattn/go-runewidth v0.0.13 // indirect | ||||
| 	github.com/mattn/go-isatty v0.0.20 // indirect | ||||
| 	github.com/mattn/go-localereader v0.0.1 // indirect | ||||
| 	github.com/mattn/go-runewidth v0.0.16 // indirect | ||||
| 	github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect | ||||
| 	github.com/microcosm-cc/bluemonday v1.0.17 // indirect | ||||
| 	github.com/mitchellh/hashstructure/v2 v2.0.2 // indirect | ||||
| 	github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect | ||||
| 	github.com/muesli/cancelreader v0.2.2 // indirect | ||||
| 	github.com/muesli/reflow v0.3.0 // indirect | ||||
| 	github.com/muesli/termenv v0.11.1-0.20220204035834-5ac8409525e0 // indirect | ||||
| 	github.com/muesli/termenv v0.15.3-0.20240618155329-98d742f6907a // indirect | ||||
| 	github.com/olekukonko/tablewriter v0.0.5 // indirect | ||||
| 	github.com/rivo/uniseg v0.4.2 // indirect | ||||
| 	github.com/rivo/uniseg v0.4.7 // indirect | ||||
| 	github.com/spf13/pflag v1.0.5 // indirect | ||||
| 	github.com/yuin/goldmark v1.4.4 // indirect | ||||
| 	github.com/yuin/goldmark-emoji v1.0.1 // indirect | ||||
| 	golang.org/x/net v0.0.0-20210614182718-04defd469f4e // indirect | ||||
| 	golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 // indirect | ||||
| 	golang.org/x/sync v0.8.0 // indirect | ||||
| 	golang.org/x/sys v0.24.0 // indirect | ||||
| 	golang.org/x/term v0.0.0-20210503060354-a79de5458b56 // indirect | ||||
| 	golang.org/x/text v0.3.7 // indirect | ||||
| 	golang.org/x/text v0.16.0 // indirect | ||||
| ) | ||||
|  | ||||
							
								
								
									
										63
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										63
									
								
								go.sum
									
									
									
									
									
								
							| @ -1,17 +1,36 @@ | ||||
| github.com/AlecAivazis/survey/v2 v2.3.5 h1:A8cYupsAZkjaUmhtTYv3sSqc7LO5mp1XDfqe5E/9wRQ= | ||||
| github.com/AlecAivazis/survey/v2 v2.3.5/go.mod h1:4AuI9b7RjAR+G7v9+C4YSlX/YL3K3cWNXgWXOhllqvI= | ||||
| github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ= | ||||
| github.com/MakeNowJust/heredoc/v2 v2.0.1 h1:rlCHh70XXXv7toz95ajQWOWQnN4WNLt0TdpZYIR/J6A= | ||||
| github.com/MakeNowJust/heredoc/v2 v2.0.1/go.mod h1:6/2Abh5s+hc3g9nbWLe9ObDIOhaRrqsyY9MWy+4JdRM= | ||||
| github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2 h1:+vx7roKuyA63nhn5WAunQHLTznkw5W8b1Xc0dNjp83s= | ||||
| github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2/go.mod h1:HBCaDeC1lPdgDeDbhX8XFpy1jqjK0IBG8W5K+xYqA0w= | ||||
| github.com/alecthomas/chroma v0.10.0 h1:7XDcGkCQopCNKjZHfYrNLraA+M7e0fMiJ/Mfikbfjek= | ||||
| github.com/alecthomas/chroma v0.10.0/go.mod h1:jtJATyUxlIORhUOFNA9NZDWGAQ8wpxQQqNSB4rjA/1s= | ||||
| github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= | ||||
| github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= | ||||
| github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= | ||||
| github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= | ||||
| github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk= | ||||
| github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4= | ||||
| github.com/catppuccin/go v0.2.0 h1:ktBeIrIP42b/8FGiScP9sgrWOss3lw0Z5SktRoithGA= | ||||
| github.com/catppuccin/go v0.2.0/go.mod h1:8IHJuMGaUUjQM82qBrGNBv7LFq6JI3NnQCF6MOlZjpc= | ||||
| github.com/charmbracelet/bubbles v0.19.0 h1:gKZkKXPP6GlDk6EcfujDK19PCQqRjaJZQ7QRERx1UF0= | ||||
| github.com/charmbracelet/bubbles v0.19.0/go.mod h1:WILteEqZ+krG5c3ntGEMeG99nCupcuIk7V0/zOP0tOA= | ||||
| github.com/charmbracelet/bubbletea v0.27.0 h1:Mznj+vvYuYagD9Pn2mY7fuelGvP0HAXtZYGgRBCbHvU= | ||||
| github.com/charmbracelet/bubbletea v0.27.0/go.mod h1:5MdP9XH6MbQkgGhnlxUqCNmBXf9I74KRQ8HIidRxV1Y= | ||||
| github.com/charmbracelet/glamour v0.5.0 h1:wu15ykPdB7X6chxugG/NNfDUbyyrCLV9XBalj5wdu3g= | ||||
| github.com/charmbracelet/glamour v0.5.0/go.mod h1:9ZRtG19AUIzcTm7FGLGbq3D5WKQ5UyZBbQsMQN0XIqc= | ||||
| github.com/charmbracelet/lipgloss v0.6.0 h1:1StyZB9vBSOyuZxQUcUwGr17JmojPNm87inij9N3wJY= | ||||
| github.com/charmbracelet/lipgloss v0.6.0/go.mod h1:tHh2wr34xcHjC2HCXIlGSG1jaDF0S0atAUvBMP6Ppuk= | ||||
| github.com/charmbracelet/huh v0.5.3 h1:3KLP4a/K1/S4dq4xFMTNMt3XWhgMl/yx8NYtygQ0bmg= | ||||
| github.com/charmbracelet/huh v0.5.3/go.mod h1:OZC3lshuF+/y8laj//DoZdFSHxC51OrtXLJI8xWVouQ= | ||||
| github.com/charmbracelet/lipgloss v0.13.0 h1:4X3PPeoWEDCMvzDvGmTajSyYPcZM4+y8sCA/SsA3cjw= | ||||
| github.com/charmbracelet/lipgloss v0.13.0/go.mod h1:nw4zy0SBX/F/eAO1cWdcvy6qnkDUxr8Lw7dvFrAIbbY= | ||||
| github.com/charmbracelet/x/ansi v0.2.2 h1:BC7xzaVpfWIYZRNE8NhO9zo8KA4eGUL6L/JWXDh3GF0= | ||||
| github.com/charmbracelet/x/ansi v0.2.2/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw= | ||||
| github.com/charmbracelet/x/exp/strings v0.0.0-20240722160745-212f7b056ed0 h1:qko3AQ4gK1MTS/de7F5hPGx6/k1u0w4TeYmBFwzYVP4= | ||||
| github.com/charmbracelet/x/exp/strings v0.0.0-20240722160745-212f7b056ed0/go.mod h1:pBhA0ybfXv6hDjQUZ7hk1lVxBiUbupdw5R31yPUViVQ= | ||||
| github.com/charmbracelet/x/term v0.2.0 h1:cNB9Ot9q8I711MyZ7myUR5HFWL/lc3OpU8jZ4hwm0x0= | ||||
| github.com/charmbracelet/x/term v0.2.0/go.mod h1:GVxgxAbjUrmpvIINHIQnJJKpMlHiZ4cktEQCN6GWyF0= | ||||
| github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= | ||||
| github.com/creack/pty v1.1.17 h1:QeVUsEDNrLBW4tMgZHvxy18sKtr6VI492kBhUfhDJNI= | ||||
| github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= | ||||
| @ -20,6 +39,10 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c | ||||
| github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||
| github.com/dlclark/regexp2 v1.4.0 h1:F1rxgk7p4uKjwIQxBs9oAXe5CqrXlCduYEJvrF4u93E= | ||||
| github.com/dlclark/regexp2 v1.4.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= | ||||
| github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= | ||||
| github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= | ||||
| github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f h1:Y/CXytFA4m6baUTXGLOoWe4PQhGxaX0KpnayAqC48p4= | ||||
| github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f/go.mod h1:vw97MGsxSvLiUE2X8qFplwetxpGLQrlU1Q9AUEIzCaM= | ||||
| github.com/gdamore/encoding v1.0.0 h1:+7OoQ1Bc6eTm5niUzBa0Ctsh6JbMW6Ra+YNuAtDBdko= | ||||
| github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo5dl+VrEg= | ||||
| github.com/gdamore/tcell/v2 v2.5.3 h1:b9XQrT6QGbgI7JvZOJXFNczOQeIYbo8BfeSMzt2sAV0= | ||||
| @ -42,14 +65,16 @@ github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVc | ||||
| github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= | ||||
| github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= | ||||
| github.com/mattn/go-isatty v0.0.13/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= | ||||
| github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= | ||||
| github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= | ||||
| github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= | ||||
| github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= | ||||
| github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4= | ||||
| github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88= | ||||
| github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= | ||||
| github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= | ||||
| github.com/mattn/go-runewidth v0.0.10/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= | ||||
| github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= | ||||
| github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= | ||||
| github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= | ||||
| github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc= | ||||
| github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= | ||||
| github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y= | ||||
| github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= | ||||
| github.com/mattn/go-tty v0.0.5 h1:s09uXI7yDbXzzTTfw3zonKFzwGkyYlgU3OMjqA0ddz4= | ||||
| @ -58,12 +83,17 @@ github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1f | ||||
| github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= | ||||
| github.com/microcosm-cc/bluemonday v1.0.17 h1:Z1a//hgsQ4yjC+8zEkV8IWySkXnsxmdSY642CTFQb5Y= | ||||
| github.com/microcosm-cc/bluemonday v1.0.17/go.mod h1:Z0r70sCuXHig8YpBzCc5eGHAap2K7e/u082ZUpDRRqM= | ||||
| github.com/muesli/reflow v0.2.1-0.20210115123740-9e1d0d53df68/go.mod h1:Xk+z4oIWdQqJzsxyjgl3P22oYZnHdZ8FFTHAQQt5BMQ= | ||||
| github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4NcD46KavDd4= | ||||
| github.com/mitchellh/hashstructure/v2 v2.0.2/go.mod h1:MG3aRVU/N29oo/V/IhBX8GR/zz4kQkprJgF2EVszyDE= | ||||
| github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 h1:ZK8zHtRHOkbHy6Mmr5D264iyp3TiX5OmNcI5cIARiQI= | ||||
| github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6/go.mod h1:CJlz5H+gyd6CUWT45Oy4q24RdLyn7Md9Vj2/ldJBSIo= | ||||
| github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA= | ||||
| github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo= | ||||
| github.com/muesli/reflow v0.3.0 h1:IFsN6K9NfGtjeggFP+68I4chLZV2yIKsXJFNZ+eWh6s= | ||||
| github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8= | ||||
| github.com/muesli/termenv v0.9.0/go.mod h1:R/LzAKf+suGs4IsO95y7+7DpFHO0KABgnZqtlyx2mBw= | ||||
| github.com/muesli/termenv v0.11.1-0.20220204035834-5ac8409525e0 h1:STjmj0uFfRryL9fzRA/OupNppeAID6QJYPMavTL7jtY= | ||||
| github.com/muesli/termenv v0.11.1-0.20220204035834-5ac8409525e0/go.mod h1:Bd5NYQ7pd+SrtBSrSNoBBmXlcY8+Xj4BMJgh8qcZrvs= | ||||
| github.com/muesli/termenv v0.15.3-0.20240618155329-98d742f6907a h1:2MaM6YC3mGu54x+RKAA6JiFFHlHDY1UbkxqppT7wYOg= | ||||
| github.com/muesli/termenv v0.15.3-0.20240618155329-98d742f6907a/go.mod h1:hxSnBBYLK21Vtq/PHd0S2FYCxBXzBua8ov5s1RobyRQ= | ||||
| github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= | ||||
| github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= | ||||
| github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= | ||||
| @ -72,8 +102,8 @@ github.com/rivo/tview v0.0.0-20230130130022-4a1b7a76c01c h1:zIYU4PjQJ4BnYryMmpyi | ||||
| github.com/rivo/tview v0.0.0-20230130130022-4a1b7a76c01c/go.mod h1:lBUy/T5kyMudFzWUH/C2moN+NlU5qF505vzOyINXuUQ= | ||||
| github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= | ||||
| github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= | ||||
| github.com/rivo/uniseg v0.4.2 h1:YwD0ulJSJytLpiaWua0sBDusfsCZohxjxzVTYjwxfV8= | ||||
| github.com/rivo/uniseg v0.4.2/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= | ||||
| github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= | ||||
| github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= | ||||
| github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= | ||||
| github.com/spf13/cobra v1.5.0 h1:X+jTBEBqF0bHN+9cSMgmfuvv2VHJ9ezmFNf9Y/XstYU= | ||||
| github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM= | ||||
| @ -90,16 +120,20 @@ github.com/yuin/goldmark-emoji v1.0.1 h1:ctuWEyzGBwiucEqxzwe0SOYDXPAucOrE9NQC18W | ||||
| github.com/yuin/goldmark-emoji v1.0.1/go.mod h1:2w1E6FEWLcDQkoTE+7HU6QF1F6SLlNGjRIBbIZQFqkQ= | ||||
| golang.org/x/net v0.0.0-20210614182718-04defd469f4e h1:XpT3nA5TvE525Ne3hInMh6+GETgn27Zfm9dxsThnX2Q= | ||||
| golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= | ||||
| golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= | ||||
| golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= | ||||
| golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||
| golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.0.0-20220318055525-2edf467146b5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 h1:xHms4gcpe1YE7A3yIllJXP16CMAGuqwO2lX1mTyyRRc= | ||||
| golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= | ||||
| golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= | ||||
| golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= | ||||
| golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= | ||||
| golang.org/x/term v0.0.0-20210503060354-a79de5458b56 h1:b8jxX3zqjpqb2LklXPzKSGJhzyxCOZSz8ncv8Nv+y7w= | ||||
| @ -107,8 +141,9 @@ golang.org/x/term v0.0.0-20210503060354-a79de5458b56/go.mod h1:tfny5GFUkzUvx4ps4 | ||||
| golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | ||||
| golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= | ||||
| golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= | ||||
| golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= | ||||
| golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= | ||||
| golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= | ||||
| golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= | ||||
| golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= | ||||
| gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= | ||||
| gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user