whole_func_string: function () {
                      var name, args, func, index = parserInput.i;
  
                      // http://jsperf.com/case-insensitive-regex-vs-strtolower-then-regex/18
                      if (parserInput.peek(/^url\(/i)) {
                          return;
                      }
  
                      parserInput.save();
  
                      name = parserInput.$re(/^([\w-]+|%|progid:[\w\.]+)\(/);
                      if (!name) {
                          parserInput.forget(); 
                          return;
                      }
  
                      name = name[1];
                      func = this.customFuncCall(name);
                      if (func) {
                          args = func.parse();
                          if (args && func.stop) {
                              parserInput.forget();
                              return args;
                          }
                      }
  
                      args = this.arguments(args);
  
                      if (!parserInput.$char(')')) {
                          parserInput.restore('Could not parse call arguments or missing \')\'');
                          return;
                      }
  
                      parserInput.forget();
                      
                      return new(tree.Call)(name, args, index, fileInfo);
                  }
func_code_string: function () {
                      var name, args, func, index = parserInput.i;
  
                      // http://jsperf.com/case-insensitive-regex-vs-strtolower-then-regex/18
                      if (parserInput.peek(/^url\(/i)) {
                          return;
                      }
  
                      parserInput.save();
  
                      name = parserInput.$re(/^([\w-]+|%|progid:[\w\.]+)\(/);
                      if (!name) {
                          parserInput.forget(); 
                          return;
                      }
  
                      name = name[1];
                      func = this.customFuncCall(name);
                      if (func) {
                          args = func.parse();
                          if (args && func.stop) {
                              parserInput.forget();
                              return args;
                          }
                      }
  
                      args = this.arguments(args);
  
                      if (!parserInput.$char(')')) {
                          parserInput.restore('Could not parse call arguments or missing \')\'');
                          return;
                      }
  
                      parserInput.forget();
                      
                      return new(tree.Call)(name, args, index, fileInfo);
                  }
func_documentation_string: A function call  rgb(255, 0, 255)  The arguments are parsed with the `entities.arguments` parser.