Add function to automatically add package header #358
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This patch fixes the minor annoyance of having to write out the package name when creating a new file. It scans all other file names and adds a
package ...
header if all other files share the same package line.Even with packages with over 100 go files, this function takes less than 0.01 seconds to execute, and even less when compiled.
The current limitations are the only the first 4k byte are used to find a package name, and that it fails if only one file has a different file name (for example in
golang.org/x/net/ipv4
there is a file calledgen.go
that's not part of the package, and thus preventsgo-mode-add-package-line
from doing anything). These could easily be fixed, but I'm not sure what the correct behavior is from the Go-side of things.As this feature is intrusive, it's disabled by default. Toggling
go-mode-add-package-line
automatically adds it to thego-mode-hook
.