gopls version
Build info
----------
golang.org/x/tools/gopls v0.20.0
golang.org/x/tools/gopls@v0.20.0 h1:fxOYZXKl6IsOTKIh6IgjDbIDHlr5btOtOUkrGOgFDB4=
github.com/BurntSushi/toml@v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg=
github.com/fatih/camelcase@v1.0.0 h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8=
github.com/fatih/gomodifytags@v1.17.1-0.20250423142747-f3939df9aa3c h1:dDSgAjoOMp8da3egfz0t2S+t8RGOpEmEXZubcGuc0Bg=
github.com/fatih/structtag@v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4=
github.com/fsnotify/fsnotify@v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k=
github.com/google/go-cmp@v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
golang.org/x/exp/typeparams@v0.0.0-20250620022241-b7579e27df2b h1:KdrhdYPDUvJTvrDK9gdjfFd6JTk8vA1WJoldYSi0kHo=
golang.org/x/mod@v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg=
golang.org/x/sync@v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw=
golang.org/x/sys@v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA=
golang.org/x/telemetry@v0.0.0-20250710130107-8d8967aff50b h1:DU+gwOBXU+6bO0sEyO7o/NeMlxZxCZEvI7v+J4a1zRQ=
golang.org/x/text@v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4=
golang.org/x/tools@v0.35.1-0.20250728180453-01a3475a31bc h1:ZRKyKRJl/YEWl9ScZwd6Ua6xSt7DE6tHp1I3ucMroGM=
golang.org/x/vuln@v1.1.4 h1:Ju8QsuyhX3Hk8ma3CesTbO8vfJD9EvUBgHvkxHBzj0I=
honnef.co/go/tools@v0.7.0-0.dev.0.20250523013057-bbc2f4dd71ea h1:fj8r9irJSpolAGUdZBxJIRY3lLc4jH2Dt4lwnWyWwpw=
mvdan.cc/gofumpt@v0.8.0 h1:nZUCeC2ViFaerTcYKstMmfysj6uhQrA2vJe+2vwGU6k=
mvdan.cc/xurls/v2@v2.6.0 h1:3NTZpeTxYVWNSokW3MKeyVkz/j7uYXYiMtXRUfmjbgI=
go: go1.24.7
go env
GO111MODULE=''
GOARCH='arm64'
GOBIN=''
GOCACHE='/Users/ian/Library/Caches/go-build'
GOENV='/Users/ian/Library/Application Support/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='arm64'
GOHOSTOS='darwin'
GOINSECURE=''
GOMODCACHE='/Users/ian/go/pkg/mod'
GONOPROXY='github.com/gb'
GONOSUMDB='github.com/gb'
GOOS='darwin'
GOPATH='/Users/ian/go'
GOPRIVATE='github.com/gb'
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/Users/ian/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.12.darwin-arm64'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/Users/ian/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.12.darwin-arm64/pkg/tool/darwin_arm64'
GOVCS=''
GOVERSION='go1.23.12'
GODEBUG=''
GOTELEMETRY='local'
GOTELEMETRYDIR='/Users/ian/Library/Application Support/go/telemetry'
GCCGO='gccgo'
GOARM64='v8.0'
AR='ar'
CC='clang'
CXX='clang++'
CGO_ENABLED='1'
GOMOD='/Users/ian/src/roadie/go.mod'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/ts/8mtw6_ys063g05dpbbwx0y980000gn/T/go-build3086432762=/tmp/go-build -gno-record-gcc-switches -fno-common'
What did you do?
Typing new code while running a VSCode Liveshare. This happens both on the host and a connected client (although I think the client may have to type something first to trigger the host to start exhibiting the same behaviour).
What did you see happen?
Frequentl pops up a code action resolve failed error, with various contents depending on the change that is being made. These errors appear live as you're typing and it's possible for them to stack until they fill most of the vertical height of a monitor making pairing incredibly difficult.
https://github.com/user-attachments/assets/4d8cbf63-6313-47cb-9267-aacf43361ca1
What did you expect to see?
No popups or a popup on save.
Editor and settings
{
"workbench.colorTheme": "Default Dark Modern",
"prettier.requireConfig": true,
"editor.codeActionsOnSave": {
"source.fixAll": "explicit"
},
"git.confirmSync": false,
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"wallaby.startAutomatically": false,
"playwright.env": {}
}
Logs
[Error - 12:45:23] Request codeAction/resolve failed.
Message: no identifier found
Code: 0
[Error - 12:45:29] Request codeAction/resolve failed.
Message: no identifier found
Code: 0
[Error - 12:45:29] Request codeAction/resolve failed.
Message: no identifier found
Code: 0
[Info - 12:45:51] 2025/09/12 12:45:51 background imports cache refresh starting
[Info - 12:45:51] 2025/09/12 12:45:51 background refresh finished after 25.97425ms
[Error - 12:45:53] Request codeAction/resolve failed.
Message: no identifier found
Code: 0
[Info - 12:46:21] 2025/09/12 12:46:21 background imports cache refresh starting
[Info - 12:46:21] 2025/09/12 12:46:21 background refresh finished after 45.627875ms
Comment From: gabyhelp
Related Issues
- x/tools/gopls: gopls causes bad vscode performance on large projects due to excessive LSP traffic #74876
- x/tools/gopls: panic and crash in golang.org/x/telemetry/internal/counter #64577 (closed)
- x/tools/gopls: #52425 (closed)
- x/tools/gopls: invalid errors when using "pkgm" VS Code snippet #39296 (closed)
- x/tools/gopls: diagnostics from modules outside `go.work` stick around #48929 (closed)
- x/tools/gopls: Unexpected line comment insertion after line break #74618 (closed)
- x/tools/gopls: vscode take minutes to load packages before completion becomes available #69743 (closed)
- x/tools/gopls: gopls becomes unresponsive from time to time #61969 (closed)
- x/tools/gopls: panic when using VS Code Live Share #41026 (closed)
- x/tools/gopls: high memory consumption on 19MLoC input #73709
(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)
Comment From: findleyr
See also https://github.com/golang/go/issues/71405
For some reason, VS Code liveshare always runs codeAction/resolve, where normal VS Code sessions don't run it until you actually try to run the codeAction.
I wish the error message included the actual code action that failed to resolve...
Comment From: findleyr
At the very least, we should have a way to disable codeAction/resolve so that it stops breaking LiveShare sessions.
Comment From: IPWright83
Yeah it made it completely unusable for my colleague @findleyr - being able to only run on save might work.
Comment From: whitequark
This makes LiveShare completely unusable when working on Go code. Easily the worst user experience I've ever had with VS Code.
Comment From: h9jiang
I could not reproduce this issue with @madelinekalil
Is it possible to share the verbose log with us to see where the error is happening? To do that, please add "go.trace.server": "verbose", to the user settings.json and re-produce this issue. Find channel gopls, it should have the exact same error message you are observing.
Though I can not reproduce this with live share, I think the problem is "vscode live share always run codeAction/resolve".
[Trace - 2:26:50 PM] Sending request 'codeAction/resolve - (162)'.
Params: {
"title": "Create variable te",
"data": {
"title": "Create variable te",
"command": "gopls.apply_fix",
"arguments": [
{
"Fix": "create_undeclared",
"Location": {
"uri": "file://....go",
"range": {
"start": {
"line": 102,
"character": 3
},
"end": {
"line": 102,
"character": 3
}
}
},
"ResolveEdits": true
}
]
},
"kind": "quickfix"
}
[Trace - 2:26:50 PM] Received response 'codeAction/resolve - (162)' in 2ms. Request failed: no identifier found (0).
In a regular gopls session (without live share), I have to manually issue codeAction/resolve and I can reproduce the symptom you are observing.
Comment From: findleyr
I have a CL in progress, which I'll mail later today, that tries to address this on first principles (though I also couldn't reproduce!)
Comment From: IPWright83
I could not reproduce this issue with @madelinekalil
Is it possible to share the verbose log with us to see where the error is happening? To do that, please add
"go.trace.server": "verbose",to the user settings.json and re-produce this issue. Find channelgopls, it should have the exact same error message you are observing.Though I can not reproduce this with live share, I think the problem is "vscode live share always run codeAction/resolve".
``` [Trace - 2:26:50 PM] Sending request 'codeAction/resolve - (162)'. Params: { "title": "Create variable te", "data": { "title": "Create variable te", "command": "gopls.apply_fix", "arguments": [ { "Fix": "create_undeclared", "Location": { "uri": "file://....go", "range": { "start": { "line": 102, "character": 3 }, "end": { "line": 102, "character": 3 } } }, "ResolveEdits": true } ] }, "kind": "quickfix" }
[Trace - 2:26:50 PM] Received response 'codeAction/resolve - (162)' in 2ms. Request failed: no identifier found (0). ```
In a regular gopls session (without live share), I have to manually issue
codeAction/resolveand I can reproduce the symptom you are observing.
The easiest way I found to reproduce it is this:
- Start a VSCode Liveshare instance
- Open the URL in a browser and connect anonymously (in browser)
- Accept the anonymous connection inside VSCode
- Make a change via the browser
At that point making changes from either VSCode or the browser will trigger the issue. I think before that you might struggle getting a prompt. The advantage of using the browser is you can reproduce on your own without any assistance from others.
I've included logs from the 2 gopls channels:
gopls
[Trace - 15:02:28] Sending request 'workspace/executeCommand - (332)'.
Params: {
"command": "gopls.maybe_prompt_for_telemetry"
}
[Trace - 15:02:28] Received response 'workspace/executeCommand - (332)' in 2ms.
No result returned.
[Trace - 15:02:30] Sending request 'textDocument/documentSymbol - (333)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
}
[Trace - 15:02:30] Sending request 'textDocument/documentSymbol - (334)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
}
[Trace - 15:02:30] Sending request 'textDocument/documentSymbol - (335)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
}
[Trace - 15:02:30] Sending request 'textDocument/codeLens - (336)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
}
[Trace - 15:02:30] Received response 'textDocument/documentSymbol - (333)' in 2ms.
Result: [
{
"name": "Test_CreateParameterizedDashboard",
"detail": "func(t *testing.T)",
"kind": 12,
"range": {
"start": {
"line": 29,
"character": 0
},
"end": {
"line": 406,
"character": 1
}
},
"selectionRange": {
"start": {
"line": 29,
"character": 5
},
"end": {
"line": 29,
"character": 38
}
}
}
]
[Trace - 15:02:30] Received response 'textDocument/documentSymbol - (334)' in 2ms.
Result: [
{
"name": "Test_CreateParameterizedDashboard",
"detail": "func(t *testing.T)",
"kind": 12,
"range": {
"start": {
"line": 29,
"character": 0
},
"end": {
"line": 406,
"character": 1
}
},
"selectionRange": {
"start": {
"line": 29,
"character": 5
},
"end": {
"line": 29,
"character": 38
}
}
}
]
[Trace - 15:02:30] Sending request 'workspace/executeCommand - (337)'.
Params: {
"command": "gopls.list_imports",
"arguments": [
{
"URI": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
]
}
[Trace - 15:02:30] Received response 'textDocument/documentSymbol - (335)' in 3ms.
Result: [
{
"name": "Test_CreateParameterizedDashboard",
"detail": "func(t *testing.T)",
"kind": 12,
"range": {
"start": {
"line": 29,
"character": 0
},
"end": {
"line": 406,
"character": 1
}
},
"selectionRange": {
"start": {
"line": 29,
"character": 5
},
"end": {
"line": 29,
"character": 38
}
}
}
]
[Trace - 15:02:30] Received response 'textDocument/codeLens - (336)' in 2ms.
No result returned.
[Trace - 15:02:30] Received response 'workspace/executeCommand - (337)' in 1ms.
Result: {
"Imports": [
{
"Path": "context",
"Name": ""
},
{
"Path": "errors",
"Name": ""
},
{
"Path": "net",
"Name": ""
},
{
"Path": "testing",
"Name": ""
},
{
"Path": "github.com/gb/agora/queue/mocks",
"Name": "agoramocks"
},
{
"Path": "github.com/gb/goutils/database/driver",
"Name": ""
},
{
"Path": "github.com/gb/goutils/featureflags/featureflagtest",
"Name": ""
},
{
"Path": "github.com/gb/identity/authorizer",
"Name": ""
},
{
"Path": "github.com/gb/identity/identity",
"Name": ""
},
{
"Path": "github.com/gb/identity/principal",
"Name": ""
},
{
"Path": "github.com/gb/roadie/database",
"Name": ""
},
{
"Path": "github.com/gb/roadie/database/mocks",
"Name": ""
},
{
"Path": "github.com/gb/roadie/mapping",
"Name": ""
},
{
"Path": "github.com/gb/roadie/models",
"Name": ""
},
{
"Path": "github.com/gb/roadie/presentation",
"Name": ""
},
{
"Path": "github.com/gb/roadie/presentation/presentationmock",
"Name": ""
},
{
"Path": "github.com/gb/roadie/roadiepb",
"Name": "pb"
},
{
"Path": "github.com/gb/roadie/testutil",
"Name": ""
},
{
"Path": "github.com/google/go-cmp/cmp/cmpopts",
"Name": ""
},
{
"Path": "github.com/volatiletech/null/v8",
"Name": ""
},
{
"Path": "google.golang.org/grpc/codes",
"Name": ""
},
{
"Path": "google.golang.org/grpc/status",
"Name": ""
},
{
"Path": "gotest.tools/v3/assert",
"Name": ""
}
],
"PackageImports": [
{
"Path": "context"
},
{
"Path": "crypto/rand"
},
{
"Path": "database/sql"
},
{
"Path": "errors"
},
{
"Path": "fmt"
},
{
"Path": "github.com/aws/aws-sdk-go/aws"
},
{
"Path": "github.com/aws/aws-sdk-go/aws/awserr"
},
{
"Path": "github.com/aws/aws-sdk-go/aws/request"
},
{
"Path": "github.com/aws/aws-sdk-go/service/s3"
},
{
"Path": "github.com/aws/aws-sdk-go/service/s3/s3iface"
},
{
"Path": "github.com/bugsnag/bugsnag-go"
},
{
"Path": "github.com/bugsnag/bugsnag-go/errors"
},
{
"Path": "github.com/gb/agora/queue/event"
},
{
"Path": "github.com/gb/agora/queue/mocks"
},
{
"Path": "github.com/gb/campus/campuspb"
},
{
"Path": "github.com/gb/clerk/clerkpb"
},
{
"Path": "github.com/gb/go-grpc-middleware/middleware"
},
{
"Path": "github.com/gb/goutils/bugsnagutils/bugsnagtest"
},
{
"Path": "github.com/gb/goutils/database/driver"
},
{
"Path": "github.com/gb/goutils/database/driver/mocks"
},
{
"Path": "github.com/gb/goutils/featureflags"
},
{
"Path": "github.com/gb/goutils/featureflags/featureflagtest"
},
{
"Path": "github.com/gb/goutils/globalfinderpb"
},
{
"Path": "github.com/gb/goutils/globalfinderpb/globalfindertestutil"
},
{
"Path": "github.com/gb/goutils/log"
},
{
"Path": "github.com/gb/goutils/testhelp"
},
{
"Path": "github.com/gb/goutils/vault"
},
{
"Path": "github.com/gb/goutils/vault/mocks"
},
{
"Path": "github.com/gb/identity/authorization"
},
{
"Path": "github.com/gb/identity/authorizer"
},
{
"Path": "github.com/gb/identity/grpcauthz"
},
{
"Path": "github.com/gb/identity/identity"
},
{
"Path": "github.com/gb/identity/principal"
},
{
"Path": "github.com/gb/roadie/database"
},
{
"Path": "github.com/gb/roadie/database/dbmock"
},
{
"Path": "github.com/gb/roadie/database/mocks"
},
{
"Path": "github.com/gb/roadie/event"
},
{
"Path": "github.com/gb/roadie/integrations"
},
{
"Path": "github.com/gb/roadie/mapping"
},
{
"Path": "github.com/gb/roadie/models"
},
{
"Path": "github.com/gb/roadie/presentation"
},
{
"Path": "github.com/gb/roadie/presentation/presentationmock"
},
{
"Path": "github.com/gb/roadie/random"
},
{
"Path": "github.com/gb/roadie/roadiepb"
},
{
"Path": "github.com/gb/roadie/s3"
},
{
"Path": "github.com/gb/roadie/testutil"
},
{
"Path": "github.com/gb/tuner/tunerpb"
},
{
"Path": "github.com/golang/protobuf/ptypes/empty"
},
{
"Path": "github.com/google/go-cmp/cmp"
},
{
"Path": "github.com/google/go-cmp/cmp/cmpopts"
},
{
"Path": "github.com/google/uuid"
},
{
"Path": "github.com/honeycombio/beeline-go"
},
{
"Path": "github.com/volatiletech/null/v8"
},
{
"Path": "github.com/volatiletech/sqlboiler/v4/boil"
},
{
"Path": "github.com/volatiletech/sqlboiler/v4/queries/qm"
},
{
"Path": "github.com/volatiletech/sqlboiler/v4/types"
},
{
"Path": "google.golang.org/grpc"
},
{
"Path": "google.golang.org/grpc/codes"
},
{
"Path": "google.golang.org/grpc/metadata"
},
{
"Path": "google.golang.org/grpc/status"
},
{
"Path": "google.golang.org/protobuf/reflect/protoreflect"
},
{
"Path": "google.golang.org/protobuf/testing/protocmp"
},
{
"Path": "google.golang.org/protobuf/types/known/timestamppb"
},
{
"Path": "gotest.tools/v3/assert"
},
{
"Path": "gotest.tools/v3/assert/cmp"
},
{
"Path": "io"
},
{
"Path": "log"
},
{
"Path": "math/rand"
},
{
"Path": "net"
},
{
"Path": "path"
},
{
"Path": "slices"
},
{
"Path": "sort"
},
{
"Path": "strings"
},
{
"Path": "testing"
},
{
"Path": "time"
}
]
}
[Trace - 15:02:31] Sending request 'textDocument/hover - (338)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
},
"position": {
"line": 144,
"character": 6
}
}
[Trace - 15:02:31] Received response 'textDocument/hover - (338)' in 1ms.
Result: {
"contents": {
"kind": "markdown",
"value": "```go\nvar parentTemplateId string\n```"
},
"range": {
"start": {
"line": 144,
"character": 2
},
"end": {
"line": 144,
"character": 18
}
}
}
[Trace - 15:02:32] Sending notification 'textDocument/didChange'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go",
"version": 12
},
"contentChanges": [
{
"range": {
"start": {
"line": 143,
"character": 2
},
"end": {
"line": 143,
"character": 2
}
},
"rangeLength": 0,
"text": "s"
}
]
}
[Trace - 15:02:32] Sending request 'textDocument/documentSymbol - (339)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
}
[Trace - 15:02:32] Received response 'textDocument/documentSymbol - (339)' in 6ms.
Result: [
{
"name": "Test_CreateParameterizedDashboard",
"detail": "func(t *testing.T)",
"kind": 12,
"range": {
"start": {
"line": 29,
"character": 0
},
"end": {
"line": 406,
"character": 1
}
},
"selectionRange": {
"start": {
"line": 29,
"character": 5
},
"end": {
"line": 29,
"character": 38
}
}
}
]
[Trace - 15:02:32] Sending request 'workspace/executeCommand - (340)'.
Params: {
"command": "gopls.list_imports",
"arguments": [
{
"URI": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
]
}
[Trace - 15:02:32] Received response 'workspace/executeCommand - (340)' in 2ms.
Result: {
"Imports": [
{
"Path": "context",
"Name": ""
},
{
"Path": "errors",
"Name": ""
},
{
"Path": "net",
"Name": ""
},
{
"Path": "testing",
"Name": ""
},
{
"Path": "github.com/gb/agora/queue/mocks",
"Name": "agoramocks"
},
{
"Path": "github.com/gb/goutils/database/driver",
"Name": ""
},
{
"Path": "github.com/gb/goutils/featureflags/featureflagtest",
"Name": ""
},
{
"Path": "github.com/gb/identity/authorizer",
"Name": ""
},
{
"Path": "github.com/gb/identity/identity",
"Name": ""
},
{
"Path": "github.com/gb/identity/principal",
"Name": ""
},
{
"Path": "github.com/gb/roadie/database",
"Name": ""
},
{
"Path": "github.com/gb/roadie/database/mocks",
"Name": ""
},
{
"Path": "github.com/gb/roadie/mapping",
"Name": ""
},
{
"Path": "github.com/gb/roadie/models",
"Name": ""
},
{
"Path": "github.com/gb/roadie/presentation",
"Name": ""
},
{
"Path": "github.com/gb/roadie/presentation/presentationmock",
"Name": ""
},
{
"Path": "github.com/gb/roadie/roadiepb",
"Name": "pb"
},
{
"Path": "github.com/gb/roadie/testutil",
"Name": ""
},
{
"Path": "github.com/google/go-cmp/cmp/cmpopts",
"Name": ""
},
{
"Path": "github.com/volatiletech/null/v8",
"Name": ""
},
{
"Path": "google.golang.org/grpc/codes",
"Name": ""
},
{
"Path": "google.golang.org/grpc/status",
"Name": ""
},
{
"Path": "gotest.tools/v3/assert",
"Name": ""
}
],
"PackageImports": [
{
"Path": "context"
},
{
"Path": "crypto/rand"
},
{
"Path": "database/sql"
},
{
"Path": "errors"
},
{
"Path": "fmt"
},
{
"Path": "github.com/aws/aws-sdk-go/aws"
},
{
"Path": "github.com/aws/aws-sdk-go/aws/awserr"
},
{
"Path": "github.com/aws/aws-sdk-go/aws/request"
},
{
"Path": "github.com/aws/aws-sdk-go/service/s3"
},
{
"Path": "github.com/aws/aws-sdk-go/service/s3/s3iface"
},
{
"Path": "github.com/bugsnag/bugsnag-go"
},
{
"Path": "github.com/bugsnag/bugsnag-go/errors"
},
{
"Path": "github.com/gb/agora/queue/event"
},
{
"Path": "github.com/gb/agora/queue/mocks"
},
{
"Path": "github.com/gb/campus/campuspb"
},
{
"Path": "github.com/gb/clerk/clerkpb"
},
{
"Path": "github.com/gb/go-grpc-middleware/middleware"
},
{
"Path": "github.com/gb/goutils/bugsnagutils/bugsnagtest"
},
{
"Path": "github.com/gb/goutils/database/driver"
},
{
"Path": "github.com/gb/goutils/database/driver/mocks"
},
{
"Path": "github.com/gb/goutils/featureflags"
},
{
"Path": "github.com/gb/goutils/featureflags/featureflagtest"
},
{
"Path": "github.com/gb/goutils/globalfinderpb"
},
{
"Path": "github.com/gb/goutils/globalfinderpb/globalfindertestutil"
},
{
"Path": "github.com/gb/goutils/log"
},
{
"Path": "github.com/gb/goutils/testhelp"
},
{
"Path": "github.com/gb/goutils/vault"
},
{
"Path": "github.com/gb/goutils/vault/mocks"
},
{
"Path": "github.com/gb/identity/authorization"
},
{
"Path": "github.com/gb/identity/authorizer"
},
{
"Path": "github.com/gb/identity/grpcauthz"
},
{
"Path": "github.com/gb/identity/identity"
},
{
"Path": "github.com/gb/identity/principal"
},
{
"Path": "github.com/gb/roadie/database"
},
{
"Path": "github.com/gb/roadie/database/dbmock"
},
{
"Path": "github.com/gb/roadie/database/mocks"
},
{
"Path": "github.com/gb/roadie/event"
},
{
"Path": "github.com/gb/roadie/integrations"
},
{
"Path": "github.com/gb/roadie/mapping"
},
{
"Path": "github.com/gb/roadie/models"
},
{
"Path": "github.com/gb/roadie/presentation"
},
{
"Path": "github.com/gb/roadie/presentation/presentationmock"
},
{
"Path": "github.com/gb/roadie/random"
},
{
"Path": "github.com/gb/roadie/roadiepb"
},
{
"Path": "github.com/gb/roadie/s3"
},
{
"Path": "github.com/gb/roadie/testutil"
},
{
"Path": "github.com/gb/tuner/tunerpb"
},
{
"Path": "github.com/golang/protobuf/ptypes/empty"
},
{
"Path": "github.com/google/go-cmp/cmp"
},
{
"Path": "github.com/google/go-cmp/cmp/cmpopts"
},
{
"Path": "github.com/google/uuid"
},
{
"Path": "github.com/honeycombio/beeline-go"
},
{
"Path": "github.com/volatiletech/null/v8"
},
{
"Path": "github.com/volatiletech/sqlboiler/v4/boil"
},
{
"Path": "github.com/volatiletech/sqlboiler/v4/queries/qm"
},
{
"Path": "github.com/volatiletech/sqlboiler/v4/types"
},
{
"Path": "google.golang.org/grpc"
},
{
"Path": "google.golang.org/grpc/codes"
},
{
"Path": "google.golang.org/grpc/metadata"
},
{
"Path": "google.golang.org/grpc/status"
},
{
"Path": "google.golang.org/protobuf/reflect/protoreflect"
},
{
"Path": "google.golang.org/protobuf/testing/protocmp"
},
{
"Path": "google.golang.org/protobuf/types/known/timestamppb"
},
{
"Path": "gotest.tools/v3/assert"
},
{
"Path": "gotest.tools/v3/assert/cmp"
},
{
"Path": "io"
},
{
"Path": "log"
},
{
"Path": "math/rand"
},
{
"Path": "net"
},
{
"Path": "path"
},
{
"Path": "slices"
},
{
"Path": "sort"
},
{
"Path": "strings"
},
{
"Path": "testing"
},
{
"Path": "time"
}
]
}
[Trace - 15:02:32] Sending request 'textDocument/completion - (341)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
},
"position": {
"line": 143,
"character": 3
},
"context": {
"triggerKind": 1
}
}
[Trace - 15:02:32] Sending request 'textDocument/inlayHint - (342)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
},
"range": {
"start": {
"line": 72,
"character": 0
},
"end": {
"line": 175,
"character": 0
}
}
}
[Trace - 15:02:32] Received notification 'textDocument/publishDiagnostics'.
Params: {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go",
"version": 12,
"diagnostics": [
{
"range": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"severity": 1,
"code": "UndeclaredName",
"codeDescription": {
"href": "https://pkg.go.dev/golang.org/x/tools/internal/typesinternal#UndeclaredName"
},
"source": "compiler",
"message": "undefined: res"
}
]
}
[Trace - 15:02:32] Received response 'textDocument/inlayHint - (342)' in 65ms.
No result returned.
[Trace - 15:02:32] Received response 'textDocument/completion - (341)' in 95ms.
Result: {
"isIncomplete": true,
"items": [
{
"label": "resp",
"kind": 6,
"detail": "*pb.CreateParameterizedDashboardResponse",
"preselect": true,
"sortText": "00000",
"filterText": "resp",
"insertTextFormat": 2,
"textEdit": {
"newText": "resp",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "resizeContainerFramesRequestIDs",
"kind": 3,
"detail": "func(req *pb.ResizeContainerFramesRequest) []string",
"sortText": "00001",
"filterText": "resizeContainerFramesRequestIDs",
"insertTextFormat": 2,
"textEdit": {
"newText": "resizeContainerFramesRequestIDs(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "resourceCount",
"kind": 3,
"detail": "func(v int) func(ctx context.Context, orgID string) (int, error)",
"sortText": "00002",
"filterText": "resourceCount",
"insertTextFormat": 2,
"textEdit": {
"newText": "resourceCount(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "codes.ResourceExhausted",
"kind": 21,
"detail": "codes.Code",
"documentation": {
"kind": "markdown",
"value": "ResourceExhausted indicates some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space.\n\nThis error code will be generated by the gRPC framework in out-of-memory and server overload situations, or when a message is larger than the configured maximum size.\n"
},
"sortText": "00003",
"filterText": "codes.ResourceExhausted",
"insertTextFormat": 2,
"textEdit": {
"newText": "codes.ResourceExhausted",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "models.ResetWrapAutoDecision",
"kind": 3,
"detail": "func(i models.wrappableInstrument) error",
"sortText": "00004",
"filterText": "models.ResetWrapAutoDecision",
"insertTextFormat": 2,
"textEdit": {
"newText": "models.ResetWrapAutoDecision(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "net.ResolveIPAddr",
"kind": 3,
"detail": "func(network string, address string) (*net.IPAddr, error)",
"documentation": {
"kind": "markdown",
"value": "ResolveIPAddr returns an address of IP end point.\n\nThe network must be an IP network name.\n\nIf the host in the address parameter is not a literal IP address, ResolveIPAddr resolves the address to an address of IP end point. Otherwise, it parses the address as a literal IP address. The address parameter can use a host name, but this is not recommended, because it will return at most one of the host name's IP addresses.\n\nSee func \\[Dial] for a description of the network and address parameters.\n"
},
"sortText": "00005",
"filterText": "net.ResolveIPAddr",
"insertTextFormat": 2,
"textEdit": {
"newText": "net.ResolveIPAddr(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "resolver",
"kind": 9,
"detail": "\"github.com/actgardner/gogen-avro/v7/resolver\"",
"sortText": "00006",
"filterText": "resolver",
"insertTextFormat": 2,
"textEdit": {
"newText": "resolver",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
},
"additionalTextEdits": [
{
"range": {
"start": {
"line": 7,
"character": 0
},
"end": {
"line": 7,
"character": 0
}
},
"newText": "\n\t\"github.com/actgardner/gogen-avro/v7/resolver\""
}
]
},
{
"label": "resolver",
"kind": 9,
"detail": "\"google.golang.org/grpc/internal/resolver\"",
"sortText": "00007",
"filterText": "resolver",
"insertTextFormat": 2,
"textEdit": {
"newText": "resolver",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
},
"additionalTextEdits": [
{
"range": {
"start": {
"line": 24,
"character": 28
},
"end": {
"line": 24,
"character": 28
}
},
"newText": "es\"\n\t\"google.golang.org/grpc/internal/r"
},
{
"range": {
"start": {
"line": 24,
"character": 30
},
"end": {
"line": 24,
"character": 30
}
},
"newText": "olver"
}
]
},
{
"label": "rest",
"kind": 9,
"detail": "\"github.com/aws/aws-sdk-go/private/protocol/rest\"",
"sortText": "00008",
"filterText": "rest",
"insertTextFormat": 2,
"textEdit": {
"newText": "rest",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
},
"additionalTextEdits": [
{
"range": {
"start": {
"line": 7,
"character": 0
},
"end": {
"line": 7,
"character": 0
}
},
"newText": "\n\t\"github.com/aws/aws-sdk-go/private/protocol/rest\""
}
]
},
{
"label": "restjson",
"kind": 9,
"detail": "\"github.com/aws/aws-sdk-go/private/protocol/restjson\"",
"sortText": "00009",
"filterText": "restjson",
"insertTextFormat": 2,
"textEdit": {
"newText": "restjson",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
},
"additionalTextEdits": [
{
"range": {
"start": {
"line": 7,
"character": 0
},
"end": {
"line": 7,
"character": 0
}
},
"newText": "\n\t\"github.com/aws/aws-sdk-go/private/protocol/restjson\""
}
]
},
{
"label": "restxml",
"kind": 9,
"detail": "\"github.com/aws/aws-sdk-go/private/protocol/restxml\"",
"sortText": "00010",
"filterText": "restxml",
"insertTextFormat": 2,
"textEdit": {
"newText": "restxml",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
},
"additionalTextEdits": [
{
"range": {
"start": {
"line": 7,
"character": 0
},
"end": {
"line": 7,
"character": 0
}
},
"newText": "\n\t\"github.com/aws/aws-sdk-go/private/protocol/restxml\""
}
]
},
{
"label": "presentDashboardFinderResult",
"kind": 3,
"detail": "func(dash *models.Dashboard) *FinderResult",
"sortText": "00011",
"filterText": "presentDashboardFinderResult",
"insertTextFormat": 2,
"textEdit": {
"newText": "presentDashboardFinderResult(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "presentInstrumentFinderResult",
"kind": 3,
"detail": "func(inst *models.Instrument) *FinderResult",
"sortText": "00012",
"filterText": "presentInstrumentFinderResult",
"insertTextFormat": 2,
"textEdit": {
"newText": "presentInstrumentFinderResult(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "presentLoopFinderResult",
"kind": 3,
"detail": "func(loop *models.Loop) *FinderResult",
"sortText": "00013",
"filterText": "presentLoopFinderResult",
"insertTextFormat": 2,
"textEdit": {
"newText": "presentLoopFinderResult(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "validateResizeContainerFramesRequest",
"kind": 3,
"detail": "func(req *pb.ResizeContainerFramesRequest, cfrms []*models.ContainerFrame) error",
"sortText": "00014",
"filterText": "validateResizeContainerFramesRequest",
"insertTextFormat": 2,
"textEdit": {
"newText": "validateResizeContainerFramesRequest(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "FinderResult",
"kind": 22,
"detail": "struct{...}",
"sortText": "00018",
"filterText": "FinderResult",
"insertTextFormat": 2,
"textEdit": {
"newText": "FinderResult",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestListRecentIntegrations_UpdateInstrumentUpdatesResponseOrder",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00019",
"filterText": "TestListRecentIntegrations_UpdateInstrumentUpdatesResponseOrder",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestListRecentIntegrations_UpdateInstrumentUpdatesResponseOrder(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "Test_ResizeContainerFrames_Auth",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00020",
"filterText": "Test_ResizeContainerFrames_Auth",
"insertTextFormat": 2,
"textEdit": {
"newText": "Test_ResizeContainerFrames_Auth(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "Test_ResizeContainerFrames_Errors",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00021",
"filterText": "Test_ResizeContainerFrames_Errors",
"insertTextFormat": 2,
"textEdit": {
"newText": "Test_ResizeContainerFrames_Errors(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "Test_ResizeContainerFrames_Success",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00022",
"filterText": "Test_ResizeContainerFrames_Success",
"insertTextFormat": 2,
"textEdit": {
"newText": "Test_ResizeContainerFrames_Success(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "request",
"kind": 6,
"detail": "*pb.CreateParameterizedDashboardRequest",
"sortText": "00024",
"filterText": "request",
"insertTextFormat": 2,
"textEdit": {
"newText": "request",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "repository",
"kind": 6,
"detail": "*database.Repository",
"sortText": "00026",
"filterText": "repository",
"insertTextFormat": 2,
"textEdit": {
"newText": "repository",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "canReadDataSourceConfigRules",
"kind": 3,
"detail": "func(orgID string, dataSourceConfigPlatform string) identity.AuthorizeRules",
"sortText": "00027",
"filterText": "canReadDataSourceConfigRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "canReadDataSourceConfigRules(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "replaceTemplatedInstrumentIDsWithGeneratedIDs",
"kind": 3,
"detail": "func(ctx context.Context, repo database.DashboardRepository, result []*pb.BatchListDashboardContainersResponse_DashboardContainers, dashboardIDs []string) error",
"sortText": "00028",
"filterText": "replaceTemplatedInstrumentIDsWithGeneratedIDs",
"insertTextFormat": 2,
"textEdit": {
"newText": "replaceTemplatedInstrumentIDsWithGeneratedIDs(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestGRPCServer_RegenerateLoopSharingHash",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00029",
"filterText": "TestGRPCServer_RegenerateLoopSharingHash",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestGRPCServer_RegenerateLoopSharingHash(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestReadDashboardRules_Screen",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00030",
"filterText": "TestReadDashboardRules_Screen",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestReadDashboardRules_Screen(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestReadDashboardRules_SharedDashboard",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00031",
"filterText": "TestReadDashboardRules_SharedDashboard",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestReadDashboardRules_SharedDashboard(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestReadDashboardRules_SharingLoop",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00032",
"filterText": "TestReadDashboardRules_SharingLoop",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestReadDashboardRules_SharingLoop(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestReadDashboardRules_Staff",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00033",
"filterText": "TestReadDashboardRules_Staff",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestReadDashboardRules_Staff(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestReadLoopRules_Screen",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00034",
"filterText": "TestReadLoopRules_Screen",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestReadLoopRules_Screen(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestReadLoopRules_SharingLoop",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00035",
"filterText": "TestReadLoopRules_SharingLoop",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestReadLoopRules_SharingLoop(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestReadLoopRules_Staff",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00036",
"filterText": "TestReadLoopRules_Staff",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestReadLoopRules_Staff(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "assertListDashboardsRepositoryOpts",
"kind": 3,
"detail": "func(t *testing.T, opts []database.DashboardLoaderOption)",
"sortText": "00039",
"filterText": "assertListDashboardsRepositoryOpts",
"insertTextFormat": 2,
"textEdit": {
"newText": "assertListDashboardsRepositoryOpts(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "assertRootListDashboardsRepositoryOpts",
"kind": 3,
"detail": "func(t *testing.T, opts []database.DashboardLoaderOption)",
"sortText": "00040",
"filterText": "assertRootListDashboardsRepositoryOpts",
"insertTextFormat": 2,
"textEdit": {
"newText": "assertRootListDashboardsRepositoryOpts(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "campusThatReturnsAnAdmin",
"kind": 3,
"detail": "func() *mockCampus",
"sortText": "00041",
"filterText": "campusThatReturnsAnAdmin",
"insertTextFormat": 2,
"textEdit": {
"newText": "campusThatReturnsAnAdmin()",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "canCreateDashboardRules",
"kind": 3,
"detail": "func() identity.AuthorizeRules",
"sortText": "00042",
"filterText": "canCreateDashboardRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "canCreateDashboardRules()",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "canCreateFolderRules",
"kind": 3,
"detail": "func() identity.AuthorizeRules",
"sortText": "00043",
"filterText": "canCreateFolderRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "canCreateFolderRules()",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "canCreateLoopRules",
"kind": 3,
"detail": "func() identity.AuthorizeRules",
"sortText": "00044",
"filterText": "canCreateLoopRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "canCreateLoopRules()",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "canDeleteInstrumentRules",
"kind": 3,
"detail": "func() identity.AuthorizeRules",
"sortText": "00045",
"filterText": "canDeleteInstrumentRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "canDeleteInstrumentRules()",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "canListDashboardExternalViewersRules",
"kind": 3,
"detail": "func(d *models.Dashboard) identity.AuthorizeRules",
"sortText": "00046",
"filterText": "canListDashboardExternalViewersRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "canListDashboardExternalViewersRules(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "canListDashboardRules",
"kind": 3,
"detail": "func() identity.AuthorizeRules",
"sortText": "00047",
"filterText": "canListDashboardRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "canListDashboardRules()",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "canListLoopRules",
"kind": 3,
"detail": "func() identity.AuthorizeRules",
"sortText": "00048",
"filterText": "canListLoopRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "canListLoopRules()",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "canListRootDashboardRules",
"kind": 3,
"detail": "func() identity.AuthorizeRules",
"sortText": "00049",
"filterText": "canListRootDashboardRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "canListRootDashboardRules()",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "canManageExternalUsersDashboardsRules",
"kind": 3,
"detail": "func() identity.AuthorizeRules",
"sortText": "00050",
"filterText": "canManageExternalUsersDashboardsRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "canManageExternalUsersDashboardsRules()",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "canPreAuthenticatedSharingLoopAccessDashboardRules",
"kind": 3,
"detail": "func(d *models.Dashboard) identity.AuthorizeRules",
"documentation": {
"kind": "markdown",
"value": "canPreAuthenticatedSharingLoopAccessDashboardRules is used during construction of a sharing loop's identity token to work out which dashboards we can show to the client from their ip address\n"
},
"sortText": "00051",
"filterText": "canPreAuthenticatedSharingLoopAccessDashboardRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "canPreAuthenticatedSharingLoopAccessDashboardRules(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "canReadDashboardRules",
"kind": 3,
"detail": "func(d *models.Dashboard) identity.AuthorizeRules",
"sortText": "00052",
"filterText": "canReadDashboardRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "canReadDashboardRules(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "canReadDashboardViewerships",
"kind": 3,
"detail": "func(orgID string, userID string) identity.AuthorizeRules",
"sortText": "00053",
"filterText": "canReadDashboardViewerships",
"insertTextFormat": 2,
"textEdit": {
"newText": "canReadDashboardViewerships(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "canReadLoopRules",
"kind": 3,
"detail": "func(l *models.Loop) identity.AuthorizeRules",
"sortText": "00054",
"filterText": "canReadLoopRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "canReadLoopRules(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "canReadOrganizationUsagesRules",
"kind": 3,
"detail": "func() identity.AuthorizeRules",
"sortText": "00055",
"filterText": "canReadOrganizationUsagesRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "canReadOrganizationUsagesRules()",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "canWriteDashboardRules",
"kind": 3,
"detail": "func(orgID string) identity.AuthorizeRules",
"sortText": "00056",
"filterText": "canWriteDashboardRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "canWriteDashboardRules(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "canWriteLoopRules",
"kind": 3,
"detail": "func(orgID string) identity.AuthorizeRules",
"sortText": "00057",
"filterText": "canWriteLoopRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "canWriteLoopRules(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "validateCreateLoopRequest",
"kind": 3,
"detail": "func(r *pb.CreateLoopRequest) error",
"sortText": "00058",
"filterText": "validateCreateLoopRequest",
"insertTextFormat": 2,
"textEdit": {
"newText": "validateCreateLoopRequest(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "validateUpdateLoopRequest",
"kind": 3,
"detail": "func(r *pb.UpdateLoopRequest) error",
"sortText": "00059",
"filterText": "validateUpdateLoopRequest",
"insertTextFormat": 2,
"textEdit": {
"newText": "validateUpdateLoopRequest(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "PusherEventNameRemoteRefreshDashboard",
"kind": 21,
"detail": "string",
"sortText": "00060",
"filterText": "PusherEventNameRemoteRefreshDashboard",
"insertTextFormat": 2,
"textEdit": {
"newText": "PusherEventNameRemoteRefreshDashboard",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "PusherEventNameRemoteRefreshLoop",
"kind": 21,
"detail": "string",
"sortText": "00061",
"filterText": "PusherEventNameRemoteRefreshLoop",
"insertTextFormat": 2,
"textEdit": {
"newText": "PusherEventNameRemoteRefreshLoop",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestCanManageDashboardsAndFolderRules",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00062",
"filterText": "TestCanManageDashboardsAndFolderRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestCanManageDashboardsAndFolderRules(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestCanPreAuthenticatedSharingLoopAccessDashboardRules",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00063",
"filterText": "TestCanPreAuthenticatedSharingLoopAccessDashboardRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestCanPreAuthenticatedSharingLoopAccessDashboardRules(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestCreateDashboardRules",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00064",
"filterText": "TestCreateDashboardRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestCreateDashboardRules(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestCreateFolderRules",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00065",
"filterText": "TestCreateFolderRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestCreateFolderRules(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestCreateInstrument_SetsAndReturnsCommonFields",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00066",
"filterText": "TestCreateInstrument_SetsAndReturnsCommonFields",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestCreateInstrument_SetsAndReturnsCommonFields(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestCreateInstrument_UpdateRecentConnections",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00067",
"filterText": "TestCreateInstrument_UpdateRecentConnections",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestCreateInstrument_UpdateRecentConnections(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestCreateLoopsRules",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00068",
"filterText": "TestCreateLoopsRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestCreateLoopsRules(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestListDashboardsRules",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00069",
"filterText": "TestListDashboardsRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestListDashboardsRules(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestListLoopsRules",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00070",
"filterText": "TestListLoopsRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestListLoopsRules(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestListRecentIntegrations_EmptyValues",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00071",
"filterText": "TestListRecentIntegrations_EmptyValues",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestListRecentIntegrations_EmptyValues(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestListRecentIntegrations_Errors",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00072",
"filterText": "TestListRecentIntegrations_Errors",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestListRecentIntegrations_Errors(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestListRecentIntegrations_MultipleDashboardsAndInstruments",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00073",
"filterText": "TestListRecentIntegrations_MultipleDashboardsAndInstruments",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestListRecentIntegrations_MultipleDashboardsAndInstruments(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestListRecentIntegrations_MultipleInstruments",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00074",
"filterText": "TestListRecentIntegrations_MultipleInstruments",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestListRecentIntegrations_MultipleInstruments(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestListRecentIntegrations_OneInstrument",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00075",
"filterText": "TestListRecentIntegrations_OneInstrument",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestListRecentIntegrations_OneInstrument(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestListRootDashboardsRules",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00076",
"filterText": "TestListRootDashboardsRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestListRootDashboardsRules(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestNotfiyDashboardToRefresh",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00077",
"filterText": "TestNotfiyDashboardToRefresh",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestNotfiyDashboardToRefresh(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestNotfiyDashboardToRefresh_Errors",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00078",
"filterText": "TestNotfiyDashboardToRefresh_Errors",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestNotfiyDashboardToRefresh_Errors(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestNotfiyLoopToRefresh",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00079",
"filterText": "TestNotfiyLoopToRefresh",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestNotfiyLoopToRefresh(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestNotfiyLoopToRefresh_Errors",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00080",
"filterText": "TestNotfiyLoopToRefresh_Errors",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestNotfiyLoopToRefresh_Errors(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestReadDashboardRules_APIKey",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00081",
"filterText": "TestReadDashboardRules_APIKey",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestReadDashboardRules_APIKey(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestReadDashboardRules_Agent",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00082",
"filterText": "TestReadDashboardRules_Agent",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestReadDashboardRules_Agent(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestReadDashboardRules_ExternalUser",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00083",
"filterText": "TestReadDashboardRules_ExternalUser",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestReadDashboardRules_ExternalUser(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestReadDashboardRules_User",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00084",
"filterText": "TestReadDashboardRules_User",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestReadDashboardRules_User(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestReadLoopRules_Agent",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00085",
"filterText": "TestReadLoopRules_Agent",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestReadLoopRules_Agent(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestReadLoopRules_User",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00086",
"filterText": "TestReadLoopRules_User",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestReadLoopRules_User(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestRevertDashboardLayout",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00087",
"filterText": "TestRevertDashboardLayout",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestRevertDashboardLayout(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestWriteDashboardRules",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00088",
"filterText": "TestWriteDashboardRules",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestWriteDashboardRules(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestWriteLoopRules_User",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00089",
"filterText": "TestWriteLoopRules_User",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestWriteLoopRules_User(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "presentation",
"kind": 9,
"detail": "\"github.com/gb/roadie/presentation\"",
"sortText": "00092",
"filterText": "presentation",
"insertTextFormat": 2,
"textEdit": {
"newText": "presentation",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "presentationmock",
"kind": 9,
"detail": "\"github.com/gb/roadie/presentation/presentationmock\"",
"sortText": "00093",
"filterText": "presentationmock",
"insertTextFormat": 2,
"textEdit": {
"newText": "presentationmock",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestCopyInstrumentToDashboard_Failures",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00094",
"filterText": "TestCopyInstrumentToDashboard_Failures",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestCopyInstrumentToDashboard_Failures(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestCopyInstrumentToDashboard_Success_Status_Progress",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00095",
"filterText": "TestCopyInstrumentToDashboard_Success_Status_Progress",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestCopyInstrumentToDashboard_Success_Status_Progress(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestDeleteInstrument_Failures",
"kind": 3,
"detail": "func(t *testing.T)",
"documentation": {
"kind": "markdown",
"value": "TestDeleteInstrument\\_Failures tests how repository failures are handled by the server handler. We need mocks to generate errors.\n"
},
"sortText": "00096",
"filterText": "TestDeleteInstrument_Failures",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestDeleteInstrument_Failures(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestDuplicateInstrument_Success_Status_Progress",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00097",
"filterText": "TestDuplicateInstrument_Success_Status_Progress",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestDuplicateInstrument_Success_Status_Progress(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestGRPCServer_GetDashboardIDsForExternalViewers_Failures",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00098",
"filterText": "TestGRPCServer_GetDashboardIDsForExternalViewers_Failures",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestGRPCServer_GetDashboardIDsForExternalViewers_Failures(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestGetInstrumentByLegacyKey_Failures",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00099",
"filterText": "TestGetInstrumentByLegacyKey_Failures",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestGetInstrumentByLegacyKey_Failures(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestGetOrCreateDefaultDashboard_Failures",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00100",
"filterText": "TestGetOrCreateDefaultDashboard_Failures",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestGetOrCreateDefaultDashboard_Failures(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestUpdateInstrument_Failures",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00101",
"filterText": "TestUpdateInstrument_Failures",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestUpdateInstrument_Failures(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "TestUpdateInstrument_Success_ProgressIndicator",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00102",
"filterText": "TestUpdateInstrument_Success_ProgressIndicator",
"insertTextFormat": 2,
"textEdit": {
"newText": "TestUpdateInstrument_Success_ProgressIndicator(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "Test_DeleteInstrumentsByDatabaseConnectionID_Failures",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00103",
"filterText": "Test_DeleteInstrumentsByDatabaseConnectionID_Failures",
"insertTextFormat": 2,
"textEdit": {
"newText": "Test_DeleteInstrumentsByDatabaseConnectionID_Failures(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "Test_DeleteInstrumentsByIntegrationConnectionID_Failures",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00104",
"filterText": "Test_DeleteInstrumentsByIntegrationConnectionID_Failures",
"insertTextFormat": 2,
"textEdit": {
"newText": "Test_DeleteInstrumentsByIntegrationConnectionID_Failures(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "Test_GetOrganizationUsages_Failures",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00105",
"filterText": "Test_GetOrganizationUsages_Failures",
"insertTextFormat": 2,
"textEdit": {
"newText": "Test_GetOrganizationUsages_Failures(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
},
{
"label": "Test_SetDashboardViewerships_Failures",
"kind": 3,
"detail": "func(t *testing.T)",
"sortText": "00106",
"filterText": "Test_SetDashboardViewerships_Failures",
"insertTextFormat": 2,
"textEdit": {
"newText": "Test_SetDashboardViewerships_Failures(${1:})",
"insert": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"replace": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
}
}
}
]
}
[Trace - 15:02:32] Sending request 'textDocument/foldingRange - (343)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
}
[Trace - 15:02:32] Received response 'textDocument/foldingRange - (343)' in 0ms.
Result: [
{
"startLine": 2,
"startCharacter": 8,
"endLine": 26,
"endCharacter": 25,
"kind": "imports"
},
{
"startLine": 29,
"startCharacter": 54,
"endLine": 405,
"endCharacter": 3
},
{
"startLine": 33,
"startCharacter": 49,
"endLine": 35,
"endCharacter": 39
},
{
"startLine": 38,
"startCharacter": 121,
"endLine": 113,
"endCharacter": 3
},
{
"startLine": 39,
"startCharacter": 19,
"endLine": 45,
"endCharacter": 44
},
{
"startLine": 48,
"startCharacter": 53,
"endLine": 57,
"endCharacter": 5
},
{
"startLine": 51,
"startCharacter": 40,
"endLine": 56,
"endCharacter": 34
},
{
"startLine": 65,
"startCharacter": 17,
"endLine": 79,
"endCharacter": 31
},
{
"startLine": 68,
"startCharacter": 46,
"endLine": 69,
"endCharacter": 44
},
{
"startLine": 72,
"startCharacter": 41,
"endLine": 77,
"endCharacter": 35
},
{
"startLine": 86,
"startCharacter": 66,
"endLine": 87,
"endCharacter": 71,
"kind": "comment"
},
{
"startLine": 88,
"startCharacter": 61,
"endLine": 89,
"endCharacter": 39
},
{
"startLine": 93,
"startCharacter": 44,
"endLine": 109,
"endCharacter": 48
},
{
"startLine": 97,
"startCharacter": 45,
"endLine": 98,
"endCharacter": 43
},
{
"startLine": 101,
"startCharacter": 40,
"endLine": 106,
"endCharacter": 30
},
{
"startLine": 116,
"startCharacter": 95,
"endLine": 182,
"endCharacter": 3
},
{
"startLine": 117,
"startCharacter": 19,
"endLine": 123,
"endCharacter": 44
},
{
"startLine": 128,
"startCharacter": 62,
"endLine": 129,
"endCharacter": 16,
"kind": "comment"
},
{
"startLine": 130,
"startCharacter": 53,
"endLine": 139,
"endCharacter": 5
},
{
"startLine": 133,
"startCharacter": 40,
"endLine": 138,
"endCharacter": 34
},
{
"startLine": 146,
"startCharacter": 52,
"endLine": 157,
"endCharacter": 5
},
{
"startLine": 149,
"startCharacter": 40,
"endLine": 156,
"endCharacter": 31
},
{
"startLine": 152,
"startCharacter": 59,
"endLine": 153,
"endCharacter": 46,
"kind": "comment"
},
{
"startLine": 163,
"startCharacter": 17,
"endLine": 178,
"endCharacter": 31
},
{
"startLine": 166,
"startCharacter": 46,
"endLine": 167,
"endCharacter": 44
},
{
"startLine": 171,
"startCharacter": 41,
"endLine": 176,
"endCharacter": 35
},
{
"startLine": 185,
"startCharacter": 37,
"endLine": 404,
"endCharacter": 3
},
{
"startLine": 187,
"startCharacter": 53,
"endLine": 195,
"endCharacter": 5
},
{
"startLine": 189,
"startCharacter": 40,
"endLine": 194,
"endCharacter": 34
},
{
"startLine": 199,
"startCharacter": 21,
"endLine": 205,
"endCharacter": 19
},
{
"startLine": 206,
"startCharacter": 4,
"endLine": 388,
"endCharacter": 5
},
{
"startLine": 207,
"startCharacter": 4,
"endLine": 216,
"endCharacter": 63
},
{
"startLine": 209,
"startCharacter": 27,
"endLine": 211,
"endCharacter": 18
},
{
"startLine": 218,
"startCharacter": 4,
"endLine": 226,
"endCharacter": 78
},
{
"startLine": 222,
"startCharacter": 35,
"endLine": 223,
"endCharacter": 45
},
{
"startLine": 228,
"startCharacter": 4,
"endLine": 240,
"endCharacter": 82
},
{
"startLine": 230,
"startCharacter": 45,
"endLine": 231,
"endCharacter": 24
},
{
"startLine": 235,
"startCharacter": 36,
"endLine": 236,
"endCharacter": 43
},
{
"startLine": 242,
"startCharacter": 4,
"endLine": 255,
"endCharacter": 93
},
{
"startLine": 247,
"startCharacter": 36,
"endLine": 251,
"endCharacter": 8
},
{
"startLine": 249,
"startCharacter": 79,
"endLine": 250,
"endCharacter": 38
},
{
"startLine": 257,
"startCharacter": 4,
"endLine": 275,
"endCharacter": 83
},
{
"startLine": 262,
"startCharacter": 36,
"endLine": 271,
"endCharacter": 8
},
{
"startLine": 264,
"startCharacter": 79,
"endLine": 270,
"endCharacter": 17
},
{
"startLine": 265,
"startCharacter": 36,
"endLine": 266,
"endCharacter": 39
},
{
"startLine": 277,
"startCharacter": 4,
"endLine": 295,
"endCharacter": 70
},
{
"startLine": 282,
"startCharacter": 36,
"endLine": 287,
"endCharacter": 8
},
{
"startLine": 284,
"startCharacter": 79,
"endLine": 286,
"endCharacter": 17
},
{
"startLine": 290,
"startCharacter": 32,
"endLine": 293,
"endCharacter": 7
},
{
"startLine": 291,
"startCharacter": 73,
"endLine": 292,
"endCharacter": 65
},
{
"startLine": 297,
"startCharacter": 4,
"endLine": 324,
"endCharacter": 73
},
{
"startLine": 300,
"startCharacter": 44,
"endLine": 309,
"endCharacter": 7
},
{
"startLine": 303,
"startCharacter": 42,
"endLine": 308,
"endCharacter": 36
},
{
"startLine": 312,
"startCharacter": 36,
"endLine": 320,
"endCharacter": 8
},
{
"startLine": 314,
"startCharacter": 79,
"endLine": 316,
"endCharacter": 17
},
{
"startLine": 318,
"startCharacter": 129,
"endLine": 319,
"endCharacter": 43
},
{
"startLine": 326,
"startCharacter": 4,
"endLine": 354,
"endCharacter": 114
},
{
"startLine": 329,
"startCharacter": 44,
"endLine": 338,
"endCharacter": 7
},
{
"startLine": 332,
"startCharacter": 42,
"endLine": 337,
"endCharacter": 36
},
{
"startLine": 341,
"startCharacter": 36,
"endLine": 350,
"endCharacter": 8
},
{
"startLine": 343,
"startCharacter": 79,
"endLine": 345,
"endCharacter": 17
},
{
"startLine": 347,
"startCharacter": 129,
"endLine": 349,
"endCharacter": 38
},
{
"startLine": 357,
"startCharacter": 4,
"endLine": 387,
"endCharacter": 114
},
{
"startLine": 360,
"startCharacter": 44,
"endLine": 369,
"endCharacter": 7
},
{
"startLine": 363,
"startCharacter": 42,
"endLine": 368,
"endCharacter": 36
},
{
"startLine": 372,
"startCharacter": 36,
"endLine": 383,
"endCharacter": 8
},
{
"startLine": 374,
"startCharacter": 79,
"endLine": 376,
"endCharacter": 17
},
{
"startLine": 378,
"startCharacter": 129,
"endLine": 382,
"endCharacter": 13
},
{
"startLine": 379,
"startCharacter": 32,
"endLine": 381,
"endCharacter": 54
},
{
"startLine": 391,
"startCharacter": 30,
"endLine": 403,
"endCharacter": 5
},
{
"startLine": 392,
"startCharacter": 40,
"endLine": 402,
"endCharacter": 0
},
{
"startLine": 393,
"startCharacter": 21,
"endLine": 396,
"endCharacter": 48
}
]
[Trace - 15:02:32] Sending request 'textDocument/documentSymbol - (344)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
}
[Trace - 15:02:32] Sending request 'textDocument/documentSymbol - (345)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
}
[Trace - 15:02:32] Sending request 'textDocument/documentSymbol - (346)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
}
[Trace - 15:02:32] Sending request 'textDocument/codeLens - (347)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
}
[Trace - 15:02:32] Sending request 'textDocument/codeAction - (348)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
},
"range": {
"start": {
"line": 143,
"character": 3
},
"end": {
"line": 143,
"character": 3
}
},
"context": {
"diagnostics": [
{
"range": {
"start": {
"line": 143,
"character": 0
},
"end": {
"line": 143,
"character": 3
}
},
"message": "undefined: res",
"code": "UndeclaredName",
"codeDescription": {
"href": "https://pkg.go.dev/golang.org/x/tools/internal/typesinternal#UndeclaredName"
},
"severity": 1,
"source": "compiler"
}
],
"triggerKind": 1
}
}
[Trace - 15:02:32] Sending request 'textDocument/documentSymbol - (349)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
}
[Trace - 15:02:32] Received response 'textDocument/documentSymbol - (344)' in 1ms.
Result: [
{
"name": "Test_CreateParameterizedDashboard",
"detail": "func(t *testing.T)",
"kind": 12,
"range": {
"start": {
"line": 29,
"character": 0
},
"end": {
"line": 406,
"character": 1
}
},
"selectionRange": {
"start": {
"line": 29,
"character": 5
},
"end": {
"line": 29,
"character": 38
}
}
}
]
[Trace - 15:02:32] Received response 'textDocument/documentSymbol - (345)' in 1ms.
Result: [
{
"name": "Test_CreateParameterizedDashboard",
"detail": "func(t *testing.T)",
"kind": 12,
"range": {
"start": {
"line": 29,
"character": 0
},
"end": {
"line": 406,
"character": 1
}
},
"selectionRange": {
"start": {
"line": 29,
"character": 5
},
"end": {
"line": 29,
"character": 38
}
}
}
]
[Trace - 15:02:32] Sending request 'workspace/executeCommand - (350)'.
Params: {
"command": "gopls.list_imports",
"arguments": [
{
"URI": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
]
}
[Trace - 15:02:32] Received response 'textDocument/documentSymbol - (346)' in 1ms.
Result: [
{
"name": "Test_CreateParameterizedDashboard",
"detail": "func(t *testing.T)",
"kind": 12,
"range": {
"start": {
"line": 29,
"character": 0
},
"end": {
"line": 406,
"character": 1
}
},
"selectionRange": {
"start": {
"line": 29,
"character": 5
},
"end": {
"line": 29,
"character": 38
}
}
}
]
[Trace - 15:02:32] Received response 'textDocument/codeLens - (347)' in 1ms.
No result returned.
[Trace - 15:02:32] Received response 'textDocument/codeAction - (348)' in 1ms.
Result: [
{
"title": "Create variable res",
"kind": "quickfix",
"data": {
"title": "Create variable res",
"command": "gopls.apply_fix",
"arguments": [
{
"Fix": "create_undeclared",
"Location": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go",
"range": {
"start": {
"line": 143,
"character": 3
},
"end": {
"line": 143,
"character": 3
}
}
},
"ResolveEdits": true
}
]
}
},
{
"title": "Browse arm64 assembly for Test_CreateParameterizedDashboard",
"kind": "source.assembly",
"command": {
"title": "Browse arm64 assembly for Test_CreateParameterizedDashboard",
"command": "gopls.assembly",
"arguments": [
"1",
"github.com/gb/roadie/server [github.com/gb/roadie/server.test]",
"github.com/gb/roadie/server.Test_CreateParameterizedDashboard"
]
}
},
{
"title": "Browse documentation for func Test_CreateParameterizedDashboard",
"kind": "source.doc",
"command": {
"title": "Browse documentation for func Test_CreateParameterizedDashboard",
"command": "gopls.doc",
"arguments": [
{
"Location": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go",
"range": {
"start": {
"line": 143,
"character": 3
},
"end": {
"line": 143,
"character": 3
}
}
},
"ShowDocument": true
}
]
}
},
{
"title": "Split package \"server\"",
"kind": "source.splitPackage",
"command": {
"title": "Split package \"server\"",
"command": "gopls.split_package",
"arguments": [
"1",
"github.com/gb/roadie/server [github.com/gb/roadie/server.test]"
]
}
},
{
"title": "Show compiler optimization details for \"server\"",
"kind": "source.toggleCompilerOptDetails",
"command": {
"title": "Show compiler optimization details for \"server\"",
"command": "gopls.gc_details",
"arguments": [
"file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
]
}
},
{
"title": "Browse gopls feature documentation",
"kind": "gopls.doc.features",
"command": {
"title": "Browse gopls feature documentation",
"command": "gopls.client_open_url",
"arguments": [
"https://github.com/golang/tools/blob/master/gopls/doc/features/index.md"
]
}
}
]
[Trace - 15:02:32] Received response 'textDocument/documentSymbol - (349)' in 2ms.
Result: [
{
"name": "Test_CreateParameterizedDashboard",
"detail": "func(t *testing.T)",
"kind": 12,
"range": {
"start": {
"line": 29,
"character": 0
},
"end": {
"line": 406,
"character": 1
}
},
"selectionRange": {
"start": {
"line": 29,
"character": 5
},
"end": {
"line": 29,
"character": 38
}
}
}
]
[Trace - 15:02:32] Sending request 'codeAction/resolve - (351)'.
Params: {
"title": "Create variable res",
"data": {
"title": "Create variable res",
"command": "gopls.apply_fix",
"arguments": [
{
"Fix": "create_undeclared",
"Location": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go",
"range": {
"start": {
"line": 143,
"character": 3
},
"end": {
"line": 143,
"character": 3
}
}
},
"ResolveEdits": true
}
]
},
"kind": "quickfix"
}
[Trace - 15:02:32] Received response 'workspace/executeCommand - (350)' in 1ms.
Result: {
"Imports": [
{
"Path": "context",
"Name": ""
},
{
"Path": "errors",
"Name": ""
},
{
"Path": "net",
"Name": ""
},
{
"Path": "testing",
"Name": ""
},
{
"Path": "github.com/gb/agora/queue/mocks",
"Name": "agoramocks"
},
{
"Path": "github.com/gb/goutils/database/driver",
"Name": ""
},
{
"Path": "github.com/gb/goutils/featureflags/featureflagtest",
"Name": ""
},
{
"Path": "github.com/gb/identity/authorizer",
"Name": ""
},
{
"Path": "github.com/gb/identity/identity",
"Name": ""
},
{
"Path": "github.com/gb/identity/principal",
"Name": ""
},
{
"Path": "github.com/gb/roadie/database",
"Name": ""
},
{
"Path": "github.com/gb/roadie/database/mocks",
"Name": ""
},
{
"Path": "github.com/gb/roadie/mapping",
"Name": ""
},
{
"Path": "github.com/gb/roadie/models",
"Name": ""
},
{
"Path": "github.com/gb/roadie/presentation",
"Name": ""
},
{
"Path": "github.com/gb/roadie/presentation/presentationmock",
"Name": ""
},
{
"Path": "github.com/gb/roadie/roadiepb",
"Name": "pb"
},
{
"Path": "github.com/gb/roadie/testutil",
"Name": ""
},
{
"Path": "github.com/google/go-cmp/cmp/cmpopts",
"Name": ""
},
{
"Path": "github.com/volatiletech/null/v8",
"Name": ""
},
{
"Path": "google.golang.org/grpc/codes",
"Name": ""
},
{
"Path": "google.golang.org/grpc/status",
"Name": ""
},
{
"Path": "gotest.tools/v3/assert",
"Name": ""
}
],
"PackageImports": [
{
"Path": "context"
},
{
"Path": "crypto/rand"
},
{
"Path": "database/sql"
},
{
"Path": "errors"
},
{
"Path": "fmt"
},
{
"Path": "github.com/aws/aws-sdk-go/aws"
},
{
"Path": "github.com/aws/aws-sdk-go/aws/awserr"
},
{
"Path": "github.com/aws/aws-sdk-go/aws/request"
},
{
"Path": "github.com/aws/aws-sdk-go/service/s3"
},
{
"Path": "github.com/aws/aws-sdk-go/service/s3/s3iface"
},
{
"Path": "github.com/bugsnag/bugsnag-go"
},
{
"Path": "github.com/bugsnag/bugsnag-go/errors"
},
{
"Path": "github.com/gb/agora/queue/event"
},
{
"Path": "github.com/gb/agora/queue/mocks"
},
{
"Path": "github.com/gb/campus/campuspb"
},
{
"Path": "github.com/gb/clerk/clerkpb"
},
{
"Path": "github.com/gb/go-grpc-middleware/middleware"
},
{
"Path": "github.com/gb/goutils/bugsnagutils/bugsnagtest"
},
{
"Path": "github.com/gb/goutils/database/driver"
},
{
"Path": "github.com/gb/goutils/database/driver/mocks"
},
{
"Path": "github.com/gb/goutils/featureflags"
},
{
"Path": "github.com/gb/goutils/featureflags/featureflagtest"
},
{
"Path": "github.com/gb/goutils/globalfinderpb"
},
{
"Path": "github.com/gb/goutils/globalfinderpb/globalfindertestutil"
},
{
"Path": "github.com/gb/goutils/log"
},
{
"Path": "github.com/gb/goutils/testhelp"
},
{
"Path": "github.com/gb/goutils/vault"
},
{
"Path": "github.com/gb/goutils/vault/mocks"
},
{
"Path": "github.com/gb/identity/authorization"
},
{
"Path": "github.com/gb/identity/authorizer"
},
{
"Path": "github.com/gb/identity/grpcauthz"
},
{
"Path": "github.com/gb/identity/identity"
},
{
"Path": "github.com/gb/identity/principal"
},
{
"Path": "github.com/gb/roadie/database"
},
{
"Path": "github.com/gb/roadie/database/dbmock"
},
{
"Path": "github.com/gb/roadie/database/mocks"
},
{
"Path": "github.com/gb/roadie/event"
},
{
"Path": "github.com/gb/roadie/integrations"
},
{
"Path": "github.com/gb/roadie/mapping"
},
{
"Path": "github.com/gb/roadie/models"
},
{
"Path": "github.com/gb/roadie/presentation"
},
{
"Path": "github.com/gb/roadie/presentation/presentationmock"
},
{
"Path": "github.com/gb/roadie/random"
},
{
"Path": "github.com/gb/roadie/roadiepb"
},
{
"Path": "github.com/gb/roadie/s3"
},
{
"Path": "github.com/gb/roadie/testutil"
},
{
"Path": "github.com/gb/tuner/tunerpb"
},
{
"Path": "github.com/golang/protobuf/ptypes/empty"
},
{
"Path": "github.com/google/go-cmp/cmp"
},
{
"Path": "github.com/google/go-cmp/cmp/cmpopts"
},
{
"Path": "github.com/google/uuid"
},
{
"Path": "github.com/honeycombio/beeline-go"
},
{
"Path": "github.com/volatiletech/null/v8"
},
{
"Path": "github.com/volatiletech/sqlboiler/v4/boil"
},
{
"Path": "github.com/volatiletech/sqlboiler/v4/queries/qm"
},
{
"Path": "github.com/volatiletech/sqlboiler/v4/types"
},
{
"Path": "google.golang.org/grpc"
},
{
"Path": "google.golang.org/grpc/codes"
},
{
"Path": "google.golang.org/grpc/metadata"
},
{
"Path": "google.golang.org/grpc/status"
},
{
"Path": "google.golang.org/protobuf/reflect/protoreflect"
},
{
"Path": "google.golang.org/protobuf/testing/protocmp"
},
{
"Path": "google.golang.org/protobuf/types/known/timestamppb"
},
{
"Path": "gotest.tools/v3/assert"
},
{
"Path": "gotest.tools/v3/assert/cmp"
},
{
"Path": "io"
},
{
"Path": "log"
},
{
"Path": "math/rand"
},
{
"Path": "net"
},
{
"Path": "path"
},
{
"Path": "slices"
},
{
"Path": "sort"
},
{
"Path": "strings"
},
{
"Path": "testing"
},
{
"Path": "time"
}
]
}
[Trace - 15:02:32] Sending request 'codeAction/resolve - (352)'.
Params: {
"title": "Browse arm64 assembly for Test_CreateParameterizedDashboard",
"kind": "source.assembly",
"command": {
"title": "Browse arm64 assembly for Test_CreateParameterizedDashboard",
"command": "gopls.assembly",
"arguments": [
"1",
"github.com/gb/roadie/server [github.com/gb/roadie/server.test]",
"github.com/gb/roadie/server.Test_CreateParameterizedDashboard"
]
}
}
[Trace - 15:02:32] Sending request 'codeAction/resolve - (353)'.
Params: {
"title": "Browse documentation for func Test_CreateParameterizedDashboard",
"kind": "source.doc",
"command": {
"title": "Browse documentation for func Test_CreateParameterizedDashboard",
"command": "gopls.doc",
"arguments": [
{
"Location": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go",
"range": {
"start": {
"line": 143,
"character": 3
},
"end": {
"line": 143,
"character": 3
}
}
},
"ShowDocument": true
}
]
}
}
[Trace - 15:02:32] Sending request 'codeAction/resolve - (354)'.
Params: {
"title": "Split package \"server\"",
"kind": "source.splitPackage",
"command": {
"title": "Split package \"server\"",
"command": "gopls.split_package",
"arguments": [
"1",
"github.com/gb/roadie/server [github.com/gb/roadie/server.test]"
]
}
}
[Trace - 15:02:32] Sending request 'codeAction/resolve - (355)'.
Params: {
"title": "Show compiler optimization details for \"server\"",
"kind": "source.toggleCompilerOptDetails",
"command": {
"title": "Show compiler optimization details for \"server\"",
"command": "gopls.gc_details",
"arguments": [
"file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
]
}
}
[Trace - 15:02:32] Sending request 'codeAction/resolve - (356)'.
Params: {
"title": "Browse gopls feature documentation",
"kind": "gopls.doc.features",
"command": {
"title": "Browse gopls feature documentation",
"command": "gopls.client_open_url",
"arguments": [
"https://github.com/golang/tools/blob/master/gopls/doc/features/index.md"
]
}
}
[Trace - 15:02:32] Received response 'codeAction/resolve - (351)' in 1ms. Request failed: no identifier found (0).
[Trace - 15:02:32] Received response 'codeAction/resolve - (352)' in 2ms.
Result: {
"title": "Browse arm64 assembly for Test_CreateParameterizedDashboard",
"kind": "source.assembly",
"command": {
"title": "Browse arm64 assembly for Test_CreateParameterizedDashboard",
"command": "gopls.assembly",
"arguments": [
"1",
"github.com/gb/roadie/server [github.com/gb/roadie/server.test]",
"github.com/gb/roadie/server.Test_CreateParameterizedDashboard"
]
}
}
[Trace - 15:02:32] Received response 'codeAction/resolve - (353)' in 2ms.
Result: {
"title": "Browse documentation for func Test_CreateParameterizedDashboard",
"kind": "source.doc",
"command": {
"title": "Browse documentation for func Test_CreateParameterizedDashboard",
"command": "gopls.doc",
"arguments": [
{
"Location": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go",
"range": {
"start": {
"line": 143,
"character": 3
},
"end": {
"line": 143,
"character": 3
}
}
},
"ShowDocument": true
}
]
}
}
[Trace - 15:02:32] Received response 'codeAction/resolve - (354)' in 2ms.
Result: {
"title": "Split package \"server\"",
"kind": "source.splitPackage",
"command": {
"title": "Split package \"server\"",
"command": "gopls.split_package",
"arguments": [
"1",
"github.com/gb/roadie/server [github.com/gb/roadie/server.test]"
]
}
}
[Trace - 15:02:32] Received response 'codeAction/resolve - (355)' in 2ms.
Result: {
"title": "Show compiler optimization details for \"server\"",
"kind": "source.toggleCompilerOptDetails",
"command": {
"title": "Show compiler optimization details for \"server\"",
"command": "gopls.gc_details",
"arguments": [
"file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
]
}
}
[Trace - 15:02:32] Received response 'codeAction/resolve - (356)' in 2ms.
Result: {
"title": "Browse gopls feature documentation",
"kind": "gopls.doc.features",
"command": {
"title": "Browse gopls feature documentation",
"command": "gopls.client_open_url",
"arguments": [
"https://github.com/golang/tools/blob/master/gopls/doc/features/index.md"
]
}
}
[Trace - 15:02:32] Sending request 'textDocument/documentSymbol - (357)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
}
[Trace - 15:02:32] Sending request 'textDocument/documentSymbol - (358)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
}
[Trace - 15:02:32] Sending request 'textDocument/documentSymbol - (359)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
}
[Trace - 15:02:32] Sending request 'textDocument/codeLens - (360)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
}
[Trace - 15:02:32] Received response 'textDocument/documentSymbol - (357)' in 0ms.
Result: [
{
"name": "Test_CreateParameterizedDashboard",
"detail": "func(t *testing.T)",
"kind": 12,
"range": {
"start": {
"line": 29,
"character": 0
},
"end": {
"line": 406,
"character": 1
}
},
"selectionRange": {
"start": {
"line": 29,
"character": 5
},
"end": {
"line": 29,
"character": 38
}
}
}
]
[Trace - 15:02:32] Received response 'textDocument/documentSymbol - (358)' in 0ms.
Result: [
{
"name": "Test_CreateParameterizedDashboard",
"detail": "func(t *testing.T)",
"kind": 12,
"range": {
"start": {
"line": 29,
"character": 0
},
"end": {
"line": 406,
"character": 1
}
},
"selectionRange": {
"start": {
"line": 29,
"character": 5
},
"end": {
"line": 29,
"character": 38
}
}
}
]
[Trace - 15:02:32] Sending request 'workspace/executeCommand - (361)'.
Params: {
"command": "gopls.list_imports",
"arguments": [
{
"URI": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
]
}
[Trace - 15:02:32] Received response 'textDocument/documentSymbol - (359)' in 0ms.
Result: [
{
"name": "Test_CreateParameterizedDashboard",
"detail": "func(t *testing.T)",
"kind": 12,
"range": {
"start": {
"line": 29,
"character": 0
},
"end": {
"line": 406,
"character": 1
}
},
"selectionRange": {
"start": {
"line": 29,
"character": 5
},
"end": {
"line": 29,
"character": 38
}
}
}
]
[Trace - 15:02:32] Received response 'textDocument/codeLens - (360)' in 1ms.
No result returned.
[Trace - 15:02:32] Received response 'workspace/executeCommand - (361)' in 1ms.
Result: {
"Imports": [
{
"Path": "context",
"Name": ""
},
{
"Path": "errors",
"Name": ""
},
{
"Path": "net",
"Name": ""
},
{
"Path": "testing",
"Name": ""
},
{
"Path": "github.com/gb/agora/queue/mocks",
"Name": "agoramocks"
},
{
"Path": "github.com/gb/goutils/database/driver",
"Name": ""
},
{
"Path": "github.com/gb/goutils/featureflags/featureflagtest",
"Name": ""
},
{
"Path": "github.com/gb/identity/authorizer",
"Name": ""
},
{
"Path": "github.com/gb/identity/identity",
"Name": ""
},
{
"Path": "github.com/gb/identity/principal",
"Name": ""
},
{
"Path": "github.com/gb/roadie/database",
"Name": ""
},
{
"Path": "github.com/gb/roadie/database/mocks",
"Name": ""
},
{
"Path": "github.com/gb/roadie/mapping",
"Name": ""
},
{
"Path": "github.com/gb/roadie/models",
"Name": ""
},
{
"Path": "github.com/gb/roadie/presentation",
"Name": ""
},
{
"Path": "github.com/gb/roadie/presentation/presentationmock",
"Name": ""
},
{
"Path": "github.com/gb/roadie/roadiepb",
"Name": "pb"
},
{
"Path": "github.com/gb/roadie/testutil",
"Name": ""
},
{
"Path": "github.com/google/go-cmp/cmp/cmpopts",
"Name": ""
},
{
"Path": "github.com/volatiletech/null/v8",
"Name": ""
},
{
"Path": "google.golang.org/grpc/codes",
"Name": ""
},
{
"Path": "google.golang.org/grpc/status",
"Name": ""
},
{
"Path": "gotest.tools/v3/assert",
"Name": ""
}
],
"PackageImports": [
{
"Path": "context"
},
{
"Path": "crypto/rand"
},
{
"Path": "database/sql"
},
{
"Path": "errors"
},
{
"Path": "fmt"
},
{
"Path": "github.com/aws/aws-sdk-go/aws"
},
{
"Path": "github.com/aws/aws-sdk-go/aws/awserr"
},
{
"Path": "github.com/aws/aws-sdk-go/aws/request"
},
{
"Path": "github.com/aws/aws-sdk-go/service/s3"
},
{
"Path": "github.com/aws/aws-sdk-go/service/s3/s3iface"
},
{
"Path": "github.com/bugsnag/bugsnag-go"
},
{
"Path": "github.com/bugsnag/bugsnag-go/errors"
},
{
"Path": "github.com/gb/agora/queue/event"
},
{
"Path": "github.com/gb/agora/queue/mocks"
},
{
"Path": "github.com/gb/campus/campuspb"
},
{
"Path": "github.com/gb/clerk/clerkpb"
},
{
"Path": "github.com/gb/go-grpc-middleware/middleware"
},
{
"Path": "github.com/gb/goutils/bugsnagutils/bugsnagtest"
},
{
"Path": "github.com/gb/goutils/database/driver"
},
{
"Path": "github.com/gb/goutils/database/driver/mocks"
},
{
"Path": "github.com/gb/goutils/featureflags"
},
{
"Path": "github.com/gb/goutils/featureflags/featureflagtest"
},
{
"Path": "github.com/gb/goutils/globalfinderpb"
},
{
"Path": "github.com/gb/goutils/globalfinderpb/globalfindertestutil"
},
{
"Path": "github.com/gb/goutils/log"
},
{
"Path": "github.com/gb/goutils/testhelp"
},
{
"Path": "github.com/gb/goutils/vault"
},
{
"Path": "github.com/gb/goutils/vault/mocks"
},
{
"Path": "github.com/gb/identity/authorization"
},
{
"Path": "github.com/gb/identity/authorizer"
},
{
"Path": "github.com/gb/identity/grpcauthz"
},
{
"Path": "github.com/gb/identity/identity"
},
{
"Path": "github.com/gb/identity/principal"
},
{
"Path": "github.com/gb/roadie/database"
},
{
"Path": "github.com/gb/roadie/database/dbmock"
},
{
"Path": "github.com/gb/roadie/database/mocks"
},
{
"Path": "github.com/gb/roadie/event"
},
{
"Path": "github.com/gb/roadie/integrations"
},
{
"Path": "github.com/gb/roadie/mapping"
},
{
"Path": "github.com/gb/roadie/models"
},
{
"Path": "github.com/gb/roadie/presentation"
},
{
"Path": "github.com/gb/roadie/presentation/presentationmock"
},
{
"Path": "github.com/gb/roadie/random"
},
{
"Path": "github.com/gb/roadie/roadiepb"
},
{
"Path": "github.com/gb/roadie/s3"
},
{
"Path": "github.com/gb/roadie/testutil"
},
{
"Path": "github.com/gb/tuner/tunerpb"
},
{
"Path": "github.com/golang/protobuf/ptypes/empty"
},
{
"Path": "github.com/google/go-cmp/cmp"
},
{
"Path": "github.com/google/go-cmp/cmp/cmpopts"
},
{
"Path": "github.com/google/uuid"
},
{
"Path": "github.com/honeycombio/beeline-go"
},
{
"Path": "github.com/volatiletech/null/v8"
},
{
"Path": "github.com/volatiletech/sqlboiler/v4/boil"
},
{
"Path": "github.com/volatiletech/sqlboiler/v4/queries/qm"
},
{
"Path": "github.com/volatiletech/sqlboiler/v4/types"
},
{
"Path": "google.golang.org/grpc"
},
{
"Path": "google.golang.org/grpc/codes"
},
{
"Path": "google.golang.org/grpc/metadata"
},
{
"Path": "google.golang.org/grpc/status"
},
{
"Path": "google.golang.org/protobuf/reflect/protoreflect"
},
{
"Path": "google.golang.org/protobuf/testing/protocmp"
},
{
"Path": "google.golang.org/protobuf/types/known/timestamppb"
},
{
"Path": "gotest.tools/v3/assert"
},
{
"Path": "gotest.tools/v3/assert/cmp"
},
{
"Path": "io"
},
{
"Path": "log"
},
{
"Path": "math/rand"
},
{
"Path": "net"
},
{
"Path": "path"
},
{
"Path": "slices"
},
{
"Path": "sort"
},
{
"Path": "strings"
},
{
"Path": "testing"
},
{
"Path": "time"
}
]
}
[Trace - 15:02:32] Sending request 'textDocument/semanticTokens/full - (362)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
}
[Trace - 15:02:32] Received response 'textDocument/semanticTokens/full - (362)' in 0ms.
Result: {
"data": []
}
[Trace - 15:02:32] Sending request 'textDocument/codeAction - (363)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
},
"range": {
"start": {
"line": 126,
"character": 10
},
"end": {
"line": 126,
"character": 10
}
},
"context": {
"diagnostics": [],
"triggerKind": 2
}
}
[Trace - 15:02:32] Received response 'textDocument/codeAction - (363)' in 1ms.
No result returned.
[Trace - 15:02:32] Sending request 'textDocument/documentSymbol - (364)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
}
[Trace - 15:02:32] Received response 'textDocument/documentSymbol - (364)' in 1ms.
Result: [
{
"name": "Test_CreateParameterizedDashboard",
"detail": "func(t *testing.T)",
"kind": 12,
"range": {
"start": {
"line": 29,
"character": 0
},
"end": {
"line": 406,
"character": 1
}
},
"selectionRange": {
"start": {
"line": 29,
"character": 5
},
"end": {
"line": 29,
"character": 38
}
}
}
]
[Trace - 15:02:33] Sending request 'textDocument/inlayHint - (365)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
},
"range": {
"start": {
"line": 72,
"character": 0
},
"end": {
"line": 175,
"character": 0
}
}
}
[Trace - 15:02:33] Received response 'textDocument/inlayHint - (365)' in 1ms.
No result returned.
[Trace - 15:02:33] Sending request 'textDocument/documentLink - (366)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
}
[Trace - 15:02:33] Received response 'textDocument/documentLink - (366)' in 13ms.
Result: [
{
"range": {
"start": {
"line": 3,
"character": 2
},
"end": {
"line": 3,
"character": 9
}
},
"target": "https://pkg.go.dev/context"
},
{
"range": {
"start": {
"line": 4,
"character": 2
},
"end": {
"line": 4,
"character": 8
}
},
"target": "https://pkg.go.dev/errors"
},
{
"range": {
"start": {
"line": 5,
"character": 2
},
"end": {
"line": 5,
"character": 5
}
},
"target": "https://pkg.go.dev/net"
},
{
"range": {
"start": {
"line": 6,
"character": 2
},
"end": {
"line": 6,
"character": 9
}
},
"target": "https://pkg.go.dev/testing"
},
{
"range": {
"start": {
"line": 22,
"character": 2
},
"end": {
"line": 22,
"character": 38
}
},
"target": "https://pkg.go.dev/github.com/google/go-cmp@v0.6.0/cmp/cmpopts"
},
{
"range": {
"start": {
"line": 23,
"character": 2
},
"end": {
"line": 23,
"character": 33
}
},
"target": "https://pkg.go.dev/github.com/volatiletech/null/v8@v8.1.2"
},
{
"range": {
"start": {
"line": 24,
"character": 2
},
"end": {
"line": 24,
"character": 30
}
},
"target": "https://pkg.go.dev/google.golang.org/grpc@v1.62.1/codes"
},
{
"range": {
"start": {
"line": 25,
"character": 2
},
"end": {
"line": 25,
"character": 31
}
},
"target": "https://pkg.go.dev/google.golang.org/grpc@v1.62.1/status"
},
{
"range": {
"start": {
"line": 26,
"character": 2
},
"end": {
"line": 26,
"character": 24
}
},
"target": "https://pkg.go.dev/gotest.tools/v3@v3.5.1/assert"
}
]
[Trace - 15:02:33] Sending request 'textDocument/documentLink - (367)'.
Params: {
"textDocument": {
"uri": "file:///Users/ian/src/roadie/server/create_parameterized_dashboard_test.go"
}
}
[Trace - 15:02:33] Received response 'textDocument/documentLink - (367)' in 8ms.
Result: [
{
"range": {
"start": {
"line": 3,
"character": 2
},
"end": {
"line": 3,
"character": 9
}
},
"target": "https://pkg.go.dev/context"
},
{
"range": {
"start": {
"line": 4,
"character": 2
},
"end": {
"line": 4,
"character": 8
}
},
"target": "https://pkg.go.dev/errors"
},
{
"range": {
"start": {
"line": 5,
"character": 2
},
"end": {
"line": 5,
"character": 5
}
},
"target": "https://pkg.go.dev/net"
},
{
"range": {
"start": {
"line": 6,
"character": 2
},
"end": {
"line": 6,
"character": 9
}
},
"target": "https://pkg.go.dev/testing"
},
{
"range": {
"start": {
"line": 22,
"character": 2
},
"end": {
"line": 22,
"character": 38
}
},
"target": "https://pkg.go.dev/github.com/google/go-cmp@v0.6.0/cmp/cmpopts"
},
{
"range": {
"start": {
"line": 23,
"character": 2
},
"end": {
"line": 23,
"character": 33
}
},
"target": "https://pkg.go.dev/github.com/volatiletech/null/v8@v8.1.2"
},
{
"range": {
"start": {
"line": 24,
"character": 2
},
"end": {
"line": 24,
"character": 30
}
},
"target": "https://pkg.go.dev/google.golang.org/grpc@v1.62.1/codes"
},
{
"range": {
"start": {
"line": 25,
"character": 2
},
"end": {
"line": 25,
"character": 31
}
},
"target": "https://pkg.go.dev/google.golang.org/grpc@v1.62.1/status"
},
{
"range": {
"start": {
"line": 26,
"character": 2
},
"end": {
"line": 26,
"character": 24
}
},
"target": "https://pkg.go.dev/gotest.tools/v3@v3.5.1/assert"
}
]
gopls (server)
[Info - 14:56:28] 2025/09/18 14:56:28 Created View (#1)
directory=/Users/ian/src/roadie
view_type="GoMod"
root_dir="file:///Users/ian/src/roadie"
go_version="go version go1.23.12 darwin/arm64"
build_flags=[]
env={GOOS:darwin GOARCH:arm64 GOCACHE:/Users/ian/Library/Caches/go-build GOMODCACHE:/Users/ian/go/pkg/mod GOPATH:/Users/ian/go GOPRIVATE:github.com/gb GOFLAGS: GO111MODULE: GOTOOLCHAIN:auto GOROOT:/Users/ian/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.12.darwin-arm64 GoVersion:23 GoVersionOutput:go version go1.23.12 darwin/arm64
ExplicitGOWORK: EffectiveGOPACKAGESDRIVER:}
env_overlay=[]
[Info - 14:56:28] 2025/09/18 14:56:28 go/packages.Load #1
view_id="1"
snapshot=0
directory=/Users/ian/src/roadie
query=[/Users/ian/src/roadie/... builtin]
packages=65
duration=492.470584ms
[Info - 14:56:58] 2025/09/18 14:56:58 background imports cache refresh starting
[Info - 14:56:58] 2025/09/18 14:56:58 background refresh finished after 64.110917ms
[Error - 14:57:12] Request codeAction/resolve failed.
Message: no identifier found
Code: 0
[Error - 14:57:12] Request codeAction/resolve failed.
Message: no identifier found
Code: 0
[Error - 14:57:18] Request codeAction/resolve failed.
Message: no identifier found
Code: 0
[Error - 14:57:18] Request codeAction/resolve failed.
Message: no identifier found
Code: 0
[Info - 14:57:31] 2025/09/18 14:57:31 background imports cache refresh starting
[Info - 14:57:31] 2025/09/18 14:57:31 background refresh finished after 45.582292ms