 gulp.task "compass", ->
   glob o.compass.config, { sync: true, nonull: false }, (e, files) ->
     configs = for file in files then path.resolve(__dirname, file)
-    compile = (config) ->
+    compile = (config, file) ->
       root = path.dirname(config)
-      exec "compass compile -c #{config}"
+      # NOTE: skipped tracking sass import dependencies...
+      # Thus, compile the whole project if a given file is _{underscored} for @import.
+      file = "" if typeof(file) isnt "string" or path.basename(file).indexOf("_") is 0
+      exec "compass compile -c #{config} #{file}"
       , {cwd: root}
       , (error, stdout, stderr) ->
         console.log("[compass] compiling #{root}")
         process.stdout.write(stdout)
         console.log("[compass] error(s) above") if error isnt null
 
+    # Compile all compass projects just in case something has changed.
     for conf in configs
       gutil.log("Compass #{path.basename(conf)} in #{path.dirname(conf)}")
       compile(conf)

gulp.task "livereload", ->
  reload = livereload()
  gulp.watch o.livereload.watch, (event) ->
    gutil.log "#{path.basename(event.path)} has been #{event.type}"
    reload.changed(event.path)



      unless event.type is "deleted" # if added or changed
        for conf in configs
          if event.path.indexOf(path.dirname(conf)) is 0
            compile(conf, event.path)
            break
      else console.log("Note: unhandled deletion of #{event.path}")

