|
|
|
@@ -0,0 +1,49 @@
|
|
|
|
|
# How chai should work
|
|
|
|
|
|
|
|
|
|
## 1. chai buffers URIs:
|
|
|
|
|
Chai buffer uirs should be
|
|
|
|
|
- `chai://PROVIDER/USER/REPO/OBJECT`
|
|
|
|
|
- `chai://git:remote/OBJECT`
|
|
|
|
|
- `chai://OBJECT` - (shortcut for `chai://git:origin/OBJECT`)
|
|
|
|
|
|
|
|
|
|
## 2. Objects
|
|
|
|
|
- *nothing*: repo
|
|
|
|
|
- `/issues`: list of issues
|
|
|
|
|
- `/issue/ID`: for issue number *ID*
|
|
|
|
|
- `/issue/new`: for creating new issue
|
|
|
|
|
- `/prs`: list of pull/merge requests
|
|
|
|
|
- `/pr/ID`: for pull request number *ID*
|
|
|
|
|
- `/pr/new`: for creating new pull requests
|
|
|
|
|
|
|
|
|
|
## 3. How buffers should work
|
|
|
|
|
|
|
|
|
|
## 3.1. `/issues` and `/prs`:
|
|
|
|
|
should show list of issues/PRs, you should be able to click on any issue/PR to see/edit it
|
|
|
|
|
|
|
|
|
|
## 3.2. `/issues/ID` and `/pr/ID`
|
|
|
|
|
should show info in first block header in second block, in another block description and under it list of comments
|
|
|
|
|
|
|
|
|
|
## 3.3. `/issues/new` and `/prs/new`
|
|
|
|
|
in first block metadata and info, in second block name in third block description (shows diffs dynamicly)
|
|
|
|
|
|
|
|
|
|
## 3.4. *nothing*
|
|
|
|
|
should show repo name, list of contributors, keybinds for showing issues and prs etc
|
|
|
|
|
|
|
|
|
|
## 4. `:Chai` command
|
|
|
|
|
creates `chai://` buffer in new neovim tab
|
|
|
|
|
|
|
|
|
|
syntax should be
|
|
|
|
|
|
|
|
|
|
`:Chai *repo info* *object info*`
|
|
|
|
|
|
|
|
|
|
so it could be
|
|
|
|
|
|
|
|
|
|
`:Chai kpgpmc femkromek chai.nvim issues 1`
|
|
|
|
|
|
|
|
|
|
or
|
|
|
|
|
|
|
|
|
|
`:Chai git:origin issues 1`
|
|
|
|
|
|
|
|
|
|
or
|
|
|
|
|
|
|
|
|
|
`:Chai issues 1`
|