ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Umbral

by hersac ST4

Resaltado de sintaxis para lenguaje umbral en sublime text

Details

Installs

  • Total 7
  • Win 0
  • Mac 3
  • Linux 4
Aug 10 Aug 9 Aug 8 Aug 7 Aug 6 Aug 5 Aug 4 Aug 3 Aug 2 Aug 1 Jul 31 Jul 30 Jul 29 Jul 28 Jul 27 Jul 26 Jul 25 Jul 24 Jul 23 Jul 22 Jul 21 Jul 20 Jul 19 Jul 18 Jul 17 Jul 16 Jul 15 Jul 14 Jul 13 Jul 12 Jul 11 Jul 10 Jul 9 Jul 8 Jul 7 Jul 6 Jul 5 Jul 4 Jul 3 Jul 2 Jul 1 Jun 30 Jun 29 Jun 28 Jun 27
Windows 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mac 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0

Readme

Source
raw.​githubusercontent.​com

Soporte de Lenguaje Umbral para Sublime Text

Paquete oficial de Sublime Text para el lenguaje de programación Umbral. Proporciona resaltado de sintaxis completo y soporte para el desarrollo con archivos .um.

✨ Características

🎨 Resaltado de Sintaxis Completo

  • Comentarios: Líneas que comienzan con !!
  • Strings: Soporte para comillas simples, dobles y triple comillas
    • 'texto literal' - String sin interpolación
    • "texto con &variable" - String con interpolación
    • '''texto multilínea con &interpolacion'''
  • Palabras Clave de Control: i, ie, e, wh, r, th, n, out, equip, origin, as
  • Control Condicional: sw: (switch), ca: (case), def: (default)
  • Manejo de Errores: tr: (try), ct: (catch), tw: (throw), fy: (finally)
  • Asincronismo: asy (async), awa (await)
  • Declaradores: v:, c:, f:, fo:, fe:, cs:, pr:, pu:
  • Modificadores OOP: ext: (extends), imp: (implements), in: (interface)
  • Tipos de Datos: Int, Str, Flo, Bool, Void, Error, [], [][]
  • Operadores: ->, +, -, *, /, %, ==, !=, <=, >=, <, >, &&, ||, !, =
  • Operador Spread: &array para expandir arrays
  • Números y Booleanos: 42, 3.14, true, false
  • Funciones Built-in: tprint
  • Propiedades: .length y otras propiedades de objetos
  • Invocaciones: Resaltado de llamadas a funciones y métodos

📦 Reconocimiento de Archivos

Automáticamente reconoce archivos con extensión .um como código Umbral.

🚀 Instalación

Instalación Manual

  1. Abre Sublime Text.
  2. Ve al menú Preferences > Browse Packages....
  3. En la carpeta que se abre, abre una terminal y clona este repositorio:
git clone https://github.com/hersac/umbral-sublime.git Umbral
  1. Reinicia Sublime Text (opcional, generalmente detecta el cambio automáticamente).

📝 Ejemplo de Sintaxis

Error: language “umbral” is not supported
!! Comentario de una línea

!! Declaración de variables y constantes
v: contador = 0;
c: PI = 3.14159;

!! Funciones
f: sumar(a->Int, b->Int)->Int {
    r: (a + b);
}

!! Condicionales
i: (contador > 0) {
    tprint("Contador positivo");
} e: {
    tprint("Contador cero o negativo");
}

!! Bucles
wh: (contador < 10) {
    tprint("Contador: &contador");
    contador = contador + 1;
}

!! Clases
cs: Persona {
    pr: nombre->Str;
    pr: edad->Int;

    pu f: Persona(nombre->Str, edad->Int) {
        th.nombre = nombre;
        th.edad = edad;
    }

    pu f: presentarse()->Void {
        tprint("Hola, soy &th.nombre");
    }
}

!! Instanciar y usar
c: persona = n: Persona("Juan", 25);
persona.presentarse();

!! Arrays y Operador Spread
c: numeros = {1, 2, 3};
c: masNumeros = {&numeros, 4, 5, 6};

!! Strings con interpolación
v: nombre = "Umbral";
tprint("Lenguaje: &nombre");
v: literal = 'Sin interpolación &nombre';

🎯 Características del Lenguaje Umbral

  • Variables: v: (mutables) y c: (constantes)
  • Funciones: f: con tipos explícitos y retornos, fo: y fe: para funciones especiales
  • Clases: cs: con propiedades (pr:) y métodos públicos (pu:)
  • Condicionales: i: (if), ie: (else if), e: (else)
  • Switch-Case: sw: (switch), ca: (case), def: (default)
  • Manejo de Errores: tr: (try), ct: (catch), tw: (throw), fy: (finally)
  • Asincronismo: asy (async), awa (await)
  • Bucles: wh: (while)
  • Arrays: {1, 2, 3} con tipos []Int, [][]Int
  • Interpolación: &variable en strings y triple comillas
  • Operador Spread: &array para expandir arrays
  • Módulos: Sistema equip/origin para importar/exportar
  • OOP Avanzado: ext: (extends), imp: (implements), in: (interface)
  • Tipos Primitivos: Int, Str, Flo, Bool, Void, Error

📄 Licencia

Este proyecto está bajo la licencia especificada en el archivo LICENSE.

🤝 Contribuir

Las contribuciones son bienvenidas. Por favor:

  1. Fork el repositorio
  2. Crea una rama para tu feature (git checkout -b feature/nueva-caracteristica)
  3. Commit tus cambios (git commit -m 'Agrega nueva característica')
  4. Push a la rama (git push origin feature/nueva-caracteristica)
  5. Abre un Pull Request

📞 Soporte


Disfruta programando en Umbral! 🎉