.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / enquirer / lib / prompts / sort.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/enquirer/lib/prompts/sort.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/enquirer/lib/prompts/sort.js
new file mode 100644 (file)
index 0000000..b779b9b
--- /dev/null
@@ -0,0 +1,37 @@
+'use strict';
+
+const hint = '(Use <shift>+<up/down> to sort)';
+const Prompt = require('./select');
+
+class Sort extends Prompt {
+  constructor(options) {
+    super({ ...options, reorder: false, sort: true, multiple: true });
+    this.state.hint = [this.options.hint, hint].find(this.isValue.bind(this));
+  }
+
+  indicator() {
+    return '';
+  }
+
+  async renderChoice(choice, i) {
+    let str = await super.renderChoice(choice, i);
+    let sym = this.symbols.identicalTo + ' ';
+    let pre = (this.index === i && this.sorting) ? this.styles.muted(sym) : '  ';
+    if (this.options.drag === false) pre = '';
+    if (this.options.numbered === true) {
+      return pre + `${i + 1} - ` + str;
+    }
+    return pre + str;
+  }
+
+  get selected() {
+    return this.choices;
+  }
+
+  submit() {
+    this.value = this.choices.map(choice => choice.value);
+    return super.submit();
+  }
+}
+
+module.exports = Sort;