Compare commits

3 Commits

2 changed files with 49 additions and 12 deletions
+49
View File
@@ -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`
-12
View File
@@ -1,12 +0,0 @@
local M
local GithubProvider = {}
function M.init(config)
local provider = vim.deepcopy(GithubProvider)
provider.config = config
return provider
end
return M