@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 CHANGED
@@ -59,11 +59,13 @@ npm install @uiw/react-codemirror --save
59
59
  | `@uiw/codemirror-theme-abcdef` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-abcdef.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-abcdef) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-abcdef.svg?style=flat)](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` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-abyss.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-abyss) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-abyss.svg?style=flat)](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` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-androidstudio.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-androidstudio) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-androidstudio.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-androidstudio) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/androidstudio) |
62
+ | `@uiw/codemirror-theme-andromeda` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-andromeda.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-andromeda) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-andromeda.svg?style=flat)](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` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-atomone.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-atomone) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-atomone.svg?style=flat)](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` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-aura.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-aura) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-aura.svg?style=flat)](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` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-basic.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-basic) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-basic.svg?style=flat)](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` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-bbedit.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-bbedit) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-bbedit.svg?style=flat)](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` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-bespin.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-bespin) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-bespin.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-bespin) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/bespin) |
68
+ | `@uiw/codemirror-theme-copilot` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-copilot.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-copilot) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-copilot.svg?style=flat)](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` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-duotone.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-duotone) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-duotone.svg?style=flat)](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` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-dracula.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-dracula) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-dracula.svg?style=flat)](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` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-darcula.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-darcula) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-darcula.svg?style=flat)](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` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night-storm.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-storm) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-tokyo-night-storm.svg?style=flat)](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` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night-day.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-day) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-tokyo-night-day.svg?style=flat)](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` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-vscode.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-vscode) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-vscode.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-vscode) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/vscode) |
90
+ | `@uiw/codemirror-theme-white` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-white.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-white) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-white.svg?style=flat)](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` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tomorrow-night-blue.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tomorrow-night-blue) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-tomorrow-night-blue.svg?style=flat)](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` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-xcode.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-xcode) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-xcode.svg?style=flat)](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;
@@ -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 ? '' : _props$height,
30
+ height = _props$height === void 0 ? null : _props$height,
31
31
  _props$minHeight = props.minHeight,
32
- minHeight = _props$minHeight === void 0 ? '' : _props$minHeight,
32
+ minHeight = _props$minHeight === void 0 ? null : _props$minHeight,
33
33
  _props$maxHeight = props.maxHeight,
34
- maxHeight = _props$maxHeight === void 0 ? '' : _props$maxHeight,
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 ? '' : _props$width,
36
+ width = _props$width === void 0 ? null : _props$width,
39
37
  _props$minWidth = props.minWidth,
40
- minWidth = _props$minWidth === void 0 ? '' : _props$minWidth,
38
+ minWidth = _props$minWidth === void 0 ? null : _props$minWidth,
41
39
  _props$maxWidth = props.maxWidth,
42
- maxWidth = _props$maxWidth === void 0 ? '' : _props$maxWidth,
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,
@@ -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?'':_props$height,_props$minHeight=props.minHeight,minHeight=_props$minHeight===void 0?'':_props$minHeight,_props$maxHeight=props.maxHeight,maxHeight=_props$maxHeight===void 0?'':_props$maxHeight,_props$placeholder=props.placeholder,placeholderStr=_props$placeholder===void 0?'':_props$placeholder,_props$width=props.width,width=_props$width===void 0?'':_props$width,_props$minWidth=props.minWidth,minWidth=_props$minWidth===void 0?'':_props$minWidth,_props$maxWidth=props.maxWidth,maxWidth=_props$maxWidth===void 0?'':_props$maxWidth,_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:
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.lowest(searchHighlighter),
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
- return view.moveByChar(range, forward, start => {
5133
- let cat = CharCategory.Space, pos = range.from;
5134
- let done = false, sawUpper = false, sawLower = false;
5135
- let step = (next) => {
5136
- if (done)
5137
- return false;
5138
- pos += forward ? next.length : -next.length;
5139
- let nextCat = categorize(next), ahead;
5140
- if (nextCat == CharCategory.Word && next.charCodeAt(0) < 128 && /[\W_]/.test(next))
5141
- nextCat = -1; // Treat word punctuation specially
5142
- if (cat == CharCategory.Space)
5143
- cat = nextCat;
5144
- if (cat != nextCat)
5145
- return false;
5146
- if (cat == CharCategory.Word) {
5147
- if (next.toLowerCase() == next) {
5148
- if (!forward && sawUpper)
5149
- return false;
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
- return true;
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].length;
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 */ _uiw_codemirror_extensions_basic_setup__WEBPACK_IMPORTED_MODULE_3__.X),
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 */ _utils__WEBPACK_IMPORTED_MODULE_5__.a),
11827
- /* harmony export */ minimalSetup: () => (/* reexport safe */ _uiw_codemirror_extensions_basic_setup__WEBPACK_IMPORTED_MODULE_3__.w),
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 _home_runner_work_react_codemirror_react_codemirror_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(215);
11831
- /* harmony import */ var _home_runner_work_react_codemirror_react_codemirror_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(808);
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 _uiw_codemirror_extensions_basic_setup__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(141);
11837
- /* harmony import */ var _getDefaultExtensions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(736);
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 _getDefaultExtensions__WEBPACK_IMPORTED_MODULE_4__) if(["default","basicSetup","minimalSetup","useCodeMirror"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _getDefaultExtensions__WEBPACK_IMPORTED_MODULE_4__[__WEBPACK_IMPORT_KEY__]
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 _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(742);
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,_home_runner_work_react_codemirror_react_codemirror_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_6__/* ["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
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,_home_runner_work_react_codemirror_react_codemirror_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z)({ref:editor,className:"".concat(defaultClassNames).concat(className?" ".concat(className):'')},other));});ReactCodeMirror.displayName='CodeMirror';/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReactCodeMirror);
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__;