From 4f5229475c748f733d592477b01b9934b4510299 Mon Sep 17 00:00:00 2001 From: Kieran Ryan Date: Mon, 13 May 2024 20:25:37 +0000 Subject: [PATCH 1/3] Optimise default glue paths in settings --- README.md | 14 ++------------ package.json | 16 +++------------- 2 files changed, 5 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index bd76bd77..91341fb3 100644 --- a/README.md +++ b/README.md @@ -178,18 +178,8 @@ Default value: { "cucumber.glue": [ "*specs*/**/*.cs", - "features/**/*.js", - "features/**/*.jsx", - "features/**/*.php", - "features/**/*.py", - "features/**/*.rs", - "features/**/*.rb", - "features/**/*.ts", - "features/**/*.tsx", - "features/**/*_test.go", - "src/test/**/*.java", - "tests/**/*.py", - "tests/**/*.rs" + "features/**/*{.js,.jsx,.php,.py,.rb,.rs,.ts,.tsx,_test.go,.java}", + "tests/**/*{.py,.rs}" ] } ``` diff --git a/package.json b/package.json index 94164be9..fa016d82 100644 --- a/package.json +++ b/package.json @@ -61,23 +61,13 @@ ] }, "cucumber.glue": { - "markdownDescription": "The `cucumber.glue` setting overrides where the extension\nshould look for source code where step definitions and\nparameter types are defined.\n\nIf no glue files are found, [autocomplete](#autocomplete)\nwill not work, and all Gherkin steps will be underlined as\nundefined. [Generate step definition](#generate-step-definition)\nwill not work either.\n\nDefault value:\n\n```json\n{\n \"cucumber.glue\": [\n \"*specs*/**/*.cs\",\n \"features/**/*.js\",\n \"features/**/*.jsx\",\n \"features/**/*.php\",\n \"features/**/*.py\",\n \"features/**/*.rs\",\n \"features/**/*.rb\",\n \"features/**/*.ts\",\n \"features/**/*.tsx\",\n \"features/**/*_test.go\",\n \"src/test/**/*.java\",\n \"tests/**/*.py\",\n \"tests/**/*.rs\"\n ]\n}\n```", + "markdownDescription": "The `cucumber.glue` setting overrides where the extension\nshould look for source code where step definitions and\nparameter types are defined.\n\nIf no glue files are found, [autocomplete](#autocomplete)\nwill not work, and all Gherkin steps will be underlined as\nundefined. [Generate step definition](#generate-step-definition)\nwill not work either.\n\nDefault value:\n\n```json\n{\n \"cucumber.glue\": [\n \"*specs*/**/*.cs\",\n \"features/**/*{.js,.jsx,.php,.py,.rb,.rs,.ts,.tsx,_test.go,.java}\",\n \"tests/**/*{.py,.rs}\"\n ]\n}\n```", "type": "array", "required": false, "default": [ "*specs*/**/*.cs", - "features/**/*.js", - "features/**/*.jsx", - "features/**/*.php", - "features/**/*.py", - "features/**/*.rs", - "features/**/*.rb", - "features/**/*.ts", - "features/**/*.tsx", - "features/**/*_test.go", - "src/test/**/*.java", - "tests/**/*.py", - "tests/**/*.rs" + "features/**/*{.js,.jsx,.php,.py,.rb,.rs,.ts,.tsx,_test.go,.java}", + "tests/**/*{.py,.rs}" ] }, "cucumber.parameterTypes": { From b00c98db38864b3db857f099090950c164d9fc72 Mon Sep 17 00:00:00 2001 From: Kieran Ryan Date: Mon, 13 May 2024 20:35:42 +0000 Subject: [PATCH 2/3] Changelog for default glue paths optimisation --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e5bd4257..c2331c39 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +### Fixed +- Optimised default glue paths for improved indexing performance ([#232](https://github.com/cucumber/vscode/pull/232)) ## [1.10.0] - 2024-04-21 ### Added From 60c058043b8f030a3cd5fca82fac9c9af46e8761 Mon Sep 17 00:00:00 2001 From: Kieran Ryan Date: Mon, 13 May 2024 20:46:09 +0000 Subject: [PATCH 3/3] Reorder paths to check features directory first --- README.md | 6 +++--- package.json | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 91341fb3..61789c00 100644 --- a/README.md +++ b/README.md @@ -150,8 +150,8 @@ Default value: ```json { "cucumber.features": [ - "src/test/**/*.feature", "features/**/*.feature", + "src/test/**/*.feature", "tests/**/*.feature", "*specs*/**/*.feature" ] @@ -177,9 +177,9 @@ Default value: ```json { "cucumber.glue": [ - "*specs*/**/*.cs", "features/**/*{.js,.jsx,.php,.py,.rb,.rs,.ts,.tsx,_test.go,.java}", - "tests/**/*{.py,.rs}" + "tests/**/*{.py,.rs}", + "*specs*/**/*.cs" ] } ``` diff --git a/package.json b/package.json index fa016d82..98e5e90d 100644 --- a/package.json +++ b/package.json @@ -50,24 +50,24 @@ "title": "Cucumber", "properties": { "cucumber.features": { - "markdownDescription": "The `cucumber.features` setting overrides where the extension\nshould look for `.feature` files.\n\nIf no feature files are found, [autocomplete](#autocomplete)\nwill not work.\n\nDefault value:\n\n```json\n{\n \"cucumber.features\": [\n \"src/test/**/*.feature\",\n \"features/**/*.feature\",\n \"tests/**/*.feature\",\n \"*specs*/**/*.feature\"\n ]\n}\n```", + "markdownDescription": "The `cucumber.features` setting overrides where the extension\nshould look for `.feature` files.\n\nIf no feature files are found, [autocomplete](#autocomplete)\nwill not work.\n\nDefault value:\n\n```json\n{\n \"cucumber.features\": [\n \"features/**/*.feature\",\n \"src/test/**/*.feature\",\n \"tests/**/*.feature\",\n \"*specs*/**/*.feature\"\n ]\n}\n```", "type": "array", "required": false, "default": [ - "src/test/**/*.feature", "features/**/*.feature", + "src/test/**/*.feature", "tests/**/*.feature", "*specs*/**/*.feature" ] }, "cucumber.glue": { - "markdownDescription": "The `cucumber.glue` setting overrides where the extension\nshould look for source code where step definitions and\nparameter types are defined.\n\nIf no glue files are found, [autocomplete](#autocomplete)\nwill not work, and all Gherkin steps will be underlined as\nundefined. [Generate step definition](#generate-step-definition)\nwill not work either.\n\nDefault value:\n\n```json\n{\n \"cucumber.glue\": [\n \"*specs*/**/*.cs\",\n \"features/**/*{.js,.jsx,.php,.py,.rb,.rs,.ts,.tsx,_test.go,.java}\",\n \"tests/**/*{.py,.rs}\"\n ]\n}\n```", + "markdownDescription": "The `cucumber.glue` setting overrides where the extension\nshould look for source code where step definitions and\nparameter types are defined.\n\nIf no glue files are found, [autocomplete](#autocomplete)\nwill not work, and all Gherkin steps will be underlined as\nundefined. [Generate step definition](#generate-step-definition)\nwill not work either.\n\nDefault value:\n\n```json\n{\n \"cucumber.glue\": [\n \"features/**/*{.js,.jsx,.php,.py,.rb,.rs,.ts,.tsx,_test.go,.java}\",\n \"tests/**/*{.py,.rs}\",\n \"*specs*/**/*.cs\"\n ]\n}\n```", "type": "array", "required": false, "default": [ - "*specs*/**/*.cs", "features/**/*{.js,.jsx,.php,.py,.rb,.rs,.ts,.tsx,_test.go,.java}", - "tests/**/*{.py,.rs}" + "tests/**/*{.py,.rs}", + "*specs*/**/*.cs" ] }, "cucumber.parameterTypes": {