feat(lua): low-level interpreter mode (nvim -ll)

This commit is contained in:
bfredl
2022-02-26 15:19:10 +01:00
parent facbb11e05
commit d6d6ab3f8e
4 changed files with 77 additions and 23 deletions

View File

@@ -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'

View File

@@ -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