Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@looker/code-editor

Package Overview
Dependencies
Maintainers
0
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@looker/code-editor

A syntax highlighter Viewer and Editor for Looker SDK supported languages.

  • 0.1.37
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
18
decreased by-60%
Maintainers
0
Weekly downloads
 
Created
Source

@looker/code-editor

This package contains code display and editor components that are used in Looker extensions such as the API Explorer and LookML Diagram.

Installation

Add dependency to your project using yarn or npm

yarn add @looker/code-editor

or

npm install @looker/code-editor

<CodeDisplay />

This component is a specialized <code /> or <pre /> that has various search, syntax highlighting and other display options. Use this component for read-only code display use cases. This component is used by this package's CodeEditor and Markdown component for inline and block code sections.

PropDescriptionDefault
languageThis prop configures the syntax highlighting language and accepts any react-prism-renderer supported language, as well as ruby, kotlin, swift, and csharpjson
codeThe code to be displayed and highlighted.required
patternThe search pattern to be highlighted in the input code.''
transparentA flag for disabling the backgroundColor added by default.false
inlineWhen true, inline <code /> is used. <pre /> is used by default.false
lineNumbersA flag for enabling line numbers.false

<CodeCopy />

This component wraps the <CodeDisplay /> component and adds a "copy to Clipboard" button

PropDescriptionDefault
...All <CodeDisplay /> props are accepted
captionAn override for the Copy button text, which is "Copy"optional

<CodeEditor />

This component wraps the <CodeDisplay /> component and adds a hidden <textarea /> that allows for code editing.

PropDescriptionDefault
...All <CodeDisplay /> props are accepted
onChangeAn event handler for capturing user input.required
Example
const CodeBlockEditor: React.FC = () => {
  const [codeString, setCodeString] = useState(`
# GET /lookml_models -> Sequence[models.LookmlModel]
def all_lookml_models(
    self,
    # Requested fields.
    fields: Optional[str] = None,
    transport_options: Optional[transport.TransportOptions] = None,
) -> Sequence[models.LookmlModel]:
    """Get All LookML Models"""
    response = self.get(
                    f"/lookml_models",
            Sequence[models.LookmlModel],
            query_params={"fields": fields},
            transport_options=transport_options
    )
    assert isinstance(response, list)
    return responsebind
`)
  return (
    <CodeEditor
      code={codeString}
      onChange={setCodeString}
      language="python"
      lineNumbers={true}
    />
  )
}

<Markdown />

This component is a wrapper around a <ReactMarkdown /> component. It uses @looker/component renderers for text and <CodeDisplay /> for inline and block code. It has options for link handling and renderer overrides.

PropDescriptionDefault
sourceThe Markdown string to be renderedrequired
patternThe search pattern to be highlighted in the source''
transformLinkUriA function for pre-processing the link before it is navigated to, used for removing <mark /> tags or modifying the destination.optional
linkClickHandlerAn override for link click behavior.optional
paragraphOverrideAn override for the default Paragraph renderer.optional
Using <CodeDisplay /> inside Markdown

This component checks for decorated code blocks. The following source would create a Ruby syntax highlighted code block.

When using the Ruby SDK this would be passed as a Ruby hash like:
```ruby
{
 :model=>"thelook",
 :view=>"inventory_items",
 :fields=>
  ["category.name",
   "inventory_items.days_in_inventory_tier",
   "products.count"],
 :filters=>{:"category.name"=>"socks"},
 :sorts=>["products.count desc 0"],
 :limit=>"500",
 :query_timezone=>"America/Los_Angeles",
}
```

FAQs

Package last updated on 07 Nov 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc