@uiw/react-codemirror 4.21.11 → 4.21.13
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/README.md +3 -0
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +24 -0
- package/cjs/useCodeMirror.js +8 -8
- package/dist/codemirror.js +85 -58
- package/dist/codemirror.min.js +1 -1
- package/esm/index.d.ts +2 -0
- package/esm/index.js +2 -0
- package/esm/useCodeMirror.js +6 -6
- package/package.json +2 -2
- package/src/index.tsx +3 -0
- package/src/useCodeMirror.ts +6 -6
package/README.md
CHANGED
|
@@ -59,11 +59,13 @@ npm install @uiw/react-codemirror --save
|
|
|
59
59
|
| `@uiw/codemirror-theme-abcdef` | [](https://www.npmjs.com/package/@uiw/codemirror-theme-abcdef) [](https://www.npmjs.com/package/@uiw/codemirror-theme-abcdef) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/abcdef) |
|
|
60
60
|
| `@uiw/codemirror-theme-abyss` | [](https://www.npmjs.com/package/@uiw/codemirror-theme-abyss) [](https://www.npmjs.com/package/@uiw/codemirror-theme-abyss) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/abyss) |
|
|
61
61
|
| `@uiw/codemirror-theme-androidstudio` | [](https://www.npmjs.com/package/@uiw/codemirror-theme-androidstudio) [](https://www.npmjs.com/package/@uiw/codemirror-theme-androidstudio) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/androidstudio) |
|
|
62
|
+
| `@uiw/codemirror-theme-andromeda` | [](https://www.npmjs.com/package/@uiw/codemirror-theme-andromeda) [](https://www.npmjs.com/package/@uiw/codemirror-theme-andromeda) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/andromeda) |
|
|
62
63
|
| `@uiw/codemirror-theme-atomone` | [](https://www.npmjs.com/package/@uiw/codemirror-theme-atomone) [](https://www.npmjs.com/package/@uiw/codemirror-theme-atomone) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/atomone) |
|
|
63
64
|
| `@uiw/codemirror-theme-aura` | [](https://www.npmjs.com/package/@uiw/codemirror-theme-aura) [](https://www.npmjs.com/package/@uiw/codemirror-theme-aura) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/aura) |
|
|
64
65
|
| `@uiw/codemirror-theme-basic` | [](https://www.npmjs.com/package/@uiw/codemirror-theme-basic) [](https://www.npmjs.com/package/@uiw/codemirror-theme-basic) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/bbedit) |
|
|
65
66
|
| `@uiw/codemirror-theme-bbedit` | [](https://www.npmjs.com/package/@uiw/codemirror-theme-bbedit) [](https://www.npmjs.com/package/@uiw/codemirror-theme-bbedit) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/bbedit) |
|
|
66
67
|
| `@uiw/codemirror-theme-bespin` | [](https://www.npmjs.com/package/@uiw/codemirror-theme-bespin) [](https://www.npmjs.com/package/@uiw/codemirror-theme-bespin) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/bespin) |
|
|
68
|
+
| `@uiw/codemirror-theme-copilot` | [](https://www.npmjs.com/package/@uiw/codemirror-theme-copilot) [](https://www.npmjs.com/package/@uiw/codemirror-theme-copilot) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/copilot) |
|
|
67
69
|
| `@uiw/codemirror-theme-duotone` | [](https://www.npmjs.com/package/@uiw/codemirror-theme-duotone) [](https://www.npmjs.com/package/@uiw/codemirror-theme-duotone) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/duotone/light) |
|
|
68
70
|
| `@uiw/codemirror-theme-dracula` | [](https://www.npmjs.com/package/@uiw/codemirror-theme-dracula) [](https://www.npmjs.com/package/@uiw/codemirror-theme-dracula) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/dracula) |
|
|
69
71
|
| `@uiw/codemirror-theme-darcula` | [](https://www.npmjs.com/package/@uiw/codemirror-theme-darcula) [](https://www.npmjs.com/package/@uiw/codemirror-theme-darcula) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/darcula) |
|
|
@@ -85,6 +87,7 @@ npm install @uiw/react-codemirror --save
|
|
|
85
87
|
| `@uiw/codemirror-theme-tokyo-night-storm` | [](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-storm) [](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-storm) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/tokyo-night-storm) |
|
|
86
88
|
| `@uiw/codemirror-theme-tokyo-night-day` | [](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-day) [](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-day) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/tokyo-night-day) |
|
|
87
89
|
| `@uiw/codemirror-theme-vscode` | [](https://www.npmjs.com/package/@uiw/codemirror-theme-vscode) [](https://www.npmjs.com/package/@uiw/codemirror-theme-vscode) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/vscode) |
|
|
90
|
+
| `@uiw/codemirror-theme-white` | [](https://www.npmjs.com/package/@uiw/codemirror-theme-white) [](https://www.npmjs.com/package/@uiw/codemirror-theme-white) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/white/light) |
|
|
88
91
|
| `@uiw/codemirror-theme-tomorrow-night-blue` | [](https://www.npmjs.com/package/@uiw/codemirror-theme-tomorrow-night-blue) [](https://www.npmjs.com/package/@uiw/codemirror-theme-tomorrow-night-blue) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/tomorrow-night-blue) |
|
|
89
92
|
| `@uiw/codemirror-theme-xcode` | [](https://www.npmjs.com/package/@uiw/codemirror-theme-xcode) [](https://www.npmjs.com/package/@uiw/codemirror-theme-xcode) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/xcode) |
|
|
90
93
|
|
package/cjs/index.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ import { EditorState, EditorStateConfig, Extension, StateField } from '@codemirr
|
|
|
3
3
|
import { EditorView, ViewUpdate } from '@codemirror/view';
|
|
4
4
|
import { BasicSetupOptions } from '@uiw/codemirror-extensions-basic-setup';
|
|
5
5
|
import { Statistics } from './utils';
|
|
6
|
+
export * from '@codemirror/view';
|
|
7
|
+
export * from '@codemirror/state';
|
|
6
8
|
export * from '@uiw/codemirror-extensions-basic-setup';
|
|
7
9
|
export * from './useCodeMirror';
|
|
8
10
|
export * from './getDefaultExtensions';
|
package/cjs/index.js
CHANGED
|
@@ -24,6 +24,30 @@ Object.keys(_useCodeMirror2).forEach(function (key) {
|
|
|
24
24
|
});
|
|
25
25
|
});
|
|
26
26
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
27
|
+
var _view = require("@codemirror/view");
|
|
28
|
+
Object.keys(_view).forEach(function (key) {
|
|
29
|
+
if (key === "default" || key === "__esModule") return;
|
|
30
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
31
|
+
if (key in exports && exports[key] === _view[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function get() {
|
|
35
|
+
return _view[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
var _state = require("@codemirror/state");
|
|
40
|
+
Object.keys(_state).forEach(function (key) {
|
|
41
|
+
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
43
|
+
if (key in exports && exports[key] === _state[key]) return;
|
|
44
|
+
Object.defineProperty(exports, key, {
|
|
45
|
+
enumerable: true,
|
|
46
|
+
get: function get() {
|
|
47
|
+
return _state[key];
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
});
|
|
27
51
|
var _codemirrorExtensionsBasicSetup = require("@uiw/codemirror-extensions-basic-setup");
|
|
28
52
|
Object.keys(_codemirrorExtensionsBasicSetup).forEach(function (key) {
|
|
29
53
|
if (key === "default" || key === "__esModule") return;
|
package/cjs/useCodeMirror.js
CHANGED
|
@@ -27,19 +27,19 @@ function useCodeMirror(props) {
|
|
|
27
27
|
_props$theme = props.theme,
|
|
28
28
|
theme = _props$theme === void 0 ? 'light' : _props$theme,
|
|
29
29
|
_props$height = props.height,
|
|
30
|
-
height = _props$height === void 0 ?
|
|
30
|
+
height = _props$height === void 0 ? null : _props$height,
|
|
31
31
|
_props$minHeight = props.minHeight,
|
|
32
|
-
minHeight = _props$minHeight === void 0 ?
|
|
32
|
+
minHeight = _props$minHeight === void 0 ? null : _props$minHeight,
|
|
33
33
|
_props$maxHeight = props.maxHeight,
|
|
34
|
-
maxHeight = _props$maxHeight === void 0 ?
|
|
35
|
-
_props$placeholder = props.placeholder,
|
|
36
|
-
placeholderStr = _props$placeholder === void 0 ? '' : _props$placeholder,
|
|
34
|
+
maxHeight = _props$maxHeight === void 0 ? null : _props$maxHeight,
|
|
37
35
|
_props$width = props.width,
|
|
38
|
-
width = _props$width === void 0 ?
|
|
36
|
+
width = _props$width === void 0 ? null : _props$width,
|
|
39
37
|
_props$minWidth = props.minWidth,
|
|
40
|
-
minWidth = _props$minWidth === void 0 ?
|
|
38
|
+
minWidth = _props$minWidth === void 0 ? null : _props$minWidth,
|
|
41
39
|
_props$maxWidth = props.maxWidth,
|
|
42
|
-
maxWidth = _props$maxWidth === void 0 ?
|
|
40
|
+
maxWidth = _props$maxWidth === void 0 ? null : _props$maxWidth,
|
|
41
|
+
_props$placeholder = props.placeholder,
|
|
42
|
+
placeholderStr = _props$placeholder === void 0 ? '' : _props$placeholder,
|
|
43
43
|
_props$editable = props.editable,
|
|
44
44
|
editable = _props$editable === void 0 ? true : _props$editable,
|
|
45
45
|
_props$readOnly = props.readOnly,
|
package/dist/codemirror.js
CHANGED
|
@@ -149,7 +149,7 @@ var getDefaultExtensions = __webpack_require__(736);
|
|
|
149
149
|
// EXTERNAL MODULE: ./src/utils.ts
|
|
150
150
|
var utils = __webpack_require__(742);
|
|
151
151
|
;// CONCATENATED MODULE: ./src/useCodeMirror.ts
|
|
152
|
-
var External=state_.Annotation.define();var emptyExtensions=[];function useCodeMirror(props){var value=props.value,selection=props.selection,onChange=props.onChange,onStatistics=props.onStatistics,onCreateEditor=props.onCreateEditor,onUpdate=props.onUpdate,_props$extensions=props.extensions,extensions=_props$extensions===void 0?emptyExtensions:_props$extensions,autoFocus=props.autoFocus,_props$theme=props.theme,theme=_props$theme===void 0?'light':_props$theme,_props$height=props.height,height=_props$height===void 0?
|
|
152
|
+
var External=state_.Annotation.define();var emptyExtensions=[];function useCodeMirror(props){var value=props.value,selection=props.selection,onChange=props.onChange,onStatistics=props.onStatistics,onCreateEditor=props.onCreateEditor,onUpdate=props.onUpdate,_props$extensions=props.extensions,extensions=_props$extensions===void 0?emptyExtensions:_props$extensions,autoFocus=props.autoFocus,_props$theme=props.theme,theme=_props$theme===void 0?'light':_props$theme,_props$height=props.height,height=_props$height===void 0?null:_props$height,_props$minHeight=props.minHeight,minHeight=_props$minHeight===void 0?null:_props$minHeight,_props$maxHeight=props.maxHeight,maxHeight=_props$maxHeight===void 0?null:_props$maxHeight,_props$width=props.width,width=_props$width===void 0?null:_props$width,_props$minWidth=props.minWidth,minWidth=_props$minWidth===void 0?null:_props$minWidth,_props$maxWidth=props.maxWidth,maxWidth=_props$maxWidth===void 0?null:_props$maxWidth,_props$placeholder=props.placeholder,placeholderStr=_props$placeholder===void 0?'':_props$placeholder,_props$editable=props.editable,editable=_props$editable===void 0?true:_props$editable,_props$readOnly=props.readOnly,readOnly=_props$readOnly===void 0?false:_props$readOnly,_props$indentWithTab=props.indentWithTab,defaultIndentWithTab=_props$indentWithTab===void 0?true:_props$indentWithTab,_props$basicSetup=props.basicSetup,defaultBasicSetup=_props$basicSetup===void 0?true:_props$basicSetup,root=props.root,initialState=props.initialState;var _useState=(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(),_useState2=_slicedToArray(_useState,2),container=_useState2[0],setContainer=_useState2[1];var _useState3=(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(),_useState4=_slicedToArray(_useState3,2),view=_useState4[0],setView=_useState4[1];var _useState5=(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(),_useState6=_slicedToArray(_useState5,2),state=_useState6[0],setState=_useState6[1];var defaultThemeOption=view_.EditorView.theme({'&':{height:height,minHeight:minHeight,maxHeight:maxHeight,width:width,minWidth:minWidth,maxWidth:maxWidth},'& .cm-scroller':{height:'100% !important'}});var updateListener=view_.EditorView.updateListener.of(function(vu){if(vu.docChanged&&typeof onChange==='function'&&// Fix echoing of the remote changes:
|
|
153
153
|
// If transaction is market as remote we don't have to call `onChange` handler again
|
|
154
154
|
!vu.transactions.some(function(tr){return tr.annotation(External);})){var doc=vu.state.doc;var _value=doc.toString();onChange(_value,vu);}onStatistics&&onStatistics((0,utils/* getStatistics */.a)(vu));});var defaultExtensions=(0,getDefaultExtensions.getDefaultExtensions)({theme:theme,editable:editable,readOnly:readOnly,placeholder:placeholderStr,indentWithTab:defaultIndentWithTab,basicSetup:defaultBasicSetup});var getExtensions=[updateListener,defaultThemeOption].concat(_toConsumableArray(defaultExtensions));if(onUpdate&&typeof onUpdate==='function'){getExtensions.push(view_.EditorView.updateListener.of(onUpdate));}getExtensions=getExtensions.concat(extensions);(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function(){if(container&&!state){var config={doc:value,selection:selection,extensions:getExtensions};var stateCurrent=initialState?state_.EditorState.fromJSON(initialState.json,config,initialState.fields):state_.EditorState.create(config);setState(stateCurrent);if(!view){var viewCurrent=new view_.EditorView({state:stateCurrent,parent:container,root:root});setView(viewCurrent);onCreateEditor&&onCreateEditor(viewCurrent,stateCurrent);}}return function(){if(view){setState(undefined);setView(undefined);}};},[container,state]);(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function(){return setContainer(props.container);},[props.container]);(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function(){return function(){if(view){view.destroy();setView(undefined);}};},[view]);(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function(){if(autoFocus&&view){view.focus();}},[autoFocus,view]);(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function(){if(view){view.dispatch({effects:state_.StateEffect.reconfigure.of(getExtensions)});}// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
155
155
|
},[theme,extensions,height,minHeight,maxHeight,width,minWidth,maxWidth,placeholderStr,editable,readOnly,defaultIndentWithTab,defaultBasicSetup,onChange,onUpdate]);(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function(){if(value===undefined){return;}var currentValue=view?view.state.doc.toString():'';if(view&&value!==currentValue){view.dispatch({changes:{from:0,to:currentValue.length,insert:value||''},annotations:[External.of(true)]});}},[value,view]);return{state:state,setState:setState,view:view,setView:setView,container:container,setContainer:setContainer};}
|
|
@@ -464,7 +464,7 @@ class MultilineRegExpCursor {
|
|
|
464
464
|
this.matchPos = toCharEnd(text, from);
|
|
465
465
|
this.re = new RegExp(query, baseFlags + ((options === null || options === void 0 ? void 0 : options.ignoreCase) ? "i" : ""));
|
|
466
466
|
this.test = options === null || options === void 0 ? void 0 : options.test;
|
|
467
|
-
this.flat = FlattenedDoc.get(text, from, this.chunkEnd(from + 5000 /* Base */));
|
|
467
|
+
this.flat = FlattenedDoc.get(text, from, this.chunkEnd(from + 5000 /* Chunk.Base */));
|
|
468
468
|
}
|
|
469
469
|
chunkEnd(pos) {
|
|
470
470
|
return pos >= this.to ? this.to : this.text.lineAt(pos).to;
|
|
@@ -870,7 +870,7 @@ class StringQuery extends QueryType {
|
|
|
870
870
|
// cursor, done by scanning chunk after chunk forward.
|
|
871
871
|
prevMatchInRange(state, from, to) {
|
|
872
872
|
for (let pos = to;;) {
|
|
873
|
-
let start = Math.max(from, pos - 10000 /* ChunkSize */ - this.spec.unquoted.length);
|
|
873
|
+
let start = Math.max(from, pos - 10000 /* FindPrev.ChunkSize */ - this.spec.unquoted.length);
|
|
874
874
|
let cursor = stringCursor(this.spec, state, start, pos), range = null;
|
|
875
875
|
while (!cursor.nextOverlapping().done)
|
|
876
876
|
range = cursor.value;
|
|
@@ -878,7 +878,7 @@ class StringQuery extends QueryType {
|
|
|
878
878
|
return range;
|
|
879
879
|
if (start == from)
|
|
880
880
|
return null;
|
|
881
|
-
pos -= 10000 /* ChunkSize */;
|
|
881
|
+
pos -= 10000 /* FindPrev.ChunkSize */;
|
|
882
882
|
}
|
|
883
883
|
}
|
|
884
884
|
prevMatch(state, curFrom, curTo) {
|
|
@@ -929,7 +929,7 @@ class RegExpQuery extends QueryType {
|
|
|
929
929
|
}
|
|
930
930
|
prevMatchInRange(state, from, to) {
|
|
931
931
|
for (let size = 1;; size++) {
|
|
932
|
-
let start = Math.max(from, to - size * 10000 /* ChunkSize */);
|
|
932
|
+
let start = Math.max(from, to - size * 10000 /* FindPrev.ChunkSize */);
|
|
933
933
|
let cursor = regexpCursor(this.spec, state, start, to), range = null;
|
|
934
934
|
while (!cursor.next().done)
|
|
935
935
|
range = cursor.value;
|
|
@@ -959,7 +959,7 @@ class RegExpQuery extends QueryType {
|
|
|
959
959
|
return ranges;
|
|
960
960
|
}
|
|
961
961
|
highlight(state, from, to, add) {
|
|
962
|
-
let cursor = regexpCursor(this.spec, state, Math.max(0, from - 250 /* HighlightMargin */), Math.min(to + 250 /* HighlightMargin */, state.doc.length));
|
|
962
|
+
let cursor = regexpCursor(this.spec, state, Math.max(0, from - 250 /* RegExp.HighlightMargin */), Math.min(to + 250 /* RegExp.HighlightMargin */, state.doc.length));
|
|
963
963
|
while (!cursor.next().done)
|
|
964
964
|
add(cursor.value.from, cursor.value.to);
|
|
965
965
|
}
|
|
@@ -1026,7 +1026,7 @@ const searchHighlighter = /*@__PURE__*/view_.ViewPlugin.fromClass(class {
|
|
|
1026
1026
|
let builder = new state_.RangeSetBuilder();
|
|
1027
1027
|
for (let i = 0, ranges = view.visibleRanges, l = ranges.length; i < l; i++) {
|
|
1028
1028
|
let { from, to } = ranges[i];
|
|
1029
|
-
while (i < l - 1 && to > ranges[i + 1].from - 2 * 250 /* HighlightMargin */)
|
|
1029
|
+
while (i < l - 1 && to > ranges[i + 1].from - 2 * 250 /* RegExp.HighlightMargin */)
|
|
1030
1030
|
to = ranges[++i].to;
|
|
1031
1031
|
query.highlight(view.state, from, to, (from, to) => {
|
|
1032
1032
|
let selected = view.state.selection.ranges.some(r => r.from == from && r.to == to);
|
|
@@ -1426,7 +1426,7 @@ const baseTheme = /*@__PURE__*/view_.EditorView.baseTheme({
|
|
|
1426
1426
|
});
|
|
1427
1427
|
const searchExtensions = [
|
|
1428
1428
|
searchState,
|
|
1429
|
-
/*@__PURE__*/state_.Prec.
|
|
1429
|
+
/*@__PURE__*/state_.Prec.low(searchHighlighter),
|
|
1430
1430
|
baseTheme
|
|
1431
1431
|
];
|
|
1432
1432
|
|
|
@@ -3622,7 +3622,7 @@ const lintPlugin = /*@__PURE__*/(/* unused pure expression or super */ null && (
|
|
|
3622
3622
|
run() {
|
|
3623
3623
|
let now = Date.now();
|
|
3624
3624
|
if (now < this.lintTime - 10) {
|
|
3625
|
-
setTimeout(this.run, this.lintTime - now);
|
|
3625
|
+
this.timeout = setTimeout(this.run, this.lintTime - now);
|
|
3626
3626
|
}
|
|
3627
3627
|
else {
|
|
3628
3628
|
this.set = false;
|
|
@@ -4036,8 +4036,8 @@ class LintGutterMarker extends view_.GutterMarker {
|
|
|
4036
4036
|
function trackHoverOn(view, marker) {
|
|
4037
4037
|
let mousemove = (event) => {
|
|
4038
4038
|
let rect = marker.getBoundingClientRect();
|
|
4039
|
-
if (event.clientX > rect.left - 10 /* Margin */ && event.clientX < rect.right + 10 /* Margin */ &&
|
|
4040
|
-
event.clientY > rect.top - 10 /* Margin */ && event.clientY < rect.bottom + 10 /* Margin */)
|
|
4039
|
+
if (event.clientX > rect.left - 10 /* Hover.Margin */ && event.clientX < rect.right + 10 /* Hover.Margin */ &&
|
|
4040
|
+
event.clientY > rect.top - 10 /* Hover.Margin */ && event.clientY < rect.bottom + 10 /* Hover.Margin */)
|
|
4041
4041
|
return;
|
|
4042
4042
|
for (let target = event.target; target; target = target.parentNode) {
|
|
4043
4043
|
if (target.nodeType == 1 && target.classList.contains("cm-tooltip-lint"))
|
|
@@ -4158,7 +4158,7 @@ const lintExtensions = [
|
|
|
4158
4158
|
const lintGutterConfig = /*@__PURE__*/state_.Facet.define({
|
|
4159
4159
|
combine(configs) {
|
|
4160
4160
|
return (0,state_.combineConfig)(configs, {
|
|
4161
|
-
hoverTime: 300 /* Time */,
|
|
4161
|
+
hoverTime: 300 /* Hover.Time */,
|
|
4162
4162
|
markerFilter: null,
|
|
4163
4163
|
tooltipFilter: null
|
|
4164
4164
|
});
|
|
@@ -5127,45 +5127,61 @@ const cursorGroupForward = view => cursorByGroup(view, true);
|
|
|
5127
5127
|
Move the selection one group backward.
|
|
5128
5128
|
*/
|
|
5129
5129
|
const cursorGroupBackward = view => cursorByGroup(view, false);
|
|
5130
|
+
const segmenter = typeof Intl != "undefined" && Intl.Segmenter ?
|
|
5131
|
+
/*@__PURE__*/new (Intl.Segmenter)(undefined, { granularity: "word" }) : null;
|
|
5130
5132
|
function moveBySubword(view, range, forward) {
|
|
5131
5133
|
let categorize = view.state.charCategorizer(range.from);
|
|
5132
|
-
|
|
5133
|
-
|
|
5134
|
-
|
|
5135
|
-
|
|
5136
|
-
|
|
5137
|
-
|
|
5138
|
-
|
|
5139
|
-
|
|
5140
|
-
|
|
5141
|
-
|
|
5142
|
-
|
|
5143
|
-
|
|
5144
|
-
|
|
5145
|
-
|
|
5146
|
-
if (
|
|
5147
|
-
if (
|
|
5148
|
-
|
|
5149
|
-
|
|
5150
|
-
sawLower = true;
|
|
5151
|
-
}
|
|
5152
|
-
else if (sawLower) {
|
|
5153
|
-
if (forward)
|
|
5154
|
-
return false;
|
|
5155
|
-
done = true;
|
|
5156
|
-
}
|
|
5157
|
-
else {
|
|
5158
|
-
if (sawUpper && forward && categorize(ahead = view.state.sliceDoc(pos, pos + 1)) == CharCategory.Word &&
|
|
5159
|
-
ahead.toLowerCase() == ahead)
|
|
5160
|
-
return false;
|
|
5161
|
-
sawUpper = true;
|
|
5162
|
-
}
|
|
5134
|
+
let cat = CharCategory.Space, pos = range.from, steps = 0;
|
|
5135
|
+
let done = false, sawUpper = false, sawLower = false;
|
|
5136
|
+
let step = (next) => {
|
|
5137
|
+
if (done)
|
|
5138
|
+
return false;
|
|
5139
|
+
pos += forward ? next.length : -next.length;
|
|
5140
|
+
let nextCat = categorize(next), ahead;
|
|
5141
|
+
if (nextCat == CharCategory.Word && next.charCodeAt(0) < 128 && /[\W_]/.test(next))
|
|
5142
|
+
nextCat = -1; // Treat word punctuation specially
|
|
5143
|
+
if (cat == CharCategory.Space)
|
|
5144
|
+
cat = nextCat;
|
|
5145
|
+
if (cat != nextCat)
|
|
5146
|
+
return false;
|
|
5147
|
+
if (cat == CharCategory.Word) {
|
|
5148
|
+
if (next.toLowerCase() == next) {
|
|
5149
|
+
if (!forward && sawUpper)
|
|
5150
|
+
return false;
|
|
5151
|
+
sawLower = true;
|
|
5163
5152
|
}
|
|
5164
|
-
|
|
5165
|
-
|
|
5153
|
+
else if (sawLower) {
|
|
5154
|
+
if (forward)
|
|
5155
|
+
return false;
|
|
5156
|
+
done = true;
|
|
5157
|
+
}
|
|
5158
|
+
else {
|
|
5159
|
+
if (sawUpper && forward && categorize(ahead = view.state.sliceDoc(pos, pos + 1)) == CharCategory.Word &&
|
|
5160
|
+
ahead.toLowerCase() == ahead)
|
|
5161
|
+
return false;
|
|
5162
|
+
sawUpper = true;
|
|
5163
|
+
}
|
|
5164
|
+
}
|
|
5165
|
+
steps++;
|
|
5166
|
+
return true;
|
|
5167
|
+
};
|
|
5168
|
+
let end = view.moveByChar(range, forward, start => {
|
|
5166
5169
|
step(start);
|
|
5167
5170
|
return step;
|
|
5168
5171
|
});
|
|
5172
|
+
if (segmenter && cat == CharCategory.Word && end.from == range.from + steps * (forward ? 1 : -1)) {
|
|
5173
|
+
let from = Math.min(range.head, end.head), to = Math.max(range.head, end.head);
|
|
5174
|
+
let skipped = view.state.sliceDoc(from, to);
|
|
5175
|
+
if (skipped.length > 1 && /[\u4E00-\uffff]/.test(skipped)) {
|
|
5176
|
+
let segments = Array.from(segmenter.segment(skipped));
|
|
5177
|
+
if (segments.length > 1) {
|
|
5178
|
+
if (forward)
|
|
5179
|
+
return EditorSelection.cursor(range.head + segments[1].index, -1);
|
|
5180
|
+
return EditorSelection.cursor(end.head + segments[segments.length - 1].index, 1);
|
|
5181
|
+
}
|
|
5182
|
+
}
|
|
5183
|
+
}
|
|
5184
|
+
return end;
|
|
5169
5185
|
}
|
|
5170
5186
|
function cursorBySubword(view, forward) {
|
|
5171
5187
|
return moveSel(view, range => range.empty ? moveBySubword(view, range, forward) : rangeEnd(range, forward));
|
|
@@ -5822,7 +5838,8 @@ function isBetweenBrackets(state, pos) {
|
|
|
5822
5838
|
let before = context.childBefore(pos), after = context.childAfter(pos), closedBy;
|
|
5823
5839
|
if (before && after && before.to <= pos && after.from >= pos &&
|
|
5824
5840
|
(closedBy = before.type.prop(_lezer_common__WEBPACK_IMPORTED_MODULE_2__/* .NodeProp */ .md.closedBy)) && closedBy.indexOf(after.name) > -1 &&
|
|
5825
|
-
state.doc.lineAt(before.to).from == state.doc.lineAt(after.from).from
|
|
5841
|
+
state.doc.lineAt(before.to).from == state.doc.lineAt(after.from).from &&
|
|
5842
|
+
!/\S/.test(state.sliceDoc(before.to, after.from)))
|
|
5826
5843
|
return { from: before.to, to: after.from };
|
|
5827
5844
|
return null;
|
|
5828
5845
|
}
|
|
@@ -5850,7 +5867,7 @@ function newlineAndIndent(atEof) {
|
|
|
5850
5867
|
let cx = new _codemirror_language__WEBPACK_IMPORTED_MODULE_3__/* .IndentContext */ .Gn(state, { simulateBreak: from, simulateDoubleBreak: !!explode });
|
|
5851
5868
|
let indent = (0,_codemirror_language__WEBPACK_IMPORTED_MODULE_3__/* .getIndentation */ .K0)(cx, from);
|
|
5852
5869
|
if (indent == null)
|
|
5853
|
-
indent = /^\s*/.exec(state.doc.lineAt(from).text)[0].
|
|
5870
|
+
indent = (0,_codemirror_state__WEBPACK_IMPORTED_MODULE_0__.countColumn)(/^\s*/.exec(state.doc.lineAt(from).text)[0], state.tabSize);
|
|
5854
5871
|
while (to < line.to && /\s/.test(line.text[to - line.from]))
|
|
5855
5872
|
to++;
|
|
5856
5873
|
if (explode)
|
|
@@ -11821,26 +11838,36 @@ var __webpack_exports__ = {};
|
|
|
11821
11838
|
(() => {
|
|
11822
11839
|
__webpack_require__.r(__webpack_exports__);
|
|
11823
11840
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
11824
|
-
/* harmony export */ basicSetup: () => (/* reexport safe */
|
|
11841
|
+
/* harmony export */ basicSetup: () => (/* reexport safe */ _uiw_codemirror_extensions_basic_setup__WEBPACK_IMPORTED_MODULE_5__.X),
|
|
11825
11842
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
|
|
11826
|
-
/* harmony export */ getStatistics: () => (/* reexport safe */
|
|
11827
|
-
/* harmony export */ minimalSetup: () => (/* reexport safe */
|
|
11843
|
+
/* harmony export */ getStatistics: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_7__.a),
|
|
11844
|
+
/* harmony export */ minimalSetup: () => (/* reexport safe */ _uiw_codemirror_extensions_basic_setup__WEBPACK_IMPORTED_MODULE_5__.w),
|
|
11828
11845
|
/* harmony export */ useCodeMirror: () => (/* reexport safe */ _useCodeMirror__WEBPACK_IMPORTED_MODULE_1__.U)
|
|
11829
11846
|
/* harmony export */ });
|
|
11830
|
-
/* harmony import */ var
|
|
11831
|
-
/* harmony import */ var
|
|
11847
|
+
/* harmony import */ var _home_runner_work_react_codemirror_react_codemirror_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(215);
|
|
11848
|
+
/* harmony import */ var _home_runner_work_react_codemirror_react_codemirror_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(808);
|
|
11832
11849
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(787);
|
|
11833
11850
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
11834
11851
|
/* harmony import */ var _useCodeMirror__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(128);
|
|
11835
11852
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(501);
|
|
11836
|
-
/* harmony import */ var
|
|
11837
|
-
/* harmony import */ var
|
|
11853
|
+
/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(105);
|
|
11854
|
+
/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_codemirror_view__WEBPACK_IMPORTED_MODULE_3__);
|
|
11855
|
+
/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
11856
|
+
/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _codemirror_view__WEBPACK_IMPORTED_MODULE_3__) if(__WEBPACK_IMPORT_KEY__ !== "default") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _codemirror_view__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]
|
|
11857
|
+
/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
11858
|
+
/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(242);
|
|
11859
|
+
/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_codemirror_state__WEBPACK_IMPORTED_MODULE_4__);
|
|
11860
|
+
/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
11861
|
+
/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _codemirror_state__WEBPACK_IMPORTED_MODULE_4__) if(__WEBPACK_IMPORT_KEY__ !== "default") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _codemirror_state__WEBPACK_IMPORTED_MODULE_4__[__WEBPACK_IMPORT_KEY__]
|
|
11862
|
+
/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
11863
|
+
/* harmony import */ var _uiw_codemirror_extensions_basic_setup__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(141);
|
|
11864
|
+
/* harmony import */ var _getDefaultExtensions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(736);
|
|
11838
11865
|
/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
11839
|
-
/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in
|
|
11866
|
+
/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _getDefaultExtensions__WEBPACK_IMPORTED_MODULE_6__) if(["default","basicSetup","minimalSetup","useCodeMirror"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _getDefaultExtensions__WEBPACK_IMPORTED_MODULE_6__[__WEBPACK_IMPORT_KEY__]
|
|
11840
11867
|
/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
11841
|
-
/* harmony import */ var
|
|
11842
|
-
var _excluded=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"];var ReactCodeMirror=/*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function(props,ref){var className=props.className,_props$value=props.value,value=_props$value===void 0?'':_props$value,selection=props.selection,_props$extensions=props.extensions,extensions=_props$extensions===void 0?[]:_props$extensions,onChange=props.onChange,onStatistics=props.onStatistics,onCreateEditor=props.onCreateEditor,onUpdate=props.onUpdate,autoFocus=props.autoFocus,_props$theme=props.theme,theme=_props$theme===void 0?'light':_props$theme,height=props.height,minHeight=props.minHeight,maxHeight=props.maxHeight,width=props.width,minWidth=props.minWidth,maxWidth=props.maxWidth,basicSetup=props.basicSetup,placeholder=props.placeholder,indentWithTab=props.indentWithTab,editable=props.editable,readOnly=props.readOnly,root=props.root,initialState=props.initialState,other=(0,
|
|
11843
|
-
if(typeof value!=='string'){throw new Error("value must be typeof string but got ".concat(typeof value));}var defaultClassNames=typeof theme==='string'?"cm-theme-".concat(theme):'cm-theme';return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div",(0,
|
|
11868
|
+
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(742);
|
|
11869
|
+
var _excluded=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"];var ReactCodeMirror=/*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function(props,ref){var className=props.className,_props$value=props.value,value=_props$value===void 0?'':_props$value,selection=props.selection,_props$extensions=props.extensions,extensions=_props$extensions===void 0?[]:_props$extensions,onChange=props.onChange,onStatistics=props.onStatistics,onCreateEditor=props.onCreateEditor,onUpdate=props.onUpdate,autoFocus=props.autoFocus,_props$theme=props.theme,theme=_props$theme===void 0?'light':_props$theme,height=props.height,minHeight=props.minHeight,maxHeight=props.maxHeight,width=props.width,minWidth=props.minWidth,maxWidth=props.maxWidth,basicSetup=props.basicSetup,placeholder=props.placeholder,indentWithTab=props.indentWithTab,editable=props.editable,readOnly=props.readOnly,root=props.root,initialState=props.initialState,other=(0,_home_runner_work_react_codemirror_react_codemirror_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z)(props,_excluded);var editor=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);var _useCodeMirror=(0,_useCodeMirror__WEBPACK_IMPORTED_MODULE_1__/* .useCodeMirror */ .U)({container:editor.current,root:root,value:value,autoFocus:autoFocus,theme:theme,height:height,minHeight:minHeight,maxHeight:maxHeight,width:width,minWidth:minWidth,maxWidth:maxWidth,basicSetup:basicSetup,placeholder:placeholder,indentWithTab:indentWithTab,editable:editable,readOnly:readOnly,selection:selection,onChange:onChange,onStatistics:onStatistics,onCreateEditor:onCreateEditor,onUpdate:onUpdate,extensions:extensions,initialState:initialState}),state=_useCodeMirror.state,view=_useCodeMirror.view,container=_useCodeMirror.container;(0,react__WEBPACK_IMPORTED_MODULE_0__.useImperativeHandle)(ref,function(){return{editor:editor.current,state:state,view:view};},[editor,container,state,view]);// check type of value
|
|
11870
|
+
if(typeof value!=='string'){throw new Error("value must be typeof string but got ".concat(typeof value));}var defaultClassNames=typeof theme==='string'?"cm-theme-".concat(theme):'cm-theme';return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div",(0,_home_runner_work_react_codemirror_react_codemirror_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z)({ref:editor,className:"".concat(defaultClassNames).concat(className?" ".concat(className):'')},other));});ReactCodeMirror.displayName='CodeMirror';/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReactCodeMirror);
|
|
11844
11871
|
})();
|
|
11845
11872
|
|
|
11846
11873
|
/******/ return __webpack_exports__;
|