Nushell language preview
1. Pipelines
structured commands, flags, and filters
horizon-dark
ls
| where size > 1mb
| sort-by modified
| select name size
| first 5 atom-one-dark
ls
| where size > 1mb
| sort-by modified
| select name size
| first 5 github-dark
ls
| where size > 1mb
| sort-by modified
| select name size
| first 5 dracula
ls
| where size > 1mb
| sort-by modified
| select name size
| first 5 nord
ls
| where size > 1mb
| sort-by modified
| select name size
| first 5 github
ls
| where size > 1mb
| sort-by modified
| select name size
| first 5 2. Custom command
def, let/mut, and string interpolation
horizon-dark
def greet [name: string] {
let message = $"Hello, ($name)!"
print $message
}
greet "world" atom-one-dark
def greet [name: string] {
let message = $"Hello, ($name)!"
print $message
}
greet "world" github-dark
def greet [name: string] {
let message = $"Hello, ($name)!"
print $message
}
greet "world" dracula
def greet [name: string] {
let message = $"Hello, ($name)!"
print $message
}
greet "world" nord
def greet [name: string] {
let message = $"Hello, ($name)!"
print $message
}
greet "world" github
def greet [name: string] {
let message = $"Hello, ($name)!"
print $message
}
greet "world" 3. Values with units
durations, file sizes, and literals
horizon-dark
let timeout = 30sec
let limit = 256mb
let enabled = true
if $enabled {
print $"timeout is ($timeout)"
} atom-one-dark
let timeout = 30sec
let limit = 256mb
let enabled = true
if $enabled {
print $"timeout is ($timeout)"
} github-dark
let timeout = 30sec
let limit = 256mb
let enabled = true
if $enabled {
print $"timeout is ($timeout)"
} dracula
let timeout = 30sec
let limit = 256mb
let enabled = true
if $enabled {
print $"timeout is ($timeout)"
} nord
let timeout = 30sec
let limit = 256mb
let enabled = true
if $enabled {
print $"timeout is ($timeout)"
} github
let timeout = 30sec
let limit = 256mb
let enabled = true
if $enabled {
print $"timeout is ($timeout)"
} 4. Nested interpolation
a $"..." interpolation containing its own nested parens
horizon-dark
let a = 1
let b = 2
let c = 3
print $"Sum: (a + (b * c))" atom-one-dark
let a = 1
let b = 2
let c = 3
print $"Sum: (a + (b * c))" github-dark
let a = 1
let b = 2
let c = 3
print $"Sum: (a + (b * c))" dracula
let a = 1
let b = 2
let c = 3
print $"Sum: (a + (b * c))" nord
let a = 1
let b = 2
let c = 3
print $"Sum: (a + (b * c))" github
let a = 1
let b = 2
let c = 3
print $"Sum: (a + (b * c))" 5. Raw strings
r#'...'# strings that skip interpolation
horizon-dark
let pattern = r#'C:\Users\(name)'#
print $pattern atom-one-dark
let pattern = r#'C:\Users\(name)'#
print $pattern github-dark
let pattern = r#'C:\Users\(name)'#
print $pattern dracula
let pattern = r#'C:\Users\(name)'#
print $pattern nord
let pattern = r#'C:\Users\(name)'#
print $pattern github
let pattern = r#'C:\Users\(name)'#
print $pattern