This test verifies the behavior of the 'source.organizeImports' code action.
-- go.mod --
module mod.test/imports
go 1.18
-- add.go --
package imports //@codeaction("imports", "", "source.organizeImports", add)
import (
"fmt"
)
func _() {
fmt.Println("")
bytes.NewBuffer(nil) //@diag("bytes", re"(undeclared|undefined)")
}
-- @add/add.go --
package imports //@codeaction("imports", "", "source.organizeImports", add)
import (
"bytes"
"fmt"
)
func _() {
fmt.Println("")
bytes.NewBuffer(nil) //@diag("bytes", re"(undeclared|undefined)")
}
-- good.go --
package imports //@codeactionerr("imports", "", "source.organizeImports", re"found 0 CodeActions")
import "fmt"
func _() {
fmt.Println("")
}
-- issue35458.go --
// package doc
package imports //@codeaction("imports", "", "source.organizeImports", issue35458)
func _() {
println("Hello, world!")
}
-- @issue35458/issue35458.go --
// package doc
package imports //@codeaction("imports", "", "source.organizeImports", issue35458)
func _() {
println("Hello, world!")
}
-- multi.go --
package imports //@codeaction("imports", "", "source.organizeImports", multi)
import "fmt"
import "bytes" //@diag("\"bytes\"", re"not used")
func _() {
fmt.Println("")
}
-- @multi/multi.go --
package imports //@codeaction("imports", "", "source.organizeImports", multi)
import "fmt"
//@diag("\"bytes\"", re"not used")
func _() {
fmt.Println("")
}
-- needs.go --
package imports //@codeaction("package", "", "source.organizeImports", needs)
func goodbye() {
fmt.Printf("HI") //@diag("fmt", re"(undeclared|undefined)")
log.Printf("byeeeee") //@diag("log", re"(undeclared|undefined)")
}
-- @needs/needs.go --
package imports //@codeaction("package", "", "source.organizeImports", needs)
import (
"fmt"
"log"
)
func goodbye() {
fmt.Printf("HI") //@diag("fmt", re"(undeclared|undefined)")
log.Printf("byeeeee") //@diag("log", re"(undeclared|undefined)")
}
-- remove.go --
package imports //@codeaction("package", "", "source.organizeImports", remove)
import (
"bytes" //@diag("\"bytes\"", re"not used")
"fmt"
)
func _() {
fmt.Println("")
}
-- @remove/remove.go --
package imports //@codeaction("package", "", "source.organizeImports", remove)
import (
"fmt"
)
func _() {
fmt.Println("")
}
-- removeall.go --
package imports //@codeaction("package", "", "source.organizeImports", removeall)
import (
"bytes" //@diag("\"bytes\"", re"not used")
"fmt" //@diag("\"fmt\"", re"not used")
)
func _() {
}
-- @removeall/removeall.go --
package imports //@codeaction("package", "", "source.organizeImports", removeall)
//@diag("\"fmt\"", re"not used")
func _() {
}
-- twolines.go --
package imports
func main() {} //@codeactionerr("main", "", "source.organizeImports", re"found 0")