const $1: $2 = `(if (equal (yas-field-value 2) "string")
(concat "\"$3\";")
(concat "$3;"))`
我的目的是:当 $2
的值为 string
时,在等号后面插入一对双引号。
现状是 $3
被当做普通字符串输出了
const $1: $2 = `(if (equal (yas-field-value 2) "string")
(concat "\"$3\";")
(concat "$3;"))`
我的目的是:当 $2
的值为 string
时,在等号后面插入一对双引号。
现状是 $3
被当做普通字符串输出了
elisp的输出不会被再解释一次,可以这样:
const $1 :$2 = ${2:$(if (string= "string" yas-text) (char-to-string 34))}$3${2:$(if (string= "string" yas-text) (char-to-string 34))};
我在把引号放到snippet的elisp里面的时候有很多困难,最后只好写成了(char-to-string 34)
,yasnippet还是有些情况没考虑到……
wow! 多谢大佬