Skip to content
Frank LENORMAND edited this page May 29, 2020 · 41 revisions

The programming languages listed on this page have built-in support in kakoune through the use of rc files.

This encompass such common operations as highlighting, indenting, tagging, building, debugging…

For a list of linters that may be used alongside the support languages, refer to the Lint page.

Columns in the following table:

  • Name: points to the source file of the related kak script.
  • Alt File: the script creates an alt command to switch between related buffers, for example switching between .c and .h files in C.
  • Linting: linting is available through third-party programs, documented on the given link
  • formatcmd: the language can be formatted through this external command, but you need to plug in explicitly in your kakrc. Example with rust using a hook:
hook global WinSetOption filetype=rust %{
  set window formatcmd 'rustfmt'
}
Name Alt File Linting formatcmd
AsciiDoc
C yes astyle
GNU indent
C++ yes astyle
Clojure yes
CoffeeScript yes
CSS yes prettier
D yes dfmt
dfmt
elixir
elm elm-format
fish fish_indent
Go yes gofmt
HAML
HTML reshape
Handlebars
Haskell yes
INI
Java yes
JavaScript yes prettier
JSON jq
prettier
Julia
Latex
Lua
LISP
Makefile
Markdown
MoonScript
Nim
Ocaml ocp-indent
Perl perltidy
PHP yes
Python yes autopep8
black
Pony
Pug
Ragel
Ruby yes rubocop
rubocop -x -o /dev/null -s '${kak_buffile}' | sed -n '2,$p'
Rust rustfmt
rustfmt
SASS & SCSS prettier
Scala
Shell yes
Swift
TUP
YAML prettier
Zig zig fmt
zig fmt --stdin

Lint supported by the community:

Clone this wiki locally