A simple automation program written in Perl that runs shell command(s) when the specified file(s) are modified.
- Don't switch between terminals and run that command every time! Let Listen do it for you.
- Very useful for singular files or small projects.
- For example, you can automatically compile a C++ file with
g++
anytime you make a change to that source file. - Same goes for simple Python scripts, Bash scripts, etc.
- For example, you can automatically compile a C++ file with
- Great for students who work on a small set of source files for assignments.
- Run the command when any or all files specified are modified.
- Run the command before Listen starts waiting for modifications.
- Use
/bin/cksum
to determine file modification instead of the time.- Could be useful for binaries.
- Distributed with Unix-like OSes, such as Linux, BSD, and macOS. No configuration required between OSes.
- However, if you use Windows (why?), you must use
certutils
or a third-party tool by modifying the script.
- Timeout between modifications
- Helpful if linters are involved, such as
clang-format
, to avoid multiple runs of a command.
- Helpful if linters are involved, such as
- Free and Open Source software!
Most of these documents do not exist yet other than Listen's built in --help
flag.
- install.md: Install instructions
- usage.md: Basic operation of Listen
- contributing.md: Contributing guidelines for pull requests
- LICENSE: Listen's license agreement
Listen is distributed under the GNU General Public License v3, of which you agree to by modifying, distributing, or otherwise using this software.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.