# Common variables
{{.File.Name}}:                                                                           helpers.proto
{{.File.Name | upper}}:                                                                   HELPERS.PROTO
{{.File.Package | base | replace "." "-"}}                                                dummy
{{$packageDir := .File.Name | dir}}{{$packageDir}}                                        .
{{$packageName := .File.Name | base | replace ".proto" ""}}{{$packageName}}               helpers
{{$packageImport := .File.Package | replace "." "_"}}{{$packageImport}}                   dummy
{{$namespacedPackage := .File.Package}}{{$namespacedPackage}}                             dummy
{{$currentFile := .File.Name | getProtoFile}}{{$currentFile}}                             <nil>
{{- /*{{- $currentPackageName := $currentFile.GoPkg.Name}}{{$currentPackageName}}*/}}
# TODO: more variables

# Sprig: strings
{{trim "   hello    "}}:                                                            hello
{{trimAll "$" "$5.00"}}:                                                            5.00
{{trimSuffix "-" "hello-"}}:                                                        hello
{{upper "hello"}}:                                                                  HELLO
{{lower "HELLO"}}:                                                                  hello
{{title "hello world"}}:                                                            Hello World
{{untitle "Hello World"}}:                                                          hello world
{{repeat 3 "hello"}}:                                                               hellohellohello
{{substr 0 5 "hello world"}}:                                                       hello
{{nospace "hello w o r l d"}}:                                                      helloworld
{{trunc 5 "hello world"}}:                                                          hello
{{abbrev 5 "hello world"}}:                                                         he...
{{abbrevboth 5 10 "1234 5678 9123"}}:                                               ...5678...
{{initials "First Try"}}:                                                           FT
{{randNumeric 3}}:                                                                  528
{{- /*{{wrap 80 $someText}}*/}}:
{{wrapWith 5 "\t" "Hello World"}}:                                                  Hello	World
{{contains "cat" "catch"}}:                                                         true
{{hasPrefix "cat" "catch"}}:                                                        true
{{cat "hello" "beautiful" "world"}}:                                                hello beautiful world
{{- /*{{indent 4 $lots_of_text}}*/}}:
{{- /*{{indent 4 $lots_of_text}}*/}}:
{{"I Am Henry VIII" | replace " " "-"}}:                                            I-Am-Henry-VIII
{{len .Service.Method | plural "one anchovy" "many anchovies"}}:                    many anchovies
{{snakecase "FirstName"}}:                                                          first_name
{{camelcase "http_server"}}:                                                        HttpServer
{{shuffle "hello"}}:                                                                holle
{{regexMatch "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}" "test@acme.com"}}:   true
{{- /*{{regexFindAll "[2,4,6,8]" "123456789"}}*/}}:
{{regexFind "[a-zA-Z][1-9]" "abcd1234"}}:                                           d1
{{regexReplaceAll "a(x*)b" "-ab-axxb-" "${1}W"}}:                                   -W-xxW-
{{regexReplaceAllLiteral "a(x*)b" "-ab-axxb-" "${1}"}}:                             -${1}-${1}-
{{regexSplit "z+" "pizza" -1}}:                                                     [pi a]

# Get one specific method on array method using index
{{ index .Service.Method 1 }}:                                                      name:"Iii" input_type:".dummy.Dummy2" output_type:".dummy.Dummy1" options:<> 

# Sprig: advanced
{{if contains "cat" "catch"}}yes{{else}}no{{end}}:   yes
{{1 | plural "one anchovy" "many anchovies"}}:       one anchovy
{{2 | plural "one anchovy" "many anchovies"}}:       many anchovies
{{3 | plural "one anchovy" "many anchovies"}}:       many anchovies

# TODO: more sprig examples
# TODO: all built-in examples