goextract

command module
v0.0.0-...-0ce473a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 7, 2016 License: Apache-2.0 Imports: 14 Imported by: 0

README

Build Status

goextract

A method extraction tool for the Go language.

This work is in very early development. The goal is to provide a refactoring tool that can extract a method from Go source code.

See test_data to see what extractions are currently supported.

Getting Started

Getting It
go get github.com/petergtz/goextract
Using It

Make sure $GOPATH/bin is in your $PATH.

Let's assume you have a file main.go, with the content:

1   package main
2
3   func g() {}
4   func h() {}
5   func i() {}
6
7   func f() {
8       g()
9       h()
10      i()
11  }

Then you can extract lines 9 and 10 into a function like this:

goextract main.go --selection 9:1-11:1 --function MyExtractedFunc

The output will look like this:

package test_data

1    func g() {}
2    func h() {}
3    func i() {}
4
5    func f() {
6        g()
7        MyExtractedFunc()
8    }
9
10    func MyExtractedFunc() {
11        h()
12        i()
13    }

goextract is quite smart in recognizing local variables or expression and will usually do the right thing during the extraction to make sure the logic of your code didn't change.

Caveats

Please note that goextract doesn't handle comments correctly yet. If your code contains any kinds of comments anywhere, it's not recommended yet to use goextract.

Using goextract in Your Editor

There's currently a goextract extension for the Atom editor.

Support for other editors is planned.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL