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

Create Go script that can replace preceding tabs with spaces in SQL string literals #148

Open
ammiranda opened this issue Jul 20, 2024 · 5 comments

Comments

@ammiranda
Copy link
Contributor

ammiranda commented Jul 20, 2024

Related to #67, this issue is a follow-up to the PR resolving #67 which will add a Go based script that can be run as needed to correct the whitespace for the string literals.

The desired feature set should include:

  • Re-writes the acceptance tests to have tab-less multi-line strings
  • Preferably has a--fix option, such that there is basically a validation/dry-run mode and a write mode
  • Is called from the makefile lint and lint_fix targets (like go_lint, sql_lint, etc)
@ammiranda
Copy link
Contributor Author

@bplunkett-stripe Feel free to update the issue as needed.

@bplunkett-stripe
Copy link
Collaborator

bplunkett-stripe commented Jul 22, 2024

Looks right to me!

Don't worry about making the "dry-run" mode too complicated, i.e., printing out line numbers. Just printing out the file name is fine.

@bplunkett-stripe
Copy link
Collaborator

You still planning on picking this up @ammiranda? Checking because I might take at a pass at it soon.

@ammiranda
Copy link
Contributor Author

@bplunkett-stripe I was planning on it, but I think I need a bit more direction on how to implement it. Like how to make it invocable from the command line via the Makefile and how to read the --fix flag for it. I'm guessing the flag could be read using the flags package but I'm unsure.

@bplunkett-stripe
Copy link
Collaborator

Yes, you can use the same cobra/flags pkg, similar to the pg-schema-diff command. I would define the script under a file like scripts/acceptance_test_sql_linter/main.go. You could then use go run to call it from the makefile, passing the appropriate parameters.

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

No branches or pull requests

2 participants