c5-code-editor
v0.0.3
Published
This is a small utility that allows displaying source code nicely in a react app.
Readme
c5-code-editor
This is a small utility that allows displaying source code nicely in a react app.
To install:
npm install c5-code-editorSample usage:
import React, { useState } from 'react';
import Editor, { findColor } from 'c5-code-editor';
const App = () => {
const [code, setCode] = useState(`import React from 'react'
const App = (a) => {
return (
<div className="main-div">
<h2>Hello world</h2>
</div>
)
}`);
return <Editor code={code} />;
};Props: | Prop Name | optional | type | description | | :---------- | :-------- | :-------- | :---------- | | code | [required] | string | the code you want displayed | | showLineNumbers | [✔] | boolean | show line numbers or not. Defaults to true. | | codeElem | [✔] | string | color for the code elements | | enableCodeElem | [✔] | boolean | color code elements or not. Defaults to true. | | codeStr | [✔] | string | color of strings inside double quotes | | enableCodeStr | [✔] | boolean | color code string or not. Defaults to true. | | codeQuote | [✔] | string | color of quotation marks | | enableCodeQuote | [✔] | boolean | color quotation marks or not. Defaults to true. | | reserved | [✔] | string | color of reserved words | | enableReserved | [✔] | boolean | color reserved words or not. Defaults to true. | | appColor | [✔] | string | color of app like words | | enableAppColor | [✔] | boolean | color app like words or not. Defaults to true. | | defaultColor | [✔] | string | color of default like words | | enableDefaultColor | [✔] | boolean | color default like words or not | | codeSingle | [✔] | string | color of single quotes | | enableCodeSingle | [✔] | boolean | color single quotes or not. Defaults to true. | | betweenSingleQuotes | [✔] | string | color of contents between single quotes | | enableBetweenSingleQuotes | [✔] | boolean | color contents between single quotes or not. Defaults to true. | | parens | [✔] | string | color of parenthesis | | enableParens | [✔] | boolean | color parenthesis or not. Defaults to true. | | insideParens | [✔] | string | color of contents inside of parenthesis | | enableInsideParens | [✔] | boolean | color contents inside of parenthesis or not. Defaults to true. | | alternates | [✔] | string | color of alternate words | | enableAlternates | [✔] | boolean | color alternate words or not. Defaults to true. | | customReserveWords | [✔] | array of strings | an array of words that you would like to include in the coloring of reserve words. defaults to empty array | | customAppWords | [✔] | array of strings | an array of words that you would like to include in the coloring of app words. defaults to empty array | | customDefaults | [✔] | array of strings | an array of words that you would like to include in the coloring of default words. defaults to empty array | | customAlternatives | [✔] | array of strings | an array of words that you would like to include in the coloring of alternative words. defaults to empty array | | parserType | [✔] | string | type of parser to use with Prettier to format the code string. Defaults to 'babel' | | format | [✔] | boolean | format code or not. defaults to true
words list:
export const reservedWords: string[] = [
'id',
'className',
'class',
'if',
'then',
'json',
'application',
'method',
'async',
'await',
'for',
];
export const defaultWords: string[] = [
'return',
'import',
'console',
'log',
'from',
];
export const appWords: string[] = [
'React',
'Axios',
'const',
'function',
'let',
'var',
'avion',
];
export const alternateWords: string[] = ['url', 'params', 'data', 'cors'];Parser Types:
export type Parsers =
| 'babel'
| 'css'
| 'json'
| 'flow'
| 'babel-flow'
| 'babel-ts'
| 'typescript'
| 'json'
| 'markdown'
| 'html';