Clearer logic for triggering labels-loading

This commit is contained in:
Shane Kilkelly 2017-06-12 14:23:29 +01:00
parent 0a491a4f13
commit debb0c06a4

View file

@ -16,16 +16,16 @@ define [
onChange = (change) =>
if change.remote
return
if change.action not in ['remove', 'insert']
return
cursorPosition = @editor.getCursorPosition()
end = change.end
range = new Range(end.row, 0, end.row, end.column)
lineUpToCursor = @editor.getSession().getTextRange(range)
commandFragment = getLastCommandFragment(lineUpToCursor)
if (
change.action in ['remove', 'insert'] and
((_.any(change.lines, (line) -> line.match(/\\label\{[^\}\n\\]{0,80}\}/))) or
(commandFragment?.length > 2 and commandFragment.slice(0,7) == '\\label{'))
)
linesContainLabel = _.any(change.lines, (line) -> line.match(/\\label\{[^\}\n\\]{0,80}\}/))
lastCommandFragmentIsLabel = commandFragment?.slice(0,7) == '\\label{'
if linesContainLabel or lastCommandFragmentIsLabel
@scheduleLoadCurrentDocLabelsFromServer()
@editor.on "changeSession", (e) =>