Features

August 26, 2026 ยท View on GitHub

The repo is pragtical-c3, but all plugins here should work just fine with the Lite XL.

For the LSP support, download the lsp plugin, then download/build from source the latest release of the tonis2 c3lsp, then add it to the PATH. Then add the following code into the init.lua

local lsp = require "plugins.lsp"

lsp.add_server {
  name = "c3lsp",
  language = "C3",
  file_patterns = { "%.c3$" },
  command = { "c3lsp", "--stdio"  },
  transport = "stdio",
}

Features

  • Syntax highlighting language_c3.lua.
  • Go-To & Find symbol c3find.lua
    • Builds regex to find a function, macro, method, faultdef, const, enum, etc.
    • Performs Go-To when only one result is found
    • include & exclude search paths can be configured
  • Formatter c3fmt.lua
    • Format whole file
    • Format selection

Installation

Place c3find.lua, c3fmt.lua and init.lua into c3 folder inside .config/pragtical/plugins.

  • .config/pragtical/plugins/c3/c3find.lua
  • .config/pragtical/plugins/c3/c3fmt.lua
  • .config/pragtical/plugins/c3/init.lua

c3fmt.lua requires to configure a path for the c3fmt binary.

Also place language_c3.lua file into the .config/pragtical/plugins for the syntax highlighting.

  • .config/pragtical/plugins/language_c3.lua