Replace utils.Once with stdlib sync.OnceValue

This commit is contained in:
Kovid Goyal
2023-08-09 12:08:42 +05:30
parent 49ea26968c
commit 4f72bb9894
22 changed files with 53 additions and 96 deletions

View File

@@ -9,6 +9,7 @@ import (
"os"
"path/filepath"
"strings"
"sync"
"kitty/tools/utils"
"kitty/tools/utils/images"
@@ -22,7 +23,7 @@ var _ = fmt.Print
var _ = os.WriteFile
var ErrNoLexer = errors.New("No lexer available for this format")
var DefaultStyle = utils.Once(func() *chroma.Style {
var DefaultStyle = sync.OnceValue(func() *chroma.Style {
// Default style generated by python style.py default pygments.styles.default.DefaultStyle
// with https://raw.githubusercontent.com/alecthomas/chroma/master/_tools/style.py
return styles.Register(chroma.MustNewStyle("default", chroma.StyleEntries{

View File

@@ -7,6 +7,7 @@ import (
"path/filepath"
"strconv"
"strings"
"sync"
"kitty"
"kitty/tools/config"
@@ -43,7 +44,7 @@ func read_relevant_kitty_opts(path string) KittyOpts {
return ans
}
var RelevantKittyOpts = utils.Once(func() KittyOpts {
var RelevantKittyOpts = sync.OnceValue(func() KittyOpts {
return read_relevant_kitty_opts(filepath.Join(utils.ConfigDir(), "kitty.conf"))
})

View File

@@ -13,6 +13,7 @@ import (
"path/filepath"
"strconv"
"strings"
"sync"
)
var _ = fmt.Print
@@ -22,11 +23,11 @@ const DIFF_DIFF = `diff -p -U _CONTEXT_ --`
var diff_cmd []string
var GitExe = utils.Once(func() string {
var GitExe = sync.OnceValue(func() string {
return utils.FindExe("git")
})
var DiffExe = utils.Once(func() string {
var DiffExe = sync.OnceValue(func() string {
return utils.FindExe("diff")
})

View File

@@ -12,6 +12,7 @@ import (
"regexp"
"strconv"
"strings"
"sync"
"unicode"
"unicode/utf8"
@@ -163,7 +164,7 @@ func linenum_group_processor(gd map[string]string) {
gd[`path`] = utils.Expanduser(gd[`path`])
}
var PostProcessorMap = utils.Once(func() map[string]PostProcessorFunc {
var PostProcessorMap = sync.OnceValue(func() map[string]PostProcessorFunc {
return map[string]PostProcessorFunc{
"url": func(text string, s, e int) (int, int) {
if s > 4 && text[s-5:s] == "link:" { // asciidoc URLs
@@ -227,7 +228,7 @@ func read_relevant_kitty_opts(path string) KittyOpts {
return ans
}
var RelevantKittyOpts = utils.Once(func() KittyOpts {
var RelevantKittyOpts = sync.OnceValue(func() KittyOpts {
return read_relevant_kitty_opts(filepath.Join(utils.ConfigDir(), "kitty.conf"))
})

View File

@@ -12,6 +12,7 @@ import (
"path/filepath"
"regexp"
"strings"
"sync"
"unicode"
"kitty/tools/cli"
@@ -22,7 +23,7 @@ import (
var _ = fmt.Print
var RgExe = utils.Once(func() string {
var RgExe = sync.OnceValue(func() string {
return utils.FindExe("rg")
})

View File

@@ -13,15 +13,16 @@ import (
"regexp"
"strconv"
"strings"
"sync"
)
var _ = fmt.Print
var SSHExe = utils.Once(func() string {
var SSHExe = sync.OnceValue(func() string {
return utils.FindExe("ssh")
})
var SSHOptions = utils.Once(func() (ssh_options map[string]string) {
var SSHOptions = sync.OnceValue(func() (ssh_options map[string]string) {
defer func() {
if ssh_options == nil {
ssh_options = map[string]string{
@@ -201,7 +202,7 @@ func (self SSHVersion) SupportsAskpassRequire() bool {
return self.Major > 8 || (self.Major == 8 && self.Minor >= 4)
}
var GetSSHVersion = utils.Once(func() SSHVersion {
var GetSSHVersion = sync.OnceValue(func() SSHVersion {
b, err := exec.Command(SSHExe(), "-V").CombinedOutput()
if err != nil {
return SSHVersion{}
@@ -235,6 +236,6 @@ func read_relevant_kitty_opts(path string) KittyOpts {
return ans
}
var RelevantKittyOpts = utils.Once(func() KittyOpts {
var RelevantKittyOpts = sync.OnceValue(func() KittyOpts {
return read_relevant_kitty_opts(filepath.Join(utils.ConfigDir(), "kitty.conf"))
})

View File

@@ -11,6 +11,7 @@ import (
"regexp"
"strconv"
"strings"
"sync"
"time"
"kitty"
@@ -140,7 +141,7 @@ func escape_semicolons(x string) string {
return strings.ReplaceAll(x, ";", ";;")
}
var ftc_field_map = utils.Once(func() map[string]reflect.StructField {
var ftc_field_map = sync.OnceValue(func() map[string]reflect.StructField {
ans := make(map[string]reflect.StructField)
self := FileTransmissionCommand{}
v := reflect.ValueOf(self)
@@ -155,7 +156,7 @@ var ftc_field_map = utils.Once(func() map[string]reflect.StructField {
return ans
})
var safe_string_pat = utils.Once(func() *regexp.Regexp {
var safe_string_pat = sync.OnceValue(func() *regexp.Regexp {
return regexp.MustCompile(`[^0-9a-zA-Z_:./@-]`)
})