Navigation Menu

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/vgo: make quotes optional in go.mod file #24641

Closed
rsc opened this issue Apr 2, 2018 · 3 comments
Closed

x/vgo: make quotes optional in go.mod file #24641

rsc opened this issue Apr 2, 2018 · 3 comments
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Milestone

Comments

@rsc
Copy link
Contributor

rsc commented Apr 2, 2018

Here's a short go.mod:

module "github.com/you/hello"

require (
	"golang.org/x/text" v0.0.0-20180208041248-4e4a3210bb54
	"rsc.io/quote" v1.5.2
)

I propose to drop the distinction between a quoted string and a bare literal, with the restriction that literals must not include any kind of unicode space, nor U+0022 (") nor U+0060 (`). Then this file can be shortened to (and would be rewritten canonically as):

module github.com/you/hello

require (
	golang.org/x/text v0.0.0-20180208041248-4e4a3210bb54
	rsc.io/quote v1.5.2
)

Not quoting should make it easier to copy and paste from the command line or from substrings of import paths or from "go list -m" output. Backslashes are allowed in literals and stand for themselves, so that you can write

replace rsc.io/quote v1.5.2 => c:\work\quote

If you need a space in the path in that form then it's still necessary to quote:

replace rsc.io/quote v1.5.2 => `c:\rsc\my work\quote`
replace rsc.io/quote v1.5.2 => "/users/rsc/my work/quote"
@rsc rsc added this to the vgo milestone Apr 2, 2018
@rsc rsc added the NeedsFix The path to resolution is known, but the work has not been done. label Apr 2, 2018
@flibustenet
Copy link

Is => mandatory for replace ? It could be more like require
replace rsc.io/quote v1.5.2 c:\work\quote

exclude also, i think you propose it also.

@rsc
Copy link
Contributor Author

rsc commented Apr 3, 2018

Yes, => is still mandatory for replace. I think replace is confusing enough to be worth having that separator.

@dmitshur dmitshur changed the title vgo: make quotes optional in go.mod file x/vgo: make quotes optional in go.mod file Apr 4, 2018
@gopherbot
Copy link

Change https://golang.org/cl/105215 mentions this issue: cmd/go/internal/modfile: allow, prefer unquoted strings in mod files

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Projects
None yet
Development

No branches or pull requests

3 participants