FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
|||
|
|||
Cita:
https://github.com/t-edson/SynFacilCompletion que es también resaltador de sintaxis y puedes incluir en un XML, todas la gramática de un lenguaje, incluyendo al plegado de código y las palabras para el auto-completado. |
#2
|
||||
|
||||
Hola t-edson, bienvenido al Club.
Precisamente, no hace mucho lo vi en el foro de Lazarus y tengo pendiente echarle un vistazo, a ver cómo funciona. Por cierto, que todo este tiempo llevo usando el editor "en producción" y no es que lo haya echo yo pero cada vez me gusta más. Por desgracia, el auto-completado da algún problema, o mejor dicho, no funciona como me gustaría. Si el componente que recomiendas funciona más a la Vim, entonces sustituiré el SynEdit por él. |
#3
|
|||
|
|||
Hola Ñuño.
SynFacilCompletion, no es un componente nuevo, es un resaltador de sintaxis o librería para SynEdit. Si ya usas SynEdit, solo tienes que "acoplarlo" a tu editor para que empiece a trabajar. Su uso es sencillo (como su nombre "Facil"). Solo necesitas crear un archivo XML, algo así como: Código:
<?xml version="1.0"?> <Language name="Pascal" ext="pas"> <completion> var procedure function </completion> </Language> Código:
hlt := TSynFacilComplet.Create(self); //my highlighter SynEdit1.Highlighter := hlt; //optional if we are going to use SelectEditor() hlt.LoadFromFile('ObjectPascal.xml'); //load syntax hlt.SelectEditor(SynEdit1); //assign to editor |
#4
|
||||
|
||||
Me lié con el ATSynEdit. De todas formas tengo que echarle un vistazo a ambos dos, a ver qué tal.
|
#5
|
||||
|
||||
Novedades
Os cuento:
He estado estos meses utilizando de forma habitual el editor, y la verdad es que estoy bastante contento. También he estado puliendo cosillas según me he ido encontrando incomodidades. Por ejemplo, ahora al cargar un archivo o seleccionar una lengüeta el foco pasa al editor correspondiente, algo que antes no hacía y era bastante molesto; y al cargar un nuevo "proyecto" se cierran todas las lengüetas del proyecto anterior. También he ido cambiando cosas del auto-complete, aunque sigue sin funcionar como quiero (el de Vim es ideal, en mi opinión, pero me temo que nunca llegue a funcionar igual). He encontrado algunos problemas de difícil solución. Por ejemplo, sigo sin saber por qué al usar [Alt]+[Tab] en mi Fedora no se ejecuta el evento de pérdida de foco, que sí se activa si selecciono otra aplicación con el ratón. También me he encontrado que ocultar el menú en Windows no es buena idea. Quizá con la próxima versión de Lazarus funcione mejor, porque han prometido mejoras, o quizá si uso fpGUI en lugar del GDI en ese sistema operativo sí funcione. Y también en Windows no aparecen los botones de cerrar lengüetas. Esto me ha dado problemas porque poner esa opción en el menú contextual del editor hace que salte una excepción tras cerrar la lengüeta, pero colocándolo en el menú principal funciona perfectamente. Lo que sí me preocupa es que quizá he ido demasiado lejos sin hacer una planificación clara. Es decir, he ido añadiendo y modificando cosas según iban surgiendo, y los últimos cambios han sido laboriosos porque me he dado cuenta de que (por ejemplo) había métodos en objetos que no le correspondían. Me refiero a que había métodos de gestión de proyecto en la ventana, o acciones de configuración en el proyecto. Tampoco es muy grave porque hasta ahora casi todo ha sido aprender cómo funcionan los componentes de edición, resaltado sintaxis, autocompletado, así como investigar si era posible hacer ciertas cosas, y si algunas ideas que tengo son realmente útiles o no. Así que, ya el año que viene, me pondré a rehacerlo todo, empezando por una buen esquema de los objetos necesarios, qué hace cada uno y cómo se relacionan entre sí (vamos, un UML). Afortunadamente, buena parte del trabajo será buscar en el código que ya hay, copiarlo y pegarlo en su sitio, así que sin duda tardaré menos en tener una versión mínimamente útil. Y si encuentro un nombre adecuado, lo publicaré, o no, no sé. Y es que sigo sin haber decidido todavía qué hacer con esta aplicación. |
#6
|
||||
|
||||
Cita:
Fuerza y suerte en tus andanzas |
#7
|
||||
|
||||
Esto es un reflote en toda regla, y lo demás son tonterías. Pero es que lo merece.
El proyecto no ha estado parado ni mucho menos. Ha ido despacio, eso sí. Estuvo parado hasta que en 2018 conseguí arrancar de nuevo. Desde entonces comencé una reescritura desde cero, esta vez con un poco más de planificación, y después de todos estos años de más o menos actividad, ayer mismo conseguí que que todos los subsistemas funcionasen. La siguiente imagen muestra el momento en el que el subsistema de extensiones (scripting) funcionó, al fin: Sí, es Windows XP. Es que por comodidad estaba usando un viejo notebook en ese momento y es lo que tiene. También funciona en Linux, así que tengo un buen espectro cubierto. Como véis, también tiene nombre: Multi-Language Scriptable Development Environment (MLSDE). Seguro que los que sepan márqueting me correrán a gorrazos, pero oye, es lo que único que se me ha ocurrido. Después de dar una vuelta por GitHub al final he vuelto a SourceForge*. Todavía no voy a publicarlo porque faltan unos mínimos y hay que completar la documentación, pero si queréis echarle un vistazo, tenéis el proyecto disponible para compilar (con Lazarus). Pues eso. Gracias por vuestra atención. _______________________________ * Aparte de que no termino de cogerle el gusto a GIT y que Microsoft nunca ha sido santo de mi devoción, no hace mucho me enteré de que usan los proyectos de GitHub a su propio criterio ignorando las licencias, que lo han hecho ya dos veces como mínimo. Además, los nuevos dueños de SourceForge han hecho una buena limpieza y han actualizado la plataforma, que de nuevo funciona muy bien. |
#8
|
||||
|
||||
P.D: Hay dos muy buenas alternativas a GitHub: https://bitbucket.org (el que uso) y https://about.gitlab.com (que tambien puedes hostear de forma directa y privada).
Si tu audiencia es programadores es muy buena idea usar un lugar con mejor "fama". Te aseguro qu source forge tiene la re-mala entre muchos y básicamente es un lugar "muerto" si quieres el chance de que gente se una. En el caso de git, puedes hacer mirrors de forma trivial (si quieres que source forge sea el ppal y republicas en uno de los otros). Una enorme gracia de usar uno de los hosteadores grandes es que puedes integrar el CI (https://about.gitlab.com/stages-devo...s-integration/) y hacer que con cada commit se compile el proyecto en multiples plataformas y generar instaladores y todo eso. Es un aspecto que ayuda mucho a acelerar el desarrollo ya que te quita un peso extra de encima!
__________________
El malabarista. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Sugerencias para nombre de método de clase, ¿tú qué nombre le darías? | Al González | OOP | 24 | 07-03-2013 20:34:22 |
Nombre de PC | Ledian_Fdez | C++ Builder | 4 | 11-02-2010 22:50:46 |
#¿nombre? | Cabanyaler | Servers | 3 | 03-07-2006 09:09:34 |
Mostrar nombre de campos y filtar nombre de tablas .db en un combobox | Coco_jac | Varios | 1 | 24-06-2006 01:34:29 |
Ip y Nombre? | Gabriel2 | Varios | 0 | 19-05-2005 14:11:19 |
|