code: function (char) {
                  var
                      linkState = this._linkState;
                  if ("]" === char && 0 === linkState) {
                      ++this._linkState;
                  } else if ("(" === char && 1 === linkState) {
                      ++this._linkState;
                  } else if (")" === char && 2 === linkState) {
                      return this._finishLink();
                  } else if (0 === linkState) {
                      this._linkText.push(char);
                  } else if (2 === linkState) {
                      /*
                       * https://github.com/ArnaudBuchholz/gpf-js/issues/33
                       * Filter out tabs and carriage returns
                       */
                      if (-1 === "\t\n".indexOf(char)) {
                          this._linkUrl.push(char);
                      }
                  }
                  // Else... nothing. do some kind of error handling?
              }
docs: State link
  TODO improve?
  
  @param {String} char
  @private