NeoVim plugin for interacting with Agda written in Lua
(Note: Sorry for the lack of updates lately, currently I'm waiting for the following issue: agda/agda#5665 to be addressed, but in the meantime I might switch to the Lisp backend, which could be a bit painful in terms of parsing, but at least would enable the further development of this plugin.)
- neovim (≥ 0.5.0)
- plenary.nvim
- agda (≥ 2.6.2)
Plug 'nvim-lua/plenary.nvim'
Plug 'isti115/agda.nvim'
By default the usual agda actions are mapped to the conventional keys, preceded by <LocalLeader> (\ by default in NeoVim), such as:
\l- Load\f- Next goal (Forward)\c- Case split
and so on. See the source for all available actions!
| Option | Possible Values (Defaults in bold) |
|---|---|
| g:agda_theme | dark, light |
| g:agda_keymap | vim, emacs, none |
- Goal types
- Version info
- Case splitting
- Context information
- Syntax highlighting
- Refinement
- Auto
- Infer type of goal contents
- Jumping between goals
- Expression normalization and type inference
- Give contents to goals
*: (more like is sort of working, but everything is still experimental...)
- Code quality improvements
- Inline case split
- Go to definition
Note: Unicode input is not yet implemented, use digraphs! Some examples for special characters that you can enter by default:
- ∀ =
^KFA("For All") - ∃ =
^KTE("There Exists") - → =
^K-> - λ =
^Kl* - ≡ =
^K=3 - ¬ =
^KNO
- u/algebrartist for help with the development on reddit and testing
- banacorn for agda-mode-vscode and the description of the communication protocol
- jliptrap for doing initial testing and reporting issues
