lix/src/libexpr
Alex Ameen 153ee460c5 primop: add readFileType, optimize readDir
Allows checking directory entry type of a single file/directory.

This was added to optimize the use of `builtins.readDir` on some
filesystems and operating systems which cannot detect this information
using POSIX's `readdir`.

Previously `builtins.readDir` would eagerly use system calls to lookup
these filetypes using other interfaces; this change makes these
operations lazy in the attribute values for each file with application
of `builtins.readFileType`.
2023-01-22 13:45:02 -06:00
..
flake Revert "Merge pull request #6204 from layus/coerce-string" 2023-01-18 01:34:07 +01:00
primops Restore support for channel: URLs in fetchTarball 2023-01-18 12:57:03 +01:00
tests Revert "Merge pull request #6204 from layus/coerce-string" 2023-01-18 01:34:07 +01:00
value Parse string context elements properly 2023-01-10 13:10:49 -05:00
attr-path.cc Revert "Merge pull request #6204 from layus/coerce-string" 2023-01-18 01:34:07 +01:00
attr-path.hh replace most Pos objects/ptrs with indexes into a position table 2022-04-21 21:46:06 +02:00
attr-set.cc Don't pass Symbol by reference 2022-04-26 13:25:17 +02:00
attr-set.hh Don't pass Symbol by reference 2022-04-26 13:25:17 +02:00
eval-cache.cc Revert "Merge pull request #6204 from layus/coerce-string" 2023-01-18 01:34:07 +01:00
eval-cache.hh Make nix::eval_cache::int_t more idiomatic 2022-05-16 16:36:21 +02:00
eval-inline.hh Revert "Merge pull request #6204 from layus/coerce-string" 2023-01-18 01:34:07 +01:00
eval.cc Revert "Merge pull request #6204 from layus/coerce-string" 2023-01-18 01:34:07 +01:00
eval.hh Revert "Merge pull request #6204 from layus/coerce-string" 2023-01-18 01:34:07 +01:00
fetchurl.nix fetchurl.nix: change other use of __impure 2022-09-16 01:54:24 -07:00
function-trace.cc Revert the enum struct change 2020-06-18 22:11:26 +00:00
function-trace.hh replace most Pos objects/ptrs with indexes into a position table 2022-04-21 21:46:06 +02:00
get-drvs.cc Revert "Merge pull request #6204 from layus/coerce-string" 2023-01-18 01:34:07 +01:00
get-drvs.hh Remove pre-C++11 hackiness 2022-05-26 12:40:01 +02:00
imported-drv-to-derivation.nix Move some corepkgs into the nix binary 2020-03-11 16:57:48 +01:00
json-to-value.cc return string_views from forceString* 2022-01-27 17:15:43 +01:00
json-to-value.hh return string_views from forceString* 2022-01-27 17:15:43 +01:00
lexer.l Handle EOFs in string literals correctly 2022-05-25 17:58:13 +02:00
local.mk Parse string context elements properly 2023-01-10 13:10:49 -05:00
nix-expr.pc.in pkg-config files: Use c++17 2019-03-14 14:11:12 +01:00
nixexpr.cc Restore display of source lines for stdin/string inputs 2022-12-13 16:00:44 +01:00
nixexpr.hh Revert "Merge pull request #6204 from layus/coerce-string" 2023-01-18 01:34:07 +01:00
parser.y Revert "Merge pull request #6204 from layus/coerce-string" 2023-01-18 01:34:07 +01:00
primops.cc primop: add readFileType, optimize readDir 2023-01-22 13:45:02 -06:00
primops.hh replace most Pos objects/ptrs with indexes into a position table 2022-04-21 21:46:06 +02:00
symbol-table.hh EvalCache AttrKey: Use Symbol instead of std::string 2022-04-26 14:16:20 +02:00
value-to-json.cc EvalState::copyPathToStore(): Return a StorePath 2022-12-20 14:58:39 +01:00
value-to-json.hh Replace src/libutil/json.cc with nlohmann json generation 2022-11-16 16:50:50 +01:00
value-to-xml.cc Introduce AbstractPos 2022-12-13 00:50:43 +01:00
value-to-xml.hh replace most Pos objects/ptrs with indexes into a position table 2022-04-21 21:46:06 +02:00
value.hh Revert "Merge pull request #6204 from layus/coerce-string" 2023-01-18 01:34:07 +01:00