Repository Analysis

nushell/nushell

A new type of shell

2.4 Likely human-written View on GitHub
2.4
Adjusted Score
2.4
Raw Score
100%
Time Factor
2026-05-29
Last Push
39,598
Stars
Rust
Language
382,168
Lines of Code
1903
Files
715
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 1HIGH 0MEDIUM 122LOW 592

Pattern Findings

715 matches across 8 categories. Click a row to expand file-level details.

Over-Commented Block587 hits · 532 pts
SeverityFileLineSnippet
LOWREADME.md101# => │ 0 │ .cargo │ dir │ 0 B │ 9 minutes ago │
LOWREADME.md141
LOWREADME.md161# => ╭───────────────┬────────────────────────────────────╮
LOWrust-toolchain.toml1# So, you want to update the Rust toolchain...
LOWcrates/nu-term-grid/src/grid.rs1// Thanks to https://github.com/ogham/rust-term-grid for making this available
LOWcrates/nu-term-grid/src/grid.rs21//! println!("{}", grid.fit_into_width(24).unwrap());
LOWcrates/nu-term-grid/src/grid.rs41//! - `filling`: what to put in between two columns — either a number of
LOWcrates/nu-term-grid/src/grid.rs61//! on a `Grid` value. It takes as its argument the number of columns.
LOWcrates/nu-term-grid/src/grid.rs81//! However, you may also want to supply your own width: when you already know the
LOWcrates/nu-term-grid/src/grid.rs101}
LOWcrates/nu-engine/src/env.rs221 if let Expr::Var(id) = x.expr {
LOWcrates/nu-engine/src/closure_eval.rs21/// # use nu_protocol::{PipelineData, Value};
LOWcrates/nu-engine/src/closure_eval.rs41/// let mut closure = ClosureEval::new(engine_state, stack, closure);
LOWcrates/nu-engine/src/closure_eval.rs161 self.run_with_input(value.into_pipeline_data_with_metadata(metadata))
LOWcrates/nu-engine/src/closure_eval.rs181/// .unwrap()
LOWcrates/nu-engine/src/compile/keyword.rs141pub(crate) fn compile_match(
LOWcrates/nu-engine/src/compile/keyword.rs301/// - `input | let x`: stores the value and **passes it through** to the next pipeline element
LOWcrates/nu-engine/src/compile/keyword.rs421pub(crate) fn compile_try(
LOWcrates/nu-engine/src/compile/keyword.rs441 // END:
LOWcrates/nu-engine/src/compile/keyword.rs1101pub(crate) fn compile_collect(
LOWcrates/nu-plugin-engine/src/persistent.rs21/// not running.
LOWcrates/nu-plugin-engine/src/interface/mod.rs101/// State that the manager keeps for each plugin call during its lifetime.
LOWcrates/nu-heavy-utils/src/merge.rs1//! Merging behavior for [`Value`]s.
LOWcrates/nu-heavy-utils/src/merge.rs21//! "a" => 42,
LOWcrates/nu-heavy-utils/src/merge.rs81 ///
LOWcrates/nu-heavy-utils/src/merge.rs101 /// ["a", "c"];
LOWcrates/nuon/src/lib.rs461 // OutsideSpannedLabeledError {
LOWcrates/nuon/src/to.rs1use core::fmt::Write;
LOWcrates/nuon/src/to.rs81 self
LOWcrates/nuon/src/to.rs101 /// ```text
LOWcrates/nuon/src/to.rs121///
LOWcrates/nu-test-support/src/lib.rs1#![expect(clippy::test_attr_in_doctest)]
LOWcrates/nu-test-support/src/lib.rs21//!
LOWcrates/nu-test-support/src/lib.rs41//! [package]
LOWcrates/nu-test-support/src/lib.rs61//! ```
LOWcrates/nu-test-support/src/lib.rs81//! Enables a specific [experimental option](nu_experimental) for a test.
LOWcrates/nu-test-support/src/lib.rs101//! This also improves iteration speed, since the binary does not need to be rebuilt before each
LOWcrates/nu-test-support/src/lib.rs121//! # unimplemented!()
LOWcrates/nu-test-support/src/lib.rs141//! # }
LOWcrates/nu-test-support/src/lib.rs161//! them into a type that implements [`FromValue`](nu_protocol::FromValue).
LOWcrates/nu-test-support/src/lib.rs181//!
LOWcrates/nu-test-support/src/lib.rs201//! let () = tester.run("def duck [] { '🦆' }")?;
LOWcrates/nu-test-support/src/lib.rs221//! use nu_test_support::prelude::*;
LOWcrates/nu-test-support/src/lib.rs241//! use nu_test_support::prelude::*;
LOWcrates/nu-test-support/src/lib.rs261//! .run_with_data("$in | to nuon | from nuon", sample.clone())
LOWcrates/nu-test-support/src/lib.rs281//! fn check_metadata() -> Result {
LOWcrates/nu-test-support/src/lib.rs301//! ### Setting the Working Directory
LOWcrates/nu-test-support/src/lib.rs321//! ```
LOWcrates/nu-test-support/src/lib.rs341//! let de: String = test().locale("de_DE").run(&code)?;
LOWcrates/nu-test-support/src/lib.rs361//! # }
LOWcrates/nu-test-support/src/lib.rs381//! }
LOWcrates/nu-test-support/src/lib.rs401//! .inherit_rust_toolchain_env()
LOWcrates/nu-test-support/src/lib.rs421//! # unimplemented!()
LOWcrates/nu-test-support/src/lib.rs441//!
LOWcrates/nu-test-support/src/lib.rs461//! Tests typically combine the playground with [`cwd`](tester::NuTester::cwd)
LOWcrates/nu-test-support/src/lib.rs481//! }
LOWcrates/nu-test-support/src/lib.rs501//! # fn main() -> Result {
LOWcrates/nu-test-support/src/lib.rs521//! #[rstest]
LOWcrates/nu-test-support/src/lib.rs541//! ```
LOWcrates/nu-test-support/src/lib.rs601/// Build a [`CellPath`](nu_protocol::ast::CellPath) in Rust using the familiar cell path syntax.
527 more matches not shown…
Decorative Section Separators104 hits · 302 pts
SeverityFileLineSnippet
MEDIUMREADME.md98# => ╭────┬──────────┬──────┬─────────┬───────────────╮
MEDIUMREADME.md100# => ├────┼──────────┼──────┼─────────┼───────────────┤
MEDIUMREADME.md113# => ╰────┴──────────┴──────┴─────────┴───────────────╯
MEDIUMREADME.md128# => ╭───┬───────┬───────────┬───────┬───────────┬───────────╮
MEDIUMREADME.md130# => ├───┼───────┼───────────┼───────┼───────────┼───────────┤
MEDIUMREADME.md134# => ╰───┴───────┴───────────┴───────┴───────────┴───────────╯
MEDIUMREADME.md144# => ╭──────────────────┬────────────────────╮
MEDIUMREADME.md154# => ╰──────────────────┴────────────────────╯
MEDIUMREADME.md161# => ╭───────────────┬────────────────────────────────────╮
MEDIUMREADME.md175# => ╰───────────────┴────────────────────────────────────╯
MEDIUMcrates/nu-std/README.md13#┬───────────name────────────┬───────────────────description───────────────────
MEDIUMcrates/nu-cli/src/prompt_update.rs28// ────────────────────────────────────────────────────────────────────────────────
MEDIUMcrates/nu-cli/src/prompt_update.rs30// ────────────────────────────────────────────────────────────────────────────────
MEDIUMcrates/nu-explore/src/explore_regex/ui.rs26// ─── Key Action Handling ─────────────────────────────────────────────────────
MEDIUMcrates/nu-explore/src/explore_regex/ui.rs106// ─── Main Loop ───────────────────────────────────────────────────────────────
MEDIUMcrates/nu-explore/src/explore_regex/ui.rs174// ─── Main Loop ───────────────────────────────────────────────────────────────
MEDIUMcrates/nu-explore/src/explore_regex/ui.rs212// ─── UI Drawing ──────────────────────────────────────────────────────────────
MEDIUMcrates/nu-explore/src/explore_regex/ui.rs266// ─── Section Drawing Helpers ─────────────────────────────────────────────────
MEDIUMcrates/nu-explore/src/explore_regex/ui.rs375// ─── Label Building Helpers ──────────────────────────────────────────────────
MEDIUMcrates/nu-explore/src/explore_regex/ui.rs404// ─── Help Bar ────────────────────────────────────────────────────────────────
MEDIUMcrates/nu-explore/src/explore_regex/ui.rs453// ─── Quick Reference Panel ───────────────────────────────────────────────────
MEDIUMcrates/nu-explore/src/explore_regex/ui.rs560// ─── Help Modal Overlay ───────────────────────────────────────────────────────
MEDIUMcrates/nu-explore/src/explore_regex/app.rs164 // ─── Quick Reference Panel ───────────────────────────────────────────
MEDIUMcrates/nu-explore/src/explore_regex/app.rs313 // ─── is_selectable tests ─────────────────────────────────────────────────
MEDIUMcrates/nu-explore/src/explore_regex/app.rs343 // ─── find_next_item tests ────────────────────────────────────────────────
MEDIUMcrates/nu-explore/src/explore_regex/app.rs381 // ─── find_prev_item tests ────────────────────────────────────────────────
MEDIUMcrates/nu-explore/src/explore_regex/app.rs421 // ─── find_nearest_item tests ─────────────────────────────────────────────
MEDIUMcrates/nu-explore/src/explore_regex/app.rs451 // ─── find_nearest_item_reverse tests ─────────────────────────────────────
MEDIUMcrates/nu-explore/src/explore_regex/app.rs482 // ─── Navigation method tests (quick_ref_up/down) ─────────────────────────
MEDIUMcrates/nu-explore/src/explore_regex/app.rs544 // ─── Page navigation tests ───────────────────────────────────────────────
MEDIUMcrates/nu-explore/src/explore_regex/app.rs631 // ─── Horizontal scroll tests ─────────────────────────────────────────────
MEDIUMcrates/nu-explore/src/explore_regex/app.rs684 // ─── Unicode handling tests ───────────────────────────────────────────────
MEDIUMcrates/nu-explore/src/explore_regex/app.rs695 // ─── get_highlights tests ─────────────────────────────────────────────────
MEDIUMcrates/nu-explore/src/explore_regex/app.rs785 // ─── Helper ──────────────────────────────────────────────────────────────
MEDIUMcrates/nu-command/tests/format_conversions/html.rs50 "<html><style>body { background-color:white;color:black; }</style><body>Change directory.<br><br>Usage:<br> &gt
MEDIUMcrates/nu-command/tests/commands/table.rs3361 "╭───┬───┬───┬────────────────╮│ # │ a │ b │ c │├───┼───┼───┼────────────────┤│ 0 │ 1 │ 2 │
MEDIUMcrates/nu-command/tests/commands/table.rs3369 "╭───┬─────┬─────┬────────────────╮│ # │ a │ b │ c │├───┼─────┼─────┼────────────────┤│ 0 │ 1
MEDIUMcrates/nu-command/tests/commands/table.rs3377 "╭───┬─────┬─────┬─────╮│ # │ a │ b │ c │├───┼─────┼─────┼─────┤│ 0 │ 1 │ 2 │ 3 ││ 1 │ ... │ ... │ .
MEDIUMcrates/nu-command/tests/commands/table.rs3457 "╭───┬───┬───┬────────────────╮│ # │ a │ b │ c │├───┼───┼───┼────────────────┤│ 0 │ 1 │ 2 │
MEDIUMcrates/nu-command/tests/commands/table.rs3465 "╭───┬─────┬─────┬────────────────╮│ # │ a │ b │ c │├───┼─────┼─────┼────────────────┤│ 0 │ 1
MEDIUMcrates/nu-command/tests/commands/table.rs3473 "╭───┬─────┬─────┬─────╮│ # │ a │ b │ c │├───┼─────┼─────┼─────┤│ 0 │ 1 │ 2 │ 3 ││ 1 │ ... │ ... │ .
MEDIUMcrates/nu-command/tests/commands/table.rs3027 "─#───a───b─────────c──────── 0 1 2 3 1 4 5 [list 3 items] ",
MEDIUMcrates/nu-command/tests/commands/table.rs3028 "─#───a───b─────────c──────── 0 1 2 3 1 4 5 [list 3 items] ─#───a───b─────────c───
MEDIUMcrates/nu-command/tests/commands/table.rs3053 "─#─┬─a─┬─b─┬───────c──────── 0 │ 1 │ 2 │ 3 1 │ 4 │ 5 │ [list 3 items] ───┴───┴───┴───────────
MEDIUMcrates/nu-command/tests/commands/table.rs3054 "─#─┬─a─┬─b─┬───────c──────── 0 │ 1 │ 2 │ 3 1 │ 4 │ 5 │ [list 3 items] ─#─┴─a─┴─b─┴───────c───
MEDIUMcrates/nu-command/tests/commands/table.rs3066 "─#─┼─a─┼─b─┼───────c──────── 0 │ 1 │ 2 │ 3 1 │ 4 │ 5 │ [list 3 items] ",
MEDIUMcrates/nu-command/tests/commands/table.rs3067 "─#─┼─a─┼─b─┼───────c──────── 0 │ 1 │ 2 │ 3 1 │ 4 │ 5 │ [list 3 items] ─#─┼─a─┼─b─┼───────c───
MEDIUMcrates/nu-command/tests/commands/table.rs3079 "═#═╦═a═╦═b═╦═══════c════════ 0 ║ 1 ║ 2 ║ 3 1 ║ 4 ║ 5 ║ [list 3 items] ═══╩═══╩═══╩═══════════
MEDIUMcrates/nu-command/tests/commands/table.rs3080 "═#═╦═a═╦═b═╦═══════c════════ 0 ║ 1 ║ 2 ║ 3 1 ║ 4 ║ 5 ║ [list 3 items] ═#═╩═a═╩═b═╩═══════c═══
MEDIUMcrates/nu-command/tests/commands/table.rs3092 "╭─#─┬─a─┬─b─┬───────c────────╮│ 0 │ 1 │ 2 │ 3 ││ 1 │ 4 │ 5 │ [list 3 items] │╰───┴───┴───┴────
MEDIUMcrates/nu-command/tests/commands/table.rs3093 "╭─#─┬─a─┬─b─┬───────c────────╮│ 0 │ 1 │ 2 │ 3 ││ 1 │ 4 │ 5 │ [list 3 items] │╰─#─┴─a─┴─b─┴────
MEDIUMcrates/nu-command/tests/commands/table.rs3105 "┏━#━┳━a━┳━b━┳━━━━━━━c━━━━━━━━┓┃ 0 ┃ 1 ┃ 2 ┃ 3 ┃┃ 1 ┃ 4 ┃ 5 ┃ [list 3 items] ┃┗━━━┻━━━┻━━━┻━━━━
MEDIUMcrates/nu-command/tests/commands/table.rs3106 "┏━#━┳━a━┳━b━┳━━━━━━━c━━━━━━━━┓┃ 0 ┃ 1 ┃ 2 ┃ 3 ┃┃ 1 ┃ 4 ┃ 5 ┃ [list 3 items] ┃┗━#━┻━a━┻━b━┻━━━━
MEDIUMcrates/nu-command/tests/commands/table.rs3118 "┏─#─┬─a─┬─b─┬───────c────────┓│ 0 │ 1 │ 2 │ 3 ││ 1 │ 4 │ 5 │ [list 3 items] │┗───┴───┴───┴────
MEDIUMcrates/nu-command/tests/commands/table.rs3119 "┏─#─┬─a─┬─b─┬───────c────────┓│ 0 │ 1 │ 2 │ 3 ││ 1 │ 4 │ 5 │ [list 3 items] │┗─#─┴─a─┴─b─┴────
MEDIUMcrates/nu-command/tests/commands/table.rs3144 "╭─#─┬─a─┬─b─┬───────c────────╮│ 0 │ 1 │ 2 │ 3 ││ 1 │ 4 │ 5 │ [list 3 items] │╰───┴───┴───┴────
MEDIUMcrates/nu-command/tests/commands/table.rs3145 "╭─#─┬─a─┬─b─┬───────c────────╮│ 0 │ 1 │ 2 │ 3 ││ 1 │ 4 │ 5 │ [list 3 items] │╰─#─┴─a─┴─b─┴────
MEDIUMcrates/nu-command/tests/commands/table.rs3171 "┌─#─┬─a─┬─b─┬───────c────────┐│ 0 │ 1 │ 2 │ 3 │├───┼───┼───┼────────────────┤│ 1 │ 4 │ 5 │ [li
MEDIUMcrates/nu-command/tests/commands/table.rs3172 "┌─#─┬─a─┬─b─┬───────c────────┐│ 0 │ 1 │ 2 │ 3 │├───┼───┼───┼────────────────┤│ 1 │ 4 │ 5 │ [li
MEDIUMcrates/nu-command/tests/commands/table.rs3339 "╭───┬───────┬───────┬────────────────╮│ # │ a │ b │ c │├───┼───────┼───────┼──────────────
44 more matches not shown…
AI Slop Vocabulary16 hits · 45 pts
SeverityFileLineSnippet
MEDIUMcrates/nu-test-support/src/lib.rs7//! It offers a [custom test harness](#custom-test-harness) to control the environment tests run in, along with
MEDIUMcrates/nu-test-support/src/lib.rs47//! harness = false # disable the test harness
MEDIUMcrates/nu-test-support/src/lib.rs487//! `#[exp]` attribute provided by the custom test harness.
MEDIUMcrates/nu-test-support/src/harness/mod.rs53#[linkme(crate = nu_test_support::harness::linkme)]
MEDIUMcrates/nu-utils/src/casing.rs17 /// Essentially `to_folded_case(a) == to_folded_case(b)`, but without
MEDIUMcrates/nu-utils/src/casing.rs25 /// Essentially `to_folded_case(a) == to_folded_case(b)`, but without
MEDIUMcrates/nu-protocol/src/value/mod.rs872 /// This method is able to leverage that information encoded in a `Value` to provide more accurate
MEDIUMcrates/nu-protocol/src/errors/shell_error/io.rs89/// This allows seamless transfer of `ShellError` instances where `std::io::Error` is expected.
MEDIUMcrates/nu-test-support-macros/src/test.rs68 #[::nu_test_support::collect_test(::nu_test_support::harness::TESTS)]
MEDIUMcrates/nu-test-support-macros/src/test.rs69 #[linkme(crate = ::nu_test_support::harness::linkme)]
MEDIUMcrates/nu-plugin/src/lib.rs11//! the typed data that Nushell commands utilize natively.
MEDIUMcrates/nu-command/tests/commands/table.rs845 "│ bench │ │ # │ name │ harness │ │",
MEDIUMcrates/nu-command/tests/commands/table.rs1037 "│ bench │ │ # │ name │ harness │
MEDIUMcrates/nu-command/tests/commands/table.rs1302 "│ bench │ │ # │ name │ harness │ │",
MEDIUMcrates/nu-command/src/viewers/table.rs681 // TODO: more robust error classification
MEDIUMcrates/nu-command/src/viewers/table.rs1268 // TODO: more robust error classification
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippet
CRITICALcrates/nu-table/src/types/expanded.rs512 cfg.opts.config.table.missing_value_symbol.clone(),
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippet
MEDIUMcrates/nu-term-grid/src/grid.rs33//! ## Creating a grid
MEDIUM.github/workflows/nightly-build.yml212 # Create a release only in nushell/nightly repo
Fake / Example Data2 hits · 2 pts
SeverityFileLineSnippet
LOWcrates/nu-utils/src/flatten_json.rs86 /// "name": "John Doe",
LOWcrates/nu_plugin_formats/src/from/vcf.rs103 "value" => Value::test_string("foo@bar.com"),
Slop Phrases2 hits · 2 pts
SeverityFileLineSnippet
LOWcrates/nu-command/src/filesystem/ls.rs1061 // Don't forget to close the Find handle
LOW.github/workflows/friendly-config-reminder.yml24 If you changed any of the default values or added a new config option, don't forget to update the [`doc_config
Deep Nesting1 hit · 1 pts
SeverityFileLineSnippet
LOWcrates/nu_plugin_python/nu_plugin_python_example.py226