Artículo
· 28 jun, 2022 Lectura de 3 min

Sintaxis de ObjectScript para GitLab

¡Hola Comunidad!

Recientemente, migré una serie de repositorios de Objectscript de formato XML a UDL.
Después de la migración, me decepcionó un poco la presentación en la interfaz web de GitLab.

Dado que la sintaxis de Objectscript es compatible con GitHub, pensé que también sería compatible con GitLab. Desafortunadamente, la librería utilizada por GitLab para resaltar el código no tiene una extensión para admitir Objectscript.

GitLab usa la librería Rouge, que puede resaltar más de 200 idiomas. Es una librería escrita en Ruby (consulta la página de GitHub), pero Objectscript no está en la lista.
Así que decidí desarrollar una extensión de Objectscript.

El subproyecto Rouge está disponible en mi página de GitHub.
Para propósitos de prueba, preparé un repositorio objectscript-syntax-for-gitlab para crear fácilmente un contenedor con un entorno Ruby listo y una página de prueba.

Estado de desarrollo actual:

Características Estado
&JS<> implementado
&HTML<> implementado
&SQL<> Parcial
Método con lenguaje Python implementado
Método con lenguaje Javascript implementado
XData contiene XML implementado
XData contiene JSON implementado
Almacenamiento (definición XML) implementado
Consulta Parcial
Etiqueta en método implementado
Rutina Implementado
CSP Aún no
Archivo de macros (INC) Aún no

Instalación

Simplemente clona el repositorio, extrae la imagen y empieza:

git clone https://github.com/lscalese/objectscript-syntax-for-gitlab.git
cd objectscript-syntax-for-gitlab
docker pull ghcr.io/lscalese/objectscript-syntax-for-gitlab:latest
docker-compose up -d

Prueba

Cuando se inicia el contenedor, puedes abrir esta URL para mostrar una página de prueba: http://localhost:9592/objectscript

Es posible seleccionar un tema diferente en la parte inferior de la página.

Si quieres probar el resaltado con tu propio código, puedes usar este pequeño formulario: http://localhost:9692/csp/irisapp/lscalese.objectscript4gitlab.test.cls
(el login/password es el estándar _system/SYS)

Copia/pega tu código en el área de texto y haz clic en enviar. Tu código se abrirá en una nueva pestaña Advertencia: El navegador podría bloquear la apertura de la nueva página. Por favor acepta si es necesario.

El botón “reset” permite restaurar la página de prueba por defecto.

No dudes en enviarme comentarios sobre tus pruebas creando un Issue en mi GitHub. Necesito información para detectar errores y mejorar tanto como sea posible antes de enviar un pull request a Rouge.

Espero que este proyecto sea de utilidad para la comunidad y merezca vuestro apoyo ;D

¡Gracias!

Comentarios (0)1
Inicie sesión o regístrese para continuar