|  | @@ -1,14 +1,18 @@
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  // chrome.storage.sync.clear()
 | 
	
		
			
				|  |  | -chrome.storage.sync.get(function (sync) {
 | 
	
		
			
				|  |  | -  if (!sync.options)
 | 
	
		
			
				|  |  | +chrome.storage.sync.get((sync) => {
 | 
	
		
			
				|  |  | +  if (!sync.options) {
 | 
	
		
			
				|  |  |      chrome.storage.sync.set({options: md.defaults})
 | 
	
		
			
				|  |  | -  if (!sync.theme)
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  if (!sync.theme) {
 | 
	
		
			
				|  |  |      chrome.storage.sync.set({theme: 'github'})
 | 
	
		
			
				|  |  | -  if (sync.raw === undefined)
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  if (sync.raw === undefined) {
 | 
	
		
			
				|  |  |      chrome.storage.sync.set({raw: false})
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  |  })
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -chrome.tabs.onUpdated.addListener(function (id, info, tab) {
 | 
	
		
			
				|  |  | +chrome.tabs.onUpdated.addListener((id, info, tab) => {
 | 
	
		
			
				|  |  |    if (info.status === 'complete') return
 | 
	
		
			
				|  |  |    if (/.*\/.*\.(?:markdown|mdown|mkdn|md|mkd|mdwn|mdtxt|mdtext|text)(?:#.*)?$/
 | 
	
		
			
				|  |  |      .test(tab.url)) {
 | 
	
	
		
			
				|  | @@ -16,46 +20,41 @@ chrome.tabs.onUpdated.addListener(function (id, info, tab) {
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  })
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -chrome.extension.onMessage.addListener(function (req, sender, sendResponse) {
 | 
	
		
			
				|  |  | -  switch (req.message) {
 | 
	
		
			
				|  |  | -    case 'markdown':
 | 
	
		
			
				|  |  | -      md.compile(req.markdown, sendResponse)
 | 
	
		
			
				|  |  | -      break
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    case 'settings':
 | 
	
		
			
				|  |  | -      chrome.storage.sync.get(['options', 'theme', 'raw'], function (data) {
 | 
	
		
			
				|  |  | -        delete data.options.langPrefix
 | 
	
		
			
				|  |  | -        sendResponse(data)
 | 
	
		
			
				|  |  | -      })
 | 
	
		
			
				|  |  | -      break
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    case 'options':
 | 
	
		
			
				|  |  | -      req.options.langPrefix = 'language-'//prism
 | 
	
		
			
				|  |  | -      chrome.storage.sync.set({options: req.options}, sendResponse)
 | 
	
		
			
				|  |  | -      sendMessage({message: 'reload'})
 | 
	
		
			
				|  |  | -      break
 | 
	
		
			
				|  |  | -    case 'defaults':
 | 
	
		
			
				|  |  | -      chrome.storage.sync.set({options: md.defaults}, sendResponse)
 | 
	
		
			
				|  |  | -      chrome.storage.sync.set({theme: 'github'})
 | 
	
		
			
				|  |  | -      chrome.storage.sync.set({raw: false})
 | 
	
		
			
				|  |  | -      sendMessage({message: 'reload'})
 | 
	
		
			
				|  |  | -      break
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    case 'theme':
 | 
	
		
			
				|  |  | -      chrome.storage.sync.set({theme: req.theme}, sendResponse)
 | 
	
		
			
				|  |  | -      sendMessage({message: 'theme', theme: req.theme})
 | 
	
		
			
				|  |  | -      break
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    case 'raw':
 | 
	
		
			
				|  |  | -      chrome.storage.sync.set({raw: req.raw}, sendResponse)
 | 
	
		
			
				|  |  | -      sendMessage({message: 'raw'})
 | 
	
		
			
				|  |  | -      break
 | 
	
		
			
				|  |  | +chrome.extension.onMessage.addListener((req, sender, sendResponse) => {
 | 
	
		
			
				|  |  | +  if (req.message === 'markdown') {
 | 
	
		
			
				|  |  | +    md.compile(req.markdown, sendResponse)
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | +  else if (req.message === 'settings') {
 | 
	
		
			
				|  |  | +    chrome.storage.sync.get(['options', 'theme', 'raw'], (data) => {
 | 
	
		
			
				|  |  | +      delete data.options.langPrefix
 | 
	
		
			
				|  |  | +      sendResponse(data)
 | 
	
		
			
				|  |  | +    })
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  else if (req.message === 'options') {
 | 
	
		
			
				|  |  | +    req.options.langPrefix = 'language-' // prism
 | 
	
		
			
				|  |  | +    chrome.storage.sync.set({options: req.options}, sendResponse)
 | 
	
		
			
				|  |  | +    sendMessage({message: 'reload'})
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  else if (req.message === 'defaults') {
 | 
	
		
			
				|  |  | +    chrome.storage.sync.set({options: md.defaults}, sendResponse)
 | 
	
		
			
				|  |  | +    chrome.storage.sync.set({theme: 'github'})
 | 
	
		
			
				|  |  | +    chrome.storage.sync.set({raw: false})
 | 
	
		
			
				|  |  | +    sendMessage({message: 'reload'})
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  else if (req.message === 'theme') {
 | 
	
		
			
				|  |  | +    chrome.storage.sync.set({theme: req.theme}, sendResponse)
 | 
	
		
			
				|  |  | +    sendMessage({message: 'theme', theme: req.theme})
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  else if (req.message === 'raw') {
 | 
	
		
			
				|  |  | +    chrome.storage.sync.set({raw: req.raw}, sendResponse)
 | 
	
		
			
				|  |  | +    sendMessage({message: 'raw'})
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |    return true
 | 
	
		
			
				|  |  |  })
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  function sendMessage (obj) {
 | 
	
		
			
				|  |  | -  chrome.tabs.query({active: true, currentWindow: true}, function (tabs) {
 | 
	
		
			
				|  |  | +  chrome.tabs.query({active: true, currentWindow: true}, (tabs) => {
 | 
	
		
			
				|  |  |      chrome.tabs.sendMessage(tabs[0].id, obj)
 | 
	
		
			
				|  |  |    })
 | 
	
		
			
				|  |  |  }
 |