@codemirror/autocomplete 6.6.1 → 6.7.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.
- package/CHANGELOG.md +12 -0
- package/dist/index.cjs +19 -1
- package/dist/index.d.ts +11 -1
- package/dist/index.js +18 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## 6.7.1 (2023-05-13)
|
|
2
|
+
|
|
3
|
+
### Bug fixes
|
|
4
|
+
|
|
5
|
+
Fix a bug that cause incorrect ordering of completions when some results covered input text and others didn't.
|
|
6
|
+
|
|
7
|
+
## 6.7.0 (2023-05-11)
|
|
8
|
+
|
|
9
|
+
### New features
|
|
10
|
+
|
|
11
|
+
The new `hasNextSnippetField` and `hasPrevSnippetField` functions can be used to figure out if the snippet-field-motion commands apply to a given state.
|
|
12
|
+
|
|
1
13
|
## 6.6.1 (2023-05-03)
|
|
2
14
|
|
|
3
15
|
### Bug fixes
|
package/dist/index.cjs
CHANGED
|
@@ -220,7 +220,7 @@ class FuzzyMatcher {
|
|
|
220
220
|
// is. See `Penalty` above.
|
|
221
221
|
match(word) {
|
|
222
222
|
if (this.pattern.length == 0)
|
|
223
|
-
return [
|
|
223
|
+
return [-100 /* Penalty.NotFull */];
|
|
224
224
|
if (word.length < this.pattern.length)
|
|
225
225
|
return null;
|
|
226
226
|
let { chars, folded, any, precise, byWord } = this;
|
|
@@ -1479,6 +1479,22 @@ const nextSnippetField = moveField(1);
|
|
|
1479
1479
|
Move to the previous snippet field, if available.
|
|
1480
1480
|
*/
|
|
1481
1481
|
const prevSnippetField = moveField(-1);
|
|
1482
|
+
/**
|
|
1483
|
+
Check if there is an active snippet with a next field for
|
|
1484
|
+
`nextSnippetField` to move to.
|
|
1485
|
+
*/
|
|
1486
|
+
function hasNextSnippetField(state) {
|
|
1487
|
+
let active = state.field(snippetState, false);
|
|
1488
|
+
return !!(active && active.ranges.some(r => r.field == active.active + 1));
|
|
1489
|
+
}
|
|
1490
|
+
/**
|
|
1491
|
+
Returns true if there is an active snippet and a previous field
|
|
1492
|
+
for `prevSnippetField` to move to.
|
|
1493
|
+
*/
|
|
1494
|
+
function hasPrevSnippetField(state) {
|
|
1495
|
+
let active = state.field(snippetState, false);
|
|
1496
|
+
return !!(active && active.active > 0);
|
|
1497
|
+
}
|
|
1482
1498
|
const defaultSnippetKeymap = [
|
|
1483
1499
|
{ key: "Tab", run: nextSnippetField, shift: prevSnippetField },
|
|
1484
1500
|
{ key: "Escape", run: clearSnippet }
|
|
@@ -1938,6 +1954,8 @@ exports.completionKeymap = completionKeymap;
|
|
|
1938
1954
|
exports.completionStatus = completionStatus;
|
|
1939
1955
|
exports.currentCompletions = currentCompletions;
|
|
1940
1956
|
exports.deleteBracketPair = deleteBracketPair;
|
|
1957
|
+
exports.hasNextSnippetField = hasNextSnippetField;
|
|
1958
|
+
exports.hasPrevSnippetField = hasPrevSnippetField;
|
|
1941
1959
|
exports.ifIn = ifIn;
|
|
1942
1960
|
exports.ifNotIn = ifNotIn;
|
|
1943
1961
|
exports.insertBracket = insertBracket;
|
package/dist/index.d.ts
CHANGED
|
@@ -398,6 +398,16 @@ Move to the previous snippet field, if available.
|
|
|
398
398
|
*/
|
|
399
399
|
declare const prevSnippetField: StateCommand;
|
|
400
400
|
/**
|
|
401
|
+
Check if there is an active snippet with a next field for
|
|
402
|
+
`nextSnippetField` to move to.
|
|
403
|
+
*/
|
|
404
|
+
declare function hasNextSnippetField(state: EditorState): boolean;
|
|
405
|
+
/**
|
|
406
|
+
Returns true if there is an active snippet and a previous field
|
|
407
|
+
for `prevSnippetField` to move to.
|
|
408
|
+
*/
|
|
409
|
+
declare function hasPrevSnippetField(state: EditorState): boolean;
|
|
410
|
+
/**
|
|
401
411
|
A facet that can be used to configure the key bindings used by
|
|
402
412
|
snippets. The default binds Tab to
|
|
403
413
|
[`nextSnippetField`](https://codemirror.net/6/docs/ref/#autocomplete.nextSnippetField), Shift-Tab to
|
|
@@ -534,4 +544,4 @@ the currently selected completion.
|
|
|
534
544
|
*/
|
|
535
545
|
declare function setSelectedCompletion(index: number): StateEffect<unknown>;
|
|
536
546
|
|
|
537
|
-
export { CloseBracketConfig, Completion, CompletionContext, CompletionResult, CompletionSection, CompletionSource, acceptCompletion, autocompletion, clearSnippet, closeBrackets, closeBracketsKeymap, closeCompletion, completeAnyWord, completeFromList, completionKeymap, completionStatus, currentCompletions, deleteBracketPair, ifIn, ifNotIn, insertBracket, insertCompletionText, moveCompletionSelection, nextSnippetField, pickedCompletion, prevSnippetField, selectedCompletion, selectedCompletionIndex, setSelectedCompletion, snippet, snippetCompletion, snippetKeymap, startCompletion };
|
|
547
|
+
export { CloseBracketConfig, Completion, CompletionContext, CompletionResult, CompletionSection, CompletionSource, acceptCompletion, autocompletion, clearSnippet, closeBrackets, closeBracketsKeymap, closeCompletion, completeAnyWord, completeFromList, completionKeymap, completionStatus, currentCompletions, deleteBracketPair, hasNextSnippetField, hasPrevSnippetField, ifIn, ifNotIn, insertBracket, insertCompletionText, moveCompletionSelection, nextSnippetField, pickedCompletion, prevSnippetField, selectedCompletion, selectedCompletionIndex, setSelectedCompletion, snippet, snippetCompletion, snippetKeymap, startCompletion };
|
package/dist/index.js
CHANGED
|
@@ -216,7 +216,7 @@ class FuzzyMatcher {
|
|
|
216
216
|
// is. See `Penalty` above.
|
|
217
217
|
match(word) {
|
|
218
218
|
if (this.pattern.length == 0)
|
|
219
|
-
return [
|
|
219
|
+
return [-100 /* Penalty.NotFull */];
|
|
220
220
|
if (word.length < this.pattern.length)
|
|
221
221
|
return null;
|
|
222
222
|
let { chars, folded, any, precise, byWord } = this;
|
|
@@ -1475,6 +1475,22 @@ const nextSnippetField = /*@__PURE__*/moveField(1);
|
|
|
1475
1475
|
Move to the previous snippet field, if available.
|
|
1476
1476
|
*/
|
|
1477
1477
|
const prevSnippetField = /*@__PURE__*/moveField(-1);
|
|
1478
|
+
/**
|
|
1479
|
+
Check if there is an active snippet with a next field for
|
|
1480
|
+
`nextSnippetField` to move to.
|
|
1481
|
+
*/
|
|
1482
|
+
function hasNextSnippetField(state) {
|
|
1483
|
+
let active = state.field(snippetState, false);
|
|
1484
|
+
return !!(active && active.ranges.some(r => r.field == active.active + 1));
|
|
1485
|
+
}
|
|
1486
|
+
/**
|
|
1487
|
+
Returns true if there is an active snippet and a previous field
|
|
1488
|
+
for `prevSnippetField` to move to.
|
|
1489
|
+
*/
|
|
1490
|
+
function hasPrevSnippetField(state) {
|
|
1491
|
+
let active = state.field(snippetState, false);
|
|
1492
|
+
return !!(active && active.active > 0);
|
|
1493
|
+
}
|
|
1478
1494
|
const defaultSnippetKeymap = [
|
|
1479
1495
|
{ key: "Tab", run: nextSnippetField, shift: prevSnippetField },
|
|
1480
1496
|
{ key: "Escape", run: clearSnippet }
|
|
@@ -1921,4 +1937,4 @@ function setSelectedCompletion(index) {
|
|
|
1921
1937
|
return setSelectedEffect.of(index);
|
|
1922
1938
|
}
|
|
1923
1939
|
|
|
1924
|
-
export { CompletionContext, acceptCompletion, autocompletion, clearSnippet, closeBrackets, closeBracketsKeymap, closeCompletion, completeAnyWord, completeFromList, completionKeymap, completionStatus, currentCompletions, deleteBracketPair, ifIn, ifNotIn, insertBracket, insertCompletionText, moveCompletionSelection, nextSnippetField, pickedCompletion, prevSnippetField, selectedCompletion, selectedCompletionIndex, setSelectedCompletion, snippet, snippetCompletion, snippetKeymap, startCompletion };
|
|
1940
|
+
export { CompletionContext, acceptCompletion, autocompletion, clearSnippet, closeBrackets, closeBracketsKeymap, closeCompletion, completeAnyWord, completeFromList, completionKeymap, completionStatus, currentCompletions, deleteBracketPair, hasNextSnippetField, hasPrevSnippetField, ifIn, ifNotIn, insertBracket, insertCompletionText, moveCompletionSelection, nextSnippetField, pickedCompletion, prevSnippetField, selectedCompletion, selectedCompletionIndex, setSelectedCompletion, snippet, snippetCompletion, snippetKeymap, startCompletion };
|