nushell/crates
Wind a15462fd00
Change default algorithm in detect columns (#12277)
# Description
@fdncred found another histogram based algorithm to detect columns, and
rewrite it in rust: https://github.com/fdncred/guess-width

I have tested it manually, and it works good with `df`, `docker ps`,
`^ps`. This pr is going to use the algorithm in `detect columns`

Fix: #4183

The pitfall of new algorithm:
1. it may not works well if there isn't too much rows of input
2. it may not works well if the length of value is less than the header
to value, e.g:
```
c1 c2 c3 c4 c5
a b c d e
g h i j k
g a a q d
a v c q q | detect columns
```
In this case, users might need to use ~~`--old`~~ `--legacy` to make it
works well.

# User-Facing Changes
User might need to add ~~`--old`~~ `--legacy` to scripts if they find
`detect columns` in their scripts broken.

# Tests + Formatting
Done

# After Submitting
NaN
2024-03-26 13:57:55 +08:00
..
nu_plugin_custom_values Add example tests (nu-plugin-test-support) for plugins in repo (#12281) 2024-03-25 21:20:35 -05:00
nu_plugin_example Add example tests (nu-plugin-test-support) for plugins in repo (#12281) 2024-03-25 21:20:35 -05:00
nu_plugin_formats Add example tests (nu-plugin-test-support) for plugins in repo (#12281) 2024-03-25 21:20:35 -05:00
nu_plugin_gstat Better generic errors for plugins (and perhaps scripts) (#12236) 2024-03-21 12:27:21 +01:00
nu_plugin_inc Better generic errors for plugins (and perhaps scripts) (#12236) 2024-03-21 12:27:21 +01:00
nu_plugin_python Improve the error message for a plugin version mismatch (#12122) 2024-03-08 06:04:22 -06:00
nu_plugin_query Support for getting help text from a plugin command (#12243) 2024-03-24 07:30:38 +08:00
nu-cli ls, rm, cp, open, touch, mkdir: Don't expand tilde if input path is quoted string or a variable. (#12232) 2024-03-25 10:08:38 +08:00
nu-cmd-base Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-cmd-dataframe Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-cmd-extra Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-cmd-lang Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-color-config Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-command Change default algorithm in detect columns (#12277) 2024-03-26 13:57:55 +08:00
nu-engine ls, rm, cp, open, touch, mkdir: Don't expand tilde if input path is quoted string or a variable. (#12232) 2024-03-25 10:08:38 +08:00
nu-explore Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-glob Fix ignored clippy lints (#12160) 2024-03-11 19:46:04 +01:00
nu-json Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-lsp Send LSP Completion Item Kind (#11443) 2024-03-24 20:14:12 -05:00
nu-parser Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-path ls, rm, cp, open, touch, mkdir: Don't expand tilde if input path is quoted string or a variable. (#12232) 2024-03-25 10:08:38 +08:00
nu-plugin Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-plugin-test-support Add example tests (nu-plugin-test-support) for plugins in repo (#12281) 2024-03-25 21:20:35 -05:00
nu-pretty-hex nu-explore/ Use hex-dump for binary data (#12184) 2024-03-21 19:02:03 -05:00
nu-protocol Style: move some Option if/else to method chains (#12285) 2024-03-26 08:35:51 +08:00
nu-std to json -r not removing whitespaces fix (#11948) 2024-03-20 22:14:31 +01:00
nu-system Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-table Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-term-grid Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-test-support Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-utils Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
README.md Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00

Nushell core libraries and plugins

These sub-crates form both the foundation for Nu and a set of plugins which extend Nu with additional functionality.

Foundational libraries are split into two kinds of crates:

  • Core crates - those crates that work together to build the Nushell language engine
  • Support crates - a set of crates that support the engine with additional features like JSON support, ANSI support, and more.

Plugins are likewise also split into two types:

  • Core plugins - plugins that provide part of the default experience of Nu, including access to the system properties, processes, and web-connectivity features.
  • Extra plugins - these plugins run a wide range of different capabilities like working with different file types, charting, viewing binary data, and more.