【发布时间】:2022-01-05 09:31:42
【问题描述】:
我正在尝试为 MOVE 语句 i COBOL 创建一个 yasn-p。 编写 MOVE 语句是我们经常做的事情,我希望尽可能快速高效地使用它。
通常是这样的:
MOVE variable-1 TO variable-2
但有时你也使用函数:
MOVE FUNCTION LENGTH(variable-1) TO variable-2
所以我要的是一个 sn-p,如果 field-1 = "FUNCTION",它会跳过 field-2。
我现在拥有的是:
MOVE $1 ${2:$$(unless (or yas-modified-p yas-moving-away-p (equal (upcase (yas-field-value 1)) "FUNCTION")) (yas-skip-and-clear-field))} TO $0
这对于“MOVE FUNCTION ...”情况非常有用,但在其他情况下则不然。 在这里,当我在 field-1 中输入 varaible-1 后点击时,我得到(光标是 |):
MOVE variable-1 #<marker at 2998 in text.cbl>| TO
因此,yas-skip-and-clear-field 的返回值似乎被打印出来,而不是跳转到 $0。
我该如何解决这个问题?或者有什么更好的方法吗?
【问题讨论】: