diff --git a/src/UI/Components/commandLineInput/InputHint.tsx b/src/UI/Components/commandLineInput/InputHint.tsx index 5dca04447..ff60ca72c 100644 --- a/src/UI/Components/commandLineInput/InputHint.tsx +++ b/src/UI/Components/commandLineInput/InputHint.tsx @@ -134,13 +134,20 @@ export class InputHint extends React.Component intelliSenseCmdList.sort((c1, c2) => { - let i = 1; - if (c1.indexOf(inputCmd) < c2.indexOf(inputCmd)) - i = -1; - else if (c1.indexOf(inputCmd) === c2.indexOf(inputCmd)) - i = c1.length < c2.length ? -1 : 1 - - return i; + let lastIndex = 0; + for (let c of inputCmd) + { + let i1 = c1.indexOf(c, lastIndex); + let i2 = c2.indexOf(c, lastIndex); + if (i1 != i2) + return i1 < i2 ? -1 : 1; + else + lastIndex = i1; + } + if (c1.length === c2.length) + return c1.localeCompare(c2); + else + return c1.length < c2.length ? -1 : 1; }); this.setState({ intelliSenseCommand: intelliSenseCmdList,