# react-native-syntax-highlighter

> a react native component for syntax highlighting

Latest version **2.1.0** (published 2019-09-16) · MIT license · 0 weekly downloads

## Install

```sh
npm install react-native-syntax-highlighter
pnpm add react-native-syntax-highlighter
yarn add react-native-syntax-highlighter
bun add react-native-syntax-highlighter
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.1.0 |
| Published | 2019-09-16 |
| First published | 2017-04-30 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 6.9 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 184 |
| Author | Conor Hastings |
| Maintainers | conorhastings |
| Keywords | react, react-native, syntax, syntax, highlighting, highlight.js, react-syntax-highlighter |

## Links

- npm: https://www.npmjs.com/package/react-native-syntax-highlighter
- Repository: https://github.com/conorhastings/react-native-syntax-highlighter
- Homepage: https://github.com/conorhastings/react-native-syntax-highlighter#readme
- Issues: https://github.com/conorhastings/react-native-syntax-highlighter/issues
- npm.io page: https://npm.io/package/react-native-syntax-highlighter

## Dependencies (1)

- [react-syntax-highlighter](https://npm.io/package/react-syntax-highlighter.md) ^6.0.4

## Alternatives

- [mobx-react](https://npm.io/package/mobx-react.md) — 2.8M weekly downloads
- [rc-tree](https://npm.io/package/rc-tree.md) — 2.6M weekly downloads
- [@react-oauth/google](https://npm.io/package/@react-oauth/google.md) — 1.3M weekly downloads
- [@wagmi/connectors](https://npm.io/package/@wagmi/connectors.md) — 877.0K weekly downloads
- [vee-validate](https://npm.io/package/vee-validate.md) — 836.4K weekly downloads

## Recent versions

- 2.1.0 (latest) — 2019-09-16
- 1.3.0-beta (beta) — 2017-12-10
- 2.0.1 — 2019-07-06
- 2.0.0 — 2018-01-13
- 1.3.0-beta-2 — 2017-12-11
- 1.2.6 — 2017-12-05
- 1.2.5 — 2017-08-25
- 1.2.4-beta — 2017-08-25
- 1.2.3 — 2017-08-06
- 1.2.2 — 2017-07-26
- 1.2.1 — 2017-05-30
- 1.2.0 — 2017-05-21
- 1.1.0 — 2017-05-03
- 1.0.0 — 2017-05-01
- 0.0.1 — 2017-04-30

## README

## React Native Syntax Highlighter


Syntax highlighting component for `React Native` using <a href='https://github.com/conorhastings/react-syntax-highlighter'> `react-syntax-highlighter`</a>

You can see a <a href="https://snack.expo.io/BypG26zdz">demo</a> using snack by <a href="https://expo.io">Expo</a>

Alternatively you can scan this qr code in The Expo app to access on your phone:

<img src="./qr.png" />

### With Highlight.js vdom
<img src='./react-native-syntax-highlighter.gif' />

### With Prism vdom
<img src='./react-native-syntax-highlighter-prism.gif' />


You can try it out with <a href='https://expo.io'>Expo</a> <a href='https://expo.io/@conor/test-native-syntax'>here</a>

### Install

`npm install react-native-syntax-highlighter --save`


### Use

#### props
Accepts all of the same props as <a href='https://github.com/conorhastings/react-syntax-highlighter'> `react-syntax-highlighter`</a> with three additional props.
* `fontFamily` - the font family to use for syntax text.
* `fontSize` - the fontSize for syntax text.
* `highligter` - defaults to rendering with vdom created from highlightjs, but can pass in `prism` as alternate option. You can see more about dealing with the prism highlighter in the docs for <a href='https://github.com/conorhastings/react-syntax-highlighter'>react-syntax-highlighter</a> but one of the main uses would be better support for jsx

```js
import SyntaxHighlighter from 'react-native-syntax-highlighter';
/*by default component uses hljs so access hljs styles, import from /prism for prism styles */
import { docco } from 'react-syntax-highlighter/styles/hljs';
const Component = () => {
  const codeString = '(num) => num + 1';
  return <SyntaxHighlighter 
  	language='javascript' 
  	style={docco}
  	highlighter={"prism" || "hljs"}
  >
  	{codeString}
  </SyntaxHighlighter>;  
}
```

### Unsupported Props
Some of the react-syntax-highlighter props are not currently supported by the mobile version, you can see which listed below:

- useInlineStyles
- showLineNumbers
- startingLineNumber
- lineNumberContainerStyle
- lineNumberStyle

### Styles Available -- hljs 

* agate
* androidstudio
* arduinoLight
* arta
* ascetic
* atelierCaveDark
* atelierCaveLight
* atelierDuneDark
* atelierDuneLight
* atelierEstuaryDark
* atelierEstuaryLight
* atelierForestDark
* atelierForestLight
* atelierHeathDark
* atelierHeathLight
* atelierLakesideDark
* atelierLakesideLight
* atelierPlateauDark
* atelierPlateauLight
* atelierSavannaDark
* atelierSavannaLight
* atelierSeasideDark
* atelierSeasideLight
* atelierSulphurpoolDark
* atelierSulphurpoolLight
* atomOneDark
* atomOneLight
* brownPaper
* codepenEmbed
* colorBrewer
* darcula
* dark
* darkula
* defaultStyle
* docco
* dracula
* far
* foundation
* githubGist
* github
* googlecode
* grayscale
* gruvboxDark
* gruvboxLight
* hopscotch
* hybrid
* idea
* irBlack
* kimbieDark
* kimbieLight
* magula
* monoBlue
* monokaiSublime
* monokai
* obsidian
* ocean
* paraisoDark
* paraisoLight
* pojoaque
* purebasic
* qtcreatorDark
* qtcreatorLight
* railscasts
* rainbow
* routeros
* schoolBook
* solarizedDark
* solarizedLight
* sunburst
* tomorrowNightBlue
* tomorrowNightBright
* tomorrowNightEighties
* tomorrowNight
* tomorrow
* vs
* vs2015
* xcode
* xt256
* zenburn

### Styles Available -- prism

* coy
* dark
* funky
* okaidia
* solarizedlight
* tomorrow
* twilight
* prism
* atomDark
* base16AteliersulphurpoolLight
* cb
* darcula
* duotoneDark
* duotoneEarth
* duotoneForest
* duotoneLight
* duotoneSea
* duotoneSpace
* ghcolors
* hopscotch
* pojoaque
* vs
* xonokai

---
_Source: https://npm.io/package/react-native-syntax-highlighter · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
