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()],
|
tags: vec!["go-main".to_owned()],
|
||||||
..TaskTemplate::default()
|
..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)
|
(#set! tag go-test)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
; `go:generate` comments
|
||||||
|
(
|
||||||
|
((comment) @_comment @run
|
||||||
|
(#match? @_comment "^//go:generate"))
|
||||||
|
(#set! tag go-generate)
|
||||||
|
)
|
||||||
|
|
||||||
; `t.Run`
|
; `t.Run`
|
||||||
(
|
(
|
||||||
(
|
(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue