Skip to content

Commit 81e6325

Browse files
committed
tmp
1 parent 617e120 commit 81e6325

File tree

3 files changed

+6
-8
lines changed

3 files changed

+6
-8
lines changed

action.go

+2-4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import (
44
"fmt"
55
"os"
66
"regexp"
7-
"runtime"
87
"strings"
98
"time"
109

@@ -34,9 +33,8 @@ type CompletionCallback func(c Context) Action
3433
func (a Action) Cache(timeout time.Duration, keys ...key.Key) Action {
3534
if a.callback != nil { // only relevant for callback actions
3635
cachedCallback := a.callback
37-
_, file, line, _ := runtime.Caller(1) // generate uid from wherever Cache() was called
3836
a.callback = func(c Context) Action {
39-
cacheFile, err := cache.File(file, line, keys...)
37+
cacheFile, err := cache.File(2, keys...)
4038
if err != nil {
4139
return cachedCallback(c)
4240
}
@@ -47,7 +45,7 @@ func (a Action) Cache(timeout time.Duration, keys ...key.Key) Action {
4745

4846
invokedAction := (Action{callback: cachedCallback}).Invoke(c)
4947
if invokedAction.action.meta.Messages.IsEmpty() {
50-
if cacheFile, err := cache.File(file, line, keys...); err == nil { // regenerate as cache keys might have changed due to invocation
48+
if cacheFile, err := cache.File(2, keys...); err == nil { // regenerate as cache keys might have changed due to invocation
5149
_ = cache.WriteE(cacheFile, invokedAction.export())
5250
}
5351
}

internal/cache/cache.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"errors"
88
"fmt"
99
"os"
10+
"runtime"
1011
"strconv"
1112
"strings"
1213
"time"
@@ -70,7 +71,8 @@ func CacheDir(name string) (dir string, err error) {
7071

7172
// File returns the cache filename for given values
7273
// TODO cleanup
73-
func File(callerFile string, callerLine int, keys ...key.Key) (file string, err error) {
74+
func File(skip int, keys ...key.Key) (file string, err error) {
75+
_, callerFile, callerLine, _ := runtime.Caller(skip) // generate uid from wherever Cache() was called
7476
uid := uidKeys(callerFile, strconv.Itoa(callerLine))
7577
ids := make([]string, 0)
7678
for _, key := range keys {

pkg/cache/cache.go

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package cache
22

33
import (
4-
"runtime"
54
"time"
65

76
"github.com/rsteube/carapace/internal/cache"
@@ -11,8 +10,7 @@ import (
1110
// Cache caches a function for given duration and keys.
1211
func Cache(timeout time.Duration, keys ...key.Key) func(f func() ([]byte, error)) ([]byte, error) {
1312
return func(f func() ([]byte, error)) ([]byte, error) {
14-
_, file, line, _ := runtime.Caller(1) // generate uid from wherever Cache() was called
15-
cacheFile, err := cache.File(file, line, keys...)
13+
cacheFile, err := cache.File(2, keys...)
1614
if err != nil {
1715
return nil, err
1816
}

0 commit comments

Comments
 (0)