summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* docs: Move some documentation into a subfolderTavian Barnes2022-04-214-2/+2
|
* Add basic zsh completionArvid Norlander2022-04-212-0/+175
| | | | Fixes #32.
* Makefile: Put the main .o files under build/srcTavian Barnes2022-04-212-36/+32
|
* Makefile: Generate build/FLAGS.new with its own targetTavian Barnes2022-04-211-4/+7
|
* Makefile: Replace flags.sh with a two-line recipeTavian Barnes2022-04-192-15/+2
|
* Makefile: Move .flags to build/FLAGSTavian Barnes2022-04-193-12/+14
|
* Makefile: Quiet errors from git describeTavian Barnes2022-04-191-3/+5
| | | | | | | | | | | | | | | | With new git versions, it is an error to invoke git inside a repository owned by someone else. This manifested as $ sudo make install fatal: unsafe repository ('/home/tavianator/code/bfs' is owned by someone else) To add an exception for this directory, call: git config --global --add safe.directory /home/tavianator/code/bfs Work around it with `2>/dev/null`. This should also help if git is not installed, but .git/ still exists. Link: https://github.blog/2022-04-12-git-security-vulnerability-announced/
* RELEASES.md: 20222 is too far awayTavian Barnes2022-04-191-1/+1
|
* ci/codecov: Look for gcov files under buildTavian Barnes2022-04-181-1/+1
|
* Makefile: Spread out the .PHONY targetsTavian Barnes2022-04-181-2/+9
|
* Makefile: Use a recipe to update .flags rather than $(shell)Tavian Barnes2022-04-181-8/+4
| | | | | | | | | This means we don't need to generate .flags unless we're actually building a target that needs it, which is important for thing like $ sudo make install that used to inconveniently create a root-owned .flags file.
* tests: Also put build outputs under build/Tavian Barnes2022-04-163-19/+14
|
* Keep Build Files In `build` (#89)トトも2022-04-161-29/+32
|
* Source / Include Folder (#88)トトも2022-04-1654-5/+8
| | | Moved Source Files Into `src` Folder
* style: Use &array[i] rather than array + iTavian Barnes2022-04-163-8/+8
|
* color: Support a separate $BFS_COLORS environment variableTavian Barnes2022-04-155-70/+84
|
* color: Use three-letter codes for warnings and errorsTavian Barnes2022-04-153-11/+11
| | | | No reason to potentially conflict with the two-letter codes GNU ls uses.
* tests: Quiet errors from chflagsTavian Barnes2022-04-151-1/+1
|
* eval: Use BFTW_BUFFER when deleting files on FreeBSDTavian Barnes2022-04-151-0/+35
| | | | Works around #67.
* bftw: New BFTW_BUFFER flagTavian Barnes2022-04-152-2/+4
|
* bfs.1: Fix a confusing comma in the -size docsTavian Barnes2022-04-011-2/+2
|
* opt: Use floats consistently for probabilities and costsTavian Barnes2022-03-272-5/+5
|
* Release 2.52.5Tavian Barnes2022-03-273-2/+29
|
* README: Add a blurb about fancy errors/warningsTavian Barnes2022-03-271-0/+22
|
* parse.c: Use state->last_arg as the location for the expected )Tavian Barnes2022-03-271-16/+4
| | | | This lets us remove the special case for *argv == NULL.
* diag: Avoid printing trailing spacesTavian Barnes2022-03-271-3/+5
|
* opt: Add some more warningsTavian Barnes2022-03-271-0/+6
|
* parse: Highlight command line errorsTavian Barnes2022-03-274-191/+380
|
* diag: New functions for highlighting command line argumentsTavian Barnes2022-03-275-75/+185
|
* util: New xstrwidth() functionTavian Barnes2022-03-262-0/+46
|
* opt: Warn about expressions we remove while optimizingTavian Barnes2022-03-263-28/+115
|
* parse: Stop warning for options after tests/actionsTavian Barnes2022-03-261-44/+7
| | | | | | | | | | | Part of the bfs design philosophy is to care less about the order of arguments. As such, there's no good reason to be warning-compatible with GNU find in this case. I don't even think things like this are confusing: bfs -print -color so why warn about it?
* expr: Store auxilliary data in a unionTavian Barnes2022-03-259-777/+815
| | | | And rename struct expr to bfs_expr.
* Update from C99 to C11Tavian Barnes2022-03-252-2/+2
| | | | This is necessary for standard anonymous structs/unions.
* printf: Switch from a linked list to an arrayTavian Barnes2022-03-251-129/+123
|
* main: Fix comment alignmentTavian Barnes2022-03-251-2/+2
|
* tests: Use bfs_diff in more casesTavian Barnes2022-03-152-22/+5
|
* tests: Shell style fixesTavian Barnes2022-03-142-58/+57
| | | | We now support `./tests.sh --bfs="path/with\ spaces/bfs"`
* exec: Check for errors when printing the -ok promptTavian Barnes2022-03-131-2/+6
|
* exec: Don't flush if the user says no to -okTavian Barnes2022-03-131-3/+3
|
* ctx: Factor out exec flushing behaviour into bfs_ctx_flush()Tavian Barnes2022-03-133-14/+27
|
* tests: Use -print0 instead of -printf '%p ' for exec flush testsTavian Barnes2022-03-133-4/+4
|
* tests: Use plain sort, not bfs_sortTavian Barnes2022-03-13113-548/+533
| | | | | bfs_sort existed to keep the test outputs nicely in breadth-first order. Unfortunately the implementation using awk didn't support NUL bytes.
* tests: Use skip_if for more testsTavian Barnes2022-03-131-15/+11
|
* Rename the include guards for the recently renamed headersTavian Barnes2022-03-134-12/+12
|
* Don't shadow standard headersTavian Barnes2022-03-1215-21/+21
| | | | | | | | | | | | | @italic on the AUR stated that bfs from the AUR fails to build on Manjaro. From the build log, it seems like <time.h> doesn't get included properly. I assume it's picking up ./time.h instead. I couldn't reproduce the build issue in the default configuration, but it does fail with EXTRA_CFLAGS="-I." which isn't good. So rename everything with an x prefix to stop clashing. Link: https://aur.archlinux.org/packages/bfs#comment-856102 Link: https://paste.rs/eqR
* CONTRIBUTING: Add a contribution guideTavian Barnes2022-03-111-0/+167
|
* README: Clarify some dependenciesTavian Barnes2022-03-111-5/+5
|
* Makefile: Disable onig-config for the 32-bit distcheck buildTavian Barnes2022-03-111-2/+2
| | | | | | | | | | | onig-config can redundantly add -L/usr/lib to LDLIBS, which results in a few warnings like /usr/bin/ld: skipping incompatible /usr/lib/libonig.so when searching for -lonig While I'm at it, explicitly restrict the -m32 build to Linux, since it doesn't work on FreeBSD and was only skipped because uname -m is amd64, not x86_64.
* Makefile: Enable time64Tavian Barnes2022-03-111-0/+1
|