summaryrefslogtreecommitdiff
path: root/ftplugin/json.lua
diff options
context:
space:
mode:
Diffstat (limited to 'ftplugin/json.lua')
-rw-r--r--ftplugin/json.lua28
1 files changed, 28 insertions, 0 deletions
diff --git a/ftplugin/json.lua b/ftplugin/json.lua
new file mode 100644
index 00000000..3a565095
--- /dev/null
+++ b/ftplugin/json.lua
@@ -0,0 +1,28 @@
+-- npm install -g vscode-json-languageserver
+require'lspconfig'.jsonls.setup {
+ cmd = {
+ "node", DATA_PATH ..
+ "/lspinstall/json/vscode-json/json-language-features/server/dist/node/jsonServerMain.js",
+ "--stdio"
+ },
+ on_attach = require'lsp'.common_on_attach,
+
+ commands = {
+ Format = {
+ function()
+ vim.lsp.buf.range_formatting({}, {0, 0}, {vim.fn.line("$"), 0})
+ end
+ }
+ }
+}
+
+if O.lang.json.autoformat then
+ require('lv-utils').define_augroups({
+ _json_format = {
+ {
+ 'BufWritePre', '*.json',
+ 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
+ }
+ }
+ })
+end