1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- linkReference.peek = linkReferencePeek
- export function linkReference(node, _, state, info) {
- const type = node.referenceType
- const exit = state.enter('linkReference')
- let subexit = state.enter('label')
- const tracker = state.createTracker(info)
- let value = tracker.move('[')
- const text = state.containerPhrasing(node, {
- before: value,
- after: ']',
- ...tracker.current()
- })
- value += tracker.move(text + '][')
- subexit()
-
- const stack = state.stack
- state.stack = []
- subexit = state.enter('reference')
-
-
-
-
- const reference = state.safe(state.associationId(node), {
- before: value,
- after: ']',
- ...tracker.current()
- })
- subexit()
- state.stack = stack
- exit()
- if (type === 'full' || !text || text !== reference) {
- value += tracker.move(reference + ']')
- } else if (type === 'shortcut') {
-
- value = value.slice(0, -1)
- } else {
- value += tracker.move(']')
- }
- return value
- }
- function linkReferencePeek() {
- return '['
- }
|