Skip to content

Aljendro/nvim-aws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NVIM-AWS Plugin

NOTE: Plugin is a WIP, nothing useful can be done with it yet.

The below content is a nice to have that have not been implemented yet.

Features

  • Autogenerated thin-wrappers around most AWS CLI services (CloudWatch, DynamoDB, EC2, Lambda, Logs, S3, SNS, SQS, …).
  • Pre-packaged interactive “workflows” for the most common tasks:
    • CloudWatch Logs: browse groups/streams, live-tail, apply filters, open AWS-Console link.
    • DynamoDB: quick table scan/get-item helpers.
    • S3: bucket/object browser and object viewer.
  • Lua utilities that make it trivial to execute any AWS command from Neovim and capture the structured JSON response.
  • Batteries-included test-suite (Busted) and helper scripts for localstack-based testing.

Installation

Using lazy.nvim:

{
  "your-name/nvim-aws",
  dependencies = { "nvim-lua/plenary.nvim" },
  config = function()
    require("nvim-aws").setup()
  end,
}

Configuration

(The plugin works out-of-the-box with the AWS environment variables in your shell.
The block below shows the optional explicit setup call.)

require('nvim-aws').setup({
  aws = {
    aws_endpoint_url = 'http://localhost:4566', -- e.g. localstack
    region           = 'us-east-1',
    profile          = 'default',
  },
})

Quick start

:AWSLogs – start CloudWatch Logs workflow
:AWSDynamoDB – open DynamoDB workflow
:AWSS3 – open S3 workflow

Run :help nvim-aws for the complete command list.

Development

Regenerating Auto-generated Wrappers

The plugin includes auto-generated thin wrappers around AWS CLI services. To regenerate these wrappers:

  1. Set up Python virtual environment:

    cd codegen
    python3 -m venv venv
    source venv/bin/activate
    pip install -e .
  2. Run the code generation script:

    python src/extract_all_services_cli.py

This will regenerate all Lua wrappers in lua/nvim-aws/autogen_wrappers/ and their corresponding tests in lua/spec/nvim-aws/autogen_wrappers/.

Requirements: Python 3.13+, AWS CLI installed and configured

Contributing

Pull requests and issues are welcome.
Run make test (requires docker & localstack) before opening a PR.

Nvim plugin created to interact with aws services.

About

WIP: Creating AWS CLI integration with the Nvim Editor

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages