diff --git a/public/scripts/slash-commands/SlashCommandAutoComplete.js b/public/scripts/slash-commands/SlashCommandAutoComplete.js index 56428048..9d5f5a55 100644 --- a/public/scripts/slash-commands/SlashCommandAutoComplete.js +++ b/public/scripts/slash-commands/SlashCommandAutoComplete.js @@ -1,6 +1,7 @@ import { power_user } from '../power-user.js'; import { debounce, escapeRegex } from '../utils.js'; -import { OPTION_TYPE, SlashCommandAutoCompleteOption, SlashCommandFuzzyScore } from './SlashCommandAutoCompleteOption.js'; +import { SlashCommandAutoCompleteOption, SlashCommandFuzzyScore } from './SlashCommandAutoCompleteOption.js'; +import { SlashCommandBlankAutoCompleteOption } from './SlashCommandBlankAutoCompleteOption.js'; // eslint-disable-next-line no-unused-vars import { SlashCommandParserNameResult } from './SlashCommandParserNameResult.js'; @@ -101,7 +102,6 @@ export class SlashCommandAutoComplete { /** * * @param {SlashCommandAutoCompleteOption} option - * @returns */ makeItem(option) { const li = option.renderItem(); @@ -313,17 +313,12 @@ export class SlashCommandAutoComplete { return this.hide(); } // otherwise add "no match" notice - const option = new SlashCommandAutoCompleteOption( - OPTION_TYPE.BLANK, - null, - '', - ); - const li = document.createElement('li'); { - li.textContent = this.name.length ? + const option = new SlashCommandBlankAutoCompleteOption( + this.name.length ? this.parserResult.makeNoMatchText() - : this.parserResult.makeNoOptionstext(); - } - option.dom = li; + : this.parserResult.makeNoOptionstext() + , + ); this.result.push(option); } else if (this.result.length == 1 && this.parserResult && this.result[0].name == this.parserResult.name) { // only one result that is exactly the current value? just show hint, no autocomplete diff --git a/public/scripts/slash-commands/SlashCommandBlankAutoCompleteOption.js b/public/scripts/slash-commands/SlashCommandBlankAutoCompleteOption.js new file mode 100644 index 00000000..474ec207 --- /dev/null +++ b/public/scripts/slash-commands/SlashCommandBlankAutoCompleteOption.js @@ -0,0 +1,27 @@ +import { SlashCommandAutoCompleteOption } from './SlashCommandAutoCompleteOption.js'; + +export class SlashCommandBlankAutoCompleteOption extends SlashCommandAutoCompleteOption { + /** + * @param {string} value + */ + constructor(value) { + super(value, value); + this.dom = this.renderItem(); + } + + + renderItem() { + const li = document.createElement('li'); { + li.classList.add('item'); + li.classList.add('blank'); + li.textContent = this.name; + } + return li; + } + + + renderDetails() { + const frag = document.createDocumentFragment(); + return frag; + } +} diff --git a/public/style.css b/public/style.css index 4227e56f..3c9e274f 100644 --- a/public/style.css +++ b/public/style.css @@ -1326,6 +1326,10 @@ body[data-stscript-style] .hljs.language-stscript { gap: 0.5em; font-size: 0.8em; display: contents; + &.blank { + display: block; + grid-column: 1 / 4; + } &:hover > * { background-color: var(--ac-color-hoveredBackground); color: var(--ac-color-hoveredText);