aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/lua/vim.lua
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2019-08-18 22:55:54 +0200
committerJustin M. Keyes <justinkz@gmail.com>2019-08-27 21:19:10 +0200
commit6d277f43a287d62c10fb1ed8d93247ddf4a437d9 (patch)
tree0e874c787ec25b86814d9902e04a31a516a09490 /src/nvim/lua/vim.lua
parent7df566060c6ca4acbd7b42c1b40adf6058e49982 (diff)
downloadrneovim-6d277f43a287d62c10fb1ed8d93247ddf4a437d9.tar.gz
rneovim-6d277f43a287d62c10fb1ed8d93247ddf4a437d9.tar.bz2
rneovim-6d277f43a287d62c10fb1ed8d93247ddf4a437d9.zip
TUI/paste: define paste function as Lua builtin
- Define in Lua so that it is compiled-in (available with `-u NONE`). TODO: Eventually we will want a 'pastefunc' option or some other way to override the default paste handler.
Diffstat (limited to 'src/nvim/lua/vim.lua')
-rw-r--r--src/nvim/lua/vim.lua18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/nvim/lua/vim.lua b/src/nvim/lua/vim.lua
index 9854496415..922878d6ce 100644
--- a/src/nvim/lua/vim.lua
+++ b/src/nvim/lua/vim.lua
@@ -93,6 +93,23 @@ local function _os_proc_children(ppid)
return children
end
+-- Default paste function.
+local function _paste(data)
+ -- local eof = (data == {''})
+ local curline = vim.api.nvim_call_function('line', {'.'})
+ vim.api.nvim_buf_set_lines(
+ 0,
+ curline,
+ curline,
+ false,
+ data)
+ vim.api.nvim_call_function('cursor', {curline + #data, 1})
+ -- if eof then
+ -- vim.api.nvim_command('redraw')
+ -- end
+ return 0
+end
+
-- TODO(ZyX-I): Create compatibility layer.
--{{{1 package.path updater function
-- Last inserted paths. Used to clear out items from package.[c]path when they
@@ -186,6 +203,7 @@ local module = {
_update_package_paths = _update_package_paths,
_os_proc_children = _os_proc_children,
_os_proc_info = _os_proc_info,
+ _paste = _paste,
_system = _system,
schedule_wrap = schedule_wrap,
}