docs/pages/getting-started/3-running-scripts.md
2023-07-22 14:25:44 +02:00

1.7 KiB

Running Lune Scripts

After you've written a script file, for example script-name.luau, you can run it:

lune script-name

This will look for the file script-name.luau[1] in a few locations:

  • The current directory
  • The folder lune in the current directory, if it exists
  • The folder .lune in the current directory, if it exists
  • The folder lune in the home directory, if it exists
  • The folder .lune in the home directory, if it exists

Passing Command-Line Arguments

Arguments can be passed to a Lune script directory from the command line when running it:

lune script-name arg1 arg2 "argument three"

These arguments will then be available in your script using process.args:

local process = require("@lune/process")

print(process.args)
--> { "arg1", "arg2", "argument three" }

Additional Commands

lune --list

Lists all scripts found in lune or .lune directories, including any top-level description comments.
Lune description comments are always written at the top of a file and start with a lua-style comment arrow (-->).

lune -

Runs a script passed to Lune using stdin. Occasionally useful for running scripts piped to Lune from external sources.


[1] Lune also supports files with the .lua extension but using the .luau extension is highly recommended. Additionally, if you don't want Lune to look in sub-directories or try to find files with .lua / .luau extensions at all, you can provide an absolute file path. This will disable all file path parsing and checks, and just run the file directly.