codigo0/node_modules/highlight.js/lib/languages/elm.js
planetazuzu 5d7a6500fe refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades
-  Ticket 1.1: Estructura Clean Architecture en backend
-  Ticket 1.2: Schemas Zod compartidos
-  Ticket 1.3: Refactorización drugs.ts (1362 → 8 archivos modulares)
-  Ticket 1.4: Refactorización procedures.ts (3583 → 6 archivos modulares)
-  Ticket 1.5: Eliminación de duplicidades (~50 líneas)

Cambios principales:
- Creada estructura Clean Architecture en backend/src/
- Schemas Zod compartidos en backend/src/shared/schemas/
- Refactorización modular de drugs y procedures
- Utilidades genéricas en src/utils/ (filter, validation)
- Eliminados scripts obsoletos y documentación antigua
- Corregidos errores: QueryClient, import test-error-handling
- Build verificado y funcionando correctamente
2026-01-25 21:09:47 +01:00

144 lines
2.5 KiB
JavaScript

/*
Language: Elm
Author: Janis Voigtlaender <janis.voigtlaender@gmail.com>
Website: https://elm-lang.org
Category: functional
*/
/** @type LanguageFn */
function elm(hljs) {
const COMMENT = { variants: [
hljs.COMMENT('--', '$'),
hljs.COMMENT(
/\{-/,
/-\}/,
{ contains: [ 'self' ] }
)
] };
const CONSTRUCTOR = {
className: 'type',
begin: '\\b[A-Z][\\w\']*', // TODO: other constructors (built-in, infix).
relevance: 0
};
const LIST = {
begin: '\\(',
end: '\\)',
illegal: '"',
contains: [
{
className: 'type',
begin: '\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?'
},
COMMENT
]
};
const RECORD = {
begin: /\{/,
end: /\}/,
contains: LIST.contains
};
const CHARACTER = {
className: 'string',
begin: '\'\\\\?.',
end: '\'',
illegal: '.'
};
const KEYWORDS = [
"let",
"in",
"if",
"then",
"else",
"case",
"of",
"where",
"module",
"import",
"exposing",
"type",
"alias",
"as",
"infix",
"infixl",
"infixr",
"port",
"effect",
"command",
"subscription"
];
return {
name: 'Elm',
keywords: KEYWORDS,
contains: [
// Top-level constructions.
{
beginKeywords: 'port effect module',
end: 'exposing',
keywords: 'port effect module where command subscription exposing',
contains: [
LIST,
COMMENT
],
illegal: '\\W\\.|;'
},
{
begin: 'import',
end: '$',
keywords: 'import as exposing',
contains: [
LIST,
COMMENT
],
illegal: '\\W\\.|;'
},
{
begin: 'type',
end: '$',
keywords: 'type alias',
contains: [
CONSTRUCTOR,
LIST,
RECORD,
COMMENT
]
},
{
beginKeywords: 'infix infixl infixr',
end: '$',
contains: [
hljs.C_NUMBER_MODE,
COMMENT
]
},
{
begin: 'port',
end: '$',
keywords: 'port',
contains: [ COMMENT ]
},
// Literals and names.
CHARACTER,
hljs.QUOTE_STRING_MODE,
hljs.C_NUMBER_MODE,
CONSTRUCTOR,
hljs.inherit(hljs.TITLE_MODE, { begin: '^[_a-z][\\w\']*' }),
COMMENT,
{ // No markup, relevance booster
begin: '->|<-' }
],
illegal: /;/
};
}
module.exports = elm;