Watcher - Develop your programs easily
Watcher watches all the files present in the directory it is run from of the directory that is specified while running it and whenever a file is changed or a file is created/deleted from the directory, it runs the command specified while running it or a default command that it recognises from the contents of the current directory.
- Choose which directory to watch for file changes
- Specify amount of time to wait before running the command after a file change occurs
- List the files that are being watched
- Choose whether to run the command on startup
- Set the maximum number of files that can be watched
- Supports never ending processes such as dev servers as the command
- Have a default ignore list
- Press keys for force refreshing even when file change is not detected
- Automatically recognize commands for popular project structure
The command you want to run when any file changes
watcher --cmd '
The directory that you want watcher to watch for file changes. (default: ".")
watcher --dir '
The files that you want to ignore. It also supports file globbing.
watcher --ignore '
A file that contains the files that you want to ignore. It follows the gitignore file syntax
watcher --ignore-file '
Whether the hidden files should also be watched for file changes. (default: true)
watcher --hidden false
The amount of time to wait before running the specified command after a file change occurs. (default: 500ms)
watcher --delay 1000ms
Run on Start
Whether the specified command should run when watcher has first started. (default: true)
watcher --run-cmd-on-start false or watcher -r false
List on Start
Whether the list of files being watched should be printed when watcher has first started. (default: false)
watcher --list-on-start true
The maximum number of files that can be watched. (default: 10000)
watcher --limit 50000 or watcher -l 50000
⚠️Every system has a maximum value which cannot be exceeded. To find it look at:
/proc/sys/fs/inotify/max_user_watchescontains the limit, reaching this limit results in a "no space left on device" error.
- BSD / OSX:
kern.maxfilesperproc, reaching these limits results in a "too many open files" error.
- Basic example (use default options):
- Intermediate example:
watcher --cmd 'go run .' --delay 1s
- Advanced example:
watcher --cmd 'go run .' --dir '~/Projects/watcher' --hidden false -l 50000