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

cmd/stringer: add more control over generated String output through comment #255

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

zzwx
Copy link

@zzwx zzwx commented Oct 23, 2020

The change suggested is to address the use case, where constants have to be public (capitalized), and the output is expected to be camelCase.

The idea is that the flags may be forgotten, and the output is expected to be the same over time.

Without the -linecomment flag, regular line comment will be searched for a sequence, mocking struct tag, at any part of the comment, in the following form (notice required `):

	// `stringer:"[<name>],[fn]"`

where <name> is a name to generate and fn is one of the following: "title", "de(un)title", "lower", "upper".
Absent <name> means to use default constant name and pass it through the function, if any. If <name> is provided, it will still be passed through the function for consistency. To completely suppress any output, provide `stringer:""`.

golang/go#38229 mentioned someone's idea to add support for flags for styling the output of stringer, however it seems to be more logical to have it as a comment close to the code itself.

Downside: mocking struct tag is still just a comment and becomes a part of regular godoc.

@google-cla google-cla bot added the cla: yes label Oct 23, 2020
@gopherbot
Copy link
Contributor

This PR (HEAD: bb3064b) has been imported to Gerrit for code review.

Please visit https://go-review.googlesource.com/c/tools/+/264797 to see it.

Tip: You can toggle comments from me using the comments slash command (e.g. /comments off)
See the Wiki page for more info

@gopherbot
Copy link
Contributor

Message from Go Bot:

Patch Set 1:

Congratulations on opening your first change. Thank you for your contribution!

Next steps:
A maintainer will review your change and provide feedback. See
https://golang.org/doc/contribute.html#review for more info and tips to get your
patch through code review.

Most changes in the Go project go through a few rounds of revision. This can be
surprising to people new to the project. The careful, iterative review process
is our way of helping mentor contributors and ensuring that their contributions
have a lasting impact.


Please don’t reply on this GitHub thread. Visit golang.org/cl/264797.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Ian Lance Taylor:

Patch Set 1:

(1 comment)


Please don’t reply on this GitHub thread. Visit golang.org/cl/264797.
After addressing review feedback, remember to publish your drafts!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants