Skip to content

Commit

Permalink
Make global proj-v2 property. Apply it elsewhere
Browse files Browse the repository at this point in the history
  • Loading branch information
Alvaro Muñoz committed Jan 15, 2024
1 parent 842e5ee commit 5f1fbf9
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 27 deletions.
7 changes: 4 additions & 3 deletions lua/octo/gh/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,9 @@ function M.get_user_name(remote_hostname)
local stdout = table.concat(job:result(), "\n")
-- Newer versions of the gh cli have a different message. See #467
local name_err = string.match(stderr, "Logged in to [^%s]+ as ([^%s]+)")
or string.match(stderr, "Logged in to [^%s]+ account ([^%s]+)")
or string.match(stderr, "Logged in to [^%s]+ account ([^%s]+)")
local name_out = string.match(stdout, "Logged in to [^%s]+ as ([^%s]+)")
or string.match(stdout, "Logged in to [^%s]+ account ([^%s]+)")
or string.match(stdout, "Logged in to [^%s]+ account ([^%s]+)")

if name_err then
return name_err
Expand All @@ -82,7 +82,8 @@ function M.setup()
}
job:sync()
local stdout = table.concat(job:result(), "\n")
local all_scopes = string.match(stdout, "- Token scopes: (.*)")
local all_scopes = string.match(stdout, " Token scopes: (.*)")
print(vim.inspect(all_scopes))
local split = vim.split(all_scopes, ", ")

for idx, split_scope in ipairs(split) do
Expand Down
22 changes: 10 additions & 12 deletions lua/octo/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,14 @@ function M.setup(user_config)
autocmds.setup()
commands.setup()
gh.setup()
if gh.has_scope { "read:project", "project" } then
_G.octo_pv2_fragment = fragments.projects_v2_fragment
else
if not config.values.suppress_missing_scope.projects_v2 then
utils.info "Cannot request projects v2, missing scope 'read:project'"
end
_G.octo_pv2_fragment = ""
end
end

function M.configure_octo_buffer(bufnr)
Expand Down Expand Up @@ -89,21 +97,11 @@ function M.load(repo, kind, number, cb)
local owner, name = utils.split_repo(repo)
local query, key

local pv2_fragment
if gh.has_scope { "read:project", "project" } then
pv2_fragment = fragments.projects_v2_fragment
else
if not config.values.suppress_missing_scope.projects_v2 then
utils.info "Cannot request projects v2, missing scope 'read:project'"
end
pv2_fragment = ""
end

if kind == "pull" then
query = graphql("pull_request_query", owner, name, number, pv2_fragment)
query = graphql("pull_request_query", owner, name, number, _G.octo_pv2_fragment)
key = "pullRequest"
elseif kind == "issue" then
query = graphql("issue_query", owner, name, number, pv2_fragment)
query = graphql("issue_query", owner, name, number, _G.octo_pv2_fragment)
key = "issue"
elseif kind == "repo" then
query = graphql("repository_query", owner, name)
Expand Down
8 changes: 4 additions & 4 deletions lua/octo/pickers/fzf-lua/previewers.lua
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,9 @@ M.issue = function(formatted_issues)
local owner, name = utils.split_repo(entry.repo)
local query
if entry.kind == "issue" then
query = graphql("issue_query", owner, name, number)
query = graphql("issue_query", owner, name, number, _G.octo_pv2_fragment)
elseif entry.kind == "pull_request" then
query = graphql("pull_request_query", owner, name, number)
query = graphql("pull_request_query", owner, name, number, _G.octo_pv2_fragment)
end
gh.run {
args = { "api", "graphql", "-f", string.format("query=%s", query) },
Expand Down Expand Up @@ -116,9 +116,9 @@ M.search = function()

local query
if kind == "issue" then
query = graphql("issue_query", owner, name, number)
query = graphql("issue_query", owner, name, number, _G.octo_pv2_fragment)
elseif kind == "pull_request" then
query = graphql("pull_request_query", owner, name, number)
query = graphql("pull_request_query", owner, name, number, octo_pv2_fragment)
end
gh.run {
args = { "api", "graphql", "-f", string.format("query=%s", query) },
Expand Down
4 changes: 2 additions & 2 deletions lua/octo/pickers/telescope/previewers.lua
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ local issue = defaulter(function(opts)
local owner, name = utils.split_repo(entry.repo)
local query
if entry.kind == "issue" then
query = graphql("issue_query", owner, name, number)
query = graphql("issue_query", owner, name, number, _G.octo_pv2_fragment)
elseif entry.kind == "pull_request" then
query = graphql("pull_request_query", owner, name, number)
query = graphql("pull_request_query", owner, name, number, _G.octo_pv2_fragment)
end
gh.run {
args = { "api", "graphql", "-f", string.format("query=%s", query) },
Expand Down
12 changes: 6 additions & 6 deletions lua/octo/utils.lua
Original file line number Diff line number Diff line change
Expand Up @@ -980,7 +980,7 @@ function M.process_patch(patch)
for _, hunk in ipairs(hunk_strings) do
local header = vim.split(hunk, "\n")[1]
local found, _, left_start, left_length, right_start, right_length =
string.find(header, "^%s*%-(%d+),(%d+)%s+%+(%d+),(%d+)%s*@@")
string.find(header, "^%s*%-(%d+),(%d+)%s+%+(%d+),(%d+)%s*@@")
if found then
table.insert(hunks, hunk)
table.insert(left_ranges, { tonumber(left_start), math.max(left_start + left_length - 1, 0) })
Expand Down Expand Up @@ -1088,7 +1088,7 @@ function M.get_pull_request_for_current_branch(cb)
local id = pr.currentBranch.id
local owner = pr.currentBranch.headRepositoryOwner.login
local name = pr.currentBranch.headRepository.name
local query = graphql("pull_request_query", owner, name, number)
local query = graphql("pull_request_query", owner, name, number, _G.octo_pv2_fragment)
gh.run {
args = { "api", "graphql", "--paginate", "--jq", ".", "-f", string.format("query=%s", query) },
cb = function(output, stderr)
Expand Down Expand Up @@ -1274,10 +1274,10 @@ function M.apply_mappings(kind, bufnr)
local conf = config.values
for action, value in pairs(conf.mappings[kind]) do
if
not M.is_blank(value)
and not M.is_blank(action)
and not M.is_blank(value.lhs)
and not M.is_blank(mappings[action])
not M.is_blank(value)
and not M.is_blank(action)
and not M.is_blank(value.lhs)
and not M.is_blank(mappings[action])
then
if M.is_blank(value.desc) then
value.desc = ""
Expand Down

0 comments on commit 5f1fbf9

Please sign in to comment.