aboutsummaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2022-02-26 15:19:10 +0100
committerbfredl <bjorn.linse@gmail.com>2023-01-31 13:53:22 +0100
commitd6d6ab3f8e77d54c8030c0c18f17d3c72ac4445c (patch)
tree9b9983b37a81b55e810bd4998a357fca490fcf0f /runtime
parentfacbb11e050186a13aa5451591f3c53b012f5566 (diff)
downloadrneovim-d6d6ab3f8e77d54c8030c0c18f17d3c72ac4445c.tar.gz
rneovim-d6d6ab3f8e77d54c8030c0c18f17d3c72ac4445c.tar.bz2
rneovim-d6d6ab3f8e77d54c8030c0c18f17d3c72ac4445c.zip
feat(lua): low-level interpreter mode (nvim -ll)
Diffstat (limited to 'runtime')
-rw-r--r--runtime/doc/starting.txt8
-rw-r--r--runtime/lua/vim/_init_packages.lua9
2 files changed, 14 insertions, 3 deletions
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index 179bacdb24..5e0718c3bb 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -239,6 +239,14 @@ argument.
Disables |shada| unless |-i| was given.
Disables swapfile (like |-n|).
+ *-ll*
+-ll {script} [args]
+ Execute a lua script, similarly to |-l|, but the editor is not
+ initialized. This gives a lua enviroment similar to a worker
+ thread. See |lua-loop-threading|.
+
+ Unlike `-l` no prior arguments are allowed.
+
*-b*
-b Binary mode. File I/O will only recognize <NL> to separate
lines. The 'expandtab' option will be reset. The 'textwidth'
diff --git a/runtime/lua/vim/_init_packages.lua b/runtime/lua/vim/_init_packages.lua
index 0c4ee8636d..e3a442af5e 100644
--- a/runtime/lua/vim/_init_packages.lua
+++ b/runtime/lua/vim/_init_packages.lua
@@ -42,8 +42,11 @@ function vim._load_package(name)
return nil
end
--- Insert vim._load_package after the preloader at position 2
-table.insert(package.loaders, 2, vim._load_package)
+-- TODO(bfredl): dedicated state for this?
+if vim.api then
+ -- Insert vim._load_package after the preloader at position 2
+ table.insert(package.loaders, 2, vim._load_package)
+end
-- builtin functions which always should be available
require('vim.shared')
@@ -78,6 +81,6 @@ function vim.empty_dict()
end
-- only on main thread: functions for interacting with editor state
-if not vim.is_thread() then
+if vim.api and not vim.is_thread() then
require('vim._editor')
end