New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

bravo-editor

Package Overview
Dependencies
Maintainers
6
Versions
170
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bravo-editor

Multi language service plugin for the Monaco Editor

  • 0.0.104
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
225
decreased by-34.97%
Maintainers
6
Weekly downloads
 
Created
Source
import * as React from "react";
import {
  Editor,
  supportLanguage,
  CompletionItemKind,
  init
} from "bravo-editor";
import * as monaco from "monaco-editor";

/**
 * @description 资源加载逻辑,用于构建worker,添加在项目入口处
 * @param prefix string型,资源前缀,默认为cdn,专有云场景下需要修改
 */
init();

//封网阶段
init(`https://dev.g.alicdn.com/nel/bravo-editor/${npmVersion}`);

const CompletionTypesEnum = {
  SAMPLE_TYPE_ONE: {
    text: "样例类型1",
    kind: CompletionItemKind.Method
  },
  SAMPLE_TYPE_TWO: {
    text: "样例类型2",
    kind: CompletionItemKind.Method
  },
  KEYWORD: {
    text: "关键词",
    kind: CompletionItemKind.Keyword
  },
  CONSTS: {
    text: "常量",
    kind: CompletionItemKind.Snippet
  },
  FUNCTION: {
    text: "函数",
    kind: CompletionItemKind.Function
  },
  TABLE: {
    text: "表名",
    kind: CompletionItemKind.Method
  },
  TABLEALIAS: {
    text: "表别名",
    kind: CompletionItemKind.Method
  },
  FIELD: {
    text: "表字段",
    kind: CompletionItemKind.Field
  },
  FIELDALIAS: {
    text: "表字段别名",
    kind: CompletionItemKind.Field
  },
  SNIPPET: {
    text: "代码块",
    kind: CompletionItemKind.Snippet
  },
  STREAM_FUNCTION: {
    text: "函数",
    kind: CompletionItemKind.Function
  },
  STREAM_TABLE_FIELD: {
    text: "表字段",
    kind: CompletionItemKind.Field
  }
};

export class Demo extends React.Component {
  render() {
    return (
      <div style={{ height: 400 }}>
        <Editor
          onChange={null}
          onEditorCreated={() => console.log("created")}
          operation={true}
          onCopy={value => console.log("copy success:", value)}
          options={{
            theme: `dark`,
            value: "select * from a",
            language: "ODPSSQL"
          }}
          completionTypes={CompletionTypesEnum}
					onSuggestTables={(keyword, options) => {
            return [
              {
                label: "sample_one_table1",
                type: "SAMPLE_TYPE_ONE",
                insertText: "LD.sample_one_table1",
                kind: CompletionItemKind.Method,
                sortText: "a"
              }
            ];
          }}
          onSuggestFields={(keyword, options) => {
            console.log("keyword==", keyword);
            return Promise.resolve([
              {
                label: "age",
                type: "SAMPLE_TYPE_ONE",
                insertText: "age",
                kind: CompletionItemKind.Field,
                sortText: "b"
              },
              {
                label: "banana",
                type: "SAMPLE_TYPE_ONE",
                insertText: "banana",
                kind: CompletionItemKind.Field,
                sortText: "b"
              }
            ]);
          }}
          sorter={type => {
            switch (type) {
              case "TABLEALIAS":
              case "TABLE":
                return "c";
              case "FIELD":
              case "FIELDALIAS":
                return "d";
              case "KEYWORD":
              case "CONSTS":
                return "e";
              case "FUNCTION":
                return "f";
              default:
            }
          }}
        />
      // diff editor
      <DiffEditor
        languageId="ODPSSQL"
        data={["current data", "original data"]}
      />
      </div>
    );
  }
}

FAQs

Package last updated on 22 Feb 2023

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