Skip to content

Releases

HyperEZ 0.8.1

Choose a tag to compare

@github-actions github-actions released this 05 Nov 17:42

La extensión de VS Code, lista para el Marketplace; textos con formato, do-while, la biblioteca validate y todo preparado para que GitHub reconozca HyperEZ.

Arreglado

  • VS Code: la salida de F5 ya no desaparece. VS Code cierra la terminal en cuanto el programa termina bien, así que el resultado de un programa rápido no llegaba a verse. Ahora Ejecutar, Comprobar y las pruebas esperan una tecla al terminar ("Pulsa una tecla para cerrar...").
  • La compilación para Windows con build.ps1 ya no avisa de "serial compilation of LTRANS jobs" al enlazar con LTO.
  • x is text ? {...} : y ya funciona: tras is, un ? seguido de un mapa es la condición, no el tipo text?.

Cambiado

  • La extensión de VS Code se llama ahora hyperez.hyperezprogramminglanguage (el nombre hyperez estaba cogido en el Marketplace). El instalador lee el identificador de package.json y quita la extensión antigua hyperez.hyperez para que no haya dos.

  • Página de la extensión renovada para el Marketplace: capturas en VS Code, primeros pasos, ejemplos, insignias, palabras clave y la categoría Formatters.

  • Capturas del editor y del instalador al día en el README y la documentación.

  • El repositorio ya es público: la documentación lo indica (kit de Linguist, publicar la extensión).

  • Los proyectos nuevos usan .hez (main.hez, src/*.hez, tests/*.hez), la extensión por defecto, y traen .github/workflows/pruebas.yml (las pruebas se ejecutan en GitHub con cada cambio) y la insignia Hecho con HyperEZ.

Añadido

Lenguaje

  • Formato en las interpolaciones, como en Python: "${precio:.2f}", "${nombre:<10}", "${n:>8,}", "${0.25:%}", "${255:x}", "${7:03}", "${"Ana":*^9}"... y la función format(valor, "formato").
  • do { ... } while condición: el bloque se ejecuta al menos una vez (do solo es especial delante de {).

Bibliotecas

  • import validate: correos, webs, teléfonos, DNI/NIE con su letra, IBAN con sus dígitos de control, tarjetas (Luhn), ISBN, códigos postales, colores, fechas y contraseñas; y validate.check(datos, reglas) para comprobar formularios y JSON con mensajes en español. Ver validar.md.

GitHub

  • Kit para GitHub Linguist completo (editors/linguist/): la entrada (.hez, color #62d962, intérprete hyper), 7 muestras reales, el repositorio de la gramática, el texto de la pull request y los objetivos por fases para llegar al requisito de uso. tools/linguist_kit.py lo genera, --progress mide los .hez de GitHub y ctest -R linguist lo comprueba.
  • Acción setup-hyperez para GitHub Actions: uses: cuevacaravacaadrian/HyperEZ/actions/setup-hyperez@main instala hyper en Windows, Linux o macOS.

Herramientas

  • hyper test --pause (y --pause en la ayuda para check y test).
  • VS Code y HyperEZ Editor colorean do y el formato de ${...}; dos fragmentos nuevos, hacer y formato (54 en total).
  • HyperEZ Editor: el panel de abajo (Problemas y Salida) cambia de alto arrastrando el separador que lo une al código, y se recuerda.

Descargas

Sistema Archivo
Windows HyperEZ-Setup-0.8.1.exe (instalador, no necesita administrador)
Linux HyperEZ-0.8.1-linux-x64.tar.gz → sh install.sh
macOS HyperEZ-0.8.1-macos-arm64.tar.gz → sh install.sh
VS Code hyperez-0.8.1.vsix

HyperEZ 0.8.0

Choose a tag to compare

@cuevacaravacaadrian cuevacaravacaadrian released this 04 Nov 15:08

Descargas que funcionan, webs con el lenguaje, sintaxis nueva y un editor todavía más clásico.

Arreglado

  • Las versiones de GitHub ya se publican: las pruebas fallaban en GitHub Actions (en Windows, los ✓ de los scripts de Python con la consola en cp1252; en Linux y macOS, el orden en que os.walk recorre las carpetas al generar docs/errores.md), así que nunca se llegaba a crear la versión con el instalador. Ahora pasan en Windows, Linux y macOS.
  • texto[2..] devolvía un texto vacío en Windows (el final "infinito" no cabía en un long de 32 bits).
  • El formateador alinea las líneas que empiezan cerrando (}, {, })) con la línea que abrió el paréntesis.
  • La prueba del servidor web busca un puerto libre en lugar de fallar si el elegido estaba ocupado.
  • Lo que escribe un programa con print mientras atiende un servidor web se ve al momento (antes, al pararlo).

Añadido

Lenguaje

  • Tubería |>: x |> f es f(x) y x |> f(a) es f(x, a); una línea que empieza por |> continúa la anterior.
  • Comprensiones de lista y de mapa: [x * x for x in 1..=5 if x % 2 == 1], [i + x for i, x in lista], {n: n * n for n in 1..=3} (también con step).
  • Propagación en mapas: {...base, color: "rojo"} (las claves de la derecha ganan).
  • **= y rangos abiertos en los índices: lista[2..], lista[..3], texto[-3..], lista[..].

Webs

  • hyper serve [carpeta]: servidor para desarrollar que sirve una carpeta y recarga el navegador al guardar (--puerto, --abrir, --red, --sin-recarga).
  • hyper new mi-web --tipo web (plantillas HTML, formulario, API JSON y CSS, con pruebas) y hyper new mi-blog --tipo sitio (páginas desde Markdown).
  • import web: app.staticDir, app.patch, app.all, listen(..., { open: true }), web.view (plantillas con base común), web.form, web.cookies, web.withCookie, web.json, web.html, web.text, web.file, web.error, web.logger, web.decode, páginas 404 con estilo y web.devServer.
  • import site: webs completas a partir de archivos Markdown, con menú (también con grupos), diseño adaptable al móvil, datos --- por página, enlaces .md → .html y código coloreado.
  • import markdown: highlightHz y la opción { highlight: true } para colorear los bloques de código HyperEZ.

HyperEZ Editor, más clásico

  • Barra de herramientas con los iconos de Windows y tooltips; pestañas para varios archivos (Ctrl+N, Ctrl+W, Ctrl+Tab, botón central para cerrar).
  • Panel de salida (Mayús+F5): el programa se ejecuta dentro del editor y su salida aparece abajo, con el tiempo y el resultado; doble clic en archivo.hez:12 va a esa línea; ■ lo detiene.
  • Imprimir (Ctrl+P) con colores y número de página, Ver → Fuente…, indicador INS/SOB, mostrar u ocultar las barras, Cerrar las demás pestañas y abrir varios archivos a la vez.

Instalador

  • Dos apartados: Componentes (el lenguaje, obligatorio; HyperEZ Editor y la extensión de VS Code, opcionales) e Integración con Windows. Opción /NOEDITOR.
  • App Paths: Win+R → hyper (y hyperez-editor) funciona al momento.
  • La documentación en HTML (docs-html/), generada con el propio HyperEZ, para leerla en el navegador sin conexión; la abren la Ayuda del editor y el menú Inicio.
  • Los colores para otros editores en editors/.

Otros editores y GitHub

  • Colores para Notepad++, Sublime Text/TextMate, Vim/Neovim y highlight.js, generados desde la gramática de VS Code (tools/gen_editors.py); guía para usar hyper lsp en Neovim y Helix.
  • Kit para proponer HyperEZ a GitHub Linguist (editors/linguist/) y colores en GitHub mientras tanto (.gitattributes).

Extensión de VS Code

  • Colores para |>, **= y las comprensiones; 4 fragmentos nuevos (52 en total).

Pruebas

  • ctest -R proyectos: crea un proyecto de cada uno de los 6 tipos y pasa sus pruebas. Pruebas nuevas de la sintaxis y de las webs.

Descargas

Sistema Archivo
Windows HyperEZ-Setup-0.8.0.exe (instalador, no necesita administrador)
Linux HyperEZ-0.8.0-linux-x64.tar.gz → sh install.sh
macOS HyperEZ-0.8.0-macos-arm64.tar.gz → sh install.sh
VS Code hyperez-0.8.0.vsix