Socket
Socket
Sign inDemoInstall

@codemirror/autocomplete

Package Overview
Dependencies
Maintainers
2
Versions
77
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@codemirror/autocomplete - npm Package Compare versions

Comparing version 0.18.3 to 0.18.4

6

CHANGELOG.md

@@ -0,1 +1,7 @@

## 0.18.4 (2021-04-20)
### Bug fixes
Fix a crash in Safari when moving the selection during composition.
## 0.18.3 (2021-03-15)

@@ -2,0 +8,0 @@

55

dist/index.js

@@ -150,3 +150,3 @@ import { Facet, combineConfig, StateEffect, StateField, Transaction, Text, EditorSelection, Prec, CharCategory } from '@codemirror/state';

}
const SourceCache = new WeakMap();
const SourceCache = /*@__PURE__*/new WeakMap();
function asSource(source) {

@@ -282,3 +282,3 @@ if (!Array.isArray(source))

const completionConfig = Facet.define({
const completionConfig = /*@__PURE__*/Facet.define({
combine(configs) {

@@ -297,3 +297,3 @@ return combineConfig(configs, {

const MaxInfoWidth = 300;
const baseTheme = EditorView.baseTheme({
const baseTheme = /*@__PURE__*/EditorView.baseTheme({
".cm-tooltip.cm-tooltip-autocomplete": {

@@ -770,9 +770,9 @@ "& > ul": {

}
const startCompletionEffect = StateEffect.define();
const closeCompletionEffect = StateEffect.define();
const setActiveEffect = StateEffect.define({
const startCompletionEffect = /*@__PURE__*/StateEffect.define();
const closeCompletionEffect = /*@__PURE__*/StateEffect.define();
const setActiveEffect = /*@__PURE__*/StateEffect.define({
map(sources, mapping) { return sources.map(s => s.hasResult() && !mapping.empty ? s.map(mapping) : s); }
});
const setSelectedEffect = StateEffect.define();
const completionState = StateField.define({
const setSelectedEffect = /*@__PURE__*/StateEffect.define();
const completionState = /*@__PURE__*/StateField.define({
create() { return CompletionState.start(); },

@@ -850,3 +850,3 @@ update(value, tr) { return value.update(tr); },

const DebounceTime = 50, MaxUpdateCount = 50, MinAbortTime = 1000;
const completionPlugin = ViewPlugin.fromClass(class {
const completionPlugin = /*@__PURE__*/ViewPlugin.fromClass(class {
constructor(view) {

@@ -981,4 +981,7 @@ this.view = view;

compositionend() {
if (this.composing == 3 /* ChangedAndMoved */)
this.view.dispatch({ effects: startCompletionEffect.of(false) });
if (this.composing == 3 /* ChangedAndMoved */) {
// Safari fires compositionend events synchronously, possibly
// from inside an update, so dispatch asynchronously to avoid reentrancy
setTimeout(() => this.view.dispatch({ effects: startCompletionEffect.of(false) }), 20);
}
this.composing = 0 /* None */;

@@ -1054,3 +1057,3 @@ }

}
let fieldMarker = Decoration.widget({ widget: new class extends WidgetType {
let fieldMarker = /*@__PURE__*/Decoration.widget({ widget: /*@__PURE__*/new class extends WidgetType {
toDOM() {

@@ -1063,3 +1066,3 @@ let span = document.createElement("span");

} });
let fieldRange = Decoration.mark({ class: "cm-snippetField" });
let fieldRange = /*@__PURE__*/Decoration.mark({ class: "cm-snippetField" });
class ActiveSnippet {

@@ -1078,7 +1081,7 @@ constructor(ranges, active) {

}
const setActive = StateEffect.define({
const setActive = /*@__PURE__*/StateEffect.define({
map(value, changes) { return value && value.map(changes); }
});
const moveToField = StateEffect.define();
const snippetState = StateField.define({
const moveToField = /*@__PURE__*/StateEffect.define();
const snippetState = /*@__PURE__*/StateField.define({
create() { return null; },

@@ -1169,7 +1172,7 @@ update(value, tr) {

*/
const nextSnippetField = moveField(1);
const nextSnippetField = /*@__PURE__*/moveField(1);
/**
Move to the previous snippet field, if available.
*/
const prevSnippetField = moveField(-1);
const prevSnippetField = /*@__PURE__*/moveField(-1);
const defaultSnippetKeymap = [

@@ -1186,6 +1189,6 @@ { key: "Tab", run: nextSnippetField, shift: prevSnippetField },

*/
const snippetKeymap = Facet.define({
const snippetKeymap = /*@__PURE__*/Facet.define({
combine(maps) { return maps.length ? maps[0] : defaultSnippetKeymap; }
});
const addSnippetKeymap = Prec.override(keymap.compute([snippetKeymap], state => state.facet(snippetKeymap)));
const addSnippetKeymap = /*@__PURE__*/Prec.override(/*@__PURE__*/keymap.compute([snippetKeymap], state => state.facet(snippetKeymap)));
/**

@@ -1199,3 +1202,3 @@ Create a completion from a snippet. Returns an object with the

}
const snippetPointerHandler = EditorView.domEventHandlers({
const snippetPointerHandler = /*@__PURE__*/EditorView.domEventHandlers({
mousedown(event, view) {

@@ -1280,9 +1283,9 @@ let active = view.state.field(snippetState, false), pos;

{ key: "Escape", run: closeCompletion },
{ key: "ArrowDown", run: moveCompletionSelection(true) },
{ key: "ArrowUp", run: moveCompletionSelection(false) },
{ key: "PageDown", run: moveCompletionSelection(true, "page") },
{ key: "PageUp", run: moveCompletionSelection(false, "page") },
{ key: "ArrowDown", run: /*@__PURE__*/moveCompletionSelection(true) },
{ key: "ArrowUp", run: /*@__PURE__*/moveCompletionSelection(false) },
{ key: "PageDown", run: /*@__PURE__*/moveCompletionSelection(true, "page") },
{ key: "PageUp", run: /*@__PURE__*/moveCompletionSelection(false, "page") },
{ key: "Enter", run: acceptCompletion }
];
const completionKeymapExt = Prec.override(keymap.computeN([completionConfig], state => state.facet(completionConfig).defaultKeymap ? [completionKeymap] : []));
const completionKeymapExt = /*@__PURE__*/Prec.override(/*@__PURE__*/keymap.computeN([completionConfig], state => state.facet(completionConfig).defaultKeymap ? [completionKeymap] : []));
/**

@@ -1289,0 +1292,0 @@ Get the current completion status. When completions are available,

{
"name": "@codemirror/autocomplete",
"version": "0.18.3",
"version": "0.18.4",
"description": "Autocompletion for the CodeMirror code editor",

@@ -5,0 +5,0 @@ "scripts": {

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc