John Ericson
5b0175e81d
Fix the build without GC
...
I had given it an improper trailing comma in
1bd03ad100
.
2023-02-21 09:38:46 -05:00
John Ericson
1bd03ad100
Split out CmdRepl
and editorFor
...
The REPL itself and the `nix repl` CLI are conceptually different
things, and thus deserve to be in different files.
2023-02-20 09:45:29 -05:00
Guillaume Maudoux
ee4b849b17
Fix unreachable error message
...
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-01-20 13:01:03 +01:00
Guillaume Maudoux
e4726a0c79
Revert "Revert "Merge pull request #6204 from layus/coerce-string""
...
This reverts commit 9b33ef3879
.
2023-01-19 13:23:04 +01:00
Robert Hensing
9b33ef3879
Revert "Merge pull request #6204 from layus/coerce-string"
...
This reverts commit a75b7ba30f
, reversing
changes made to 9af16c5f74
.
2023-01-18 01:34:07 +01:00
John Ericson
5ba6e5d0d9
Remove default constructor from OutputsSpec
...
This forces us to be explicit.
It also requires to rework how `from_json` works. A `JSON_IMPL` is added
to assist with this.
2023-01-11 19:08:19 -05:00
Eelco Dolstra
6b69652385
Merge remote-tracking branch 'origin/master' into coerce-string
2023-01-02 20:53:39 +01:00
Eelco Dolstra
1315133b50
Improve cast safety
...
Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
2022-12-13 12:38:33 +01:00
Eelco Dolstra
b3fdab28a2
Introduce AbstractPos
...
This makes the position object used in exceptions abstract, with a
method getSource() to get the source code of the file in which the
error originated. This is needed for lazy trees because source files
don't necessarily exist in the filesystem, and we don't want to make
libutil depend on the InputAccessor type in libfetcher.
2022-12-13 00:50:43 +01:00
Eelco Dolstra
703d863a48
Trivial changes from the lazy-trees branch
2022-12-07 14:06:34 +01:00
Naïm Favier
9b35cc716b
use logger->cout
...
in order to avoid potential problems with the progress bar
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2022-11-28 14:59:06 +01:00
Naïm Favier
04ec157517
repl: print a newline on ctrl-D
2022-11-28 10:38:23 +01:00
Yorick van Pelt
444af85552
Temporarily disable the debugger during completion evaluation
...
readline is not re-entrant, so entering the debugger from the
completioncallback results in an eventual segfault.
The workaround is to temporarily disable the debugger when searching
for possible completions.
2022-11-02 13:02:24 +01:00
Guillaume Maudoux
3f9f6ae127
Merge remote-tracking branch 'origin/master' into coerce-string
2022-10-16 20:39:19 +02:00
Eelco Dolstra
59a304a9a8
Fix clang warnings
2022-10-13 11:25:49 -07:00
Alyssa Ross
d234d01f01
nix repl: warn if creating dir for history fails
...
The history is not critical to the functionality of nix repl, so it's
enough to warn here, rather than refuse to start if the directory Nix
thinks the history should live in can't be created.
2022-09-20 11:01:40 +00:00
Guillaume Maudoux
eb460a9529
WIP: broken merge but need a git checkpoint
2022-09-07 00:34:03 +02:00
Eelco Dolstra
0d2163c6dc
nix repl: Stop the progress bar
...
The repl was broken since c3769c6846
. In
general, the progress bar is incompatible with the repl.
2022-08-22 14:27:36 +02:00
Théophane Hufschmitt
4c8210095e
Merge pull request #6233 from flox/nix-repl-flakes
...
Nix repl flakes
2022-06-29 17:59:22 +02:00
Dave Nicponski
c6f7726f48
Don't capture stdout when launching subshells in nix repl
2022-06-23 22:45:13 -04:00
Tom Bereknyei
51268ceb79
Merge branch 'master' into nix-repl-flakes
2022-06-15 09:17:03 -04:00
Tom Bereknyei
ffd41d1757
Merge branch 'master' into nix-repl-flakes
2022-06-02 16:58:35 -04:00
Maximilian Bosch
159b5815b5
repl: --option pure-eval true
actually enables pure eval mode
...
To quote Eelco in #5867 :
> Unfortunately we can't do
>
> evalSettings.pureEval.setDefault(false);
>
> because then we have to do the same in main.cc (where
> pureEval is set to true), and that would allow pure-eval
> to be disabled globally from nix.conf.
Instead, a command should specify that it should be impure by
default. Then, `evalSettings.pureEval` will be set to `false;` unless
it's overridden by e.g. a CLI flag.
In that case it's IMHO OK to be (theoretically) able to override
`pure-eval` via `nix.conf` because it doesn't have an effect on commands
where `forceImpureByDefault` returns `false` (i.e. everything where pure
eval actually matters).
Closes #5867
2022-05-31 22:20:11 +02:00
Ben Burdette
9068d32e12
remove parens from repl help
2022-05-25 12:55:58 -06:00
Ben Burdette
b4c24a29c6
back to ref<EvalState> in NixRepl
2022-05-25 10:21:20 -06:00
Eelco Dolstra
91b7d5373a
Style tweaks
2022-05-25 12:32:22 +02:00
Ben Burdette
ba035f7dd0
comment
2022-05-23 10:13:47 -06:00
Ben Burdette
13d02af079
remove redundant 'debugMode' flag
2022-05-22 21:45:24 -06:00
Ben Burdette
5bc97fdfa6
change state derefs
2022-05-22 19:12:03 -06:00
Ben Burdette
34ffaa9f57
changning repl to use EvalState& instead of ref
2022-05-22 18:57:45 -06:00
Ben Burdette
0600df86b8
'debugMode'
2022-05-19 17:01:23 -06:00
Ben Burdette
7ddef73d02
de-const evalState exceptions
2022-05-19 12:44:40 -06:00
Ben Burdette
f9cdb6af8d
Merge branch 'debug-exploratory-PR' into debuggerHook-eval-arg
2022-05-19 11:07:18 -06:00
Ben Burdette
357fb84dba
use an expr->StaticEnv table in evalState
2022-05-19 10:48:10 -06:00
Ben Burdette
667074b586
first whack at passing evalState as an arg to debuggerHook.
2022-05-16 09:20:51 -06:00
Ben Burdette
6faa56ea1f
remove extra argument
2022-05-15 12:05:34 -06:00
Ben Burdette
99d69ac23f
fix repl bug
2022-05-05 21:23:03 -06:00
Ben Burdette
dea998b2f2
traceable_allocator
2022-05-05 20:26:10 -06:00
Ben Burdette
ce304d0154
rename debug commands to be more gdb-like; hide them except in debug mode
2022-05-05 15:24:57 -06:00
Eelco Dolstra
dd8b91eebc
Style fixes
...
In particular, use std::make_shared and enumerate(). Also renamed some
fields to fit naming conventions.
2022-05-05 17:17:03 +02:00
Ben Burdette
172a83d22a
line endings
2022-04-29 11:24:54 -06:00
Ben Burdette
2a5632c70d
incorporate PosIdx changes, symbol changes.
2022-04-29 10:02:17 -06:00
Ben Burdette
6e19947993
Merge branch 'master' into debug-merge-master
2022-04-28 12:32:57 -06:00
Ben Burdette
f5757a0804
revise command help
2022-04-08 16:34:20 -06:00
Ben Burdette
3aaf02839f
trace stack, not call stack
2022-04-08 16:22:27 -06:00
Ben Burdette
27d45f9eb3
minor cleanup
2022-04-08 15:46:12 -06:00
Ben Burdette
a86c2a8481
remove 'debugError', dead code
2022-04-08 13:30:18 -06:00
Ben Burdette
b8b8ec7101
move throw to preverve Error type; turn off debugger for tryEval
2022-04-08 12:34:27 -06:00
Ben Burdette
1a93ac8133
Merge remote-tracking branch 'upstream/master' into upstream-merge
2022-04-07 13:42:01 -06:00
Ben Burdette
d2ec9b4e15
in debugger mode, print the current error when another repl returns.
2022-04-07 12:09:47 -06:00