Skip to content

[FEATURE] Sync version #29

@amatiasq

Description

@amatiasq

Is your feature request related to a problem? Please describe.
Trying to use this with Deno's Markdown. It doesn't work because this library is asynchronous and that library doesn't accept an asynchronous syntax highlighter.

Describe the solution you'd like
Expose highlightTextSync for example?

Describe alternatives you've considered
Not much I can do, this library always returns a promise and the markdown library doesn't know how to handle it.

Reproduction script

import { Marked } from 'https://deno.land/x/markdown@v2.0.0/mod.ts';
import { highlightText } from 'https://deno.land/x/speed_highlight_js@1.1.7/src/index.js';

Marked.setOptions({
  // prints `[object Promise]`
  highlight: (code, lang) => highlightText(code, lang),
});

I saw the only reason this is asynchronous is because tokenize imports the language if not loaded yet. Maybe I can import the languages in advance and pass them down to tokenizeSync?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions