Vim UltiSnips-使用占位符创建参数列表
我试图在UltiSnip中创建一种方法,以获取变量名列表并将其转换为以行分隔的字符串列表(如 你会在AngularJS中看到)。因此,键入每个参数,跳转到下一个占位符,然后在函数上方填充所需内容 从这个开始:Vim UltiSnips-使用占位符创建参数列表,vim,code-snippets,ultisnips,Vim,Code Snippets,Ultisnips,我试图在UltiSnip中创建一种方法,以获取变量名列表并将其转换为以行分隔的字符串列表(如 你会在AngularJS中看到)。因此,键入每个参数,跳转到下一个占位符,然后在函数上方填充所需内容 从这个开始: function(FirstArg, SecondArg, ThirdArg) 点击CTRL-J(下一个占位符) 最后的结果是: [ 'FirstArg', 'SecondArg', 'ThridArg', function(FirstArg, SecondArg, Th
function(FirstArg, SecondArg, ThirdArg)
点击CTRL-J(下一个占位符)
最后的结果是:
[
'FirstArg',
'SecondArg',
'ThridArg',
function(FirstArg, SecondArg, ThirdArg) {
// ... cursor here after hitting CTRL-J
// this would be $0
}
]
任何提示都很好 比我想的简单。这就是函数
global !p
def varDeps(args):
result = ""
argList = args.split(",")
for arg in argList:
dep = " " + "'" + arg.strip() + "',\n"
result = result + dep
return result.rstrip()
endglobal
然后使用类似的内容(这里是第三个占位符)
只是一个想法:将()之间的整个字符串作为$1,然后使用python插值在逗号处拆分它并生成上面的行。原则上应该行得通,但如果你深入细节,我不知道会有多混乱。
`!p snip.rv = varDeps(t[3])`
function($scope, ${3:deps}) {
//....
}