Me gustaría saber cómo se implementa un editor de texto extensible . Por extensible, me refiero a la capacidad de aumentar la funcionalidad del programa principal con código escrito por los usuarios como complementos, archivos de configuración de tiempo de ejecución, etc.
¿Cuál recomendarías vim
, emacs
o algo más? Hay kilo , que es bastante popular por su enfoque de bricolaje y lo estoy considerando como un punto de partida, pero mi objetivo principal es aprender a escribir un software que sea extensible.
Me gustan algunas cosas emacs
como la legibilidad del archivo de configuración (simplemente invocar funciones antiguas simples con argumentos), mutar el entorno en sí, etc. También hay algunos buenos libros emacs
como The Craft of Text Editing . Sin embargo, un inconveniente es que elisp
a veces puede ser lento.
Me gustan algunas cosas vim
como la edición modal ( <action>
<motion>
), la velocidad de edición, etc. Sin embargo, el archivo de configuración es un poco críptico a veces porque se trata principalmente de volver a vincular un conjunto de claves a otro, lo que realmente no encuentro. legible o intuitivo (internamente podría estar invocando funciones también pero la legibilidad es menor). Además, no estoy seguro de si hay libros de texto sobre vim
el diseño.
Aquí hay un recurso muy bueno que encontré en Internet sobre editores de texto: http://texteditors.org/ .
Consulte el editor de CudaText , está escrito en Lazarus y tiene todas las extensiones posibles: complementos de Python, temas de color, lectores de sintaxis, etc.
Creo que hay varios enfoques para hacer algo extensible.
Mira Atom, desarrollado por Github. (átomo.io)
nishant