From b0ff8e0745ffa8b0bfb8fdc747cf1cdf8c2832ca Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Wed, 14 Jun 2017 15:14:38 +0100 Subject: [PATCH 1/2] Fix a typo: `prefxi` => `prefix` --- .../aceEditor/auto-complete/AutoCompleteManager.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/web/public/coffee/ide/editor/directives/aceEditor/auto-complete/AutoCompleteManager.coffee b/services/web/public/coffee/ide/editor/directives/aceEditor/auto-complete/AutoCompleteManager.coffee index e2ef4cd03e..3d6de67404 100644 --- a/services/web/public/coffee/ide/editor/directives/aceEditor/auto-complete/AutoCompleteManager.coffee +++ b/services/web/public/coffee/ide/editor/directives/aceEditor/auto-complete/AutoCompleteManager.coffee @@ -42,7 +42,7 @@ define [ labelsManager = @labelsManager LabelsCompleter = - getCompletions: (editor, session, pos, prefxi, callback) -> + getCompletions: (editor, session, pos, prefix, callback) -> upToCursorRange = new Range(pos.row, 0, pos.row, pos.column) lineUpToCursor = editor.getSession().getTextRange(upToCursorRange) commandFragment = getLastCommandFragment(lineUpToCursor) From 3f1a440d665381ff320c616fe6f7b3e656cf6c8c Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Wed, 14 Jun 2017 15:15:07 +0100 Subject: [PATCH 2/2] Support variations of `\ref{}`, such as `\cref{}`, `\eqref{}`, etc.. --- .../auto-complete/AutoCompleteManager.coffee | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/services/web/public/coffee/ide/editor/directives/aceEditor/auto-complete/AutoCompleteManager.coffee b/services/web/public/coffee/ide/editor/directives/aceEditor/auto-complete/AutoCompleteManager.coffee index 3d6de67404..cbcdc2eac7 100644 --- a/services/web/public/coffee/ide/editor/directives/aceEditor/auto-complete/AutoCompleteManager.coffee +++ b/services/web/public/coffee/ide/editor/directives/aceEditor/auto-complete/AutoCompleteManager.coffee @@ -47,23 +47,24 @@ define [ lineUpToCursor = editor.getSession().getTextRange(upToCursorRange) commandFragment = getLastCommandFragment(lineUpToCursor) if commandFragment - refMatch = commandFragment.match(/^~?\\ref{([^}]*, *)?(\w*)/) + refMatch = commandFragment.match(/^~?\\([a-z]*ref){([^}]*, *)?(\w*)/) if refMatch beyondCursorRange = new Range(pos.row, pos.column, pos.row, 99999) lineBeyondCursor = editor.getSession().getTextRange(beyondCursorRange) needsClosingBrace = !lineBeyondCursor.match(/^[^{]*}/) - currentArg = refMatch[1] + commandName = refMatch[1] + currentArg = refMatch[2] result = [] result.push { - caption: "\\ref{}", - snippet: "\\ref{}", + caption: "\\#{commandName}{}", + snippet: "\\#{commandName}{}", meta: "cross-reference", score: 11000 } for label in labelsManager.getAllLabels() result.push { - caption: "\\ref{#{label}#{if needsClosingBrace then '}' else ''}", - value: "\\ref{#{label}#{if needsClosingBrace then '}' else ''}", + caption: "\\#{commandName}{#{label}#{if needsClosingBrace then '}' else ''}", + value: "\\#{commandName}{#{label}#{if needsClosingBrace then '}' else ''}", meta: "cross-reference", score: 10000 }