UNPKG

refractor

Version:

Lightweight, robust, elegant virtual syntax highlighting using Prism

35 lines (32 loc) 831 B
// @ts-nocheck /** * @import {Refractor} from '../lib/core.js' */ goModule.displayName = 'go-module' goModule.aliases = ['go-mod'] /** @param {Refractor} Prism */ export default function goModule(Prism) { // https://go.dev/ref/mod#go-mod-file-module Prism.languages['go-mod'] = Prism.languages['go-module'] = { comment: { pattern: /\/\/.*/, greedy: true }, version: { pattern: /(^|[\s()[\],])v\d+\.\d+\.\d+(?:[+-][-+.\w]*)?(?![^\s()[\],])/, lookbehind: true, alias: 'number' }, 'go-version': { pattern: /((?:^|\s)go\s+)\d+(?:\.\d+){1,2}/, lookbehind: true, alias: 'number' }, keyword: { pattern: /^([ \t]*)(?:exclude|go|module|replace|require|retract)\b/m, lookbehind: true }, operator: /=>/, punctuation: /[()[\],]/ } }