* ci: add lls-check
* ci: add lls-check to ci.yml
* ci: download lua-language-server binary
* ci: download lua-language-server binary
* ci: dummy failure to test
* Revert "ci: dummy failure to test"
This reverts commit 2bc43bad430209e32a5049a16c56710c4f6e2f7b.
* ci: ignore lls-out
* ci: better name
* ci: shellcheck nits
* ci: add luals libs and tidy
* ci: tidy
* ci: add neovim 0.9.4
* ci: add ci neovim 0.9.4 to lib path
* ci: dummy failure to test
* Revert "ci: dummy failure to test"
This reverts commit 45987335d81ec65fecc6636b339671a9a9fcdd97.
* Revert "ci: add ci neovim 0.9.4 to lib path"
This reverts commit 4f397d6ea8bbdf6e808f9dc9db5ecbae291d8cd4.
* Revert "ci: add neovim 0.9.4"
This reverts commit 46fd1b368d27a1892b55381691723db3b30a7527.
* ci: action downloads and installs luals
* ci: remove workspaces from luals
* ci: consistent script naming
* ci: add quality to contributing
* ci: consistent script naming
* ci: add lsp to diagnostics
* ci: temporary find to enumerate home
* ci: add VIMRUNTIME for lls
* ci: temporary find to enumerate home
* ci: temporary find to enumerate home
* ci: remove temporary find to enumerate home
* ci: correct VIMRUNTIME
* ci: add ${3rd}/luv/library
* ci: note VIMRUNTIME override
* ci: add Makefile
* ci: add Makefile
* ci: add Makefile
* ci: add Makefile
* ci: document checks and fixes
* ci: add help check
* ci: add help check
* ci: dummy help failure
* Revert "ci: dummy help failure"
This reverts commit c50cceaa4a.
* ci: document checks and fixes
* ci: document checks and fixes
* ci: matrix nvim version
* ci: matrix nvim version
* Revert "ci: matrix nvim version"
This reverts commit fcef6a11e9.
* Revert "ci: matrix nvim version"
This reverts commit a8cb50d39d.
* ci: matrix nvim version from env
* ci: matrix nvim version from env
* ci: matrix nvim version from env
* ci: matrix nvim version
* ci: matrix nvim version
* ci: matrix per job
* ci: matrix per job
* ci: many lua versions
* ci: move doc to style
* ci: tidy ci and contributing
84 lines
2.2 KiB
Markdown
84 lines
2.2 KiB
Markdown
# Contributing to `nvim-tree.lua`
|
|
|
|
Thank you for contributing.
|
|
|
|
See [Development](https://github.com/nvim-tree/nvim-tree.lua/wiki/Development) for environment setup, tips and tools.
|
|
|
|
# Tools
|
|
|
|
Following are used during CI and strongly recommended during local development.
|
|
|
|
Lint: [luacheck](https://github.com/lunarmodules/luacheck/)
|
|
|
|
Style: [StyLua](https://github.com/JohnnyMorganz/StyLua)
|
|
|
|
Language server: [luals](https://luals.github.io)
|
|
|
|
You can install them via you OS package manager e.g. `pacman`, `brew` or other via other package managers such as `cargo` or `luarocks`
|
|
|
|
# Quality
|
|
|
|
The following quality checks are mandatory and are performed during CI. They run on the entire `lua` directory and return 1 on any failure.
|
|
|
|
You can run them all via `make` or `make all`
|
|
|
|
You can setup git hooks to run all checks by running `scripts/setup-hooks.sh`
|
|
|
|
## lint
|
|
|
|
1. Runs luacheck quietly using `.luacheck` settings
|
|
|
|
```sh
|
|
make lint
|
|
```
|
|
|
|
## style
|
|
|
|
1. Runs stylua using `.stylua.toml` settings
|
|
1. Runs `scripts/doc-comments.sh` to validate annotated documentation
|
|
|
|
```sh
|
|
make style
|
|
```
|
|
|
|
You can automatically fix stylua issues via:
|
|
|
|
```sh
|
|
make style-fix
|
|
```
|
|
|
|
## check
|
|
|
|
1. Runs the checks that the LSP lua language server runs inside nvim using `.luarc.json` via `scripts/luals-check.sh`
|
|
|
|
```sh
|
|
make check
|
|
```
|
|
|
|
Assumes `$VIMRUNTIME` is `/usr/share/nvim/runtime`. Adjust as necessary e.g.
|
|
|
|
```sh
|
|
VIMRUNTIME="/my/path/to/runtime" make check
|
|
```
|
|
|
|
# Adding New Actions
|
|
|
|
To add a new action, add a file in `actions/name-of-the-action.lua`. You should export a `setup` function if some configuration is needed.
|
|
|
|
Once you did, you should run `make help-update`
|
|
|
|
# Documentation
|
|
|
|
When adding new options, you should declare the defaults in the main `nvim-tree.lua` file.
|
|
|
|
Documentation for options should also be added to `nvim-tree-opts` in `doc/nvim-tree-lua.txt`
|
|
|
|
# Pull Request
|
|
|
|
Please reference any issues in the description e.g. "resolves #1234".
|
|
|
|
Please check "allow edits by maintainers" to allow nvim-tree developers to make small changes such as documentation tweaks.
|
|
|
|
A test case to reproduce the issue is required. A ["Clean Room" Replication](https://github.com/nvim-tree/nvim-tree.lua/wiki/Troubleshooting#clean-room-replication) is preferred.
|
|
|