Better header editor and added completion data

This commit is contained in:
Gregory Schier
2023-03-19 11:09:21 -07:00
parent cb3f053057
commit d9b40dca83
16 changed files with 568 additions and 92 deletions

View File

@@ -3,17 +3,21 @@ import type { CompletionContext } from '@codemirror/autocomplete';
export interface GenericCompletionOption {
label: string;
type: 'constant' | 'variable';
/** When given, should be a number from -99 to 99 that adjusts
* how this completion is ranked compared to other completions
* that match the input as well as this one. A negative number
* moves it down the list, a positive number moves it up. */
boost?: number;
}
export function genericCompletion({
options,
minMatch = 1,
}: {
options: GenericCompletionOption[];
export interface GenericCompletionConfig {
minMatch?: number;
}) {
options: GenericCompletionOption[];
}
export function genericCompletion({ options, minMatch = 1 }: GenericCompletionConfig) {
return function completions(context: CompletionContext) {
const toMatch = context.matchBefore(/^[\w:/]*/);
const toMatch = context.matchBefore(/^.*/);
if (toMatch === null) return null;
const matchedMinimumLength = toMatch.to - toMatch.from >= minMatch;