1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-24 03:00:06 +08:00
SpaceVim/lua/spacevim/plugin/tomlprew.lua
2023-08-05 22:31:52 +08:00

39 lines
1.0 KiB
Lua

--=============================================================================
-- tomlprew.lua --- toml to json
-- Copyright (c) 2016-2022 Wang Shidong & Contributors
-- Author: Wang Shidong < wsdjeg@outlook.com >
-- URL: https://spacevim.org
-- License: GPLv3
--=============================================================================
local toml = require('spacevim.api.data.toml')
local M = {}
function M.preview()
local bufnr = vim.fn.bufnr()
local context = table.concat(vim.api.nvim_buf_get_lines(bufnr, 0, -1, false), '\n')
local js = toml.parse(context)
vim.cmd([[
silent only
rightbelow vsplit __toml_json_preview__.json
set ft=SpaceVimTomlViewer
setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline nospell nonu norelativenumber winfixwidth
setlocal modifiable
]])
bufnr = vim.fn.bufnr()
vim.api.nvim_buf_set_lines(bufnr, 1, -1, false, vim.split(vim.json.encode(js), '\n'))
vim.cmd([[
silent Neoformat! json
setlocal nomodifiable
set syntax=json
]])
end
return M