Skip to content

Commit 21479f9

Browse files
authored
fix: bring back {lefthook_job_name} template (#1347)
1 parent 32af36b commit 21479f9

File tree

2 files changed

+27
-4
lines changed

2 files changed

+27
-4
lines changed

internal/run/controller/command/build_command.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package command
33
import (
44
"strings"
55

6+
"github.com/alessio/shellescape"
7+
68
"github.com/evilmartians/lefthook/v2/internal/config"
79
"github.com/evilmartians/lefthook/v2/internal/run/controller/command/replacer"
810
"github.com/evilmartians/lefthook/v2/internal/run/controller/filter"
@@ -83,14 +85,18 @@ func (b *Builder) buildCommand(params *JobParams) ([]string, []string, error) {
8385

8486
// buildReplacer creates the replacer with all supported templates for files and arguments.
8587
func (b *Builder) buildReplacer(params *JobParams) replacer.Replacer {
88+
var r replacer.Replacer
8689
if len(b.opts.ForceFiles) > 0 {
87-
return replacer.NewMocked(b.opts.ForceFiles).
88-
AddTemplates(b.opts.Templates).
89-
AddGitArgs(b.opts.GitArgs)
90+
r = replacer.NewMocked(b.opts.ForceFiles)
91+
} else {
92+
r = replacer.New(b.git, params.Root, params.FilesCmd)
9093
}
9194

92-
return replacer.New(b.git, params.Root, params.FilesCmd).
95+
return r.
9396
AddTemplates(b.opts.Templates).
97+
AddTemplates(map[string]string{
98+
"lefthook_job_name": shellescape.Quote(params.Name),
99+
}).
94100
AddGitArgs(b.opts.GitArgs)
95101
}
96102

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
exec git init
2+
exec lefthook install
3+
exec git config user.email "you@example.com"
4+
exec git config user.name "Your Name"
5+
exec git add -A
6+
exec git commit -m 'test'
7+
stderr 'Macbeth'
8+
9+
-- lefthook.yml --
10+
output:
11+
- execution_out
12+
13+
pre-commit:
14+
jobs:
15+
- name: 'Macbeth'
16+
run: echo {lefthook_job_name}
17+

0 commit comments

Comments
 (0)