-
Notifications
You must be signed in to change notification settings - Fork 8
/
welcome.go
66 lines (55 loc) · 2.22 KB
/
welcome.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// Copyright 2022 Namespace Labs Inc; All rights reserved.
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
package welcome
import (
"context"
"fmt"
"strings"
"namespacelabs.dev/foundation/internal/console"
)
const logo = `
.:::::..
:=*%@@@@@@@@@@@%#+-
.=#@@@%*+=-::''::-=*#@@@%+:
:#@@@+: :=%@@%=
:#@@*- '+@@@-
*@@#' +@@%.
#@@+ :%@@:
#@@: =%%#. -%%* '%@@.
*@@- +@@@@= =@@# %@%
:@@# +@@@@@# =@@# -@@=
+@@= +@@*=@@%: =@@# @@@
#@@| +@@* '#@@+=@@# %@@
*@@| +@@* +@@@@@# %@@
+@@= +@@* :@@@@# @@%
'@@% +@@* +@@# =@@-
=@@= .@@#
*@@= #%%%%%%%%%+ :@@%'
*@@* *#########= -@@%'
=@@%- :*@@*
+@@%= -#@@#:
'+%@@#=: .=*@@@*:
:+%@@@%*+=-----=+*#@@@@#-
':=*#%@@@@@@@%#*+-'
`
func WelcomeMessage(firstRun bool) string {
var b strings.Builder
b.WriteString(logo)
b.WriteString("\n\nThank you for trying Namespace!\n\n")
if firstRun {
// Add this to make clear that this large help won't be printed on every command.
b.WriteString("It appears this is your first run of `ns`. Let us provide some help on how to interact with it:\n")
}
// TODO add more content.
b.WriteString("We have assembled some canonical examples at https://namespacelabs.dev/examples.\n")
b.WriteString("Tell us what you think on https://community.namespace.so/discord/.\n")
b.WriteString("Our full documentation is located at https://namespace.so/docs.\n")
if firstRun {
b.WriteString("To see this message again at a later point, just run `ns --help`.\n")
}
return b.String()
}
func PrintWelcome(ctx context.Context, firstRun bool) {
fmt.Fprint(console.TypedOutput(ctx, "welcome", console.CatOutputUs), WelcomeMessage(firstRun))
}