diff options
author | Michael Lingelbach <m.j.lbach@gmail.com> | 2021-09-26 12:23:46 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-26 12:23:46 -0700 |
commit | 68c65b7732efdb637c4a0d1e2f2799932f654c59 (patch) | |
tree | b790c771d539e429a968861b672aa906f80dd483 /src/nvim | |
parent | 3246bf5f4e24025b4a14ed99eeb4a8f954626519 (diff) | |
parent | 9c31f3b026ca2612bdda7e41fa0da3b2e29bba18 (diff) | |
download | rneovim-68c65b7732efdb637c4a0d1e2f2799932f654c59.tar.gz rneovim-68c65b7732efdb637c4a0d1e2f2799932f654c59.tar.bz2 rneovim-68c65b7732efdb637c4a0d1e2f2799932f654c59.zip |
Merge pull request #14871 from mjlbach/feature/lua-cjson-embedded
feat(lua): expose lua-cjson as vim.json
Diffstat (limited to 'src/nvim')
-rw-r--r-- | src/nvim/CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/nvim/lua/executor.c | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt index 331ab16dd7..e35e7ce2d4 100644 --- a/src/nvim/CMakeLists.txt +++ b/src/nvim/CMakeLists.txt @@ -87,8 +87,8 @@ file(MAKE_DIRECTORY ${LINT_SUPPRESSES_ROOT}/src) file(GLOB NVIM_SOURCES *.c) file(GLOB NVIM_HEADERS *.h) -file(GLOB EXTERNAL_SOURCES ../xdiff/*.c ../mpack/*.c) -file(GLOB EXTERNAL_HEADERS ../xdiff/*.h ../mpack/*.h) +file(GLOB EXTERNAL_SOURCES ../xdiff/*.c ../mpack/*.c ../cjson/*.c) +file(GLOB EXTERNAL_HEADERS ../xdiff/*.h ../mpack/*.h ../cjson/*.h) foreach(subdir os @@ -171,7 +171,7 @@ foreach(sfile ${CONV_SOURCES}) message(FATAL_ERROR "${sfile} doesn't exist (it was added to CONV_SOURCES)") endif() endforeach() -# xdiff, mpack: inlined external project, we don't maintain it. #9306 +# xdiff, mpack, lua-cjson: inlined external project, we don't maintain it. #9306 list(APPEND CONV_SOURCES ${EXTERNAL_SOURCES}) if(NOT MSVC) diff --git a/src/nvim/lua/executor.c b/src/nvim/lua/executor.c index 8c7dc90111..9333d781cd 100644 --- a/src/nvim/lua/executor.c +++ b/src/nvim/lua/executor.c @@ -40,6 +40,7 @@ #include "nvim/undo.h" #include "nvim/version.h" #include "nvim/vim.h" +#include "cjson/lua_cjson.h" static int in_fast_callback = 0; @@ -531,6 +532,9 @@ static int nlua_state_init(lua_State *const lstate) FUNC_ATTR_NONNULL_ALL lua_pushcfunction(lstate, &nlua_xdl_diff); lua_setfield(lstate, -2, "diff"); + lua_cjson_new(lstate); + lua_setfield(lstate, -2, "json"); + lua_setglobal(lstate, "vim"); { |