A simple formatter plugin for lite and Lite XL.
Use lpm to install this plugin: lpm install formatter.
Note
This plugin does not provide the bundled executable binary files needed to run the formatters themselves. You must install the desired formatters yourself.
If you want to customize the cli arguments for a specific formatter, you can do this from your init.lua script.
Here's and example:
config.jsbeautify_args = {"-r", "-s 4", "-p", "-b end-expand"} -- set jsBeautify arguments to indent with spaces.The default keymap to format the current doc is alt+shift+f.
The command is formatter:format-doc.
To make Lite XL automatically format the current document on each save, add the following config to USERDIR/init.lua:
config.plugins.formatter = common.merge({
format_on_save = true
}, config.plugins.formatter)Here is an example of a formatter module:
formatter_jsbeautify.lua
-- mod-version:3 lite-xl 2.1
-- https://www.npmjs.com/package/js-beautify
local config = require "core.config"
local formatter = require "plugins.formatter"
config.jsbeautify_args = {"-r", "-q", "-s 1", "-t", "-p", "-b end-expand"} -- make sure to keep -r arg if you change this
formatter.add_formatter {
name = "JS Beautifier",
file_patterns = {"%.js$"},
command = "js-beautify $ARGS $FILENAME",
args = config.jsbeautify_args
}A few things to keep in mind:
- Add the correct Lite XL version tag at the top
- Keep the arguments inside
config.formattername_args - Set a name
- Add it to the list in README.md and keep it alphabetically sorted
Then make a pull request on Github.