39 lines
525 B
VimL
39 lines
525 B
VimL
let s:uid = 0
|
|
|
|
function! vsnip#snippet#node#text#import() abort
|
|
return s:Text
|
|
endfunction
|
|
|
|
let s:Text = {}
|
|
|
|
"
|
|
" new.
|
|
"
|
|
function! s:Text.new(ast) abort
|
|
let s:uid += 1
|
|
|
|
return extend(deepcopy(s:Text), {
|
|
\ 'uid': s:uid,
|
|
\ 'type': 'text',
|
|
\ 'value': a:ast.escaped,
|
|
\ 'children': [],
|
|
\ })
|
|
endfunction
|
|
|
|
"
|
|
" text.
|
|
"
|
|
function! s:Text.text() abort
|
|
return self.value
|
|
endfunction
|
|
|
|
"
|
|
" to_string
|
|
"
|
|
function! s:Text.to_string() abort
|
|
return printf('%s(%s)',
|
|
\ self.type,
|
|
\ self.value
|
|
\ )
|
|
endfunction
|