newTab(input, cursorPos, tabName, filename) {
 
    // Generate HTML
    const tabEl = $(Tab.generateTabHeaderTemplate(this.totalTabsCreated, tabName, filename))
    const contentEl = $(Tab.generateTabContentTemplate(this.totalTabsCreated))

    // Setup listener to remove tab
    const removeButton = tabEl.find('.ui-icon-close')
    removeButton.click(() => this.removeTab(tabEl))

    // Append tab to tab Bar
    this.tabBar.find('li:last-child').before(tabEl)
    this.container.append(contentEl)

    // Create the new tab
    const newTab = new Tab(contentEl, tabName, filename)
    newTab.setTheme(this.theme)
    this.tabs.push(newTab)

    // Refresh tabs and set new tab as active
    this.container.tabs('refresh')
    this.container.tabs('option', 'active', this.tabs.length - 1)

    if (input) {
      newTab.editor.setValue(input)
      newTab.editor.setCursor(cursorPos || 0)
    }

    this.totalTabsCreated += 1

    if (this.tabs.length > 1 && this.container.hasClass('tab-bar-hidden')) {
      this.showTabBar()
    }
  }
Adds a new tab

@param {String} input The text to start the editor with
@param {Integer} currsorPos The line to start the cursor on