4.23.10 • Published 3 months ago

@uiw/codemirror-extensions-hyper-link v4.23.10

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

Hyper link Extensions

Buy me a coffee npm version

Hyper link Extensions for CodeMirror6.

Install

npm install @uiw/codemirror-extensions-hyper-link --save
import { hyperLink, hyperLinkExtension, hyperLinkStyle } from '@uiw/codemirror-extensions-hyper-link';

Usage

import CodeMirror from '@uiw/react-codemirror';
import { hyperLink } from '@uiw/codemirror-extensions-hyper-link';

const code = `https://uiwjs.github.io/react-codemirror`;

function App() {
  return <CodeMirror value={code} height="200px" extensions={[hyperLink]} />;
}
export default App;
import { EditorView } from '@codemirror/view';
import { EditorState } from '@codemirror/state';
import { hyperLink } from '@uiw/codemirror-extensions-hyper-link';

const code = `https://uiwjs.github.io/react-codemirror`;

const state = EditorState.create({
  doc: code,
  extensions: [hyperLink],
});

const view = new EditorView({
  parent: document.querySelector('#editor'),
  state,
});

Custom match content

import { EditorView } from '@codemirror/view';
import { EditorState } from '@codemirror/state';
import { hyperLinkExtension, hyperLinkStyle } from '@uiw/codemirror-extensions-hyper-link';

const code = `Hyper Link\n====`;

export const hyperLink: Extension = [
  hyperLinkExtension({
    regexp: /Hyper/gi,
    match: { Hyper: 'https://google.com' },
    handle: (value, input, from, to) => {
      if (value === 'Hyper') return 'https://google.com';
      return value;
    },
  }),
  hyperLinkStyle,
];

const state = EditorState.create({
  doc: code,
  extensions: [hyperLink],
});

const view = new EditorView({
  parent: document.querySelector('#editor'),
  state,
});

API

import { ViewPlugin, DecorationSet, MatchDecorator, ViewUpdate } from '@codemirror/view';
import { Extension } from '@codemirror/state';
export interface HyperLinkState {
  at: number;
  url: string;
  anchor: HyperLinkExtensionOptions['anchor'];
}
export type HyperLinkExtensionOptions = {
  regexp?: RegExp;
  match?: Record<string, string>;
  handle?: (value: string, input: string, from: number, to: number) => string;
  anchor?: (dom: HTMLAnchorElement) => HTMLAnchorElement;
};
export declare function hyperLinkExtension({ regexp, match, handle, anchor }?: HyperLinkExtensionOptions): ViewPlugin<{
  decorator?: MatchDecorator | undefined;
  decorations: DecorationSet;
  update(update: ViewUpdate): void;
}>;
export declare const hyperLinkStyle: Extension;
export declare const hyperLink: Extension;

Contributors

As always, thanks to our amazing contributors!

Made with github-action-contributors.

License

Licensed under the MIT License.

4.23.10

3 months ago

4.23.8

4 months ago

4.23.9

4 months ago

4.23.7

6 months ago

4.23.6

8 months ago

4.23.4

8 months ago

4.23.5

8 months ago

4.23.1

9 months ago

4.23.2

9 months ago

4.23.3

9 months ago

4.23.0

11 months ago

4.22.2

1 year ago

4.22.1

1 year ago

4.22.0

1 year ago

4.21.25

1 year ago

4.21.24

1 year ago

4.21.23

1 year ago

4.21.22

1 year ago

4.21.11

2 years ago

4.21.10

2 years ago

4.21.13

2 years ago

4.21.12

2 years ago

4.21.19

2 years ago

4.21.18

2 years ago

4.21.15

2 years ago

4.21.14

2 years ago

4.21.17

2 years ago

4.21.16

2 years ago

4.21.9

2 years ago

4.21.8

2 years ago

4.21.21

2 years ago

4.21.20

2 years ago

4.21.6

2 years ago

4.21.7

2 years ago

4.21.4

2 years ago

4.21.5

2 years ago

4.21.1

2 years ago

4.21.2

2 years ago

4.21.3

2 years ago

4.21.0

2 years ago

4.20.2

2 years ago

4.20.3

2 years ago

4.20.4

2 years ago

4.20.0

2 years ago

4.20.1

2 years ago

4.19.14

2 years ago

4.19.13

2 years ago

4.19.12

2 years ago

4.19.11

2 years ago

4.19.10

2 years ago

4.19.16

2 years ago

4.19.15

2 years ago

4.19.8

2 years ago

4.19.9

2 years ago

4.19.5

2 years ago

4.19.6

2 years ago

4.19.7

2 years ago

4.19.3

3 years ago

4.19.4

2 years ago

4.19.0

3 years ago

4.18.1

3 years ago

4.19.1

3 years ago

4.18.2

3 years ago

4.19.2

3 years ago

4.16.0

3 years ago

4.17.0

3 years ago

4.18.0

3 years ago

4.17.1

3 years ago

4.15.0

3 years ago

4.14.1

3 years ago

4.13.2

3 years ago

4.15.1

3 years ago

4.14.2

3 years ago

4.12.4

3 years ago

4.14.3

3 years ago

4.13.0

3 years ago

4.14.0

3 years ago

4.13.1

3 years ago

4.12.3

3 years ago

4.12.2

3 years ago

4.11.5

3 years ago

4.11.6

3 years ago

4.12.0

3 years ago

4.12.1

3 years ago

4.11.4

3 years ago

4.11.3

3 years ago

4.11.2

3 years ago

4.11.1

3 years ago