qword 0.1.0 → 1.0.1

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.
Files changed (363) hide show
  1. package/ChangeLog +5 -0
  2. package/README.md +29 -27
  3. package/assets/index.html +3 -4
  4. package/bin/{dword.js → qword.js} +8 -4
  5. package/client/_init-socket.js +9 -10
  6. package/client/loadremote.js +2 -2
  7. package/client/qword.js +432 -0
  8. package/dist/qword.js +2 -0
  9. package/dist/qword.js.map +1 -0
  10. package/dist-dev/qword.js +1038 -0
  11. package/json/modules.json +1 -1
  12. package/package.json +15 -5
  13. package/server/edit.js +2 -2
  14. package/server/index.js +6 -6
  15. package/client/dword.js +0 -717
  16. package/codemirror/codemirror.js +0 -3
  17. package/modules/codemirror/AUTHORS +0 -992
  18. package/modules/codemirror/CHANGELOG.md +0 -2290
  19. package/modules/codemirror/CONTRIBUTING.md +0 -97
  20. package/modules/codemirror/LICENSE +0 -21
  21. package/modules/codemirror/README.md +0 -48
  22. package/modules/codemirror/addon/comment/comment.js +0 -211
  23. package/modules/codemirror/addon/comment/continuecomment.js +0 -114
  24. package/modules/codemirror/addon/dialog/dialog.css +0 -32
  25. package/modules/codemirror/addon/dialog/dialog.js +0 -163
  26. package/modules/codemirror/addon/display/autorefresh.js +0 -47
  27. package/modules/codemirror/addon/display/fullscreen.css +0 -6
  28. package/modules/codemirror/addon/display/fullscreen.js +0 -41
  29. package/modules/codemirror/addon/display/panel.js +0 -133
  30. package/modules/codemirror/addon/display/placeholder.js +0 -78
  31. package/modules/codemirror/addon/display/rulers.js +0 -51
  32. package/modules/codemirror/addon/edit/closebrackets.js +0 -201
  33. package/modules/codemirror/addon/edit/closetag.js +0 -185
  34. package/modules/codemirror/addon/edit/continuelist.js +0 -101
  35. package/modules/codemirror/addon/edit/matchbrackets.js +0 -160
  36. package/modules/codemirror/addon/edit/matchtags.js +0 -66
  37. package/modules/codemirror/addon/edit/trailingspace.js +0 -27
  38. package/modules/codemirror/addon/fold/brace-fold.js +0 -119
  39. package/modules/codemirror/addon/fold/comment-fold.js +0 -59
  40. package/modules/codemirror/addon/fold/foldcode.js +0 -159
  41. package/modules/codemirror/addon/fold/foldgutter.css +0 -20
  42. package/modules/codemirror/addon/fold/foldgutter.js +0 -169
  43. package/modules/codemirror/addon/fold/indent-fold.js +0 -48
  44. package/modules/codemirror/addon/fold/markdown-fold.js +0 -49
  45. package/modules/codemirror/addon/fold/xml-fold.js +0 -184
  46. package/modules/codemirror/addon/hint/anyword-hint.js +0 -41
  47. package/modules/codemirror/addon/hint/css-hint.js +0 -66
  48. package/modules/codemirror/addon/hint/html-hint.js +0 -351
  49. package/modules/codemirror/addon/hint/javascript-hint.js +0 -162
  50. package/modules/codemirror/addon/hint/show-hint.css +0 -37
  51. package/modules/codemirror/addon/hint/show-hint.js +0 -523
  52. package/modules/codemirror/addon/hint/sql-hint.js +0 -304
  53. package/modules/codemirror/addon/hint/xml-hint.js +0 -132
  54. package/modules/codemirror/addon/lint/coffeescript-lint.js +0 -47
  55. package/modules/codemirror/addon/lint/css-lint.js +0 -40
  56. package/modules/codemirror/addon/lint/html-lint.js +0 -59
  57. package/modules/codemirror/addon/lint/javascript-lint.js +0 -65
  58. package/modules/codemirror/addon/lint/json-lint.js +0 -40
  59. package/modules/codemirror/addon/lint/lint.css +0 -79
  60. package/modules/codemirror/addon/lint/lint.js +0 -288
  61. package/modules/codemirror/addon/lint/yaml-lint.js +0 -41
  62. package/modules/codemirror/addon/merge/merge.css +0 -119
  63. package/modules/codemirror/addon/merge/merge.js +0 -1018
  64. package/modules/codemirror/addon/mode/loadmode.js +0 -66
  65. package/modules/codemirror/addon/mode/multiplex.js +0 -136
  66. package/modules/codemirror/addon/mode/multiplex_test.js +0 -49
  67. package/modules/codemirror/addon/mode/overlay.js +0 -90
  68. package/modules/codemirror/addon/mode/simple.js +0 -216
  69. package/modules/codemirror/addon/runmode/colorize.js +0 -40
  70. package/modules/codemirror/addon/runmode/runmode-standalone.js +0 -334
  71. package/modules/codemirror/addon/runmode/runmode.js +0 -76
  72. package/modules/codemirror/addon/runmode/runmode.node.js +0 -329
  73. package/modules/codemirror/addon/scroll/annotatescrollbar.js +0 -128
  74. package/modules/codemirror/addon/scroll/scrollpastend.js +0 -48
  75. package/modules/codemirror/addon/scroll/simplescrollbars.css +0 -66
  76. package/modules/codemirror/addon/scroll/simplescrollbars.js +0 -152
  77. package/modules/codemirror/addon/search/jump-to-line.js +0 -53
  78. package/modules/codemirror/addon/search/match-highlighter.js +0 -167
  79. package/modules/codemirror/addon/search/matchesonscrollbar.css +0 -8
  80. package/modules/codemirror/addon/search/matchesonscrollbar.js +0 -97
  81. package/modules/codemirror/addon/search/search.js +0 -295
  82. package/modules/codemirror/addon/search/searchcursor.js +0 -305
  83. package/modules/codemirror/addon/selection/active-line.js +0 -72
  84. package/modules/codemirror/addon/selection/mark-selection.js +0 -119
  85. package/modules/codemirror/addon/selection/selection-pointer.js +0 -98
  86. package/modules/codemirror/addon/tern/tern.css +0 -87
  87. package/modules/codemirror/addon/tern/tern.js +0 -756
  88. package/modules/codemirror/addon/tern/worker.js +0 -44
  89. package/modules/codemirror/addon/wrap/hardwrap.js +0 -160
  90. package/modules/codemirror/bin/source-highlight +0 -48
  91. package/modules/codemirror/changes +0 -3
  92. package/modules/codemirror/changes.md +0 -42
  93. package/modules/codemirror/changes.txt +0 -8
  94. package/modules/codemirror/diff +0 -781
  95. package/modules/codemirror/dist/index.cjs +0 -102
  96. package/modules/codemirror/dist/index.d.cts +0 -52
  97. package/modules/codemirror/dist/index.d.ts +0 -52
  98. package/modules/codemirror/dist/index.js +0 -96
  99. package/modules/codemirror/keymap/emacs.js +0 -545
  100. package/modules/codemirror/keymap/sublime.js +0 -720
  101. package/modules/codemirror/keymap/vim.js +0 -5978
  102. package/modules/codemirror/lib/codemirror.css +0 -344
  103. package/modules/codemirror/lib/codemirror.js +0 -9884
  104. package/modules/codemirror/mode/apl/apl.js +0 -174
  105. package/modules/codemirror/mode/asciiarmor/asciiarmor.js +0 -74
  106. package/modules/codemirror/mode/asn.1/asn.1.js +0 -204
  107. package/modules/codemirror/mode/asterisk/asterisk.js +0 -220
  108. package/modules/codemirror/mode/brainfuck/brainfuck.js +0 -85
  109. package/modules/codemirror/mode/clike/clike.js +0 -942
  110. package/modules/codemirror/mode/clojure/clojure.js +0 -293
  111. package/modules/codemirror/mode/cmake/cmake.js +0 -97
  112. package/modules/codemirror/mode/cobol/cobol.js +0 -255
  113. package/modules/codemirror/mode/coffeescript/coffeescript.js +0 -359
  114. package/modules/codemirror/mode/commonlisp/commonlisp.js +0 -125
  115. package/modules/codemirror/mode/crystal/crystal.js +0 -433
  116. package/modules/codemirror/mode/css/css.js +0 -862
  117. package/modules/codemirror/mode/cypher/cypher.js +0 -152
  118. package/modules/codemirror/mode/d/d.js +0 -223
  119. package/modules/codemirror/mode/dart/dart.js +0 -168
  120. package/modules/codemirror/mode/diff/diff.js +0 -47
  121. package/modules/codemirror/mode/django/django.js +0 -356
  122. package/modules/codemirror/mode/dockerfile/dockerfile.js +0 -211
  123. package/modules/codemirror/mode/dtd/dtd.js +0 -142
  124. package/modules/codemirror/mode/dylan/dylan.js +0 -352
  125. package/modules/codemirror/mode/ebnf/ebnf.js +0 -195
  126. package/modules/codemirror/mode/ecl/ecl.js +0 -206
  127. package/modules/codemirror/mode/eiffel/eiffel.js +0 -160
  128. package/modules/codemirror/mode/elm/elm.js +0 -245
  129. package/modules/codemirror/mode/erlang/erlang.js +0 -619
  130. package/modules/codemirror/mode/factor/factor.js +0 -85
  131. package/modules/codemirror/mode/fcl/fcl.js +0 -173
  132. package/modules/codemirror/mode/forth/forth.js +0 -180
  133. package/modules/codemirror/mode/fortran/fortran.js +0 -188
  134. package/modules/codemirror/mode/gas/gas.js +0 -355
  135. package/modules/codemirror/mode/gfm/gfm.js +0 -129
  136. package/modules/codemirror/mode/gherkin/gherkin.js +0 -194
  137. package/modules/codemirror/mode/go/go.js +0 -187
  138. package/modules/codemirror/mode/groovy/groovy.js +0 -245
  139. package/modules/codemirror/mode/haml/haml.js +0 -161
  140. package/modules/codemirror/mode/handlebars/handlebars.js +0 -70
  141. package/modules/codemirror/mode/haskell/haskell.js +0 -268
  142. package/modules/codemirror/mode/haskell-literate/haskell-literate.js +0 -43
  143. package/modules/codemirror/mode/haxe/haxe.js +0 -515
  144. package/modules/codemirror/mode/htmlembedded/htmlembedded.js +0 -37
  145. package/modules/codemirror/mode/htmlmixed/htmlmixed.js +0 -153
  146. package/modules/codemirror/mode/http/http.js +0 -113
  147. package/modules/codemirror/mode/idl/idl.js +0 -290
  148. package/modules/codemirror/mode/javascript/javascript.js +0 -960
  149. package/modules/codemirror/mode/jinja2/jinja2.js +0 -193
  150. package/modules/codemirror/mode/jsx/jsx.js +0 -149
  151. package/modules/codemirror/mode/julia/julia.js +0 -390
  152. package/modules/codemirror/mode/livescript/livescript.js +0 -280
  153. package/modules/codemirror/mode/lua/lua.js +0 -160
  154. package/modules/codemirror/mode/markdown/markdown.js +0 -886
  155. package/modules/codemirror/mode/mathematica/mathematica.js +0 -176
  156. package/modules/codemirror/mode/mbox/mbox.js +0 -129
  157. package/modules/codemirror/mode/meta.js +0 -221
  158. package/modules/codemirror/mode/mirc/mirc.js +0 -193
  159. package/modules/codemirror/mode/mllike/mllike.js +0 -359
  160. package/modules/codemirror/mode/modelica/modelica.js +0 -245
  161. package/modules/codemirror/mode/mscgen/mscgen.js +0 -175
  162. package/modules/codemirror/mode/mumps/mumps.js +0 -148
  163. package/modules/codemirror/mode/nginx/nginx.js +0 -178
  164. package/modules/codemirror/mode/nsis/nsis.js +0 -95
  165. package/modules/codemirror/mode/ntriples/ntriples.js +0 -195
  166. package/modules/codemirror/mode/octave/octave.js +0 -139
  167. package/modules/codemirror/mode/oz/oz.js +0 -252
  168. package/modules/codemirror/mode/pascal/pascal.js +0 -136
  169. package/modules/codemirror/mode/pegjs/pegjs.js +0 -111
  170. package/modules/codemirror/mode/perl/perl.js +0 -836
  171. package/modules/codemirror/mode/php/php.js +0 -234
  172. package/modules/codemirror/mode/pig/pig.js +0 -178
  173. package/modules/codemirror/mode/powershell/powershell.js +0 -398
  174. package/modules/codemirror/mode/properties/properties.js +0 -78
  175. package/modules/codemirror/mode/protobuf/protobuf.js +0 -72
  176. package/modules/codemirror/mode/pug/pug.js +0 -591
  177. package/modules/codemirror/mode/puppet/puppet.js +0 -220
  178. package/modules/codemirror/mode/python/python.js +0 -402
  179. package/modules/codemirror/mode/q/q.js +0 -139
  180. package/modules/codemirror/mode/r/r.js +0 -190
  181. package/modules/codemirror/mode/rpm/changes/index.html +0 -66
  182. package/modules/codemirror/mode/rpm/rpm.js +0 -109
  183. package/modules/codemirror/mode/rst/rst.js +0 -557
  184. package/modules/codemirror/mode/ruby/ruby.js +0 -303
  185. package/modules/codemirror/mode/rust/rust.js +0 -72
  186. package/modules/codemirror/mode/sas/sas.js +0 -303
  187. package/modules/codemirror/mode/sass/sass.js +0 -459
  188. package/modules/codemirror/mode/scheme/scheme.js +0 -284
  189. package/modules/codemirror/mode/shell/shell.js +0 -168
  190. package/modules/codemirror/mode/sieve/sieve.js +0 -193
  191. package/modules/codemirror/mode/slim/slim.js +0 -575
  192. package/modules/codemirror/mode/smalltalk/smalltalk.js +0 -168
  193. package/modules/codemirror/mode/smarty/smarty.js +0 -225
  194. package/modules/codemirror/mode/solr/solr.js +0 -104
  195. package/modules/codemirror/mode/soy/soy.js +0 -665
  196. package/modules/codemirror/mode/sparql/sparql.js +0 -184
  197. package/modules/codemirror/mode/spreadsheet/spreadsheet.js +0 -112
  198. package/modules/codemirror/mode/sql/sql.js +0 -529
  199. package/modules/codemirror/mode/stex/stex.js +0 -264
  200. package/modules/codemirror/mode/stylus/stylus.js +0 -775
  201. package/modules/codemirror/mode/swift/swift.js +0 -221
  202. package/modules/codemirror/mode/tcl/tcl.js +0 -140
  203. package/modules/codemirror/mode/textile/textile.js +0 -469
  204. package/modules/codemirror/mode/tiddlywiki/tiddlywiki.css +0 -14
  205. package/modules/codemirror/mode/tiddlywiki/tiddlywiki.js +0 -308
  206. package/modules/codemirror/mode/tiki/tiki.css +0 -26
  207. package/modules/codemirror/mode/tiki/tiki.js +0 -312
  208. package/modules/codemirror/mode/toml/toml.js +0 -88
  209. package/modules/codemirror/mode/tornado/tornado.js +0 -68
  210. package/modules/codemirror/mode/troff/troff.js +0 -84
  211. package/modules/codemirror/mode/ttcn/ttcn.js +0 -283
  212. package/modules/codemirror/mode/ttcn-cfg/ttcn-cfg.js +0 -214
  213. package/modules/codemirror/mode/turtle/turtle.js +0 -162
  214. package/modules/codemirror/mode/twig/twig.js +0 -141
  215. package/modules/codemirror/mode/vb/vb.js +0 -275
  216. package/modules/codemirror/mode/vbscript/vbscript.js +0 -350
  217. package/modules/codemirror/mode/velocity/velocity.js +0 -202
  218. package/modules/codemirror/mode/verilog/verilog.js +0 -781
  219. package/modules/codemirror/mode/vhdl/vhdl.js +0 -189
  220. package/modules/codemirror/mode/vue/vue.js +0 -77
  221. package/modules/codemirror/mode/wast/wast.js +0 -132
  222. package/modules/codemirror/mode/webidl/webidl.js +0 -195
  223. package/modules/codemirror/mode/xml/xml.js +0 -417
  224. package/modules/codemirror/mode/xquery/xquery.js +0 -448
  225. package/modules/codemirror/mode/yacas/yacas.js +0 -204
  226. package/modules/codemirror/mode/yaml/yaml.js +0 -120
  227. package/modules/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js +0 -72
  228. package/modules/codemirror/mode/z80/z80.js +0 -116
  229. package/modules/codemirror/package.json +0 -52
  230. package/modules/codemirror/src/addon/runmode/codemirror-standalone.js +0 -24
  231. package/modules/codemirror/src/addon/runmode/codemirror.node.js +0 -21
  232. package/modules/codemirror/src/addon/runmode/runmode-standalone.js +0 -2
  233. package/modules/codemirror/src/addon/runmode/runmode.node.js +0 -2
  234. package/modules/codemirror/src/codemirror.js +0 -3
  235. package/modules/codemirror/src/display/Display.js +0 -116
  236. package/modules/codemirror/src/display/focus.js +0 -50
  237. package/modules/codemirror/src/display/gutters.js +0 -44
  238. package/modules/codemirror/src/display/highlight_worker.js +0 -55
  239. package/modules/codemirror/src/display/line_numbers.js +0 -48
  240. package/modules/codemirror/src/display/mode_state.js +0 -22
  241. package/modules/codemirror/src/display/operations.js +0 -206
  242. package/modules/codemirror/src/display/scroll_events.js +0 -132
  243. package/modules/codemirror/src/display/scrollbars.js +0 -194
  244. package/modules/codemirror/src/display/scrolling.js +0 -186
  245. package/modules/codemirror/src/display/selection.js +0 -173
  246. package/modules/codemirror/src/display/update_display.js +0 -267
  247. package/modules/codemirror/src/display/update_line.js +0 -189
  248. package/modules/codemirror/src/display/update_lines.js +0 -82
  249. package/modules/codemirror/src/display/view_tracking.js +0 -153
  250. package/modules/codemirror/src/edit/CodeMirror.js +0 -217
  251. package/modules/codemirror/src/edit/commands.js +0 -178
  252. package/modules/codemirror/src/edit/deleteNearSelection.js +0 -30
  253. package/modules/codemirror/src/edit/drop_events.js +0 -130
  254. package/modules/codemirror/src/edit/fromTextArea.js +0 -61
  255. package/modules/codemirror/src/edit/global_events.js +0 -45
  256. package/modules/codemirror/src/edit/key_events.js +0 -163
  257. package/modules/codemirror/src/edit/legacy.js +0 -62
  258. package/modules/codemirror/src/edit/main.js +0 -69
  259. package/modules/codemirror/src/edit/methods.js +0 -555
  260. package/modules/codemirror/src/edit/mouse_events.js +0 -417
  261. package/modules/codemirror/src/edit/options.js +0 -194
  262. package/modules/codemirror/src/edit/utils.js +0 -7
  263. package/modules/codemirror/src/input/#ContentEditableInput.js# +0 -475
  264. package/modules/codemirror/src/input/ContentEditableInput.js +0 -546
  265. package/modules/codemirror/src/input/TextareaInput.js +0 -380
  266. package/modules/codemirror/src/input/indent.js +0 -71
  267. package/modules/codemirror/src/input/input.js +0 -134
  268. package/modules/codemirror/src/input/keymap.js +0 -147
  269. package/modules/codemirror/src/input/keynames.js +0 -17
  270. package/modules/codemirror/src/input/movement.js +0 -111
  271. package/modules/codemirror/src/line/highlight.js +0 -284
  272. package/modules/codemirror/src/line/line_data.js +0 -349
  273. package/modules/codemirror/src/line/pos.js +0 -40
  274. package/modules/codemirror/src/line/saw_special_spans.js +0 -10
  275. package/modules/codemirror/src/line/spans.js +0 -390
  276. package/modules/codemirror/src/line/utils_line.js +0 -85
  277. package/modules/codemirror/src/measurement/position_measurement.js +0 -702
  278. package/modules/codemirror/src/measurement/widgets.js +0 -26
  279. package/modules/codemirror/src/model/Doc.js +0 -436
  280. package/modules/codemirror/src/model/change_measurement.js +0 -61
  281. package/modules/codemirror/src/model/changes.js +0 -339
  282. package/modules/codemirror/src/model/chunk.js +0 -167
  283. package/modules/codemirror/src/model/document_data.js +0 -112
  284. package/modules/codemirror/src/model/history.js +0 -228
  285. package/modules/codemirror/src/model/line_widget.js +0 -78
  286. package/modules/codemirror/src/model/mark_text.js +0 -293
  287. package/modules/codemirror/src/model/selection.js +0 -84
  288. package/modules/codemirror/src/model/selection_updates.js +0 -216
  289. package/modules/codemirror/src/modes.js +0 -96
  290. package/modules/codemirror/src/util/StringStream.js +0 -90
  291. package/modules/codemirror/src/util/bidi.js +0 -215
  292. package/modules/codemirror/src/util/browser.js +0 -34
  293. package/modules/codemirror/src/util/dom.js +0 -111
  294. package/modules/codemirror/src/util/event.js +0 -103
  295. package/modules/codemirror/src/util/feature_detection.js +0 -84
  296. package/modules/codemirror/src/util/misc.js +0 -168
  297. package/modules/codemirror/src/util/operation_group.js +0 -72
  298. package/modules/codemirror/theme/3024-day.css +0 -41
  299. package/modules/codemirror/theme/3024-night.css +0 -39
  300. package/modules/codemirror/theme/abbott.css +0 -268
  301. package/modules/codemirror/theme/abcdef.css +0 -32
  302. package/modules/codemirror/theme/ambiance-mobile.css +0 -5
  303. package/modules/codemirror/theme/ambiance.css +0 -74
  304. package/modules/codemirror/theme/ayu-dark.css +0 -44
  305. package/modules/codemirror/theme/ayu-mirage.css +0 -45
  306. package/modules/codemirror/theme/base16-dark.css +0 -40
  307. package/modules/codemirror/theme/base16-light.css +0 -38
  308. package/modules/codemirror/theme/bespin.css +0 -34
  309. package/modules/codemirror/theme/blackboard.css +0 -32
  310. package/modules/codemirror/theme/cobalt.css +0 -25
  311. package/modules/codemirror/theme/colorforth.css +0 -33
  312. package/modules/codemirror/theme/darcula.css +0 -53
  313. package/modules/codemirror/theme/dracula.css +0 -40
  314. package/modules/codemirror/theme/duotone-dark.css +0 -35
  315. package/modules/codemirror/theme/duotone-light.css +0 -36
  316. package/modules/codemirror/theme/eclipse.css +0 -23
  317. package/modules/codemirror/theme/elegant.css +0 -13
  318. package/modules/codemirror/theme/erlang-dark.css +0 -34
  319. package/modules/codemirror/theme/gruvbox-dark.css +0 -39
  320. package/modules/codemirror/theme/hopscotch.css +0 -34
  321. package/modules/codemirror/theme/icecoder.css +0 -43
  322. package/modules/codemirror/theme/idea.css +0 -42
  323. package/modules/codemirror/theme/isotope.css +0 -34
  324. package/modules/codemirror/theme/juejin.css +0 -30
  325. package/modules/codemirror/theme/lesser-dark.css +0 -47
  326. package/modules/codemirror/theme/liquibyte.css +0 -95
  327. package/modules/codemirror/theme/lucario.css +0 -37
  328. package/modules/codemirror/theme/material-darker.css +0 -135
  329. package/modules/codemirror/theme/material-ocean.css +0 -141
  330. package/modules/codemirror/theme/material-palenight.css +0 -141
  331. package/modules/codemirror/theme/material.css +0 -141
  332. package/modules/codemirror/theme/mbo.css +0 -37
  333. package/modules/codemirror/theme/mdn-like.css +0 -46
  334. package/modules/codemirror/theme/midnight.css +0 -39
  335. package/modules/codemirror/theme/monokai.css +0 -41
  336. package/modules/codemirror/theme/moxer.css +0 -143
  337. package/modules/codemirror/theme/neat.css +0 -12
  338. package/modules/codemirror/theme/neo.css +0 -43
  339. package/modules/codemirror/theme/night.css +0 -27
  340. package/modules/codemirror/theme/nord.css +0 -42
  341. package/modules/codemirror/theme/oceanic-next.css +0 -46
  342. package/modules/codemirror/theme/panda-syntax.css +0 -85
  343. package/modules/codemirror/theme/paraiso-dark.css +0 -38
  344. package/modules/codemirror/theme/paraiso-light.css +0 -38
  345. package/modules/codemirror/theme/pastel-on-dark.css +0 -52
  346. package/modules/codemirror/theme/railscasts.css +0 -34
  347. package/modules/codemirror/theme/rubyblue.css +0 -25
  348. package/modules/codemirror/theme/seti.css +0 -44
  349. package/modules/codemirror/theme/shadowfox.css +0 -52
  350. package/modules/codemirror/theme/solarized.css +0 -165
  351. package/modules/codemirror/theme/ssms.css +0 -16
  352. package/modules/codemirror/theme/the-matrix.css +0 -30
  353. package/modules/codemirror/theme/tomorrow-night-bright.css +0 -35
  354. package/modules/codemirror/theme/tomorrow-night-eighties.css +0 -38
  355. package/modules/codemirror/theme/ttcn.css +0 -64
  356. package/modules/codemirror/theme/twilight.css +0 -32
  357. package/modules/codemirror/theme/vibrant-ink.css +0 -34
  358. package/modules/codemirror/theme/xq-dark.css +0 -53
  359. package/modules/codemirror/theme/xq-light.css +0 -43
  360. package/modules/codemirror/theme/yeti.css +0 -44
  361. package/modules/codemirror/theme/yonce.css +0 -59
  362. package/modules/codemirror/theme/zenburn.css +0 -37
  363. /package/css/{dword.css → qword.css} +0 -0
@@ -1,475 +0,0 @@
1
- import { operation, runInOp } from "../display/operations"
2
-
3
- import { prepareSelection } from "../display/selection"
4
- import { regChange } from "../display/view_tracking"
5
- import { applyTextInput, copyableRanges, disableBrowserMagic, handlePaste, hiddenTextarea, lastCopied, setLastCopied } from "./input"
6
- import { cmp, maxPos, minPos, Pos } from "../line/pos"
7
- import { getBetween, getLine, lineNo } from "../line/utils_line"
8
- import { findViewForLine, findViewIndex, mapFromLineView, nodeAndOffsetInLineMap } from "../measurement/position_measurement"
9
- import { replaceRange } from "../model/changes"
10
- import { simpleSelection } from "../model/selection"
11
- import { setSelection } from "../model/selection_updates"
12
- import { getBidiPartAt, getOrder } from "../util/bidi"
13
- import { gecko, ie_version } from "../util/browser"
14
- import { contains, range, removeChildrenAndAdd, selectInput } from "../util/dom"
15
- import { on, signalDOMEvent } from "../util/event"
16
- import { Delayed, lst, sel_dontScroll } from "../util/misc"
17
-
18
- // CONTENTEDITABLE INPUT STYLE
19
-
20
- export default class ContentEditableInput {
21
- constructor(cm) {
22
- this.cm = cm
23
- this.lastAnchorNode = this.lastAnchorOffset = this.lastFocusNode = this.lastFocusOffset = null
24
- this.polling = new Delayed()
25
- this.composing = null
26
- this.gracePeriod = false
27
- this.readDOMTimeout = null
28
- }
29
-
30
- init(display) {
31
- let input = this, cm = input.cm
32
- let div = input.div = display.lineDiv
33
- disableBrowserMagic(div, cm.options.spellcheck)
34
-
35
- on(div, "paste", e => {
36
- if (signalDOMEvent(cm, e) || handlePaste(e, cm)) return
37
- // IE doesn't fire input events, so we schedule a read for the pasted content in this way
38
- if (ie_version <= 11) setTimeout(operation(cm, () => {
39
- if (!input.pollContent()) regChange(cm)
40
- }), 20)
41
- })
42
-
43
- on(div, "compositionstart", e => {
44
- this.composing = {data: e.data, done: false}
45
- })
46
- on(div, "compositionupdate", e => {
47
- if (!this.composing) this.composing = {data: e.data, done: false}
48
- })
49
- on(div, "compositionend", e => {
50
- if (this.composing) {
51
- if (e.data != this.composing.data) this.readFromDOMSoon()
52
- this.composing.done = true
53
- }
54
- })
55
-
56
- on(div, "touchstart", () => input.forceCompositionEnd())
57
-
58
- on(div, "input", () => {
59
- if (!this.composing) this.readFromDOMSoon()
60
- })
61
-
62
- function onCopyCut(e) {
63
- if (signalDOMEvent(cm, e)) return
64
- if (cm.somethingSelected()) {
65
- setLastCopied({lineWise: false, text: cm.getSelections()})
66
- if (e.type == "cut") cm.replaceSelection("", null, "cut")
67
- } else if (!cm.options.lineWiseCopyCut) {
68
- return
69
- } else {
70
- let ranges = copyableRanges(cm)
71
- setLastCopied({lineWise: true, text: ranges.text})
72
- if (e.type == "cut") {
73
- cm.operation(() => {
74
- cm.setSelections(ranges.ranges, 0, sel_dontScroll)
75
- cm.replaceSelection("", null, "cut")
76
- })
77
- }
78
- }
79
- if (e.clipboardData) {
80
- e.clipboardData.clearData()
81
- let content = lastCopied.text.join("\n")
82
- // iOS exposes the clipboard API, but seems to discard content inserted into it
83
- e.clipboardData.setData("Text", content)
84
- if (e.clipboardData.getData("Text") == content) {
85
- e.preventDefault()
86
- return
87
- }
88
- }
89
- // Old-fashioned briefly-focus-a-textarea hack
90
- let kludge = hiddenTextarea(), te = kludge.firstChild
91
- cm.display.lineSpace.insertBefore(kludge, cm.display.lineSpace.firstChild)
92
- te.value = lastCopied.text.join("\n")
93
- let hadFocus = document.activeElement
94
- selectInput(te)
95
- setTimeout(() => {
96
- cm.display.lineSpace.removeChild(kludge)
97
- hadFocus.focus()
98
- if (hadFocus == div) input.showPrimarySelection()
99
- }, 50)
100
- }
101
- on(div, "copy", onCopyCut)
102
- on(div, "cut", onCopyCut)
103
- }
104
-
105
- prepareSelection() {
106
- let result = prepareSelection(this.cm, false)
107
- result.focus = this.cm.state.focused
108
- return result
109
- }
110
-
111
- showSelection(info, takeFocus) {
112
- if (!info || !this.cm.display.view.length) return
113
- if (info.focus || takeFocus) this.showPrimarySelection()
114
- this.showMultipleSelections(info)
115
- }
116
-
117
- showPrimarySelection() {
118
- let sel = window.getSelection(), prim = this.cm.doc.sel.primary()
119
- let curAnchor = domToPos(this.cm, sel.anchorNode, sel.anchorOffset)
120
- let curFocus = domToPos(this.cm, sel.focusNode, sel.focusOffset)
121
- if (curAnchor && !curAnchor.bad && curFocus && !curFocus.bad &&
122
- cmp(minPos(curAnchor, curFocus), prim.from()) == 0 &&
123
- cmp(maxPos(curAnchor, curFocus), prim.to()) == 0)
124
- return
125
-
126
- let start = posToDOM(this.cm, prim.from())
127
- let end = posToDOM(this.cm, prim.to())
128
- if (!start && !end) return
129
-
130
- let view = this.cm.display.view
131
- let old = sel.rangeCount && sel.getRangeAt(0)
132
- if (!start) {
133
- start = {node: view[0].measure.map[2], offset: 0}
134
- } else if (!end) { // FIXME dangerously hacky
135
- let measure = view[view.length - 1].measure
136
- let map = measure.maps ? measure.maps[measure.maps.length - 1] : measure.map
137
- end = {node: map[map.length - 1], offset: map[map.length - 2] - map[map.length - 3]}
138
- }
139
-
140
- let rng
141
- try { rng = range(start.node, start.offset, end.offset, end.node) }
142
- catch(e) {} // Our model of the DOM might be outdated, in which case the range we try to set can be impossible
143
- if (rng) {
144
- if (!gecko && this.cm.state.focused) {
145
- sel.collapse(start.node, start.offset)
146
- if (!rng.collapsed) {
147
- sel.removeAllRanges()
148
- sel.addRange(rng)
149
- }
150
- } else {
151
- sel.removeAllRanges()
152
- sel.addRange(rng)
153
- }
154
- if (old && sel.anchorNode == null) sel.addRange(old)
155
- else if (gecko) this.startGracePeriod()
156
- }
157
- this.rememberSelection()
158
- }
159
-
160
- startGracePeriod() {
161
- clearTimeout(this.gracePeriod)
162
- this.gracePeriod = setTimeout(() => {
163
- this.gracePeriod = false
164
- if (this.selectionChanged())
165
- this.cm.operation(() => this.cm.curOp.selectionChanged = true)
166
- }, 20)
167
- }
168
-
169
- showMultipleSelections(info) {
170
- removeChildrenAndAdd(this.cm.display.cursorDiv, info.cursors)
171
- removeChildrenAndAdd(this.cm.display.selectionDiv, info.selection)
172
- }
173
-
174
- rememberSelection() {
175
- let sel = window.getSelection()
176
- this.lastAnchorNode = sel.anchorNode; this.lastAnchorOffset = sel.anchorOffset
177
- this.lastFocusNode = sel.focusNode; this.lastFocusOffset = sel.focusOffset
178
- }
179
-
180
- selectionInEditor() {
181
- let sel = window.getSelection()
182
- if (!sel.rangeCount) return false
183
- let node = sel.getRangeAt(0).commonAncestorContainer
184
- return contains(this.div, node)
185
- }
186
-
187
- focus() {
188
- if (this.cm.options.readOnly != "nocursor") {
189
- if (!this.selectionInEditor())
190
- this.showSelection(this.prepareSelection(), true)
191
- this.div.focus()
192
- }
193
- }
194
- blur() { this.div.blur() }
195
- getField() { return this.div }
196
-
197
- supportsTouch() { return true }
198
-
199
- receivedFocus() {
200
- let input = this
201
- if (this.selectionInEditor())
202
- this.pollSelection()
203
- else
204
- runInOp(this.cm, () => input.cm.curOp.selectionChanged = true)
205
-
206
- function poll() {
207
- if (input.cm.state.focused) {
208
- input.pollSelection()
209
- input.polling.set(input.cm.options.pollInterval, poll)
210
- }
211
- }
212
- this.polling.set(this.cm.options.pollInterval, poll)
213
- }
214
-
215
- selectionChanged() {
216
- let sel = window.getSelection()
217
- return sel.anchorNode != this.lastAnchorNode || sel.anchorOffset != this.lastAnchorOffset ||
218
- sel.focusNode != this.lastFocusNode || sel.focusOffset != this.lastFocusOffset
219
- }
220
-
221
- pollSelection() {
222
- if (!this.composing && this.readDOMTimeout == null && !this.gracePeriod && this.selectionChanged()) {
223
- let sel = window.getSelection(), cm = this.cm
224
- this.rememberSelection()
225
- let anchor = domToPos(cm, sel.anchorNode, sel.anchorOffset)
226
- let head = domToPos(cm, sel.focusNode, sel.focusOffset)
227
- if (anchor && head) runInOp(cm, () => {
228
- setSelection(cm.doc, simpleSelection(anchor, head), sel_dontScroll)
229
- if (anchor.bad || head.bad) cm.curOp.selectionChanged = true
230
- })
231
- }
232
- }
233
-
234
- pollContent() {
235
- if (this.readDOMTimeout != null) {
236
- clearTimeout(this.readDOMTimeout)
237
- this.readDOMTimeout = null
238
- }
239
-
240
- let cm = this.cm, display = cm.display, sel = cm.doc.sel.primary()
241
- let from = sel.from(), to = sel.to()
242
- if (from.ch == 0 && from.line > cm.firstLine())
243
- from = Pos(from.line - 1, getLine(cm.doc, from.line - 1).length)
244
- if (to.ch == getLine(cm.doc, to.line).text.length && to.line < cm.lastLine())
245
- to = Pos(to.line + 1, 0)
246
- if (from.line < display.viewFrom || to.line > display.viewTo - 1) return false
247
-
248
- let fromIndex, fromLine, fromNode
249
- if (from.line == display.viewFrom || (fromIndex = findViewIndex(cm, from.line)) == 0) {
250
- fromLine = lineNo(display.view[0].line)
251
- fromNode = display.view[0].node
252
- } else {
253
- fromLine = lineNo(display.view[fromIndex].line)
254
- fromNode = display.view[fromIndex - 1].node.nextSibling
255
- }
256
- let toIndex = findViewIndex(cm, to.line)
257
- let toLine, toNode
258
- if (toIndex == display.view.length - 1) {
259
- toLine = display.viewTo - 1
260
- toNode = display.lineDiv.lastChild
261
- } else {
262
- toLine = lineNo(display.view[toIndex + 1].line) - 1
263
- toNode = display.view[toIndex + 1].node.previousSibling
264
- }
265
-
266
- if (!fromNode) return false
267
- let newText = cm.doc.splitLines(domTextBetween(cm, fromNode, toNode, fromLine, toLine))
268
- let oldText = getBetween(cm.doc, Pos(fromLine, 0), Pos(toLine, getLine(cm.doc, toLine).text.length))
269
- while (newText.length > 1 && oldText.length > 1) {
270
- if (lst(newText) == lst(oldText)) { newText.pop(); oldText.pop(); toLine-- }
271
- else if (newText[0] == oldText[0]) { newText.shift(); oldText.shift(); fromLine++ }
272
- else break
273
- }
274
-
275
- let cutFront = 0, cutEnd = 0
276
- let newTop = newText[0], oldTop = oldText[0], maxCutFront = Math.min(newTop.length, oldTop.length)
277
- while (cutFront < maxCutFront && newTop.charCodeAt(cutFront) == oldTop.charCodeAt(cutFront))
278
- ++cutFront
279
- let newBot = lst(newText), oldBot = lst(oldText)
280
- let maxCutEnd = Math.min(newBot.length - (newText.length == 1 ? cutFront : 0),
281
- oldBot.length - (oldText.length == 1 ? cutFront : 0))
282
- while (cutEnd < maxCutEnd &&
283
- newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1))
284
- ++cutEnd
285
-
286
- newText[newText.length - 1] = newBot.slice(0, newBot.length - cutEnd).replace(/^\u200b+/, "")
287
- newText[0] = newText[0].slice(cutFront).replace(/\u200b+$/, "")
288
-
289
- let chFrom = Pos(fromLine, cutFront)
290
- let chTo = Pos(toLine, oldText.length ? lst(oldText).length - cutEnd : 0)
291
- if (newText.length > 1 || newText[0] || cmp(chFrom, chTo)) {
292
- replaceRange(cm.doc, newText, chFrom, chTo, "+input")
293
- return true
294
- }
295
- }
296
-
297
- ensurePolled() {
298
- this.forceCompositionEnd()
299
- }
300
- reset() {
301
- this.forceCompositionEnd()
302
- }
303
- forceCompositionEnd() {
304
- if (!this.composing) return
305
- clearTimeout(this.readDOMTimeout)
306
- this.composing = null
307
- if (!this.pollContent()) regChange(this.cm)
308
- this.div.blur()
309
- this.div.focus()
310
- }
311
- readFromDOMSoon() {
312
- if (this.readDOMTimeout != null) return
313
- this.readDOMTimeout = setTimeout(() => {
314
- this.readDOMTimeout = null
315
- if (this.composing) {
316
- if (this.composing.done) this.composing = null
317
- else return
318
- }
319
- if (this.cm.isReadOnly() || !this.pollContent())
320
- runInOp(this.cm, () => regChange(this.cm))
321
- }, 80)
322
- }
323
-
324
- setUneditable(node) {
325
- node.contentEditable = "false"
326
- }
327
-
328
- onKeyPress(e) {
329
- e.preventDefault()
330
- if (!this.cm.isReadOnly())
331
- operation(this.cm, applyTextInput)(this.cm, String.fromCharCode(e.charCode == null ? e.keyCode : e.charCode), 0)
332
- }
333
-
334
- readOnlyChanged(val) {
335
- this.div.contentEditable = String(val != "nocursor")
336
- }
337
-
338
- onContextMenu() {}
339
- resetPosition() {}
340
- }
341
-
342
- ContentEditableInput.prototype.needsContentAttribute = true
343
-
344
- function posToDOM(cm, pos) {
345
- let view = findViewForLine(cm, pos.line)
346
- if (!view || view.hidden) return null
347
- let line = getLine(cm.doc, pos.line)
348
- let info = mapFromLineView(view, line, pos.line)
349
-
350
- let order = getOrder(line), side = "left"
351
- if (order) {
352
- let partPos = getBidiPartAt(order, pos.ch)
353
- side = partPos % 2 ? "right" : "left"
354
- }
355
- let result = nodeAndOffsetInLineMap(info.map, pos.ch, side)
356
- result.offset = result.collapse == "right" ? result.end : result.start
357
- return result
358
- }
359
-
360
- function badPos(pos, bad) { if (bad) pos.bad = true; return pos }
361
-
362
- function domTextBetween(cm, from, to, fromLine, toLine) {
363
- let text = "", closing = false, lineSep = cm.doc.lineSeparator()
364
- function recognizeMarker(id) { return marker => marker.id == id }
365
- function walk(node) {
366
- if (node.nodeType == 1) {
367
- let cmText = node.getAttribute("cm-text")
368
- if (cmText != null) {
369
- if (cmText == "") text += node.textContent.replace(/\u200b/g, "")
370
- else text += cmText
371
- return
372
- }
373
- let markerID = node.getAttribute("cm-marker"), range
374
- if (markerID) {
375
- let found = cm.findMarks(Pos(fromLine, 0), Pos(toLine + 1, 0), recognizeMarker(+markerID))
376
- if (found.length && (range = found[0].find()))
377
- text += getBetween(cm.doc, range.from, range.to).join(lineSep)
378
- return
379
- }
380
- if (node.getAttribute("contenteditable") == "false") return
381
- for (let i = 0; i < node.childNodes.length; i++)
382
- walk(node.childNodes[i])
383
- if (/^(pre|div|p)$/i.test(node.nodeName))
384
- closing = true
385
- } else if (node.nodeType == 3) {
386
- let val = node.nodeValue
387
- if (!val) return
388
- if (closing) {
389
- text += lineSep
390
- closing = false
391
- }
392
- text += val
393
- }
394
- }
395
- for (;;) {
396
- walk(from)
397
- if (from == to) break
398
- from = from.nextSibling
399
- }
400
- return text
401
- }
402
-
403
- function domToPos(cm, node, offset) {
404
- let lineNode
405
- if (node == cm.display.lineDiv) {
406
- lineNode = cm.display.lineDiv.childNodes[offset]
407
- if (!lineNode) return badPos(cm.clipPos(Pos(cm.display.viewTo - 1)), true)
408
- node = null; offset = 0
409
- } else {
410
- for (lineNode = node;; lineNode = lineNode.parentNode) {
411
- if (!lineNode || lineNode == cm.display.lineDiv) return null
412
- if (lineNode.parentNode && lineNode.parentNode == cm.display.lineDiv) break
413
- }
414
- }
415
- for (let i = 0; i < cm.display.view.length; i++) {
416
- let lineView = cm.display.view[i]
417
- if (lineView.node == lineNode)
418
- return locateNodeInLineView(lineView, node, offset)
419
- }
420
- }
421
-
422
- function locateNodeInLineView(lineView, node, offset) {
423
- let wrapper = lineView.text.firstChild, bad = false
424
- if (!node || !contains(wrapper, node)) return badPos(Pos(lineNo(lineView.line), 0), true)
425
- if (node == wrapper) {
426
- bad = true
427
- node = wrapper.childNodes[offset]
428
- offset = 0
429
- if (!node) {
430
- let line = lineView.rest ? lst(lineView.rest) : lineView.line
431
- return badPos(Pos(lineNo(line), line.text.length), bad)
432
- }
433
- }
434
-
435
- let textNode = node.nodeType == 3 ? node : null, topNode = node
436
- if (!textNode && node.childNodes.length == 1 && node.firstChild.nodeType == 3) {
437
- textNode = node.firstChild
438
- if (offset) offset = textNode.nodeValue.length
439
- }
440
- while (topNode.parentNode != wrapper) topNode = topNode.parentNode
441
- let measure = lineView.measure, maps = measure.maps
442
-
443
- function find(textNode, topNode, offset) {
444
- for (let i = -1; i < (maps ? maps.length : 0); i++) {
445
- let map = i < 0 ? measure.map : maps[i]
446
- for (let j = 0; j < map.length; j += 3) {
447
- let curNode = map[j + 2]
448
- if (curNode == textNode || curNode == topNode) {
449
- let line = lineNo(i < 0 ? lineView.line : lineView.rest[i])
450
- let ch = map[j] + offset
451
- if (offset < 0 || curNode != textNode) ch = map[j + (offset ? 1 : 0)]
452
- return Pos(line, ch)
453
- }
454
- }
455
- }
456
- }
457
- let found = find(textNode, topNode, offset)
458
- if (found) return badPos(found, bad)
459
-
460
- // FIXME this is all really shaky. might handle the few cases it needs to handle, but likely to cause problems
461
- for (let after = topNode.nextSibling, dist = textNode ? textNode.nodeValue.length - offset : 0; after; after = after.nextSibling) {
462
- found = find(after, after.firstChild, 0)
463
- if (found)
464
- return badPos(Pos(found.line, found.ch - dist), bad)
465
- else
466
- dist += after.textContent.length
467
- }
468
- for (let before = topNode.previousSibling, dist = offset; before; before = before.previousSibling) {
469
- found = find(before, before.firstChild, -1)
470
- if (found)
471
- return badPos(Pos(found.line, found.ch + dist), bad)
472
- else
473
- dist += before.textContent.length
474
- }
475
- }