regnat
dcf4f77fac
Merge or-suggestions.hh into suggestions.hh
...
No real need for keeping a separate header for such a simple class.
This requires changing a bit `OrSuggestions<T>::operator*` to not throw
an `Error` to prevent a cyclic dependency. But since this error is only
thrown on programmer error, we can replace the whole method by a direct
call to `std::get` which will raise its own assertion if needs be.
2022-03-07 17:49:02 +01:00
Robert Hensing
da260f579d
dupStringWithLen -> makeImmutableString
...
Refactor the `size == 0` logic into a new helper function that
replaces dupStringWithLen.
The name had to change, because unlike a `dup`-function, it does
not always allocate a new string.
2022-03-07 16:09:12 +01:00
Robert Hensing
bbf55383e7
Value::mkPath: Avoid potential crash from null string_view
2022-03-07 16:09:12 +01:00
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