Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/joenye/coc-cfn-lint
Coc (coc.nvim) extension to lint CloudFormation via cfn-python-lint
https://github.com/joenye/coc-cfn-lint
cfn cfn-lint cfn-python-lint cloudformation coc coc-extensions coc-nvim extension lint linter linting lsp lsp-server neovim nvim vim
Last synced: about 1 month ago
JSON representation
Coc (coc.nvim) extension to lint CloudFormation via cfn-python-lint
- Host: GitHub
- URL: https://github.com/joenye/coc-cfn-lint
- Owner: joenye
- License: mit
- Created: 2020-05-10T14:32:31.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-03-15T02:24:38.000Z (over 1 year ago)
- Last Synced: 2024-07-11T06:37:00.045Z (about 2 months ago)
- Topics: cfn, cfn-lint, cfn-python-lint, cloudformation, coc, coc-extensions, coc-nvim, extension, lint, linter, linting, lsp, lsp-server, neovim, nvim, vim
- Language: TypeScript
- Homepage:
- Size: 1.05 MB
- Stars: 12
- Watchers: 2
- Forks: 3
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# coc-cfn-lint
Coc ([coc.nvim](https://github.com/neoclide/coc.nvim)) extension for [cfn-python-lint](https://github.com/aws-cloudformation/cfn-python-lint).
[![version](https://img.shields.io/npm/v/coc-cfn-lint)](https://npmjs.org/package/coc-cfn-lint "View this project on npm")
[![license](https://img.shields.io/npm/l/coc-cfn-lint)](./LICENSE "View this project's LICENSE")## Requirements
- [coc.nvim](https://github.com/neoclide/coc.nvim)
- [cfn-python-lint](https://github.com/aws-cloudformation/cfn-python-lint)## Install
Inside Vim/Neovim, run:
```vim
:CocInstall coc-cfn-lint
```## Features
- Lints JSON/YAML [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) or [SAM](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-specification.html) templates upon open/save
- Will attempt to run `cfn-lint` from your [project root directory](https://github.com/neoclide/coc.nvim/wiki/Using-workspaceFolders#resolve-workspace-folder), in order to detect any project-specific configuration (`.cfnlintrc`, `.cfnlintrc.yaml`, or `.cfnlintrc.yml`)## Configuration
This extension can be configured via these top-level configuration items. Live reload of settings is also supported, which means you can change these settings without needing to reload the file/editor.
| Setting | Default | Description
| ------- | ------- | ----------- |
| `cfnlint.path` | `"cfn-lint"` | Path to cfn-lint
| `cfnlint.lintOnOpen` | `true` | Enable linting upon opening a valid CloudFormation JSON/YAML file
| `cfnlint.lintOnSave` | `true` | Enable linting upon saving a valid CloudFormation JSON/YAML file
| `cfnlint.detectCfnRegExps` | `[]` | Array of RegExp strings. If any of these match in a JSON/YAML file, that file will be linted. This can be useful to detect non-standard CloudFormation/SAM templates, as the built-in checks look for a standard CloudFormation/SAM template
| `cfnlint.ignoreRulesRegExps` | `[]` | Array of RegExp strings. If any of these match a cfn-lint result message, that result is ignored. This can be useful alongside `cfnlint.ignoreRules`
| `cfnlint.awsRegions` | `[]` | Array of AWS regions to test against. Defaults to all regions. This is useful because certain rules (such as "E3001") check whether resources are supported in the given regions
| `cfnlint.ignoreBadTemplate` | `false` | Ignore bad template errors
| `cfnlint.ignoreRules` | `[]` | Array of rule ID prefixes to ignore (e.g. ["E3", "E1029"])
| `cfnlint.includeRules` | `[]` | Array of rule ID prefixes to include. Some checks, such as Informational checks (beginning with "I") are disabled by default, and can be enabled by setting this to ["I"]
`cfnlint.customRules` | `[]` | Array of paths containing additional rules. These can be either directories containing Python file(s), or an import path to a Python module
| `cfnlint.includeExperimentalRules` | `false` | Whether to include experimental rules
| `cfnlint.ruleConfigurations` | `[]` | Array of rule configurations (e.g. ["E3012:strict=false"]
| `cfnlint.overrideSpecPath` | `null` | Path to a CloudFormation resource specification override file## License
MIT