Skip to content

Commit 2d21376

Browse files
authored
Merge pull request #194 from lambdalisue/mark-children-pre
Add "get_child_nodes" on helper.async
2 parents d3d9412 + 7bf1fec commit 2d21376

File tree

3 files changed

+24
-0
lines changed

3 files changed

+24
-0
lines changed

autoload/fern/helper/async.vim

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,25 @@ function! s:async_remark() abort dict
4040
endfunction
4141
let s:async.remark = funcref('s:async_remark')
4242

43+
function! s:async_get_child_nodes(key) abort dict
44+
let helper = self.helper
45+
let fern = helper.fern
46+
let node = fern#internal#node#find(a:key, fern.nodes)
47+
if empty(node)
48+
return s:Promise.reject(printf('failed to find a node %s', a:key))
49+
endif
50+
let Profile = fern#profile#start('fern#helper:helper.async.get_child_nodes')
51+
return s:Promise.resolve()
52+
\.then({ -> fern#internal#node#children(
53+
\ node,
54+
\ fern.provider,
55+
\ fern.source.token,
56+
\ )
57+
\})
58+
\.finally({ -> Profile() })
59+
endfunction
60+
let s:async.get_child_nodes = funcref('s:async_get_child_nodes')
61+
4362
function! s:async_set_mark(key, value) abort dict
4463
let helper = self.helper
4564
let fern = helper.fern

doc/fern-develop.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -445,6 +445,10 @@ Following methods are executed asynchronously and return a promise.
445445
.async.remark()
446446
Return a promise to remark the content.
447447

448+
*fern-develop-helper.async.get_child_nodes()*
449+
.async.get_child_nodes({key})
450+
Return a promise which will resolves to child nodes of the {key} node.
451+
448452
*fern-develop-helper.async.set_mark()*
449453
.async.set_mark({key}, {value})
450454
Return a promise to set mark to a node identified by the {key}.

test/fern/helper.vimspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ Describe fern#helper
3838
\ 'sleep',
3939
\ 'redraw',
4040
\ 'remark',
41+
\ 'get_child_nodes',
4142
\ 'set_mark',
4243
\ 'set_hidden',
4344
\ 'set_include',

0 commit comments

Comments
 (0)