Просмотр исходного кода

Support variations of `\ref{}`, such as `\cref{}`, `\eqref{}`, etc..

Shane Kilkelly 9 лет назад
Родитель
Сommit
3f1a440d66

+ 7 - 6
services/web/public/coffee/ide/editor/directives/aceEditor/auto-complete/AutoCompleteManager.coffee

@@ -47,23 +47,24 @@ define [
 					lineUpToCursor = editor.getSession().getTextRange(upToCursorRange)
 					lineUpToCursor = editor.getSession().getTextRange(upToCursorRange)
 					commandFragment = getLastCommandFragment(lineUpToCursor)
 					commandFragment = getLastCommandFragment(lineUpToCursor)
 					if commandFragment
 					if commandFragment
-						refMatch = commandFragment.match(/^~?\\ref{([^}]*, *)?(\w*)/)
+						refMatch = commandFragment.match(/^~?\\([a-z]*ref){([^}]*, *)?(\w*)/)
 						if refMatch
 						if refMatch
 							beyondCursorRange = new Range(pos.row, pos.column, pos.row, 99999)
 							beyondCursorRange = new Range(pos.row, pos.column, pos.row, 99999)
 							lineBeyondCursor = editor.getSession().getTextRange(beyondCursorRange)
 							lineBeyondCursor = editor.getSession().getTextRange(beyondCursorRange)
 							needsClosingBrace = !lineBeyondCursor.match(/^[^{]*}/)
 							needsClosingBrace = !lineBeyondCursor.match(/^[^{]*}/)
-							currentArg = refMatch[1]
+							commandName = refMatch[1]
+							currentArg = refMatch[2]
 							result = []
 							result = []
 							result.push {
 							result.push {
-								caption: "\\ref{}",
-								snippet: "\\ref{}",
+								caption: "\\#{commandName}{}",
+								snippet: "\\#{commandName}{}",
 								meta: "cross-reference",
 								meta: "cross-reference",
 								score: 11000
 								score: 11000
 							}
 							}
 							for label in labelsManager.getAllLabels()
 							for label in labelsManager.getAllLabels()
 								result.push {
 								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",
 									meta: "cross-reference",
 									score: 10000
 									score: 10000
 								}
 								}