index.ts 940 B

123456789101112131415161718192021222324252627
  1. import type { Extension } from '@codemirror/state';
  2. import type { EditorTheme } from '../../consts';
  3. export const getEditorTheme = async(themeName?: EditorTheme): Promise<Extension> => {
  4. switch (themeName) {
  5. case 'eclipse':
  6. return (await import('./eclipse')).eclipse;
  7. case 'basic':
  8. return (await import('cm6-theme-basic-light')).basicLight;
  9. case 'ayu':
  10. return (await import('./ayu')).ayu;
  11. case 'rosepine':
  12. return (await import('./rose-pine')).rosePine;
  13. case 'defaultdark':
  14. return (await import('./original-dark')).originalDark;
  15. case 'material':
  16. return (await import('./material')).materialDark;
  17. case 'nord':
  18. return (await import('./nord')).nord;
  19. case 'cobalt':
  20. return (await import('./cobalt')).cobalt;
  21. case 'kimbie':
  22. return (await import('@uiw/codemirror-theme-kimbie')).kimbie;
  23. }
  24. return (await import('./original-light')).originalLight;
  25. };