nushell/crates
A. Taha Baki d25be66929
check existance w/o traversing symlinks (#10872)
# Description

Currently `path exists` checks the file/folder's existence by traversing
symlinks. I've added a `-n` switch/flag that disables symlink
traversing, similar to what `path expand -n` does.

## The Long Story (for those interested)

Hello! 👋 While working on one of my scripts, I discovered that the `path
exists` command was traversing symlinks. This meant that even if the
file existed, it would fail if the pointed location didn't exist. To
address this, I've introduced a new `-n` flag, which I borrowed from the
`path expand` command. This addition should make the behavior more
consistent within the *path commands universe*.

## But, is it any useful?
 
```nushell
let compat = /run/media/userX/DriveX/steam/steamapps/compatdata
if "symlink" == ($compat | path expand -n | path type) {}
# to this
if ($compat | path exists -n) {}
```

# User-Facing Changes

Users, will not efect. Unless they use the mentioned `-n` flag/switch.
2024-01-14 07:33:33 +08:00
..
nu_plugin_custom_values Bump to dev version 0.89.1 (#11513) 2024-01-11 00:19:21 +13:00
nu_plugin_example Bump to dev version 0.89.1 (#11513) 2024-01-11 00:19:21 +13:00
nu_plugin_formats Bump to dev version 0.89.1 (#11513) 2024-01-11 00:19:21 +13:00
nu_plugin_gstat Bump to dev version 0.89.1 (#11513) 2024-01-11 00:19:21 +13:00
nu_plugin_inc Bump to dev version 0.89.1 (#11513) 2024-01-11 00:19:21 +13:00
nu_plugin_python remove vectorize_over_list from python plugin (#9905) 2023-08-03 16:46:48 +02:00
nu_plugin_query update query web param --as-table from Table to List (#11531) 2024-01-12 13:26:40 -06:00
nu-cli Show last command and running commands in title with shell_integration (#11532) 2024-01-12 21:32:25 -06:00
nu-cmd-base Bump to dev version 0.89.1 (#11513) 2024-01-11 00:19:21 +13:00
nu-cmd-dataframe Fix incorrect handling of boolean flags for builtin commands (#11492) 2024-01-11 17:19:48 +02:00
nu-cmd-extra Fix incorrect handling of boolean flags for builtin commands (#11492) 2024-01-11 17:19:48 +02:00
nu-cmd-lang Fix incorrect handling of boolean flags for builtin commands (#11492) 2024-01-11 17:19:48 +02:00
nu-color-config Bump to dev version 0.89.1 (#11513) 2024-01-11 00:19:21 +13:00
nu-command check existance w/o traversing symlinks (#10872) 2024-01-14 07:33:33 +08:00
nu-engine add type check during eval time (#11475) 2024-01-12 23:48:53 +08:00
nu-explore Fix incorrect handling of boolean flags for builtin commands (#11492) 2024-01-11 17:19:48 +02:00
nu-glob Bump to dev version 0.89.1 (#11513) 2024-01-11 00:19:21 +13:00
nu-json Bump to dev version 0.89.1 (#11513) 2024-01-11 00:19:21 +13:00
nu-lsp Fix "Char index out of bounds" Error (#11526) 2024-01-11 15:24:49 -06:00
nu-parser Fix incorrect handling of boolean flags for builtin commands (#11492) 2024-01-11 17:19:48 +02:00
nu-path Bump to dev version 0.89.1 (#11513) 2024-01-11 00:19:21 +13:00
nu-plugin Fix incorrect handling of boolean flags for builtin commands (#11492) 2024-01-11 17:19:48 +02:00
nu-pretty-hex Bump to dev version 0.89.1 (#11513) 2024-01-11 00:19:21 +13:00
nu-protocol add type check during eval time (#11475) 2024-01-12 23:48:53 +08:00
nu-std add type check during eval time (#11475) 2024-01-12 23:48:53 +08:00
nu-system Bump to dev version 0.89.1 (#11513) 2024-01-11 00:19:21 +13:00
nu-table Bump to dev version 0.89.1 (#11513) 2024-01-11 00:19:21 +13:00
nu-term-grid Bump to dev version 0.89.1 (#11513) 2024-01-11 00:19:21 +13:00
nu-test-support Bump to dev version 0.89.1 (#11513) 2024-01-11 00:19:21 +13:00
nu-utils Bump to dev version 0.89.1 (#11513) 2024-01-11 00:19:21 +13: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.