inquirer-fs-selector
v1.5.0
Published
A filesystem prompt selector for Inquirer.js
Downloads
1,543
Maintainers
Readme
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 directorydefault
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.
Options
| key | default | description |
|---|--------|:-----------|
displayFiles
| true
| Set this to false
if you need to hide files
displayHidden
| false
| Set this to true
if you to display hidden folders (and displayFiles === true
)
canSelectFile
| true
(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
shouldDisplayItem
| undefined
(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
.