Coding Style

#1

Kakoune is written in C++14, here are the main coding style points:

  • Avoid external dependencies besides posix/stdc++/ncurses

  • 4 spaces for indentation, no tabs

  • public interface before private methods/data when defining a class

  • use override keyword for overridden virtual methods

  • opening brackets on their own lines by default, except when
    declaring an object where the opening bracket follows the equal
    sign.

  • use alternative logical operator names (and, or, not instead of &&,
    ||, !)

int func()
{
    if (condition)
    {
        ...
    }
    else
        statement;
}

int array[] = {
...
};
  • End lines with an operator when continuing on the next line
if (condition1 or
    condition2)
  • Try to keep under 80 columns, even though this is not a strict
    limit.

  • CamelCase for types, snake_case for variables/function names

  • prefix fields with m_, static ones with ms_ except for dumb
    structs (struct with every field public) where these prefixes can be
    dropped.

  • use const and constexpr liberally