是否可以在“yas-choose-value”的值中使用“占位符”?

时间:2016-03-23 15:31:48

标签: emacs yasnippet

在emacs yas-minor-mode中,我想在yas-choose-value中列出的值中使用占位符。 可能吗? 以下代码是我想要做的。 但是效果不好..

# -*- mode: snippet -*-
# name: my_func
# key: my_func
# --
function_${1:$$(yas-choose-value '("x1(arg1=${2:foo}", "arg2=${3:bar)" "x2(arg1=${2:hoge})" "x3()" ))}
$0

我希望以下操作。

(步骤1)为“my_func”执行yas-expand

我应该可以从“x1”,“x2”和“x3”中选择一个

(步骤2)参数应根据(步骤1)中的选择进行更改

  • 如果选择“x1”,

    function_x1(arg1=foo, arg2=bar)
    

    应该补充。 “foo”和“bar”的位置是占位符,它们是默认值。

  • 如果选择“x2”,

    function_x2(arg1=hoge)
    

    应该补充。 “hoge”的位置是占位符,它是默认值。

  • 如果选择“x3”,

     function_x3()
    

    应该补充。没有争论。

1 个答案:

答案 0 :(得分:0)

我认为这具有您正在寻找的功能。试一试。

# -*- mode: snippet -*-
# name: my_func
# key: my_func
# --
function_`(yas-choose-value '("x1(arg1=${1:foo}, arg2=${2:bar})" "x2(arg1=${1:hoge})" "x3()"))`
$0