aboutsummaryrefslogtreecommitdiff
path: root/vim/bundle/tlib_vim/autoload/tlib/eval.vim
diff options
context:
space:
mode:
Diffstat (limited to 'vim/bundle/tlib_vim/autoload/tlib/eval.vim')
m---------vim/bundle/tlib_vim0
-rwxr-xr-xvim/bundle/tlib_vim/autoload/tlib/eval.vim72
2 files changed, 0 insertions, 72 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/eval.vim b/vim/bundle/tlib_vim/autoload/tlib/eval.vim
deleted file mode 100755
index 117209e..0000000
--- a/vim/bundle/tlib_vim/autoload/tlib/eval.vim
+++ /dev/null
@@ -1,72 +0,0 @@
-" @Author: Tom Link (mailto: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: 56
-
-
-function! tlib#eval#FormatValue(value, ...) "{{{3
- TVarArg ['indent', 0]
- " TLogVAR a:value, indent
- let indent1 = indent + 1
- let indenti = repeat(' ', &sw)
- let type = type(a:value)
- let acc = []
- if type == 0 || type == 1 || type == 2
- " TLogDBG 'Use string() for type='. type
- call add(acc, string(a:value))
- elseif type == 3 "List
- " TLogDBG 'List'
- call add(acc, '[')
- for e in a:value
- call add(acc, printf('%s%s,', indenti, tlib#eval#FormatValue(e, indent1)))
- unlet e
- endfor
- call add(acc, ']')
- elseif type == 4 "Dictionary
- " TLogDBG 'Dictionary'
- call add(acc, '{')
- let indent1 = indent + 1
- for [k, v] in items(a:value)
- call add(acc, printf("%s%s: %s,", indenti, string(k), tlib#eval#FormatValue(v, indent1)))
- unlet k v
- endfor
- call add(acc, '}')
- else
- " TLogDBG 'Unknown type: '. string(a:value)
- call add(acc, string(a:value))
- endif
- if indent > 0
- let is = repeat(' ', indent * &sw)
- for i in range(1,len(acc) - 1)
- let acc[i] = is . acc[i]
- endfor
- endif
- return join(acc, "\n")
-endf
-
-
-function! tlib#eval#Extend(a, b, ...) abort "{{{3
- let mode = a:0 >= 1 ? a:1 : 'force'
- if type(a:a) != type(a:b)
- throw 'tlib#eval#Extend: Incompatible types: a='. string(a:a) .' b='. string(a:b)
- elseif type(a:a) == 3 " list
- return extend(a:a, a:b, mode)
- elseif type(a:a) == 4 " dict
- for k in keys(a:b)
- if has_key(a:a, k)
- if mode == 'force'
- let a:a[k] = tlib#eval#Extend(copy(a:a[k]), a:b[k], mode)
- elseif mode == 'error'
- throw 'tlib#eval#Extend: Key already exists: '. k
- endif
- else
- let a:a[k] = a:b[k]
- endif
- unlet! k
- endfor
- return a:a
- else
- return a:b
- endif
-endf
-