diff --git a/lib/atom-less.coffee b/lib/atom-less.coffee index 193c221..90963dd 100644 --- a/lib/atom-less.coffee +++ b/lib/atom-less.coffee @@ -1,25 +1,15 @@ -{CompositeDisposable} = require 'atom' - renderer = require './less-renderer' module.exports = activate: (state) -> - @subscriptions = new CompositeDisposable - - @subscriptions.add atom.commands.add 'atom-workspace', - 'core:save': => @render() + atom.workspace.observeTextEditors (editor) => + editor.onDidSave (event) => + @render event.path deactivate: -> @subscriptions.dispose() serialize: -> - render: -> - editor = atom.workspace.getActiveTextEditor() - return if not editor - - grammer = editor.getGrammar() - return if grammer.name.toLowerCase() != 'less' - - filepath = editor.getPath() + render: (filepath) -> renderer.render filepath diff --git a/lib/firstline.coffee b/lib/firstline.coffee index 06c2bcb..46ae19b 100644 --- a/lib/firstline.coffee +++ b/lib/firstline.coffee @@ -3,38 +3,10 @@ fs = require 'fs' class FirstLine read: (filepath, callback) -> @callback = callback - fs.open filepath, 'r', (err, fd) => - if (err) - callback err - else - @stats fd - - stats: (fd) -> - fs.fstat fd, (err, stats) => - @startReading fd, stats.size - - startReading: (fd, size) -> - @fd = fd - - @buffer = new Buffer size - @buffer.fill 0 - @offset = 0 - @readFile() - - readFile: -> - length = Math.min(16, @buffer.length - @offset) - fs.read @fd, @buffer, @offset, length, null, @onRead - - onRead: (err, bytesRead, buffer) => - newline = buffer.indexOf '\n', @offset - - if newline > -1 - fs.close @fd, (err) -> console.log err if err - line = buffer.toString undefined, 0, newline - @callback null, line - else - @offset += bytesRead - @readFile() + fs.readFile filepath, (err, fileData) => + if err != null + callback err + callback null, fileData.toString().match /.*/ module.exports = FirstLine diff --git a/package.json b/package.json index 093af1b..4b8c87b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "atom-less", "main": "./lib/atom-less", - "version": "0.1.10", + "version": "0.1.11", "description": "Atom plugin to compile .less files on save.", "keywords": [ "atom",