aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-04-08commentsBen Burdette
2020-04-08return of NixCodeBen Burdette
2020-04-08initializer styleBen Burdette
2020-04-07columnRange -> columnBen Burdette
2020-04-06comment cleanupBen Burdette
2020-04-06constructor style basically workingBen Burdette
2020-04-06ignore error-demoBen Burdette
2020-04-06add libutil, libexpr include dirsBen Burdette
2020-04-06Merge branch 'master' into error-formatBen Burdette
2020-04-06Merge pull request #3474 from cole-h/error-on-unsupported-protocolEelco Dolstra
Don't retry on "unsupported protocol" error
2020-04-05Don't retry on "unsupported protocol" errorCole Helbling
When encountering an unsupported protocol, there's no need to retry. Chances are, it won't suddenly be supported between retry attempts; error instead. Otherwise, you see something like the following: $ nix-env -i -f git://git@github.com/foo/bar warning: unable to download 'git://git@github.com/foo/bar': Unsupported protocol (1); retrying in 335 ms warning: unable to download 'git://git@github.com/foo/bar': Unsupported protocol (1); retrying in 604 ms warning: unable to download 'git://git@github.com/foo/bar': Unsupported protocol (1); retrying in 1340 ms warning: unable to download 'git://git@github.com/foo/bar': Unsupported protocol (1); retrying in 2685 ms With this change, you now see: $ nix-env -i -f git://git@github.com/foo/bar error: unable to download 'git://git@github.com/foo/bar': Unsupported protocol (1)
2020-04-05libexprBen Burdette
2020-04-03move out of tests/Ben Burdette
2020-04-03handle Pos instead of individual file/line/columnrange argsBen Burdette
2020-04-03Publish a tarball containing the crates we depend onEelco Dolstra
This is needed since we no longer produce a source tarball. (cherry picked from commit bf70a047a0b2da606f65a88f13ce2994065cd9c4)
2020-04-03nix-env: Refuse to operate on a new-style profileEelco Dolstra
This prevents users from accidentally nuking their profile via nix-env. (cherry picked from commit 021634e3e3edb327089d33ab41b743f0a40126da)
2020-04-03variadic args for hint formatBen Burdette
2020-04-03Merge pull request #3470 from andir/remove-unusued-attrErrorEelco Dolstra
libexpr: remove unused attrError
2020-04-02formatted with astyleBen Burdette
2020-04-02indentingBen Burdette
2020-04-02full include pathBen Burdette
2020-04-02libexpr: remove unused attrErrorAndreas Rammhold
The attrError variable is no longer used but still allocated on every call to the findAlongAttrPath function.
2020-04-01using std:: everywhere; fix a formatting error; add exception flagsBen Burdette
2020-04-01indentingBen Burdette
2020-04-01remove using std::*, switch to include guardBen Burdette
2020-03-31examples of invalid errorsBen Burdette
2020-03-31add some explanatory commentsBen Burdette
2020-03-31rename errors/warningsBen Burdette
2020-03-31enum styleBen Burdette
2020-03-31Merge pull request #3460 from NixOS/dev-shellEelco Dolstra
Backport 'nix dev-shell' from the flakes branch
2020-03-31Merge pull request #3463 from Ninlives/placeholder-passAsFileEelco Dolstra
fix placeholder not substituted in passAsFile
2020-03-31nix shell -> nix dev-shellEelco Dolstra
2020-03-31fix placeholder not substituted in passAsFilemlatus
2020-03-30Backport 'nix dev-shell' from the flakes branchEelco Dolstra
This also adds a '--profile' option to 'nix build' (replacing 'nix-env --set').
2020-03-30remove cruftBen Burdette
2020-03-30build with makeBen Burdette
2020-03-30Fix macOS buildEelco Dolstra
2020-03-30Remove global -I flagsEelco Dolstra
(cherry picked from commit 2c692a3b144523bca68dd6de618124ba6c9bb332)
2020-03-27remove util.hh from depsBen Burdette
2020-03-27more cleanupBen Burdette
2020-03-27camelcase; optional hintBen Burdette
2020-03-25some colorsBen Burdette
2020-03-25programName as static member varBen Burdette
2020-03-25Merge pull request #3445 from gnprice/pr-installer-colorsEelco Dolstra
installer: Fix terminal colors.
2020-03-24installer: Fix terminal colors.Greg Price
The install-multi-user script uses blue, green, and red colors, as well as bold and underline, to add helpful formatting that helps structure its rather voluminous output. Unfortunately, the terminal escape sequences it uses are not quite well-formed. The relevant information is all there, just obscured by some extra noise, a leading parameter `38`. Empirically, the result is: * On macOS, in both Terminal.app and iTerm2, the spurious `38` is ignored, the rest of the escape sequence is applied, and the colors show up as intended. * On Linux, in at least gnome-terminal and xterm, the spurious `38` and the next parameter after it are ignored, and what's left is applied. So in the sequence `38;4;32`, the 4 (underline) is ignored but the 32 (green) takes effect; in a more typical sequence like `38;34`, the 34 (blue) is ignored and nothing happens. These codes are all unchanged since this script's origins as a Darwin-only script -- so the fact that they work fine in common macOS terminals goes some way to explain how the bug arose. Happily, we can make the colors work as intended by just deleting the extra `38;`. Tested in all four terminals mentioned above; the new codes work correctly on all of them, and on the two macOS terminals they work exactly the same as before. --- In a bit more technical detail -- perhaps more than anyone, me included, ever wanted to know, but now that I've gone and learned it I'll write it down anyway :) -- here's what's happening in these codes: An ECMA-48 "control sequence" begins with `\033[` aka "CSI", contains any number of parameters as semicolon-separated decimal numbers (plus sometimes other wrinkles), and ends with a byte from 0x40..0x7e. In our case, with `m` aka "SGR", "Select Graphic Rendition". An SGR control sequence `\033[...m` sets colors, fonts, text styles, etc. In particular a parameter `31` means red, `32` green, `34` blue, `4` underline, and `0` means reset to normal. Those are all we use. There is also a `38`. This is used for setting colors too... but it needs arguments. `38;5;nn` is color nn from a 256-color palette, and `38;2;rr;gg;bb` has the given RGB values. There is no meaning defined for `38;1` or `38;34` etc. On seeing a parameter `38` followed by an unrecognized argument for it, apparently some implementations (as seen on macOS) discard only the `38` and others (as seen on Linux) discard the argument too before resuming.
2020-03-24switch to one level of builder function, not subobject functionsBen Burdette
2020-03-24fix column rangeBen Burdette
2020-03-24MkNixCode, MkErrLine approachBen Burdette
2020-03-24renamingBen Burdette
2020-03-24Misc changes from the flakes branchEelco Dolstra