[Suggestion] Make nob_needs_rebuild accept input paths as __VA_ARGS__
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- c
- Domain
- build-system
Research direction
Start by locating the definitions of nob_needs_rebuild and nob_cmd_append in the header, then compare their argument handling with the proposed variadic macro example. Done means a clearly named interface accepts the shown output and input paths and the example compiles and preserves rebuild checking behavior.
Written by the indexing model from the issue text.
Description
nob_needs_rebuild is not very convenient to use. I suggest this macro(copied from nob_cmd_append):
#define foo(output_path, ...) \
nob_needs_rebuild( \
output_path, ((const char *[]){__VA_ARGS__}), \
(sizeof((const char *[]){__VA_ARGS__}) / sizeof(const char *)))
if (foo("yyjson.o", "yyjson.c", "yyjson.h")) {
// ...
}
We cannot use the name nob_nees_rebuild and I have no idea how to name it.
- Dominant language
- C++
- Stars
- 3.3k
- Forks
- 214
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from tsoding/nob.h
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
nob__walk_dir_opt_impl() tries to close zeroed handle for non directory entriesPossibly taken @whophi claimed this 61 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
nob_get_file_type error check is dead code: nob_copy_directory_recursively aborts and nob_walk_dir returns true on unreadable pathsPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 1/5 Under an hour Newbie friendliness 76/100
Similar issues
-
area:runtime good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
WATonomous/wato_f1tenth#39 ·
-
[APP BUG]: Sorting by name after searching can bring up irrelevant resultsPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
shadps4-emu/shadps4-qtlauncher#465 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
duckdb/duckdb-excel#104 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
lxqt/lxqt-powermanagement#495 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Qiskit/qiskit-aer#2466 ·