aboutsummaryrefslogtreecommitdiffstats
path: root/autoload/xolox/misc/buffer.vim
diff options
context:
space:
mode:
Diffstat (limited to 'autoload/xolox/misc/buffer.vim')
-rw-r--r--autoload/xolox/misc/buffer.vim80
1 files changed, 0 insertions, 80 deletions
diff --git a/autoload/xolox/misc/buffer.vim b/autoload/xolox/misc/buffer.vim
deleted file mode 100644
index 01dca6e..0000000
--- a/autoload/xolox/misc/buffer.vim
+++ /dev/null
@@ -1,80 +0,0 @@
-" Handling of special buffers
-"
-" Author: Peter Odding <peter@peterodding.com>
-" Last Change: May 19, 2013
-" URL: http://peterodding.com/code/vim/misc/
-"
-" The functions defined here make it easier to deal with special Vim buffers
-" that contain text generated by a Vim plug-in. For example my [vim-notes
-" plug-in] [vim-notes] generates several such buffers:
-"
-" - [:RecentNotes] [RecentNotes] lists recently modified notes
-" - [:ShowTaggedNotes] [ShowTaggedNotes] lists notes grouped by tags
-" - etc.
-"
-" Because the text in these buffers is generated, Vim shouldn't bother with
-" swap files and it should never prompt the user whether to save changes to
-" the generated text.
-"
-" [vim-notes]: http://peterodding.com/code/vim/notes/
-" [RecentNotes]: http://peterodding.com/code/vim/notes/#recentnotes_command
-" [ShowTaggedNotes]: http://peterodding.com/code/vim/notes/#showtaggednotes_command
-
-function! xolox#misc#buffer#is_empty() " {{{1
- " Checks if the current buffer is an empty, unchanged buffer which can be
- " reused. Returns 1 if an empty buffer is found, 0 otherwise.
- return !&modified && expand('%') == '' && line('$') <= 1 && getline(1) == ''
-endfunction
-
-function! xolox#misc#buffer#prepare(...) " {{{1
- " Open a special buffer, i.e. a buffer that will hold generated contents,
- " not directly edited by the user. The buffer can be customized by passing a
- " dictionary with the following key/value pairs as the first argument:
- "
- " - **name** (required): The base name of the buffer (i.e. the base name of
- " the file loaded in the buffer, even though it isn't really a file and
- " nothing is really 'loaded' :-)
- " - **path** (required): The pathname of the buffer. May be relevant if
- " [:lcd] [lcd] or ['autochdir'] [acd] is being used.
- "
- " [lcd]: http://vimdoc.sourceforge.net/htmldoc/editing.html#:lcd
- " [acd]: http://vimdoc.sourceforge.net/htmldoc/options.html#'autochdir'
- if a:0 == 1 && type(a:1) == type('')
- " Backwards compatibility with old interface.
- let options = {'name': a:1, 'path': a:1}
- elseif type(a:1) == type({})
- let options = a:1
- else
- throw "Invalid arguments"
- endif
- let winnr = 1
- let found = 0
- for bufnr in tabpagebuflist()
- if xolox#misc#path#equals(options['path'], bufname(bufnr))
- execute winnr . 'wincmd w'
- let found = 1
- break
- else
- let winnr += 1
- endif
- endfor
- if !(found || xolox#misc#buffer#is_empty())
- vsplit
- endif
- silent execute 'edit' fnameescape(options['path'])
- lcd " clear working directory
- setlocal buftype=nofile bufhidden=hide noswapfile
- let &l:statusline = '[' . options['name'] . ']'
- call xolox#misc#buffer#unlock()
- silent %delete
-endfunction
-
-function! xolox#misc#buffer#lock() " {{{1
- " Lock a special buffer so that its contents can no longer be edited.
- setlocal readonly nomodifiable nomodified
-endfunction
-
-function! xolox#misc#buffer#unlock() " {{{1
- " Unlock a special buffer so that its content can be updated.
- setlocal noreadonly modifiable
-endfunction