     if cleanup
         fs.unlink(file)
 
-sendHeartbeat = (file, isWrite) ->
+sendHeartbeat = (file, lineno, isWrite) ->
     time = Date.now()
     if isWrite or enoughTimePassed(time) or lastFile isnt file.path
         if not file.path? or file.path is undefined or fileIsIgnored(file.path)

            buffer.onDidSave (e) =>
                file = buffer.file
                if file? and file
                    sendHeartbeat(file, true)
            buffer.onDidChange (e) =>
                file = buffer.file
                if file? and file
                    sendHeartbeat(file)

isPythonInstalled = (callback) ->
    pythonLocation((result) ->

                args = [cliLocation(), '--file', file.path, '--key', apikey, '--plugin', 'atom-wakatime/' + VERSION]
                if isWrite
                    args.push('--write')
                if lineno?
                    args.push('--lineno')
                    args.push(lineno)
                process.execFile(python, args, (error, stdout, stderr) ->
                    if error?
                        console.warn error
