Improve JSR package metadata
This commit is contained in:
@@ -1,3 +1,13 @@
|
||||
/**
|
||||
* CodeMirror 6 language support for Decodal.
|
||||
*
|
||||
* This module exports the Decodal language extension, parser metadata, and the
|
||||
* bundled highlight style used by the official Decodal playground. Add
|
||||
* {@link decodal} to a CodeMirror extension set to enable highlighting,
|
||||
* indentation, and folding for Decodal documents.
|
||||
*
|
||||
* @module
|
||||
*/
|
||||
import { HighlightStyle, LRLanguage, LanguageSupport, foldNodeProp, indentNodeProp, syntaxHighlighting } from 'npm:@codemirror/language@^6.12.4';
|
||||
import { styleTags, tags as t } from 'npm:@lezer/highlight@^1.2.3';
|
||||
import { parser } from './decodal-parser-jsr.js';
|
||||
@@ -44,6 +54,7 @@ function foldDelimited(open: string, close: string) {
|
||||
};
|
||||
}
|
||||
|
||||
/** Decodal LR language definition for CodeMirror 6. */
|
||||
export const decodalLanguage: LRLanguage = LRLanguage.define({
|
||||
parser: parserWithMetadata,
|
||||
languageData: {
|
||||
@@ -52,6 +63,7 @@ export const decodalLanguage: LRLanguage = LRLanguage.define({
|
||||
},
|
||||
});
|
||||
|
||||
/** Default Decodal highlight style used by the playground. */
|
||||
export const decodalHighlightStyle: HighlightStyle = HighlightStyle.define([
|
||||
{ tag: t.keyword, color: '#93c5fd', fontWeight: '700' },
|
||||
{ tag: t.variableName, color: 'inherit' },
|
||||
@@ -64,10 +76,19 @@ export const decodalHighlightStyle: HighlightStyle = HighlightStyle.define([
|
||||
{ tag: [t.brace, t.squareBracket, t.paren, t.punctuation], color: '#f9a8d4' },
|
||||
]);
|
||||
|
||||
/** Options for {@link decodal}. */
|
||||
export interface DecodalOptions {
|
||||
/** Include the bundled {@link decodalHighlightStyle}. Defaults to `true`. */
|
||||
highlight?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create CodeMirror language support for Decodal.
|
||||
*
|
||||
* @param options - Optional language support options.
|
||||
* @returns A CodeMirror extension bundle containing the Decodal language and,
|
||||
* unless disabled, the default highlight style.
|
||||
*/
|
||||
export function decodal(options: DecodalOptions = {}): LanguageSupport {
|
||||
const { highlight = true } = options;
|
||||
return new LanguageSupport(
|
||||
|
||||
Reference in New Issue
Block a user