Изменение регистра в сниппетах Snipmate.vim?

Можно ли изменить регистр значений переменных в сниппетах Snipmate?

Например:

snippet dc
  def create
    @${1} = $1.new
  end

Должен вывод:

def create
  @product = Product.new
end

Я попытался использовать обратные кавычки для вызова пользовательской функции:

snippet dc
  def create
    @${1} = `ToUpperCase('$1')`.new
  end

И определил эту функцию в Vim:

function! ToUpperCase(str)
    let result = substitute(a:str, '\(\w\)', '\u\1', '')
    return result
endfunction

Это не работает, поскольку кажется, что Snipmate расширяет свои переменные $ n после выполнения обратных кавычек.

6
задан Jari Jokinen 21 February 2011 в 09:49
поделиться