Amtoine has started a PR wave with the stdlib effort
A lot of commands can easily be implemented in nu
JT spun up help
in half an hour
Amtoine wrote the banner in a more readable form
Increases the contribution accessibility
Amtoine is shepherding the effort
Goals:
Versioning could become a pain
Config has the same issue already (but there are expected user changes here)
Is there a way to get rich structured versioning?
(for the std lib we can add a comment)
but with the config it can break easily.
Rust ships std
as a "crate" with Cargo.toml
Start with the most conservative version for std
first > option 1 ship baked in.
Go beyond the single file include as it becomes necessary but solve this problem as it is needed
Already three files
std.nu
shells
/n
/p
replacement)Kubouch has been working on the directory import for modules
Could be ready for next release
Q: Symbol resolution order with multiple files
two steps:
Reexport already supported for defs but not submodules
Solution: mod.nu
Stuff you can directly use with out use
ing specifically
What part of the standard library should be reexported from the std library effort.
e.g. help
in its reimplementation
don't start every nu session with
use nu std.nu *
or else
module std.nu
use std prelude *
Could be an overlay (and you could rip it out if you don't want it)
Michael started trying to build a nu on top of the now released nu-cmd-lang
: https://github.com/stormasm/nu_cmd_lang77
Currently all the tests tend to use a full nu build with a config.
The default config is shell oriented and can thus not be directly used for testing stuff only in nu-cmd-lang
env.nu
might be loaded in the script or -c
mode (check what is loaded from the user and from the defaults)
Only few commands need the config state but we shouldn't regress on the behavior
Question ?
Does the nu! macro in concert with the -c flag
pull in both config files ?
1 of 2 config files ?
or no config files ?
if its just 1 config file which one is it ?
remember the nu! macro runs the nushell binary that has been built prior
sub Crates depend on the full build
Also we launch a full nu instance for minimal tests that wouldn't need the whole environment
Could we move some tests on the evaluator directly for the parser and core language tests as they shouldn't mess with the env anyways!
Should improve test performance
Isolates the nu-cmd-lang
behavior from config.
For nu!
tests of nu-cmd-lang
we need to be aware of the config
900 lines of untested in the initial refactor PR but we now have some tests with mockito
thanks to @jaudiger
Thanks!
JT wants to slay the dragon (book)
Bob and JT discussed a bit in the direction of more traditional parsing
can we succeed or fail earlier to avoid parsing demons (like the record/closure confusion)
leading characters become more important to narrow the parse
e.g. all numeric values starting with numbers
pulls us away from shapes
Tradeoffs:
Benefits:
Alternatives:
Cheat for 7z
Lazily materialize the parse error at name resolution time (would probably suck for LSP)
nuun
subcommands
init
install
new
overlay
overlay new
.nuun
file
project structure:
.nu
file(s)
(the guy who wrote it added a shebang)
.nuon
as a manifest
either scripts as binaries or larger projects
Also includes an environment management level through overlays
foreign packages can be loaded into the environment through small build scripts
Pain point right now: tests (do we need an eval)
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing