Robert Hensing
1b978596b5
Value::mkString: Avoid crash from null string_view
2022-03-07 16:09:12 +01:00
Naïm Favier
da7d8daa77
Add shell completion for --override-flake
...
Requires moving the MixEvalArgs class from libexpr to libcmd because
that's where completeFlakeRef is.
2022-03-07 12:01:54 +01:00
Guillaume Maudoux
13c4dc6532
more fixes
2022-03-07 11:33:03 +01:00
regnat
fd45d85b41
Move OrSuggestions to its own header
...
Prevents a recursive inclusion
2022-03-07 10:09:10 +01:00
regnat
98e361ad4c
Also display suggestions for the commands using the eval cache
...
Make `nix build .#nix-armv8l-linux` work for example
2022-03-07 10:09:10 +01:00
regnat
c0792b1546
Implement a suggestions mechanism
...
Each `Error` class now includes a set of suggestions, and these are printed by
the top-level handler.
2022-03-07 10:09:09 +01:00
Guillaume Maudoux
1b5a8db148
change error location for genericClosure operator errors
2022-03-05 21:19:04 +01:00
Guillaume Maudoux
4078015927
DRY addPrimOp
2022-03-05 21:18:30 +01:00
Guillaume Maudoux
cbbbf36881
Use 'errorCtx' name everywhere
2022-03-04 22:55:14 +01:00
Guillaume Maudoux
57684d6247
fixup! s/forceValue/forceFunction/ where applicable
2022-03-04 22:51:56 +01:00
Guillaume Maudoux
ed02fa3c40
s/forceValue/forceFunction/ where applicable
2022-03-04 22:15:30 +01:00
Guillaume Maudoux
3a5855353e
Add detailed error mesage for coerceTo{String,Path}
2022-03-04 21:47:58 +01:00
Guillaume Maudoux
be1f069746
Add error context for most basic coercions
2022-03-04 05:04:47 +01:00
Guillaume Maudoux
00e242feed
Add some context to coercion error strings
2022-03-03 21:46:20 +01:00
Eelco Dolstra
e9c04c3351
Be more aggressive in hiding repeated values
...
We now memoize on Bindings / list element vectors rather than Values,
so that e.g. two Values that point to the same Bindings will be
printed only once.
2022-03-03 13:33:34 +01:00
Eelco Dolstra
ecff9d969a
printValue(): Don't show repeated values
...
Fixes #6157 .
2022-03-03 13:18:23 +01:00
Eelco Dolstra
6097790863
Fix segfault in headerCallback()
...
https://hydra.nixos.org/build/168594664
2022-03-03 11:11:16 +01:00
Eelco Dolstra
b55d79728c
Add EvalState::coerceToStorePath() helper
...
This is useful whenever we want to evaluate something to a store path
(e.g. in get-drvs.cc).
Extracted from the lazy-trees branch (where we can require that a
store path must come from a store source tree accessor).
2022-03-02 23:58:58 +01:00
Eelco Dolstra
0cb5af5000
Merge pull request #6185 from hercules-ci/fetchTree-reuse-local-paths
...
fetchTree: Use isValidPath, add comment
2022-03-01 13:15:42 +01:00
Robert Hensing
b6deca7c0d
fetchTree: Use isValidPath, add comment
2022-03-01 12:11:10 +01:00
Eelco Dolstra
d974d2ad59
fetch{url,Tarball}: Remove 'narHash' attribute
...
This was introduced in #6174 . However fetch{url,Tarball} are legacy
and we shouldn't have an undocumented attribute that does the same
thing as one that already exists ('sha256').
2022-03-01 11:30:26 +01:00
Eelco Dolstra
9ab81a9d38
Merge pull request #6183 from obsidiansystems/sort-config
...
Move some stuff from `Settings` to a new `FetchSettings`.
2022-03-01 10:52:55 +01:00
John Ericson
ea71da395f
Move some stuff from Settings
to a new FetchSettings
.
...
Starting work on #5638
The exact boundary between `FetchSettings` and `EvalSettings` is not
clear to me, but that's fine. First lets clean out `libstore`, and then
worry about what, if anything, should be the separation between those
two.
2022-03-01 01:39:25 +00:00
Robert Hensing
ee019d0afc
Add EvalState::allowAndSetStorePathString helper
...
This switches addPath from `printStorePath` to `toRealPath`.
2022-02-28 21:37:49 +01:00
Robert Hensing
158280d8e9
fetchTree: Do not re-fetch paths already present
2022-02-28 21:37:49 +01:00
Eelco Dolstra
df552ff53e
Remove std::string alias (for real this time)
...
Also use std::string_view in a few more places.
2022-02-25 16:13:02 +01:00
Eelco Dolstra
9d4697453f
ExprAttrs::show(): Show attrs in sorted order
...
Issue #6160 .
2022-02-25 09:21:04 +01:00
Eelco Dolstra
8518cebfce
libfetchers: Rename immutable -> locked
...
This is more consistent with flake terminology.
2022-02-24 18:09:00 +01:00
Eelco Dolstra
36c7b12f33
Remove std::string alias
2022-02-21 16:37:25 +01:00
Eelco Dolstra
1ac2664472
Remove std::vector alias
2022-02-21 16:32:34 +01:00
Eelco Dolstra
fe9afb65bb
Remove std::set alias
2022-02-21 16:28:23 +01:00
Eelco Dolstra
afcdc7606c
Remove std::list alias
2022-02-21 16:25:12 +01:00
Ben Burdette
3d94d3ba91
Expr refs instead of pointers
2022-02-15 15:46:45 -07:00
Ben Burdette
c9bc3735f6
quit repl from step mode
2022-02-15 09:49:25 -07:00
Ben Burdette
e761bf0601
make an 'info' level error on break
2022-02-14 14:04:34 -07:00
Ben Burdette
4cffb130e3
for primops, enter the debugger at the last DebugTrace in the stack
2022-02-11 14:14:25 -07:00
Ben Burdette
3ff5ac3586
update the eval-inline throw fns
2022-02-10 16:01:49 -07:00
Ben Burdette
bc67cb5ad1
remove fakeEnv stuff and instead use last context from the stack
2022-02-10 15:05:38 -07:00
Eelco Dolstra
93293fc66b
Merge pull request #6042 from pennae/fix-repl-a
...
fix nix repl not overriding existing bindings in :a
2022-02-06 13:17:58 +01:00
Ben Burdette
195db83148
a few merge fixes
2022-02-04 17:35:56 -07:00
Ben Burdette
dbe3fd3735
Merge branch 'master' into debug-step
2022-02-04 15:09:40 -07:00
Ben Burdette
3ddf864e1b
print value in break
2022-02-04 14:50:25 -07:00
pennae
1daf1babf9
fix nix repl not overriding existing bindings in :a
...
previously :a would override old bindings of a name with new values if the added
set contained names that were already bound. in nix 2.6 this doesn't happen any
more, which is potentially confusing.
fixes #6041
2022-02-04 15:27:59 +01:00
Eelco Dolstra
bd383d1b6f
Make most calls to determinePos() lazy
2022-02-04 00:33:21 +01:00
Eelco Dolstra
4c755c3b3f
Merge branch 'issue-3505' of https://github.com/kamadorueda/nix
2022-02-04 00:33:13 +01:00
Ben Burdette
412d58f0bb
break() primop; step and go debug commands
2022-02-03 13:15:21 -07:00
Eelco Dolstra
fcb33440b6
Merge pull request #6036 from tweag/balsoft/and-yet-another-follows-bugfix
...
Flake follows: resolve all follows to absolute
2022-02-02 22:52:08 +01:00
Alexander Bantyev
169ea0b83f
Flake follows: resolve all follows to absolute
...
It's not possible in general to know in computeLocks, relative to
which path the follows was intended to be. So, we always resolve
follows to their absolute states when we encounter them (which can
either be in parseFlakeInput or computeLocks' fake input population).
Fixes https://github.com/NixOS/nix/issues/6013
Fixes https://github.com/NixOS/nix/issues/5609
Fixes https://github.com/NixOS/nix/issues/5697 (again)
2022-02-02 21:41:45 +03:00
Eelco Dolstra
17e3f353df
Merge branch 'parser-improvements' of https://github.com/pennae/nix
2022-02-02 12:45:44 +01:00
Eelco Dolstra
cd35bbbeef
Merge branch 'more-stringviews' of https://github.com/pennae/nix
2022-02-02 12:38:37 +01:00