Skip to content

Commit 76b5037

Browse files
authored
Fix the highlighting :| (#77)
* Fix the highlighting :| * Fix highlighting in green-rice-exist changeset Fix the syntax highlighting issue in the changeset. * Improve language detection for JSX and TSX
1 parent af1381d commit 76b5037

File tree

5 files changed

+20
-9
lines changed

5 files changed

+20
-9
lines changed

.changeset/green-rice-exist.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"react-github-permalink": patch
3+
---
4+
5+
Make JSX and TSX be detected specifically as JSX and TSX languages.

src/library/GithubPermalink/GithubPermalink.stories.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ export const DifferentLanguages: Story = {
3737
<p>TSX</p>
3838
<GithubPermalink permalink="https://github.com/dwjohnston/react-github-permalink/blob/242681a9df549adcc9a7fca0d8421d98b7e312c4/sample_files/sample1.tsx#L1-L11" />
3939

40+
<p>TSX2</p>
41+
<GithubPermalink permalink="https://github.com/dwjohnston/react-renders/blob/b91494bff90774073c10ba7a2a362d37c8d083ef/src/react-renders/ReactRenders3.tsx#L8-L32" />
42+
43+
4044
<p>Docker file</p>
4145
<GithubPermalink permalink="https://github.com/dwjohnston/react-github-permalink/blob/bd98ef231beeb18ed77207216464fc8e454dd721/sample_files/sample.dockerfile#L1-L20" />
4246

src/library/SyntaxHighlight/SyntaxHighlight.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,6 @@ export function SyntaxHighlight(props: {
144144
}, [])
145145

146146

147-
return <SyntaxHighlighter className={className} style={ready ? isDarkMode ? oneDark : oneLight : {}} language={language} showLineNumbers={startingLineNumber !== undefined} startingLineNumber={startingLineNumber}>{text}</SyntaxHighlighter>
147+
return <><SyntaxHighlighter className={className} style={ready ? isDarkMode ? oneDark : oneLight : {}} language={language} showLineNumbers={startingLineNumber !== undefined} startingLineNumber={startingLineNumber}>{text}</SyntaxHighlighter></>
148148

149149
}

src/library/utils/getLanguageFromPath.test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import { describe, it, expect } from 'vitest';
22
import { getLanguageFromPath } from './getLanguageFromPath';
33

44
describe('getLanguageFromPath', () => {
5-
it('should return typescript for .tsx files', () => {
6-
expect(getLanguageFromPath('ReactRenders3.tsx')).toBe('typescript');
5+
it('should return tsx for .tsx files', () => {
6+
expect(getLanguageFromPath('ReactRenders3.tsx')).toBe('tsx');
77
});
88

99
it('should return typescript for .ts files', () => {
@@ -14,8 +14,8 @@ describe('getLanguageFromPath', () => {
1414
expect(getLanguageFromPath('script.js')).toBe('javascript');
1515
});
1616

17-
it('should return javascript for .jsx files', () => {
18-
expect(getLanguageFromPath('component.jsx')).toBe('javascript');
17+
it('should return jsx for .jsx files', () => {
18+
expect(getLanguageFromPath('component.jsx')).toBe('jsx');
1919
});
2020

2121
it('should return python for .py files', () => {
@@ -59,11 +59,11 @@ describe('getLanguageFromPath', () => {
5959
});
6060

6161
it('should handle paths with multiple dots', () => {
62-
expect(getLanguageFromPath('src/components/MyComponent.tsx')).toBe('typescript');
62+
expect(getLanguageFromPath('src/components/MyComponent.tsx')).toBe('tsx');
6363
});
6464

6565
it('should handle case insensitive extensions', () => {
66-
expect(getLanguageFromPath('Component.TSX')).toBe('typescript');
66+
expect(getLanguageFromPath('Component.TSX')).toBe('tsx');
6767
expect(getLanguageFromPath('Script.JS')).toBe('javascript');
6868
});
6969
});

src/library/utils/getLanguageFromPath.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,15 @@ export function getLanguageFromPath(filePath: string): AvailableLanguagesPrism {
88

99
switch (extension) {
1010
case 'js':
11-
case 'jsx':
1211
case 'mjs':
1312
case 'cjs':
1413
return 'javascript';
14+
case 'jsx':
15+
return 'jsx';
1516
case 'ts':
16-
case 'tsx':
1717
return 'typescript';
18+
case 'tsx':
19+
return 'tsx';
1820
case 'py':
1921
case 'python':
2022
return 'python';

0 commit comments

Comments
 (0)