From ddfa6451220265a299c733d44d7f882ed37c48d8 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 12 Jan 2024 12:42:01 -0800 Subject: [PATCH] Fix issue where `symbol-provider-ctags` used the wrong package root --- packages/symbol-provider-ctags/lib/ctags-provider.js | 4 ++-- .../spec/symbol-provider-ctags-spec.js | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/symbol-provider-ctags/lib/ctags-provider.js b/packages/symbol-provider-ctags/lib/ctags-provider.js index ea8ad638f..6d587ce77 100644 --- a/packages/symbol-provider-ctags/lib/ctags-provider.js +++ b/packages/symbol-provider-ctags/lib/ctags-provider.js @@ -62,11 +62,11 @@ class CtagsProvider { const {resourcePath} = atom.getLoadSettings(); const currentFileWasRequiredFromSnapshot = !fs.isAbsolute(__dirname); const packageRoot = currentFileWasRequiredFromSnapshot - ? path.join(resourcePath, 'node_modules', 'symbols-view') + ? path.join(resourcePath, 'node_modules', 'symbol-provider-ctags') : path.resolve(__dirname, '..'); if (path.extname(resourcePath) === '.asar' && packageRoot.indexOf(resourcePath) === 0) { - return path.join(`${resourcePath}.unpacked`, 'node_modules', 'symbols-view'); + return path.join(`${resourcePath}.unpacked`, 'node_modules', 'symbol-provider-ctags'); } else { return packageRoot; } diff --git a/packages/symbol-provider-ctags/spec/symbol-provider-ctags-spec.js b/packages/symbol-provider-ctags/spec/symbol-provider-ctags-spec.js index ec4fea27a..c63d1b8bc 100644 --- a/packages/symbol-provider-ctags/spec/symbol-provider-ctags-spec.js +++ b/packages/symbol-provider-ctags/spec/symbol-provider-ctags-spec.js @@ -52,6 +52,14 @@ describe('CTagsProvider', () => { ); }); + it('identifies its project root correctly', () => { + let root = provider.getPackageRoot(); + expect(root).toContain("symbol-provider-ctags"); + expect( + fs.existsSync(path.join(root, "vendor", "ctags-darwin")) + ).toBe(true); + }); + describe('when tags can be generated for a file', () => { beforeEach(async () => { await atom.workspace.open(directory.resolve('sample.js'));