react-native-code-highlighter
![npm](https://img.shields.io/npm/dw/react-native-code-highlighter)
Code/Syntax highlighter for React Native. Inspired by react-native-syntax-highlighter, using react-syntax-highlighter
Installation
NPM
npm install react-native-code-highlighter react-syntax-highlighter
Yarn
yarn add react-native-code-highlighter react-syntax-highlighter
Additional for typescript
NPM
npm install --save-dev @types/react-syntax-highlighter
Yarn
yarn add -D @types/react-syntax-highlighter
Usage
Props
Prop | Description | Type | Optional |
---|
hljsStyle | Highlight.js style imported from react-syntax-highlighter/dist/esm/styles/hljs | { [key: string]: React.CSSProperties } | false |
containerStyle | containerStyle for the underlying ScrollView | StyleProp<br><ViewStyle> | true |
textStyle | Style for the text components. Note: color property will be overridden | `StyleProp | true |
react-syntax-highlighter Props | Props supported by react-syntax-highlighter | | |
Example
import React from "react";
import { StyleSheet } from "react-native";
import CodeHighlighter from "react-native-code-highlighter";
import { atomOneDarkReasonable } from "react-syntax-highlighter/dist/esm/styles/hljs";
const CODE_STR = `var hello = "world"`;
export default function HighlightComponent() {
return (
<CodeHighlighter
hljsStyle={atomOneDarkReasonable}
containerStyle={styles.codeContainer}
textStyle={styles.text}
language="typescript"
>
{CODE_STR}
</CodeHighlighter>
);
}
const styles = StyleSheet.create({
codeContainer: {
padding: 16,
minWidth: "100%",
},
text: {
fontSize: 16,
},
});
CodeSandbox: https://codesandbox.io/s/react-native-code-highligher-knfsyx?file=/src/App.js
Screenshots
![Image Image](https://github.com/gmsgowtham/react-native-code-highlighter/raw/HEAD/assets/example.png?raw=true)
Contributing
See the contributing guide to learn how to contribute to the repository and the development workflow.
License
MIT
Built using
![Buy Me A Coffee](https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png)