aboutsummaryrefslogtreecommitdiff
path: root/vim/bundle/vim-addon-mw-utils/autoload/tovl/scratch_buffer.vim
diff options
context:
space:
mode:
Diffstat (limited to 'vim/bundle/vim-addon-mw-utils/autoload/tovl/scratch_buffer.vim')
m---------vim/bundle/vim-addon-mw-utils0
-rw-r--r--vim/bundle/vim-addon-mw-utils/autoload/tovl/scratch_buffer.vim103
2 files changed, 0 insertions, 103 deletions
diff --git a/vim/bundle/vim-addon-mw-utils b/vim/bundle/vim-addon-mw-utils
new file mode 160000
+Subproject 0c5612fa31ee434ba055e21c76f456244b3b510
diff --git a/vim/bundle/vim-addon-mw-utils/autoload/tovl/scratch_buffer.vim b/vim/bundle/vim-addon-mw-utils/autoload/tovl/scratch_buffer.vim
deleted file mode 100644
index 217dca1..0000000
--- a/vim/bundle/vim-addon-mw-utils/autoload/tovl/scratch_buffer.vim
+++ /dev/null
@@ -1,103 +0,0 @@
-" old code
-
-augroup TOVLWrite
-augroup end
-
-" =========== scratch buffer =========================================
-" a scratch buffer is a temporary buffer where the user can enter some text
-" It can be used to get commit messages, edit configuration options and so on
-
-function! tovl#scratch_buffer#KeepIntactLineNr()
- let i = 0
- while getline(i)!= b:keepIntact && i < line('$')
- let i = i+1
- endwhile
- if i > line('$')
- return -1
- else
- return i
- endif
-endfunction
-
-" opens a buffer and runs an action when the buffer is written
-" keys:
-" name : the name of the buffer
-" onWrite : will be called on write
-" onWrite is responsible for setlocal nomodified to indicate that
-" saving has been successful
-" help : callback returning additional information lines
-" getContent : callback returning lines
-" cmds : extra commands to be run (optional)
-" (maybe you prefer adding them the default way afer the
-" ScratchBuffer call. They'll be rerun on GetContents
-" sp_cmd : the command to use to create the new buffer. Defaults to :e
-" buftype : ...
-" modifiable : 1 / 0 defaults to 1
-function! tovl#scratch_buffer#ScratchBuffer(opts)
- let a:opts['name'] = get(a:opts,'name', 'strach_buffer_without_name')
- exec get(a:opts, 'sp_cmd', 'e').' '.escape(a:opts['name'],' ')
- let b:settings = a:opts
- let b:settings['modifiable'] = get(a:opts,'modifiable', 1)
- setlocal buftype=acwrite
- command! -buffer -nargs=0 Help call tovl#scratch_buffer#Help()
-
- " setup write notification
- au TOVLWrite BufWriteCmd <buffer> call tovl#scratch_buffer#Write()
-
- if has_key(a:opts,'getContent')
- command! -buffer -nargs=0 GetContents call tovl#scratch_buffer#GetContents()
- GetContents
- if !b:settings['modifiable']
- setlocal nomodifiable
- endif
- endif
- "let u=&undolevels
- "setlocal undolevels=-1
- "exec 'setlocal undolevels='.u
-
- " mark buffer as not modified
- setlocal nomodified
-
- au BufReadCmd <buffer> GetContents
-
- " run addittional commands
- for cmd in get(a:opts,'cmds',[])
- exec cmd
- endfor
- silent echo get(a:opts,'echo_help', "type :Help for help")
-endfunction
-
-" =========== utility functions ======================================
-
-function! tovl#scratch_buffer#Write()
- if has_key(b:settings, 'onWrite')
- call funcref#Call(b:settings['onWrite'])
- else
- echo "don't know how to write. Option hasn't been passed"
- endif
-endfunction
-
-function! tovl#scratch_buffer#GetContents()
- setlocal modifiable
- " empty buffer
- %g!//d
- call append(0, funcref#Call(b:settings['getContent']))
- if !b:settings['modifiable']
- setlocal nomodifiable
- endif
- for cmd in get(b:settings,'cmds',[])
- exec cmd
- endfor
-endfunction
-
-function! tovl#scratch_buffer#Help()
- let help = ["use :e! to reload contents, ZZ or :w(q) to write and quit"
- \ ,""
- \ ,"Help for this scratch buffer:"
- \ ,"=======================================================","",""]
- \ + funcref#Call(get(b:settings, 'help', []))
- call tovl#scratch_buffer#ScratchBuffer({
- \ 'name' : "return Help of ".b:settings['name'],
- \ 'getContent' : help
- \ })
-endfunction