Lurkerの関数・変数

関数

lurker.update

ファイルの変更を定期的に監視します。ファイルの変更が確認された場合、ホットスワップを行います。

lurker.scan

ファイルの変更を確認します。ファイルの変更が確認した場合、ホットスワップを行います。

lurker.updateは定期的にファイルを確認するため、オーバーヘッドが生じます。定期的に監視する必要がない場合、love.scanを使う方が効率的です。

lume = require "lume"
lurker = require "lurker"

function love.load()
  c = {x = 100, y = 100, radius = 30}
end

function love.draw()
  love.graphics.setColor(255, 0, 0)
  love.graphics.circle("fill", c.x, c.y, c.radius)
end

function love.update(dt)
  -- c.x = c.x + dt * 20
end

function love.mousepressed(x, y, button, istouch)
  -- マウスクリック時にLurkerにファイルの更新を確認してもらう
  lurker.scan()
end

lurker.preswap

ホットスワップが行われる直前に呼び出される関数。

lurker.postswap

ホットスワップが行われる直後に呼び出される関数。

lurker.protected

Lurkerを保護モードで実行するかどうか。保護モードが有効の場合、Love2Dの通常のエラー画面は使用されずにLurkerのエラー画面が表示されます。Lurkerのエラー画面が表示されているときもファイルの変更の監視は行われています。

lurker.quiet

Lurkerが構文エラーを含むファイルを読み込んだときの挙動の設定。falseの場合、構文エラーが修正されるまでLurkerのエラー画面が表示されます。trueの場合、エラーメッセージはコンソールに出力され、プログラムは続行されます。

lume = require "lume"
lurker = require "lurker"

function love.load()
  lurker.quiet = true
end

function love.update(dt)
  lurker.update()
end

実行した後、プログラムを実行したままで構文エラーになるようにソースコードを変更してファイルを保存してください。すると、コンソールにエラーメッセージは出力されますが、エラー画面は表示されません。

変数

lurker.interval

型:number, デフォルト値:.5

lurker.updateで監視する時間の間隔。

デフォルト値は.5(0.5秒)です。

lurker.path

型:string, デフォルト値:"."(プロジェクトのルート)

ファイルの変更の確認を行うディレクトリ。