4.22.0 • Published 10 days ago

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

Weekly downloads
-
License
MIT
Repository
github
Last release
10 days 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.22.0

10 days ago

4.21.25

2 months ago

4.21.24

2 months ago

4.21.23

3 months ago

4.21.22

3 months ago

4.21.11

9 months ago

4.21.10

9 months ago

4.21.13

8 months ago

4.21.12

8 months ago

4.21.19

7 months ago

4.21.18

8 months ago

4.21.15

8 months ago

4.21.14

8 months ago

4.21.17

8 months ago

4.21.16

8 months ago

4.21.9

10 months ago

4.21.8

10 months ago

4.21.21

5 months ago

4.21.20

7 months ago

4.21.6

11 months ago

4.21.7

11 months ago

4.21.4

11 months ago

4.21.5

11 months ago

4.21.1

11 months ago

4.21.2

11 months ago

4.21.3

11 months ago

4.21.0

11 months ago

4.20.2

12 months ago

4.20.3

11 months ago

4.20.4

11 months ago

4.20.0

12 months ago

4.20.1

12 months ago

4.19.14

1 year ago

4.19.13

1 year ago

4.19.12

1 year ago

4.19.11

1 year ago

4.19.10

1 year ago

4.19.16

1 year ago

4.19.15

1 year ago

4.19.8

1 year ago

4.19.9

1 year ago

4.19.5

1 year ago

4.19.6

1 year ago

4.19.7

1 year ago

4.19.3

1 year ago

4.19.4

1 year ago

4.19.0

1 year ago

4.18.1

1 year ago

4.19.1

1 year ago

4.18.2

1 year ago

4.19.2

1 year ago

4.16.0

1 year ago

4.17.0

1 year ago

4.18.0

1 year ago

4.17.1

1 year ago

4.15.0

1 year ago

4.14.1

1 year ago

4.13.2

1 year ago

4.15.1

1 year ago

4.14.2

1 year ago

4.12.4

2 years ago

4.14.3

1 year ago

4.13.0

2 years ago

4.14.0

1 year ago

4.13.1

1 year ago

4.12.3

2 years ago

4.12.2

2 years ago

4.11.5

2 years ago

4.11.6

2 years ago

4.12.0

2 years ago

4.12.1

2 years ago

4.11.4

2 years ago

4.11.3

2 years ago

4.11.2

2 years ago

4.11.1

2 years ago