UNPKG

@tanstack/highlight

Version:

Tiny class-based syntax highlighting for documentation.

21 lines (20 loc) • 1.12 kB
import { defineLanguage } from '../core.js'; import { patternTokenizer } from '../internal/patterns.js'; export const sql = defineLanguage({ name: 'sql', tokenize: patternTokenizer([ { className: (match) => match[0].startsWith('--') || match[0].startsWith('/*') ? 'comment' : 'string', regex: /--[^\n]*|\/\*[\s\S]*?\*\/|'(?:''|[^'])*'|"(?:""|[^"])*"/g, }, { className: 'keyword', regex: /\b(?:add|all|alter|and|as|asc|begin|between|by|case|check|column|commit|constraint|create|cross|database|default|delete|desc|distinct|drop|else|end|exists|foreign|from|full|group|having|index|inner|insert|into|join|key|left|like|limit|not|null|on|or|order|outer|primary|references|returning|right|rollback|select|set|table|then|union|unique|update|using|values|view|when|where|with)\b/gi, }, { className: 'literal', regex: /\b(?:false|null|true)\b/gi }, { className: 'number', regex: /\b\d+(?:\.\d+)?\b/g }, { className: 'function', regex: /\b[A-Za-z_][A-Za-z0-9_]*(?=\s*\()/g }, ]), });