Redocly/redoc

I can't determine if powershell code-snippets should be supported

Open

#2598 opened on Sep 26, 2024

View on GitHub
 (3 comments) (0 reactions) (0 assignees)TypeScript (21,877 stars) (2,272 forks)batch import
Type: Enhancementhelp wanted

Description

Describe the bug

What languages are supported by syntax highlighter for x-codeSamples (Or is this a question for redoc repo?)

I'm using x-codeSamples and the powershell examples are not highlighted correctly.

To Reproduce Steps to reproduce the behavior:

Given no redocly.yaml file

and this OpenAPI file

openapi: 3.0.0
info:
  title: "API"
  version: "1.0.0"
  contact:
    name: Contact Name
    email: contact@example.com
    url: https://example.com/
tags:
  - name: Metadata
    description: Metadata related requests
paths:
  /:
    get:
      operationId: getMetadata
      summary: Get metadata from the root of the API
      tags: ["Metadata"]
      x-codeSamples:
        - lang: powershell
          source: |
            # This is a comment "With Quotes" in it
            Invoke-RestMethod -Header @{Hello = 3} -Uri https://example.com/objects -Method Get

        - lang: javascript
          source: |
            // This is a comment "With Quotes" in it
            const response = await axiosClient.get("/objects")
                .withHeader("Hello", 3);
      responses:
        "200":
          description: OK

And running this command

npx @redocly/cli build-docs openapi.yaml

I get a html file that doesn't render the powershell snippet correctly. I notice it immediately with the first line (the comment) because it highlights the quoted content as a string and the comment isn't set off in a comment color

Expected behavior

I think (but don't know for sure) that prismjs is the highlighter and it supports powershell.

I expect the syntax highlighting to be rendered appropriately for powershell. (Like if I create a javascript example)

Perhaps redoc only supports a limited subset of prismjs languages? I see here that the required lang property is documented but it links to a list of @github/linguist languages.

But the list of linguist languages includes PowerShell.

Perhaps there's a way to configure redoc with additional languages?

Redocly Version(s)

1.25.3

Node.js Version(s)

18.20.4

OS, environment

macOS 14.7

Contributor guide