import { extend } from "https://deno.land/x/denops_std@v6.1.0/function/mod.ts";
{expr1} and {expr2} must be both Lists
or both
Dictionaries
.
If they are Lists
: Append {expr2} to {expr1}.
If {expr3} is given insert the items of {expr2} before the
item with index {expr3} in {expr1}. When {expr3} is zero
insert before the first item. When {expr3} is equal to
len({expr1}) then {expr2} is appended.
Examples:
:echo sort(extend(mylist, [7, 5]))
:call extend(mylist, [2, 3], 1)
When {expr1} is the same List as {expr2} then the number of
items copied is equal to the original length of the List.
E.g., when {expr3} is 1 you get N new copies of the first item
(where N is the original length of the List).
Use add()
to concatenate one item to a list. To concatenate
two lists into a new list use the + operator:
:let newlist = [1, 2, 3] + [4, 5]
If they are Dictionaries
:
Add all entries from {expr2} to {expr1}.
If a key exists in both {expr1} and {expr2} then {expr3} is
used to decide what to do:
{expr3} = "keep": keep the value of {expr1}
{expr3} = "force": use the value of {expr2}
{expr3} = "error": give an error message
When {expr3} is omitted then "force" is assumed.
{expr1} is changed when {expr2} is not empty. If necessary make a copy of {expr1} first. {expr2} remains unchanged. When {expr1} is locked and {expr2} is not empty the operation fails. Returns {expr1}. Returns 0 on error.
Can also be used as a method
:
mylist->extend(otherlist)