function (parsedName) {
                var lookups, important, i = parserInput.i,
                    inValue = !!parsedName, name = parsedName;

                parserInput.save();

                if (name || (parserInput.currentChar() === '@'
                    && (name = parserInput.$re(/^(@[\w-]+)(\(\s*\))?/)))) {

                    lookups = this.mixin.ruleLookups();

                    if (!lookups && ((inValue && parserInput.$str('()') !== '()') || (name[2] !== '()'))) {
                        parserInput.restore('Missing \'[...]\' lookup in variable call');
                        return;
                    }

                    if (!inValue) {
                        name = name[1];
                    }

                    if (lookups && parsers.important()) {
                        important = true;
                    }

                    var call = new tree.VariableCall(name, i, fileInfo);
                    if (!inValue && parsers.end()) {
                        parserInput.forget();
                        return call;
                    }
                    else {
                        parserInput.forget();
                        return new tree.NamespaceValue(call, lookups, important, i, fileInfo);
                    }
                }

                parserInput.restore();
            }
function (parsedName) {
                var lookups, important, i = parserInput.i,
                    inValue = !!parsedName, name = parsedName;

                parserInput.save();

                if (name || (parserInput.currentChar() === '@'
                    && (name = parserInput.$re(/^(@[\w-]+)(\(\s*\))?/)))) {

                    lookups = this.mixin.ruleLookups();

                    if (!lookups && ((inValue && parserInput.$str('()') !== '()') || (name[2] !== '()'))) {
                        parserInput.restore('Missing \'[...]\' lookup in variable call');
                        return;
                    }

                    if (!inValue) {
                        name = name[1];
                    }

                    if (lookups && parsers.important()) {
                        important = true;
                    }

                    var call = new tree.VariableCall(name, i, fileInfo);
                    if (!inValue && parsers.end()) {
                        parserInput.forget();
                        return call;
                    }
                    else {
                        parserInput.forget();
                        return new tree.NamespaceValue(call, lookups, important, i, fileInfo);
                    }
                }

                parserInput.restore();
            }
function ( parsedName ) { var lookups , important , i = parserInput . i , inValue = ! ! parsedName , name = parsedName ; parserInput . save ( ) ; if ( name || ( parserInput . currentChar ( ) === '@' && ( name = parserInput . $re ( / ^(@[\w-]+)(\(\s*\))? / ) ) ) ) { lookups = this . mixin . ruleLookups ( ) ; if ( ! lookups && ( ( inValue && parserInput . $str ( '()' ) !== '()' ) || ( name [ 2 ] !== '()' ) ) ) { parserInput . restore ( 'Missing \'[...]\' lookup in variable call' ) ; return ; } if ( ! inValue ) { name = name [ 1 ] ; } if ( lookups && parsers . important ( ) ) { important = true ; } var call = new tree . VariableCall ( name , i , fileInfo ) ; if ( ! inValue && parsers . end ( ) ) { parserInput . forget ( ) ; return call ; } else { parserInput . forget ( ) ; return new tree . NamespaceValue ( call , lookups , important , i , fileInfo ) ; } } parserInput . restore ( ) ; }
Call a variable value to retrieve a detached ruleset or a value from a detached ruleset's rules.  @fink(); @fink; color: @fink[@color];
Call a variable value to retrieve a detached ruleset or a value from a detached ruleset s rules .