annotate vim/after/autoload/unite/sources/build/builders/rubber.vim @ 256:f051de40b409 default tip

Add fzf as fuzzy file finder in vim
author zegervdv <zegervdv@me.com>
date Wed, 04 Mar 2015 22:05:53 +0100
parents fe520b74e9d0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
108
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
1 "=============================================================================
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
2 " FILE: rubber.vim
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
3 " AUTHOR: Tatsuhiro Ujihisa <ujihisa at gmail.com>
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
4 " Last Modified: Sat Mar 9 18:01:03 PST 2013
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
5 "
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
6 " License: MIT license {{{
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
7 " Permission is hereby granted, free of charge, to any person obtaining
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
8 " a copy of this software and associated documentation files (the
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
9 " "Software"), to deal in the Software without restriction, including
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
10 " without limitation the rights to use, copy, modify, merge, publish,
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
11 " distribute, sublicense, and/or sell copies of the Software, and to
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
12 " permit persons to whom the Software is furnished to do so, subject to
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
13 " the following conditions:
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
14 "
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
15 " The above copyright notice and this permission notice shall be included
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
16 " in all copies or substantial portions of the Software.
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
17 "
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
18 " THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
19 " OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
20 " MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
21 " IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
22 " CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
23 " TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
24 " SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
25 " }}}
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
26 "=============================================================================
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
27
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
28 " Variables "{{{
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
29 call unite#util#set_default('g:unite_builder_rubber_command', 'rubber')
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
30 "}}}
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
31
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
32 function! unite#sources#build#builders#rubber#define() "{{{
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
33 return executable(g:unite_builder_rubber_command) ?
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
34 \ s:builder : []
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
35 endfunction "}}}
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
36
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
37 let s:builder = {
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
38 \ 'name': 'rubber',
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
39 \ 'description': 'rubber builder for ebuild files',
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
40 \ }
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
41
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
42 function! s:builder.detect(args, context) "{{{
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
43 return 1
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
44 endfunction"}}}
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
45
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
46 function! s:builder.initialize(args, context) "{{{
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
47 let arg = a:args
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
48 return g:unite_builder_rubber_command . ' ' . arg
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
49 endfunction"}}}
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
50
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
51 function! s:builder.parse(string, context)
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
52 if empty(a:string)
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
53 return {}
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
54 endif
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
55 if a:context.source__builder_args[0] ==# 'manifest'
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
56 return s:_parse_manifest(a:string, a:context)
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
57 elseif a:context.source__builder_args[0] ==# 'full'
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
58 return s:_parse_full(a:string, a:context)
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
59 else
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
60 return {'type': 'message', 'text': printf('# %s', a:string)}
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
61 endif
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
62 endfunction
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
63
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
64 function! s:_parse_manifest(string, context)
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
65 return {'type': 'message', 'text': printf(' %s', a:string)}
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
66 endfunction
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
67
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
68 function! s:_parse_full(string, context)
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
69 if a:string == 'rubber scours the neighborhood...'
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
70 return {}
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
71 endif
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
72 return {'type': 'message', 'text': printf('* %s', a:string)}
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
73 endfunction
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
74
fe520b74e9d0 Add release and takeover scripts for imac
zegervdv <zegervdv@me.com>
parents:
diff changeset
75 " vim: foldmethod=marker