Robert Hensing
03d33703ef
Revert "Use HintFmt for doc comments"
...
Unfortunately these don't render correctly, because they go into the
markdown renderer, instead of the terminal.
```
nix-repl> :doc lib.version
Attribute '[35;1mversion[0m'
… defined at [35;1m/home/user/h/nixpkgs/lib/default.nix:73:40[0m
```
We could switch that to go direct to the terminal, but then we should
do the same for the primops, to get a consistent look.
Reverting for now.
This reverts commit 3413e0338cbee1c7734d5cb614b5325e51815cde.
2024-07-15 19:56:40 +02:00
Robert Hensing
ce31a0457f
Use HintFmt for doc comments
2024-07-15 19:56:40 +02:00
Robert Hensing
6a125e65d0
Revert "Doc comments: use std::unordered_map"
...
hash<SourcePath> isn't implemented yet, and I can't cherry-pick
a bug-free commit yet.
This reverts commit 95529f31e3bbda99111c5ce98a33484dc6e7a462.
2024-07-15 19:56:40 +02:00
Robert Hensing
ac89df815d
libcmd/repl.cc: Explain evalString call and defend
2024-07-15 19:56:40 +02:00
Robert Hensing
21817473e8
Doc comments: use std::unordered_map
...
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2024-07-15 19:56:40 +02:00
Robert Hensing
131b6ccc71
nixexpr.hh: Avoid the warning and pragmas
2024-07-15 19:56:40 +02:00
Robert Hensing
6bbd493d49
libcmd/repl-interacter: INT_MAX -> numeric_limits
2024-07-15 19:56:40 +02:00
Robert Hensing
8a855296f5
tests/function/repl: Characterise the missing doc comment behavior
2024-07-15 19:56:40 +02:00
Robert Hensing
71cb8bf509
libexpr: Rename "column" fields to offset
...
... because that's what they are.
2024-07-15 19:56:40 +02:00
Robert Hensing
77e9f9ee82
libexpr: Get rid of unused line tracking fields
2024-07-15 19:56:40 +02:00
Robert Hensing
f9243eca75
tests/functional/repl.sh: Work around GHA failure
2024-07-15 19:56:40 +02:00
Robert Hensing
cef11b23e8
Add missing .sh in _NIX_TEST_ACCEPT=1 message
2024-07-15 19:56:40 +02:00
Robert Hensing
d4f576b0b2
nix repl: Render docs for attributes
2024-07-15 19:56:40 +02:00
Robert Hensing
491b9cf415
Refactor: extract DocComment::getInnerText(PosTable)
2024-07-15 19:56:40 +02:00
Robert Hensing
e68234c4f9
libexpr: Rearrange lexer files so that yylex_init_extra can be found
2024-07-15 19:56:40 +02:00
Robert Hensing
7fae378835
Track doc comments and render them in :doc
2024-07-15 19:56:40 +02:00
Robert Hensing
e5af7cbeb9
libutil: Add Pos::getSnippetUpTo(Pos)
2024-07-15 18:41:11 +02:00
Robert Hensing
63f520fd00
doc/testing: Typo
2024-07-15 18:41:11 +02:00
Robert Hensing
9d7397c4ba
Merge pull request #11093 from NixOS/fix-concatStringsSep
...
Fix C++ `concatStringsSep`
2024-07-14 13:11:29 +02:00
Robert Hensing
7e604f716c
concatStrings: Give compiler access to definition for inlining
...
... at call sites that are may be in the hot path.
I do not know how clever the compiler gets at these sites.
My primary concern is to not regress performance and I am confident
that this achieves it the easy way.
2024-07-14 12:20:45 +02:00
Robert Hensing
97e01107ec
dropEmptyInitThenConcatStringsSep -> concatStringSep: empty separator
...
When the separator is empty, no difference is observable.
Note that concatStringsSep has centralized definitions. This adds the
required definitions. Alternatively, `strings-inline.hh` could be
included at call sites.
2024-07-14 12:10:39 +02:00
Robert Hensing
d40fdb5711
dropEmptyInitThenConcatStringsSep: Update doc and deprecate
2024-07-14 11:50:20 +02:00
Robert Hensing
1c97718146
dropEmptyInitThenConcatStringsSep: Allow it to drop items again
...
It's usually harmless, if it occurs at all.
2024-07-13 03:06:24 +02:00
Robert Hensing
6b2c277c36
dropEmptyInitThenConcatStringsSep -> concatStringSep: sigs are not empty
...
... but if they are, I'd like to see at least a hint of it so that
I'd know to fix it.
2024-07-13 03:06:24 +02:00
Robert Hensing
76b2d5ef3d
dropEmptyInitThenConcatStringsSep -> concatStringSep: PATH handling
...
It's still wrong, but one step closer to correct.
Not that anyone should use "" or "." in their PATH, but that is not
for us to intervene.
2024-07-13 03:06:24 +02:00
Robert Hensing
9ca42d5da2
dropEmptyInitThenConcatStringsSep -> concatStringSep: setting value was already harmed
...
Considering that `value` was probably parsed with tokenizeString
prior, it's unlikely to contain empty strings, and we have no
reason to remove them either.
2024-07-13 03:06:24 +02:00
Robert Hensing
4029426ca8
dropEmptyInitThenConcatStringsSep -> concatStringSep: tokens from tokenizeString are not empty
2024-07-13 03:06:24 +02:00
Robert Hensing
0fe3525223
illegal configuration line -> syntax error in configuration line
...
The law has nothing to do with this, although I do feel like a
badass when I mess with the config.
I'm a conf artist.
2024-07-13 03:06:24 +02:00
Robert Hensing
cf3c5cd189
dropEmptyInitThenConcatStringsSep -> concatStringSep: showVersions version is not empty
2024-07-13 03:06:24 +02:00
Robert Hensing
d9043021df
dropEmptyInitThenConcatStringsSep -> concatStringSep: break nix help "" "" "" build
...
Garbage in, error out. Experimental CLI. Zero derivations given.
2024-07-13 03:06:24 +02:00
Robert Hensing
062672b022
dropEmptyInitThenConcatStringsSep -> concatStringSep: CLI commands are not empty
2024-07-13 03:06:24 +02:00
Robert Hensing
0480bfe50b
dropEmptyInitThenConcatStringsSep -> concatStringSep: do not drop attributes with empty names
...
Empty attributes are probably not well supported, but the least we
could do is leave a hint.
Attribute path rendering and parsing should be done according to
Nix expression syntax in my opinion.
2024-07-13 03:06:24 +02:00
Robert Hensing
4b34feb4c2
dropEmptyInitThenConcatStringsSep -> concatStringSep: system string should not be empty
2024-07-13 03:06:24 +02:00
Robert Hensing
837c3612d4
dropEmptyInitThenConcatStringsSep -> concatStringSep: escaped shell args are never empty
2024-07-13 03:06:24 +02:00
Robert Hensing
3b77f13451
dropEmptyInitThenConcatStringsSep -> concatStringSep: experimental features do not render as empty strings
2024-07-13 03:06:24 +02:00
Robert Hensing
e64643bf63
dropEmptyInitThenConcatStringsSep -> concatStringSep: feature should not be empty
...
(System) features are unlikely to be empty strings, but when they
come in through structuredAttrs, they probably can.
I don't think this means we should drop them, but most likely they
will be dropped after this because next time they'll be parsed with
tokenizeString.
TODO: We should forbid empty features.
2024-07-13 03:06:24 +02:00
Robert Hensing
f1966e22d9
dropEmptyInitThenConcatStringsSep -> concatStringSep: store paths are not empty
2024-07-13 03:06:24 +02:00
Robert Hensing
49d100ba8b
dropEmptyInitThenConcatStringsSep -> concatStringSep: output name empty not feasible
...
I don't think it's completely impossible, but I can't construct
one easily as derivationStrict seems to (re)tokenize the outputs
attribute, dropping the empty output.
It's not a scenario we have to account for here.
2024-07-13 03:06:24 +02:00
Robert Hensing
d3e49ac881
dropEmptyInitThenConcatStringsSep -> concatStringSep: shortRefs are not empty
2024-07-13 03:06:24 +02:00
Robert Hensing
608a425550
dropEmptyInitThenConcatStringsSep -> concatStringSep: diag
2024-07-13 03:06:24 +02:00
Robert Hensing
75dde71ff9
dropEmptyInitThenConcatStringsSep -> concatStringSep: sigs are non-empty
...
The sigs field is produced by tokenizeStrings, which does not return
empty strings.
2024-07-13 03:06:24 +02:00
Robert Hensing
3f37785afd
NIX_REMOTE_SYSTEMS: actually support multiple :-separated entries
...
Bug not reported in 6 years, but here you go.
Also it is safe to switch to normal concatStringsSep behavior
because tokenizeString does not produce empty items.
2024-07-13 03:06:24 +02:00
Robert Hensing
39878c8979
dropEmptyInitThenConcatStringsSep -> concatStringSep: preserve empty attr
...
The empty attribute name should not be dropped from attribute paths.
Rendering attribute paths with concatStringsSep is lossy and wrong,
but this is just a first improvement while dealing with the
dropEmptyInitThenConcatStringsSep problem.
2024-07-13 03:06:24 +02:00
Robert Hensing
ea966a70fc
dropEmptyInitThenConcatStringsSep -> concatStringSep: diagnostics and docs
...
These are non-critical, so their behavior is ok to change.
Dropping empty items is not needed and usually not expected.
2024-07-13 03:06:24 +02:00
Robert Hensing
a681d354e7
Add fresh concatStringsSep without bug
...
The buggy version was previously renamed to
dropEmptyInitThenConcatStringsSep
2024-07-13 03:06:24 +02:00
Robert Hensing
79eb0adf9d
dropEmptyInitThenConcatStringSep: Check that we don't drop...
...
... initial empty strings.
The tests pass, which is encouraging.
2024-07-13 03:05:50 +02:00
Robert Hensing
1a8defd06f
Refactor: rename C++ concatStringsSep -> dropEmptyInitThenConcatStringsSep
2024-07-13 03:05:50 +02:00
tomberek
b1effc9649
Merge pull request #11080 from NixOS/fix-build-x86_64-darwin-minSDK
...
packaging: Set darwinMinVersion to fix x86_64-darwin build
2024-07-12 20:50:50 -04:00
John Ericson
db3e99d9d4
Merge pull request #10838 from obsidiansystems/spaceship-no-comparator
...
Remove `comparator.hh` and switch to `<=>` in a bunch of places
2024-07-12 15:43:17 -04:00
John Ericson
bc83b9dc1f
Remove comparator.hh
and switch to <=>
in a bunch of places
...
Known behavior changes:
- `MemorySourceAccessor`'s comparison operators no longer forget to
compare the `SourceAccessor` base class.
Progress on #10832
What remains for that issue is hopefully much easier!
2024-07-12 14:54:18 -04:00