diff --git a/README.md b/README.md index 3d3e608..a726ad0 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,37 @@ # Serverless Navigator -VS Code extension that adds smart navigation to `serverless.yml` files. Handler values become clickable links that open the referenced source file and jump straight to the exported function. Schema references using `${file(...)}` also become navigable links to the JSON schema file. +[![CI](https://github.com/andreluizweb/serverless-navigator/actions/workflows/ci.yml/badge.svg)](https://github.com/andreluizweb/serverless-navigator/actions/workflows/ci.yml) +[![VS Code Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/andreluizbatista.serverless-navigator)](https://marketplace.visualstudio.com/items?itemName=andreluizbatista.serverless-navigator) +[![VS Code Marketplace Installs](https://img.shields.io/visual-studio-marketplace/i/andreluizbatista.serverless-navigator)](https://marketplace.visualstudio.com/items?itemName=andreluizbatista.serverless-navigator) +[![Open VSX Version](https://img.shields.io/open-vsx/v/andreluizbatista/serverless-navigator)](https://open-vsx.org/extension/andreluizbatista/serverless-navigator) -![Demo](src/assets/demo.gif) +VS Code extension that adds smart navigation to `serverless.yml` files. Handler values become clickable links that open the referenced source file and jump straight to the exported function. Schema references using `${file(...)}` also become navigable links to the JSON schema file. ## Features -- **Clickable links** on `handler:` values — jump to the file and exported function -- **Clickable links** on `schema: ${file(...)}` — open the JSON schema directly -- **CodeLens buttons** above handler and schema lines for quick navigation -- **Variable resolution** — supports `${self:...}`, `${opt:...}`, `${env:...}` -- **Monorepo support** — resolves paths relative to both `serverless.yml` and workspace root -- **Zero runtime dependencies** — lightweight and fast +### Handler Navigation + +Bidirectional navigation between `serverless.yml` and handler functions — click a handler value to jump to the source file, or use the CodeLens above a function to navigate back to its definition in `serverless.yml`. + +![Handler Navigation](src/assets/link-handler-function.gif) + +### Schema Navigation -## How it works +Clickable links on `schema: ${file(...)}` references — open the JSON schema file directly. -Open any `serverless.yml` or `serverless.yaml` file and you'll see: +![Schema Navigation](src/assets/link-schema.gif) -1. Handler values are underlined and clickable — clicking navigates to the source file and positions the cursor at the exported function -2. CodeLens buttons appear above each handler line showing the file path and export name -3. Schema `${file(...)}` references are clickable links to the JSON schema file +### CloudWatch Log Insights + +CodeLens button to open CloudWatch Log Insights filtered by the Lambda function's log group. On first use, you can pick an existing stage or enter a custom one — your selection is saved for future queries. + +![CloudWatch Log Insights](src/assets/cloudwatch.gif) + +### More + +- **Variable resolution** — supports `${self:...}`, `${opt:...}`, `${env:...}` +- **Monorepo support** — resolves paths relative to both `serverless.yml` and workspace root +- **Zero runtime dependencies** — lightweight and fast ## Supported patterns diff --git a/package-lock.json b/package-lock.json index f583ff6..77c0de3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "serverless-navigator", - "version": "0.3.2", + "version": "0.3.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "serverless-navigator", - "version": "0.3.2", + "version": "0.3.3", "devDependencies": { "@types/node": "^20.0.0", "@types/vscode": "^1.85.0", diff --git a/package.json b/package.json index 349c274..71a10c8 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "serverless-navigator", "displayName": "Serverless Navigator", "description": "Navigate from serverless.yml handler and schema definitions directly to source files and JSON schemas with clickable links and CodeLens.", - "version": "0.3.2", + "version": "0.3.3", "publisher": "andreluizbatista", "license": "MIT", "icon": "src/assets/icon.png", diff --git a/src/assets/cloudwatch.gif b/src/assets/cloudwatch.gif new file mode 100644 index 0000000..752383a Binary files /dev/null and b/src/assets/cloudwatch.gif differ diff --git a/src/assets/demo.gif b/src/assets/demo.gif deleted file mode 100644 index bb6c9c9..0000000 Binary files a/src/assets/demo.gif and /dev/null differ diff --git a/src/assets/link-handler-function.gif b/src/assets/link-handler-function.gif new file mode 100644 index 0000000..5308148 Binary files /dev/null and b/src/assets/link-handler-function.gif differ diff --git a/src/assets/link-schema.gif b/src/assets/link-schema.gif new file mode 100644 index 0000000..7c55f34 Binary files /dev/null and b/src/assets/link-schema.gif differ