Fixes #314. Beauify On Save will save then beautify the file on disk

This commit is contained in:
Glavin Wiechert 2015-05-07 19:13:25 -03:00
parent 9d77e751c5
commit b73d398cf4
1 changed files with 18 additions and 1 deletions

View File

@ -343,7 +343,24 @@ debug = () ->
handleSaveEvent = => handleSaveEvent = =>
atom.workspace.observeTextEditors (editor) => atom.workspace.observeTextEditors (editor) =>
buffer = editor.getBuffer() buffer = editor.getBuffer()
disposable = buffer.onWillSave(beautify.bind(@, {onSave:true})) disposable = buffer.onDidSave(({path:filePath}) =>
path ?= require('path')
# Get Grammar
grammar = editor.getGrammar().name
# Get language
fileExtension = path.extname(filePath)
languages = beautifier.languages.getLanguages({grammar, fileExtension})
if languages.length < 1
return
# TODO: select appropriate language
language = languages[0]
# Get language config
beautifyOnSave = atom.config.get("atom-beautify.language_#{language.namespace}_beautify_on_save")
if beautifyOnSave
beautifyFilePath(filePath, ->
buffer.reload()
)
)
plugin.subscribe disposable plugin.subscribe disposable
{Subscriber} = require path.join(atom.packages.resourcePath, 'node_modules', 'emissary') {Subscriber} = require path.join(atom.packages.resourcePath, 'node_modules', 'emissary')