Merge 89255ffb6c
into 2b653aa950
This commit is contained in:
commit
816e5a7707
|
@ -1,9 +1,7 @@
|
|||
temp_dirs/undodir/*
|
||||
sources_non_forked/ack.vim/.netrwhist
|
||||
sources_non_forked_cache/
|
||||
temp_dirs/yankring_history_v2.txt
|
||||
sources_forked/yankring/doc/tags
|
||||
sources_non_forked/tlib/doc/tags
|
||||
sources_non_forked/ctrlp.vim/doc/tags*
|
||||
my_plugins/
|
||||
my_configs.vim
|
||||
tags
|
||||
|
|
|
@ -60,13 +60,8 @@ If you have vim aliased as `vi` instead of `vim`, make sure to either alias it:
|
|||
|
||||
## How to update to latest version?
|
||||
|
||||
Just do a git rebase!
|
||||
|
||||
cd ~/.vim_runtime
|
||||
git reset --hard
|
||||
git clean -d --force
|
||||
git pull --rebase
|
||||
python update_plugins.py # use python3 if python is unavailable
|
||||
git pull
|
||||
python3 update_plugins.py || python update_plugins.py # use python if python3 is unavailable
|
||||
|
||||
## Some screenshots
|
||||
|
||||
|
|
|
@ -1,219 +0,0 @@
|
|||
" tLib.vim
|
||||
" @Author: Thomas Link (mailto:micathom AT gmail com?subject=vim-tLib)
|
||||
" @Website: http://www.vim.org/account/profile.php?user_id=4037
|
||||
" @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
||||
" @Created: 2006-12-17.
|
||||
" @Last Change: 2008-11-23.
|
||||
" @Revision: 129
|
||||
|
||||
if !exists("loaded_tassert")
|
||||
echoerr 'tAssert (vimscript #1730) is required'
|
||||
endif
|
||||
|
||||
|
||||
TAssertBegin! "tlib"
|
||||
|
||||
|
||||
" List {{{2
|
||||
fun! Add(a,b)
|
||||
return a:a + a:b
|
||||
endf
|
||||
TAssert IsEqual(tlib#list#Inject([], 0, function('Add')), 0)
|
||||
TAssert IsEqual(tlib#list#Inject([1,2,3], 0, function('Add')), 6)
|
||||
delfunction Add
|
||||
|
||||
TAssert IsEqual(tlib#list#Compact([]), [])
|
||||
TAssert IsEqual(tlib#list#Compact([0,1,2,3,[], {}, ""]), [1,2,3])
|
||||
|
||||
TAssert IsEqual(tlib#list#Flatten([]), [])
|
||||
TAssert IsEqual(tlib#list#Flatten([1,2,3]), [1,2,3])
|
||||
TAssert IsEqual(tlib#list#Flatten([1,2, [1,2,3], 3]), [1,2,1,2,3,3])
|
||||
TAssert IsEqual(tlib#list#Flatten([0,[1,2,[3,""]]]), [0,1,2,3,""])
|
||||
|
||||
TAssert IsEqual(tlib#list#FindAll([1,2,3], 'v:val >= 2'), [2,3])
|
||||
TAssert IsEqual(tlib#list#FindAll([1,2,3], 'v:val >= 2', 'v:val * 10'), [20,30])
|
||||
|
||||
TAssert IsEqual(tlib#list#Find([1,2,3], 'v:val >= 2'), 2)
|
||||
TAssert IsEqual(tlib#list#Find([1,2,3], 'v:val >= 2', 0, 'v:val * 10'), 20)
|
||||
TAssert IsEqual(tlib#list#Find([1,2,3], 'v:val >= 5', 10), 10)
|
||||
|
||||
TAssert IsEqual(tlib#list#Any([1,2,3], 'v:val >= 2'), 1)
|
||||
TAssert IsEqual(tlib#list#Any([1,2,3], 'v:val >= 5'), 0)
|
||||
|
||||
TAssert IsEqual(tlib#list#All([1,2,3], 'v:val < 5'), 1)
|
||||
TAssert IsEqual(tlib#list#All([1,2,3], 'v:val >= 2'), 0)
|
||||
|
||||
TAssert IsEqual(tlib#list#Remove([1,2,1,2], 2), [1,1,2])
|
||||
TAssert IsEqual(tlib#list#RemoveAll([1,2,1,2], 2), [1,1])
|
||||
|
||||
TAssert IsEqual(tlib#list#Zip([[1,2,3], [4,5,6]]), [[1,4], [2,5], [3,6]])
|
||||
TAssert IsEqual(tlib#list#Zip([[1,2,3], [4,5,6,7]]), [[1,4], [2,5], [3,6], ['', 7]])
|
||||
TAssert IsEqual(tlib#list#Zip([[1,2,3], [4,5,6,7]], -1), [[1,4], [2,5], [3,6], [-1,7]])
|
||||
TAssert IsEqual(tlib#list#Zip([[1,2,3,7], [4,5,6]], -1), [[1,4], [2,5], [3,6], [7,-1]])
|
||||
|
||||
|
||||
" Vars {{{2
|
||||
let g:foo = 1
|
||||
let g:bar = 2
|
||||
let b:bar = 3
|
||||
let s:bar = 4
|
||||
|
||||
TAssert IsEqual(tlib#var#Get('bar', 'bg'), 3)
|
||||
TAssert IsEqual(tlib#var#Get('bar', 'g'), 2)
|
||||
TAssert IsEqual(tlib#var#Get('foo', 'bg'), 1)
|
||||
TAssert IsEqual(tlib#var#Get('foo', 'g'), 1)
|
||||
TAssert IsEqual(tlib#var#Get('none', 'l'), '')
|
||||
|
||||
TAssert IsEqual(eval(tlib#var#EGet('bar', 'bg')), 3)
|
||||
TAssert IsEqual(eval(tlib#var#EGet('bar', 'g')), 2)
|
||||
" TAssert IsEqual(eval(tlib#var#EGet('bar', 'sg')), 4)
|
||||
TAssert IsEqual(eval(tlib#var#EGet('foo', 'bg')), 1)
|
||||
TAssert IsEqual(eval(tlib#var#EGet('foo', 'g')), 1)
|
||||
TAssert IsEqual(eval(tlib#var#EGet('none', 'l')), '')
|
||||
|
||||
unlet g:foo
|
||||
unlet g:bar
|
||||
unlet b:bar
|
||||
|
||||
|
||||
|
||||
" Filenames {{{2
|
||||
TAssert IsEqual(tlib#file#Split('foo/bar/filename.txt'), ['foo', 'bar', 'filename.txt'])
|
||||
TAssert IsEqual(tlib#file#Split('/foo/bar/filename.txt'), ['', 'foo', 'bar', 'filename.txt'])
|
||||
TAssert IsEqual(tlib#file#Split('ftp://foo/bar/filename.txt'), ['ftp:/', 'foo', 'bar', 'filename.txt'])
|
||||
|
||||
TAssert IsEqual(tlib#file#Join(['foo', 'bar', 'filename.txt']), 'foo/bar/filename.txt')
|
||||
TAssert IsEqual(tlib#file#Join(['', 'foo', 'bar', 'filename.txt']), '/foo/bar/filename.txt')
|
||||
TAssert IsEqual(tlib#file#Join(['ftp:/', 'foo', 'bar', 'filename.txt']), 'ftp://foo/bar/filename.txt')
|
||||
|
||||
TAssert IsEqual(tlib#file#Relative('foo/bar/filename.txt', 'foo'), 'bar/filename.txt')
|
||||
TAssert IsEqual(tlib#file#Relative('foo/bar/filename.txt', 'foo/base'), '../bar/filename.txt')
|
||||
TAssert IsEqual(tlib#file#Relative('filename.txt', 'foo/base'), '../../filename.txt')
|
||||
TAssert IsEqual(tlib#file#Relative('/foo/bar/filename.txt', '/boo/base'), '../../foo/bar/filename.txt')
|
||||
TAssert IsEqual(tlib#file#Relative('/bar/filename.txt', '/boo/base'), '../../bar/filename.txt')
|
||||
TAssert IsEqual(tlib#file#Relative('/foo/bar/filename.txt', '/base'), '../foo/bar/filename.txt')
|
||||
TAssert IsEqual(tlib#file#Relative('c:/bar/filename.txt', 'x:/boo/base'), 'c:/bar/filename.txt')
|
||||
|
||||
|
||||
|
||||
" Prototype-based programming {{{2
|
||||
let test = tlib#Test#New()
|
||||
TAssert test.IsA('Test')
|
||||
TAssert !test.IsA('foo')
|
||||
TAssert test.RespondTo('RespondTo')
|
||||
TAssert !test.RespondTo('RespondToNothing')
|
||||
let test1 = tlib#Test#New()
|
||||
TAssert test.IsRelated(test1)
|
||||
let testworld = tlib#World#New()
|
||||
TAssert !test.IsRelated(testworld)
|
||||
|
||||
let testc = tlib#TestChild#New()
|
||||
TAssert IsEqual(testc.Dummy(), 'TestChild.vim')
|
||||
TAssert IsEqual(testc.Super('Dummy', []), 'Test.vim')
|
||||
|
||||
|
||||
|
||||
" Optional arguments {{{2
|
||||
function! TestGetArg(...) "{{{3
|
||||
exec tlib#arg#Get(1, 'foo', 1)
|
||||
return foo
|
||||
endf
|
||||
|
||||
function! TestGetArg1(...) "{{{3
|
||||
exec tlib#arg#Get(1, 'foo', 1, '!= ""')
|
||||
return foo
|
||||
endf
|
||||
|
||||
TAssert IsEqual(TestGetArg(), 1)
|
||||
TAssert IsEqual(TestGetArg(''), '')
|
||||
TAssert IsEqual(TestGetArg(2), 2)
|
||||
TAssert IsEqual(TestGetArg1(), 1)
|
||||
TAssert IsEqual(TestGetArg1(''), 1)
|
||||
TAssert IsEqual(TestGetArg1(2), 2)
|
||||
|
||||
function! TestArgs(...) "{{{3
|
||||
exec tlib#arg#Let([['foo', "o"], ['bar', 2]])
|
||||
return repeat(foo, bar)
|
||||
endf
|
||||
TAssert IsEqual(TestArgs(), 'oo')
|
||||
TAssert IsEqual(TestArgs('a'), 'aa')
|
||||
TAssert IsEqual(TestArgs('a', 3), 'aaa')
|
||||
|
||||
function! TestArgs1(...) "{{{3
|
||||
exec tlib#arg#Let(['foo', ['bar', 2]])
|
||||
return repeat(foo, bar)
|
||||
endf
|
||||
TAssert IsEqual(TestArgs1(), '')
|
||||
TAssert IsEqual(TestArgs1('a'), 'aa')
|
||||
TAssert IsEqual(TestArgs1('a', 3), 'aaa')
|
||||
|
||||
function! TestArgs2(...) "{{{3
|
||||
exec tlib#arg#Let(['foo', 'bar'], 1)
|
||||
return repeat(foo, bar)
|
||||
endf
|
||||
TAssert IsEqual(TestArgs2(), '1')
|
||||
TAssert IsEqual(TestArgs2('a'), 'a')
|
||||
TAssert IsEqual(TestArgs2('a', 3), 'aaa')
|
||||
|
||||
function! TestArgs3(...)
|
||||
TVarArg ['a', 1], 'b'
|
||||
return a . b
|
||||
endf
|
||||
TAssert IsEqual(TestArgs3(), '1')
|
||||
TAssert IsEqual(TestArgs3('a'), 'a')
|
||||
TAssert IsEqual(TestArgs3('a', 3), 'a3')
|
||||
|
||||
delfunction TestGetArg
|
||||
delfunction TestGetArg1
|
||||
delfunction TestArgs
|
||||
delfunction TestArgs1
|
||||
delfunction TestArgs2
|
||||
delfunction TestArgs3
|
||||
|
||||
|
||||
|
||||
" Strings {{{2
|
||||
TAssert IsString(tlib#string#RemoveBackslashes('foo bar'))
|
||||
TAssert IsEqual(tlib#string#RemoveBackslashes('foo bar'), 'foo bar')
|
||||
TAssert IsEqual(tlib#string#RemoveBackslashes('foo\ bar'), 'foo bar')
|
||||
TAssert IsEqual(tlib#string#RemoveBackslashes('foo\ \\bar'), 'foo \\bar')
|
||||
TAssert IsEqual(tlib#string#RemoveBackslashes('foo\ \\bar', '\ '), 'foo \bar')
|
||||
|
||||
|
||||
|
||||
" Regexp {{{2
|
||||
for c in split('^$.*+\()|{}[]~', '\zs')
|
||||
let s = printf('%sfoo%sbar%s', c, c, c)
|
||||
TAssert (s =~ '\m^'. tlib#rx#Escape(s, 'm') .'$')
|
||||
TAssert (s =~ '\M^'. tlib#rx#Escape(s, 'M') .'$')
|
||||
TAssert (s =~ '\v^'. tlib#rx#Escape(s, 'v') .'$')
|
||||
TAssert (s =~ '\V\^'. tlib#rx#Escape(s, 'V') .'\$')
|
||||
endfor
|
||||
|
||||
|
||||
" Encode, decode
|
||||
TAssert IsEqual(tlib#url#Decode('http://example.com/foo+bar%25bar'), 'http://example.com/foo bar%bar')
|
||||
TAssert IsEqual(tlib#url#Decode('Hello%20World.%20%20Good%2c%20bye.'), 'Hello World. Good, bye.')
|
||||
|
||||
TAssert IsEqual(tlib#url#Encode('foo bar%bar'), 'foo+bar%%bar')
|
||||
TAssert IsEqual(tlib#url#Encode('Hello World. Good, bye.'), 'Hello+World.+Good%2c+bye.')
|
||||
|
||||
TAssertEnd test test1 testc testworld
|
||||
|
||||
|
||||
TAssert IsEqual(tlib#string#Count("fooo", "o"), 3)
|
||||
TAssert IsEqual(tlib#string#Count("***", "\\*"), 3)
|
||||
TAssert IsEqual(tlib#string#Count("***foo", "\\*"), 3)
|
||||
TAssert IsEqual(tlib#string#Count("foo***", "\\*"), 3)
|
||||
|
||||
|
||||
finish "{{{1
|
||||
|
||||
|
||||
" Input {{{2
|
||||
echo tlib#input#List('s', 'Test', ['barfoobar', 'barFoobar'])
|
||||
echo tlib#input#List('s', 'Test', ['barfoobar', 'bar foo bar', 'barFoobar'])
|
||||
echo tlib#input#List('s', 'Test', ['barfoobar', 'bar1Foo1bar', 'barFoobar'])
|
||||
echo tlib#input#EditList('Test', ['bar1', 'bar2', 'bar3', 'foo1', 'foo2', 'foo3'])
|
||||
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
'solarized_bold' solarized.txt /*'solarized_bold'*
|
||||
'solarized_contrast' solarized.txt /*'solarized_contrast'*
|
||||
'solarized_degrade' solarized.txt /*'solarized_degrade'*
|
||||
'solarized_hitrail' solarized.txt /*'solarized_hitrail'*
|
||||
'solarized_italic' solarized.txt /*'solarized_italic'*
|
||||
'solarized_menu' solarized.txt /*'solarized_menu'*
|
||||
'solarized_termcolors' solarized.txt /*'solarized_termcolors'*
|
||||
'solarized_termtrans' solarized.txt /*'solarized_termtrans'*
|
||||
'solarized_underline' solarized.txt /*'solarized_underline'*
|
||||
'solarized_visibility' solarized.txt /*'solarized_visibility'*
|
||||
before solarized.txt /*before*
|
||||
solarized solarized.txt /*solarized*
|
||||
solarized-colors solarized.txt /*solarized-colors*
|
||||
solarized-colorscheme solarized.txt /*solarized-colorscheme*
|
||||
solarized-help solarized.txt /*solarized-help*
|
||||
solarized-install solarized.txt /*solarized-install*
|
||||
solarized-menu solarized.txt /*solarized-menu*
|
||||
solarized-options solarized.txt /*solarized-options*
|
||||
solarized-term solarized.txt /*solarized-term*
|
||||
solarized-togglebg solarized.txt /*solarized-togglebg*
|
||||
solarized.vim solarized.txt /*solarized.vim*
|
||||
toggle-background solarized.txt /*toggle-background*
|
||||
toggle-bg solarized.txt /*toggle-bg*
|
||||
togglebg solarized.txt /*togglebg*
|
||||
urxvt solarized.txt /*urxvt*
|
||||
vim-colors-solarized solarized.txt /*vim-colors-solarized*
|
||||
without solarized.txt /*without*
|
|
@ -2,17 +2,22 @@ try:
|
|||
import concurrent.futures as futures
|
||||
except ImportError:
|
||||
try:
|
||||
import futures
|
||||
import futures # type: ignore
|
||||
except ImportError:
|
||||
futures = None
|
||||
futures = None # type: ignore
|
||||
|
||||
try:
|
||||
from urllib.request import urlopen
|
||||
except ImportError:
|
||||
from urllib2 import urlopen # type: ignore
|
||||
|
||||
import re
|
||||
import shutil
|
||||
import tempfile
|
||||
import urllib.request
|
||||
import zipfile
|
||||
from contextlib import closing
|
||||
from io import BytesIO
|
||||
from os import path
|
||||
from os import listdir, path
|
||||
|
||||
# --- Globals ----------------------------------------------
|
||||
PLUGINS = """
|
||||
|
@ -67,12 +72,13 @@ dracula https://github.com/dracula/vim
|
|||
|
||||
GITHUB_ZIP = "%s/archive/master.zip"
|
||||
|
||||
SOURCE_DIR = path.join(path.dirname(__file__), "sources_non_forked")
|
||||
FALLBACK_SOURCE_DIR = path.join(path.dirname(__file__), "sources_non_forked")
|
||||
SOURCE_DIR = path.join(path.dirname(__file__), "sources_non_forked_cache")
|
||||
|
||||
|
||||
def download_extract_replace(plugin_name, zip_path, temp_dir, source_dir):
|
||||
# Download and extract file in temp dir
|
||||
with urllib.request.urlopen(zip_path) as req:
|
||||
with closing(urlopen(zip_path)) as req:
|
||||
zip_f = zipfile.ZipFile(BytesIO(req.read()))
|
||||
zip_f.extractall(temp_dir)
|
||||
content_disp = req.headers.get("Content-Disposition")
|
||||
|
@ -105,6 +111,9 @@ if __name__ == "__main__":
|
|||
temp_directory = tempfile.mkdtemp()
|
||||
|
||||
try:
|
||||
if not path.isdir(SOURCE_DIR) or not listdir(SOURCE_DIR):
|
||||
shutil.copytree(FALLBACK_SOURCE_DIR, SOURCE_DIR)
|
||||
|
||||
if futures:
|
||||
with futures.ThreadPoolExecutor(16) as executor:
|
||||
executor.map(update, PLUGINS.splitlines())
|
||||
|
|
|
@ -10,7 +10,10 @@
|
|||
""""""""""""""""""""""""""""""
|
||||
let s:vim_runtime = expand('<sfile>:p:h')."/.."
|
||||
call pathogen#infect(s:vim_runtime.'/sources_forked/{}')
|
||||
call pathogen#infect(s:vim_runtime.'/sources_non_forked/{}')
|
||||
if !isdirectory(s:vim_runtime.'/sources_non_forked_cache')
|
||||
call system("cp -r " . s:vim_runtime.'/sources_non_forked' . " " . s:vim_runtime.'/sources_non_forked_cache')
|
||||
endif
|
||||
call pathogen#infect(s:vim_runtime.'/sources_non_forked_cache/{}')
|
||||
call pathogen#infect(s:vim_runtime.'/my_plugins/{}')
|
||||
call pathogen#helptags()
|
||||
|
||||
|
|
Loading…
Reference in New Issue