Skip to content
/ impls Public

a CLI tool to find implementation and interface each other

License

Notifications You must be signed in to change notification settings

nu50218/impls

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

impls

Release Go Report Card

implsはinterfaceの実装を見つけたり、実装からinterfaceを見つけたりできるツールです。

Install

$ go install github.com/nu50218/impls@latest

Usage

  • interfaceから型を見つける
$ impls types go/ast.Expr
/usr/local/go/src/go/ast/ast.go:411:2 ast.ArrayType
/usr/local/go/src/go/ast/ast.go:268:2 ast.BadExpr
/usr/local/go/src/go/ast/ast.go:288:2 ast.BasicLit
  • interfaceから変数を見つける
$ impls vars error fmt
/usr/local/go/src/fmt/scan.go:466:5 fmt.boolError
/usr/local/go/src/fmt/scan.go:465:5 fmt.complexError
  • 型からinterfaceを見つける

いずれのサブコマンドも第四引数以降にロードさせたいパッケージを渡すことができます。

$ impls interfaces bytes.Buffer io
/usr/local/go/src/io/io.go:243:6 io.ByteReader
/usr/local/go/src/io/io.go:254:6 io.ByteScanner
/usr/local/go/src/io/io.go:260:6 io.ByteWriter
/usr/local/go/src/io/io.go:120:6 io.ReadWriter
/usr/local/go/src/io/io.go:77:6 io.Reader
/usr/local/go/src/io/io.go:170:6 io.ReaderFrom
/usr/local/go/src/io/io.go:269:6 io.RuneReader
/usr/local/go/src/io/io.go:280:6 io.RuneScanner
/usr/local/go/src/io/io.go:286:6 io.StringWriter
/usr/local/go/src/io/io.go:90:6 io.Writer
/usr/local/go/src/io/io.go:181:6 io.WriterTo
  • help

$ impls help

$ impls help types

About

a CLI tool to find implementation and interface each other

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages