Merge branch 'sk-ref-variants'

This commit is contained in:
Shane Kilkelly 2017-06-15 09:17:48 +01:00
commit b0bb4b3e47

View file

@ -42,28 +42,29 @@ 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)
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
}