我正在编写一个片段(用于 Go),并且希望在移动到下一个字段时有条件地转换一个字段。具体来说,如果我不对其进行编辑,我希望该字段为空,如果我不对其进行编辑,则将其括在括号中。
我不成功的片段,表达了我想要的但未能转换已编辑的字段:
func ${1:$$(when (and yas-modified-p yas-moving-away-p)
(concat "(" yas-text ")"))} FuncName
我想要的是,t Type
在该字段中输入时,该片段将扩展为:
func (t Type) FuncName
当跳过未经编辑的字段时,它会像这样扩展:
func FuncName
我知道条件按预期执行,因为如果我更改(concat ...)
为(message "XXX")
,我会看到打印在迷你缓冲区中的跟踪,但我无法弄清楚为什么我的转换不起作用。