Files
deb-lite-xl/debian/extra/plugins/language_json.lua
T
vhaudiquet 3bae6fd448 Bundle curated community plugins (2.1.8-4)
Vendored from upstream, pinned by commit (see debian/extra/README.source):
- gitstatus, gitopen, fontconfig, open_ext, select_colorscheme,
  smoothcaret, nerdicons (font mapping patched to DATADIR, Ships the
  Symbols Nerd Font Mono TTF, SIL OFL 1.1)
- lite-xl-lsp (complete LSP client; idle until a language server is
  configured) plus the lite-xl-widgets library it requires
- 104 language syntax plugins (none duplicate the nine bundled in core)

settings GUI left out upstream is broken: it requires a
libraries.widget.fonts widget that does not exist in
lite-xl-widgets at any revision.

Co-developed-with: ZCode (Z.ai)
2026-09-16 22:45:02 +02:00

35 lines
836 B
Lua

-- mod-version:3 priority:110
local syntax = require "core.syntax"
syntax.add {
name = "JSON",
files = {
"%.json$",
"%.cjson$",
"%.jsonc$",
"%.ipynb$",
},
comment = "//",
block_comment = {"/*", "*/"},
patterns = {
-- cjson support
{ pattern = "//.*", type = "comment" },
{ pattern = { "/%*", "%*/" }, type = "comment" },
{ regex = [["(?:[^"\\]|\\.)*"()\s*:]], type = { "keyword", "normal" } }, -- key
{ regex = [["(?:[^"\\]|\\.)*"]], type = "string" }, -- value
{ pattern = "0x[%da-fA-F]+", type = "number" },
{ pattern = "-?%d+[%d%.eE]*", type = "number" },
{ pattern = "-?%.?%d+", type = "number" },
{ pattern = "null", type = "literal" },
{ pattern = "true", type = "literal" },
{ pattern = "false", type = "literal" }
},
symbols = { }
}