2

在 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

我预计以下操作。

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

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

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

  • 如果选择“x1”,

    function_x1(arg1=foo, arg2=bar)
    

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

  • 如果选择“x2”,

    function_x2(arg1=hoge)
    

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

  • 如果选择“x3”,

     function_x3()
    

    应予以补充。没有争论。

4

1 回答 1

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
于 2016-03-27T21:42:01.023 回答