whole_func_string: function(editor) {
  			/** @type Range */
  			var range = require('range').create(editor.getSelectionRange());
  			var content = String(editor.getContent());
  			if (range.length()) {
  				// abbreviation is selected by user
  				return range.substring(content);
  			}
  			
  			// search for new abbreviation from current caret position
  			var curLine = editor.getCurrentLineRange();
  			return require('actionUtils').extractAbbreviation(content.substring(curLine.start, range.start));
  		}
func_code_string: function(editor) {
  			/** @type Range */
  			var range = require('range').create(editor.getSelectionRange());
  			var content = String(editor.getContent());
  			if (range.length()) {
  				// abbreviation is selected by user
  				return range.substring(content);
  			}
  			
  			// search for new abbreviation from current caret position
  			var curLine = editor.getCurrentLineRange();
  			return require('actionUtils').extractAbbreviation(content.substring(curLine.start, range.start));
  		}
func_documentation_string: Search for abbreviation in editor from current caret position
  @param {IEmmetEditor} editor Editor instance
  @return {String}