生成后的模板标识
Template ident after generate
我正在使用 GO text/template
生成 makefile
模板按预期生成(内容正确)但问题是它不是缩进 tabs 生成后 运行ning make
命令出现错误。
这是模板的输出:
all: app app_2
DIR = $(PWD)
.PHONY: app
app:
@echo "run module 1"
.PHONY: app_2
app_2:
@echo "run module 2”
当我 运行 make 时出现错误“makefile:7: *** 缺少分隔符。停止。” (这是第一个回显的行)
如果我用 Goland
或 vsCode
将想法更改为 tab
(在文件生成后),我能够 运行文件成功 并看到预期的输出...,知道如何让它与 go text/template 一起工作吗?
这是模板
all: {{- range .Load.Proc}} {{.Name}}{{end}}
{{- range .Load.Proc}}
.PHONY: {{.Name}}
{{.Name}}:
@echo {{.Text}}
{{end}}
这是 makefile 问题:makefile:4: *** missing separator. Stop 但对我来说这是个问题,因为我想生成文件而不需要手动更改缩进。
在模板中使用制表符在输出中生成制表符。要修复问题中的模板,请将 @echo
之前的空格替换为制表符。
https://play.golang.org/p/c7v6eNsI2Fy
如果由于某种原因不能在模板中放置制表符,则使用 {{"\t"}}
在输出中生成制表符:
{{"\t"}}echo {{.Text}}
我正在使用 GO text/template
生成 makefile
模板按预期生成(内容正确)但问题是它不是缩进 tabs 生成后 运行ning make
命令出现错误。
这是模板的输出:
all: app app_2
DIR = $(PWD)
.PHONY: app
app:
@echo "run module 1"
.PHONY: app_2
app_2:
@echo "run module 2”
当我 运行 make 时出现错误“makefile:7: *** 缺少分隔符。停止。” (这是第一个回显的行)
如果我用 Goland
或 vsCode
将想法更改为 tab
(在文件生成后),我能够 运行文件成功 并看到预期的输出...,知道如何让它与 go text/template 一起工作吗?
这是模板
all: {{- range .Load.Proc}} {{.Name}}{{end}}
{{- range .Load.Proc}}
.PHONY: {{.Name}}
{{.Name}}:
@echo {{.Text}}
{{end}}
这是 makefile 问题:makefile:4: *** missing separator. Stop 但对我来说这是个问题,因为我想生成文件而不需要手动更改缩进。
在模板中使用制表符在输出中生成制表符。要修复问题中的模板,请将 @echo
之前的空格替换为制表符。
https://play.golang.org/p/c7v6eNsI2Fy
如果由于某种原因不能在模板中放置制表符,则使用 {{"\t"}}
在输出中生成制表符:
{{"\t"}}echo {{.Text}}