Eelco Dolstra
3c67df928f
Add sugar for defining a variable
...
‘x = <expr>’ is short for ‘:a { x = <expr>; }’. Note that the
right-hand side refers to the original scope, so you get:
nix-repl> x = 1
nix-repl> x = x + 1
nix-repl> x
2
rather than an infinite recursion.
2013-09-09 13:56:53 +02:00
Eelco Dolstra
4b33c2dd4c
Add help (:?)
2013-09-09 13:22:33 +02:00
Eelco Dolstra
e133e91410
Support tab-completion on attribute sets
...
Example:
$ nix-repl '<nixos>'
> config.services.xserver.desktop<TAB>
comletes to
> config.services.xserver.desktopManager
You also get suggestions if there are multiple matches:
> config.services.xserver.desktopManager.kde4
config.services.xserver.desktopManager.kde4.enable
config.services.xserver.desktopManager.kde4.phononBackends
2013-09-09 12:00:33 +02:00
Eelco Dolstra
8e765b8876
printValue: Show assertion errors inline
2013-09-09 11:37:05 +02:00
Eelco Dolstra
e587aec123
printValue: Don't show lists/attribute sets twice
2013-09-09 11:14:43 +02:00
Eelco Dolstra
7e3625f924
Improved value display
...
By default, we don't recurse into attribute sets or lists when
printing a value. However, the new :p command does recurse.
2013-09-07 00:35:54 +02:00
Eelco Dolstra
c6f2b89c0e
Restore affinity
2013-09-06 21:00:36 +02:00
Eelco Dolstra
0abdf4beaa
Add basic variable name completion
2013-09-06 19:51:59 +02:00
Eelco Dolstra
cf4c29d90a
Load files specified on the command line
...
For example:
$ nix-repl '<nixpkgs>' '<nixos>'
Welcome to Nix version 1.6pre3215_2c1ecf8. Type :? for help.
Loading ‘<nixpkgs>’...
Added 3337 variables.
Loading ‘<nixos>’...
Added 7 variables.
nix-repl>
2013-09-06 15:20:06 +02:00
Eelco Dolstra
b5944ac4ff
Add a command :s to start a nix-shell for a derivation
2013-09-06 15:05:18 +02:00
Eelco Dolstra
c6712a007f
Add a command :b to build a derivation
2013-09-06 14:58:53 +02:00
Eelco Dolstra
ad0dd359b4
Don't exit on SIGINT during evaluation
...
However, this may leave thunks in black-holed state, so it's not
really safe.
2013-09-06 13:20:35 +02:00
Eelco Dolstra
0b419c048b
Use readline history file
2013-09-06 13:14:28 +02:00
Eelco Dolstra
4fb82d3d80
Handle SIGINT to cancel the current line
2013-09-06 13:01:02 +02:00
Eelco Dolstra
0f6279d874
Add a command :l for loading a file into scope
...
Example:
nix-repl> :l <nixpkgs>
nix-repl> lib.range 0 10
[ 0 1 2 3 4 5 6 7 8 9 10 ]
nix-repl> :l <nixos>
nix-repl> config.boot.kernelModules
[ "vboxdrv" "vboxnetadp" ... ]
2013-09-02 16:48:41 +00:00
Eelco Dolstra
3202206d1d
Add a command :t for showing the type of an expression
2013-09-02 16:00:48 +00:00
Eelco Dolstra
287c88ca59
Support adding variables to the scope
...
The command ":a <expr>" evaluates <expr> and adds the attributes in
the resulting attribute set to the interpreter scope. For instance:
nix-repl> :a import <nixpkgs> {}
nix-repl> lib.range 0 10
[ 0 1 2 3 4 5 6 7 8 9 10 ]
2013-09-02 17:53:58 +02:00
Eelco Dolstra
e90569905e
Initial version of nix-repl
...
This program interactively reads a Nix expression from the user,
evaluates it, and prints the result.
2013-09-02 15:18:15 +02:00