aboutsummaryrefslogtreecommitdiff
path: root/vim/bundle/tlib_vim/autoload/tlib/scratch.vim
diff options
context:
space:
mode:
Diffstat (limited to 'vim/bundle/tlib_vim/autoload/tlib/scratch.vim')
m---------vim/bundle/tlib_vim0
-rwxr-xr-xvim/bundle/tlib_vim/autoload/tlib/scratch.vim136
2 files changed, 0 insertions, 136 deletions
diff --git a/vim/bundle/tlib_vim b/vim/bundle/tlib_vim
new file mode 160000
+Subproject 5636472e5dba1a4104376ce6bd93cc2546e0248
diff --git a/vim/bundle/tlib_vim/autoload/tlib/scratch.vim b/vim/bundle/tlib_vim/autoload/tlib/scratch.vim
deleted file mode 100755
index c9df64d..0000000
--- a/vim/bundle/tlib_vim/autoload/tlib/scratch.vim
+++ /dev/null
@@ -1,136 +0,0 @@
-" @Author: Tom Link (micathom AT gmail com?subject=[vim])
-" @Website: http://www.vim.org/account/profile.php?user_id=4037
-" @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
-" @Revision: 255
-
-
-" Scratch window position. By default the list window is opened on the
-" bottom. Set this variable to 'topleft' or '' to change this behaviour.
-" See |tlib#input#List()|.
-TLet g:tlib_scratch_pos = 'botright'
-
-" If you want the scratch buffer to be fully removed, you might want to
-" set this variable to 'wipe'.
-" See also https://github.com/tomtom/tlib_vim/pull/16
-TLet g:tlib#scratch#hidden = 'hide'
-
-
-" :def: function! tlib#scratch#UseScratch(?keyargs={})
-" Display a scratch buffer (a buffer with no file). See :TScratch for an
-" example.
-" Return the scratch buffer's number.
-" Values for keyargs:
-" scratch_split ... 1: split, 0: window, -1: tab
-function! tlib#scratch#UseScratch(...) "{{{3
- exec tlib#arg#Let([['keyargs', {}]])
- " TLogDBG string(keys(keyargs))
- let id = get(keyargs, 'scratch', '__Scratch__')
- " TLogVAR id, bufwinnr(id)
- " TLogVAR bufnr(id), bufname(id)
- " TLogVAR 1, winnr(), bufnr('%'), bufname("%")
- if bufwinnr(id) != -1
- " echom 'DBG noautocmd keepalt keepj' bufwinnr(id) 'wincmd w'
- exec 'noautocmd keepalt keepj' bufwinnr(id) 'wincmd w'
- " TLogVAR "reuse", bufnr("%"), bufname("%")
- else
- let winpos = ''
- let bn = bufnr(id)
- let wpos = get(keyargs, 'scratch_pos', g:tlib_scratch_pos)
- " TLogVAR keyargs.scratch_vertical
- if get(keyargs, 'scratch_vertical')
- let wpos .= ' vertical'
- let winpos = tlib#fixes#Winpos()
- endif
- " TLogVAR wpos
- let scratch_split = get(keyargs, 'scratch_split', 1)
- if bn != -1
- " TLogVAR bn
- let wn = bufwinnr(bn)
- if wn != -1
- " TLogVAR wn
- exec 'noautocmd keepalt keepj' (wn .'wincmd w')
- else
- if scratch_split == 1
- let cmd = wpos.' sbuffer!'
- elseif scratch_split == -1
- let cmd = wpos.' tab sbuffer!'
- else
- let cmd = 'buffer!'
- endif
- " TLogVAR cmd, bn
- silent exec 'noautocmd keepalt keepj' cmd bn
- endif
- else
- " TLogVAR id
- if scratch_split == 1
- let cmd = wpos.' split'
- elseif scratch_split == -1
- let cmd = wpos.' tab split'
- else
- let cmd = 'edit'
- endif
- " TLogVAR cmd, id
- silent exec 'noautocmd keepalt keepj' cmd escape(id, '%#\ ')
- " silent exec 'split '. id
- endif
- let ft = get(keyargs, 'scratch_filetype', '')
- " TLogVAR ft, winpos
- if !empty(winpos)
- exec winpos
- endif
- setlocal buftype=nofile
- let &l:bufhidden = get(keyargs, 'scratch_hidden', g:tlib#scratch#hidden)
- setlocal noswapfile
- setlocal nobuflisted
- setlocal foldmethod=manual
- setlocal foldcolumn=0
- setlocal nospell
- setlocal modifiable
- setlocal noreadonly
- " TLogVAR &ft, ft
- if !empty(ft)
- let &l:ft = ft
- endif
- endif
- let keyargs.scratch = bufnr('%')
- let keyargs.scratch_tabpagenr = tabpagenr()
- let keyargs.scratch_winnr = winnr()
- " TLogVAR 2, winnr(), bufnr('%'), bufname("%"), keyargs.scratch
- return keyargs.scratch
-endf
-
-
-" Close a scratch buffer as defined in keyargs (usually a World).
-" Return 1 if the scratch buffer is closed (or if it already was
-" closed).
-function! tlib#scratch#CloseScratch(keyargs, ...) "{{{3
- TVarArg ['reset_scratch', 1]
- let scratch = get(a:keyargs, 'scratch', '')
- " TLogVAR scratch, reset_scratch
- " TLogDBG string(tlib#win#List())
- if !empty(scratch) && winnr('$') > 1
- let wn = bufwinnr(scratch)
- " TLogVAR wn
- try
- if wn != -1
- " TLogDBG winnr()
- let wb = tlib#win#Set(wn)
- let winpos = tlib#fixes#Winpos()
- wincmd c
- if get(a:keyargs, 'scratch_vertical') && !empty(winpos)
- exec winpos
- endif
- " exec wb
- " redraw
- " TLogVAR winnr()
- endif
- return 1
- finally
- if reset_scratch
- let a:keyargs.scratch = ''
- endif
- endtry
- endif
- return 0
-endf
-