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
|
// Copyright 2022 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build go1.19
// +build go1.19
package main
import (
"fmt"
"log"
"runtime"
"strings"
"time"
)
// goName returns the Go version of a name.
func goName(s string) string {
if s == "" {
return s // doesn't happen
}
s = strings.ToUpper(s[:1]) + s[1:]
if rest := strings.TrimSuffix(s, "Uri"); rest != s {
s = rest + "URI"
}
if rest := strings.TrimSuffix(s, "Id"); rest != s {
s = rest + "ID"
}
return s
}
// the common header for all generated files
func (s *spec) createHeader() string {
format := `// Copyright 2022 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Code generated for LSP. DO NOT EDIT.
package protocol
// Code generated from version %s of protocol/metaModel.json.
// git hash %s (as of %s)
`
hdr := fmt.Sprintf(format, s.model.Version.Version, s.githash, s.modTime.Format(time.ANSIC))
return hdr
}
// useful in debugging
func here() {
_, f, l, _ := runtime.Caller(1)
log.Printf("here: %s:%d", f, l)
}
|