From a3c6a3629fe850b1dd77f38e0e0d9167f0a02d56 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Tue, 17 May 2016 22:38:06 +0900 Subject: [PATCH] Use default layout when no optional dictionary argument is given --- autoload/fzf/vim.vim | 6 +++++- plugin/fzf.vim | 44 ++++++++++++++++++++------------------------ 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/autoload/fzf/vim.vim b/autoload/fzf/vim.vim index f3510c9..1212841 100644 --- a/autoload/fzf/vim.vim +++ b/autoload/fzf/vim.vim @@ -33,6 +33,10 @@ function! fzf#vim#wrap(opts) \ 'sink*': get(a:opts, 'sink*', s:function('s:common_sink'))}) endfunction +function! fzf#vim#layout(...) + return (a:0 && a:1) ? {} : copy(get(g:, 'fzf_layout', g:fzf#vim#default_layout)) +endfunction + function! s:strip(str) return substitute(a:str, '^\s*\|\s*$', '', 'g') endfunction @@ -93,7 +97,7 @@ function! s:defaults() endfunction function! s:fzf(opts, extra) - let extra = copy(get(a:extra, 0, {})) + let extra = empty(a:extra) ? fzf#vim#layout() : a:extra[0] let eopts = has_key(extra, 'options') ? remove(extra, 'options') : '' let merged = extend(copy(a:opts), extra) let merged.options = join(filter([s:defaults(), get(merged, 'options', ''), eopts], '!empty(v:val)')) diff --git a/plugin/fzf.vim b/plugin/fzf.vim index fd843b4..ba75cd5 100644 --- a/plugin/fzf.vim +++ b/plugin/fzf.vim @@ -26,10 +26,6 @@ set cpo&vim let g:fzf#vim#default_layout = {'down': '~40%'} -function! s:w(bang) - return a:bang ? {} : copy(get(g:, 'fzf_layout', g:fzf#vim#default_layout)) -endfunction - function! s:defs(commands) let prefix = get(g:, 'fzf_command_prefix', '') if prefix =~# '^[^A-Z]' @@ -42,30 +38,30 @@ function! s:defs(commands) endfunction call s:defs([ -\'command! -bang -nargs=? -complete=dir Files call fzf#vim#files(, s:w(0))', -\'command! -bang -nargs=? GitFiles call fzf#vim#gitfiles(, s:w(0))', -\'command! -bang Buffers call fzf#vim#buffers(s:w(0))', -\'command! -bang -nargs=* Lines call fzf#vim#lines(, s:w(0))', -\'command! -bang -nargs=* BLines call fzf#vim#buffer_lines(, s:w(0))', -\'command! -bang Colors call fzf#vim#colors(s:w(0))', -\'command! -bang -nargs=1 -complete=dir Locate call fzf#vim#locate(, s:w(0))', -\'command! -bang -nargs=* Ag call fzf#vim#ag(, s:w(0))', -\'command! -bang -nargs=* Tags call fzf#vim#tags(, s:w(0))', -\'command! -bang -nargs=* BTags call fzf#vim#buffer_tags(, s:w(0))', -\'command! -bang Snippets call fzf#vim#snippets(s:w(0))', -\'command! -bang Commands call fzf#vim#commands(s:w(0))', -\'command! -bang Marks call fzf#vim#marks(s:w(0))', -\'command! -bang Helptags call fzf#vim#helptags(s:w(0))', -\'command! -bang Windows call fzf#vim#windows(s:w(0))', -\'command! -bang Commits call fzf#vim#commits(s:w(0))', -\'command! -bang BCommits call fzf#vim#buffer_commits(s:w(0))', -\'command! -bang Maps call fzf#vim#maps("n", s:w(0))', -\'command! -bang Filetypes call fzf#vim#filetypes(s:w(0))', +\'command! -bang -nargs=? -complete=dir Files call fzf#vim#files(, fzf#vim#layout(0))', +\'command! -bang -nargs=? GitFiles call fzf#vim#gitfiles(, fzf#vim#layout(0))', +\'command! -bang Buffers call fzf#vim#buffers(fzf#vim#layout(0))', +\'command! -bang -nargs=* Lines call fzf#vim#lines(, fzf#vim#layout(0))', +\'command! -bang -nargs=* BLines call fzf#vim#buffer_lines(, fzf#vim#layout(0))', +\'command! -bang Colors call fzf#vim#colors(fzf#vim#layout(0))', +\'command! -bang -nargs=1 -complete=dir Locate call fzf#vim#locate(, fzf#vim#layout(0))', +\'command! -bang -nargs=* Ag call fzf#vim#ag(, fzf#vim#layout(0))', +\'command! -bang -nargs=* Tags call fzf#vim#tags(, fzf#vim#layout(0))', +\'command! -bang -nargs=* BTags call fzf#vim#buffer_tags(, fzf#vim#layout(0))', +\'command! -bang Snippets call fzf#vim#snippets(fzf#vim#layout(0))', +\'command! -bang Commands call fzf#vim#commands(fzf#vim#layout(0))', +\'command! -bang Marks call fzf#vim#marks(fzf#vim#layout(0))', +\'command! -bang Helptags call fzf#vim#helptags(fzf#vim#layout(0))', +\'command! -bang Windows call fzf#vim#windows(fzf#vim#layout(0))', +\'command! -bang Commits call fzf#vim#commits(fzf#vim#layout(0))', +\'command! -bang BCommits call fzf#vim#buffer_commits(fzf#vim#layout(0))', +\'command! -bang Maps call fzf#vim#maps("n", fzf#vim#layout(0))', +\'command! -bang Filetypes call fzf#vim#filetypes(fzf#vim#layout(0))', \'command! -bang -nargs=* History call s:history(, 0)']) function! s:history(arg, bang) let bang = a:bang || a:arg[len(a:arg)-1] == '!' - let ext = s:w(bang) + let ext = fzf#vim#layout(bang) if a:arg[0] == ':' call fzf#vim#command_history(ext) elseif a:arg[0] == '/'