diff --git a/app/src/protyle/hint/extend.ts b/app/src/protyle/hint/extend.ts
index b5306de26..6107cabdc 100644
--- a/app/src/protyle/hint/extend.ts
+++ b/app/src/protyle/hint/extend.ts
@@ -375,7 +375,7 @@ export const hintRef = (key: string, protyle: IProtyle, source: THintSource): IH
response.data.blocks.forEach((item: IBlock) => {
let value = `${item.name || item.refText}`;
if (source === "search") {
- value = `${key}`;
+ value = `${key}${Constants.ZWSP}${item.name || item.refText}`;
}
dataList.push({
value,
diff --git a/app/src/protyle/hint/index.ts b/app/src/protyle/hint/index.ts
index ed9193b60..66b1efdca 100644
--- a/app/src/protyle/hint/index.ts
+++ b/app/src/protyle/hint/index.ts
@@ -61,10 +61,9 @@ export class Hint {
if (this.source !== "search") {
this.fill(decodeURIComponent(btnElement.getAttribute("data-value")), protyle, true, isCtrl(event));
} else {
- // 划选引用点击,需先重置 range
setTimeout(() => {
- this.fill(decodeURIComponent(btnElement.getAttribute("data-value")), protyle);
- }, 148);
+ this.fill(decodeURIComponent(btnElement.getAttribute("data-value")), protyle, true, !isCtrl(event));
+ }, 148); // 划选引用点击,需先重置 range
}
focusByRange(protyle.toolbar.range);
@@ -303,8 +302,8 @@ ${unicode2Emoji(emoji.unicode)}`;
upDownHint(this.element.lastElementChild, event);
if (event.key === "Enter") {
setTimeout(() => {
- this.fill(decodeURIComponent(this.element.querySelector(".b3-list-item--focus").getAttribute("data-value")), protyle);
- }, 148);
+ this.fill(decodeURIComponent(this.element.querySelector(".b3-list-item--focus").getAttribute("data-value")), protyle, true, !isCtrl(event));
+ }, 148); // 划选引用点击,需先重置 range
focusByRange(protyle.toolbar.range);
event.preventDefault();
} else if (event.key === "Escape") {
@@ -542,6 +541,12 @@ ${genHintItemHTML(item)}
tempElement.setAttribute("data-subtype", "s");
tempElement.innerText = staticText;
}
+ } else {
+ tempElement.setAttribute("data-subtype", "d");
+ const dynamicTexts = tempElement.innerText.split(Constants.ZWSP);
+ if (dynamicTexts.length === 2) {
+ tempElement.innerText = dynamicTexts[1];
+ }
}
protyle.toolbar.setInlineMark(protyle, "block-ref", "range", {
type: "id",