Sounds a lot like emacs, there's a core written in C etc but the overwhelming majority of the bits that make it an editor are in a scripting layer that you can change at runtime (and indeed there's hardly any reason to use emacs if you're not doing so)