Creating a Plugin

As outlined in plugins, there are Wasm plugins and process plugins.

  • Wasm plugins can be written in any language that supports compiling to a WebAssembly file (.wasm) (highly recommended)
  • Process plugins can be written in any language that supports compiling to an executable.

Links:

Note that plugins only need to conform to a general interface that doesn't prescribe a certain way of implementing the formatter. In Rust, you may want to use the dprint-core crate's formatting feature as it provides a better starting point for implementing a formatter. See an overview here