鉴于以下5行:
describe 'trueness', ->
it 'is really, really, really true', ->
expect(true).to.eq true
expect(true).to.eq true
expect(true).to.eq true
有没有办法可以在vim脚本中编写一个函数:
it is really, really, really true
?trueness
?(我希望编写一个允许我从mocha
运行某些vim
规范的函数,唯一的方法是通过mocha
a表示要运行的规范名称的字符串。)
答案 0 :(得分:1)
使用while
循环的简单迭代将为您完成。您使用getline()
获取当前行的内容,并使用matchstr()
和正确的正则表达式提取带引号的字符串,如下所示:
function! GetQuotedAbove()
let lnum = line('.')
while lnum > 0
let quoted = matchstr(getline(lnum), "'[^']*'")
if ! empty(quoted)
return quoted
endif
let lnum -= 1
endwhile
return ''
endfunction