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

Umbral

by hersac ST4 New

Resaltado de sintaxis para lenguaje umbral en sublime text

Details

Installs

  • Total 0
  • Win 0
  • Mac 0
  • Linux 0
Dec 29 Dec 28 Dec 27 Dec 26 Dec 25 Dec 24 Dec 23 Dec 22 Dec 21 Dec 20 Dec 19 Dec 18 Dec 17 Dec 16 Dec 15 Dec 14 Dec 13 Dec 12 Dec 11 Dec 10 Dec 9 Dec 8 Dec 7 Dec 6 Dec 5 Dec 4 Dec 3 Dec 2 Dec 1 Nov 30 Nov 29 Nov 28 Nov 27 Nov 26 Nov 25 Nov 24 Nov 23 Nov 22 Nov 21 Nov 20 Nov 19 Nov 18 Nov 17 Nov 16 Nov 15
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 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

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)
  • 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)
  • 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! 🎉