@@ 86-111 (lines=26) @@ | ||
83 | return dec |
|
84 | ||
85 | ||
86 | def autocmd(name, group=None, pattern='*', sync=False, eval=None): |
|
87 | """Tag a function or plugin method as a Nvim autocommand handler.""" |
|
88 | def dec(f): |
|
89 | f._nvim_rpc_method_name = 'autocmd:{0}:{1}'.format(name, pattern) |
|
90 | f._nvim_rpc_sync = sync |
|
91 | f._nvim_bind = True |
|
92 | f._nvim_prefix_plugin_path = True |
|
93 | ||
94 | opts = { |
|
95 | 'pattern': pattern |
|
96 | } |
|
97 | ||
98 | if eval: |
|
99 | opts['eval'] = eval |
|
100 | ||
101 | if group: |
|
102 | opts['group'] = group |
|
103 | ||
104 | f._nvim_rpc_spec = { |
|
105 | 'type': 'autocmd', |
|
106 | 'name': name, |
|
107 | 'sync': sync, |
|
108 | 'opts': opts |
|
109 | } |
|
110 | return f |
|
111 | return dec |
|
112 | ||
113 | ||
114 | def function(name, range=False, sync=False, eval=None): |
|
@@ 114-137 (lines=24) @@ | ||
111 | return dec |
|
112 | ||
113 | ||
114 | def function(name, range=False, sync=False, eval=None): |
|
115 | """Tag a function or plugin method as a Nvim function handler.""" |
|
116 | def dec(f): |
|
117 | f._nvim_rpc_method_name = 'function:{0}'.format(name) |
|
118 | f._nvim_rpc_sync = sync |
|
119 | f._nvim_bind = True |
|
120 | f._nvim_prefix_plugin_path = True |
|
121 | ||
122 | opts = {} |
|
123 | ||
124 | if range: |
|
125 | opts['range'] = '' if range is True else str(range) |
|
126 | ||
127 | if eval: |
|
128 | opts['eval'] = eval |
|
129 | ||
130 | f._nvim_rpc_spec = { |
|
131 | 'type': 'function', |
|
132 | 'name': name, |
|
133 | 'sync': sync, |
|
134 | 'opts': opts |
|
135 | } |
|
136 | return f |
|
137 | return dec |
|
138 | ||
139 | ||
140 | def shutdown_hook(f): |