UltiSnips - 使用占位符创建参数列表

时间:2015-03-10 19:15:00

标签: vim code-snippets ultisnips

我试图在UltiSnip中创建一种方法来获取变量名称列表并将它们转换为以行分隔的字符串列表(如 你会在AngularJS中看到)。因此,您键入每个arg,跳转到下一个占位符,然后在函数上方填入您想要的内容。

从这开始:

function(FirstArg, SecondArg, ThirdArg)

点击CTRL-J(下一个占位符)

最终结果:

[
  'FirstArg',
  'SecondArg',
  'ThridArg',
  function(FirstArg, SecondArg, ThirdArg) {
    // ... cursor here after hitting CTRL-J
    // this would be $0
  }
]

任何提示都会很棒!

1 个答案:

答案 0 :(得分:2)

然后我想更简单。这是函数

global !p
def varDeps(args):
    result = ""
    argList = args.split(",")

    for arg in argList:
        dep = "    " + "'" + arg.strip() + "',\n"
        result = result + dep

    return result.rstrip()
 endglobal

然后使用类似的东西(这是第三个占位符)

    `!p snip.rv = varDeps(t[3])`
        function($scope, ${3:deps}) {
            //....
        }