Socket
Socket
Sign inDemoInstall

inquirer-fs-selector

Package Overview
Dependencies
53
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

inquirer-fs-selector

A filesystem prompt selector for Inquirer.js


Version published
Maintainers
1
Weekly downloads
267
decreased by-8.87%

Weekly downloads

Readme

Source

inquirer-fs-selector

A filesystem prompt selector plugin for Inquirer.js.

Installation

npm install --save inquirer-fs-selector

Features

  • Support for symlinked files
  • Vim style navigation
  • Search for file with / key
  • Customize (or disable) file and directory icons
  • Select file (optionally) or directory
  • Define the initial pointer position

Key Maps

  • Press / key to enter search mode
  • Press - key to go up (back) a directory
  • Press . key to select the current directory

Usage

This prompt is anonymous, meaning you can register this prompt with the type name you please:

inquirer.registerPrompt('fs-selector', require('inquirer-fs-selector'));
inquirer.prompt({
  type: 'fs-selector',
  // ...
})

Change fs-selector to whatever you might prefer.

Parameters

Note: allowed options written inside square brackets ([]) are optional. Others are required.

Takes type, name, message, basePath[, default, options ] properties.

See inquirer.js README for meaning of all except basePath and default.

Which are:

  • basePath the relative path from your current working directory
  • default the name of the item (string) where the pointer will be initially positioned (default: '.')
Return

An object with the following shape

{
  isDirectory: Boolean
  isFile: Boolean
  path: String // path to selected file/directory
}
Example
const inquirer = require('inquirer')
inquirer.registerPrompt('fs', require('inquirer-fs-selector'))
// ...
inquirer.prompt([{
  type: 'directory',
  name: 'fs',
  message: 'Choose a file or directory',
  basePath: './',
  options: {
    displayHidden: true,
    displayFiles: true,
    canSelectFile: true,
    icons: {
      currentDir: '\u{1F4C2}',
      // dir: '\u{1F4C1}',
      // file: '\u{1F4C4}',
    },
    // icons: false, // Do not display icons
    shouldDisplayItem: (isDir, isFile, path) => true, // display file/directory
  }
}]).then((answers) => {
  console.log(answers.fs)
})

See also example.js for a working example.

asciicast demo

Options

keydefaultdescription
displayFilestrueSet this to false if you need to hide files
displayHiddenfalseSet this to true if you to display hidden folders (and displayFiles === true)
canSelectFiletrue (if displayFiles === true)Set this to false to disable files selection
icons.currentDir'\u{1F4C2}' (📂)Set an icon for current directory
icons.dir'\u{1F4C1}' (📁)Set an icon for other directories
icons.file'\u{1F4C4}' (📄)Set an icon for files
shouldDisplayItemundefined (same as passing () => true)A callback function with the following signature: (isDirectory: boolean, isFile: boolean, fullPath: string) => boolean. Should return true to prompt the item on the list

TIP: To disable prompt icons, make icons === false.

License

MIT

Keywords

FAQs

Last updated on 20 Oct 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc