1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-23 13:00:04 +08:00
SpaceVim/config/plugins/unite.vim

291 lines
13 KiB
VimL

scriptencoding utf-8
call unite#custom#source('codesearch', 'max_candidates', 30)
call unite#filters#matcher_default#use(['matcher_fuzzy'])
call unite#filters#sorter_default#use(['sorter_rank'])
call unite#custom#profile('default', 'context', {
\ 'safe': 0,
\ 'start_insert': 1,
\ 'ignorecase' : 1,
\ 'short_source_names': 1,
\ 'update_time': 200,
\ 'direction': 'rightbelow',
\ 'winwidth': 40,
\ 'winheight': 15,
\ 'max_candidates': 100,
\ 'no_auto_resize': 1,
\ 'vertical_preview': 1,
\ 'cursor_line_time': '0.10',
\ 'hide_icon': 0,
\ 'candidate-icon': ' ',
\ 'marked_icon': '✓',
\ 'prompt' : '➭ '
\ })
call unite#custom#profile('source/neobundle/update', 'context', {
\ 'start_insert' : 0,
\ })
let g:unite_source_codesearch_ignore_case = get(g:,
\ 'unite_source_codesearch_ignore_case', 1)
let g:unite_source_buffer_time_format = get(g:,
\ 'unite_source_buffer_time_format', '(%m-%d-%Y %H:%M:%S) ')
let g:unite_source_file_mru_time_format = get(g:,
\ 'unite_source_file_mru_time_format', '(%m-%d-%Y %H:%M:%S) ')
let g:unite_source_directory_mru_time_format = get(g:,
\ 'unite_source_directory_mru_time_format', '(%m-%d-%Y %H:%M:%S) ')
let g:unite_source_directory_mru_limit = get(g:,
\ 'unite_source_directory_mru_limit', 80)
let g:unite_source_file_rec_max_depth = get(g:,
\ 'unite_source_file_rec_max_depth', 6)
let g:unite_enable_ignore_case = get(g:, 'unite_enable_ignore_case', 1)
let g:unite_enable_smart_case = get(g:, 'unite_enable_smart_case', 1)
let g:unite_data_directory = get(g:, 'unite_data_directory',g:spacevim_data_dir.'unite')
"let g:unite_enable_start_insert=1
let g:unite_source_history_yank_enable = get(g:,
\ 'unite_source_history_yank_enable', 1)
let g:unite_split_rule = get(g:, 'unite_split_rule', 'botright')
let g:unite_winheight = get(g:, 'unite_winheight', 25)
let g:unite_source_grep_default_opts = get(g:,
\ 'unite_source_grep_default_opts',
\ '-iRHn'
\ . " --exclude='tags'"
\ . " --exclude='cscope*'"
\ . " --exclude='*.svn*'"
\ . " --exclude='*.log*'"
\ . " --exclude='*tmp*'"
\ . " --exclude-dir='**/tmp'"
\ . " --exclude-dir='CVS'"
\ . " --exclude-dir='.svn'"
\ . " --exclude-dir='.git'"
\ . " --exclude-dir='node_modules'")
let g:unite_launch_apps = get(g:, 'unite_launch_apps', [
\ 'rake',
\ 'make',
\ 'git pull',
\ 'git push'])
let g:unite_source_menu_menus = get(g:, 'unite_source_menu_menus', {})
let g:unite_source_menu_menus.git = {
\ 'description' : ' gestionar repositorios git
\ ⌘ [espacio]g',
\}
let g:unite_source_menu_menus.git.command_candidates = [
\['▷ tig ⌘ ,gt',
\'normal ,gt'],
\['▷ git status (Fugitive) ⌘ ,gs',
\'Gstatus'],
\['▷ git diff (Fugitive) ⌘ ,gd',
\'Gdiff'],
\['▷ git commit (Fugitive) ⌘ ,gc',
\'Gcommit'],
\['▷ git log (Fugitive) ⌘ ,gl',
\'exe "silent Glog | Unite quickfix"'],
\['▷ git blame (Fugitive) ⌘ ,gb',
\'Gblame'],
\['▷ git stage (Fugitive) ⌘ ,gw',
\'Gwrite'],
\['▷ git checkout (Fugitive) ⌘ ,go',
\'Gread'],
\['▷ git rm (Fugitive) ⌘ ,gr',
\'Gremove'],
\['▷ git mv (Fugitive) ⌘ ,gm',
\'exe "Gmove " input("destino: ")'],
\['▷ git push (Fugitive, salida por buffer) ⌘ ,gp',
\'Git! push'],
\['▷ git pull (Fugitive, salida por buffer) ⌘ ,gP',
\'Git! pull'],
\['▷ git prompt (Fugitive, salida por buffer) ⌘ ,gi',
\'exe "Git! " input("comando git: ")'],
\['▷ git cd (Fugitive)',
\'Gcd'],
\]
"===============================================================================
" HTTP Status Code Definitions
"===============================================================================
let g:unite_source_menu_menus.StatusCodeDefinitions = {'description':
\ 'HTTP status code definitions <leader>sc'}
let g:unite_source_menu_menus.StatusCodeDefinitions.command_candidates = [
\['➤ 100 Continue ',
\ 'echo "Continue"'],
\['➤ 101 Switching Protocols ',
\ 'echo "Switching Protocols"'],
\['➤ 200 OK ',
\ 'echo "OK"'],
\['➤ 201 Created ',
\ 'echo "Created"'],
\['➤ 202 Accepted ',
\ 'echo "Accepted"'],
\['➤ 203 Non-Authoritative Information ',
\ 'echo "Non-Authoritative Information"'],
\['➤ 204 No Content ',
\ 'echo "No Content"'],
\['➤ 205 Reset Content ',
\ 'echo "Reset Content"'],
\['➤ 206 Partial Content ',
\ 'echo "Partial Content"'],
\['➤ 300 Multiple Choices ',
\ 'echo "Multiple Choices"'],
\['➤ 301 Moved Permanently ',
\ 'echo "Moved Permanently"'],
\['➤ 302 Found ',
\ 'echo "Found"'],
\['➤ 303 See Other ',
\ 'echo "See Other"'],
\['➤ 304 Not Modified ',
\ 'echo "Not Modified"'],
\['➤ 305 Use Proxy ',
\ 'echo "Use Proxy"'],
\['➤ 307 Temporary Redirect ',
\ 'echo "Temporary Redirect"'],
\['➤ 400 Bad Request ',
\ 'echo "Bad Request"'],
\['➤ 401 Unauthorized ',
\ 'echo "Unauthorized"'],
\['➤ 402 Payment Required ',
\ 'echo "Payment Required"'],
\['➤ 403 Forbidden ',
\ 'echo "Forbidden"'],
\['➤ 404 Not Found ',
\ 'echo "Not Found"'],
\['➤ 405 Method Not Allowed ',
\ 'echo "Method Not Allowed"'],
\['➤ 406 Not Acceptable ',
\ 'echo "Not Acceptable"'],
\['➤ 407 Proxy Authentication Required ',
\ 'echo "Proxy Authoritative Required"'],
\['➤ 408 Request Timeout ',
\ 'echo "Request Timeout"'],
\['➤ 409 Conflict ',
\ 'echo "Conflict"'],
\['➤ 410 Gone ',
\ 'echo "Gone"'],
\['➤ 411 Length Required ',
\ 'echo "Length Required"'],
\['➤ 412 Precondition Failed ',
\ 'echo "Precondition Failed"'],
\['➤ 413 Request Entity Too Large ',
\ 'echo "Request Entity Too Large"'],
\['➤ 414 Request-URI Too Long ',
\ 'echo "Request-URI Too Long"'],
\['➤ 415 Unsupported Media Type ',
\ 'echo "Unsupported Media Type"'],
\['➤ 416 Requested Range Not Satisfiable ',
\ 'echo "Requested Range Not Satisfiable"'],
\['➤ 417 Expectation Failed ',
\ 'echo "Expectation Failed"'],
\['➤ 422 Unprocessable Entity ',
\ 'echo "Unprocessable Entity"'],
\['➤ 500 Internal Server Error ',
\ 'echo "Internal Server Error"'],
\['➤ 501 Not Implemented ',
\ 'echo "Not Implemented"'],
\['➤ 502 Bad Gateway ',
\ 'echo "Bad Gateway"'],
\['➤ 503 Service Unavailable ',
\ 'echo "Service Unavailable"'],
\['➤ 504 Gateway Timeout ',
\ 'echo "Gateway Timeout"'],
\['➤ 505 HTTP Version Not Supported ',
\ 'echo "HTTP Version Not Supported"'],
\]
let g:unite_source_grep_max_candidates = get(g:,
\ 'unite_source_grep_max_candidates', 200)
" set the unite async command based on spacevim default searcher
let [
\ s:grep_default_exe,
\ s:grep_default_opt,
\ s:grep_default_ropt,
\ s:grep_default_expr_opt,
\ s:grep_default_fix_string_opt,
\ s:grep_default_ignore_case,
\ s:grep_default_smart_case
\ ] = SpaceVim#mapping#search#default_tool()
let g:unite_source_grep_command = s:grep_default_exe
let g:unite_source_grep_default_opts = join(s:grep_default_opt)
let g:unite_source_grep_recursive_opt = join(s:grep_default_ropt)
let s:async_command = [s:grep_default_exe] +
\ s:grep_default_opt +
\ s:grep_default_fix_string_opt +
\ ['--files', '.']
let g:unite_source_rec_async_command = get(g:,
\ 'unite_source_rec_async_command',
\ s:async_command)
call unite#custom#profile('file_rec/async,file_rec/git', 'context', {
\ 'start_insert' : 1,
\ 'quit' : 1,
\ 'split' : 1,
\ 'keep_focus' : 1,
\ 'winheight' : 20,
\ })
call unite#custom#source('file_rec/async,file_rec/neovim', 'ignore_globs',
\ ['*.png','.git/','*.ttf', '*.eot', '*.woff', '*.svg'])
call unite#custom#profile('buffer,buffer_tab', 'context', {
\ 'start_insert' : 0,
\ 'quit' : 1,
\ 'keep_focus' : 1,
\ })
function! s:view_github_starred_repos() abort
if empty(g:unite_source_menu_menus.MyStarredrepos.command_candidates)
if UpdateStarredRepos()
Unite -silent -ignorecase -winheight=17 -start-insert menu:MyStarredrepos
endif
else
Unite -silent -ignorecase -winheight=17 -start-insert menu:MyStarredrepos
endif
endfunction
" if SpaceVim#layers#isLoaded('tools#mpv')
" call SpaceVim#layers#tools#mpv#loadMusics()
" endif
augroup unite_buffer_feature
autocmd FileType unite call s:unite_my_settings()
augroup END
function! s:unite_my_settings()
" Overwrite settings.
setlocal nowrap
" Play nice with supertab
let b:SuperTabDisabled=1
" Enable navigation with control-j and control-k in insert mode
imap <buffer> <C-j> <Plug>(unite_select_next_line)
nmap <buffer> <C-j> <Plug>(unite_select_next_line)
imap <buffer> <TAB> <Plug>(unite_select_next_line)
nmap <buffer> <TAB> <Plug>(unite_select_next_line)
imap <buffer> <C-k> <Plug>(unite_select_previous_line)
nmap <buffer> <C-k> <Plug>(unite_select_previous_line)
imap <buffer> <S-Tab> <Plug>(unite_select_previous_line)
nmap <buffer> <S-Tab> <Plug>(unite_select_previous_line)
imap <buffer> <C-w> <Plug>(unite_delete_backward_path)
imap <buffer><expr> j unite#smart_map('j', '')
" Runs "split" action by <C-s>.
imap <silent><buffer><expr> <C-s> unite#do_action('split')
nmap <silent><buffer><expr> <C-s> unite#do_action('split')
" Runs "vsplit" action by <C-v>.
imap <silent><buffer><expr> <C-v> unite#do_action('vsplit')
nmap <silent><buffer><expr> <C-v> unite#do_action('vsplit')
" Runs "tabopen" action by <C-t>.
imap <silent><buffer><expr> <C-t> unite#do_action('tabopen')
nmap <silent><buffer><expr> <C-t> unite#do_action('tabopen')
imap <buffer> ' <Plug>(unite_quick_match_default_action)
nmap <buffer> ' <Plug>(unite_quick_match_default_action)
nmap <buffer> <C-z> <Plug>(unite_toggle_transpose_window)
imap <buffer> <C-z> <Plug>(unite_toggle_transpose_window)
imap <buffer> <C-y> <Plug>(unite_narrowing_path)
nmap <buffer> <C-y> <Plug>(unite_narrowing_path)
nmap <buffer> <C-e> <Plug>(unite_toggle_auto_preview)
imap <buffer> <C-e> <Plug>(unite_toggle_auto_preview)
nmap <buffer> <C-r> <Plug>(unite_narrowing_input_history)
imap <buffer> <C-r> <Plug>(unite_narrowing_input_history)
let unite = unite#get_current_unite()
if unite.profile_name ==# 'search'
nnoremap <silent><buffer><expr> r unite#do_action('replace')
else
nnoremap <silent><buffer><expr> r unite#do_action('rename')
endif
nnoremap <silent><buffer><expr> cd unite#do_action('lcd')
endfunction
" vim:set et sw=2 cc=80: