vendor/emmet.js
function expandGradientOutsideValue(editor, syntax) {
		var propertyName = prefs.get('css.gradient.defaultProperty');
		
		if (!propertyName)
			return false;
		
		// assuming that gradient definition is written on new line,
		// do a simplified parsing
		var content = String(editor.getContent());
		/** @type Range */
		var lineRange = require('range').create(editor.getCurrentLineRange());
		
		// get line content and adjust range with padding
		var line = lineRange.substring(content)
			.replace(/^\s+/, function(pad) {
				lineRange.start += pad.length;
				return '';
			})
			.replace(/\s+$/, function(pad) {
				lineRange.end -= pad.length;
				return '';
			});
		
		var css = require('cssResolver');
		var gradient = module.parse(line);
		if (gradient) {
			var props = getPropertiesForGradient(gradient, propertyName);
			props.push({
				name: propertyName,
				value: module.toString(gradient) + '${2}'
			});
			
			var sep = css.getSyntaxPreference('valueSeparator', syntax);
			var end = css.getSyntaxPreference('propertyEnd', syntax);
			
			if (require('preferences').get('css.alignVendor')) {
				var pads = require('utils').getStringsPads(_.map(props, function(prop) {
					return prop.value.substring(0, prop.value.indexOf('('));
				}));
				_.each(props, function(prop, i) {
					prop.value = pads[i] + prop.value;
				});
			}
			
			props = _.map(props, function(item) {
				return item.name + sep + item.value + end;
			});
			
			editor.replaceContent(props.join('\n'), lineRange.start, lineRange.end);
			return true;
		}
		
		return false;
	}
function expandGradientOutsideValue(editor, syntax) {
		var propertyName = prefs.get('css.gradient.defaultProperty');
		
		if (!propertyName)
			return false;
		
		// assuming that gradient definition is written on new line,
		// do a simplified parsing
		var content = String(editor.getContent());
		/** @type Range */
		var lineRange = require('range').create(editor.getCurrentLineRange());
		
		// get line content and adjust range with padding
		var line = lineRange.substring(content)
			.replace(/^\s+/, function(pad) {
				lineRange.start += pad.length;
				return '';
			})
			.replace(/\s+$/, function(pad) {
				lineRange.end -= pad.length;
				return '';
			});
		
		var css = require('cssResolver');
		var gradient = module.parse(line);
		if (gradient) {
			var props = getPropertiesForGradient(gradient, propertyName);
			props.push({
				name: propertyName,
				value: module.toString(gradient) + '${2}'
			});
			
			var sep = css.getSyntaxPreference('valueSeparator', syntax);
			var end = css.getSyntaxPreference('propertyEnd', syntax);
			
			if (require('preferences').get('css.alignVendor')) {
				var pads = require('utils').getStringsPads(_.map(props, function(prop) {
					return prop.value.substring(0, prop.value.indexOf('('));
				}));
				_.each(props, function(prop, i) {
					prop.value = pads[i] + prop.value;
				});
			}
			
			props = _.map(props, function(item) {
				return item.name + sep + item.value + end;
			});
			
			editor.replaceContent(props.join('\n'), lineRange.start, lineRange.end);
			return true;
		}
		
		return false;
	}
function expandGradientOutsideValue ( editor , syntax ) { var propertyName = prefs . get ( 'css.gradient.defaultProperty' ) ; if ( ! propertyName ) return false ; // assuming that gradient definition is written on new line, // do a simplified parsing var content = String ( editor . getContent ( ) ) ; /** @type Range */ var lineRange = require ( 'range' ) . create ( editor . getCurrentLineRange ( ) ) ; // get line content and adjust range with padding var line = lineRange . substring ( content ) . replace ( / ^\s+ / , function ( pad ) { lineRange . start += pad . length ; return '' ; } ) . replace ( / \s+$ / , function ( pad ) { lineRange . end -= pad . length ; return '' ; } ) ; var css = require ( 'cssResolver' ) ; var gradient = module . parse ( line ) ; if ( gradient ) { var props = getPropertiesForGradient ( gradient , propertyName ) ; props . push ( { name : propertyName , value : module . toString ( gradient ) + '${2}' } ) ; var sep = css . getSyntaxPreference ( 'valueSeparator' , syntax ) ; var end = css . getSyntaxPreference ( 'propertyEnd' , syntax ) ; if ( require ( 'preferences' ) . get ( 'css.alignVendor' ) ) { var pads = require ( 'utils' ) . getStringsPads ( _ . map ( props , function ( prop ) { return prop . value . substring ( 0 , prop . value . indexOf ( '(' ) ) ; } ) ) ; _ . each ( props , function ( prop , i ) { prop . value = pads [ i ] + prop . value ; } ) ; } props = _ . map ( props , function ( item ) { return item . name + sep + item . value + end ; } ) ; editor . replaceContent ( props . join ( '\n' ) , lineRange . start , lineRange . end ) ; return true ; } return false ; }
Tries to expand gradient outside CSS value
@param {IEmmetEditor} editor
@param {String} syntax
Tries to expand gradient outside CSS value