Domain-Specific Languages for Composable Editor Plugins