summaryrefslogtreecommitdiff
path: root/.config/vim/plugin/lodgeit.vim
diff options
context:
space:
mode:
Diffstat (limited to '.config/vim/plugin/lodgeit.vim')
-rw-r--r--.config/vim/plugin/lodgeit.vim134
1 files changed, 0 insertions, 134 deletions
diff --git a/.config/vim/plugin/lodgeit.vim b/.config/vim/plugin/lodgeit.vim
deleted file mode 100644
index 4053b0b..0000000
--- a/.config/vim/plugin/lodgeit.vim
+++ /dev/null
@@ -1,134 +0,0 @@
-" lodgeit.vim: Vim plugin for paste.pocoo.org
-" Maintainer: Armin Ronacher <armin.ronacher@active-4.com>
-" Version: 0.1.5
-
-" Usage:
-" :Lodgeit create a paste from the current buffer of selection
-" :e <url> download a paste. If you then use :Lodgeit you can
-" reply to that paste.
-"
-" If you want to paste on ctrl + p just add this to your vimrc:
-" map ^P :Lodgeit<CR>
-" (where ^P is entered using ctrl + v, ctrl + p in vim)
-
-function! s:LodgeitInit()
-python << EOF
-
-import vim
-import re
-from xmlrpclib import ServerProxy
-srv = ServerProxy('http://paste.pocoo.org/xmlrpc/', allow_none=True)
-
-new_paste = srv.pastes.newPaste
-get_paste = srv.pastes.getPaste
-
-language_mapping = {
- 'python': 'python',
- 'php': 'html+php',
- 'smarty': 'smarty',
- 'tex': 'tex',
- 'rst': 'rst',
- 'cs': 'csharp',
- 'haskell': 'haskell',
- 'xml': 'xml',
- 'html': 'html',
- 'xhtml': 'html',
- 'htmldjango': 'html+django',
- 'django': 'html+django',
- 'htmljinja': 'html+django',
- 'jinja': 'html+django',
- 'lua': 'lua',
- 'scheme': 'scheme',
- 'mako': 'html+mako',
- 'c': 'c',
- 'cpp': 'cpp',
- 'javascript': 'js',
- 'jsp': 'jsp',
- 'ruby': 'ruby',
- 'bash': 'bash',
- 'bat': 'bat',
- 'd': 'd',
- 'genshi': 'html+genshi'
-}
-
-language_reverse_mapping = {}
-for key, value in language_mapping.iteritems():
- language_reverse_mapping[value] = key
-
-def paste_id_from_url(url):
- regex = re.compile(r'^http://paste.pocoo.org/show/(\d+)/?$')
- m = regex.match(url)
- if m is not None:
- return int(m.group(1))
-
-def make_utf8(code):
- enc = vim.eval('&fenc') or vim.eval('&enc')
- return code.decode(enc, 'ignore').encode('utf-8')
-
-EOF
-endfunction
-
-
-function! s:Lodgeit(line1,line2,count,...)
-call s:LodgeitInit()
-python << endpython
-
-# download paste
-if vim.eval('a:0') == '1':
- paste = paste_id = None
- arg = vim.eval('a:1')
-
- if arg.startswith('#'):
- try:
- paste_id = int(arg[1:])
- except:
- pass
- if paste_id is None:
- paste_id = paste_id_from_url(vim.eval('a:1'))
- if paste_id is not None:
- paste = get_paste(paste_id)
-
- if paste:
- vim.command('tabnew')
- vim.command('file Lodgeit\ Paste\ \#%d"' % paste_id)
- vim.current.buffer[:] = paste['code'].splitlines()
- vim.command('setlocal ft=' + language_reverse_mapping.
- get(paste['language'], 'text'))
- vim.command('setlocal nomodified')
- vim.command('let b:lodgeit_paste_id=%d' % paste_id)
- else:
- print 'Paste not Found'
-
-# new paste or reply
-else:
- rng_start = int(vim.eval('a:line1')) - 1
- rng_end = int(vim.eval('a:line2'))
- if int(vim.eval('a:count')):
- code = '\n'.join(vim.current.buffer[rng_start:rng_end])
- else:
- code = '\n'.join(vim.current.buffer)
- code = make_utf8(code)
-
- parent = None
- update_buffer_info = False
- if vim.eval('exists("b:lodgeit_paste_id")') == '1':
- parent = int(vim.eval('b:lodgeit_paste_id'))
- update_buffer_info = True
-
- lng_code = language_mapping.get(vim.eval('&ft'), 'text')
- paste_id = new_paste(lng_code, code, parent)
- url = 'http://paste.pocoo.org/show/%d' % paste_id
-
- print 'Pasted #%d to %s' % (paste_id, url)
- vim.command(':call setreg(\'+\', %r)' % url)
-
- if update_buffer_info:
- vim.command('file Lodgeit\ Paste\ \#%d"' % paste_id)
- vim.command('setlocal nomodified')
- vim.command('let b:lodgeit_paste_id=%d' % paste_id)
-
-endpython
-endfunction
-
-
-command! -range=0 -nargs=* Lodgeit :call s:Lodgeit(<line1>,<line2>,<count>,<f-args>)