1
1
from acid .commands import BaseCommand
2
- from acid .nvim import path_to_ns
2
+ from acid .nvim import path_to_ns , log
3
+ from acid .pure .doc_fmt import doc_transform
4
+ from collections import OrderedDict
5
+
6
+
7
+ definition = {
8
+ 'data' : OrderedDict ([
9
+ ['name' , {}],
10
+ ['ns' , {'default' : '' }],
11
+ ['arglists-str' , {
12
+ 'default' : [],
13
+ 'rename' : 'fn_calls' ,
14
+ 'transform' : lambda t , name : ' ' .join ([
15
+ '({}{})' .format (name , ' {}' .format (i ) if i else '' )
16
+ for i in t [2 :- 2 ].split ('] [' )
17
+ ])
18
+ }],
19
+ ['doc' , {
20
+ 'default' : '' ,
21
+ 'transform' : lambda k : [i .strip () for i in k .split ('\n ' )]
22
+ }],
23
+ ['javadoc' , {'default' : '' }],
24
+ ['added' , {'default' : '' , 'transform' : 'Since version: {}' .format }],
25
+ ['super' , {'default' : '' , 'transform' : 'Extends: {}' .format }],
26
+ ['modifiers' , {'default' : []}],
27
+ ['see-also' , {
28
+ 'default' : [],
29
+ 'prepend' : 'See Also:' ,
30
+ 'transform' : lambda k : [
31
+ 'https://clojuredocs.org/{}' .format (i )
32
+ for i in k
33
+ ]
34
+ }],
35
+ ['interfaces' , {
36
+ 'default' : [],
37
+ 'transform' : lambda k : 'Implements: {}' .format (', ' .join (k ))
38
+ }]
39
+ ]),
40
+ 'format' : [
41
+ 'fn_calls' ,
42
+ [],
43
+ 'ns' ,
44
+ 'modifiers' ,
45
+ [],
46
+ 'javadoc' ,
47
+ 'doc' ,
48
+ [],
49
+ 'added' ,
50
+ 'interfaces' ,
51
+ 'super' ,
52
+ 'see-also' ,
53
+ ]
54
+ }
3
55
4
56
5
57
class Command (BaseCommand ):
@@ -12,6 +64,10 @@ class Command(BaseCommand):
12
64
shorthand_mapping = 'K'
13
65
shorthand = "call setreg('s', expand('<cword>'))"
14
66
67
+ def on_configure (self , * _a , ** _k ):
68
+ log .log_debug ('Passing doc transformation fn' )
69
+ return [doc_transform (definition )]
70
+
15
71
def prepare_payload (self , data ):
16
72
return {"symbol" : data , "ns" : path_to_ns (self .nvim )}
17
73
0 commit comments