function selectionContext(editor, info) {
		info = info || editorUtils.outputInfo(editor);
		var result = [];
		editor.exec(function(i, sel) {
			var r = range(sel);
			var tag = htmlMatcher.tag(info.content, r.start);
			if (!r.length() && tag) {
				// no selection, use tag pair
				r = utils.narrowToNonSpace(info.content, tag.range);
			}

			var out = {
				selection: r,
				tag: tag,
				caret: r.start,
				syntax: info.syntax,
				profile: info.profile || null,
				counter: i + 1,
				contextNode: actionUtils.captureContext(editor, r.start)
			};

			if (r.length()) {
				var pasted = utils.escapeText(r.substring(info.content));
				out.pastedContent = editorUtils.unindent(editor, pasted);
			}

			result[i] = out;
		}, true);

		return result;
	}
Caches wrapping context for current selection in editor
@param  {IEmmetEditor} editor 
@param  {Object} info Current editor info (content, syntax, etc.) 
@return {Object}