@tiptap/extension-code-block-lowlight 2.0.0-beta.48 → 2.0.0-beta.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,6 @@
1
1
  import { CodeBlockOptions } from '@tiptap/extension-code-block';
2
2
  export interface CodeBlockLowlightOptions extends CodeBlockOptions {
3
3
  lowlight: any;
4
+ defaultLanguage: string | null | undefined;
4
5
  }
5
6
  export declare const CodeBlockLowlight: import("@tiptap/core").Node<CodeBlockLowlightOptions, any>;
@@ -1,5 +1,6 @@
1
1
  import { Plugin } from 'prosemirror-state';
2
- export declare function LowlightPlugin({ name, lowlight }: {
2
+ export declare function LowlightPlugin({ name, lowlight, defaultLanguage }: {
3
3
  name: string;
4
4
  lowlight: any;
5
+ defaultLanguage: string | null | undefined;
5
6
  }): Plugin<any, any>;
@@ -2902,12 +2902,13 @@ function getHighlightNodes(result) {
2902
2902
  // `.value` for lowlight v1, `.children` for lowlight v2
2903
2903
  return result.value || result.children || [];
2904
2904
  }
2905
- function getDecorations({ doc, name, lowlight }) {
2905
+ function getDecorations({ doc, name, lowlight, defaultLanguage, }) {
2906
2906
  const decorations = [];
2907
2907
  core$2.findChildren(doc, node => node.type.name === name)
2908
2908
  .forEach(block => {
2909
2909
  let from = block.pos + 1;
2910
- const { language } = block.node.attrs;
2910
+ const language = block.node.attrs.language || defaultLanguage;
2911
+ console.log({ language, defaultLanguage });
2911
2912
  const languages = lowlight.listLanguages();
2912
2913
  const nodes = language && languages.includes(language)
2913
2914
  ? getHighlightNodes(lowlight.highlight(language, block.node.textContent))
@@ -2925,11 +2926,16 @@ function getDecorations({ doc, name, lowlight }) {
2925
2926
  });
2926
2927
  return prosemirrorView.DecorationSet.create(doc, decorations);
2927
2928
  }
2928
- function LowlightPlugin({ name, lowlight }) {
2929
+ function LowlightPlugin({ name, lowlight, defaultLanguage }) {
2929
2930
  return new prosemirrorState.Plugin({
2930
2931
  key: new prosemirrorState.PluginKey('lowlight'),
2931
2932
  state: {
2932
- init: (_, { doc }) => getDecorations({ doc, name, lowlight }),
2933
+ init: (_, { doc }) => getDecorations({
2934
+ doc,
2935
+ name,
2936
+ lowlight,
2937
+ defaultLanguage,
2938
+ }),
2933
2939
  apply: (transaction, decorationSet, oldState, newState) => {
2934
2940
  const oldNodeName = oldState.selection.$head.parent.type.name;
2935
2941
  const newNodeName = newState.selection.$head.parent.type.name;
@@ -2957,7 +2963,12 @@ function LowlightPlugin({ name, lowlight }) {
2957
2963
  && node.pos + node.node.nodeSize <= step.to;
2958
2964
  });
2959
2965
  }))) {
2960
- return getDecorations({ doc: transaction.doc, name, lowlight });
2966
+ return getDecorations({
2967
+ doc: transaction.doc,
2968
+ name,
2969
+ lowlight,
2970
+ defaultLanguage,
2971
+ });
2961
2972
  }
2962
2973
  return decorationSet.map(transaction.mapping, transaction.doc);
2963
2974
  },
@@ -2971,9 +2982,13 @@ function LowlightPlugin({ name, lowlight }) {
2971
2982
  }
2972
2983
 
2973
2984
  const CodeBlockLowlight = CodeBlock__default["default"].extend({
2974
- defaultOptions: {
2975
- ...CodeBlock__default["default"].options,
2976
- lowlight: core$1,
2985
+ addOptions() {
2986
+ var _a;
2987
+ return {
2988
+ ...(_a = this.parent) === null || _a === void 0 ? void 0 : _a.call(this),
2989
+ lowlight: core$1,
2990
+ defaultLanguage: null,
2991
+ };
2977
2992
  },
2978
2993
  addProseMirrorPlugins() {
2979
2994
  var _a;
@@ -2982,6 +2997,7 @@ const CodeBlockLowlight = CodeBlock__default["default"].extend({
2982
2997
  LowlightPlugin({
2983
2998
  name: this.name,
2984
2999
  lowlight: this.options.lowlight,
3000
+ defaultLanguage: this.options.defaultLanguage,
2985
3001
  }),
2986
3002
  ];
2987
3003
  },