Code/Syntax highlighter for React Native. Inspired by react-native-syntax-highlighter, using react-syntax-highlighter
npm install react-native-code-highlighter react-syntax-highlighter
yarn add react-native-code-highlighter react-syntax-highlighter
Additional for typescript
npm install --save-dev @types/react-syntax-highlighter
yarn add -D @types/react-syntax-highlighter
Prop | Description | Type | Optional |
---|---|---|---|
hljsStyle | Highlight.js style imported from react-syntax-highlighter/dist/esm/styles/hljs
|
{ [key: string]: React.CSSProperties } |
false |
textStyle | Style for the text text components. Note: color property will be overridden |
StyleProp<TextStyle> |
true |
scrollViewProps | Props for the underlying scroll view. horizontal is ignored |
ScrollViewProps | true |
containerStyle | Deprecated. containerStyle for the underlying ScrollView . Use scrollViewProps.contentContainerStyle instead |
StyleProp<ViewStyle> |
true |
react-syntax-highlighter Props | Props supported by react-syntax-highlighter. i.e. language
|
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
See the contributing guide to learn how to contribute to the repository and the development workflow.
MIT