| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 9237ef8 commit 1c00875
3 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -792,7 +792,7 @@ function complete(line, callback) { | |||
| 792 | 792 | completeOn = match[1]; | |
| 793 | 793 | var subdir = match[2] || ''; | |
| 794 | 794 | filter = match[1]; | |
| 795 | - var dir, files, f, name, base, ext, abs, subfiles, s; | ||
| 795 | + var dir, files, f, name, base, ext, abs, subfiles, s, isDirectory; | ||
| 796 | 796 | group = []; | |
| 797 | 797 | let paths = []; | |
| 798 | 798 | ||
@@ -821,23 +821,26 @@ function complete(line, callback) { | |||
| 821 | 821 | // Exclude versioned names that 'npm' installs. | |
| 822 | 822 | continue; | |
| 823 | 823 | } | |
| 824 | - if (exts.indexOf(ext) !== -1) { | ||
| 825 | - if (!subdir || base !== 'index') { | ||
| 826 | - group.push(subdir + base); | ||
| 827 | - } | ||
| 828 | - } else { | ||
| 829 | - abs = path.resolve(dir, name); | ||
| 824 | + abs = path.resolve(dir, name); | ||
| 825 | + try { | ||
| 826 | + isDirectory = fs.statSync(abs).isDirectory(); | ||
| 827 | + } catch (e) { | ||
| 828 | + continue; | ||
| 829 | + } | ||
| 830 | + if (isDirectory) { | ||
| 831 | + group.push(subdir + name + '/'); | ||
| 830 | 832 | try { | |
| 831 | - if (fs.statSync(abs).isDirectory()) { | ||
| 832 | - group.push(subdir + name + '/'); | ||
| 833 | - subfiles = fs.readdirSync(abs); | ||
| 834 | - for (s = 0; s < subfiles.length; s++) { | ||
| 835 | - if (indexRe.test(subfiles[s])) { | ||
| 836 | - group.push(subdir + name); | ||
| 837 | - } | ||
| 838 | - } | ||
| 833 | + subfiles = fs.readdirSync(abs); | ||
| 834 | + } catch (e) { | ||
| 835 | + continue; | ||
| 836 | + } | ||
| 837 | + for (s = 0; s < subfiles.length; s++) { | ||
| 838 | + if (indexRe.test(subfiles[s])) { | ||
| 839 | + group.push(subdir + name); | ||
| 839 | 840 | } | |
| 840 | - } catch (e) {} | ||
| 841 | + } | ||
| 842 | + } else if (exts.includes(ext) && (!subdir || base !== 'index')) { | ||
| 843 | + group.push(subdir + base); | ||
| 841 | 844 | } | |
| 842 | 845 | } | |
| 843 | 846 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -279,6 +279,16 @@ testMe.complete('require(\'n', common.mustCall(function(error, data) { | |||
| 279 | 279 | }); | |
| 280 | 280 | }); | |
| 281 | 281 | ||
| 282 | + { | ||
| 283 | + const path = '../fixtures/repl-folder-extensions/f'; | ||
| 284 | + testMe.complete(`require('${path}`, common.mustCall((err, data) => { | ||
| 285 | + assert.ifError(err); | ||
| 286 | + assert.strictEqual(data.length, 2); | ||
| 287 | + assert.strictEqual(data[1], path); | ||
| 288 | + assert.ok(data[0].includes('../fixtures/repl-folder-extensions/foo.js')); | ||
| 289 | + })); | ||
| 290 | + } | ||
| 291 | + | ||
| 282 | 292 | process.chdir(cwd); | |
| 283 | 293 | } | |
| 284 | 294 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments