> -Editor *editor_new(int width, int height) {
> +Editor *editor_new(int width, int height, int tabwidth, bool expandtab) {I am not affiliated with vis or have any familiarity with it but this doesn't make sense. I'd expect tabwidth/expandtab to be global variables in this case as they affect global state. This approach quickly doesn't scale if you want more parameters to be configured by the user and skews the semantics of the function.
