go: Add go-generate
runnables and tasks (#19987)
I was missing the `go generate` runnable from other editors so I figured I'd implement one here! Now, comments of the form `//go:generate` can prompt for the `go generate <package>` task. Meanwhile, I've also added a global `go generate ./...` task. ~When making the global task, I noticed that the existing `go test ./...` task runs tests in subdirectories of the CWD of the active editor, whereas I would really expect it to run all tests across my project. I have changed to use the latter behavior (run relative to project root) for both `go generate ./...` and `go test ./...`. Please let me know if the prior behavior was intended, and I can revert.~ Release Notes: - Added runnable and tasks for `go generate` commands
This commit is contained in:
parent
9a869f0c5f
commit
8e00caf23b
2 changed files with 22 additions and 0 deletions
|
@ -549,6 +549,21 @@ impl ContextProvider for GoContextProvider {
|
|||
tags: vec!["go-main".to_owned()],
|
||||
..TaskTemplate::default()
|
||||
},
|
||||
TaskTemplate {
|
||||
label: format!("go generate {}", GO_PACKAGE_TASK_VARIABLE.template_value()),
|
||||
command: "go".into(),
|
||||
args: vec!["generate".into()],
|
||||
cwd: package_cwd.clone(),
|
||||
tags: vec!["go-generate".to_owned()],
|
||||
..TaskTemplate::default()
|
||||
},
|
||||
TaskTemplate {
|
||||
label: "go generate ./...".into(),
|
||||
command: "go".into(),
|
||||
args: vec!["generate".into(), "./...".into()],
|
||||
cwd: package_cwd.clone(),
|
||||
..TaskTemplate::default()
|
||||
},
|
||||
]))
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,13 @@
|
|||
(#set! tag go-test)
|
||||
)
|
||||
|
||||
; `go:generate` comments
|
||||
(
|
||||
((comment) @_comment @run
|
||||
(#match? @_comment "^//go:generate"))
|
||||
(#set! tag go-generate)
|
||||
)
|
||||
|
||||
; `t.Run`
|
||||
(
|
||||
(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue