| @@ 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): |
|