From ba815e71a7a51dedda1032bf1fbd55984827c2d6 Mon Sep 17 00:00:00 2001 From: Dolev Hadar Date: Fri, 31 Jan 2025 20:31:48 +0200 Subject: [PATCH 1/7] chore(makefile): mock data --- Makefile | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Makefile b/Makefile index c6d92582..f37471cf 100644 --- a/Makefile +++ b/Makefile @@ -25,3 +25,12 @@ docs-prepare: .PHONY: docs docs: cd docs && hugo server + +.PHONY: mock +mock: + killgrave --config ./imposters/config.yml & + FF_MOCK_DATA=true go run . --debug + +.PHONY: mock-stop +mock-stop: + killall killgrave From 5135027e845dbe2ee1b78d174aa7b3c710cee4c9 Mon Sep 17 00:00:00 2001 From: Dolev Hadar Date: Sat, 1 Feb 2025 15:47:30 +0200 Subject: [PATCH 2/7] chore: reduce size of pr.json --- imposters/pr.json | 10504 +------------------------------------------- 1 file changed, 2 insertions(+), 10502 deletions(-) diff --git a/imposters/pr.json b/imposters/pr.json index 13911e32..bbecd152 100644 --- a/imposters/pr.json +++ b/imposters/pr.json @@ -10,10507 +10,7 @@ "login": "lewis6991" }, "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", - "url": "https://github.com/neovim/neovim/pull/31944", - "state": "OPEN", - "mergeable": "MERGEABLE", - "reviewDecision": "", - "additions": 60, - "deletions": 28, - "headRefName": "feat/optiontypemeta", - "baseRefName": "master", - "headRepository": { - "name": "neovim" - }, - "headRef": { - "name": "feat/optiontypemeta" - }, - "repository": { - "name": "neovim", - "nameWithOwner": "neovim/neovim", - "isArchived": false - }, - "assignees": { - "nodes": [] - }, - "comments": { - "nodes": [ - { - "author": { - "login": "zeertzjq" - }, - "body": "The addition of empty strings in `values` may lead to undesired behavior in cmdline completion:\r\n![Screenshot](https://github.com/user-attachments/assets/b770904b-5544-49a0-b815-31b51371d07c)\r\n\r\nNot selecting any entry already leads to a empty string, so there is now an redundant empty menu entry.", - "updatedAt": "2025-01-10T10:50:53Z" - } - ], - "totalCount": 1 - }, - "latestReviews": { - "nodes": [] - }, - "reviewThreads": { - "nodes": [] - }, - "isDraft": true, - "commits": { - "nodes": [ - { - "commit": { - "deployments": { - "nodes": [] - }, - "statusCheckRollup": { - "contexts": { - "totalCount": 31, - "nodes": [ - { - "__typename": "CheckRun", - "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", - "checkSuite": { - "creator": { - "login": "" - }, - "workflowRun": { - "workflow": { - "name": "" - } - } - } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } - } - ] - } - } - } - } - ] - }, - "labels": { - "nodes": [ - { - "color": "C5DEF5", - "name": "options" - }, - { - "color": "0052CC", - "name": "ci:skip-news" - } - ] - }, - "mergeStateStatus": "BLOCKED" - }, - { - "number": 31944, - "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", - "author": { - "login": "lewis6991" - }, - "updatedAt": "2025-01-10T11:42:47Z", + "createdAt": "2025-01-09T11:42:47Z", "url": "https://github.com/neovim/neovim/pull/31944", "state": "OPEN", "mergeable": "MERGEABLE", @@ -10609,7 +109,7 @@ "mergeStateStatus": "BLOCKED" } ], - "issueCount": 22941, + "issueCount": 500, "pageInfo": { "hasNextPage": true, "startCursor": "Y3Vyc29yOjE=", From b00073bc4b3806585901fa33af30176539e1b840 Mon Sep 17 00:00:00 2001 From: Dolev Hadar Date: Sat, 1 Feb 2025 15:56:59 +0200 Subject: [PATCH 3/7] chore: better requested changes --- imposters/pr.json | 66 +++++++++++++++++++++++++++++----- ui/components/branch/branch.go | 2 +- ui/components/pr/pr.go | 10 +++--- 3 files changed, 64 insertions(+), 14 deletions(-) diff --git a/imposters/pr.json b/imposters/pr.json index bbecd152..f7524928 100644 --- a/imposters/pr.json +++ b/imposters/pr.json @@ -78,14 +78,6 @@ } } } - }, - { - "__typename": "StatusContext", - "context": "", - "state": "", - "creator": { - "login": "" - } } ] } @@ -107,6 +99,64 @@ ] }, "mergeStateStatus": "BLOCKED" + }, + { + "number": 2504, + "title": "feat(nvim): add dap.nvim", + "body": "", + "author": { + "login": "dlvhdr" + }, + "updatedAt": "2025-01-19T11:42:47Z", + "createdAt": "2025-01-18T11:42:47Z", + "url": "https://github.com/dlvhdr/dotfiles/pull/1", + "state": "OPEN", + "mergeable": "MERGEABLE", + "reviewDecision": "CHANGES_REQUESTED", + "additions": 120, + "deletions": 58, + "headRefName": "master", + "baseRefName": "master", + "headRepository": { + "name": "dotfiles" + }, + "headRef": { + "name": "master" + }, + "repository": { + "name": "dotfiles", + "nameWithOwner": "dlvhdr/dotfiles", + "isArchived": false + }, + "assignees": { + "nodes": [] + }, + "comments": { + "nodes": [], + "totalCount": 0 + }, + "latestReviews": { + "nodes": [] + }, + "reviewThreads": { + "nodes": [] + }, + "isDraft": false, + "commits": { + "nodes": [ + { + "commit": { + "deployments": { + "nodes": [] + } + } + } + ] + }, + "labels": { + "nodes": [] + }, + "mergeStateStatus": "CLEAN" } ], "issueCount": 500, diff --git a/ui/components/branch/branch.go b/ui/components/branch/branch.go index 853862bd..c8f1c329 100644 --- a/ui/components/branch/branch.go +++ b/ui/components/branch/branch.go @@ -42,7 +42,7 @@ func (b *Branch) renderReviewStatus() string { reviewCellStyle = reviewCellStyle.Foreground( b.Ctx.Theme.ErrorText, ) - return reviewCellStyle.Render("󰌑") + return reviewCellStyle.Render("") } return reviewCellStyle.Render(b.Ctx.Styles.Common.WaitingGlyph) diff --git a/ui/components/pr/pr.go b/ui/components/pr/pr.go index f615d8ca..ef7d4ac7 100644 --- a/ui/components/pr/pr.go +++ b/ui/components/pr/pr.go @@ -16,10 +16,10 @@ import ( ) type PullRequest struct { - Ctx *context.ProgramContext - Data *data.PullRequestData - Branch git.Branch - Columns []table.Column + Ctx *context.ProgramContext + Data *data.PullRequestData + Branch git.Branch + Columns []table.Column ShowAuthorIcon bool } @@ -43,7 +43,7 @@ func (pr *PullRequest) renderReviewStatus() string { reviewCellStyle = reviewCellStyle.Foreground( pr.Ctx.Theme.ErrorText, ) - return reviewCellStyle.Render("󰌑") + return reviewCellStyle.Render("") } if pr.Data.LatestReviews.TotalCount > 0 { From fd5be455526dde7a8c4a93628666fe2df06e5597 Mon Sep 17 00:00:00 2001 From: Dolev Hadar Date: Sat, 1 Feb 2025 18:43:56 +0200 Subject: [PATCH 4/7] WIP: checks box --- ui/components/prsidebar/checks.go | 127 +++++++++++++++++++++--------- 1 file changed, 89 insertions(+), 38 deletions(-) diff --git a/ui/components/prsidebar/checks.go b/ui/components/prsidebar/checks.go index 92d485d3..1efe1f13 100644 --- a/ui/components/prsidebar/checks.go +++ b/ui/components/prsidebar/checks.go @@ -1,57 +1,108 @@ package prsidebar import ( + "math" "strings" "github.com/charmbracelet/lipgloss" + "github.com/dlvhdr/gh-dash/v4/data" ) func (sidebar *Model) renderChecks() string { title := sidebar.ctx.Styles.Common.MainTextStyle.MarginBottom(1).Underline(true).Render(" Checks") + w := sidebar.getIndentedContentWidth() + box := lipgloss.NewStyle().Border(lipgloss.RoundedBorder()).BorderForeground(sidebar.ctx.Theme.ErrorText).Width(w) + review := sidebar.viewCheckCategory("Review required", "Code owner review required", false) - commits := sidebar.pr.Data.Commits.Nodes - if len(commits) == 0 { - return "" - } - - var checks []string - for _, review := range sidebar.pr.Data.LatestReviews.Nodes { - checks = append(checks, sidebar.renderReviewHeader(review)) - } - - lastCommit := commits[0] - for _, node := range lastCommit.Commit.StatusCheckRollup.Contexts.Nodes { - if node.Typename == "CheckRun" { - checkRun := node.CheckRun - renderedStatus := sidebar.renderCheckRunConclusion(checkRun) - name := renderCheckRunName(checkRun) - checks = append(checks, lipgloss.JoinHorizontal(lipgloss.Top, renderedStatus, " ", name)) - } else if node.Typename == "StatusContext" { - statusContext := node.StatusContext - status := sidebar.renderStatusContextConclusion(statusContext) - checks = append(checks, lipgloss.JoinHorizontal(lipgloss.Top, status, " ", renderStatusContextName(statusContext))) - } - } + checksBar := sidebar.viewChecksBar() + checksBottom := lipgloss.JoinVertical(lipgloss.Left, "1 failing, 2 skipped, 15 successful", checksBar) + checks := sidebar.viewCheckCategory("Some checks were not successful", checksBottom, false) - if len(checks) == 0 { - return lipgloss.JoinVertical( - lipgloss.Left, - title, - lipgloss.NewStyle(). - Italic(true). - PaddingLeft(2). - Width(sidebar.getIndentedContentWidth()). - Render("No checks to display..."), - ) - } + merge := sidebar.viewCheckCategory("Merging is blocked", "Waiting on code owner review", true) - renderedChecks := lipgloss.JoinVertical(lipgloss.Left, checks...) - return lipgloss.JoinVertical( - lipgloss.Left, + return lipgloss.JoinVertical(lipgloss.Left, title, - lipgloss.NewStyle().PaddingLeft(2).Width(sidebar.getIndentedContentWidth()).Render(renderedChecks), + box.Render(lipgloss.JoinVertical(lipgloss.Left, review, checks, merge)), ) + + // commits := sidebar.pr.Data.Commits.Nodes + // if len(commits) == 0 { + // return "" + // } + // + // var checks []string + // for _, review := range sidebar.pr.Data.LatestReviews.Nodes { + // checks = append(checks, sidebar.renderReviewHeader(review)) + // } + // + // lastCommit := commits[0] + // for _, node := range lastCommit.Commit.StatusCheckRollup.Contexts.Nodes { + // if node.Typename == "CheckRun" { + // checkRun := node.CheckRun + // renderedStatus := sidebar.renderCheckRunConclusion(checkRun) + // name := renderCheckRunName(checkRun) + // checks = append(checks, lipgloss.JoinHorizontal(lipgloss.Top, renderedStatus, " ", name)) + // } else if node.Typename == "StatusContext" { + // statusContext := node.StatusContext + // status := sidebar.renderStatusContextConclusion(statusContext) + // checks = append(checks, lipgloss.JoinHorizontal(lipgloss.Top, status, " ", renderStatusContextName(statusContext))) + // } + // } + // + // if len(checks) == 0 { + // return lipgloss.JoinVertical( + // lipgloss.Left, + // title, + // lipgloss.NewStyle(). + // Italic(true). + // PaddingLeft(2). + // Width(sidebar.getIndentedContentWidth()). + // Render("No checks to display..."), + // ) + // } + // + // renderedChecks := lipgloss.JoinVertical(lipgloss.Left, checks...) + // return lipgloss.JoinVertical( + // lipgloss.Left, + // title, + // lipgloss.NewStyle().PaddingLeft(2).Width(sidebar.getIndentedContentWidth()).Render(renderedChecks), + // ) +} + +func (m *Model) viewCheckCategory(top, bottom string, isLast bool) string { + w := m.getIndentedContentWidth() + part := lipgloss.NewStyle(). + Border(lipgloss.NormalBorder(), false, false, !isLast, false). + BorderForeground(m.ctx.Theme.FaintBorder). + Width(w). + Padding(1) + title := lipgloss.NewStyle().Bold(true) + subtitle := lipgloss.NewStyle().Foreground(m.ctx.Theme.FaintText) + + category := m.ctx.Styles.Common.FailureGlyph + " " + margin := lipgloss.Width(category) + category = lipgloss.JoinHorizontal(lipgloss.Top, category, title.Render(top)) + category = lipgloss.JoinVertical(lipgloss.Left, category, subtitle.MarginLeft(margin).Render(bottom)) + return part.Render(category) +} + +func (m *Model) viewChecksBar() string { + w := m.getIndentedContentWidth() - 4 + numSuccess := 8.0 + numFailing := 3.0 + numSkipped := 1.0 + total := numSuccess + numFailing + numSkipped + + succW := int(math.Floor((numSuccess / total) * float64(w))) + failW := int(math.Floor((numFailing / total) * float64(w))) + skipW := int(math.Floor((numSkipped / total) * float64(w))) + + succBar := lipgloss.NewStyle().Width(succW).Foreground(m.ctx.Theme.SuccessText).Height(1).Render(strings.Repeat("▃", succW)) + failBar := lipgloss.NewStyle().Width(failW).Foreground(m.ctx.Theme.ErrorText).Height(1).Render(strings.Repeat("▃", failW)) + skipBar := lipgloss.NewStyle().Width(skipW).Foreground(m.ctx.Theme.FaintText).Height(1).Render(strings.Repeat("▃", skipW)) + + return lipgloss.JoinHorizontal(lipgloss.Top, skipBar, failBar, succBar) } func (m *Model) renderCheckRunConclusion(checkRun data.CheckRun) string { From 8ecfbfb5013e068ebcad0ac43938f2a2f660a8a0 Mon Sep 17 00:00:00 2001 From: Dolev Hadar Date: Sat, 1 Feb 2025 20:19:17 +0200 Subject: [PATCH 5/7] WIP: review --- imposters/pr.json | 60 ++++++++++++++++++++++++++++++- ui/common/styles.go | 2 +- ui/components/prsidebar/checks.go | 33 ++++++++++++++--- 3 files changed, 88 insertions(+), 7 deletions(-) diff --git a/imposters/pr.json b/imposters/pr.json index f7524928..4c7a88b6 100644 --- a/imposters/pr.json +++ b/imposters/pr.json @@ -5,7 +5,7 @@ { "number": 31944, "title": "fix(options): better handling of empty values", - "body": "Problem:\n\nWhether an option is allowed to be empty isn't well defined and\nisn't properly checked.\n\nSolution:\n\n- For non-list string options, explicitly check the option value\n if it is empty.\n- Annotate non-list string options that can accept an empty value.\n - Adjust command completion to ignore the empty value.\n- Render values in Lua meta files", + "body": "", "author": { "login": "lewis6991" }, @@ -157,6 +157,64 @@ "nodes": [] }, "mergeStateStatus": "CLEAN" + }, + { + "number": 2505, + "title": "feat(nvim): add dap.nvim", + "body": "", + "author": { + "login": "dlvhdr" + }, + "updatedAt": "2025-01-19T11:42:47Z", + "createdAt": "2025-01-18T11:42:47Z", + "url": "https://github.com/dlvhdr/dotfiles/pull/1", + "state": "OPEN", + "mergeable": "MERGEABLE", + "reviewDecision": "APPROVED", + "additions": 120, + "deletions": 58, + "headRefName": "master", + "baseRefName": "master", + "headRepository": { + "name": "dotfiles" + }, + "headRef": { + "name": "master" + }, + "repository": { + "name": "dotfiles", + "nameWithOwner": "dlvhdr/dotfiles", + "isArchived": false + }, + "assignees": { + "nodes": [] + }, + "comments": { + "nodes": [], + "totalCount": 0 + }, + "latestReviews": { + "nodes": [] + }, + "reviewThreads": { + "nodes": [] + }, + "isDraft": false, + "commits": { + "nodes": [ + { + "commit": { + "deployments": { + "nodes": [] + } + } + } + ] + }, + "labels": { + "nodes": [] + }, + "mergeStateStatus": "CLEAN" } ], "issueCount": 500, diff --git a/ui/common/styles.go b/ui/common/styles.go index bced8818..33eb78ad 100644 --- a/ui/common/styles.go +++ b/ui/common/styles.go @@ -46,7 +46,7 @@ func BuildStyles(theme theme.Theme) CommonStyles { MaxHeight(FooterHeight) s.WaitingGlyph = lipgloss.NewStyle(). - Foreground(theme.FaintText). + Foreground(theme.WarningText). Render(constants.WaitingIcon) s.FailureGlyph = lipgloss.NewStyle(). Foreground(theme.ErrorText). diff --git a/ui/components/prsidebar/checks.go b/ui/components/prsidebar/checks.go index 1efe1f13..9a8edc0e 100644 --- a/ui/components/prsidebar/checks.go +++ b/ui/components/prsidebar/checks.go @@ -13,7 +13,8 @@ func (sidebar *Model) renderChecks() string { title := sidebar.ctx.Styles.Common.MainTextStyle.MarginBottom(1).Underline(true).Render(" Checks") w := sidebar.getIndentedContentWidth() box := lipgloss.NewStyle().Border(lipgloss.RoundedBorder()).BorderForeground(sidebar.ctx.Theme.ErrorText).Width(w) - review := sidebar.viewCheckCategory("Review required", "Code owner review required", false) + // review := sidebar.viewCheckCategory("Review required", "Code owner review required", false) + review := sidebar.viewReview() checksBar := sidebar.viewChecksBar() checksBottom := lipgloss.JoinVertical(lipgloss.Left, "1 failing, 2 skipped, 15 successful", checksBar) @@ -70,6 +71,30 @@ func (sidebar *Model) renderChecks() string { // ) } +func (m *Model) viewReview() string { + pr := m.pr + var title, subtitle string + reviewCellStyle := lipgloss.NewStyle() + if pr.Data == nil { + title = "-" + } else if pr.Data.ReviewDecision == "APPROVED" { + title = lipgloss.JoinHorizontal(lipgloss.Top, m.ctx.Styles.Common.SuccessGlyph, " ", "Changes approved") + subtitle = "2 approving reviews" + } else if pr.Data.ReviewDecision == "CHANGES_REQUESTED" { + title = lipgloss.JoinHorizontal(lipgloss.Top, m.ctx.Styles.Common.FailureGlyph, " ", "Changes requested") + // title = reviewCellStyle.Render(" Changes requested") + subtitle = "1 change requested" + } else if pr.Data.LatestReviews.TotalCount > 0 { + title = reviewCellStyle.Render(pr.Ctx.Styles.Common.CommentGlyph + " " + "Comments left") + subtitle = "2 reviewers left comments" + } else { + title = reviewCellStyle.Render(pr.Ctx.Styles.Common.WaitingGlyph + " " + "Review required") + subtitle = "Code owner review required" + } + + return m.viewCheckCategory(title, subtitle, false) +} + func (m *Model) viewCheckCategory(top, bottom string, isLast bool) string { w := m.getIndentedContentWidth() part := lipgloss.NewStyle(). @@ -80,10 +105,8 @@ func (m *Model) viewCheckCategory(top, bottom string, isLast bool) string { title := lipgloss.NewStyle().Bold(true) subtitle := lipgloss.NewStyle().Foreground(m.ctx.Theme.FaintText) - category := m.ctx.Styles.Common.FailureGlyph + " " - margin := lipgloss.Width(category) - category = lipgloss.JoinHorizontal(lipgloss.Top, category, title.Render(top)) - category = lipgloss.JoinVertical(lipgloss.Left, category, subtitle.MarginLeft(margin).Render(bottom)) + category := title.Render(top) + category = lipgloss.JoinVertical(lipgloss.Left, category, subtitle.MarginLeft(2).Render(bottom)) return part.Render(category) } From 4d706da8965986656f1e888699e7a228a225b7a3 Mon Sep 17 00:00:00 2001 From: Dolev Hadar Date: Sat, 15 Feb 2025 18:22:31 +0200 Subject: [PATCH 6/7] WIP: connect to real data --- data/prapi.go | 16 +- data/utils.go | 10 +- imposters/pr.json | 271 +++++++++++++++++++++++++++++- ui/components/prsidebar/checks.go | 251 ++++++++++++++++++--------- 4 files changed, 460 insertions(+), 88 deletions(-) diff --git a/data/prapi.go b/data/prapi.go index 56ac1adb..722691cb 100644 --- a/data/prapi.go +++ b/data/prapi.go @@ -41,10 +41,11 @@ type PullRequestData struct { Name string } Repository Repository - Assignees Assignees `graphql:"assignees(first: 3)"` - Comments Comments `graphql:"comments(last: 5, orderBy: { field: UPDATED_AT, direction: DESC })"` - LatestReviews Reviews `graphql:"latestReviews(last: 3)"` - ReviewThreads ReviewThreads `graphql:"reviewThreads(last: 20)"` + Assignees Assignees `graphql:"assignees(first: 3)"` + Comments Comments `graphql:"comments(last: 5, orderBy: { field: UPDATED_AT, direction: DESC })"` + LatestReviews Reviews `graphql:"latestReviews(last: 3)"` + ReviewThreads ReviewThreads `graphql:"reviewThreads(last: 20)"` + ReviewRequests ReviewRequests `graphql:"reviewRequests(last: 10)"` IsDraft bool Commits Commits `graphql:"commits(last: 1)"` Labels PRLabels `graphql:"labels(first: 3)"` @@ -152,6 +153,13 @@ type ReviewThreads struct { } } +type ReviewRequests struct { + TotalCount int + Nodes []struct { + AsCodeOwner bool `graphql:"asCodeOwner"` + } +} + type PRLabel struct { Color string Name string diff --git a/data/utils.go b/data/utils.go index 21d4961b..33ecfd94 100644 --- a/data/utils.go +++ b/data/utils.go @@ -4,6 +4,7 @@ import ( "time" "github.com/charmbracelet/lipgloss" + "github.com/dlvhdr/gh-dash/v4/ui/theme" ) @@ -15,6 +16,13 @@ type RowData interface { GetUpdatedAt() time.Time } +func IsStatusSkipped(status string) bool { + return status == "PENDING" || + status == "QUEUED" || + status == "IN_PROGRESS" || + status == "WAITING" +} + func IsStatusWaiting(status string) bool { return status == "PENDING" || status == "QUEUED" || @@ -26,7 +34,7 @@ func IsConclusionAFailure(conclusion string) bool { return conclusion == "FAILURE" || conclusion == "TIMED_OUT" || conclusion == "STARTUP_FAILURE" } -func GetAuthorRoleIcon(role string, theme theme.Theme) string { +func GetAuthorRoleIcon(role string, theme theme.Theme) string { // https://docs.github.com/en/graphql/reference/enums#commentauthorassociation switch role { case "FIRST_TIMER", "FIRST_TIME_CONTRIBUTOR", "NONE": diff --git a/imposters/pr.json b/imposters/pr.json index 4c7a88b6..55461d90 100644 --- a/imposters/pr.json +++ b/imposters/pr.json @@ -14,7 +14,7 @@ "url": "https://github.com/neovim/neovim/pull/31944", "state": "OPEN", "mergeable": "MERGEABLE", - "reviewDecision": "", + "reviewDecision": "APPROVED", "additions": 60, "deletions": 28, "headRefName": "feat/optiontypemeta", @@ -46,11 +46,27 @@ "totalCount": 1 }, "latestReviews": { - "nodes": [] + "totalCount": 2, + "nodes": [ + { + "state": "APPROVED" + }, + { + "state": "APPROVED" + } + ] }, "reviewThreads": { "nodes": [] }, + "reviewRequests": { + "totalCount": 2, + "nodes": [ + { + "asCodeOwner": false + } + ] + }, "isDraft": true, "commits": { "nodes": [ @@ -78,6 +94,130 @@ } } } + }, + { + "__typename": "CheckRun", + "name": "CodeQL", + "status": "COMPLETED", + "conclusion": "SUCCESS", + "checkSuite": { + "creator": { + "login": "" + }, + "workflowRun": { + "workflow": { + "name": "" + } + } + } + }, + { + "__typename": "CheckRun", + "name": "CodeQL", + "status": "COMPLETED", + "conclusion": "SUCCESS", + "checkSuite": { + "creator": { + "login": "" + }, + "workflowRun": { + "workflow": { + "name": "" + } + } + } + }, + { + "__typename": "CheckRun", + "name": "CodeQL", + "status": "IN_PROGRESS", + "checkSuite": { + "creator": { + "login": "" + }, + "workflowRun": { + "workflow": { + "name": "" + } + } + } + }, + { + "__typename": "CheckRun", + "name": "CodeQL", + "status": "IN_PROGRESS", + "checkSuite": { + "creator": { + "login": "" + }, + "workflowRun": { + "workflow": { + "name": "" + } + } + } + }, + { + "__typename": "CheckRun", + "name": "CodeQL", + "status": "IN_PROGRESS", + "checkSuite": { + "creator": { + "login": "" + }, + "workflowRun": { + "workflow": { + "name": "" + } + } + } + }, + { + "__typename": "CheckRun", + "name": "CodeQL", + "status": "IN_PROGRESS", + "checkSuite": { + "creator": { + "login": "" + }, + "workflowRun": { + "workflow": { + "name": "" + } + } + } + }, + { + "__typename": "CheckRun", + "name": "CodeQL", + "status": "COMPLETED", + "conclusion": "FAILURE", + "checkSuite": { + "creator": { + "login": "" + }, + "workflowRun": { + "workflow": { + "name": "" + } + } + } + }, + { + "__typename": "CheckRun", + "name": "CodeQL", + "status": "COMPLETED", + "conclusion": "SKIPPED", + "checkSuite": { + "creator": { + "login": "" + }, + "workflowRun": { + "workflow": { + "name": "" + } + } + } } ] } @@ -136,7 +276,8 @@ "totalCount": 0 }, "latestReviews": { - "nodes": [] + "totalCount": 1, + "nodes": [{ "state": "CHANGES_REQUESTED" }] }, "reviewThreads": { "nodes": [] @@ -148,6 +289,61 @@ "commit": { "deployments": { "nodes": [] + }, + "statusCheckRollup": { + "contexts": { + "totalCount": 3, + "nodes": [ + { + "__typename": "CheckRun", + "name": "CodeQL", + "status": "COMPLETED", + "conclusion": "SUCCESS", + "checkSuite": { + "creator": { + "login": "" + }, + "workflowRun": { + "workflow": { + "name": "" + } + } + } + }, + { + "__typename": "CheckRun", + "name": "CodeQL", + "status": "COMPLETED", + "conclusion": "SUCCESS", + "checkSuite": { + "creator": { + "login": "" + }, + "workflowRun": { + "workflow": { + "name": "" + } + } + } + }, + { + "__typename": "CheckRun", + "name": "CodeQL", + "status": "COMPLETED", + "conclusion": "SUCCESS", + "checkSuite": { + "creator": { + "login": "" + }, + "workflowRun": { + "workflow": { + "name": "" + } + } + } + } + ] + } } } } @@ -160,7 +356,7 @@ }, { "number": 2505, - "title": "feat(nvim): add dap.nvim", + "title": "feat(nvim): add snacks.nvim", "body": "", "author": { "login": "dlvhdr" @@ -170,7 +366,7 @@ "url": "https://github.com/dlvhdr/dotfiles/pull/1", "state": "OPEN", "mergeable": "MERGEABLE", - "reviewDecision": "APPROVED", + "reviewDecision": "REVIEW_REQUIRED", "additions": 120, "deletions": 58, "headRefName": "master", @@ -193,7 +389,16 @@ "nodes": [], "totalCount": 0 }, + "reviewRequests": { + "totalCount": 1, + "nodes": [ + { + "asCodeOwner": true + } + ] + }, "latestReviews": { + "totalCount": 0, "nodes": [] }, "reviewThreads": { @@ -206,6 +411,60 @@ "commit": { "deployments": { "nodes": [] + }, + "statusCheckRollup": { + "contexts": { + "totalCount": 3, + "nodes": [ + { + "__typename": "CheckRun", + "name": "CodeQL", + "status": "IN_PROGRESS", + "checkSuite": { + "creator": { + "login": "" + }, + "workflowRun": { + "workflow": { + "name": "" + } + } + } + }, + { + "__typename": "CheckRun", + "name": "CodeQL", + "status": "COMPLETED", + "conclusion": "SUCCESS", + "checkSuite": { + "creator": { + "login": "" + }, + "workflowRun": { + "workflow": { + "name": "" + } + } + } + }, + { + "__typename": "CheckRun", + "name": "CodeQL", + "status": "COMPLETED", + "conclusion": "SUCCESS", + "checkSuite": { + "creator": { + "login": "" + }, + "workflowRun": { + "workflow": { + "name": "" + } + } + } + } + ] + } } } } @@ -214,7 +473,7 @@ "labels": { "nodes": [] }, - "mergeStateStatus": "CLEAN" + "mergeStateStatus": "BLOCKED" } ], "issueCount": 500, diff --git a/ui/components/prsidebar/checks.go b/ui/components/prsidebar/checks.go index 9a8edc0e..ff066a5f 100644 --- a/ui/components/prsidebar/checks.go +++ b/ui/components/prsidebar/checks.go @@ -1,6 +1,7 @@ package prsidebar import ( + "fmt" "math" "strings" @@ -9,87 +10,99 @@ import ( "github.com/dlvhdr/gh-dash/v4/data" ) -func (sidebar *Model) renderChecks() string { - title := sidebar.ctx.Styles.Common.MainTextStyle.MarginBottom(1).Underline(true).Render(" Checks") - w := sidebar.getIndentedContentWidth() - box := lipgloss.NewStyle().Border(lipgloss.RoundedBorder()).BorderForeground(sidebar.ctx.Theme.ErrorText).Width(w) +func (m *Model) renderChecks() string { + title := m.ctx.Styles.Common.MainTextStyle.MarginBottom(1).Underline(true).Render(" Checks") + w := m.getIndentedContentWidth() + box := lipgloss.NewStyle().Border(lipgloss.RoundedBorder()).BorderForeground(m.ctx.Theme.ErrorText).Width(w) // review := sidebar.viewCheckCategory("Review required", "Code owner review required", false) - review := sidebar.viewReview() + review := m.viewReview() - checksBar := sidebar.viewChecksBar() - checksBottom := lipgloss.JoinVertical(lipgloss.Left, "1 failing, 2 skipped, 15 successful", checksBar) - checks := sidebar.viewCheckCategory("Some checks were not successful", checksBottom, false) + stats := m.getChecksStats() - merge := sidebar.viewCheckCategory("Merging is blocked", "Waiting on code owner review", true) + statStrs := make([]string, 0) + checksConclusion := m.viewChecksConclusionTitle() + if stats.failed > 0 { + statStrs = append(statStrs, fmt.Sprintf("%d failing", stats.failed)) + } + if stats.inProgress > 0 { + statStrs = append(statStrs, fmt.Sprintf("%d in progress", stats.inProgress)) + } + if stats.skipped > 0 { + statStrs = append(statStrs, fmt.Sprintf("%d skipped", stats.skipped)) + } + if stats.succeeded > 0 { + statStrs = append(statStrs, fmt.Sprintf("%d successful", stats.succeeded)) + } + + checks := "" + if checksConclusion != "" { + checksBar := m.viewChecksBar() + checksBottom := lipgloss.JoinVertical(lipgloss.Left, strings.Join(statStrs, ", "), checksBar) + checks = m.viewCheckCategory(checksConclusion, checksBottom, false) + } + + mergeTitle := "" + mergeSub := "" + numReviewOwners := m.numReviewOwners() + if m.pr.Data.MergeStateStatus == "CLEAN" { + mergeTitle = m.ctx.Styles.Common.SuccessGlyph + " No conflicts with base branch" + mergeSub = "Changes can be cleanly merged" + } else if m.pr.Data.MergeStateStatus == "BLOCKED" { + mergeTitle = m.ctx.Styles.Common.FailureGlyph + " Merging is blocked" + if numReviewOwners > 0 { + mergeSub = "Waiting on code owner review" + } + } else if m.pr.Data.Mergeable == "CONFLICTING" { + mergeTitle = m.ctx.Styles.Common.FailureGlyph + " This branch has conflicts that must be resolved" + if m.pr.Data.MergeStateStatus == "CLEAN" { + mergeSub = "Changes can be cleanly merged" + } + } + merge := m.viewCheckCategory(mergeTitle, mergeSub, true) return lipgloss.JoinVertical(lipgloss.Left, title, box.Render(lipgloss.JoinVertical(lipgloss.Left, review, checks, merge)), ) - // commits := sidebar.pr.Data.Commits.Nodes - // if len(commits) == 0 { - // return "" - // } - // - // var checks []string - // for _, review := range sidebar.pr.Data.LatestReviews.Nodes { - // checks = append(checks, sidebar.renderReviewHeader(review)) - // } - // - // lastCommit := commits[0] - // for _, node := range lastCommit.Commit.StatusCheckRollup.Contexts.Nodes { - // if node.Typename == "CheckRun" { - // checkRun := node.CheckRun - // renderedStatus := sidebar.renderCheckRunConclusion(checkRun) - // name := renderCheckRunName(checkRun) - // checks = append(checks, lipgloss.JoinHorizontal(lipgloss.Top, renderedStatus, " ", name)) - // } else if node.Typename == "StatusContext" { - // statusContext := node.StatusContext - // status := sidebar.renderStatusContextConclusion(statusContext) - // checks = append(checks, lipgloss.JoinHorizontal(lipgloss.Top, status, " ", renderStatusContextName(statusContext))) - // } - // } - // - // if len(checks) == 0 { - // return lipgloss.JoinVertical( - // lipgloss.Left, - // title, - // lipgloss.NewStyle(). - // Italic(true). - // PaddingLeft(2). - // Width(sidebar.getIndentedContentWidth()). - // Render("No checks to display..."), - // ) - // } - // - // renderedChecks := lipgloss.JoinVertical(lipgloss.Left, checks...) - // return lipgloss.JoinVertical( - // lipgloss.Left, - // title, - // lipgloss.NewStyle().PaddingLeft(2).Width(sidebar.getIndentedContentWidth()).Render(renderedChecks), - // ) } func (m *Model) viewReview() string { pr := m.pr + if pr.Data == nil { + return "" + } + var title, subtitle string reviewCellStyle := lipgloss.NewStyle() - if pr.Data == nil { - title = "-" - } else if pr.Data.ReviewDecision == "APPROVED" { + numReviewOwners := m.numReviewOwners() + + numApproving, numChangesRequested, numPending, numCommented := 0, 0, 0, 0 + for _, node := range pr.Data.LatestReviews.Nodes { + if node.State == "APPROVED" { + numApproving++ + } else if node.State == "CHANGES_REQUESTED" { + numChangesRequested++ + } else if node.State == "PENDING" { + numPending++ + } else if node.State == "COMMENTED" { + numCommented++ + } + } + + if pr.Data.ReviewDecision == "APPROVED" { title = lipgloss.JoinHorizontal(lipgloss.Top, m.ctx.Styles.Common.SuccessGlyph, " ", "Changes approved") - subtitle = "2 approving reviews" + subtitle = fmt.Sprintf("%d approving reviews", numApproving) } else if pr.Data.ReviewDecision == "CHANGES_REQUESTED" { title = lipgloss.JoinHorizontal(lipgloss.Top, m.ctx.Styles.Common.FailureGlyph, " ", "Changes requested") - // title = reviewCellStyle.Render(" Changes requested") - subtitle = "1 change requested" - } else if pr.Data.LatestReviews.TotalCount > 0 { - title = reviewCellStyle.Render(pr.Ctx.Styles.Common.CommentGlyph + " " + "Comments left") - subtitle = "2 reviewers left comments" - } else { - title = reviewCellStyle.Render(pr.Ctx.Styles.Common.WaitingGlyph + " " + "Review required") - subtitle = "Code owner review required" + subtitle = fmt.Sprintf("%d requested changes", numChangesRequested) + } else if pr.Data.ReviewDecision == "REVIEW_REQUIRED" { + title = reviewCellStyle.Render(pr.Ctx.Styles.Common.WaitingGlyph + " " + "Review Required") + if numReviewOwners > 0 { + subtitle = "Code owner review required" + } else if numCommented > 0 { + subtitle = fmt.Sprintf("%d reviewers left comments", numCommented) + } } return m.viewCheckCategory(title, subtitle, false) @@ -103,29 +116,54 @@ func (m *Model) viewCheckCategory(top, bottom string, isLast bool) string { Width(w). Padding(1) title := lipgloss.NewStyle().Bold(true) - subtitle := lipgloss.NewStyle().Foreground(m.ctx.Theme.FaintText) category := title.Render(top) - category = lipgloss.JoinVertical(lipgloss.Left, category, subtitle.MarginLeft(2).Render(bottom)) + if bottom != "" { + subtitle := lipgloss.NewStyle().Foreground(m.ctx.Theme.FaintText) + category = lipgloss.JoinVertical(lipgloss.Left, category, subtitle.MarginLeft(2).Render(bottom)) + } return part.Render(category) } func (m *Model) viewChecksBar() string { w := m.getIndentedContentWidth() - 4 - numSuccess := 8.0 - numFailing := 3.0 - numSkipped := 1.0 - total := numSuccess + numFailing + numSkipped - - succW := int(math.Floor((numSuccess / total) * float64(w))) - failW := int(math.Floor((numFailing / total) * float64(w))) - skipW := int(math.Floor((numSkipped / total) * float64(w))) + stats := m.getChecksStats() + total := float64(stats.failed + stats.skipped + stats.succeeded + stats.inProgress) + numSections := 0 + if stats.failed > 0 { + numSections++ + } + if stats.inProgress > 0 { + numSections++ + } + if stats.skipped > 0 { + numSections++ + } + if stats.succeeded > 0 { + numSections++ + } + // subtract num of spacers + w -= numSections - 1 - succBar := lipgloss.NewStyle().Width(succW).Foreground(m.ctx.Theme.SuccessText).Height(1).Render(strings.Repeat("▃", succW)) - failBar := lipgloss.NewStyle().Width(failW).Foreground(m.ctx.Theme.ErrorText).Height(1).Render(strings.Repeat("▃", failW)) - skipBar := lipgloss.NewStyle().Width(skipW).Foreground(m.ctx.Theme.FaintText).Height(1).Render(strings.Repeat("▃", skipW)) + sections := make([]string, 0) + if stats.failed > 0 { + failWidth := int(math.Floor((float64(stats.failed) / total) * float64(w))) + sections = append(sections, lipgloss.NewStyle().Width(failWidth).Foreground(m.ctx.Theme.ErrorText).Height(1).Render(strings.Repeat("▃", failWidth))) + } + if stats.inProgress > 0 { + ipWidth := int(math.Floor((float64(stats.inProgress) / total) * float64(w))) + sections = append(sections, lipgloss.NewStyle().Width(ipWidth).Foreground(m.ctx.Theme.WarningText).Height(1).Render(strings.Repeat("▃", ipWidth))) + } + if stats.skipped > 0 { + skipWidth := int(math.Floor((float64(stats.skipped) / total) * float64(w))) + sections = append(sections, lipgloss.NewStyle().Width(skipWidth).Foreground(m.ctx.Theme.FaintText).Height(1).Render(strings.Repeat("▃", skipWidth))) + } + if stats.succeeded > 0 { + succWidth := int(math.Floor((float64(stats.succeeded) / total) * float64(w))) + sections = append(sections, lipgloss.NewStyle().Width(succWidth).Foreground(m.ctx.Theme.SuccessText).Height(1).Render(strings.Repeat("▃", succWidth))) + } - return lipgloss.JoinHorizontal(lipgloss.Top, skipBar, failBar, succBar) + return strings.Join(sections, " ") } func (m *Model) renderCheckRunConclusion(checkRun data.CheckRun) string { @@ -193,3 +231,62 @@ func renderStatusContextName(statusContext data.StatusContext) string { strings.Join(parts, "/"), ) } + +type checksStats struct { + succeeded int + failed int + skipped int + inProgress int +} + +func (m *Model) getChecksStats() checksStats { + var res checksStats + commits := m.pr.Data.Commits.Nodes + if len(commits) == 0 { + return res + } + + lastCommit := commits[0] + for _, node := range lastCommit.Commit.StatusCheckRollup.Contexts.Nodes { + if node.Typename == "CheckRun" { + checkRun := node.CheckRun + conclusion := string(checkRun.Conclusion) + if data.IsStatusWaiting(string(checkRun.Status)) { + res.inProgress++ + } else if data.IsConclusionAFailure(conclusion) { + res.failed++ + } else if data.IsConclusionASkip(conclusion) { + res.skipped++ + } else if data.IsConclusionASuccess(conclusion) { + res.succeeded++ + } + } + } + + return res +} + +func (m *Model) viewChecksConclusionTitle() string { + stats := m.getChecksStats() + if stats.failed > 0 { + return m.ctx.Styles.Common.FailureGlyph + " Some checks were not successful" + } + if stats.inProgress > 0 { + return m.ctx.Styles.Common.WaitingGlyph + " Some checks haven't completed yet" + } + if stats.succeeded > 0 { + return m.ctx.Styles.Common.SuccessGlyph + " All checks have passed" + } + + return "" +} + +func (m *Model) numReviewOwners() int { + numOwners := 0 + for _, node := range m.pr.Data.ReviewRequests.Nodes { + if node.AsCodeOwner { + numOwners++ + } + } + return numOwners +} From e9609d47b7493d94c7505bb97dd134a5cc000f9e Mon Sep 17 00:00:00 2001 From: Dolev Hadar Date: Sat, 22 Feb 2025 17:12:16 +0200 Subject: [PATCH 7/7] feat: bigger merge status --- data/prapi.go | 26 +-- data/repository.go | 20 +- data/utils.go | 13 +- imposters/pr.json | 179 ++++++++++++++++-- ui/common/styles.go | 4 + ui/components/pr/pr.go | 2 +- ui/components/prsidebar/activity.go | 2 +- ui/components/prsidebar/checks.go | 274 +++++++++++++++------------- 8 files changed, 352 insertions(+), 168 deletions(-) diff --git a/data/prapi.go b/data/prapi.go index 722691cb..358b36ec 100644 --- a/data/prapi.go +++ b/data/prapi.go @@ -23,18 +23,18 @@ type PullRequestData struct { Author struct { Login string } - AuthorAssociation string - UpdatedAt time.Time - CreatedAt time.Time - Url string - State string - Mergeable string - ReviewDecision string - Additions int - Deletions int - HeadRefName string - BaseRefName string - HeadRepository struct { + AuthorAssociation string + UpdatedAt time.Time + CreatedAt time.Time + Url string + State string + Mergeable string + ReviewDecision string + Additions int + Deletions int + HeadRefName string + BaseRefName string + HeadRepository struct { Name string } HeadRef struct { @@ -43,7 +43,7 @@ type PullRequestData struct { Repository Repository Assignees Assignees `graphql:"assignees(first: 3)"` Comments Comments `graphql:"comments(last: 5, orderBy: { field: UPDATED_AT, direction: DESC })"` - LatestReviews Reviews `graphql:"latestReviews(last: 3)"` + Reviews Reviews `graphql:"reviews(last: 3)"` ReviewThreads ReviewThreads `graphql:"reviewThreads(last: 20)"` ReviewRequests ReviewRequests `graphql:"reviewRequests(last: 10)"` IsDraft bool diff --git a/data/repository.go b/data/repository.go index 16cb3b3e..6eee7587 100644 --- a/data/repository.go +++ b/data/repository.go @@ -1,7 +1,21 @@ package data +import ( + graphql "github.com/cli/shurcooL-graphql" +) + +type BranchProtectionRules struct { + Nodes []struct { + RequiredApprovingReviewCount int + RequiresApprovingReviews graphql.Boolean + RequiresCodeOwnerReviews graphql.Boolean + RequiresStatusChecks graphql.Boolean + } +} + type Repository struct { - Name string - NameWithOwner string - IsArchived bool + Name string + NameWithOwner string + IsArchived bool + BranchProtectionRules BranchProtectionRules `graphql:"branchProtectionRules(first: 1)"` } diff --git a/data/utils.go b/data/utils.go index 33ecfd94..dbcdd78b 100644 --- a/data/utils.go +++ b/data/utils.go @@ -16,24 +16,25 @@ type RowData interface { GetUpdatedAt() time.Time } -func IsStatusSkipped(status string) bool { +func IsStatusWaiting(status string) bool { return status == "PENDING" || status == "QUEUED" || status == "IN_PROGRESS" || status == "WAITING" } -func IsStatusWaiting(status string) bool { - return status == "PENDING" || - status == "QUEUED" || - status == "IN_PROGRESS" || - status == "WAITING" +func IsConclusionASkip(conclusion string) bool { + return conclusion == "SKIPPED" } func IsConclusionAFailure(conclusion string) bool { return conclusion == "FAILURE" || conclusion == "TIMED_OUT" || conclusion == "STARTUP_FAILURE" } +func IsConclusionASuccess(conclusion string) bool { + return conclusion == "SUCCESS" +} + func GetAuthorRoleIcon(role string, theme theme.Theme) string { // https://docs.github.com/en/graphql/reference/enums#commentauthorassociation switch role { diff --git a/imposters/pr.json b/imposters/pr.json index 55461d90..bfe26069 100644 --- a/imposters/pr.json +++ b/imposters/pr.json @@ -355,8 +355,8 @@ "mergeStateStatus": "CLEAN" }, { - "number": 2505, - "title": "feat(nvim): add snacks.nvim", + "number": 2504, + "title": "feat(nvim): all green", "body": "", "author": { "login": "dlvhdr" @@ -366,7 +366,7 @@ "url": "https://github.com/dlvhdr/dotfiles/pull/1", "state": "OPEN", "mergeable": "MERGEABLE", - "reviewDecision": "REVIEW_REQUIRED", + "reviewDecision": "APPROVED", "additions": 120, "deletions": 58, "headRefName": "master", @@ -389,17 +389,9 @@ "nodes": [], "totalCount": 0 }, - "reviewRequests": { - "totalCount": 1, - "nodes": [ - { - "asCodeOwner": true - } - ] - }, "latestReviews": { - "totalCount": 0, - "nodes": [] + "totalCount": 1, + "nodes": [{ "state": "APPROVED" }] }, "reviewThreads": { "nodes": [] @@ -419,7 +411,8 @@ { "__typename": "CheckRun", "name": "CodeQL", - "status": "IN_PROGRESS", + "status": "COMPLETED", + "conclusion": "SUCCESS", "checkSuite": { "creator": { "login": "" @@ -430,12 +423,85 @@ } } } - }, + } + ] + } + } + } + } + ] + }, + "labels": { + "nodes": [] + }, + "mergeStateStatus": "CLEAN" + }, + { + "number": 2505, + "title": "feat(nvim): waiting", + "body": "", + "author": { + "login": "dlvhdr" + }, + "updatedAt": "2025-01-19T11:42:47Z", + "createdAt": "2025-01-18T11:42:47Z", + "url": "https://github.com/dlvhdr/dotfiles/pull/1", + "state": "OPEN", + "mergeable": "MERGEABLE", + "reviewDecision": "REVIEW_REQUIRED", + "additions": 120, + "deletions": 58, + "headRefName": "master", + "baseRefName": "master", + "headRepository": { + "name": "dotfiles" + }, + "headRef": { + "name": "master" + }, + "repository": { + "name": "dotfiles", + "nameWithOwner": "dlvhdr/dotfiles", + "isArchived": false + }, + "assignees": { + "nodes": [] + }, + "comments": { + "nodes": [], + "totalCount": 0 + }, + "reviewRequests": { + "totalCount": 1, + "nodes": [ + { + "asCodeOwner": false + } + ] + }, + "latestReviews": { + "totalCount": 0, + "nodes": [] + }, + "reviewThreads": { + "nodes": [] + }, + "isDraft": false, + "commits": { + "nodes": [ + { + "commit": { + "deployments": { + "nodes": [] + }, + "statusCheckRollup": { + "contexts": { + "totalCount": 3, + "nodes": [ { "__typename": "CheckRun", "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", + "status": "IN_PROGRESS", "checkSuite": { "creator": { "login": "" @@ -446,12 +512,85 @@ } } } - }, + } + ] + } + } + } + } + ] + }, + "labels": { + "nodes": [] + }, + "mergeStateStatus": "CLEAN" + }, + { + "number": 2505, + "title": "feat(nvim): waiting on code owner", + "body": "", + "author": { + "login": "dlvhdr" + }, + "updatedAt": "2025-01-19T11:42:47Z", + "createdAt": "2025-01-18T11:42:47Z", + "url": "https://github.com/dlvhdr/dotfiles/pull/1", + "state": "OPEN", + "mergeable": "MERGEABLE", + "reviewDecision": "REVIEW_REQUIRED", + "additions": 120, + "deletions": 58, + "headRefName": "master", + "baseRefName": "master", + "headRepository": { + "name": "dotfiles" + }, + "headRef": { + "name": "master" + }, + "repository": { + "name": "dotfiles", + "nameWithOwner": "dlvhdr/dotfiles", + "isArchived": false + }, + "assignees": { + "nodes": [] + }, + "comments": { + "nodes": [], + "totalCount": 0 + }, + "reviewRequests": { + "totalCount": 1, + "nodes": [ + { + "asCodeOwner": true + } + ] + }, + "latestReviews": { + "totalCount": 0, + "nodes": [] + }, + "reviewThreads": { + "nodes": [] + }, + "isDraft": false, + "commits": { + "nodes": [ + { + "commit": { + "deployments": { + "nodes": [] + }, + "statusCheckRollup": { + "contexts": { + "totalCount": 3, + "nodes": [ { "__typename": "CheckRun", "name": "CodeQL", - "status": "COMPLETED", - "conclusion": "SUCCESS", + "status": "IN_PROGRESS", "checkSuite": { "creator": { "login": "" diff --git a/ui/common/styles.go b/ui/common/styles.go index 33eb78ad..124d927c 100644 --- a/ui/common/styles.go +++ b/ui/common/styles.go @@ -25,6 +25,7 @@ type CommonStyles struct { MainTextStyle lipgloss.Style FooterStyle lipgloss.Style ErrorStyle lipgloss.Style + DraftGlyph string WaitingGlyph string FailureGlyph string SuccessGlyph string @@ -57,6 +58,9 @@ func BuildStyles(theme theme.Theme) CommonStyles { s.CommentGlyph = lipgloss.NewStyle(). Foreground(theme.PrimaryText). Render(constants.CommentIcon) + s.DraftGlyph = lipgloss.NewStyle(). + Foreground(theme.PrimaryText). + Render(constants.DraftIcon) return s } diff --git a/ui/components/pr/pr.go b/ui/components/pr/pr.go index ef7d4ac7..fe5ccf27 100644 --- a/ui/components/pr/pr.go +++ b/ui/components/pr/pr.go @@ -46,7 +46,7 @@ func (pr *PullRequest) renderReviewStatus() string { return reviewCellStyle.Render("") } - if pr.Data.LatestReviews.TotalCount > 0 { + if pr.Data.Reviews.TotalCount > 0 { return reviewCellStyle.Render(pr.Ctx.Styles.Common.CommentGlyph) } diff --git a/ui/components/prsidebar/activity.go b/ui/components/prsidebar/activity.go index 68fb256a..7448d5d7 100644 --- a/ui/components/prsidebar/activity.go +++ b/ui/components/prsidebar/activity.go @@ -58,7 +58,7 @@ func (m *Model) renderActivity() string { }) } - for _, review := range m.pr.Data.LatestReviews.Nodes { + for _, review := range m.pr.Data.Reviews.Nodes { renderedReview, err := m.renderReview(review, markdownRenderer) if err != nil { continue diff --git a/ui/components/prsidebar/checks.go b/ui/components/prsidebar/checks.go index ff066a5f..a046be55 100644 --- a/ui/components/prsidebar/checks.go +++ b/ui/components/prsidebar/checks.go @@ -10,17 +10,59 @@ import ( "github.com/dlvhdr/gh-dash/v4/data" ) +type checkSectionStatus int + +const ( + statusSuccess checkSectionStatus = iota + statusFailure + statusWaiting +) + func (m *Model) renderChecks() string { - title := m.ctx.Styles.Common.MainTextStyle.MarginBottom(1).Underline(true).Render(" Checks") + header := m.ctx.Styles.Common.MainTextStyle.MarginBottom(1).Underline(true).Render(" Checks") w := m.getIndentedContentWidth() - box := lipgloss.NewStyle().Border(lipgloss.RoundedBorder()).BorderForeground(m.ctx.Theme.ErrorText).Width(w) - // review := sidebar.viewCheckCategory("Review required", "Code owner review required", false) - review := m.viewReview() + review, rStatus := m.viewReviewStatus() + checks, cStatus := m.viewChecksStatus() + merge, mStatus := m.viewMergeStatus() + + borderColor := m.ctx.Theme.FaintBorder + if rStatus == statusFailure || cStatus == statusFailure || mStatus == statusFailure { + borderColor = m.ctx.Theme.ErrorText + } else if rStatus == statusSuccess && cStatus == statusSuccess && mStatus == statusSuccess { + borderColor = m.ctx.Theme.SuccessText + } + + box := lipgloss.NewStyle().Border(lipgloss.RoundedBorder()).BorderForeground(borderColor).Width(w) + + return lipgloss.JoinVertical(lipgloss.Left, + header, + box.Render(lipgloss.JoinVertical(lipgloss.Left, review, checks, merge)), + ) + +} + +func (m *Model) viewChecksStatus() (string, checkSectionStatus) { + checks := "" stats := m.getChecksStats() + var icon, title string + var status checkSectionStatus statStrs := make([]string, 0) - checksConclusion := m.viewChecksConclusionTitle() + if stats.failed > 0 { + icon = m.ctx.Styles.Common.FailureGlyph + title = "Some checks were not successful" + status = statusFailure + } else if stats.inProgress > 0 { + icon = m.ctx.Styles.Common.WaitingGlyph + title = "Some checks haven't completed yet" + status = statusWaiting + } else if stats.succeeded > 0 { + icon = m.ctx.Styles.Common.SuccessGlyph + title = "All checks have passed" + status = statusSuccess + } + if stats.failed > 0 { statStrs = append(statStrs, fmt.Sprintf("%d failing", stats.failed)) } @@ -33,52 +75,58 @@ func (m *Model) renderChecks() string { if stats.succeeded > 0 { statStrs = append(statStrs, fmt.Sprintf("%d successful", stats.succeeded)) } - - checks := "" - if checksConclusion != "" { + if title != "" { checksBar := m.viewChecksBar() checksBottom := lipgloss.JoinVertical(lipgloss.Left, strings.Join(statStrs, ", "), checksBar) - checks = m.viewCheckCategory(checksConclusion, checksBottom, false) + checks = m.viewCheckCategory(icon, title, checksBottom, false) } + return checks, status +} - mergeTitle := "" - mergeSub := "" - numReviewOwners := m.numReviewOwners() - if m.pr.Data.MergeStateStatus == "CLEAN" { - mergeTitle = m.ctx.Styles.Common.SuccessGlyph + " No conflicts with base branch" - mergeSub = "Changes can be cleanly merged" +func (m *Model) viewMergeStatus() (string, checkSectionStatus) { + var icon, title, subtitle string + var status checkSectionStatus + numReviewOwners := m.numRequestedReviewOwners() + if m.pr.Data.MergeStateStatus == "CLEAN" || m.pr.Data.MergeStateStatus == "UNSTABLE" { + icon = m.ctx.Styles.Common.SuccessGlyph + title = "No conflicts with base branch" + subtitle = "Changes can be cleanly merged" + status = statusSuccess + } else if m.pr.Data.IsDraft { + icon = m.ctx.Styles.Common.DraftGlyph + title = "This pull request is still a work in progress" + subtitle = "Draft pull requests cannot be merged" + status = statusWaiting } else if m.pr.Data.MergeStateStatus == "BLOCKED" { - mergeTitle = m.ctx.Styles.Common.FailureGlyph + " Merging is blocked" + icon = m.ctx.Styles.Common.FailureGlyph + title = "Merging is blocked" if numReviewOwners > 0 { - mergeSub = "Waiting on code owner review" + subtitle = "Waiting on code owner review" } + status = statusFailure } else if m.pr.Data.Mergeable == "CONFLICTING" { - mergeTitle = m.ctx.Styles.Common.FailureGlyph + " This branch has conflicts that must be resolved" + icon = m.ctx.Styles.Common.FailureGlyph + title = "This branch has conflicts that must be resolved" + status = statusFailure if m.pr.Data.MergeStateStatus == "CLEAN" { - mergeSub = "Changes can be cleanly merged" + subtitle = "Changes can be cleanly merged" } } - merge := m.viewCheckCategory(mergeTitle, mergeSub, true) - - return lipgloss.JoinVertical(lipgloss.Left, - title, - box.Render(lipgloss.JoinVertical(lipgloss.Left, review, checks, merge)), - ) - + return m.viewCheckCategory(icon, title, subtitle, true), status } -func (m *Model) viewReview() string { +func (m *Model) viewReviewStatus() (string, checkSectionStatus) { pr := m.pr if pr.Data == nil { - return "" + return "", statusWaiting } - var title, subtitle string - reviewCellStyle := lipgloss.NewStyle() - numReviewOwners := m.numReviewOwners() + var icon, title, subtitle string + var status checkSectionStatus + numReviewOwners := m.numRequestedReviewOwners() numApproving, numChangesRequested, numPending, numCommented := 0, 0, 0, 0 - for _, node := range pr.Data.LatestReviews.Nodes { + for _, node := range pr.Data.Reviews.Nodes { if node.State == "APPROVED" { numApproving++ } else if node.State == "CHANGES_REQUESTED" { @@ -91,36 +139,53 @@ func (m *Model) viewReview() string { } if pr.Data.ReviewDecision == "APPROVED" { - title = lipgloss.JoinHorizontal(lipgloss.Top, m.ctx.Styles.Common.SuccessGlyph, " ", "Changes approved") + icon = m.ctx.Styles.Common.SuccessGlyph + title = "Changes approved" subtitle = fmt.Sprintf("%d approving reviews", numApproving) + status = statusSuccess } else if pr.Data.ReviewDecision == "CHANGES_REQUESTED" { - title = lipgloss.JoinHorizontal(lipgloss.Top, m.ctx.Styles.Common.FailureGlyph, " ", "Changes requested") + icon = m.ctx.Styles.Common.FailureGlyph + title = "Changes requested" subtitle = fmt.Sprintf("%d requested changes", numChangesRequested) + status = statusFailure } else if pr.Data.ReviewDecision == "REVIEW_REQUIRED" { - title = reviewCellStyle.Render(pr.Ctx.Styles.Common.WaitingGlyph + " " + "Review Required") - if numReviewOwners > 0 { + icon = pr.Ctx.Styles.Common.WaitingGlyph + title = "Review Required" + + branchRules := m.pr.Data.Repository.BranchProtectionRules.Nodes + if len(branchRules) > 0 && branchRules[0].RequiresCodeOwnerReviews && numApproving < 1 { + subtitle = "Code owner review required" + status = statusFailure + } else if numApproving < numReviewOwners { subtitle = "Code owner review required" + status = statusFailure + } else if len(branchRules) > 0 && numApproving < branchRules[0].RequiredApprovingReviewCount { + subtitle = fmt.Sprintf("Need %d more approval", branchRules[0].RequiredApprovingReviewCount-numApproving) + status = statusWaiting } else if numCommented > 0 { subtitle = fmt.Sprintf("%d reviewers left comments", numCommented) + status = statusWaiting } } - return m.viewCheckCategory(title, subtitle, false) + return m.viewCheckCategory(icon, title, subtitle, false), status } -func (m *Model) viewCheckCategory(top, bottom string, isLast bool) string { +func (m *Model) viewCheckCategory(icon, title, subtitle string, isLast bool) string { w := m.getIndentedContentWidth() part := lipgloss.NewStyle(). Border(lipgloss.NormalBorder(), false, false, !isLast, false). BorderForeground(m.ctx.Theme.FaintBorder). Width(w). Padding(1) - title := lipgloss.NewStyle().Bold(true) - category := title.Render(top) - if bottom != "" { - subtitle := lipgloss.NewStyle().Foreground(m.ctx.Theme.FaintText) - category = lipgloss.JoinVertical(lipgloss.Left, category, subtitle.MarginLeft(2).Render(bottom)) + sTitle := lipgloss.NewStyle().Bold(true) + sSub := lipgloss.NewStyle().Foreground(m.ctx.Theme.FaintText) + + category := lipgloss.JoinHorizontal(lipgloss.Top, icon, " ", sTitle.Render(title)) + + if subtitle != "" { + category = lipgloss.JoinVertical(lipgloss.Left, category, sSub.MarginLeft(2).Render(subtitle)) } return part.Render(category) } @@ -166,71 +231,45 @@ func (m *Model) viewChecksBar() string { return strings.Join(sections, " ") } -func (m *Model) renderCheckRunConclusion(checkRun data.CheckRun) string { - conclusionStr := string(checkRun.Conclusion) - if data.IsStatusWaiting(string(checkRun.Status)) { - return m.ctx.Styles.Common.WaitingGlyph - } - - if data.IsConclusionAFailure(conclusionStr) { - return m.ctx.Styles.Common.FailureGlyph - } - - return m.ctx.Styles.Common.SuccessGlyph -} - -func (m *Model) renderStatusContextConclusion(statusContext data.StatusContext) string { - conclusionStr := string(statusContext.State) - if data.IsStatusWaiting(conclusionStr) { - return m.ctx.Styles.Common.WaitingGlyph - } - - if data.IsConclusionAFailure(conclusionStr) { - return m.ctx.Styles.Common.FailureGlyph - } - - return m.ctx.Styles.Common.SuccessGlyph -} - -func renderCheckRunName(checkRun data.CheckRun) string { - var parts []string - creator := strings.TrimSpace(string(checkRun.CheckSuite.Creator.Login)) - if creator != "" { - parts = append(parts, creator) - } - - workflow := strings.TrimSpace(string(checkRun.CheckSuite.WorkflowRun.Workflow.Name)) - if workflow != "" { - parts = append(parts, workflow) - } - - name := strings.TrimSpace(string(checkRun.Name)) - if name != "" { - parts = append(parts, name) - } - - return lipgloss.JoinHorizontal( - lipgloss.Top, - strings.Join(parts, "/"), - ) -} - -func renderStatusContextName(statusContext data.StatusContext) string { - var parts []string - creator := strings.TrimSpace(string(statusContext.Creator.Login)) - if creator != "" { - parts = append(parts, creator) - } - - context := strings.TrimSpace(string(statusContext.Context)) - if context != "" && context != "/" { - parts = append(parts, context) - } - return lipgloss.JoinHorizontal( - lipgloss.Top, - strings.Join(parts, "/"), - ) -} +// func renderCheckRunName(checkRun data.CheckRun) string { +// var parts []string +// creator := strings.TrimSpace(string(checkRun.CheckSuite.Creator.Login)) +// if creator != "" { +// parts = append(parts, creator) +// } +// +// workflow := strings.TrimSpace(string(checkRun.CheckSuite.WorkflowRun.Workflow.Name)) +// if workflow != "" { +// parts = append(parts, workflow) +// } +// +// name := strings.TrimSpace(string(checkRun.Name)) +// if name != "" { +// parts = append(parts, name) +// } +// +// return lipgloss.JoinHorizontal( +// lipgloss.Top, +// strings.Join(parts, "/"), +// ) +// } + +// func renderStatusContextName(statusContext data.StatusContext) string { +// var parts []string +// creator := strings.TrimSpace(string(statusContext.Creator.Login)) +// if creator != "" { +// parts = append(parts, creator) +// } +// +// context := strings.TrimSpace(string(statusContext.Context)) +// if context != "" && context != "/" { +// parts = append(parts, context) +// } +// return lipgloss.JoinHorizontal( +// lipgloss.Top, +// strings.Join(parts, "/"), +// ) +// } type checksStats struct { succeeded int @@ -266,27 +305,14 @@ func (m *Model) getChecksStats() checksStats { return res } -func (m *Model) viewChecksConclusionTitle() string { - stats := m.getChecksStats() - if stats.failed > 0 { - return m.ctx.Styles.Common.FailureGlyph + " Some checks were not successful" - } - if stats.inProgress > 0 { - return m.ctx.Styles.Common.WaitingGlyph + " Some checks haven't completed yet" - } - if stats.succeeded > 0 { - return m.ctx.Styles.Common.SuccessGlyph + " All checks have passed" - } - - return "" -} - -func (m *Model) numReviewOwners() int { +func (m *Model) numRequestedReviewOwners() int { numOwners := 0 + for _, node := range m.pr.Data.ReviewRequests.Nodes { if node.AsCodeOwner { numOwners++ } } + return numOwners }