docs: function formatFileName (fileName, maxSize) {
  
      // If not larger than the max size, no need to trim
      if (fileName.length <= maxSize) {
        fileName += new Array(maxSize - fileName.length + 1).join(" "); // Append remaining spaces
        return fileName;
      }
  
  
      // Otherwise we need to trim the fileName
      var fileNameParts = fileName.split('/');
      var firstPart = fileNameParts[0];
      var lastPart = fileNameParts[fileNameParts.length - 1]; // base name
  
  
      // If even the file basename (with ellipsis) is larger than the maxSize, we trim it
      if (lastPart.length + 3 > maxSize) {
        return '...' + lastPart.substring(lastPart.length - maxSize + 3, lastPart.length);
      }
  
  
      // If the first part and the last part are larger than the maxSize, we
      // just put the last part with ellipsis
      if (firstPart.length + lastPart.length + 5 > maxSize) { // The '+5' is for the '/.../' string between the first and the last part
        return '...' + lastPart.substring(lastPart.length - maxSize + 3, lastPart.length);
      }
  
  
      // If we have enough space to put the first part and the last part
      // we display the first part, the last part and as much other parts
      // as possible (starting by the end).
      var croppedFileNameStart = firstPart + '/...';
      var croppedFileNameEnd = '';
      var i = fileNameParts.length - 1;
      while (true) {
        var nextPart = fileNameParts[i--];
        if (croppedFileNameEnd.length + nextPart.length + 1 <= maxSize - croppedFileNameStart.length) { // The +1 is for the '/' we append
          croppedFileNameEnd = '/' + nextPart + croppedFileNameEnd;
        }
        else {
          break;
        }
      }
  
      // We return this cropped version
      fileName = croppedFileNameStart + croppedFileNameEnd;
      fileName += new Array(maxSize - fileName.length + 1).join(" "); // Append remaining spaces
      return fileName;
  
    }