From b2aec62b6e8014af92265304fd66f28772819c92 Mon Sep 17 00:00:00 2001 From: luoliwoshang <2643523683@qq.com> Date: Thu, 9 May 2024 23:23:51 +0800 Subject: [PATCH] fix:unexpected gop overload completion in go --- gopls/internal/lsp/source/completion/deep_completion.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gopls/internal/lsp/source/completion/deep_completion.go b/gopls/internal/lsp/source/completion/deep_completion.go index 911bdc9a238..9e66fd84d5d 100644 --- a/gopls/internal/lsp/source/completion/deep_completion.go +++ b/gopls/internal/lsp/source/completion/deep_completion.go @@ -10,6 +10,7 @@ import ( "strings" "time" + "github.com/goplus/gogen" "github.com/qiniu/x/log" "golang.org/x/tools/gopls/internal/goxls" ) @@ -138,7 +139,11 @@ func (c *completer) deepSearch(ctx context.Context, start time.Time, deadline *t if obj == nil { continue } - + if sig, ok := obj.Type().(*types.Signature); ok { //goxls:skip gop overload + if _, ok := gogen.CheckSigFuncEx(sig); ok { + continue + } + } // At the top level, dedupe by object. if len(cand.path) == 0 { if c.seen[obj] {