@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.
- package/dist/packages/extension-code-block-lowlight/src/code-block-lowlight.d.ts +1 -0
- package/dist/packages/extension-code-block-lowlight/src/lowlight-plugin.d.ts +2 -1
- package/dist/tiptap-extension-code-block-lowlight.cjs.js +24 -8
- package/dist/tiptap-extension-code-block-lowlight.cjs.js.map +1 -1
- package/dist/tiptap-extension-code-block-lowlight.esm.js +24 -8
- package/dist/tiptap-extension-code-block-lowlight.esm.js.map +1 -1
- package/dist/tiptap-extension-code-block-lowlight.umd.js +24 -8
- package/dist/tiptap-extension-code-block-lowlight.umd.js.map +1 -1
- package/package.json +4 -4
- package/src/code-block-lowlight.ts +8 -3
- package/src/lowlight-plugin.ts +21 -5
|
@@ -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
|
|
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({
|
|
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({
|
|
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
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
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
|
},
|