codemirror-editor.ts 722 B

123456789101112131415161718192021222324
  1. import type { Extension } from '@codemirror/state';
  2. import { scrollPastEnd } from '@codemirror/view';
  3. import type { SWRResponse } from 'swr';
  4. import type { UseCodeMirrorEditorStates } from '../services';
  5. import { useCodeMirrorEditor } from '../services';
  6. import { useStaticSWR } from './use-static-swr';
  7. export const defaultExtensionsMain: Extension[] = [
  8. scrollPastEnd(),
  9. ];
  10. export const useCodeMirrorEditorMain = (container?: HTMLDivElement | null): SWRResponse<UseCodeMirrorEditorStates> => {
  11. const states = useCodeMirrorEditor({
  12. container,
  13. autoFocus: true,
  14. extensions: [
  15. scrollPastEnd(),
  16. ],
  17. });
  18. return useStaticSWR('codeMirrorEditorMain', container != null ? states : undefined);
  19. };