docs: function(){
      var tok = this.expect('include');
      var node = {
        type: 'Include',
        file: {
          type: 'FileReference',
          filename: this.filename
        },
        line: tok.loc.start.line,
        column: tok.loc.start.column,
        filename: this.filename
      };
      var filters = [];
      while (this.peek().type === 'filter') {
        filters.push(this.parseIncludeFilter());
      }
      var path = this.expect('path');
  
      node.file.path = path.val.trim();
      node.file.line = path.loc.start.line;
      node.file.column = path.loc.start.column;
  
      if ((/\.jade$/.test(node.file.path) || /\.pug$/.test(node.file.path)) && !filters.length) {
        node.block = 'indent' == this.peek().type ? this.block() : this.emptyBlock(tok.loc.start.line);
        if (/\.jade$/.test(node.file.path)) {
          console.warn(
            this.filename + ', line ' + tok.loc.start.line +
            ':\nThe .jade extension is deprecated, use .pug for "' + node.file.path +'".'
          );
        }
      } else {
        node.type = 'RawInclude';
        node.filters = filters;
        if (this.peek().type === 'indent') {
          this.error('RAW_INCLUDE_BLOCK', 'Raw inclusion cannot contain a block', this.peek());
        }
      }
      return node;
    }