From 38642964905871c14349038251dafcfa969e6ad7 Mon Sep 17 00:00:00 2001 From: "duanyi.aster" Date: Wed, 21 May 2025 15:31:04 +0800 Subject: [PATCH] fix: remove flags in `lang/golang/parser` --- go.mod | 2 +- lang/golang/parser/go_ast.go | 89 ------------------------------------ 2 files changed, 1 insertion(+), 90 deletions(-) diff --git a/go.mod b/go.mod index 141256fc..91b20e1c 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,6 @@ go 1.23.0 require ( github.com/Knetic/govaluate v3.0.0+incompatible - github.com/davecgh/go-spew v1.1.1 github.com/sourcegraph/go-lsp v0.0.0-20240223163137-f80c5dd31dfd github.com/sourcegraph/jsonrpc2 v0.2.0 github.com/stretchr/testify v1.10.0 @@ -13,6 +12,7 @@ require ( ) require ( + github.com/davecgh/go-spew v1.1.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect golang.org/x/sync v0.13.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/lang/golang/parser/go_ast.go b/lang/golang/parser/go_ast.go index 2eafc6bc..c74dc642 100644 --- a/lang/golang/parser/go_ast.go +++ b/lang/golang/parser/go_ast.go @@ -15,100 +15,11 @@ package parser import ( - "bytes" - "encoding/json" - "flag" "fmt" - "os" - "strings" . "github.com/cloudwego/abcoder/lang/uniast" ) -var ( - referCodeDepth int - collectComment bool - excludes string -) - -func init() { - // init args with flags - flag.Usage = func() { - fmt.Fprintf(os.Stderr, "Usage: %s [options] [id]\n", os.Args[0]) - flag.PrintDefaults() - } - flag.BoolVar(&collectComment, "collect_comment", false, "collect comments for each node") - flag.IntVar(&referCodeDepth, "refer_code_depth", 0, "the depth to referenced codes, 0 means only return its identity") - flag.StringVar(&excludes, "excludes", "", "exclude paths, seperated by comma") -} - -func Main() { - var err error - defer func() { - if err != nil { - fmt.Fprintln(os.Stderr, err.Error()) - } - }() - flag.Parse() - as := flag.Args() - if len(as) < 1 { - flag.Usage() - os.Exit(1) - } - - homeDir := as[0] - id := "" - if len(as) >= 2 { - id = as[1] - } - - var exs []string - if excludes != "" { - exs = strings.Split(excludes, ",") - } - // p := NewParser(homeDir, homeDir, WithReferCodeDepth(referCodeDepth), WithExcludes(exs), WithCollectComment(collectComment)) - p := NewParser(homeDir, homeDir, Options{ - ReferCodeDepth: referCodeDepth, - Excludes: exs, - CollectComment: collectComment, - }) - - var out interface{} - - if id == "" { - // parse whole repo - if out, err = p.ParseRepo(); err != nil { - return - } - } else { - // SPEC: seperate the packagepath and entity name by # - ids := strings.Split(id, "#") - - if len(ids) == 1 { - // parse pacakge - pkgPath := ids[0] - if out, err = p.ParsePackage(pkgPath); err != nil { - return - } - } else if len(ids) == 2 { - if out, err = p.ParseNode(ids[0], ids[1]); err != nil { - return - } - } - } - - buf := bytes.NewBuffer(nil) - encoder := json.NewEncoder(buf) - encoder.SetEscapeHTML(false) - err = encoder.Encode(out) - if err != nil { - fmt.Fprintln(os.Stderr, "Error marshalling functions to JSON:", err) - os.Exit(1) - } - - fmt.Println(buf.String()) -} - func loadNode(p *GoParser, pkgPath string, name string, out *Repository) error { mod, _ := p.getModuleFromPkg(pkgPath) np, err := p.getNode(NewIdentity(mod, PkgPath(pkgPath), name))