Comments (2)
Now gci
foucs on import package group since i do not want to replace goimports
. In this way, i recommend that you call goimports
first.
from gci.
Running goimports
first does not resolve this issue.
In both examples below, the situation might be unexpected (probably recommended that the code does something different), but since the code is valid Go and valid go after having run goimports
, I would expect this formatter to not make the code invalid.
This feels like a bug.
Example 1
package example
import (
a "github.com/example/nested"
b "github.com/example/nested"
)
Running goimports
is a noop.
> goimports -d .
This code is valid, compiles, and passes goimports
.
Running gci
rewrites the file to be invalid.
gci -d .
diff -u example.go.orig example.go
--- example.go.orig 2020-09-01 08:44:57.000000000 -0700
+++ example.go 2020-09-01 08:44:57.000000000 -0700
@@ -2,7 +2,7 @@
import (
a "github.com/example/nested"
- b "github.com/example/nested"
+ a "github.com/example/nested"
)
Example 2
This also comes up when one import has an _
and the second does not.
package example
import (
_ "github.com/example/nested"
"github.com/example/nested"
)
goimports
does not change this file.
> goimports -d .
Running gci
rewrites the file to be invalid.
> gci -d .
diff -u example.go.orig example.go
--- example.go.orig 2020-09-01 08:48:58.000000000 -0700
+++ example.go 2020-09-01 08:48:58.000000000 -0700
@@ -2,8 +2,7 @@
import (
_ "github.com/example/nested"
-
- "github.com/example/nested"
+ _ "github.com/example/nested"
)
from gci.
Related Issues (20)
- `gci --version` of v0.10.1 is 0.10.0
- Please stop changing launcher interface HOT 4
- Error when running gci against code with "\r\n" HOT 2
- "C" package causes `gci` to output invalid suggestion HOT 5
- Error: 4:20: expected ';', found "math/big" HOT 3
- Bug: Prefix should ignore space
- Support all stdlib packages (Fix: Infinite repair loop) HOT 5
- Feature Request: treating aliased imports separately HOT 5
- v0.12.0 still claiming to be v0.11.2 HOT 1
- math/rand/v2 not considered as standard library HOT 4
- invalid version: malformed tag HOT 1
- Cannot run GCI with -s localmodule flag HOT 6
- Rework module detection for golangci-lint integration HOT 9
- Something wrong with version 0.13.2 HOT 2
- Multiple prefix() sections should not be automatically sorted HOT 5
- Make the Github "About" for the project grammatically correct
- New std lib `unique`,`iter` in go1.23 can not be recognized HOT 5
- gci error format go file with windows line separator
- vscode integration? HOT 4
- Your `.golangci.yml` has unrecognized field names. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gci.