Skip to content

Commit 92e9634

Browse files
committed
[sql-hint addon] Remove strange hack
Issue codemirror#4057
1 parent ecd6976 commit 92e9634

File tree

1 file changed

+6
-16
lines changed

1 file changed

+6
-16
lines changed

addon/hint/sql-hint.js

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
QUERY_DIV: ";",
1919
ALIAS_KEYWORD: "AS"
2020
};
21-
var Pos = CodeMirror.Pos;
21+
var Pos = CodeMirror.Pos, cmpPos = CodeMirror.cmpPos;
2222

2323
function isArray(val) { return Object.prototype.toString.call(val) == "[object Array]" }
2424

@@ -178,15 +178,6 @@
178178
}
179179
}
180180

181-
function convertCurToNumber(cur) {
182-
// max characters of a line is 999,999.
183-
return cur.line + cur.ch / Math.pow(10, 6);
184-
}
185-
186-
function convertNumberToCur(num) {
187-
return Pos(Math.floor(num), +num.toFixed(6).toString().split('.').pop());
188-
}
189-
190181
function findTableByAlias(alias, editor) {
191182
var doc = editor.doc;
192183
var fullQuery = doc.getValue();
@@ -209,15 +200,14 @@
209200
separator.push(Pos(editor.lastLine(), editor.getLineHandle(editor.lastLine()).text.length));
210201

211202
//find valid range
212-
var prevItem = 0;
213-
var current = convertCurToNumber(editor.getCursor());
203+
var prevItem = null;
204+
var current = editor.getCursor()
214205
for (var i = 0; i < separator.length; i++) {
215-
var _v = convertCurToNumber(separator[i]);
216-
if (current > prevItem && current <= _v) {
217-
validRange = { start: convertNumberToCur(prevItem), end: convertNumberToCur(_v) };
206+
if ((prevItem == null || cmpPos(current, prevItem) > 0) && cmpPos(current, separator[i]) <= 0) {
207+
validRange = {start: prevItem, end: separator[i]};
218208
break;
219209
}
220-
prevItem = _v;
210+
prevItem = separator[i];
221211
}
222212

223213
var query = doc.getRange(validRange.start, validRange.end, false);

0 commit comments

Comments
 (0)