mirror of
https://github.com/nushell/nushell.git
synced 2025-03-13 15:08:43 +01:00
refactor: tree-sitter-nu friendly alternative expressions (#15301)
# Description Choose more tree-sitter-nu-friendly (if not better) expressions in nu scripts. The changes made in this PR all come from known issues of `tree-sitter-nu`. 1. nested single/double quotes: https://github.com/nushell/tree-sitter-nu/issues/125 2. module path of `use` command: https://github.com/nushell/tree-sitter-nu/issues/165 3. where predicates of boolean column: https://github.com/nushell/tree-sitter-nu/issues/177 4. `error make` keyword: https://github.com/nushell/tree-sitter-nu/issues/179 Those issues are either hard to fix or "not planned" for syntactical precision considerations ATM. # User-Facing Changes Should be none # Tests + Formatting # After Submitting
This commit is contained in:
parent
a17ffdfe56
commit
44b7cfd696
@ -55,7 +55,7 @@ export def aggregate [
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
def "error not-a-table" [span: record<start: int, end:int>] {
|
def "error-make not-a-table" [span: record<start: int, end:int>] {
|
||||||
error make {
|
error make {
|
||||||
msg: "input must be a table",
|
msg: "input must be a table",
|
||||||
label: {
|
label: {
|
||||||
@ -69,9 +69,9 @@ export def aggregate [
|
|||||||
let IN = $in
|
let IN = $in
|
||||||
let md = metadata $in
|
let md = metadata $in
|
||||||
|
|
||||||
let first = try { $IN | first } catch { error not-a-table $md.span }
|
let first = try { $IN | first } catch { error-make not-a-table $md.span }
|
||||||
if not (($first | describe) starts-with record) {
|
if not (($first | describe) starts-with record) {
|
||||||
error not-a-table $md.span
|
error-make not-a-table $md.span
|
||||||
}
|
}
|
||||||
|
|
||||||
let grouped = "items" in $first
|
let grouped = "items" in $first
|
||||||
|
@ -109,7 +109,7 @@ def "nu-complete main-help" [] {
|
|||||||
}
|
}
|
||||||
|
|
||||||
def "nu-complete list-externs" [] {
|
def "nu-complete list-externs" [] {
|
||||||
scope commands | where is_extern | select name description | rename value description
|
scope commands | where is_extern == true | select name description | rename value description
|
||||||
}
|
}
|
||||||
|
|
||||||
def build-help-header [
|
def build-help-header [
|
||||||
@ -397,7 +397,7 @@ export def externs [
|
|||||||
] {
|
] {
|
||||||
let externs = (
|
let externs = (
|
||||||
scope commands
|
scope commands
|
||||||
| where is_extern
|
| where is_extern == true
|
||||||
| select name module_name description
|
| select name module_name description
|
||||||
| sort-by name
|
| sort-by name
|
||||||
| str trim
|
| str trim
|
||||||
@ -761,7 +761,7 @@ Here are some tips to help you get started.
|
|||||||
* ('help <name>' | pretty-cmd) - display help about a particular command, alias, or module
|
* ('help <name>' | pretty-cmd) - display help about a particular command, alias, or module
|
||||||
* ('help --find <text to search>' | pretty-cmd) - search through all help commands table
|
* ('help --find <text to search>' | pretty-cmd) - search through all help commands table
|
||||||
|
|
||||||
Nushell works on the idea of a "(ansi default_italic)pipeline(ansi reset)". Pipelines are commands connected with the '|' character.
|
Nushell works on the idea of a '(ansi default_italic)pipeline(ansi reset)'. Pipelines are commands connected with the '|' character.
|
||||||
Each stage in the pipeline works together to load, parse, and display information to you.
|
Each stage in the pipeline works together to load, parse, and display information to you.
|
||||||
|
|
||||||
(ansi green)Examples(ansi reset):
|
(ansi green)Examples(ansi reset):
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
use std log warning
|
use std/log warning
|
||||||
|
|
||||||
print '-------------------------------------------------------------------'
|
print '-------------------------------------------------------------------'
|
||||||
print 'Building nushell (nu) and all the plugins'
|
print 'Building nushell (nu) and all the plugins'
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env nu
|
#!/usr/bin/env nu
|
||||||
use std log warning
|
use std/log warning
|
||||||
|
|
||||||
warning "./scripts/coverage-local.nu will be deprecated, please use the `toolkit cov` command instead"
|
warning "./scripts/coverage-local.nu will be deprecated, please use the `toolkit cov` command instead"
|
||||||
|
|
||||||
|
@ -19,14 +19,14 @@ let exe = $paths.1
|
|||||||
|
|
||||||
let test_lines = [
|
let test_lines = [
|
||||||
"python -c 'import sys; print(sys.executable)'" # 1
|
"python -c 'import sys; print(sys.executable)'" # 1
|
||||||
"python -c 'import os; import sys; v = os.environ.get("VIRTUAL_ENV"); print(v)'" # 2
|
`python -c 'import os; import sys; v = os.environ.get("VIRTUAL_ENV"); print(v)'` # 2
|
||||||
$"overlay use '([$env.PWD $env_name $subdir activate.nu] | path join)'"
|
$"overlay use '([$env.PWD $env_name $subdir activate.nu] | path join)'"
|
||||||
"python -c 'import sys; print(sys.executable)'" # 3
|
"python -c 'import sys; print(sys.executable)'" # 3
|
||||||
"python -c 'import os; import sys; v = os.environ.get("VIRTUAL_ENV"); print(v)'" # 4
|
`python -c 'import os; import sys; v = os.environ.get("VIRTUAL_ENV"); print(v)'` # 4
|
||||||
"print $env.VIRTUAL_ENV_PROMPT" # 5
|
"print $env.VIRTUAL_ENV_PROMPT" # 5
|
||||||
"deactivate"
|
"deactivate"
|
||||||
"python -c 'import sys; print(sys.executable)'" # 6
|
"python -c 'import sys; print(sys.executable)'" # 6
|
||||||
"python -c 'import os; import sys; v = os.environ.get("VIRTUAL_ENV"); print(v)'" # 7
|
`python -c 'import os; import sys; v = os.environ.get("VIRTUAL_ENV"); print(v)'` # 7
|
||||||
]
|
]
|
||||||
|
|
||||||
def main [] {
|
def main [] {
|
||||||
|
Loading…
Reference in New Issue
Block a user