diff --git a/last_update b/last_update index 40be5e27..fe2246f7 100644 --- a/last_update +++ b/last_update @@ -1 +1 @@ -2024-01-30T01:30:36Z \ No newline at end of file +2024-02-06T00:27:03Z \ No newline at end of file diff --git a/repositories/neovim/issues/10013.json b/repositories/neovim/issues/10013.json new file mode 100644 index 00000000..e82b8a3a --- /dev/null +++ b/repositories/neovim/issues/10013.json @@ -0,0 +1,187 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "\r\n\r\n- `nvim --version`: v0.4.0-610-g773bdd41e\r\n- Vim (version: ) behaves differently? Yes\r\n- Operating system/version: linux\r\n- Terminal name/version: lxterminal\r\n- `$TERM`:\r\n\r\n### Steps to reproduce using `nvim -u NORC`\r\n\r\n\r\n1. nvim -u NORC\r\n1. :h\r\n1. press `c` and then use hjkl, you will find curosr keep `_` shape\r\n1. you will find that cursor shape can't reset to block by `ESC`. \r\n\r\n### Actual behaviour\r\n\r\n### Expected behaviour\r\nThe cursor shape should be normal mode block.\r\n", + "closed_at": "2022-11-15T15:02:49Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "thanks for the repro steps, added to https://github.com/neovim/neovim/issues/7667.\r\n\r\nDuplicate of https://github.com/neovim/neovim/issues/7667", + "created_at": "2019-05-16T15:51:23Z", + "html_url": "https://github.com/neovim/neovim/issues/10013#issuecomment-493124924", + "id": 493124924, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/10013", + "node_id": "MDEyOklzc3VlQ29tbWVudDQ5MzEyNDkyNA==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/493124924/reactions" + }, + "updated_at": "2022-11-15T23:24:47Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/493124924", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "MEMBER", + "body": "Is this really a duplicate of #7667? The steps to reproduce looks completely different.", + "created_at": "2022-11-14T12:21:16Z", + "html_url": "https://github.com/neovim/neovim/issues/10013#issuecomment-1313602263", + "id": 1313602263, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/10013", + "node_id": "IC_kwDOAPphoM5OS_rX", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1313602263/reactions" + }, + "updated_at": "2022-11-15T23:25:10Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1313602263", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + } + ], + "comments": 2, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/10013/comments", + "created_at": "2019-05-16T01:35:30Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/10013/events", + "html_url": "https://github.com/neovim/neovim/issues/10013", + "id": 444714207, + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "", + "id": 113026979, + "name": "ui", + "node_id": "MDU6TGFiZWwxMTMwMjY5Nzk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/ui" + }, + { + "color": "F9D0C4", + "default": false, + "description": "wrong behavior inherited from vim", + "id": 154310492, + "name": "bug-vim", + "node_id": "MDU6TGFiZWwxNTQzMTA0OTI=", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug-vim" + }, + { + "color": "BFDADC", + "default": false, + "description": "Low-risk. Do NOT ask \"can I work on this\", just read CONTRIBUTING.md", + "id": 407246773, + "name": "complexity:low", + "node_id": "MDU6TGFiZWw0MDcyNDY3NzM=", + "url": "https://api.github.com/repos/neovim/neovim/labels/complexity:low" + }, + { + "color": "0E8A16", + "default": false, + "description": "issue contains minimal reproducing steps", + "id": 435851959, + "name": "has:repro", + "node_id": "MDU6TGFiZWw0MzU4NTE5NTk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/has:repro" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/10013/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "MDU6SXNzdWU0NDQ3MTQyMDc=", + "number": 10013, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/10013/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "completed", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/10013/timeline", + "title": "cursor shape not reset when use operator 'c' with 'modifiable' is off", + "updated_at": "2024-02-05T00:59:49Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/10013", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/19503791?v=4", + "events_url": "https://api.github.com/users/zgpio/events{/privacy}", + "followers_url": "https://api.github.com/users/zgpio/followers", + "following_url": "https://api.github.com/users/zgpio/following{/other_user}", + "gists_url": "https://api.github.com/users/zgpio/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zgpio", + "id": 19503791, + "login": "zgpio", + "node_id": "MDQ6VXNlcjE5NTAzNzkx", + "organizations_url": "https://api.github.com/users/zgpio/orgs", + "received_events_url": "https://api.github.com/users/zgpio/received_events", + "repos_url": "https://api.github.com/users/zgpio/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zgpio/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zgpio/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zgpio" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/11391.json b/repositories/neovim/issues/11391.json new file mode 100644 index 00000000..267be1dc --- /dev/null +++ b/repositories/neovim/issues/11391.json @@ -0,0 +1,170 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "body": "```\r\n[OLDTEST] Running test_visual\r\nrunnvim.sh: line 3: 1932 Segmentation fault \"$nvim_prg\" -u NONE -i NONE --headless --cmd 'set shortmess+=I noswapfile noundofile nomore' -S runnvim.vim \"$tlog\" > \"out-$tlog\" 2> \"err-$tlog\"\r\n```\r\n\r\nSaw `test_visual` failure for the first time: https://ci.appveyor.com/project/neovim/neovim/branch/master/job/4r5omqm083m68wnt", + "closed_at": "2024-02-04T04:47:30Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "I don't think this is still a problem.", + "created_at": "2024-02-04T04:47:30Z", + "html_url": "https://github.com/neovim/neovim/issues/11391#issuecomment-1925579830", + "id": 1925579830, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/11391", + "node_id": "IC_kwDOAPphoM5yxgQ2", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925579830/reactions" + }, + "updated_at": "2024-02-04T04:47:30Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925579830", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + } + ], + "comments": 1, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/11391/comments", + "created_at": "2019-11-14T07:43:31Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/11391/events", + "html_url": "https://github.com/neovim/neovim/issues/11391", + "id": 522681498, + "labels": [ + { + "color": "d4c5f9", + "default": false, + "description": null, + "id": 109461219, + "name": "platform:windows", + "node_id": "MDU6TGFiZWwxMDk0NjEyMTk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/platform:windows" + }, + { + "color": "c5def5", + "default": false, + "description": "", + "id": 110418643, + "name": "test", + "node_id": "MDU6TGFiZWwxMTA0MTg2NDM=", + "url": "https://api.github.com/repos/neovim/neovim/labels/test" + }, + { + "color": "F9D0C4", + "default": false, + "description": "issue reporting a crash or segfault", + "id": 435854234, + "name": "bug-crash", + "node_id": "MDU6TGFiZWw0MzU4NTQyMzQ=", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug-crash" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/11391/labels{/name}", + "locked": false, + "milestone": { + "closed_at": null, + "closed_issues": 599, + "created_at": "2014-05-10T20:43:04Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + }, + "description": "Low priority. Not planned for the current target, may be reassigned.", + "due_on": null, + "html_url": "https://github.com/neovim/neovim/milestone/6", + "id": 655037, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/6/labels", + "node_id": "MDk6TWlsZXN0b25lNjU1MDM3", + "number": 6, + "open_issues": 424, + "state": "open", + "title": "backlog", + "updated_at": "2024-02-05T01:01:45Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/6" + }, + "node_id": "MDU6SXNzdWU1MjI2ODE0OTg=", + "number": 11391, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/11391/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "completed", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/11391/timeline", + "title": "test/Windows: test_visual crash", + "updated_at": "2024-02-04T04:47:31Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/11391", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/13264.json b/repositories/neovim/issues/13264.json new file mode 100644 index 00000000..d247f76e --- /dev/null +++ b/repositories/neovim/issues/13264.json @@ -0,0 +1,152 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "body": "\r\n\r\n- `nvim --version`:\r\n```\r\n$ vim --version\r\nNVIM v0.4.4\r\nBuild type: Release\r\nLuaJIT 2.1.0-beta3\r\nCompilation: \r\nCompiled by nixbld\r\n\r\nFeatures: +acl +iconv +tui\r\nSee \":help feature-compile\"\r\n\r\n system vimrc file: \"$VIM/sysinit.vim\"\r\n fall-back for $VIM: \"\r\n/nix/store/y2dpkdd668fd4lv28xhxgmr4acfliy94-neovim-unwrapped-0.4.4/share/nvim\r\n\"\r\n\r\nRun :checkhealth for more info\r\n```\r\n- `vim -u DEFAULTS` (version: ) behaves differently?\r\n- Operating system/version: NixOS 20.09 (but also observed it on MacOS)\r\n- Terminal name/version: Kitty, (also iTerm2 on MacOS)\r\n- `$TERM`: xterm-kitty, (also something else on MacOS)\r\n\r\n### Steps to reproduce using `nvim -u NORC`\r\n\r\nI don't have a deterministic reproducer for now, unfortunately. This tends to happen after running `:grep something` several times, where my grepprg is `git grep -n`. \r\n\r\n```\r\nnvim -u NORC\r\n# Alternative for shell-related problems:\r\n# env -i TERM=ansi-256color \"$(which nvim)\"\r\n\r\n```\r\n\r\n### Actual behaviour\r\n\r\nPressing Ctrl-L doesn't fix the issue, only clears the \"corrupted\" bottom-half of the screen (but the window still keeps looking as if it was split). The bottom \"split\" is not possible to switch into by e.g. pressing Ctrl-W key combos. This \"corrupted split\" stays on a tab. After switching to it from a different tab, it keeps displaying the bottom half of that other tab. See the animated gif below.\r\n\r\n![neovim problem](https://user-images.githubusercontent.com/273837/98606705-036a7e80-22e8-11eb-9c74-90ce18e09e16.gif)\r\n\r\n\r\n### Expected behaviour\r\n\r\nNo weird fake corrupted \"split\" should suddenly appear on screen after running `:grep`.", + "closed_at": null, + "comment_data": [ + { + "author_association": "MEMBER", + "body": "Does this bug still exist?", + "created_at": "2024-02-05T01:06:12Z", + "html_url": "https://github.com/neovim/neovim/issues/13264#issuecomment-1926040189", + "id": 1926040189, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/13264", + "node_id": "IC_kwDOAPphoM5yzQp9", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926040189/reactions" + }, + "updated_at": "2024-02-05T01:06:12Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926040189", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + } + ], + "comments": 1, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/13264/comments", + "created_at": "2020-11-09T23:15:39Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/13264/events", + "html_url": "https://github.com/neovim/neovim/issues/13264", + "id": 739438431, + "labels": [ + { + "color": "f9d0c4", + "default": true, + "description": "issues reporting wrong behavior", + "id": 77997474, + "name": "bug", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3NA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug" + }, + { + "color": "c5def5", + "default": false, + "description": "", + "id": 197254545, + "name": "tui", + "node_id": "MDU6TGFiZWwxOTcyNTQ1NDU=", + "url": "https://api.github.com/repos/neovim/neovim/labels/tui" + }, + { + "color": "FBCA04", + "default": false, + "description": "waiting for reply from the author", + "id": 248229439, + "name": "needs:response", + "node_id": "MDU6TGFiZWwyNDgyMjk0Mzk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/needs:response" + }, + { + "color": "FBCA04", + "default": false, + "description": "We need minimal steps to reproduce the issue", + "id": 298863445, + "name": "needs:repro", + "node_id": "MDU6TGFiZWwyOTg4NjM0NDU=", + "url": "https://api.github.com/repos/neovim/neovim/labels/needs:repro" + }, + { + "color": "c5def5", + "default": false, + "description": "redraw", + "id": 718084050, + "name": "display", + "node_id": "MDU6TGFiZWw3MTgwODQwNTA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/display" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/13264/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "MDU6SXNzdWU3Mzk0Mzg0MzE=", + "number": 13264, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/13264/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/13264/timeline", + "title": "Occasional screen corruption after :grep", + "updated_at": "2024-02-05T01:06:18Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/13264", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/273837?v=4", + "events_url": "https://api.github.com/users/akavel/events{/privacy}", + "followers_url": "https://api.github.com/users/akavel/followers", + "following_url": "https://api.github.com/users/akavel/following{/other_user}", + "gists_url": "https://api.github.com/users/akavel/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/akavel", + "id": 273837, + "login": "akavel", + "node_id": "MDQ6VXNlcjI3MzgzNw==", + "organizations_url": "https://api.github.com/users/akavel/orgs", + "received_events_url": "https://api.github.com/users/akavel/received_events", + "repos_url": "https://api.github.com/users/akavel/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/akavel/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/akavel/subscriptions", + "type": "User", + "url": "https://api.github.com/users/akavel" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/13484.json b/repositories/neovim/issues/13484.json index cd550cd2..f21039b1 100644 --- a/repositories/neovim/issues/13484.json +++ b/repositories/neovim/issues/13484.json @@ -49,9 +49,53 @@ "type": "User", "url": "https://api.github.com/users/justinmk" } + }, + { + "author_association": "CONTRIBUTOR", + "body": "If the conclusion is that they should not be written to `:messages` whatsoever, then would the solution be to just use echo instead of echomsg by default? And also remove the option from 'shortmess'", + "created_at": "2024-02-03T13:57:21Z", + "html_url": "https://github.com/neovim/neovim/issues/13484#issuecomment-1925328597", + "id": 1925328597, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/13484", + "node_id": "IC_kwDOAPphoM5ywi7V", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925328597/reactions" + }, + "updated_at": "2024-02-03T13:57:21Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925328597", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/116819854?v=4", + "events_url": "https://api.github.com/users/eduardorittner/events{/privacy}", + "followers_url": "https://api.github.com/users/eduardorittner/followers", + "following_url": "https://api.github.com/users/eduardorittner/following{/other_user}", + "gists_url": "https://api.github.com/users/eduardorittner/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/eduardorittner", + "id": 116819854, + "login": "eduardorittner", + "node_id": "U_kgDOBvaHjg", + "organizations_url": "https://api.github.com/users/eduardorittner/orgs", + "received_events_url": "https://api.github.com/users/eduardorittner/received_events", + "repos_url": "https://api.github.com/users/eduardorittner/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/eduardorittner/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/eduardorittner/subscriptions", + "type": "User", + "url": "https://api.github.com/users/eduardorittner" + } } ], - "comments": 1, + "comments": 2, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/13484/comments", "created_at": "2020-12-08T04:04:57Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/13484/events", @@ -70,7 +114,7 @@ { "color": "BFDADC", "default": false, - "description": "Low-risk, unlikely to cause distant/indirect damage", + "description": "Low-risk. Do NOT ask \"can I work on this\", just read CONTRIBUTING.md", "id": 407246773, "name": "complexity:low", "node_id": "MDU6TGFiZWw0MDcyNDY3NzM=", @@ -90,7 +134,7 @@ "locked": false, "milestone": { "closed_at": null, - "closed_issues": 590, + "closed_issues": 599, "created_at": "2014-05-10T20:43:04Z", "creator": { "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", @@ -119,10 +163,10 @@ "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/6/labels", "node_id": "MDk6TWlsZXN0b25lNjU1MDM3", "number": 6, - "open_issues": 408, + "open_issues": 424, "state": "open", "title": "backlog", - "updated_at": "2023-11-07T14:47:30Z", + "updated_at": "2024-02-05T01:01:45Z", "url": "https://api.github.com/repos/neovim/neovim/milestones/6" }, "node_id": "MDU6SXNzdWU3NTkwNDI2MDA=", @@ -145,7 +189,7 @@ "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/13484/timeline", "title": ":messages shows \"search hit BOTTOM, continuing at TOP\"", - "updated_at": "2023-11-09T21:44:36Z", + "updated_at": "2024-02-03T13:57:22Z", "url": "https://api.github.com/repos/neovim/neovim/issues/13484", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/802511?v=4", diff --git a/repositories/neovim/issues/14315.json b/repositories/neovim/issues/14315.json index 509f6c35..52cdd142 100644 --- a/repositories/neovim/issues/14315.json +++ b/repositories/neovim/issues/14315.json @@ -4,7 +4,7 @@ "assignees": [], "author_association": "CONTRIBUTOR", "body": "Hello. Perhaps this is already planned, but I couldn't find it. Obviously feel free to close if it the request exists.\r\n\r\nWe have `vim.api.nvim_open_win`, but it only supports opening floating windows.\r\n\r\nIt'd be nice to have a way to create normal windows from Lua. In particular, this code I wrote (or really cargo culted) to do so with command mode is slightly clunky to me:\r\n\r\n```lua\r\n vim.cmd \"vsplit\"\r\n vim.cmd(string.format(\"buffer %d\", bufnr))\r\n\r\n local winnr = vim.api.nvim_win_get_number(0)\r\n\r\n for name, value in pairs(_DEFAULT_WIN_OPTIONS) do\r\n vim.api.nvim_win_set_option(winnr, name, value)\r\n end\r\n vim.api.nvim_set_current_win(current_window)\r\n```\r\n\r\nIt'd instead be nice to have either a new function `nvim_create_win` (or `nvim_split_win`, doesn't matter much) or an extension of `nvim_open_win` for non-floating windows which looked like:\r\n\r\n```lua\r\nvim.api.nvim_create_win(\r\n bufnr_to_put_in_the_window_or_0_to_use_the_current_buffer,\r\n opts = {\r\n vertical = true,\r\n window_opts = {\r\n 'filename' = 'foobar',\r\n 'wrap' = false,\r\n 'textwidth' = 37,\r\n } \r\n }\r\n)\r\n```\r\n\r\nand which returns the `winnr` (as `nvim_buf_create` returns the `bufnr`).", - "closed_at": null, + "closed_at": "2024-02-01T03:43:36Z", "comment_data": [ { "author_association": "CONTRIBUTOR", @@ -228,11 +228,11 @@ "url": "https://api.github.com/repos/neovim/neovim/issues/14315/reactions" }, "repository_url": "https://api.github.com/repos/neovim/neovim", - "state": "open", - "state_reason": null, + "state": "closed", + "state_reason": "completed", "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/14315/timeline", "title": "nvim_open_win(): support normal (non-floating) windows", - "updated_at": "2024-01-26T20:11:15Z", + "updated_at": "2024-02-01T03:43:36Z", "url": "https://api.github.com/repos/neovim/neovim/issues/14315", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/329822?v=4", diff --git a/repositories/neovim/issues/14447.json b/repositories/neovim/issues/14447.json new file mode 100644 index 00000000..8a598a23 --- /dev/null +++ b/repositories/neovim/issues/14447.json @@ -0,0 +1,187 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "NVIM v0.5.0-dev+1178-gf0ace6d41, archlinux, xfce4-terminal\r\n\r\nUnfortunately, this issue appears to occur randomly (and rarely); I can't seem to get a reproduction with a minimal init.vim.\r\nNext time this issue occurs, I will try to carefuly reproduce the exact circumstances of the crash to see if it will reproduce and I will comment my results on this issue.\r\nRegardless, I thought I would go ahead and make an issue with just the backtrace in the edge case that someone could already figure out what's going on.\r\n```\r\n#0 0x00007f383320478c in __memmove_avx_unaligned_erms () from /usr/lib/libc.so.6\r\n#1 0x000055a34b7852d6 in memmove (__len=, __src=, __dest=, __dest=, __src=, __len=)\r\n at /usr/include/bits/string_fortified.h:36\r\n#2 ml_flush_line (buf=buf@entry=0x55a34ea256e0) at /home/ryan/.cache/yay/neovim-git/src/neovim-git/src/nvim/memline.c:2802\r\n#3 0x000055a34b785b16 in ml_replace_buf (buf=0x55a34ea256e0, lnum=4, line=0x55a34e63b540 \" ~/d/items master gws\", copy=)\r\n at /home/ryan/.cache/yay/neovim-git/src/neovim-git/src/nvim/memline.c:2453\r\n#4 0x000055a34b785b8d in ml_replace (lnum=, line=, copy=) at /home/ryan/.cache/yay/neovim-git/src/neovim-git/src/nvim/memline.c:2423\r\n#5 0x000055a34b85aa76 in refresh_screen (term=term@entry=0x55a34e9f7210, buf=buf@entry=0x55a34ea256e0) at /home/ryan/.cache/yay/neovim-git/src/neovim-git/src/nvim/terminal.c:1352\r\n#6 0x000055a34b85ab79 in refresh_terminal (term=0x55a34e9f7210) at /home/ryan/.cache/yay/neovim-git/src/neovim-git/src/nvim/terminal.c:1231\r\n#7 0x000055a34b85ad98 in refresh_timer_cb (watcher=, data=) at /home/ryan/.cache/yay/neovim-git/src/neovim-git/src/nvim/terminal.c:1248\r\n#8 0x000055a34b6fb3e9 in time_event (argv=) at /home/ryan/.cache/yay/neovim-git/src/neovim-git/src/nvim/event/time.c:50\r\n#9 0x000055a34b8404c8 in state_handle_k_event () at /home/ryan/.cache/yay/neovim-git/src/neovim-git/src/nvim/state.c:87\r\n#10 0x000055a34b7aa255 in nv_event (cap=0x7fffa6f6ce38) at /home/ryan/.cache/yay/neovim-git/src/neovim-git/src/nvim/normal.c:8106\r\n#11 0x000055a34b7a2b12 in normal_execute (state=0x7fffa6f6cdb0, key=) at /home/ryan/.cache/yay/neovim-git/src/neovim-git/src/nvim/normal.c:1142\r\n#12 0x000055a34b8403ac in state_enter (s=0x7fffa6f6cdb0) at /home/ryan/.cache/yay/neovim-git/src/neovim-git/src/nvim/state.c:69\r\n#13 0x000055a34b79de81 in normal_enter (cmdwin=, noexmode=) at /home/ryan/.cache/yay/neovim-git/src/neovim-git/src/nvim/normal.c:463\r\n#14 0x000055a34b77271e in main (argc=-1493774576, argv=) at /home/ryan/.cache/yay/neovim-git/src/neovim-git/src/nvim/main.c:562\r\n```", + "closed_at": null, + "comment_data": [ + { + "author_association": "MEMBER", + "body": ">Next time this issue occurs, I will try to carefuly reproduce the exact circumstances of the crash to see if it will reproduce and I will comment my results on this issue.\r\n\r\nAnother thing you could try to do is run all your neovim instances under [rr](https://github.com/rr-debugger/rr). This will record the whole execution of neovim and let you replay it as many times as you need :).", + "created_at": "2021-04-28T10:45:06Z", + "html_url": "https://github.com/neovim/neovim/issues/14447#issuecomment-828354543", + "id": 828354543, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/14447", + "node_id": "MDEyOklzc3VlQ29tbWVudDgyODM1NDU0Mw==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/828354543/reactions" + }, + "updated_at": "2021-04-28T10:45:06Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/828354543", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/11534587?v=4", + "events_url": "https://api.github.com/users/glacambre/events{/privacy}", + "followers_url": "https://api.github.com/users/glacambre/followers", + "following_url": "https://api.github.com/users/glacambre/following{/other_user}", + "gists_url": "https://api.github.com/users/glacambre/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glacambre", + "id": 11534587, + "login": "glacambre", + "node_id": "MDQ6VXNlcjExNTM0NTg3", + "organizations_url": "https://api.github.com/users/glacambre/orgs", + "received_events_url": "https://api.github.com/users/glacambre/received_events", + "repos_url": "https://api.github.com/users/glacambre/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glacambre/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glacambre/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glacambre" + } + }, + { + "author_association": "MEMBER", + "body": "Running a build with ASAN enabled might also be helpful.", + "created_at": "2021-04-28T15:03:19Z", + "html_url": "https://github.com/neovim/neovim/issues/14447#issuecomment-828529924", + "id": 828529924, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/14447", + "node_id": "MDEyOklzc3VlQ29tbWVudDgyODUyOTkyNA==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/828529924/reactions" + }, + "updated_at": "2021-04-28T15:03:19Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/828529924", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/112971?v=4", + "events_url": "https://api.github.com/users/jamessan/events{/privacy}", + "followers_url": "https://api.github.com/users/jamessan/followers", + "following_url": "https://api.github.com/users/jamessan/following{/other_user}", + "gists_url": "https://api.github.com/users/jamessan/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/jamessan", + "id": 112971, + "login": "jamessan", + "node_id": "MDQ6VXNlcjExMjk3MQ==", + "organizations_url": "https://api.github.com/users/jamessan/orgs", + "received_events_url": "https://api.github.com/users/jamessan/received_events", + "repos_url": "https://api.github.com/users/jamessan/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/jamessan/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jamessan/subscriptions", + "type": "User", + "url": "https://api.github.com/users/jamessan" + } + } + ], + "comments": 2, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/14447/comments", + "created_at": "2021-04-27T03:39:03Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/14447/events", + "html_url": "https://github.com/neovim/neovim/issues/14447", + "id": 868423710, + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "built-in :terminal or :shell", + "id": 212696822, + "name": "terminal", + "node_id": "MDU6TGFiZWwyMTI2OTY4MjI=", + "url": "https://api.github.com/repos/neovim/neovim/labels/terminal" + }, + { + "color": "FBCA04", + "default": false, + "description": "We need minimal steps to reproduce the issue", + "id": 298863445, + "name": "needs:repro", + "node_id": "MDU6TGFiZWwyOTg4NjM0NDU=", + "url": "https://api.github.com/repos/neovim/neovim/labels/needs:repro" + }, + { + "color": "0E8A16", + "default": false, + "description": "issue contains a stacktrace/ASAN log", + "id": 435854079, + "name": "has:backtrace", + "node_id": "MDU6TGFiZWw0MzU4NTQwNzk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/has:backtrace" + }, + { + "color": "F9D0C4", + "default": false, + "description": "issue reporting a crash or segfault", + "id": 435854234, + "name": "bug-crash", + "node_id": "MDU6TGFiZWw0MzU4NTQyMzQ=", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug-crash" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/14447/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "MDU6SXNzdWU4Njg0MjM3MTA=", + "number": 14447, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/14447/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/14447/timeline", + "title": "Occasional crash (segfault) when closing (and saving) with `nvr --remote-wait` in ml_replace_buf", + "updated_at": "2024-02-04T04:41:16Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/14447", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8813096?v=4", + "events_url": "https://api.github.com/users/rgreenblatt/events{/privacy}", + "followers_url": "https://api.github.com/users/rgreenblatt/followers", + "following_url": "https://api.github.com/users/rgreenblatt/following{/other_user}", + "gists_url": "https://api.github.com/users/rgreenblatt/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/rgreenblatt", + "id": 8813096, + "login": "rgreenblatt", + "node_id": "MDQ6VXNlcjg4MTMwOTY=", + "organizations_url": "https://api.github.com/users/rgreenblatt/orgs", + "received_events_url": "https://api.github.com/users/rgreenblatt/received_events", + "repos_url": "https://api.github.com/users/rgreenblatt/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/rgreenblatt/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/rgreenblatt/subscriptions", + "type": "User", + "url": "https://api.github.com/users/rgreenblatt" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/15898.json b/repositories/neovim/issues/15898.json new file mode 100644 index 00000000..6d87f7f4 --- /dev/null +++ b/repositories/neovim/issues/15898.json @@ -0,0 +1,505 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Neovim version (nvim -v)\r\n\r\n0.5.1\r\n\r\n### Vim (not Nvim) behaves the same?\r\n\r\n8.2.3450 \r\n\r\n### Operating system/version\r\n\r\nmacOS 11.2.1\r\n\r\n### Terminal name/version\r\n\r\nkitty 0.23.1\r\n\r\n### $TERM environment variable\r\n\r\nxterm-kitty\r\n\r\n### Installation\r\n\r\nbrew install nvim\r\n\r\n### How to reproduce the issue\r\n\r\nI have documented the bug on https://github.com/kovidgoyal/kitty/issues/4094 , and I am not sure if it is a neovim bug, but it does not happen using `vim 8.2.3450`, so you might still want to take a look.\r\n\r\nUpdate: Based on Kitty's maintainer responses, this is likely to be a neovim issue.\r\n\r\n### Expected behavior\r\n\r\n_\r\n\r\n### Actual behavior\r\n\r\n_", + "closed_at": null, + "comment_data": [ + { + "author_association": "MEMBER", + "body": "There's a lot of noise and discussion in that thread. Please submit, in this issue, full reproduction steps for _nvim_ and then show us a screenshot of actual behavior from _nvim_ (+ expected behaviour from vim or some other editor without the issue, or nvim in some other mode), otherwise we need to close this issue for being vague and unactionable.", + "created_at": "2021-10-04T11:23:58Z", + "html_url": "https://github.com/neovim/neovim/issues/15898#issuecomment-933389589", + "id": 933389589, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/15898", + "node_id": "IC_kwDOAPphoM43omUV", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/933389589/reactions" + }, + "updated_at": "2021-10-04T11:24:33Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/933389589", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + } + }, + { + "author_association": "NONE", + "body": "@clason @bfredl Okay, I'll copy the most relevant bits from that thread over.\r\n\r\n---\r\n\r\nPrescript: I have no idea if these two bugs are related or not. Feel free to create two separate issues if you think they are unrelated, which I increasingly suspect.\r\n\r\n# First bug (`weird.txt`)\r\nSteps to reproduce the behavior:\r\n1. `command kitty --config=/dev/null` to launch the `kitty` terminal emulator; Run the rest of the steps inside `kitty`.\r\n2. `curl https://files.lilf.ir/tmp/weird.txt > weird.txt`\r\n3. `nvim weird.txt`\r\n4. Try deleting the `e` in `note` and type `A`. The corruption is obvious:\r\n\"image\"\r\n\r\n\r\nThis bug reproduces with nvim on Kitty and iTerm, but not on Alacritty or Terminal.app.\r\n\r\n\r\nI have also reproduced the bug on Ubuntu 20 via SSH, so it happens on both macOS and Linux, at least when the terminal emulator runs from macOS.\r\n\r\n\r\n`vim` works correctly:\r\n\"image\"\r\n\r\n\r\n# Second bug (`bug_ltr.txt`)\r\n1. `command kitty --config=/dev/null` to launch the `kitty` terminal emulator; Run the rest of the steps inside `kitty`.\r\n2. `curl https://files.lilf.ir/tmp/bug_ltr.txt > bug_ltr.txt`\r\n2. Do `cat bug_ltr.txt` and note the output:\r\n\"image\"\r\n3. `nvim bug_ltr.txt`\r\n\"image\"\r\n4. Note the corruption; In particular, the line `#+TITLE: sharif/contact info` is not displayed at all, and the mode-line is displayed incorrectly.\r\n\r\n\r\n\r\nThis bug reproduces with nvim, on Kitty, and not on iTerm, Alacritty, or Terminal.app. This is presumably because the other terminal emulators do not support unicode variation selectors, and so the two bugs cancel each other out.\r\n\r\n\r\n`vim` still works correctly though:\r\n\"image\"\r\n\r\n\r\nRemoving the unicode variation selectors in `bug_ltr.txt` will make the bug go away:\r\n\"image\"\r\n\r\nI used this code to remove the variation selectors:\r\n```go\r\npackage main\r\n\r\nimport (\r\n\t\"fmt\"\r\n\t\"io/ioutil\"\r\n\t\"unicode\"\r\n\t\"os\"\r\n\t\"log\"\r\n)\r\n\r\nfunc main() {\r\n\tinBytes, err := ioutil.ReadAll(os.Stdin)\r\n\tif err != nil {\r\n\t\tlog.Fatalln(err.Error())\r\n\t}\r\n\tinput := string(inBytes)\r\n\r\n\toutput := make([]rune, 0)\r\n\tfor _, rune := range input {\r\n\t\tif ! unicode.In(rune, unicode.Variation_Selector) {\r\n\t\t\toutput = append(output, rune)\r\n\t\t}\r\n\t}\r\n\r\n\tfmt.Printf(\"%s\", string(output))\r\n\r\n}\r\n```\r\n\r\n\r\n**Environment details**\r\n```\r\nnvim: 0.5.1\r\nkitty: 0.23.1\r\nTERM: xterm-kitty\r\nmacOS: 11.2.1\r\n\r\nImportant settings:\r\n value of $LC_ALL: en_US.UTF-8\r\n value of $LANG: en_US.UTF-8\r\n locale-coding-system: utf-8-unix\r\n```\r\n\r\nI have attached the reproduction files here as well:\r\n- [bug_ltr.txt](https://github.com/kovidgoyal/kitty/files/7276937/bug_ltr.txt)\r\n- [bug.txt](https://github.com/kovidgoyal/kitty/files/7276629/bug.txt)\r\n- [weird.txt](https://github.com/kovidgoyal/kitty/files/7276630/weird.txt)", + "created_at": "2021-10-04T12:42:50Z", + "html_url": "https://github.com/neovim/neovim/issues/15898#issuecomment-933445838", + "id": 933445838, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/15898", + "node_id": "IC_kwDOAPphoM43o0DO", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/933445838/reactions" + }, + "updated_at": "2021-10-04T12:47:37Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/933445838", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/60806622?v=4", + "events_url": "https://api.github.com/users/batbone/events{/privacy}", + "followers_url": "https://api.github.com/users/batbone/followers", + "following_url": "https://api.github.com/users/batbone/following{/other_user}", + "gists_url": "https://api.github.com/users/batbone/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/batbone", + "id": 60806622, + "login": "batbone", + "node_id": "MDQ6VXNlcjYwODA2NjIy", + "organizations_url": "https://api.github.com/users/batbone/orgs", + "received_events_url": "https://api.github.com/users/batbone/received_events", + "repos_url": "https://api.github.com/users/batbone/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/batbone/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/batbone/subscriptions", + "type": "User", + "url": "https://api.github.com/users/batbone" + } + }, + { + "author_association": "NONE", + "body": "Both issues seem to be caused by different assumptions about character widths between the terminal emulator programs and neovim. I suggest reading the original thread, but here is a summary:\r\n\r\n\r\n# `weird.txt`\r\n\r\n> The problematic character in the first example is U+00AD SOFT HYPHEN.\r\n> Kitty assumes that character is never rendered, and therefore\r\n> effectively treats it as zero-width character.\r\n\r\n(Presumably iTerm makes the same assumption as Kitty.)\r\n\r\n# `bug_ltr.txt`\r\n> The character pair U+25ab and U+FE0F must be rendered in two cells, as\r\n> U+FE0F converts U+25ab from *text presentation* to *emoji presentation*. And\r\n> emoji in terminals are rendered at width two.\r\n> \r\n> kitty does this, Terminal.app does not. emacs assumes it must be\r\n> rendered in one cell.\r\n\r\n(Presumably neovim makes the same assumption as emacs.)", + "created_at": "2021-10-04T15:45:34Z", + "html_url": "https://github.com/neovim/neovim/issues/15898#issuecomment-933614345", + "id": 933614345, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/15898", + "node_id": "IC_kwDOAPphoM43pdMJ", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/933614345/reactions" + }, + "updated_at": "2021-10-04T15:46:50Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/933614345", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/60806622?v=4", + "events_url": "https://api.github.com/users/batbone/events{/privacy}", + "followers_url": "https://api.github.com/users/batbone/followers", + "following_url": "https://api.github.com/users/batbone/following{/other_user}", + "gists_url": "https://api.github.com/users/batbone/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/batbone", + "id": 60806622, + "login": "batbone", + "node_id": "MDQ6VXNlcjYwODA2NjIy", + "organizations_url": "https://api.github.com/users/batbone/orgs", + "received_events_url": "https://api.github.com/users/batbone/received_events", + "repos_url": "https://api.github.com/users/batbone/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/batbone/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/batbone/subscriptions", + "type": "User", + "url": "https://api.github.com/users/batbone" + } + }, + { + "author_association": "MEMBER", + "body": "There are some existing `wcwidth` related issues. I think this is the first one related to non-emoji characters though.\r\n\r\nThat thread also seems to mention U+FE0F, so #10026 may also be related.", + "created_at": "2021-10-04T21:48:34Z", + "html_url": "https://github.com/neovim/neovim/issues/15898#issuecomment-933882120", + "id": 933882120, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/15898", + "node_id": "IC_kwDOAPphoM43qekI", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/933882120/reactions" + }, + "updated_at": "2021-10-04T21:48:34Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/933882120", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "NONE", + "body": "@bfredl How are you handling older terminal emulators like Terminal.app where U+FE0F does NOT change the width?", + "created_at": "2021-10-05T07:26:13Z", + "html_url": "https://github.com/neovim/neovim/issues/15898#issuecomment-934140387", + "id": 934140387, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/15898", + "node_id": "IC_kwDOAPphoM43rdnj", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/934140387/reactions" + }, + "updated_at": "2021-10-05T07:26:13Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/934140387", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/60806622?v=4", + "events_url": "https://api.github.com/users/batbone/events{/privacy}", + "followers_url": "https://api.github.com/users/batbone/followers", + "following_url": "https://api.github.com/users/batbone/following{/other_user}", + "gists_url": "https://api.github.com/users/batbone/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/batbone", + "id": 60806622, + "login": "batbone", + "node_id": "MDQ6VXNlcjYwODA2NjIy", + "organizations_url": "https://api.github.com/users/batbone/orgs", + "received_events_url": "https://api.github.com/users/batbone/received_events", + "repos_url": "https://api.github.com/users/batbone/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/batbone/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/batbone/subscriptions", + "type": "User", + "url": "https://api.github.com/users/batbone" + } + }, + { + "author_association": "NONE", + "body": "I wonder if I found something similar to this issue. See below. Characters is not rendering correctly. My details are:\r\n\r\n```sh\r\nProductName:\tmacOS\r\nProductVersion:\t11.6\r\nBuildVersion:\t20G165\r\n\r\nNVIM v0.6.0-dev+513-ga5d6f36fc\r\nBuild type: Release\r\nLuaJIT 2.1.0-beta3\r\n +acl +iconv +tui\r\n\r\nkitty 0.23.1 created by Kovid Goyal\r\n\r\n```\r\n\r\nhttps://user-images.githubusercontent.com/27214625/139048044-e64e772f-a491-4575-8b5d-db94a9d5d814.mov\r\n\r\n\r\nhttps://user-images.githubusercontent.com/27214625/139048443-8fb912c3-5abe-44e9-97e6-ef3b919891a0.mov\r\n\r\n:\r\n", + "created_at": "2021-10-27T10:27:47Z", + "html_url": "https://github.com/neovim/neovim/issues/15898#issuecomment-952774372", + "id": 952774372, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/15898", + "node_id": "IC_kwDOAPphoM44yi7k", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/952774372/reactions" + }, + "updated_at": "2021-10-27T10:27:47Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/952774372", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/27214625?v=4", + "events_url": "https://api.github.com/users/atanasj/events{/privacy}", + "followers_url": "https://api.github.com/users/atanasj/followers", + "following_url": "https://api.github.com/users/atanasj/following{/other_user}", + "gists_url": "https://api.github.com/users/atanasj/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/atanasj", + "id": 27214625, + "login": "atanasj", + "node_id": "MDQ6VXNlcjI3MjE0NjI1", + "organizations_url": "https://api.github.com/users/atanasj/orgs", + "received_events_url": "https://api.github.com/users/atanasj/received_events", + "repos_url": "https://api.github.com/users/atanasj/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/atanasj/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/atanasj/subscriptions", + "type": "User", + "url": "https://api.github.com/users/atanasj" + } + }, + { + "author_association": "MEMBER", + "body": "Is this still an issue?", + "created_at": "2024-01-31T00:07:05Z", + "html_url": "https://github.com/neovim/neovim/issues/15898#issuecomment-1918122482", + "id": 1918122482, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/15898", + "node_id": "IC_kwDOAPphoM5yVDny", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918122482/reactions" + }, + "updated_at": "2024-01-31T00:07:05Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918122482", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "NONE", + "body": "@justinmk I just tested it and it seems there is no longer an issue. But I am not using `nvim` much nowadays, so others should also chime in.\r\n\r\n```\r\n❯ nvim --version \r\nNVIM v0.9.1\r\nBuild type: Release\r\nLuaJIT 2.1.1700008891\r\n```\r\n", + "created_at": "2024-01-31T11:44:58Z", + "html_url": "https://github.com/neovim/neovim/issues/15898#issuecomment-1918944911", + "id": 1918944911, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/15898", + "node_id": "IC_kwDOAPphoM5yYMaP", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918944911/reactions" + }, + "updated_at": "2024-01-31T11:45:16Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918944911", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/36224762?v=4", + "events_url": "https://api.github.com/users/NightMachinery/events{/privacy}", + "followers_url": "https://api.github.com/users/NightMachinery/followers", + "following_url": "https://api.github.com/users/NightMachinery/following{/other_user}", + "gists_url": "https://api.github.com/users/NightMachinery/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/NightMachinery", + "id": 36224762, + "login": "NightMachinery", + "node_id": "MDQ6VXNlcjM2MjI0NzYy", + "organizations_url": "https://api.github.com/users/NightMachinery/orgs", + "received_events_url": "https://api.github.com/users/NightMachinery/received_events", + "repos_url": "https://api.github.com/users/NightMachinery/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/NightMachinery/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/NightMachinery/subscriptions", + "type": "User", + "url": "https://api.github.com/users/NightMachinery" + } + } + ], + "comments": 8, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/15898/comments", + "created_at": "2021-10-04T08:18:15Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/15898/events", + "html_url": "https://github.com/neovim/neovim/issues/15898", + "id": 1014873043, + "labels": [ + { + "color": "f9d0c4", + "default": true, + "description": "issues reporting wrong behavior", + "id": 77997474, + "name": "bug", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3NA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug" + }, + { + "color": "c5def5", + "default": false, + "description": "user system environment (terminal, shell, tmux)", + "id": 147354524, + "name": "environment", + "node_id": "MDU6TGFiZWwxNDczNTQ1MjQ=", + "url": "https://api.github.com/repos/neovim/neovim/labels/environment" + }, + { + "color": "c5def5", + "default": false, + "description": "", + "id": 197254545, + "name": "tui", + "node_id": "MDU6TGFiZWwxOTcyNTQ1NDU=", + "url": "https://api.github.com/repos/neovim/neovim/labels/tui" + }, + { + "color": "FBCA04", + "default": false, + "description": "waiting for reply from the author", + "id": 248229439, + "name": "needs:response", + "node_id": "MDU6TGFiZWwyNDgyMjk0Mzk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/needs:response" + }, + { + "color": "c5def5", + "default": false, + "description": "redraw", + "id": 718084050, + "name": "display", + "node_id": "MDU6TGFiZWw3MTgwODQwNTA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/display" + }, + { + "color": "c5def5", + "default": false, + "description": "(multibyte) unicode characters", + "id": 2882115256, + "name": "unicode 💩", + "node_id": "MDU6TGFiZWwyODgyMTE1MjU2", + "url": "https://api.github.com/repos/neovim/neovim/labels/unicode%20%20%F0%9F%92%A9" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/15898/labels{/name}", + "locked": false, + "milestone": { + "closed_at": null, + "closed_issues": 599, + "created_at": "2014-05-10T20:43:04Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + }, + "description": "Low priority. Not planned for the current target, may be reassigned.", + "due_on": null, + "html_url": "https://github.com/neovim/neovim/milestone/6", + "id": 655037, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/6/labels", + "node_id": "MDk6TWlsZXN0b25lNjU1MDM3", + "number": 6, + "open_issues": 424, + "state": "open", + "title": "backlog", + "updated_at": "2024-02-05T01:01:45Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/6" + }, + "node_id": "I_kwDOAPphoM48fbvT", + "number": 15898, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/15898/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/15898/timeline", + "title": "[Possible regression from vim] display bugs", + "updated_at": "2024-01-31T11:45:16Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/15898", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/60806622?v=4", + "events_url": "https://api.github.com/users/batbone/events{/privacy}", + "followers_url": "https://api.github.com/users/batbone/followers", + "following_url": "https://api.github.com/users/batbone/following{/other_user}", + "gists_url": "https://api.github.com/users/batbone/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/batbone", + "id": 60806622, + "login": "batbone", + "node_id": "MDQ6VXNlcjYwODA2NjIy", + "organizations_url": "https://api.github.com/users/batbone/orgs", + "received_events_url": "https://api.github.com/users/batbone/received_events", + "repos_url": "https://api.github.com/users/batbone/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/batbone/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/batbone/subscriptions", + "type": "User", + "url": "https://api.github.com/users/batbone" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/15963.json b/repositories/neovim/issues/15963.json new file mode 100644 index 00000000..aaf4dc63 --- /dev/null +++ b/repositories/neovim/issues/15963.json @@ -0,0 +1,628 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Neovim version (nvim -v)\n\n0.5.1\n\n### Vim (not Nvim) behaves the same?\n\nno, vim 8.2.3441\n\n### Operating system/version\n\nArch Linux\n\n### Terminal name/version\n\nLinux console\n\n### $TERM environment variable\n\nlinux\n\n### Installation\n\nOfficial Arch repo\n\n### How to reproduce the issue\n\nOpen any text without a display server, try highlighting it in visual mode\n\n### Expected behavior\n\nText gets highlighted in the terminal (same as vim)\n\n### Actual behavior\n\nText doesn't get highlighted, making it harder to use the visual mode", + "closed_at": null, + "comment_data": [ + { + "author_association": "MEMBER", + "body": "Maybe it is a failure to detect 8-color terminal?", + "created_at": "2021-10-08T15:28:23Z", + "html_url": "https://github.com/neovim/neovim/issues/15963#issuecomment-938731876", + "id": 938731876, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/15963", + "node_id": "IC_kwDOAPphoM438-lk", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/938731876/reactions" + }, + "updated_at": "2021-10-08T15:28:23Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/938731876", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "MEMBER", + "body": "Just to make sure: you are talking about the standard Linux console you get when you are booting into runlevel 3 or below? If so, please add more details on your system (Linux kernel version etc.)", + "created_at": "2021-10-08T15:30:31Z", + "html_url": "https://github.com/neovim/neovim/issues/15963#issuecomment-938733366", + "id": 938733366, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/15963", + "node_id": "IC_kwDOAPphoM438-82", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/938733366/reactions" + }, + "updated_at": "2021-10-08T15:30:31Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/938733366", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "MEMBER", + "body": "I think OP meant Virtual Console (getty) created by systemd.", + "created_at": "2021-10-08T15:45:23Z", + "html_url": "https://github.com/neovim/neovim/issues/15963#issuecomment-938743649", + "id": 938743649, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/15963", + "node_id": "IC_kwDOAPphoM439Bdh", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/938743649/reactions" + }, + "updated_at": "2021-10-08T15:45:23Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/938743649", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "MEMBER", + "body": "Neovim should automatically add `cterm=reverse` to `Visual` highlight group in `default` colorscheme if terminal is 8-colors, but here it fails to detect that. I have Arch Linux with Linux kernel 5.14.9.arch2 and systemd 249.4, `tput colors` in getty outputs `8`, but `nvim -V16/tmp/nvim.log --clean` logs the following terminal info:\r\n```\r\n--- Terminal info --- {{{\r\n&term: linux\r\nDescription: linux console\r\nAliases: linux\r\nBoolean capabilities:\r\n auto_left_margin bw = false\r\n auto_right_margin am = true\r\n no_esc_ctlc xsb = false\r\n ceol_standout_glitch xhp = false\r\n eat_newline_glitch xenl = true\r\n erase_overstrike eo = true\r\n generic_type gn = false\r\n hard_copy hc = false\r\n has_meta_key km = false\r\n has_status_line hs = false\r\n insert_null_glitch in = false\r\n memory_above da = false\r\n memory_below db = false\r\n move_insert_mode mir = true\r\n move_standout_mode msgr = true\r\n over_strike os = false\r\n status_line_esc_ok eslok = false\r\n dest_tabs_magic_smso xt = false\r\n tilde_glitch hz = false\r\n transparent_underline ul = false\r\n xon_xoff xon = true\r\n needs_xon_xoff nxon = false\r\n prtr_silent mc5i = false\r\n hard_cursor chts = false\r\n non_rev_rmcup nrrmc = false\r\n no_pad_char npc = false\r\n non_dest_scroll_region ndscr = false\r\n can_change ccc = true\r\n back_color_erase bce = true\r\n hue_lightness_saturation hls = false\r\n col_addr_glitch xhpa = false\r\n cr_cancels_micro_mode crxm = false\r\n has_print_wheel daisy = false\r\n row_addr_glitch xvpa = false\r\n semi_auto_right_margin sam = false\r\n cpi_changes_res cpix = false\r\n lpi_changes_res lpix = false\r\n backspaces_with_bs OTbs = false\r\n crt_no_scrolling OTns = false\r\n no_correctly_working_cr OTnc = false\r\n gnu_has_meta_key OTMT = false\r\n linefeed_is_newline OTNL = false\r\n has_hardware_tabs OTpt = false\r\n return_does_clr_eol OTxr = false\r\nNumeric capabilities:\r\n columns cols = -1\r\n init_tabs it = 8\r\n lines lines = -1\r\n lines_of_memory lm = -1\r\n magic_cookie_glitch xmc = -1\r\n padding_baud_rate pb = -1\r\n virtual_terminal vt = -1\r\n width_status_line wsl = -1\r\n num_labels nlab = -1\r\n label_height lh = -1\r\n label_width lw = -1\r\n max_attributes ma = -1\r\n maximum_windows wnum = -1\r\n max_colors colors = 256\r\n max_pairs pairs = 64\r\n no_color_video ncv = 18\r\n buffer_capacity bufsz = -1\r\n dot_vert_spacing spinv = -1\r\n dot_horz_spacing spinh = -1\r\n max_micro_address maddr = -1\r\n max_micro_jump mjump = -1\r\n micro_col_size mcs = -1\r\n micro_line_size mls = -1\r\n number_of_pins npins = -1\r\n output_res_char orc = -1\r\n output_res_line orl = -1\r\n output_res_horz_inch orhi = -1\r\n output_res_vert_inch orvi = -1\r\n print_rate cps = -1\r\n wide_char_size widcs = -1\r\n buttons btns = -1\r\n bit_image_entwining bitwin = -1\r\n bit_image_type bitype = -1\r\n magic_cookie_glitch_ul OTug = -1\r\n carriage_return_delay OTdC = -1\r\n new_line_delay OTdN = -1\r\n backspace_delay OTdB = -1\r\n horizontal_tab_delay OTdT = -1\r\n number_of_function_keys OTkn = -1\r\nString capabilities:\r\n bell bel = \r\n carriage_return cr = \r\n change_scroll_region csr = [%i%p1%d;%p2%dr\r\n clear_all_tabs tbc = [3g\r\n clear_screen clear = [H[J\r\n clr_eol el = [K\r\n clr_eos ed = [J\r\n column_address hpa = [%i%p1%dG\r\n cursor_address cup = [%i%p1%d;%p2%dH\r\n cursor_down cud1 = \r\n cursor_home home = [H\r\n cursor_invisible civis = [?25l\r\n cursor_left cub1 = \r\n cursor_normal cnorm = [?25h\r\n cursor_right cuf1 = [C\r\n cursor_up cuu1 = [A\r\n cursor_visible cvvis = [?25h[?8c\r\n delete_character dch1 = [P\r\n delete_line dl1 = [M\r\n enter_alt_charset_mode smacs = \r\n enter_blink_mode blink = [5m\r\n enter_bold_mode bold = [1m\r\n enter_dim_mode dim = [2m\r\n enter_insert_mode smir = [4h\r\n enter_reverse_mode rev = [7m\r\n enter_standout_mode smso = [7m\r\n enter_underline_mode smul = [4m\r\n erase_chars ech = [%p1%dX\r\n exit_alt_charset_mode rmacs = \r\n exit_attribute_mode sgr0 = [m\r\n exit_insert_mode rmir = [4l\r\n exit_standout_mode rmso = [27m\r\n exit_underline_mode rmul = [24m\r\n flash_screen flash = [?5h$<200/>[?5l\r\n insert_character ich1 = [@\r\n insert_line il1 = [L\r\n key_backspace kbs = <^?>\r\n key_dc kdch1 = [3~\r\n key_down kcud1 = [B\r\n key_f1 kf1 = [[A\r\n key_f10 kf10 = [21~\r\n key_f2 kf2 = [[B\r\n key_f3 kf3 = [[C\r\n key_f4 kf4 = [[D\r\n key_f5 kf5 = [[E\r\n key_f6 kf6 = [17~\r\n key_f7 kf7 = [18~\r\n key_f8 kf8 = [19~\r\n key_f9 kf9 = [20~\r\n key_home khome = [1~\r\n key_ic kich1 = [2~\r\n key_left kcub1 = [D\r\n key_npage knp = [6~\r\n key_ppage kpp = [5~\r\n key_right kcuf1 = [C\r\n key_up kcuu1 = [A\r\n newline nel = \r\n parm_dch dch = [%p1%dP\r\n parm_delete_line dl = [%p1%dM\r\n parm_down_cursor cud = [%p1%dB\r\n parm_ich ich = [%p1%d@\r\n parm_insert_line il = [%p1%dL\r\n parm_left_cursor cub = [%p1%dD\r\n parm_right_cursor cuf = [%p1%dC\r\n parm_up_cursor cuu = [%p1%dA\r\n reset_1string rs1 = c]R\r\n restore_cursor rc = 8\r\n row_address vpa = [%i%p1%dd\r\n save_cursor sc = 7\r\n scroll_forward ind = \r\n scroll_reverse ri = M\r\n set_attributes sgr = [0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;m%?%p9%t%e%;\r\n set_tab hts = H\r\n tab ht = \r\n key_b2 kb2 = [G\r\n acs_chars acsc = ++,,--..00__``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}c~~\r\n key_btab kcbt = [Z\r\n enter_am_mode smam = [?7h\r\n exit_am_mode rmam = [?7l\r\n ena_acs enacs = )0\r\n key_end kend = [4~\r\n key_suspend kspd = \r\n key_f11 kf11 = [23~\r\n key_f12 kf12 = [24~\r\n key_f13 kf13 = [25~\r\n key_f14 kf14 = [26~\r\n key_f15 kf15 = [28~\r\n key_f16 kf16 = [29~\r\n key_f17 kf17 = [31~\r\n key_f18 kf18 = [32~\r\n key_f19 kf19 = [33~\r\n key_f20 kf20 = [34~\r\n clr_bol el1 = [1K\r\n user6 u6 = [%i%d;%dR\r\n user7 u7 = [6n\r\n user8 u8 = [?6c\r\n user9 u9 = [c\r\n orig_pair op = [39;49m\r\n orig_colors oc = ]R\r\n initialize_color initc = ]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x\r\n key_mouse kmous = [M\r\n set_a_foreground setaf = [%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m\r\n set_a_background setab = [%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m\r\n enter_pc_charset_mode smpch = [11m\r\n exit_pc_charset_mode rmpch = [10m\r\nExtended boolean capabilities:\r\n AX = true\r\nExtended numeric capabilities:\r\n U8 = 1\r\nExtended string capabilities:\r\n E3 = [3J\r\n ext.get_bg = ]11;?\r\n Ss = [?%?%p1%{2}%<%t%{8}%e%p1%{2}%=%t%{112}%e%p1%{3}%=%t%{4}%e%p1%{4}%=%t%{4}%e%p1%{5}%=%t%{2}%e%p1%{6}%=%t%{2}%e%{0}%;%dc\r\n Se = [?c\r\n setrgbf = [38;2;%p1%d;%p2%d;%p3%dm\r\n setrgbb = [48;2;%p1%d;%p2%d;%p3%dm\r\n ext.save_title = [22;0t\r\n ext.restore_title = [23;0t\r\n ext.enable_lr_margin = [?69h\r\n ext.disable_lr_margin = [?69l\r\n ext.enable_bpaste = [?2004h\r\n ext.disable_bpaste = [?2004l\r\n ext.enable_focus = [?1004h\r\n ext.disable_focus = [?1004l\r\n ext.enable_mouse = [?1002h[?1006h\r\n ext.disable_mouse = [?1002l[?1006l\r\n}}}\r\n```\r\nNote that `colors` is `256` instead of `8`.\r\n\r\nMaybe this is terminfo/unibilium problem?", + "created_at": "2021-10-08T15:57:21Z", + "html_url": "https://github.com/neovim/neovim/issues/15963#issuecomment-938751627", + "id": 938751627, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/15963", + "node_id": "IC_kwDOAPphoM439DaL", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 1, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/938751627/reactions" + }, + "updated_at": "2021-10-08T15:57:21Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/938751627", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "MEMBER", + "body": "possibly: https://github.com/mauke/unibilium/issues/19", + "created_at": "2021-10-08T16:00:10Z", + "html_url": "https://github.com/neovim/neovim/issues/15963#issuecomment-938753522", + "id": 938753522, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/15963", + "node_id": "IC_kwDOAPphoM439D3y", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/938753522/reactions" + }, + "updated_at": "2021-10-08T16:00:10Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/938753522", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "MEMBER", + "body": "or a faulty assumption on Neovim's side: `:h tui-colors` states\r\n```\r\nNvim uses 256 colours by default, ignoring terminfo for most terminal types,\r\nincluding \"linux\" (whose virtual terminals have had 256-colour support since\r\n4.8) and anything claiming to be \"xterm\". Also when $COLORTERM or $TERM\r\ncontain the string \"256\".\r\n```\r\n", + "created_at": "2021-10-08T16:04:04Z", + "html_url": "https://github.com/neovim/neovim/issues/15963#issuecomment-938756349", + "id": 938756349, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/15963", + "node_id": "IC_kwDOAPphoM439Ej9", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/938756349/reactions" + }, + "updated_at": "2021-10-08T16:04:04Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/938756349", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "MEMBER", + "body": "> Nvim uses 256 colours by default, ignoring terminfo for most terminal types, including \"linux\" (whose virtual terminals have had 256-colour support since 4.8)\r\n\r\nyep. but see also the commit messages in https://github.com/neovim/neovim/pull/5001 . \r\n\r\nOpen to improving edge cases, but note that we absolutely favor compromises for terminal quirks, if it makes startup more deterministic (which matters for remote UIs): https://github.com/neovim/neovim/pull/9829\r\n", + "created_at": "2021-10-08T23:59:26Z", + "html_url": "https://github.com/neovim/neovim/issues/15963#issuecomment-939183905", + "id": 939183905, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/15963", + "node_id": "IC_kwDOAPphoM43-s8h", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/939183905/reactions" + }, + "updated_at": "2021-10-08T23:59:26Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/939183905", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "NONE", + "body": "> or a faulty assumption on Neovim's side\r\n\r\nThat seems to be it. Linux kernel does \"support\" 256 colors, however it simply downgrades the color depth.\r\n\r\nedit: https://github.com/neovim/neovim/blob/a161559a006bcbc31a2eccbd96df3138e8bc3bc5/src/nvim/tui/tui.c#L1754 seems to be the issue, let me try and fix this", + "created_at": "2021-10-09T07:23:46Z", + "html_url": "https://github.com/neovim/neovim/issues/15963#issuecomment-939246568", + "id": 939246568, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/15963", + "node_id": "IC_kwDOAPphoM43-8Po", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/939246568/reactions" + }, + "updated_at": "2021-10-09T07:26:39Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/939246568", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9590981?v=4", + "events_url": "https://api.github.com/users/chayleaf/events{/privacy}", + "followers_url": "https://api.github.com/users/chayleaf/followers", + "following_url": "https://api.github.com/users/chayleaf/following{/other_user}", + "gists_url": "https://api.github.com/users/chayleaf/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/chayleaf", + "id": 9590981, + "login": "chayleaf", + "node_id": "MDQ6VXNlcjk1OTA5ODE=", + "organizations_url": "https://api.github.com/users/chayleaf/orgs", + "received_events_url": "https://api.github.com/users/chayleaf/received_events", + "repos_url": "https://api.github.com/users/chayleaf/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/chayleaf/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/chayleaf/subscriptions", + "type": "User", + "url": "https://api.github.com/users/chayleaf" + } + }, + { + "author_association": "MEMBER", + "body": "Maybe we just need to adjust the Visual highlight so that it downgrades to something more reasonable? We want to change the default colorscheme anyway. Default `Visual` should just be \"white\" for bg=dark, and \"black\" for bg=light. ", + "created_at": "2021-10-09T12:18:40Z", + "html_url": "https://github.com/neovim/neovim/issues/15963#issuecomment-939288051", + "id": 939288051, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/15963", + "node_id": "IC_kwDOAPphoM43_GXz", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/939288051/reactions" + }, + "updated_at": "2021-10-09T12:18:40Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/939288051", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "NONE", + "body": "with my PR, the only issue left is no highlight color with tmux, but not sure that's easily fixable without changing the default colors", + "created_at": "2021-10-09T17:46:47Z", + "html_url": "https://github.com/neovim/neovim/issues/15963#issuecomment-939334762", + "id": 939334762, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/15963", + "node_id": "IC_kwDOAPphoM43_Rxq", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/939334762/reactions" + }, + "updated_at": "2021-10-09T17:46:47Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/939334762", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9590981?v=4", + "events_url": "https://api.github.com/users/chayleaf/events{/privacy}", + "followers_url": "https://api.github.com/users/chayleaf/followers", + "following_url": "https://api.github.com/users/chayleaf/following{/other_user}", + "gists_url": "https://api.github.com/users/chayleaf/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/chayleaf", + "id": 9590981, + "login": "chayleaf", + "node_id": "MDQ6VXNlcjk1OTA5ODE=", + "organizations_url": "https://api.github.com/users/chayleaf/orgs", + "received_events_url": "https://api.github.com/users/chayleaf/received_events", + "repos_url": "https://api.github.com/users/chayleaf/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/chayleaf/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/chayleaf/subscriptions", + "type": "User", + "url": "https://api.github.com/users/chayleaf" + } + }, + { + "author_association": "MEMBER", + "body": "The new default colorscheme doesn't have this issue, but `&t_Co` still seems incorrect in Linux Console (it should be 8, but it is 256).", + "created_at": "2024-02-05T01:11:53Z", + "html_url": "https://github.com/neovim/neovim/issues/15963#issuecomment-1926044668", + "id": 1926044668, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/15963", + "node_id": "IC_kwDOAPphoM5yzRv8", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926044668/reactions" + }, + "updated_at": "2024-02-05T01:11:53Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926044668", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + } + ], + "comments": 11, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/15963/comments", + "created_at": "2021-10-08T14:32:53Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/15963/events", + "html_url": "https://github.com/neovim/neovim/issues/15963", + "id": 1021166888, + "labels": [ + { + "color": "f9d0c4", + "default": true, + "description": "issues reporting wrong behavior", + "id": 77997474, + "name": "bug", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3NA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug" + }, + { + "color": "c5def5", + "default": false, + "description": "user system environment (terminal, shell, tmux)", + "id": 147354524, + "name": "environment", + "node_id": "MDU6TGFiZWwxNDczNTQ1MjQ=", + "url": "https://api.github.com/repos/neovim/neovim/labels/environment" + }, + { + "color": "c5def5", + "default": false, + "description": "", + "id": 197254545, + "name": "tui", + "node_id": "MDU6TGFiZWwxOTcyNTQ1NDU=", + "url": "https://api.github.com/repos/neovim/neovim/labels/tui" + }, + { + "color": "d4c5f9", + "default": false, + "description": null, + "id": 314665132, + "name": "platform:linux", + "node_id": "MDU6TGFiZWwzMTQ2NjUxMzI=", + "url": "https://api.github.com/repos/neovim/neovim/labels/platform:linux" + }, + { + "color": "c5def5", + "default": false, + "description": "", + "id": 1786207367, + "name": "highlight", + "node_id": "MDU6TGFiZWwxNzg2MjA3MzY3", + "url": "https://api.github.com/repos/neovim/neovim/labels/highlight" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/15963/labels{/name}", + "locked": false, + "milestone": { + "closed_at": null, + "closed_issues": 208, + "created_at": "2014-11-26T22:13:11Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + }, + "description": "Zero priority; no timeline. Promote an item from this state by taking ownership of it.", + "due_on": null, + "html_url": "https://github.com/neovim/neovim/milestone/9", + "id": 881978, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/9/labels", + "node_id": "MDk6TWlsZXN0b25lODgxOTc4", + "number": 9, + "open_issues": 237, + "state": "open", + "title": "unplanned", + "updated_at": "2024-02-04T21:56:28Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/9" + }, + "node_id": "I_kwDOAPphoM483cUo", + "number": 15963, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/15963/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/15963/timeline", + "title": "&t_Co has wrong value in Linux console", + "updated_at": "2024-02-05T01:12:05Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/15963", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9590981?v=4", + "events_url": "https://api.github.com/users/chayleaf/events{/privacy}", + "followers_url": "https://api.github.com/users/chayleaf/followers", + "following_url": "https://api.github.com/users/chayleaf/following{/other_user}", + "gists_url": "https://api.github.com/users/chayleaf/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/chayleaf", + "id": 9590981, + "login": "chayleaf", + "node_id": "MDQ6VXNlcjk1OTA5ODE=", + "organizations_url": "https://api.github.com/users/chayleaf/orgs", + "received_events_url": "https://api.github.com/users/chayleaf/received_events", + "repos_url": "https://api.github.com/users/chayleaf/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/chayleaf/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/chayleaf/subscriptions", + "type": "User", + "url": "https://api.github.com/users/chayleaf" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/16119.json b/repositories/neovim/issues/16119.json new file mode 100644 index 00000000..5a8db68b --- /dev/null +++ b/repositories/neovim/issues/16119.json @@ -0,0 +1,326 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Neovim version (nvim -v)\n\n0.5.0 (snap)\n\n### Vim (not Nvim) behaves the same?\n\nno, 8.1.2269\n\n### Operating system/version\n\nUbuntu 20.04.3\n\n### Terminal name/version\n\nterminator 1.91(also on gnome-terminal 3.36.2-1ubuntu1~20.04)\n\n### $TERM environment variable\n\nxterm-256color\n\n### Installation\n\nsnap\n\n### How to reproduce the issue\n\n(I apologize because my use case is fairly complicated or if this has been solved elsewhere. I use cryptomator to store sensitive files and nvim bombs within these vaults.)\r\n\r\nUnlock a cryptomator vault. Open any file in the vault with neovim and an error is produced.\r\n\r\nI know cryptomator is a potential cause, but this error does not happen with vim or other editors (nano, pico, etc.).\n\n### Expected behavior\n\nThe file would open normally.\n\n### Actual behavior\n\nCall the unlocked vault `crypto`\r\n```\r\n>>> cd crypto/\r\n>>> nvim test\r\ncannot open path of the current working directory: Permission denied\r\n>>> nvim\r\ncannot open path of the current working directory: Permission denied\r\n```\r\nNot only does this happen for every file in the vault, nvim itself won't launch.\r\n\r\nThis error does not occur if I use vim to open files and it happens on every terminal I've tried.", + "closed_at": "2021-10-24T16:03:01Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "Does the error happen if you run `nvim --clean` in that directory?", + "created_at": "2021-10-22T12:29:42Z", + "html_url": "https://github.com/neovim/neovim/issues/16119#issuecomment-949586451", + "id": 949586451, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/16119", + "node_id": "IC_kwDOAPphoM44mYoT", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/949586451/reactions" + }, + "updated_at": "2021-10-22T12:29:42Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/949586451", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "NONE", + "body": "@zeertzjq I should have mentioned this--Yes, the same error with `nvim --clean`", + "created_at": "2021-10-22T12:30:48Z", + "html_url": "https://github.com/neovim/neovim/issues/16119#issuecomment-949587327", + "id": 949587327, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/16119", + "node_id": "IC_kwDOAPphoM44mY1_", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/949587327/reactions" + }, + "updated_at": "2021-10-22T12:30:48Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/949587327", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/25447423?v=4", + "events_url": "https://api.github.com/users/catanzaromj/events{/privacy}", + "followers_url": "https://api.github.com/users/catanzaromj/followers", + "following_url": "https://api.github.com/users/catanzaromj/following{/other_user}", + "gists_url": "https://api.github.com/users/catanzaromj/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/catanzaromj", + "id": 25447423, + "login": "catanzaromj", + "node_id": "MDQ6VXNlcjI1NDQ3NDIz", + "organizations_url": "https://api.github.com/users/catanzaromj/orgs", + "received_events_url": "https://api.github.com/users/catanzaromj/received_events", + "repos_url": "https://api.github.com/users/catanzaromj/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/catanzaromj/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/catanzaromj/subscriptions", + "type": "User", + "url": "https://api.github.com/users/catanzaromj" + } + }, + { + "author_association": "MEMBER", + "body": "I think it is the following part of `snapd` that is outputting the relevant error message. Therefore this is not a neovim issue. Feel free to reopen it if you can confirm that this is a neovim bug, e.g. if you run `/snap/nvim/*/usr/bin/nvim` without `snapd`, or even if you run appimage, you get the same error.\r\n\r\nhttps://github.com/snapcore/snapd/blob/62b61729928723587fe00377f665229eda733e8a/cmd/snap-confine/snap-confine.c#L148", + "created_at": "2021-10-24T16:03:01Z", + "html_url": "https://github.com/neovim/neovim/issues/16119#issuecomment-950350114", + "id": 950350114, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/16119", + "node_id": "IC_kwDOAPphoM44pTEi", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/950350114/reactions" + }, + "updated_at": "2021-10-24T16:03:01Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/950350114", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/11682285?v=4", + "events_url": "https://api.github.com/users/erw7/events{/privacy}", + "followers_url": "https://api.github.com/users/erw7/followers", + "following_url": "https://api.github.com/users/erw7/following{/other_user}", + "gists_url": "https://api.github.com/users/erw7/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/erw7", + "id": 11682285, + "login": "erw7", + "node_id": "MDQ6VXNlcjExNjgyMjg1", + "organizations_url": "https://api.github.com/users/erw7/orgs", + "received_events_url": "https://api.github.com/users/erw7/received_events", + "repos_url": "https://api.github.com/users/erw7/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/erw7/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/erw7/subscriptions", + "type": "User", + "url": "https://api.github.com/users/erw7" + } + }, + { + "author_association": "NONE", + "body": "Thanks for finding this! You are correct, I do not get the error when running without `snapd`.", + "created_at": "2021-10-26T20:33:53Z", + "html_url": "https://github.com/neovim/neovim/issues/16119#issuecomment-952302481", + "id": 952302481, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/16119", + "node_id": "IC_kwDOAPphoM44wvuR", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/952302481/reactions" + }, + "updated_at": "2021-10-26T20:33:53Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/952302481", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/25447423?v=4", + "events_url": "https://api.github.com/users/catanzaromj/events{/privacy}", + "followers_url": "https://api.github.com/users/catanzaromj/followers", + "following_url": "https://api.github.com/users/catanzaromj/following{/other_user}", + "gists_url": "https://api.github.com/users/catanzaromj/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/catanzaromj", + "id": 25447423, + "login": "catanzaromj", + "node_id": "MDQ6VXNlcjI1NDQ3NDIz", + "organizations_url": "https://api.github.com/users/catanzaromj/orgs", + "received_events_url": "https://api.github.com/users/catanzaromj/received_events", + "repos_url": "https://api.github.com/users/catanzaromj/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/catanzaromj/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/catanzaromj/subscriptions", + "type": "User", + "url": "https://api.github.com/users/catanzaromj" + } + }, + { + "author_association": "NONE", + "body": "Hello everyone,\r\n\r\nFor a Neovim snap-installed Neovim v0.8.3 in Ubuntu22.10, it helped a lot setting the following at the `.bashrc` or `.profile`:\r\n\r\n```\r\nalias vi=\"/snap/nvim/current/usr/bin/nvim\"\r\nalias vim=\"/snap/nvim/current/usr/bin/nvim\"\r\n```\r\n\r\nThis is because the default `/usr/bin/nvim` binary was raising the \"(Permission denied)\" error.", + "created_at": "2023-03-29T14:39:52Z", + "html_url": "https://github.com/neovim/neovim/issues/16119#issuecomment-1488755198", + "id": 1488755198, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/16119", + "node_id": "IC_kwDOAPphoM5YvJn-", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1488755198/reactions" + }, + "updated_at": "2023-03-29T14:39:52Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1488755198", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/54951763?v=4", + "events_url": "https://api.github.com/users/erickvneri/events{/privacy}", + "followers_url": "https://api.github.com/users/erickvneri/followers", + "following_url": "https://api.github.com/users/erickvneri/following{/other_user}", + "gists_url": "https://api.github.com/users/erickvneri/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/erickvneri", + "id": 54951763, + "login": "erickvneri", + "node_id": "MDQ6VXNlcjU0OTUxNzYz", + "organizations_url": "https://api.github.com/users/erickvneri/orgs", + "received_events_url": "https://api.github.com/users/erickvneri/received_events", + "repos_url": "https://api.github.com/users/erickvneri/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/erickvneri/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/erickvneri/subscriptions", + "type": "User", + "url": "https://api.github.com/users/erickvneri" + } + }, + { + "author_association": "NONE", + "body": "how to run without snapd", + "created_at": "2024-02-02T03:54:27Z", + "html_url": "https://github.com/neovim/neovim/issues/16119#issuecomment-1922764793", + "id": 1922764793, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/16119", + "node_id": "IC_kwDOAPphoM5ymw_5", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922764793/reactions" + }, + "updated_at": "2024-02-02T03:54:27Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922764793", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/58624122?v=4", + "events_url": "https://api.github.com/users/Daniel-Chen-1002/events{/privacy}", + "followers_url": "https://api.github.com/users/Daniel-Chen-1002/followers", + "following_url": "https://api.github.com/users/Daniel-Chen-1002/following{/other_user}", + "gists_url": "https://api.github.com/users/Daniel-Chen-1002/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Daniel-Chen-1002", + "id": 58624122, + "login": "Daniel-Chen-1002", + "node_id": "MDQ6VXNlcjU4NjI0MTIy", + "organizations_url": "https://api.github.com/users/Daniel-Chen-1002/orgs", + "received_events_url": "https://api.github.com/users/Daniel-Chen-1002/received_events", + "repos_url": "https://api.github.com/users/Daniel-Chen-1002/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Daniel-Chen-1002/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Daniel-Chen-1002/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Daniel-Chen-1002" + } + } + ], + "comments": 6, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/16119/comments", + "created_at": "2021-10-22T12:23:17Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/16119/events", + "html_url": "https://github.com/neovim/neovim/issues/16119", + "id": 1033525069, + "labels": [], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/16119/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM49mldN", + "number": 16119, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/16119/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "completed", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/16119/timeline", + "title": "nvim can't open (Permission denied) ", + "updated_at": "2024-02-02T03:54:28Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/16119", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/25447423?v=4", + "events_url": "https://api.github.com/users/catanzaromj/events{/privacy}", + "followers_url": "https://api.github.com/users/catanzaromj/followers", + "following_url": "https://api.github.com/users/catanzaromj/following{/other_user}", + "gists_url": "https://api.github.com/users/catanzaromj/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/catanzaromj", + "id": 25447423, + "login": "catanzaromj", + "node_id": "MDQ6VXNlcjI1NDQ3NDIz", + "organizations_url": "https://api.github.com/users/catanzaromj/orgs", + "received_events_url": "https://api.github.com/users/catanzaromj/received_events", + "repos_url": "https://api.github.com/users/catanzaromj/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/catanzaromj/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/catanzaromj/subscriptions", + "type": "User", + "url": "https://api.github.com/users/catanzaromj" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/17523.json b/repositories/neovim/issues/17523.json new file mode 100644 index 00000000..1521912b --- /dev/null +++ b/repositories/neovim/issues/17523.json @@ -0,0 +1,266 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Feature already in Vim?\n\nYes. Vim 8.2 has it\n\n### Feature description\n\nIt's common to run shell commands that output `file:line` format (such as from `grep -n`), which is easily consumed by a quickfix list. It would be nice to be able to pipe that command output to nvim and have it open right away in a quickfix list. For example:\r\n\r\n## Desired feature that doesn't work today\r\n```\r\n$ grep -nr fooo | nvim -q /dev/stdin\r\n```\r\nor even more succinctly\r\n```\r\n$ grep -nr fooo | nvim -q -\r\n```\r\n\r\nWhen I run the above command (`nvim -q /dev/stdin`), the input is displayed in a buffer for editing, and the quickfix list is empty. ", + "closed_at": "2024-02-02T13:17:38Z", + "comment_data": [ + { + "author_association": "NONE", + "body": "this good idea, i use this feature with vim and riggrep `$ rg --vimgrep 'useful_word' src | vim -q /dev/stdin`\r\n\r\ntemporarily use this command `$ rg --vimgrep 'useful_word' src > /tmp/errorfile ; nvim -q /tmp/errorfile`", + "created_at": "2022-03-02T15:34:17Z", + "html_url": "https://github.com/neovim/neovim/issues/17523#issuecomment-1057064903", + "id": 1057064903, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/17523", + "node_id": "IC_kwDOAPphoM4_AYfH", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1057064903/reactions" + }, + "updated_at": "2022-03-02T15:34:17Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1057064903", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/314789?v=4", + "events_url": "https://api.github.com/users/emaniacs/events{/privacy}", + "followers_url": "https://api.github.com/users/emaniacs/followers", + "following_url": "https://api.github.com/users/emaniacs/following{/other_user}", + "gists_url": "https://api.github.com/users/emaniacs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/emaniacs", + "id": 314789, + "login": "emaniacs", + "node_id": "MDQ6VXNlcjMxNDc4OQ==", + "organizations_url": "https://api.github.com/users/emaniacs/orgs", + "received_events_url": "https://api.github.com/users/emaniacs/received_events", + "repos_url": "https://api.github.com/users/emaniacs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/emaniacs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/emaniacs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/emaniacs" + } + }, + { + "author_association": "MEMBER", + "body": "I found this: .", + "created_at": "2022-03-09T15:05:16Z", + "html_url": "https://github.com/neovim/neovim/issues/17523#issuecomment-1063015366", + "id": 1063015366, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/17523", + "node_id": "IC_kwDOAPphoM4_XFPG", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 1, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1063015366/reactions" + }, + "updated_at": "2022-03-09T15:05:16Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1063015366", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "NONE", + "body": "Not as clean as the first one, but until a a fix is added, that changes how input from `stdin` is read when supplying the `-q` option, the following works as well:\r\n\r\n```bash\r\nrg --vimgrep 'foo' | nvim -c 'cb | copen'\r\n```", + "created_at": "2024-02-01T04:53:50Z", + "html_url": "https://github.com/neovim/neovim/issues/17523#issuecomment-1920510578", + "id": 1920510578, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/17523", + "node_id": "IC_kwDOAPphoM5yeKpy", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 1, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920510578/reactions" + }, + "updated_at": "2024-02-01T04:54:04Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920510578", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/112093773?v=4", + "events_url": "https://api.github.com/users/mxngls/events{/privacy}", + "followers_url": "https://api.github.com/users/mxngls/followers", + "following_url": "https://api.github.com/users/mxngls/following{/other_user}", + "gists_url": "https://api.github.com/users/mxngls/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/mxngls", + "id": 112093773, + "login": "mxngls", + "node_id": "U_kgDOBq5qTQ", + "organizations_url": "https://api.github.com/users/mxngls/orgs", + "received_events_url": "https://api.github.com/users/mxngls/received_events", + "repos_url": "https://api.github.com/users/mxngls/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/mxngls/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mxngls/subscriptions", + "type": "User", + "url": "https://api.github.com/users/mxngls" + } + }, + { + "author_association": "NONE", + "body": "Very handy @mxngls, thank you!\r\n\r\nExpanding for readability and closing the empty buffer:\r\n\r\n```console\r\n$ rg --vimgrep foo | nvim -c 'cbuffer | copen | bdelete! 1'\r\n```", + "created_at": "2024-02-01T20:34:36Z", + "html_url": "https://github.com/neovim/neovim/issues/17523#issuecomment-1922198560", + "id": 1922198560, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/17523", + "node_id": "IC_kwDOAPphoM5ykmwg", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922198560/reactions" + }, + "updated_at": "2024-02-01T20:34:36Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922198560", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1234956?v=4", + "events_url": "https://api.github.com/users/n8henrie/events{/privacy}", + "followers_url": "https://api.github.com/users/n8henrie/followers", + "following_url": "https://api.github.com/users/n8henrie/following{/other_user}", + "gists_url": "https://api.github.com/users/n8henrie/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/n8henrie", + "id": 1234956, + "login": "n8henrie", + "node_id": "MDQ6VXNlcjEyMzQ5NTY=", + "organizations_url": "https://api.github.com/users/n8henrie/orgs", + "received_events_url": "https://api.github.com/users/n8henrie/received_events", + "repos_url": "https://api.github.com/users/n8henrie/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/n8henrie/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/n8henrie/subscriptions", + "type": "User", + "url": "https://api.github.com/users/n8henrie" + } + } + ], + "comments": 4, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/17523/comments", + "created_at": "2022-02-25T21:23:41Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/17523/events", + "html_url": "https://github.com/neovim/neovim/issues/17523", + "id": 1150893775, + "labels": [ + { + "color": "c2e0c6", + "default": true, + "description": "feature request", + "id": 77997476, + "name": "enhancement", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3Ng==", + "url": "https://api.github.com/repos/neovim/neovim/labels/enhancement" + }, + { + "color": "c5def5", + "default": false, + "description": null, + "id": 378639615, + "name": "io", + "node_id": "MDU6TGFiZWwzNzg2Mzk2MTU=", + "url": "https://api.github.com/repos/neovim/neovim/labels/io" + }, + { + "color": "c5def5", + "default": false, + "description": "Nvim startup sequence (`:h startup`)", + "id": 870629450, + "name": "startup", + "node_id": "MDU6TGFiZWw4NzA2Mjk0NTA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/startup" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/17523/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM5EmT7P", + "number": 17523, + "performed_via_github_app": null, + "reactions": { + "+1": 9, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 9, + "url": "https://api.github.com/repos/neovim/neovim/issues/17523/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "completed", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/17523/timeline", + "title": "Enable `nvim -q /dev/stdin` to read quickfix list from stdin", + "updated_at": "2024-02-02T13:17:38Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/17523", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9447643?v=4", + "events_url": "https://api.github.com/users/devjgm/events{/privacy}", + "followers_url": "https://api.github.com/users/devjgm/followers", + "following_url": "https://api.github.com/users/devjgm/following{/other_user}", + "gists_url": "https://api.github.com/users/devjgm/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/devjgm", + "id": 9447643, + "login": "devjgm", + "node_id": "MDQ6VXNlcjk0NDc2NDM=", + "organizations_url": "https://api.github.com/users/devjgm/orgs", + "received_events_url": "https://api.github.com/users/devjgm/received_events", + "repos_url": "https://api.github.com/users/devjgm/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/devjgm/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/devjgm/subscriptions", + "type": "User", + "url": "https://api.github.com/users/devjgm" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/17762.json b/repositories/neovim/issues/17762.json new file mode 100644 index 00000000..c5294805 --- /dev/null +++ b/repositories/neovim/issues/17762.json @@ -0,0 +1,354 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Neovim version (nvim -v)\n\n0.7.0-dev+1275-g00effff56\n\n### Vim (not Nvim) behaves the same?\n\nN/A\n\n### Operating system/version\n\nWindows11\n\n### Terminal name/version\n\nWindows Terminal 1.11\n\n### $TERM environment variable\n\nvtpcon\n\n### Installation\n\nscoop\n\n### How to reproduce the issue\n\n```\r\nnvim\r\n:lua os.execute(\"\")\r\n````\r\nthen press ``\r\n\r\nThis did not happen with Arch Linux on wsl.\n\n### Expected behavior\n\nNeovim is not killed.\n\n### Actual behavior\n\nNeovim is killed and terminal is broken like this.\r\n\r\n![image](https://user-images.githubusercontent.com/53177992/159005175-7d967d89-4c67-4746-b6f4-952187e080c1.png)\r\n", + "closed_at": "2024-01-31T13:38:24Z", + "comment_data": [ + { + "author_association": "NONE", + "body": "This also does not happen when using `nvim-qt` or other GUIs like `neovide`.", + "created_at": "2022-04-01T07:13:13Z", + "html_url": "https://github.com/neovim/neovim/issues/17762#issuecomment-1085519308", + "id": 1085519308, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/17762", + "node_id": "IC_kwDOAPphoM5As7XM", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1085519308/reactions" + }, + "updated_at": "2022-04-01T07:13:13Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1085519308", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/73006950?v=4", + "events_url": "https://api.github.com/users/loichyan/events{/privacy}", + "followers_url": "https://api.github.com/users/loichyan/followers", + "following_url": "https://api.github.com/users/loichyan/following{/other_user}", + "gists_url": "https://api.github.com/users/loichyan/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/loichyan", + "id": 73006950, + "login": "loichyan", + "node_id": "MDQ6VXNlcjczMDA2OTUw", + "organizations_url": "https://api.github.com/users/loichyan/orgs", + "received_events_url": "https://api.github.com/users/loichyan/received_events", + "repos_url": "https://api.github.com/users/loichyan/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/loichyan/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/loichyan/subscriptions", + "type": "User", + "url": "https://api.github.com/users/loichyan" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Huh! nvim's crashing, right? Funny. I'll dig around a little tomorrow and report back if I find anything.", + "created_at": "2022-07-02T18:46:25Z", + "html_url": "https://github.com/neovim/neovim/issues/17762#issuecomment-1172943728", + "id": 1172943728, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/17762", + "node_id": "IC_kwDOAPphoM5F6bNw", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1172943728/reactions" + }, + "updated_at": "2022-07-02T18:46:25Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1172943728", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/32037751?v=4", + "events_url": "https://api.github.com/users/3N4N/events{/privacy}", + "followers_url": "https://api.github.com/users/3N4N/followers", + "following_url": "https://api.github.com/users/3N4N/following{/other_user}", + "gists_url": "https://api.github.com/users/3N4N/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/3N4N", + "id": 32037751, + "login": "3N4N", + "node_id": "MDQ6VXNlcjMyMDM3NzUx", + "organizations_url": "https://api.github.com/users/3N4N/orgs", + "received_events_url": "https://api.github.com/users/3N4N/received_events", + "repos_url": "https://api.github.com/users/3N4N/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/3N4N/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/3N4N/subscriptions", + "type": "User", + "url": "https://api.github.com/users/3N4N" + } + }, + { + "author_association": "MEMBER", + "body": "Not crashing, but appears to be interpreting ctrl-c as SIGINT, possibly because `lua os.execute(\"\")` does something with stdin.", + "created_at": "2022-07-03T00:09:48Z", + "html_url": "https://github.com/neovim/neovim/issues/17762#issuecomment-1172982000", + "id": 1172982000, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/17762", + "node_id": "IC_kwDOAPphoM5F6kjw", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1172982000/reactions" + }, + "updated_at": "2022-07-03T00:09:48Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1172982000", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Right. And it doesn't matter what command, empty or wrong or correct, you pass to `os.execute()`, it will kill nvim on the next Ctrl-C. You can use nvim as usual, as long as you don't press Ctrl-C. It seems nvim's ability to handle Ctrl-C gets busted after `:lua os.execute(\"os_cmd\")` As you said, something to do with stdin.", + "created_at": "2022-07-03T18:55:57Z", + "html_url": "https://github.com/neovim/neovim/issues/17762#issuecomment-1173153209", + "id": 1173153209, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/17762", + "node_id": "IC_kwDOAPphoM5F7OW5", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1173153209/reactions" + }, + "updated_at": "2022-07-03T18:55:57Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1173153209", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/32037751?v=4", + "events_url": "https://api.github.com/users/3N4N/events{/privacy}", + "followers_url": "https://api.github.com/users/3N4N/followers", + "following_url": "https://api.github.com/users/3N4N/following{/other_user}", + "gists_url": "https://api.github.com/users/3N4N/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/3N4N", + "id": 32037751, + "login": "3N4N", + "node_id": "MDQ6VXNlcjMyMDM3NzUx", + "organizations_url": "https://api.github.com/users/3N4N/orgs", + "received_events_url": "https://api.github.com/users/3N4N/received_events", + "repos_url": "https://api.github.com/users/3N4N/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/3N4N/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/3N4N/subscriptions", + "type": "User", + "url": "https://api.github.com/users/3N4N" + } + }, + { + "author_association": "MEMBER", + "body": "This was caused by a change in the mode of the console. However, #18375 has shown that this problem no longer occurs on servers running in a separate process from `tui`, since `stdin` is not a console. \r\n\r\nI tried using `ffi` and found that it was still possible to get a handle on `CONIN$` with `CreateFile` and change the mode of the console. It is better to call [`FreeConsole`](https://learn.microsoft.com/en-us/windows/console/freeconsole) on the server to detaches the console.\r\n", + "created_at": "2023-02-24T14:13:23Z", + "html_url": "https://github.com/neovim/neovim/issues/17762#issuecomment-1443739525", + "id": 1443739525, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/17762", + "node_id": "IC_kwDOAPphoM5WDbeF", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1443739525/reactions" + }, + "updated_at": "2023-02-24T14:13:23Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1443739525", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/11682285?v=4", + "events_url": "https://api.github.com/users/erw7/events{/privacy}", + "followers_url": "https://api.github.com/users/erw7/followers", + "following_url": "https://api.github.com/users/erw7/following{/other_user}", + "gists_url": "https://api.github.com/users/erw7/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/erw7", + "id": 11682285, + "login": "erw7", + "node_id": "MDQ6VXNlcjExNjgyMjg1", + "organizations_url": "https://api.github.com/users/erw7/orgs", + "received_events_url": "https://api.github.com/users/erw7/received_events", + "repos_url": "https://api.github.com/users/erw7/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/erw7/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/erw7/subscriptions", + "type": "User", + "url": "https://api.github.com/users/erw7" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "This doesn't happen anymore.\r\n\r\nTested on:\r\n```shell\r\nNVIM v0.9.5\r\nBuild type: RelWithDebInfo\r\nLuaJIT 2.1.1703942320\r\n```", + "created_at": "2024-01-31T13:35:25Z", + "html_url": "https://github.com/neovim/neovim/issues/17762#issuecomment-1919115814", + "id": 1919115814, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/17762", + "node_id": "IC_kwDOAPphoM5yY2Im", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919115814/reactions" + }, + "updated_at": "2024-01-31T13:35:25Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919115814", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/70452831?v=4", + "events_url": "https://api.github.com/users/lsvmello/events{/privacy}", + "followers_url": "https://api.github.com/users/lsvmello/followers", + "following_url": "https://api.github.com/users/lsvmello/following{/other_user}", + "gists_url": "https://api.github.com/users/lsvmello/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lsvmello", + "id": 70452831, + "login": "lsvmello", + "node_id": "MDQ6VXNlcjcwNDUyODMx", + "organizations_url": "https://api.github.com/users/lsvmello/orgs", + "received_events_url": "https://api.github.com/users/lsvmello/received_events", + "repos_url": "https://api.github.com/users/lsvmello/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lsvmello/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lsvmello/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lsvmello" + } + } + ], + "comments": 6, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/17762/comments", + "created_at": "2022-03-18T12:48:34Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/17762/events", + "html_url": "https://github.com/neovim/neovim/issues/17762", + "id": 1173556380, + "labels": [ + { + "color": "f9d0c4", + "default": true, + "description": "issues reporting wrong behavior", + "id": 77997474, + "name": "bug", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3NA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug" + }, + { + "color": "d4c5f9", + "default": false, + "description": null, + "id": 109461219, + "name": "platform:windows", + "node_id": "MDU6TGFiZWwxMDk0NjEyMTk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/platform:windows" + }, + { + "color": "c5def5", + "default": false, + "description": "stdlib", + "id": 573222693, + "name": "lua", + "node_id": "MDU6TGFiZWw1NzMyMjI2OTM=", + "url": "https://api.github.com/repos/neovim/neovim/labels/lua" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/17762/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM5F8wyc", + "number": 17762, + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/17762/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "completed", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/17762/timeline", + "title": "Windows: pressing `` after `lua os.execute(\"\")` kills neovim", + "updated_at": "2024-01-31T13:38:24Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/17762", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/53177992?v=4", + "events_url": "https://api.github.com/users/nazo6/events{/privacy}", + "followers_url": "https://api.github.com/users/nazo6/followers", + "following_url": "https://api.github.com/users/nazo6/following{/other_user}", + "gists_url": "https://api.github.com/users/nazo6/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/nazo6", + "id": 53177992, + "login": "nazo6", + "node_id": "MDQ6VXNlcjUzMTc3OTky", + "organizations_url": "https://api.github.com/users/nazo6/orgs", + "received_events_url": "https://api.github.com/users/nazo6/received_events", + "repos_url": "https://api.github.com/users/nazo6/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/nazo6/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/nazo6/subscriptions", + "type": "User", + "url": "https://api.github.com/users/nazo6" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/19362.json b/repositories/neovim/issues/19362.json new file mode 100644 index 00000000..585e1d9c --- /dev/null +++ b/repositories/neovim/issues/19362.json @@ -0,0 +1,390 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "body": "### Neovim version (nvim -v)\r\n\r\nv0.7.2\r\n\r\n### Vim (not Nvim) behaves the same?\r\n\r\nno, vim 9.0.0\r\n\r\n### Operating system/version\r\n\r\nArch Linux\r\n\r\n### Terminal name/version\r\n\r\nwezterm nightly\r\n\r\n### $TERM environment variable\r\n\r\nxterm-256color\r\n\r\n### Installation\r\n\r\nArch Linux community repo\r\n\r\n### How to reproduce the issue\r\n\r\n- Have a terminal emulator with light colorscheme\r\n- Source a plugin that sets `background=light` as soon as the `plugin/pluginname.vim` is sourced\r\n- Once nvim is started, the screen flickers briefly because neovim assumes `background=dark` and renders the UI before the plugin is sourced.\r\n\r\nIf we set `background=light` in `init.vim`, then we set it early enough before nvim renders anything. But it's not possible to do that from a plugin (without calling the plugin from `init.vim`), because the plugin is sourced too late in the startup process: nvim already shows the UI before sourcing it, while normal vim does not (so the problem does not occur with normal vim).\r\n\r\nSee the attached video for a visual explanation:\r\n- neovim is on the left: Flickers visibly\r\n- vim is on the right: Does not flicker\r\n\r\nhttps://user-images.githubusercontent.com/21310755/178955503-66796c13-79ac-4e4b-8399-fd17b177194b.mp4\r\n\r\nMinimal example `myplugin/plugin/myplugin.vim` (`myplugin` needs to be in `rtp`):\r\n```vim\r\n\" myplugin.vim\r\nset background=light\r\n```\r\n\r\n\r\n\r\n### Expected behavior\r\n\r\nneovim renders with `background=light` immediately, like vim does\r\n\r\n### Actual behavior\r\n\r\nneovim renders with `background=dark`, then sources the plugin, rerenders with `background=light` causing a visible flickering", + "closed_at": null, + "comment_data": [ + { + "author_association": "CONTRIBUTOR", + "body": "Unfortunately it looks like there is no way to execute something earlier than from `plugin/` directories, is there?\r\n\r\n```\r\n\tList of directories to be searched for these runtime files:\r\n\t filetype.vim\tfiletypes by file name |new-filetype|\r\n\t scripts.vim\tfiletypes by file contents |new-filetype-scripts|\r\n\t autoload/\tautomatically loaded scripts |autoload-functions|\r\n\t colors/\tcolor scheme files |:colorscheme|\r\n\t compiler/\tcompiler files |:compiler|\r\n\t doc/\t\tdocumentation |write-local-help|\r\n\t ftplugin/\tfiletype plugins |write-filetype-plugin|\r\n\t indent/\tindent scripts |indent-expression|\r\n\t keymap/\tkey mapping files |mbyte-keymap|\r\n\t lang/\t\tmenu translations |:menutrans|\r\n\t menu.vim\tGUI menus |menu.vim|\r\n\t pack/\t\tpackages |:packadd|\r\n\t plugin/\tplugin scripts |write-plugin|\r\n\t print/\tfiles for printing |postscript-print-encoding|\r\n\t rplugin/\t|remote-plugin| scripts\r\n\t spell/\tspell checking files |spell|\r\n\t syntax/\tsyntax files |mysyntaxfile|\r\n\t tutor/\ttutorial files |:Tutor|\r\n```", + "created_at": "2022-07-14T09:59:56Z", + "html_url": "https://github.com/neovim/neovim/issues/19362#issuecomment-1184246384", + "id": 1184246384, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/19362", + "node_id": "IC_kwDOAPphoM5Glipw", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1184246384/reactions" + }, + "updated_at": "2022-07-14T13:33:43Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1184246384", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/21310755?v=4", + "events_url": "https://api.github.com/users/vimpostor/events{/privacy}", + "followers_url": "https://api.github.com/users/vimpostor/followers", + "following_url": "https://api.github.com/users/vimpostor/following{/other_user}", + "gists_url": "https://api.github.com/users/vimpostor/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/vimpostor", + "id": 21310755, + "login": "vimpostor", + "node_id": "MDQ6VXNlcjIxMzEwNzU1", + "organizations_url": "https://api.github.com/users/vimpostor/orgs", + "received_events_url": "https://api.github.com/users/vimpostor/received_events", + "repos_url": "https://api.github.com/users/vimpostor/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/vimpostor/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/vimpostor/subscriptions", + "type": "User", + "url": "https://api.github.com/users/vimpostor" + } + }, + { + "author_association": "MEMBER", + "body": "> Unfortunately it looks like there is no way to execute something earlier than from `plugin/` directories, is there?\r\n\r\nOnly with `--cmd`. Can you try that , just for troubleshooting ? \r\n\r\n> neovim renders with `background=light` immediately, like vim does\r\n\r\nVim assumes bg=light on many environments. Does the opposite problem happen in Vim, with a dark terminal?", + "created_at": "2022-07-14T13:33:13Z", + "html_url": "https://github.com/neovim/neovim/issues/19362#issuecomment-1184455400", + "id": 1184455400, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/19362", + "node_id": "IC_kwDOAPphoM5GmVro", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1184455400/reactions" + }, + "updated_at": "2022-07-14T13:33:13Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1184455400", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "> Only with `--cmd`. Can you try that , just for troubleshooting ?\r\n\r\n`nvim --cmd \"set background=light\"` works (it does not flicker), but obviously I can't use that in a plugin.\r\n\r\n> Vim assumes bg=light on many environments. Does the opposite problem happen in Vim, with a dark terminal?\r\n\r\nNo, it does not happen in vim in any case, because vim sources the plugin file before rendering anything.", + "created_at": "2022-07-14T15:04:15Z", + "html_url": "https://github.com/neovim/neovim/issues/19362#issuecomment-1184558420", + "id": 1184558420, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/19362", + "node_id": "IC_kwDOAPphoM5Gmu1U", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1184558420/reactions" + }, + "updated_at": "2022-07-14T15:04:15Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1184558420", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/21310755?v=4", + "events_url": "https://api.github.com/users/vimpostor/events{/privacy}", + "followers_url": "https://api.github.com/users/vimpostor/followers", + "following_url": "https://api.github.com/users/vimpostor/following{/other_user}", + "gists_url": "https://api.github.com/users/vimpostor/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/vimpostor", + "id": 21310755, + "login": "vimpostor", + "node_id": "MDQ6VXNlcjIxMzEwNzU1", + "organizations_url": "https://api.github.com/users/vimpostor/orgs", + "received_events_url": "https://api.github.com/users/vimpostor/received_events", + "repos_url": "https://api.github.com/users/vimpostor/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/vimpostor/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/vimpostor/subscriptions", + "type": "User", + "url": "https://api.github.com/users/vimpostor" + } + }, + { + "author_association": "MEMBER", + "body": "I cannot reproduce this v0.9.5 or v0.10.0-dev. Does this bug still exist?", + "created_at": "2024-02-03T00:34:42Z", + "html_url": "https://github.com/neovim/neovim/issues/19362#issuecomment-1924942366", + "id": 1924942366, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/19362", + "node_id": "IC_kwDOAPphoM5yvEoe", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924942366/reactions" + }, + "updated_at": "2024-02-03T00:34:42Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924942366", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Yes I can still reproduce this with `v0.9.5` following the steps from the description (using a plugin that sets background from the `plugin/` directory, e.g. [vim-lumen](https://github.com/vimpostor/vim-lumen)).", + "created_at": "2024-02-03T01:09:53Z", + "html_url": "https://github.com/neovim/neovim/issues/19362#issuecomment-1924992186", + "id": 1924992186, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/19362", + "node_id": "IC_kwDOAPphoM5yvQy6", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924992186/reactions" + }, + "updated_at": "2024-02-03T01:11:35Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924992186", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/21310755?v=4", + "events_url": "https://api.github.com/users/vimpostor/events{/privacy}", + "followers_url": "https://api.github.com/users/vimpostor/followers", + "following_url": "https://api.github.com/users/vimpostor/following{/other_user}", + "gists_url": "https://api.github.com/users/vimpostor/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/vimpostor", + "id": 21310755, + "login": "vimpostor", + "node_id": "MDQ6VXNlcjIxMzEwNzU1", + "organizations_url": "https://api.github.com/users/vimpostor/orgs", + "received_events_url": "https://api.github.com/users/vimpostor/received_events", + "repos_url": "https://api.github.com/users/vimpostor/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/vimpostor/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/vimpostor/subscriptions", + "type": "User", + "url": "https://api.github.com/users/vimpostor" + } + }, + { + "author_association": "NONE", + "body": "I'm still reproducing this on v0.10.0-dev-78b000c, with the [nord.nvim](https://github.com/shaunsingh/nord.nvim) colorscheme. My current \"fix\" is to run `echo \" \"` right after setting the colorscheme", + "created_at": "2024-02-03T01:14:04Z", + "html_url": "https://github.com/neovim/neovim/issues/19362#issuecomment-1924993842", + "id": 1924993842, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/19362", + "node_id": "IC_kwDOAPphoM5yvRMy", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924993842/reactions" + }, + "updated_at": "2024-02-03T01:15:21Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924993842", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/61157623?v=4", + "events_url": "https://api.github.com/users/ErrorNoInternet/events{/privacy}", + "followers_url": "https://api.github.com/users/ErrorNoInternet/followers", + "following_url": "https://api.github.com/users/ErrorNoInternet/following{/other_user}", + "gists_url": "https://api.github.com/users/ErrorNoInternet/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/ErrorNoInternet", + "id": 61157623, + "login": "ErrorNoInternet", + "node_id": "MDQ6VXNlcjYxMTU3NjIz", + "organizations_url": "https://api.github.com/users/ErrorNoInternet/orgs", + "received_events_url": "https://api.github.com/users/ErrorNoInternet/received_events", + "repos_url": "https://api.github.com/users/ErrorNoInternet/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/ErrorNoInternet/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ErrorNoInternet/subscriptions", + "type": "User", + "url": "https://api.github.com/users/ErrorNoInternet" + } + } + ], + "comments": 6, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/19362/comments", + "created_at": "2022-07-14T09:54:27Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/19362/events", + "html_url": "https://github.com/neovim/neovim/issues/19362", + "id": 1304545004, + "labels": [ + { + "color": "f9d0c4", + "default": true, + "description": "issues reporting wrong behavior", + "id": 77997474, + "name": "bug", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3NA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug" + }, + { + "color": "c5def5", + "default": false, + "description": "redraw", + "id": 718084050, + "name": "display", + "node_id": "MDU6TGFiZWw3MTgwODQwNTA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/display" + }, + { + "color": "c5def5", + "default": false, + "description": "Nvim startup sequence (`:h startup`)", + "id": 870629450, + "name": "startup", + "node_id": "MDU6TGFiZWw4NzA2Mjk0NTA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/startup" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/19362/labels{/name}", + "locked": false, + "milestone": { + "closed_at": null, + "closed_issues": 208, + "created_at": "2014-11-26T22:13:11Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + }, + "description": "Zero priority; no timeline. Promote an item from this state by taking ownership of it.", + "due_on": null, + "html_url": "https://github.com/neovim/neovim/milestone/9", + "id": 881978, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/9/labels", + "node_id": "MDk6TWlsZXN0b25lODgxOTc4", + "number": 9, + "open_issues": 237, + "state": "open", + "title": "unplanned", + "updated_at": "2024-02-04T21:56:28Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/9" + }, + "node_id": "I_kwDOAPphoM5Nwcbs", + "number": 19362, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/19362/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/19362/timeline", + "title": "flicker if plugin sets 'background' during startup", + "updated_at": "2024-02-03T01:15:21Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/19362", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/21310755?v=4", + "events_url": "https://api.github.com/users/vimpostor/events{/privacy}", + "followers_url": "https://api.github.com/users/vimpostor/followers", + "following_url": "https://api.github.com/users/vimpostor/following{/other_user}", + "gists_url": "https://api.github.com/users/vimpostor/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/vimpostor", + "id": 21310755, + "login": "vimpostor", + "node_id": "MDQ6VXNlcjIxMzEwNzU1", + "organizations_url": "https://api.github.com/users/vimpostor/orgs", + "received_events_url": "https://api.github.com/users/vimpostor/received_events", + "repos_url": "https://api.github.com/users/vimpostor/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/vimpostor/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/vimpostor/subscriptions", + "type": "User", + "url": "https://api.github.com/users/vimpostor" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/19374.json b/repositories/neovim/issues/19374.json new file mode 100644 index 00000000..b0263c20 --- /dev/null +++ b/repositories/neovim/issues/19374.json @@ -0,0 +1,188 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "body": "### Neovim version (nvim -v)\n\nNVIM v0.8.0-dev-nightly-12-g977790746\n\n### Vim (not Nvim) behaves the same?\n\nN/A\n\n### Operating system/version\n\nLinux r4 5.18.0-1-amd64 1 SMP PREEMPT_DYNAMIC Debian 5.18.2-1 (2022-06-06) x86_64 GNU/Linux\n\n### Terminal name/version\n\nN/A\n\n### $TERM environment variable\n\nN/A\n\n### Installation\n\nAppimage\n\n### How to reproduce the issue\n\n```\r\nnvim --headless --cmd 'call rpcrequest(stdioopen({\"rpc\":v:true}),\"nvim_command\",\"echo hello\")' >/tmp/tmp\r\n```\n\n### Expected behavior\n\nRpc request is written to /tmp/tmp.\n\n### Actual behavior\n\nSegfault without anything being written to the file. Removing the redirection makes the crash disappear.\r\n\r\nPiping to `tee /tmp/tmp` instead of directly redirecting to a file is a suitable workaround for my usecase.", + "closed_at": null, + "comment_data": [ + { + "author_association": "MEMBER", + "body": "ASAN:\r\n```\r\n=================================================================\r\n==185425==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000010 (pc 0x5cd1f2047985 bp 0x7ffd95850040 sp 0x7ffd95850020 T0)\r\n==185425==The signal is caused by a READ memory access.\r\n==185425==Hint: address points to the zero page.\r\n #0 0x5cd1f2047985 in uv__check_before_write **/.deps/build/src/libuv/src/unix/stream.c:1294:3\r\n #1 0x5cd1f204774e in uv_write2 **/.deps/build/src/libuv/src/unix/stream.c:1337:9\r\n #2 0x5cd1f2047cc7 in uv_write **/.deps/build/src/libuv/src/unix/stream.c:1405:10\r\n #3 0x5cd1f0d51b73 in wstream_write **/src/nvim/event/wstream.c:91:7\r\n #4 0x5cd1f13dc996 in channel_write **/src/nvim/msgpack_rpc/channel.c:495:15\r\n #5 0x5cd1f13db7c8 in send_request **/src/nvim/msgpack_rpc/channel.c:551:3\r\n #6 0x5cd1f13d8b29 in rpc_send_call **/src/nvim/msgpack_rpc/channel.c:203:3\r\n #7 0x5cd1f0c1f579 in f_rpcrequest **/src/nvim/eval/funcs.c:6965:19\r\n #8 0x5cd1f0badcba in call_internal_func **/src/nvim/eval/funcs.c:290:3\r\n #9 0x5cd1f0cbbd30 in call_func **/src/nvim/eval/userfunc.c:1709:15\r\n #10 0x5cd1f0cb820d in get_func_tv **/src/nvim/eval/userfunc.c:557:11\r\n #11 0x5cd1f0cf1daa in ex_call_inner **/src/nvim/eval/userfunc.c:3127:9\r\n #12 0x5cd1f0cefeb9 in ex_call **/src/nvim/eval/userfunc.c:3369:14\r\n #13 0x5cd1f0de1f0c in execute_cmd0 **/src/nvim/ex_docmd.c:1674:7\r\n #14 0x5cd1f0dbeb37 in do_one_cmd **/src/nvim/ex_docmd.c:2343:7\r\n #15 0x5cd1f0daf2f2 in do_cmdline **/src/nvim/ex_docmd.c:633:20\r\n #16 0x5cd1f0db4400 in do_cmdline_cmd **/src/nvim/ex_docmd.c:342:10\r\n #17 0x5cd1f113395a in exe_pre_commands **/src/nvim/main.c:1891:5\r\n #18 0x5cd1f111f091 in main **/src/nvim/main.c:442:3\r\n #19 0x7e91322efccf (/usr/lib/libc.so.6+0x23ccf) (BuildId: 1bc67512a1f89c5a034f03e066cbd11fc7905cb4)\r\n #20 0x7e91322efd89 in __libc_start_main (/usr/lib/libc.so.6+0x23d89) (BuildId: 1bc67512a1f89c5a034f03e066cbd11fc7905cb4)\r\n #21 0x5cd1f03b2d94 in _start (**/build/bin/nvim+0xc09d94) (BuildId: b16cbbba647981bbbecc4bf9d0097edf2420d5ca)\r\n\r\nAddressSanitizer can not provide additional info.\r\nSUMMARY: AddressSanitizer: SEGV **/.deps/build/src/libuv/src/unix/stream.c:1294:3 in uv__check_before_write\r\n==185425==ABORTING\r\n```", + "created_at": "2024-02-04T04:45:55Z", + "html_url": "https://github.com/neovim/neovim/issues/19374#issuecomment-1925579610", + "id": 1925579610, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/19374", + "node_id": "IC_kwDOAPphoM5yxgNa", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925579610/reactions" + }, + "updated_at": "2024-02-04T04:45:55Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925579610", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + } + ], + "comments": 1, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/19374/comments", + "created_at": "2022-07-15T08:06:06Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/19374/events", + "html_url": "https://github.com/neovim/neovim/issues/19374", + "id": 1305718464, + "labels": [ + { + "color": "c7def8", + "default": false, + "description": null, + "id": 242522707, + "name": "rpc", + "node_id": "MDU6TGFiZWwyNDI1MjI3MDc=", + "url": "https://api.github.com/repos/neovim/neovim/labels/rpc" + }, + { + "color": "0E8A16", + "default": false, + "description": "issue is not fixed but can be circumvented until then", + "id": 435850181, + "name": "has:workaround", + "node_id": "MDU6TGFiZWw0MzU4NTAxODE=", + "url": "https://api.github.com/repos/neovim/neovim/labels/has:workaround" + }, + { + "color": "0E8A16", + "default": false, + "description": "issue contains a stacktrace/ASAN log", + "id": 435854079, + "name": "has:backtrace", + "node_id": "MDU6TGFiZWw0MzU4NTQwNzk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/has:backtrace" + }, + { + "color": "F9D0C4", + "default": false, + "description": "issue reporting a crash or segfault", + "id": 435854234, + "name": "bug-crash", + "node_id": "MDU6TGFiZWw0MzU4NTQyMzQ=", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug-crash" + }, + { + "color": "c5def5", + "default": false, + "description": null, + "id": 694783760, + "name": "channel", + "node_id": "MDU6TGFiZWw2OTQ3ODM3NjA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/channel" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/19374/labels{/name}", + "locked": false, + "milestone": { + "closed_at": null, + "closed_issues": 599, + "created_at": "2014-05-10T20:43:04Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + }, + "description": "Low priority. Not planned for the current target, may be reassigned.", + "due_on": null, + "html_url": "https://github.com/neovim/neovim/milestone/6", + "id": 655037, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/6/labels", + "node_id": "MDk6TWlsZXN0b25lNjU1MDM3", + "number": 6, + "open_issues": 424, + "state": "open", + "title": "backlog", + "updated_at": "2024-02-05T01:01:45Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/6" + }, + "node_id": "I_kwDOAPphoM5N067A", + "number": 19374, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/19374/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/19374/timeline", + "title": "Segfault when `--headless rpcrequest(stioopen({}),...)` is redirected to file", + "updated_at": "2024-02-04T04:46:03Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/19374", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/11534587?v=4", + "events_url": "https://api.github.com/users/glacambre/events{/privacy}", + "followers_url": "https://api.github.com/users/glacambre/followers", + "following_url": "https://api.github.com/users/glacambre/following{/other_user}", + "gists_url": "https://api.github.com/users/glacambre/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glacambre", + "id": 11534587, + "login": "glacambre", + "node_id": "MDQ6VXNlcjExNTM0NTg3", + "organizations_url": "https://api.github.com/users/glacambre/orgs", + "received_events_url": "https://api.github.com/users/glacambre/received_events", + "repos_url": "https://api.github.com/users/glacambre/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glacambre/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glacambre/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glacambre" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/19806.json b/repositories/neovim/issues/19806.json new file mode 100644 index 00000000..756f2ae3 --- /dev/null +++ b/repositories/neovim/issues/19806.json @@ -0,0 +1,187 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Neovim version (nvim -v)\r\n\r\nNVIM v0.8.0-dev+141-g55187de11\r\n\r\n### Vim (not Nvim) behaves the same?\r\n\r\nN/A\r\n\r\n### Operating system/version\r\n\r\nN/A\r\n\r\n### Terminal name/version\r\n\r\nN/A\r\n\r\n### $TERM environment variable\r\n\r\nN/A\r\n\r\n### Installation\r\n\r\nN/A\r\n\r\n### How to reproduce the issue\r\n\r\nGiven the following steps in lua:\r\n\r\n```lua\r\nvim.api.nvim_buf_set_text(0, 0, 0, 0, 0, {'one'})\r\nvim.api.nvim_input('ciw')\r\nvim.api.nvim_buf_set_text(0, 0, 0, 0, 0, {'two'})\r\nvim.api.nvim_input('u')\r\nvim.api.nvim_input('.')\r\n```\r\n\r\n### Expected behavior\r\n\r\nThe buffer contains \"two\".\r\n\r\n\r\n\r\n\r\n### Actual behavior\r\n\r\nThe buffer is empty (the ciw was repeated, but not the insertion).\r\n\r\n`nvim_buf_set_text` should only update dot repeat if the change is in one continuous region (someone typing or deleting). The changes should be accumulated until there is a discontunity.\r\n\r\nEssentially, if `start == end` (insertion), or `replacement == [\"\"]` (deletion), dot-repeat should accumulate just like `nvim_input` in insert mode. \r\n\r\n## Background\r\nThis is very important for vscode-neovim to improve reliablility and remove significant workarounds and bloat. \r\nhttps://github.com/vscode-neovim/vscode-neovim/pull/992\r\n\r\nVscode handles typing in insert mode, and then sends document changes to nvim via `nvim_buf_set_text` or `nvim_buf_set_lines`. However, because neovim does not properly record dot repeat, a workaround is currently needed that opens a scratch buffer, replays the changes by typing, and then returns to the original buffer. ", + "closed_at": null, + "comment_data": [ + { + "author_association": "CONTRIBUTOR", + "body": "I try to share my knowledges.\r\n\r\n1. nvim-cmp uses `feedkeys` function to modify current line with updating dot-repeat register.\r\n2. coc.nvim uses `complete` function to modify current line with updating dot-repeat register.\r\n\r\nIn vim, I don't know of any function that modifies the dot-repeat register in a function intended to modify the text of the buffer.\r\n\r\nBut as one of the plugin author, I think this feature is very useful.", + "created_at": "2022-08-19T14:14:19Z", + "html_url": "https://github.com/neovim/neovim/issues/19806#issuecomment-1220730978", + "id": 1220730978, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/19806", + "node_id": "IC_kwDOAPphoM5IwuBi", + "performed_via_github_app": null, + "reactions": { + "+1": 2, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 2, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1220730978/reactions" + }, + "updated_at": "2022-08-19T14:14:19Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1220730978", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/629908?v=4", + "events_url": "https://api.github.com/users/hrsh7th/events{/privacy}", + "followers_url": "https://api.github.com/users/hrsh7th/followers", + "following_url": "https://api.github.com/users/hrsh7th/following{/other_user}", + "gists_url": "https://api.github.com/users/hrsh7th/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/hrsh7th", + "id": 629908, + "login": "hrsh7th", + "node_id": "MDQ6VXNlcjYyOTkwOA==", + "organizations_url": "https://api.github.com/users/hrsh7th/orgs", + "received_events_url": "https://api.github.com/users/hrsh7th/received_events", + "repos_url": "https://api.github.com/users/hrsh7th/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/hrsh7th/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/hrsh7th/subscriptions", + "type": "User", + "url": "https://api.github.com/users/hrsh7th" + } + }, + { + "author_association": "NONE", + "body": "This feature could also be partially resolved by manually writing to the dot repeat register. Technically, this is possible by using operatorfunc to trigger a nvim_input, but the problem is **there is no way to recover the way insert mode was entered**.\n\nFor example, if you type `ciwtest`, `getreg(\".\")` will return \"test\", not \"ciwtest\". Thus, it is impossible to fully reconstruct the dotrepeat sequence in order to overwrite the register.\n\nAny other suggestions on how to do this, or can progress be made on the issue? Thanks!", + "created_at": "2024-02-03T20:40:15Z", + "html_url": "https://github.com/neovim/neovim/issues/19806#issuecomment-1925450185", + "id": 1925450185, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/19806", + "node_id": "IC_kwDOAPphoM5yxAnJ", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925450185/reactions" + }, + "updated_at": "2024-02-03T20:40:48Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925450185", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/16546293?v=4", + "events_url": "https://api.github.com/users/theol0403/events{/privacy}", + "followers_url": "https://api.github.com/users/theol0403/followers", + "following_url": "https://api.github.com/users/theol0403/following{/other_user}", + "gists_url": "https://api.github.com/users/theol0403/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/theol0403", + "id": 16546293, + "login": "theol0403", + "node_id": "MDQ6VXNlcjE2NTQ2Mjkz", + "organizations_url": "https://api.github.com/users/theol0403/orgs", + "received_events_url": "https://api.github.com/users/theol0403/received_events", + "repos_url": "https://api.github.com/users/theol0403/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/theol0403/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/theol0403/subscriptions", + "type": "User", + "url": "https://api.github.com/users/theol0403" + } + } + ], + "comments": 2, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/19806/comments", + "created_at": "2022-08-16T19:34:22Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/19806/events", + "html_url": "https://github.com/neovim/neovim/issues/19806", + "id": 1340793556, + "labels": [ + { + "color": "f9d0c4", + "default": true, + "description": "issues reporting wrong behavior", + "id": 77997474, + "name": "bug", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3NA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug" + }, + { + "color": "c5def5", + "default": false, + "description": "libnvim, Nvim RPC API", + "id": 103819671, + "name": "api", + "node_id": "MDU6TGFiZWwxMDM4MTk2NzE=", + "url": "https://api.github.com/repos/neovim/neovim/labels/api" + }, + { + "color": "FBCA04", + "default": false, + "description": "For PRs that propose significant changes to some part of the architecture or API", + "id": 212680983, + "name": "needs:discussion", + "node_id": "MDU6TGFiZWwyMTI2ODA5ODM=", + "url": "https://api.github.com/repos/neovim/neovim/labels/needs:discussion" + }, + { + "color": "C5DEF5", + "default": false, + "description": "", + "id": 5826991063, + "name": "insert-mode", + "node_id": "LA_kwDOAPphoM8AAAABW1DT1w", + "url": "https://api.github.com/repos/neovim/neovim/labels/insert-mode" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/19806/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM5P6uLU", + "number": 19806, + "performed_via_github_app": null, + "reactions": { + "+1": 2, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 2, + "url": "https://api.github.com/repos/neovim/neovim/issues/19806/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/19806/timeline", + "title": "nvim_buf_set_text in insert mode should update dot repeat", + "updated_at": "2024-02-04T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/19806", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/16546293?v=4", + "events_url": "https://api.github.com/users/theol0403/events{/privacy}", + "followers_url": "https://api.github.com/users/theol0403/followers", + "following_url": "https://api.github.com/users/theol0403/following{/other_user}", + "gists_url": "https://api.github.com/users/theol0403/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/theol0403", + "id": 16546293, + "login": "theol0403", + "node_id": "MDQ6VXNlcjE2NTQ2Mjkz", + "organizations_url": "https://api.github.com/users/theol0403/orgs", + "received_events_url": "https://api.github.com/users/theol0403/received_events", + "repos_url": "https://api.github.com/users/theol0403/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/theol0403/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/theol0403/subscriptions", + "type": "User", + "url": "https://api.github.com/users/theol0403" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/20235.json b/repositories/neovim/issues/20235.json new file mode 100644 index 00000000..a0889302 --- /dev/null +++ b/repositories/neovim/issues/20235.json @@ -0,0 +1,320 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "body": "### Neovim version (nvim -v)\n\nNVIM v0.8.0-dev-1106-g6cc03b9c9\n\n### Vim (not Nvim) behaves the same?\n\nno\n\n### Operating system/version\n\nArchLinux\n\n### Terminal name/version\n\nAlacritty\n\n### $TERM environment variable\n\nalacritty\n\n### Installation\n\nbuild from repo\n\n### How to reproduce the issue\n\n`cat mini.lua`\r\n```lua\r\nlocal api = vim.api\r\nvim.o.cmdheight = 2\r\n_G.cnt = 0\r\nlocal ns = api.nvim_create_namespace('test')\r\napi.nvim_set_decoration_provider(ns, {\r\n on_win = function(...)\r\n vim.schedule(function() end)\r\n _G.cnt = _G.cnt + 1\r\n end\r\n})\r\napi.nvim_feedkeys('v', 'n', false)\r\nvim.defer_fn(function()\r\n local esc = api.nvim_replace_termcodes('', true, false, true)\r\n api.nvim_feedkeys(esc, 'n', false)\r\n print(_G.cnt)\r\nend, 3000)\r\n```\r\n1. nvim --clean +'so mini.lua'\n\n### Expected behavior\n\nSmall enough cnt to output.\n\n### Actual behavior\n\n![image](https://user-images.githubusercontent.com/17562139/190867972-2eb3d2d3-297d-4228-8287-d981bdef4f69.png)\r\n", + "closed_at": "2024-02-05T03:08:54Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "This is similar to #4847 #14303", + "created_at": "2022-09-17T22:57:50Z", + "html_url": "https://github.com/neovim/neovim/issues/20235#issuecomment-1250152454", + "id": 1250152454, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/20235", + "node_id": "IC_kwDOAPphoM5Kg9AG", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1250152454/reactions" + }, + "updated_at": "2022-09-17T22:57:50Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1250152454", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "> This is similar to #4847 #14303\r\n\r\nIt's weird that the issue only exists in visual mode.", + "created_at": "2022-09-18T00:28:24Z", + "html_url": "https://github.com/neovim/neovim/issues/20235#issuecomment-1250162367", + "id": 1250162367, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/20235", + "node_id": "IC_kwDOAPphoM5Kg_a_", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1250162367/reactions" + }, + "updated_at": "2022-09-18T00:28:24Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1250162367", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/17562139?v=4", + "events_url": "https://api.github.com/users/kevinhwang91/events{/privacy}", + "followers_url": "https://api.github.com/users/kevinhwang91/followers", + "following_url": "https://api.github.com/users/kevinhwang91/following{/other_user}", + "gists_url": "https://api.github.com/users/kevinhwang91/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/kevinhwang91", + "id": 17562139, + "login": "kevinhwang91", + "node_id": "MDQ6VXNlcjE3NTYyMTM5", + "organizations_url": "https://api.github.com/users/kevinhwang91/orgs", + "received_events_url": "https://api.github.com/users/kevinhwang91/received_events", + "repos_url": "https://api.github.com/users/kevinhwang91/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/kevinhwang91/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kevinhwang91/subscriptions", + "type": "User", + "url": "https://api.github.com/users/kevinhwang91" + } + }, + { + "author_association": "MEMBER", + "body": "That's because\r\nhttps://github.com/neovim/neovim/blob/3c3f3e7353ba2cb9071183cd05036ca2a98d3672/src/nvim/normal.c#L1285-L1287", + "created_at": "2022-09-18T00:35:08Z", + "html_url": "https://github.com/neovim/neovim/issues/20235#issuecomment-1250163203", + "id": 1250163203, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/20235", + "node_id": "IC_kwDOAPphoM5Kg_oD", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1250163203/reactions" + }, + "updated_at": "2022-09-18T00:35:08Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1250163203", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Thanks for your tip.", + "created_at": "2022-09-18T00:41:01Z", + "html_url": "https://github.com/neovim/neovim/issues/20235#issuecomment-1250163859", + "id": 1250163859, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/20235", + "node_id": "IC_kwDOAPphoM5Kg_yT", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1250163859/reactions" + }, + "updated_at": "2022-09-18T00:41:01Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1250163859", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/17562139?v=4", + "events_url": "https://api.github.com/users/kevinhwang91/events{/privacy}", + "followers_url": "https://api.github.com/users/kevinhwang91/followers", + "following_url": "https://api.github.com/users/kevinhwang91/following{/other_user}", + "gists_url": "https://api.github.com/users/kevinhwang91/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/kevinhwang91", + "id": 17562139, + "login": "kevinhwang91", + "node_id": "MDQ6VXNlcjE3NTYyMTM5", + "organizations_url": "https://api.github.com/users/kevinhwang91/orgs", + "received_events_url": "https://api.github.com/users/kevinhwang91/received_events", + "repos_url": "https://api.github.com/users/kevinhwang91/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/kevinhwang91/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kevinhwang91/subscriptions", + "type": "User", + "url": "https://api.github.com/users/kevinhwang91" + } + } + ], + "comments": 4, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/20235/comments", + "created_at": "2022-09-17T16:56:19Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/20235/events", + "html_url": "https://github.com/neovim/neovim/issues/20235", + "id": 1376821822, + "labels": [ + { + "color": "f9d0c4", + "default": true, + "description": "issues reporting wrong behavior", + "id": 77997474, + "name": "bug", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3NA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug" + }, + { + "color": "FEF2C0", + "default": false, + "description": "issues reporting performance problems", + "id": 101930601, + "name": "performance", + "node_id": "MDU6TGFiZWwxMDE5MzA2MDE=", + "url": "https://api.github.com/repos/neovim/neovim/labels/performance" + }, + { + "color": "c5def5", + "default": false, + "description": "", + "id": 113026979, + "name": "ui", + "node_id": "MDU6TGFiZWwxMTMwMjY5Nzk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/ui" + }, + { + "color": "c5def5", + "default": false, + "description": null, + "id": 520282574, + "name": "event-loop", + "node_id": "MDU6TGFiZWw1MjAyODI1NzQ=", + "url": "https://api.github.com/repos/neovim/neovim/labels/event-loop" + }, + { + "color": "C5DEF5", + "default": false, + "description": "", + "id": 5826988504, + "name": "visual-mode", + "node_id": "LA_kwDOAPphoM8AAAABW1DJ2A", + "url": "https://api.github.com/repos/neovim/neovim/labels/visual-mode" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/20235/labels{/name}", + "locked": false, + "milestone": { + "closed_at": null, + "closed_issues": 278, + "created_at": "2023-02-02T14:11:43Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + "description": "", + "due_on": "2024-03-01T08:00:00Z", + "html_url": "https://github.com/neovim/neovim/milestone/36", + "id": 8997654, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", + "node_id": "MI_kwDOAPphoM4AiUsW", + "number": 36, + "open_issues": 138, + "state": "open", + "title": "0.10", + "updated_at": "2024-02-05T21:59:25Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/36" + }, + "node_id": "I_kwDOAPphoM5SEKI-", + "number": 20235, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/20235/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "completed", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/20235/timeline", + "title": "Invoke cb of `nvim_set_decoration_provider` over and over in visual mode", + "updated_at": "2024-02-05T03:08:54Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/20235", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/17562139?v=4", + "events_url": "https://api.github.com/users/kevinhwang91/events{/privacy}", + "followers_url": "https://api.github.com/users/kevinhwang91/followers", + "following_url": "https://api.github.com/users/kevinhwang91/following{/other_user}", + "gists_url": "https://api.github.com/users/kevinhwang91/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/kevinhwang91", + "id": 17562139, + "login": "kevinhwang91", + "node_id": "MDQ6VXNlcjE3NTYyMTM5", + "organizations_url": "https://api.github.com/users/kevinhwang91/orgs", + "received_events_url": "https://api.github.com/users/kevinhwang91/received_events", + "repos_url": "https://api.github.com/users/kevinhwang91/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/kevinhwang91/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kevinhwang91/subscriptions", + "type": "User", + "url": "https://api.github.com/users/kevinhwang91" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/20458.json b/repositories/neovim/issues/20458.json new file mode 100644 index 00000000..57bf6f1c --- /dev/null +++ b/repositories/neovim/issues/20458.json @@ -0,0 +1,469 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Neovim version (nvim -v)\r\n\r\nNVIM v0.8.0-1210-gd367ed9b2\r\n\r\n### Vim (not Nvim) behaves the same?\r\n\r\nNo, Vim 8.2.1895\r\n\r\n### Operating system/version\r\n\r\nWindows 10 1703\r\n\r\n### Terminal name/version\r\n\r\nnvim-qt\r\n\r\n### $TERM environment variable\r\n\r\nnone\r\n\r\n### Installation\r\n\r\nGithub Releases, manual installation\r\n\r\n### How to reproduce the issue\r\n\r\n1. Download Neovim\r\n2. Open it using `nvim-qt`\r\n3. Try to open the built-in terminal:\r\n~~~\r\n:term\r\n~~~\r\n\r\n---\r\n\r\nTo reproduce using `nvim --clean` I need to start from `cmd.exe`:\r\n\r\n1. Download Neovim\r\n\r\n2. Open `cmd.exe`, and go into the `nvim-win64/bin` folder.\r\n\r\n3. Open Neovim using `--clean` flag:\r\n~~~\r\nnvim --clean\r\n~~~\r\n\r\n4. Try to open the built-in terminal:\r\n~~~\r\n:term\r\n~~~\r\n\r\n\r\n### Expected behavior\r\n\r\nNeovim opens the built-in terminal and starts the `cmd` shell in there.\r\n\r\n### Actual behavior\r\n\r\nNeovim didn't open the built-in terminal, and displayed this error:\r\n~~~\r\nE903: Process failed to start: function not implemented: \"C:\\Windows\\system32\\cmd.exe\"\r\n~~~", + "closed_at": null, + "comment_data": [ + { + "author_association": "MEMBER", + "body": "Duplicate of #20420", + "created_at": "2022-10-03T01:07:32Z", + "html_url": "https://github.com/neovim/neovim/issues/20458#issuecomment-1264796637", + "id": 1264796637, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/20458", + "node_id": "IC_kwDOAPphoM5LY0Pd", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1264796637/reactions" + }, + "updated_at": "2022-10-03T01:07:32Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1264796637", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "MEMBER", + "body": "Not sure how `:term` could fail because we run it in CI.\r\n\r\nAnyways, can you try the development version @Letheward ? I am wondering if https://github.com/neovim/neovim/pull/19438 helps anything here. The [Releases](https://github.com/neovim/neovim/releases/tag/nightly) page has a pre-built zip for Windows. ", + "created_at": "2022-10-03T20:17:20Z", + "html_url": "https://github.com/neovim/neovim/issues/20458#issuecomment-1265980854", + "id": 1265980854, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/20458", + "node_id": "IC_kwDOAPphoM5LdVW2", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1265980854/reactions" + }, + "updated_at": "2022-10-03T20:17:56Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1265980854", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "NONE", + "body": "> Anyways, can you try the development version @Letheward ? I am wondering if #19438 helps anything here. The [Releases](https://github.com/neovim/neovim/releases/tag/nightly) page has a pre-built zip for Windows.\r\n\r\nI tried `NVIM v0.9.0-dev-16-g56998feeb`, it still showed the same error.\r\n\r\n\r\n", + "created_at": "2022-10-04T05:50:33Z", + "html_url": "https://github.com/neovim/neovim/issues/20458#issuecomment-1266427618", + "id": 1266427618, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/20458", + "node_id": "IC_kwDOAPphoM5LfCbi", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1266427618/reactions" + }, + "updated_at": "2022-10-04T05:50:33Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1266427618", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/10137?v=4", + "events_url": "https://api.github.com/users/ghost/events{/privacy}", + "followers_url": "https://api.github.com/users/ghost/followers", + "following_url": "https://api.github.com/users/ghost/following{/other_user}", + "gists_url": "https://api.github.com/users/ghost/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/ghost", + "id": 10137, + "login": "ghost", + "node_id": "MDQ6VXNlcjEwMTM3", + "organizations_url": "https://api.github.com/users/ghost/orgs", + "received_events_url": "https://api.github.com/users/ghost/received_events", + "repos_url": "https://api.github.com/users/ghost/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/ghost/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ghost/subscriptions", + "type": "User", + "url": "https://api.github.com/users/ghost" + } + }, + { + "author_association": "NONE", + "body": "Not sure if this is related, but Windows ConPTY is [introduced](https://devblogs.microsoft.com/commandline/windows-command-line-introducing-the-windows-pseudo-console-conpty/) in Windows 10 1809, which is newer than my version (1703). \r\n\r\nSome terminal emulators (like [alacritty](https://github.com/alacritty/alacritty)) use ConPTY, and indeed I can't use them on older versions of Windows 10.", + "created_at": "2022-10-04T06:06:52Z", + "html_url": "https://github.com/neovim/neovim/issues/20458#issuecomment-1266437768", + "id": 1266437768, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/20458", + "node_id": "IC_kwDOAPphoM5LfE6I", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1266437768/reactions" + }, + "updated_at": "2022-10-04T06:06:52Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1266437768", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/10137?v=4", + "events_url": "https://api.github.com/users/ghost/events{/privacy}", + "followers_url": "https://api.github.com/users/ghost/followers", + "following_url": "https://api.github.com/users/ghost/following{/other_user}", + "gists_url": "https://api.github.com/users/ghost/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/ghost", + "id": 10137, + "login": "ghost", + "node_id": "MDQ6VXNlcjEwMTM3", + "organizations_url": "https://api.github.com/users/ghost/orgs", + "received_events_url": "https://api.github.com/users/ghost/received_events", + "repos_url": "https://api.github.com/users/ghost/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/ghost/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ghost/subscriptions", + "type": "User", + "url": "https://api.github.com/users/ghost" + } + }, + { + "author_association": "MEMBER", + "body": "This issue seems to contain more information than #20420", + "created_at": "2022-10-04T06:12:40Z", + "html_url": "https://github.com/neovim/neovim/issues/20458#issuecomment-1266441732", + "id": 1266441732, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/20458", + "node_id": "IC_kwDOAPphoM5LfF4E", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1266441732/reactions" + }, + "updated_at": "2022-10-04T06:12:47Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1266441732", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "MEMBER", + "body": "can we feature detect and give a more informative error message than ` function not implemented: \"C:\\Windows\\system32\\cmd.exe\"` perhaps?", + "created_at": "2022-10-04T06:22:15Z", + "html_url": "https://github.com/neovim/neovim/issues/20458#issuecomment-1266449875", + "id": 1266449875, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/20458", + "node_id": "IC_kwDOAPphoM5LfH3T", + "performed_via_github_app": null, + "reactions": { + "+1": 2, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 2, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1266449875/reactions" + }, + "updated_at": "2022-10-04T06:22:15Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1266449875", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + } + }, + { + "author_association": "MEMBER", + "body": "> can we feature detect and give a more informative error message than function not implemented: \"C:\\Windows\\system32\\cmd.exe\" perhaps?\r\n\r\nYes. I think the error message should be improved. However, support for Version 1803 and earlier for the general public ended a long time ago. Therefore, it is not a priority.\r\n\r\nRef. https://learn.microsoft.com/en-us/lifecycle/products/windows-10-home-and-pro", + "created_at": "2022-10-04T11:50:50Z", + "html_url": "https://github.com/neovim/neovim/issues/20458#issuecomment-1266868976", + "id": 1266868976, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/20458", + "node_id": "IC_kwDOAPphoM5LguLw", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1266868976/reactions" + }, + "updated_at": "2022-10-04T11:50:50Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1266868976", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/11682285?v=4", + "events_url": "https://api.github.com/users/erw7/events{/privacy}", + "followers_url": "https://api.github.com/users/erw7/followers", + "following_url": "https://api.github.com/users/erw7/following{/other_user}", + "gists_url": "https://api.github.com/users/erw7/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/erw7", + "id": 11682285, + "login": "erw7", + "node_id": "MDQ6VXNlcjExNjgyMjg1", + "organizations_url": "https://api.github.com/users/erw7/orgs", + "received_events_url": "https://api.github.com/users/erw7/received_events", + "repos_url": "https://api.github.com/users/erw7/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/erw7/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/erw7/subscriptions", + "type": "User", + "url": "https://api.github.com/users/erw7" + } + }, + { + "author_association": "MEMBER", + "body": "I'm seeing this on a Windows 2016 VM. Running `winver` in cmd.exe shows `Version 1607`.\r\n\r\nFrom https://learn.microsoft.com/en-us/lifecycle/products/windows-10-home-and-pro I see that 1607 \"ended\" in 2018:\r\n\r\n```\r\nVersion Start Date End Date\r\n-----------------------------------------\r\nVersion 1607 | Aug 2, 2016 | Apr 10, 2018\r\n```\r\n\r\nthose 2-year cycles are rather aggressive.\r\nThis Windows VM is just the standard AMI used by https://aws.amazon.com/workspaces/\r\n\r\nSo in general, those 2-year cycles don't decide when we drop support for a Windows version. But in this case for `:terminal`, we explicitly require Version 1809 or newer.\r\n\r\n\r\n", + "created_at": "2023-01-04T11:19:11Z", + "html_url": "https://github.com/neovim/neovim/issues/20458#issuecomment-1370798533", + "id": 1370798533, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/20458", + "node_id": "IC_kwDOAPphoM5RtLnF", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1370798533/reactions" + }, + "updated_at": "2023-01-04T11:19:11Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1370798533", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + } + ], + "comments": 8, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/20458/comments", + "created_at": "2022-10-03T01:04:27Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/20458/events", + "html_url": "https://github.com/neovim/neovim/issues/20458", + "id": 1393970282, + "labels": [ + { + "color": "d4c5f9", + "default": false, + "description": null, + "id": 109461219, + "name": "platform:windows", + "node_id": "MDU6TGFiZWwxMDk0NjEyMTk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/platform:windows" + }, + { + "color": "c5def5", + "default": false, + "description": "built-in :terminal or :shell", + "id": 212696822, + "name": "terminal", + "node_id": "MDU6TGFiZWwyMTI2OTY4MjI=", + "url": "https://api.github.com/repos/neovim/neovim/labels/terminal" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/20458/labels{/name}", + "locked": false, + "milestone": { + "closed_at": null, + "closed_issues": 278, + "created_at": "2023-02-02T14:11:43Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + "description": "", + "due_on": "2024-03-01T08:00:00Z", + "html_url": "https://github.com/neovim/neovim/milestone/36", + "id": 8997654, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", + "node_id": "MI_kwDOAPphoM4AiUsW", + "number": 36, + "open_issues": 138, + "state": "open", + "title": "0.10", + "updated_at": "2024-02-05T21:59:25Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/36" + }, + "node_id": "I_kwDOAPphoM5TFkxq", + "number": 20458, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/20458/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": "reopened", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/20458/timeline", + "title": "TUI(Windows): E903: Process failed: function not implemented: cmd.exe", + "updated_at": "2024-01-30T14:04:28Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/20458", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/10137?v=4", + "events_url": "https://api.github.com/users/ghost/events{/privacy}", + "followers_url": "https://api.github.com/users/ghost/followers", + "following_url": "https://api.github.com/users/ghost/following{/other_user}", + "gists_url": "https://api.github.com/users/ghost/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/ghost", + "id": 10137, + "login": "ghost", + "node_id": "MDQ6VXNlcjEwMTM3", + "organizations_url": "https://api.github.com/users/ghost/orgs", + "received_events_url": "https://api.github.com/users/ghost/received_events", + "repos_url": "https://api.github.com/users/ghost/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/ghost/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ghost/subscriptions", + "type": "User", + "url": "https://api.github.com/users/ghost" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/20666.json b/repositories/neovim/issues/20666.json new file mode 100644 index 00000000..3f9796aa --- /dev/null +++ b/repositories/neovim/issues/20666.json @@ -0,0 +1,125 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "body": "\r\n\r\nsuggested by @erw7 in https://github.com/neovim/neovim/pull/20634#issuecomment-1279701733 : \r\n\r\n> `vtpcon` has lost its usefulness because of the implementation of many features of `xterm` in `conpty`. In addition, Windows 8.1 will be EOL on 1/10/2023. Therefore, `windows.ti` and all changes related to it should be removed in 0.9.\r\n\r\n", + "closed_at": null, + "comment_data": [ + { + "author_association": "MEMBER", + "body": "Related https://github.com/microsoft/terminal/issues/8303", + "created_at": "2024-01-31T14:18:14Z", + "html_url": "https://github.com/neovim/neovim/issues/20666#issuecomment-1919195734", + "id": 1919195734, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/20666", + "node_id": "IC_kwDOAPphoM5yZJpW", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919195734/reactions" + }, + "updated_at": "2024-01-31T14:18:14Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919195734", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + } + ], + "comments": 1, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/20666/comments", + "created_at": "2022-10-15T10:21:35Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/20666/events", + "html_url": "https://github.com/neovim/neovim/issues/20666", + "id": 1410120512, + "labels": [ + { + "color": "C5DEF5", + "default": false, + "description": "changes that are not features or bugfixes", + "id": 106949155, + "name": "refactor", + "node_id": "MDU6TGFiZWwxMDY5NDkxNTU=", + "url": "https://api.github.com/repos/neovim/neovim/labels/refactor" + }, + { + "color": "d4c5f9", + "default": false, + "description": null, + "id": 109461219, + "name": "platform:windows", + "node_id": "MDU6TGFiZWwxMDk0NjEyMTk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/platform:windows" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/20666/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM5UDLtA", + "number": 20666, + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/20666/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/20666/timeline", + "title": "TUI: remove vtpcon (Windows 8)", + "updated_at": "2024-02-01T01:46:16Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/20666", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/21191.json b/repositories/neovim/issues/21191.json index 61cfa4d9..b87dbd94 100644 --- a/repositories/neovim/issues/21191.json +++ b/repositories/neovim/issues/21191.json @@ -5,8 +5,53 @@ "author_association": "NONE", "body": "\r\n### Feature description\r\n\r\n### Spec\r\n\r\nhttps://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_onTypeFormatting\r\n\r\n### Incomplete list of capable servers\r\n\r\n- [rust-analyzer](https://rust-analyzer.github.io/)\r\n- [lua-language-server](https://github.com/sumneko/lua-language-server/blob/7400644545baad38c0830c2cbb596f51b88316e5/script/core/type-formatting.lua) \r\n- [tsserver](https://github.com/microsoft/TypeScript/blob/f6628a4573cd37c26912f78de3d08cd1dbf687a5/lib/protocol.d.ts#L25)\r\n- [ccls](https://github.com/MaskRay/ccls/blob/8a93950fb9828182919df12083a0443ab7ad831e/src/message_handler.cc)\r\n\r\n### Benefits\r\n\r\n- Format code instantly at typing and reduce the need of requesting `textDocument/(range)formatting` and typing burden.\r\n- Partially alleviate the reliance on indenting (perhaps even a replacement for it?) as most of the current vim indent plugins simply use regex which is not accurate enough, and the [tree-sitter one](https://github.com/nvim-treesitter/nvim-treesitter#indentation) seldom works now.\r\n- The capability has been standardized in LSP along with `textDocument/(range)formatting` and the other two have been already implemented for a long time. I think it should be trivial and reasonable to add support for it either.\r\n\r\n### Possible implementation\r\n\r\n[coc.nvim](https://github.com/neoclide/coc.nvim/blob/2d0634eb8064fd483f78e38e72feed30d5a418b9/src/handler/format.ts#L107)\r\n\r\nThe support has been added there for years and the implementation is an excellent reference. The key listening is implemented by [a combination of autocmd events](https://github.com/neoclide/coc.nvim/blob/2d0634eb8064fd483f78e38e72feed30d5a418b9/src/handler/format.ts#L63-L77).\r\n\r\n[A version use `vim.on_key`](https://github.com/yioneko/nvim-type-fmt/blob/main/lua/type-fmt.lua)\r\n\r\nThis one uses `vim.on_key` to make it possible to receive special inserted chars like `\\r`, as some servers support `onTypeFormatting` on newline (`\\n`). The caveat is that `vim.on_key` actually listens on rhs of mapping, which doesn't reflect what the char user actually typed. A better approach might be needed.", "closed_at": null, - "comment_data": [], - "comments": 0, + "comment_data": [ + { + "author_association": "CONTRIBUTOR", + "body": "FYI, [clangd also seems to support this](https://github.com/search?q=repo%3Allvm%2Fllvm-project%20onTypeFormatting&type=code)", + "created_at": "2024-02-01T18:43:24Z", + "html_url": "https://github.com/neovim/neovim/issues/21191#issuecomment-1921986913", + "id": 1921986913, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/21191", + "node_id": "IC_kwDOAPphoM5yjzFh", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921986913/reactions" + }, + "updated_at": "2024-02-01T18:43:24Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921986913", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/13141438?v=4", + "events_url": "https://api.github.com/users/tom-anders/events{/privacy}", + "followers_url": "https://api.github.com/users/tom-anders/followers", + "following_url": "https://api.github.com/users/tom-anders/following{/other_user}", + "gists_url": "https://api.github.com/users/tom-anders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/tom-anders", + "id": 13141438, + "login": "tom-anders", + "node_id": "MDQ6VXNlcjEzMTQxNDM4", + "organizations_url": "https://api.github.com/users/tom-anders/orgs", + "received_events_url": "https://api.github.com/users/tom-anders/received_events", + "repos_url": "https://api.github.com/users/tom-anders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/tom-anders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom-anders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/tom-anders" + } + } + ], + "comments": 1, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/21191/comments", "created_at": "2022-11-25T17:02:40Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/21191/events", @@ -36,7 +81,7 @@ "locked": false, "milestone": { "closed_at": null, - "closed_issues": 584, + "closed_issues": 599, "created_at": "2014-05-10T20:43:04Z", "creator": { "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", @@ -65,17 +110,17 @@ "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/6/labels", "node_id": "MDk6TWlsZXN0b25lNjU1MDM3", "number": 6, - "open_issues": 412, + "open_issues": 424, "state": "open", "title": "backlog", - "updated_at": "2023-09-20T13:07:04Z", + "updated_at": "2024-02-05T01:01:45Z", "url": "https://api.github.com/repos/neovim/neovim/milestones/6" }, "node_id": "I_kwDOAPphoM5XTqoO", "number": 21191, "performed_via_github_app": null, "reactions": { - "+1": 47, + "+1": 51, "-1": 0, "confused": 0, "eyes": 0, @@ -83,7 +128,7 @@ "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 47, + "total_count": 51, "url": "https://api.github.com/repos/neovim/neovim/issues/21191/reactions" }, "repository_url": "https://api.github.com/repos/neovim/neovim", @@ -91,7 +136,7 @@ "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/21191/timeline", "title": "LSP: textDocument/onTypeFormatting", - "updated_at": "2023-09-20T13:07:04Z", + "updated_at": "2024-02-01T18:43:25Z", "url": "https://api.github.com/repos/neovim/neovim/issues/21191", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/65551246?v=4", diff --git a/repositories/neovim/issues/21588.json b/repositories/neovim/issues/21588.json new file mode 100644 index 00000000..7ead7c9b --- /dev/null +++ b/repositories/neovim/issues/21588.json @@ -0,0 +1,926 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Neovim version (nvim -v)\n\nNVIM v0.9.0-dev-577+g587fbdd7a\n\n### Vim (not Nvim) behaves the same?\n\nno\n\n### Operating system/version\n\nLinux 6.1.1-arch1-1\n\n### Terminal name/version\n\nalacritty 0.11.0\n\n### $TERM environment variable\n\nalacritty\n\n### Installation\n\nArch User Repository (AUR)\n\n### How to reproduce the issue\n\nMinimal `init.lua`:\r\n\r\n```lua\r\nvim.cmd [[packadd packer.nvim]]\r\n\r\nrequire('packer').startup(function(use)\r\n\t-- Packer can manage itself\r\n\tuse 'wbthomason/packer.nvim'\r\n\r\n\t-- Language Server Configs\r\n\tuse 'neovim/nvim-lspconfig',\r\nend)\r\n```\r\n\r\nCreate an `after/ftplugin/lua.lua` file:\r\n\r\n```lua\r\n-- Launch language server\r\nrequire('lspconfig').sumneko_lua.setup {\r\n\tsettings = {\r\n\t\tLua = {\r\n\t\t\truntime = {\r\n\t\t\t\t-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)\r\n\t\t\t\tversion = 'LuaJIT',\r\n\t\t\t},\r\n\t\t\tdiagnostics = {\r\n\t\t\t\t-- Get the language server to recognize the `vim` global\r\n\t\t\t\tglobals = {'vim'},\r\n\t\t\t},\r\n\t\t\tworkspace = {\r\n\t\t\t\t-- Make the server aware of Neovim runtime files\r\n\t\t\t\tlibrary = vim.api.nvim_get_runtime_file(\"\", true),\r\n\r\n\t\t\t\t-- Avoid using \"Environment Emulation\"\r\n\t\t\t\t-- @see https://github.com/sumneko/lua-language-server/wiki/Libraries#environment-emulation\r\n\t\t\t\t-- @see https://github.com/sumneko/lua-language-server/discussions/1688\r\n\t\t\t\tcheckThirdParty = false,\r\n\t\t\t},\r\n\t\t\t-- Do not send telemetry data containing a randomized but unique identifier\r\n\t\t\ttelemetry = {\r\n\t\t\t\tenable = false,\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n\r\n\t-- Setup completion engine\r\n\tcapabilities = vim.lsp.protocol.make_client_capabilities(),\r\n\r\n\ton_attach = function(client, bufnr)\r\n\t\tclient.server_capabilities.semanticTokensProvider = nil\r\n\tend,\r\n}\r\n\r\n-- Call wrapper since lspstart occurs before sourcing ftplugin??\r\nrequire('lspconfig').sumneko_lua.manager.try_add_wrapper()\r\n```\r\n\r\nStep to get error:\r\n\r\n1. nvim\r\n2. :edit test_1.lua\r\n3. :vsplit\r\n4. :edit test_2.lua\n\n### Expected behavior\n\nThe following error won't show up every time type in insert mode:\r\n\r\n```\r\nError executing vim.schedule lua callback: /usr/share/nvim/runtime/lua/vim/lsp/semantic_tokens.lua:253: attempt to index field 'semanticTokensProvider' (a nil value)\r\nstack traceback:\r\n /usr/share/nvim/runtime/lua/vim/lsp/semantic_tokens.lua:253: in function 'send_request'\r\n /usr/share/nvim/runtime/lua/vim/lsp/semantic_tokens.lua:481: in function ''\r\n vim/_editor.lua: in function ''\r\n vim/_editor.lua: in function \r\n```\n\n### Actual behavior\n\n\r\nhttps://user-images.githubusercontent.com/65031601/209977699-d7984754-7f8c-4533-b127-a9453f0530c5.mp4\r\n\r\n", + "closed_at": "2023-04-06T10:20:07Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "I think you should not config it in `after/ftplugin` folder.", + "created_at": "2022-12-30T04:42:53Z", + "html_url": "https://github.com/neovim/neovim/issues/21588#issuecomment-1367723868", + "id": 1367723868, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/21588", + "node_id": "IC_kwDOAPphoM5Rhc9c", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1367723868/reactions" + }, + "updated_at": "2022-12-30T04:42:53Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1367723868", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + }, + { + "author_association": "NONE", + "body": "Why not? I would rather keep the configuration of each language server to it's respective filetype.\r\n\r\nAlso I forgot to mention that issues occurs in both `ftplugin` and `after/ftplugin`, and that it only shows up if you start editing another file.", + "created_at": "2022-12-30T11:11:19Z", + "html_url": "https://github.com/neovim/neovim/issues/21588#issuecomment-1367863047", + "id": 1367863047, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/21588", + "node_id": "IC_kwDOAPphoM5Rh-8H", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1367863047/reactions" + }, + "updated_at": "2022-12-30T11:11:19Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1367863047", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/65031601?v=4", + "events_url": "https://api.github.com/users/Xevnar/events{/privacy}", + "followers_url": "https://api.github.com/users/Xevnar/followers", + "following_url": "https://api.github.com/users/Xevnar/following{/other_user}", + "gists_url": "https://api.github.com/users/Xevnar/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Xevnar", + "id": 65031601, + "login": "Xevnar", + "node_id": "MDQ6VXNlcjY1MDMxNjAx", + "organizations_url": "https://api.github.com/users/Xevnar/orgs", + "received_events_url": "https://api.github.com/users/Xevnar/received_events", + "repos_url": "https://api.github.com/users/Xevnar/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Xevnar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Xevnar/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Xevnar" + } + }, + { + "author_association": "MEMBER", + "body": "server start is async. server need time to do initial and clients and servers need to exchange capabilities and time. you pushed them into after/ftplugin folder it load fast ? and what i test is your way will make server exit. `test_1.lua` spawn server with id 1 , `vs test_2.lua` will make id 1 exit and spawn a new one . the new one not have this provider then you got this error. so i don't advice pushed them into this folder . in `lua folder ` is fine. ", + "created_at": "2022-12-30T11:21:11Z", + "html_url": "https://github.com/neovim/neovim/issues/21588#issuecomment-1367867405", + "id": 1367867405, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/21588", + "node_id": "IC_kwDOAPphoM5RiAAN", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1367867405/reactions" + }, + "updated_at": "2022-12-30T11:21:11Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1367867405", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + }, + { + "author_association": "NONE", + "body": "The same issue happens to me, I config the server not in `after/ftplugin` folder.", + "created_at": "2023-01-01T12:26:14Z", + "html_url": "https://github.com/neovim/neovim/issues/21588#issuecomment-1368432538", + "id": 1368432538, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/21588", + "node_id": "IC_kwDOAPphoM5RkJ-a", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1368432538/reactions" + }, + "updated_at": "2023-01-01T12:26:14Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1368432538", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/4954051?v=4", + "events_url": "https://api.github.com/users/ofirgall/events{/privacy}", + "followers_url": "https://api.github.com/users/ofirgall/followers", + "following_url": "https://api.github.com/users/ofirgall/following{/other_user}", + "gists_url": "https://api.github.com/users/ofirgall/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/ofirgall", + "id": 4954051, + "login": "ofirgall", + "node_id": "MDQ6VXNlcjQ5NTQwNTE=", + "organizations_url": "https://api.github.com/users/ofirgall/orgs", + "received_events_url": "https://api.github.com/users/ofirgall/received_events", + "repos_url": "https://api.github.com/users/ofirgall/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/ofirgall/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ofirgall/subscriptions", + "type": "User", + "url": "https://api.github.com/users/ofirgall" + } + }, + { + "author_association": "MEMBER", + "body": "@ofirgall the same reproduce step ? I can't reproduce .", + "created_at": "2023-01-01T12:29:57Z", + "html_url": "https://github.com/neovim/neovim/issues/21588#issuecomment-1368433094", + "id": 1368433094, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/21588", + "node_id": "IC_kwDOAPphoM5RkKHG", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1368433094/reactions" + }, + "updated_at": "2023-01-01T12:41:37Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1368433094", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + }, + { + "author_association": "NONE", + "body": "@glepnir Yes, it doesn't occurs everytime, I don't know what affects it.\r\nDid you set `client.server_capabilities.semanticTokensProvider = nil` in `on_attach`?", + "created_at": "2023-01-01T12:46:59Z", + "html_url": "https://github.com/neovim/neovim/issues/21588#issuecomment-1368435321", + "id": 1368435321, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/21588", + "node_id": "IC_kwDOAPphoM5RkKp5", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1368435321/reactions" + }, + "updated_at": "2023-01-01T12:46:59Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1368435321", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/4954051?v=4", + "events_url": "https://api.github.com/users/ofirgall/events{/privacy}", + "followers_url": "https://api.github.com/users/ofirgall/followers", + "following_url": "https://api.github.com/users/ofirgall/following{/other_user}", + "gists_url": "https://api.github.com/users/ofirgall/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/ofirgall", + "id": 4954051, + "login": "ofirgall", + "node_id": "MDQ6VXNlcjQ5NTQwNTE=", + "organizations_url": "https://api.github.com/users/ofirgall/orgs", + "received_events_url": "https://api.github.com/users/ofirgall/received_events", + "repos_url": "https://api.github.com/users/ofirgall/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/ofirgall/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ofirgall/subscriptions", + "type": "User", + "url": "https://api.github.com/users/ofirgall" + } + }, + { + "author_association": "MEMBER", + "body": "I used it and works fine . btw the latest nvim-lspconfig?", + "created_at": "2023-01-01T12:50:12Z", + "html_url": "https://github.com/neovim/neovim/issues/21588#issuecomment-1368435655", + "id": 1368435655, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/21588", + "node_id": "IC_kwDOAPphoM5RkKvH", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1368435655/reactions" + }, + "updated_at": "2023-01-01T12:50:36Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1368435655", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + }, + { + "author_association": "NONE", + "body": "This also happens for me when I set `client.server_capabilities.semanticTokensProvider = nil` in `on_attach`. I'm using the latest nvim-lspconfig and have it set up not in `after`, but in the same way Lazyvim does it.\r\n\r\nSetting `semanticTokensProvider` to `nil` is the recommended way of disabling it according to the Neovim docs, but it looks like `STHighlighter:send_request()` still sends a request to the LSP server even if the provider is disabled.", + "created_at": "2023-02-06T04:24:30Z", + "html_url": "https://github.com/neovim/neovim/issues/21588#issuecomment-1418496740", + "id": 1418496740, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/21588", + "node_id": "IC_kwDOAPphoM5UjIrk", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1418496740/reactions" + }, + "updated_at": "2023-02-06T04:24:30Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1418496740", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/869471?v=4", + "events_url": "https://api.github.com/users/apazzolini/events{/privacy}", + "followers_url": "https://api.github.com/users/apazzolini/followers", + "following_url": "https://api.github.com/users/apazzolini/following{/other_user}", + "gists_url": "https://api.github.com/users/apazzolini/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/apazzolini", + "id": 869471, + "login": "apazzolini", + "node_id": "MDQ6VXNlcjg2OTQ3MQ==", + "organizations_url": "https://api.github.com/users/apazzolini/orgs", + "received_events_url": "https://api.github.com/users/apazzolini/received_events", + "repos_url": "https://api.github.com/users/apazzolini/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/apazzolini/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/apazzolini/subscriptions", + "type": "User", + "url": "https://api.github.com/users/apazzolini" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "I'm experiencing the same issue albeit through a different mechanism https://github.com/sindrets/diffview.nvim/issues/304.\r\n\r\n`diffview.nvim` author thinks this is an upstream issue related to either Neovim or the language server. After which I stepped through my \"Steps to reproduce\" using `tsserver` instead of `lua_ls` (formerly `sumneko`) and viewing the diff for a typescript file and the issue does not occur. This leads me to believe that this issue is related to the language server.\r\n\r\nEdit: I spoke too early - the error message does appear (`attempt to index field 'semanticTokensProvider' (a nil value)`) if I edit the ts file after opening nvim with the `DiffviewOpen` cmd passed in.", + "created_at": "2023-02-18T17:07:57Z", + "html_url": "https://github.com/neovim/neovim/issues/21588#issuecomment-1435718876", + "id": 1435718876, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/21588", + "node_id": "IC_kwDOAPphoM5Vk1Tc", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1435718876/reactions" + }, + "updated_at": "2023-02-18T17:10:37Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1435718876", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/66286082?v=4", + "events_url": "https://api.github.com/users/jamestrew/events{/privacy}", + "followers_url": "https://api.github.com/users/jamestrew/followers", + "following_url": "https://api.github.com/users/jamestrew/following{/other_user}", + "gists_url": "https://api.github.com/users/jamestrew/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/jamestrew", + "id": 66286082, + "login": "jamestrew", + "node_id": "MDQ6VXNlcjY2Mjg2MDgy", + "organizations_url": "https://api.github.com/users/jamestrew/orgs", + "received_events_url": "https://api.github.com/users/jamestrew/received_events", + "repos_url": "https://api.github.com/users/jamestrew/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/jamestrew/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jamestrew/subscriptions", + "type": "User", + "url": "https://api.github.com/users/jamestrew" + } + }, + { + "author_association": "NONE", + "body": "> This also happens for me when I set `client.server_capabilities.semanticTokensProvider = nil` in `on_attach`. I'm using the latest nvim-lspconfig and have it set up not in `after`, but in the same way Lazyvim does it.\r\n> \r\n> Setting `semanticTokensProvider` to `nil` is the recommended way of disabling it according to the Neovim docs, but it looks like `STHighlighter:send_request()` still sends a request to the LSP server even if the provider is disabled.\r\n\r\n\r\nCan confirm, this is the issue I'm having as well. Not using LazyVim, but am disabling semanticTokensProvider in the exact same way as @apazzolini.", + "created_at": "2023-03-25T20:24:32Z", + "html_url": "https://github.com/neovim/neovim/issues/21588#issuecomment-1483914655", + "id": 1483914655, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/21588", + "node_id": "IC_kwDOAPphoM5Ycr2f", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1483914655/reactions" + }, + "updated_at": "2023-03-25T20:24:32Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1483914655", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/3678?v=4", + "events_url": "https://api.github.com/users/megalithic/events{/privacy}", + "followers_url": "https://api.github.com/users/megalithic/followers", + "following_url": "https://api.github.com/users/megalithic/following{/other_user}", + "gists_url": "https://api.github.com/users/megalithic/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/megalithic", + "id": 3678, + "login": "megalithic", + "node_id": "MDQ6VXNlcjM2Nzg=", + "organizations_url": "https://api.github.com/users/megalithic/orgs", + "received_events_url": "https://api.github.com/users/megalithic/received_events", + "repos_url": "https://api.github.com/users/megalithic/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/megalithic/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/megalithic/subscriptions", + "type": "User", + "url": "https://api.github.com/users/megalithic" + } + }, + { + "author_association": "NONE", + "body": "Can confirm that setting `client.server_capabilities.semanticTokensProvider = nil` cause the error\r\n```\r\nError executing vim.schedule lua callback: /usr/share/nvim/runtime/lua/vim/lsp/semantic_tokens.lua:98: attempt to index field 'semanticTokensProvider'\r\n(a nil value)\r\nstack traceback:\r\n /usr/share/nvim/runtime/lua/vim/lsp/semantic_tokens.lua:98: in function 'tokens_to_ranges'\r\n /usr/share/nvim/runtime/lua/vim/lsp/semantic_tokens.lua:355: in function 'process_response'\r\n /usr/share/nvim/runtime/lua/vim/lsp/semantic_tokens.lua:283: in function 'handler'\r\n /usr/share/nvim/runtime/lua/vim/lsp.lua:1399: in function ''\r\n vim/_editor.lua: in function \r\n```", + "created_at": "2023-03-27T07:22:23Z", + "html_url": "https://github.com/neovim/neovim/issues/21588#issuecomment-1484634536", + "id": 1484634536, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/21588", + "node_id": "IC_kwDOAPphoM5Yfbmo", + "performed_via_github_app": null, + "reactions": { + "+1": 3, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 3, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1484634536/reactions" + }, + "updated_at": "2023-03-27T07:22:23Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1484634536", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6261276?v=4", + "events_url": "https://api.github.com/users/monkoose/events{/privacy}", + "followers_url": "https://api.github.com/users/monkoose/followers", + "following_url": "https://api.github.com/users/monkoose/following{/other_user}", + "gists_url": "https://api.github.com/users/monkoose/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/monkoose", + "id": 6261276, + "login": "monkoose", + "node_id": "MDQ6VXNlcjYyNjEyNzY=", + "organizations_url": "https://api.github.com/users/monkoose/orgs", + "received_events_url": "https://api.github.com/users/monkoose/received_events", + "repos_url": "https://api.github.com/users/monkoose/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/monkoose/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/monkoose/subscriptions", + "type": "User", + "url": "https://api.github.com/users/monkoose" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "> I think you should not config it in `after/ftplugin` folder.\r\n\r\nI set it in `~/.config/nvim/lua/user/lspconfig.lua`. Still getting the same error. Is there any hack to disable semantic provider for _all_ ftp? I am willing to edit the runtime files. I need to do some work and the colors are making my eyes water.\r\n\r\n__Update__: Found a hack. It should work until this is fixed properly.\r\n```diff\r\ndiff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua\r\nindex 7e8c73ddb6ac..2a7f2cc961e6 100644\r\n--- a/runtime/lua/vim/lsp.lua\r\n+++ b/runtime/lua/vim/lsp.lua\r\n@@ -1547,11 +1547,11 @@ function lsp.start_client(config)\r\n -- schedule the initialization of semantic tokens to give the above\r\n -- on_attach and LspAttach callbacks the ability to schedule wrap the\r\n -- opt-out (deleting the semanticTokensProvider from capabilities)\r\n- vim.schedule(function()\r\n- if vim.tbl_get(client.server_capabilities, 'semanticTokensProvider', 'full') then\r\n- semantic_tokens.start(bufnr, client.id)\r\n- end\r\n- end)\r\n+ -- vim.schedule(function()\r\n+ -- if vim.tbl_get(client.server_capabilities, 'semanticTokensProvider', 'full') then\r\n+ -- semantic_tokens.start(bufnr, client.id)\r\n+ -- end\r\n+ -- end)\r\n \r\n client.attached_buffers[bufnr] = true\r\n end\r\n```", + "created_at": "2023-03-28T04:57:38Z", + "html_url": "https://github.com/neovim/neovim/issues/21588#issuecomment-1486216312", + "id": 1486216312, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/21588", + "node_id": "IC_kwDOAPphoM5Yldx4", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1486216312/reactions" + }, + "updated_at": "2023-03-28T05:02:56Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1486216312", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/32037751?v=4", + "events_url": "https://api.github.com/users/3N4N/events{/privacy}", + "followers_url": "https://api.github.com/users/3N4N/followers", + "following_url": "https://api.github.com/users/3N4N/following{/other_user}", + "gists_url": "https://api.github.com/users/3N4N/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/3N4N", + "id": 32037751, + "login": "3N4N", + "node_id": "MDQ6VXNlcjMyMDM3NzUx", + "organizations_url": "https://api.github.com/users/3N4N/orgs", + "received_events_url": "https://api.github.com/users/3N4N/received_events", + "repos_url": "https://api.github.com/users/3N4N/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/3N4N/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/3N4N/subscriptions", + "type": "User", + "url": "https://api.github.com/users/3N4N" + } + }, + { + "author_association": "MEMBER", + "body": "Does anyone have a minimal reproducing example _without_ plugins, i.e., just using `vim.lsp.start()` in a `FileType` autocommand? That would raise priority by making clear it's a Neovim issue and not an nvim-lspconfig (or user config) issue.", + "created_at": "2023-04-02T10:16:44Z", + "html_url": "https://github.com/neovim/neovim/issues/21588#issuecomment-1493288967", + "id": 1493288967, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/21588", + "node_id": "IC_kwDOAPphoM5ZAcgH", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1493288967/reactions" + }, + "updated_at": "2023-04-02T10:16:44Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1493288967", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "MEMBER", + "body": "nvim-lspconfig adds extra delays to the execution of the user's on_attach:\r\n```\r\n -- Save the old _on_attach so that we can reference it via the BufEnter.\r\n new_config._on_attach = new_config.on_attach\r\n new_config.on_attach = vim.schedule_wrap(function(client, bufnr)\r\n if bufnr == api.nvim_get_current_buf() then\r\n M._setup_buffer(client.id, bufnr) -- calls new_config._on_attach\r\n else\r\n```\r\n\r\nThis breaks the indented initialization pattern in nvim which assumes the user can run code in `on_attach` right away, not delayed via one or possibly multiple layers of `vim.schedule` or similar.", + "created_at": "2023-04-02T11:31:32Z", + "html_url": "https://github.com/neovim/neovim/issues/21588#issuecomment-1493306262", + "id": 1493306262, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/21588", + "node_id": "IC_kwDOAPphoM5ZAguW", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1493306262/reactions" + }, + "updated_at": "2023-04-02T11:31:32Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1493306262", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Is anybody able to reliably replicate this bug using only `nvim-lspconfig`? If so, please share the steps to reproduce the issue. I can try to reproduce it and I offer to create a bug report for `nvim-lspconfig`.", + "created_at": "2023-04-04T22:03:11Z", + "html_url": "https://github.com/neovim/neovim/issues/21588#issuecomment-1496660010", + "id": 1496660010, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/21588", + "node_id": "IC_kwDOAPphoM5ZNTgq", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1496660010/reactions" + }, + "updated_at": "2023-04-04T22:03:11Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1496660010", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/66286082?v=4", + "events_url": "https://api.github.com/users/jamestrew/events{/privacy}", + "followers_url": "https://api.github.com/users/jamestrew/followers", + "following_url": "https://api.github.com/users/jamestrew/following{/other_user}", + "gists_url": "https://api.github.com/users/jamestrew/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/jamestrew", + "id": 66286082, + "login": "jamestrew", + "node_id": "MDQ6VXNlcjY2Mjg2MDgy", + "organizations_url": "https://api.github.com/users/jamestrew/orgs", + "received_events_url": "https://api.github.com/users/jamestrew/received_events", + "repos_url": "https://api.github.com/users/jamestrew/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/jamestrew/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jamestrew/subscriptions", + "type": "User", + "url": "https://api.github.com/users/jamestrew" + } + }, + { + "author_association": "NONE", + "body": "> Is anybody able to reliably replicate this bug using only `nvim-lspconfig`? If so, please share the steps to reproduce the issue. I can try to reproduce it and I offer to create a bug report for `nvim-lspconfig`.\r\n\r\nI can reliably reproduce this by opening two files in the same TS project in vertical splits and then running `LspStop`, waiting a second, and running `LspStart`. A few seconds after the start command, I'll see the `semanticTokensProvider` error.\r\n\r\nEdit: Now that I'm testing this a bit more, it seems to only happen if I do the above while on the second split. If I'm focused on the left split, I can restart the server as much as I want, but it reliably crashes on the first attempt on the second split.", + "created_at": "2023-04-04T22:35:19Z", + "html_url": "https://github.com/neovim/neovim/issues/21588#issuecomment-1496685113", + "id": 1496685113, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/21588", + "node_id": "IC_kwDOAPphoM5ZNZo5", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1496685113/reactions" + }, + "updated_at": "2023-04-04T22:38:53Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1496685113", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/869471?v=4", + "events_url": "https://api.github.com/users/apazzolini/events{/privacy}", + "followers_url": "https://api.github.com/users/apazzolini/followers", + "following_url": "https://api.github.com/users/apazzolini/following{/other_user}", + "gists_url": "https://api.github.com/users/apazzolini/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/apazzolini", + "id": 869471, + "login": "apazzolini", + "node_id": "MDQ6VXNlcjg2OTQ3MQ==", + "organizations_url": "https://api.github.com/users/apazzolini/orgs", + "received_events_url": "https://api.github.com/users/apazzolini/received_events", + "repos_url": "https://api.github.com/users/apazzolini/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/apazzolini/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/apazzolini/subscriptions", + "type": "User", + "url": "https://api.github.com/users/apazzolini" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "If people can, please follow the issue I created and try out the steps to reproduce. Over two different days, I've had differing experiences. It would be great if people can chime in on whether my steps reliably throws the error.", + "created_at": "2023-04-06T00:30:08Z", + "html_url": "https://github.com/neovim/neovim/issues/21588#issuecomment-1498332297", + "id": 1498332297, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/21588", + "node_id": "IC_kwDOAPphoM5ZTryJ", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1498332297/reactions" + }, + "updated_at": "2023-04-06T00:30:08Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1498332297", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/66286082?v=4", + "events_url": "https://api.github.com/users/jamestrew/events{/privacy}", + "followers_url": "https://api.github.com/users/jamestrew/followers", + "following_url": "https://api.github.com/users/jamestrew/following{/other_user}", + "gists_url": "https://api.github.com/users/jamestrew/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/jamestrew", + "id": 66286082, + "login": "jamestrew", + "node_id": "MDQ6VXNlcjY2Mjg2MDgy", + "organizations_url": "https://api.github.com/users/jamestrew/orgs", + "received_events_url": "https://api.github.com/users/jamestrew/received_events", + "repos_url": "https://api.github.com/users/jamestrew/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/jamestrew/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jamestrew/subscriptions", + "type": "User", + "url": "https://api.github.com/users/jamestrew" + } + }, + { + "author_association": "MEMBER", + "body": "Closing as this is a nvim-lspconfig issue and tracked there.", + "created_at": "2023-04-06T10:20:07Z", + "html_url": "https://github.com/neovim/neovim/issues/21588#issuecomment-1498835851", + "id": 1498835851, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/21588", + "node_id": "IC_kwDOAPphoM5ZVmuL", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1498835851/reactions" + }, + "updated_at": "2023-04-06T10:20:07Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1498835851", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "NONE", + "body": "> Closing as this is a nvim-lspconfig issue and tracked there.\r\n\r\nfor everyone's future reference this seems to be the link @clason is refering to https://github.com/neovim/nvim-lspconfig/issues/2542", + "created_at": "2024-02-01T09:55:56Z", + "html_url": "https://github.com/neovim/neovim/issues/21588#issuecomment-1920939051", + "id": 1920939051, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/21588", + "node_id": "IC_kwDOAPphoM5yfzQr", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920939051/reactions" + }, + "updated_at": "2024-02-01T09:55:56Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920939051", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/3493522?v=4", + "events_url": "https://api.github.com/users/davidecavaliere/events{/privacy}", + "followers_url": "https://api.github.com/users/davidecavaliere/followers", + "following_url": "https://api.github.com/users/davidecavaliere/following{/other_user}", + "gists_url": "https://api.github.com/users/davidecavaliere/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/davidecavaliere", + "id": 3493522, + "login": "davidecavaliere", + "node_id": "MDQ6VXNlcjM0OTM1MjI=", + "organizations_url": "https://api.github.com/users/davidecavaliere/orgs", + "received_events_url": "https://api.github.com/users/davidecavaliere/received_events", + "repos_url": "https://api.github.com/users/davidecavaliere/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/davidecavaliere/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/davidecavaliere/subscriptions", + "type": "User", + "url": "https://api.github.com/users/davidecavaliere" + } + } + ], + "comments": 19, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/21588/comments", + "created_at": "2022-12-29T15:55:00Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/21588/events", + "html_url": "https://github.com/neovim/neovim/issues/21588", + "id": 1513856373, + "labels": [ + { + "color": "f9d0c4", + "default": true, + "description": "issues reporting wrong behavior", + "id": 77997474, + "name": "bug", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3NA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug" + }, + { + "color": "FBCA04", + "default": false, + "description": "waiting for reply from the author", + "id": 248229439, + "name": "needs:response", + "node_id": "MDU6TGFiZWwyNDgyMjk0Mzk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/needs:response" + }, + { + "color": "c5def5", + "default": false, + "description": null, + "id": 662566370, + "name": "lsp", + "node_id": "MDU6TGFiZWw2NjI1NjYzNzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/lsp" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/21588/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM5aO511", + "number": 21588, + "performed_via_github_app": null, + "reactions": { + "+1": 2, + "-1": 0, + "confused": 0, + "eyes": 1, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 3, + "url": "https://api.github.com/repos/neovim/neovim/issues/21588/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "completed", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/21588/timeline", + "title": "nil semanticTokensProvider causes error when opening multiple source code files if language server was configured with nvim-lspconfig", + "updated_at": "2024-02-01T09:55:57Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/21588", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/65031601?v=4", + "events_url": "https://api.github.com/users/Xevnar/events{/privacy}", + "followers_url": "https://api.github.com/users/Xevnar/followers", + "following_url": "https://api.github.com/users/Xevnar/following{/other_user}", + "gists_url": "https://api.github.com/users/Xevnar/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Xevnar", + "id": 65031601, + "login": "Xevnar", + "node_id": "MDQ6VXNlcjY1MDMxNjAx", + "organizations_url": "https://api.github.com/users/Xevnar/orgs", + "received_events_url": "https://api.github.com/users/Xevnar/received_events", + "repos_url": "https://api.github.com/users/Xevnar/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Xevnar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Xevnar/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Xevnar" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/22674.json b/repositories/neovim/issues/22674.json new file mode 100644 index 00000000..593e9614 --- /dev/null +++ b/repositories/neovim/issues/22674.json @@ -0,0 +1,417 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "body": "### Problem\r\n\r\n- Crash sometimes happens when closing a fugitive `:G` status window.\r\n- Has been an issue for ~1 year, not related to recent changes.\r\n\r\n```\r\nThread 0 Crashed:: Dispatch queue: com.apple.main-thread\r\n0 libsystem_kernel.dylib \t 0x7ff81cdf100e __pthread_kill + 10\r\n1 libsystem_pthread.dylib \t 0x7ff81ce271ff pthread_kill + 263\r\n2 libsystem_c.dylib \t 0x7ff81cd72d24 abort + 123\r\n3 libsystem_c.dylib \t 0x7ff81cd720cb __assert_rtn + 314\r\n4 nvim \t 0x10eb8eb24 ui_comp_raw_line + 692\r\n5 nvim \t 0x10eb8a621 ui_line + 161\r\n6 nvim \t 0x10ea1f8fd msg_scroll_flush + 477\r\n7 nvim \t 0x10eb8a9c7 ui_flush + 359\r\n8 nvim \t 0x10e998f4c inchar + 684\r\n9 nvim \t 0x10e99e7f4 vgetorpeek + 8020\r\n10 nvim \t 0x10ea1bc8a msgmore + 106\r\n11 nvim \t 0x10ea5341c op_delete + 4428\r\n12 nvim \t 0x10e95fc68 ex_operators + 312\r\n13 nvim \t 0x10e9598fd execute_cmd0 + 221\r\n14 nvim \t 0x10e954470 do_one_cmd + 9056\r\n15 nvim \t 0x10e9510f1 do_cmdline + 4001\r\n16 nvim \t 0x10e928461 call_func + 6465\r\n17 nvim \t 0x10e9269da get_func_tv + 538\r\n18 nvim \t 0x10e92ed22 ex_call + 978\r\n19 nvim \t 0x10e9598fd execute_cmd0 + 221\r\n20 nvim \t 0x10e954470 do_one_cmd + 9056\r\n21 nvim \t 0x10e9510f1 do_cmdline + 4001\r\n22 nvim \t 0x10e928461 call_func + 6465\r\n23 nvim \t 0x10e9269da get_func_tv + 538\r\n24 nvim \t 0x10e8ef606 eval_func + 614\r\n25 nvim \t 0x10e8ed80a eval7 + 2026\r\n26 nvim \t 0x10e8ecc52 eval6 + 50\r\n27 nvim \t 0x10e8ec604 eval5 + 52\r\n28 nvim \t 0x10e8ec27d eval4 + 45\r\n29 nvim \t 0x10e8ec021 eval3 + 49\r\n30 nvim \t 0x10e8de3f1 eval2 + 49\r\n31 nvim \t 0x10e8db92d eval1 + 45\r\n32 nvim \t 0x10e8e88b0 ex_execute + 160\r\n33 nvim \t 0x10e9598fd execute_cmd0 + 221\r\n34 nvim \t 0x10e954470 do_one_cmd + 9056\r\n35 nvim \t 0x10e9510f1 do_cmdline + 4001\r\n36 nvim \t 0x10e928461 call_func + 6465\r\n37 nvim \t 0x10e9269da get_func_tv + 538\r\n38 nvim \t 0x10e92ed22 ex_call + 978\r\n39 nvim \t 0x10e9598fd execute_cmd0 + 221\r\n40 nvim \t 0x10e954470 do_one_cmd + 9056\r\n41 nvim \t 0x10e9510f1 do_cmdline + 4001\r\n42 nvim \t 0x10e928461 call_func + 6465\r\n43 nvim \t 0x10e9269da get_func_tv + 538\r\n44 nvim \t 0x10e92ed22 ex_call + 978\r\n45 nvim \t 0x10e9598fd execute_cmd0 + 221\r\n46 nvim \t 0x10e954470 do_one_cmd + 9056\r\n47 nvim \t 0x10e9510f1 do_cmdline + 4001\r\n48 nvim \t 0x10e928461 call_func + 6465\r\n49 nvim \t 0x10e9269da get_func_tv + 538\r\n50 nvim \t 0x10e92ed22 ex_call + 978\r\n51 nvim \t 0x10e9598fd execute_cmd0 + 221\r\n52 nvim \t 0x10e954470 do_one_cmd + 9056\r\n53 nvim \t 0x10e9510f1 do_cmdline + 4001\r\n54 nvim \t 0x10e928461 call_func + 6465\r\n55 nvim \t 0x10e9294ab func_call + 347\r\n56 nvim \t 0x10e9020c5 f_call + 213\r\n57 nvim \t 0x10e927a7e call_func + 3934\r\n58 nvim \t 0x10e9269da get_func_tv + 538\r\n59 nvim \t 0x10e92ed22 ex_call + 978\r\n60 nvim \t 0x10e9598fd execute_cmd0 + 221\r\n61 nvim \t 0x10e954470 do_one_cmd + 9056\r\n62 nvim \t 0x10e9510f1 do_cmdline + 4001\r\n63 nvim \t 0x10e928461 call_func + 6465\r\n64 nvim \t 0x10e9269da get_func_tv + 538\r\n65 nvim \t 0x10e92ed22 ex_call + 978\r\n66 nvim \t 0x10e9598fd execute_cmd0 + 221\r\n67 nvim \t 0x10e954470 do_one_cmd + 9056\r\n68 nvim \t 0x10e9510f1 do_cmdline + 4001\r\n69 nvim \t 0x10e8e8b9b ex_execute + 907\r\n70 nvim \t 0x10e9598fd execute_cmd0 + 221\r\n71 nvim \t 0x10e954470 do_one_cmd + 9056\r\n72 nvim \t 0x10e9510f1 do_cmdline + 4001\r\n73 nvim \t 0x10eb9bc9b do_ucmd + 3307\r\n74 nvim \t 0x10e959997 execute_cmd0 + 375\r\n75 nvim \t 0x10e954470 do_one_cmd + 9056\r\n76 nvim \t 0x10e9510f1 do_cmdline + 4001\r\n77 nvim \t 0x10ea4104d nv_colon + 669\r\n78 nvim \t 0x10ea3d0fd normal_execute + 9373\r\n79 nvim \t 0x10eb45ad9 state_enter + 121\r\n80 nvim \t 0x10e81104b main + 17675\r\n81 dyld \t 0x10f8a652e start + 462\r\n``` \r\n\r\n### Steps to reproduce\r\n\r\n1. have some windows open\r\n2. have `:G` status window open from https://github.com/tpope/vim-fugitive\r\n3. `ZQ` to close the window the fugitive status window\r\n\r\nI don't have more precise steps because the crash is inconsistent.\r\n\r\nAlways happens with `ZQ` on the fugitive status window, never other windows. Possibly an autocmd? Though looks related to `msgmore` trying to show something...\r\n\r\n### Expected behavior\r\n\r\nno crash\r\n\r\n### Neovim version (nvim -v)\r\n\r\nNVIM v0.9.0-dev-1216+g 673d2b52fa43\r\n\r\n### Vim (not Nvim) behaves the same?\r\n\r\nno\r\n\r\n### Operating system/version\r\n\r\nmacos\r\n\r\n### Terminal name/version\r\n\r\nTerminal.app\r\n\r\n### $TERM environment variable\r\n\r\nscreen-256color\r\n\r\n### Installation\r\n\r\nsource", + "closed_at": null, + "comment_data": [ + { + "author_association": "MEMBER", + "body": "Does this happen only with 'lazyredraw' set?", + "created_at": "2023-03-15T10:18:07Z", + "html_url": "https://github.com/neovim/neovim/issues/22674#issuecomment-1469731333", + "id": 1469731333, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/22674", + "node_id": "IC_kwDOAPphoM5XmlIF", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1469731333/reactions" + }, + "updated_at": "2023-03-15T10:22:50Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1469731333", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "MEMBER", + "body": "Is this Release mode? given the lack of debug info, I assume NDEBUG is set, and thus it is this assert \r\n\r\n> assert(endcol <= clearcol);", + "created_at": "2023-03-15T10:41:42Z", + "html_url": "https://github.com/neovim/neovim/issues/22674#issuecomment-1469767223", + "id": 1469767223, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/22674", + "node_id": "IC_kwDOAPphoM5Xmt43", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1469767223/reactions" + }, + "updated_at": "2023-03-15T10:41:42Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1469767223", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + } + }, + { + "author_association": "MEMBER", + "body": "`RelWithDebInfo` , build command: \r\n\r\n make CMAKE_EXTRA_FLAGS=\"-DLANGUAGES=en_GB\" CMAKE_BUILD_TYPE=RelWithDebInfo && sudo make install\r\n\r\n> Does this happen only with 'lazyredraw' set?\r\n\r\ngood question, I'll remove that and report back.", + "created_at": "2023-03-15T13:05:12Z", + "html_url": "https://github.com/neovim/neovim/issues/22674#issuecomment-1469973632", + "id": 1469973632, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/22674", + "node_id": "IC_kwDOAPphoM5XngSA", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1469973632/reactions" + }, + "updated_at": "2023-03-15T13:05:12Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1469973632", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "MEMBER", + "body": "happened without 'lazyredraw'. stacktrace is a bit different:\r\n\r\n```\r\nThread 0 Crashed:: Dispatch queue: com.apple.main-thread\r\n0 libsystem_kernel.dylib \t 0x7ff81cdf100e __pthread_kill + 10\r\n1 libsystem_pthread.dylib \t 0x7ff81ce271ff pthread_kill + 263\r\n2 libsystem_c.dylib \t 0x7ff81cd72d24 abort + 123\r\n3 libsystem_c.dylib \t 0x7ff81cd720cb __assert_rtn + 314\r\n4 nvim \t 0x104985bf4 ui_comp_raw_line + 692\r\n5 nvim \t 0x1049816f1 ui_line + 161\r\n6 nvim \t 0x104818ebd msg_scroll_flush + 477\r\n7 nvim \t 0x104981a97 ui_flush + 359\r\n8 nvim \t 0x10479245b inchar + 75\r\n9 nvim \t 0x104797e1a vgetorpeek + 7690\r\n10 nvim \t 0x104795bb3 vgetc + 1155\r\n11 nvim \t 0x104813bce wait_return + 862\r\n12 nvim \t 0x10474b5a2 do_cmdline + 7394\r\n13 nvim \t 0x10483a5ed nv_colon + 669\r\n14 nvim \t 0x10483669d normal_execute + 9373\r\n15 nvim \t 0x10493cad9 state_enter + 121\r\n16 nvim \t 0x1046084cb main + 17675\r\n17 dyld \t 0x10ad7d52e start + 462\r\n```", + "created_at": "2023-03-16T21:51:13Z", + "html_url": "https://github.com/neovim/neovim/issues/22674#issuecomment-1472795507", + "id": 1472795507, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/22674", + "node_id": "IC_kwDOAPphoM5XyRNz", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1472795507/reactions" + }, + "updated_at": "2023-03-17T01:18:15Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1472795507", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "I've been seeing this recently, ~suspect it's the same assertion getting hit too - [`endcol <= clearcol`](https://github.com/neovim/neovim/blob/bab4bcdefbdad7f175f7f31c230de3d066963542/src/nvim/ui_compositor.c#L514-L514)~.\r\n\r\nIn fact I tell a lie - it's the [`attrs[i] >= 0` assertion](https://github.com/neovim/neovim/blob/bab4bcdefbdad7f175f7f31c230de3d066963542/src/nvim/ui_compositor.c#L544) that's hit.\r\n\r\nAnd likewise, triggered by a plain `:G`.\r\n\r\n~Does seem to happen randomly though - I can have a debugger watch for the next one if needed.~\r\nUpdate: I've got a reasonable reliable way of reproducing it, will attempt to get a debug build and bisect (it seems opening nvim, doing `:G`, then `:G amend --no-e` (or some other git alias) triggers it).\r\n\r\n\r\n```\r\n* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 4.2\r\n * frame #0: 0x00007ff817ac9c2a libsystem_c.dylib`abort\r\n frame #1: 0x00007ff817ac8fbe libsystem_c.dylib`__assert_rtn + 314\r\n frame #2: 0x0000000106c59c69 nvim`ui_comp_raw_line + 969\r\n frame #3: 0x0000000106c55b51 nvim`ui_line + 161\r\n frame #4: 0x0000000106b0614d nvim`msg_scroll_flush + 477\r\n frame #5: 0x0000000106c56126 nvim`ui_flush + 774\r\n frame #6: 0x0000000106a82721 nvim`inchar + 81\r\n frame #7: 0x0000000106a87c76 nvim`vgetorpeek.llvm.11295987581389418917 + 5862\r\n frame #8: 0x0000000106a85fcf nvim`vgetc + 1167\r\n frame #9: 0x0000000106b0198f nvim`wait_return + 719\r\n frame #10: 0x0000000106a41976 nvim`do_cmdline + 13862\r\n frame #11: 0x0000000106b25fb6 nvim`nv_colon.llvm.2359390459227526119 + 614\r\n frame #12: 0x0000000106b21fb6 nvim`normal_execute.llvm.2359390459227526119 + 9654\r\n frame #13: 0x0000000106c0f492 nvim`state_enter + 114\r\n frame #14: 0x000000010690617a nvim`main + 16666\r\n frame #15: 0x00007ff81784d310 dyld`start + 2432\r\n```\r\n\r\nAdditional details: this might be incorrect, but it seems to be only when `:G` is open, and I'm also running a `:G` command (or some variant, e.g. `:G diff` etc)", + "created_at": "2023-04-24T21:02:58Z", + "html_url": "https://github.com/neovim/neovim/issues/22674#issuecomment-1520822166", + "id": 1520822166, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/22674", + "node_id": "IC_kwDOAPphoM5apeeW", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1520822166/reactions" + }, + "updated_at": "2023-04-24T21:54:15Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1520822166", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/205673?v=4", + "events_url": "https://api.github.com/users/bobrippling/events{/privacy}", + "followers_url": "https://api.github.com/users/bobrippling/followers", + "following_url": "https://api.github.com/users/bobrippling/following{/other_user}", + "gists_url": "https://api.github.com/users/bobrippling/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bobrippling", + "id": 205673, + "login": "bobrippling", + "node_id": "MDQ6VXNlcjIwNTY3Mw==", + "organizations_url": "https://api.github.com/users/bobrippling/orgs", + "received_events_url": "https://api.github.com/users/bobrippling/received_events", + "repos_url": "https://api.github.com/users/bobrippling/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bobrippling/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bobrippling/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bobrippling" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "I have a feeling this might be to do with [display/grid throttling](https://github.com/neovim/neovim/blob/907018e547c9b989781667d2cf951e1abf99ab9d/src/nvim/message.c#L2407-L2407) - all the times I've had nvim crash have been when `G`'s outputting a fair bit of text to the screen (for example `:G fetch`, or `G rebase`).\r\n\r\nCould it hurt to comment out that `if (msg_grid.throttled)` to increase the likelyhood of the crash, and see what happens? Or have I got the wrong end of the stick behind `.throttled` ?", + "created_at": "2023-04-25T21:57:06Z", + "html_url": "https://github.com/neovim/neovim/issues/22674#issuecomment-1522471000", + "id": 1522471000, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/22674", + "node_id": "IC_kwDOAPphoM5avxBY", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1522471000/reactions" + }, + "updated_at": "2023-04-25T21:57:06Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1522471000", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/205673?v=4", + "events_url": "https://api.github.com/users/bobrippling/events{/privacy}", + "followers_url": "https://api.github.com/users/bobrippling/followers", + "following_url": "https://api.github.com/users/bobrippling/following{/other_user}", + "gists_url": "https://api.github.com/users/bobrippling/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bobrippling", + "id": 205673, + "login": "bobrippling", + "node_id": "MDQ6VXNlcjIwNTY3Mw==", + "organizations_url": "https://api.github.com/users/bobrippling/orgs", + "received_events_url": "https://api.github.com/users/bobrippling/received_events", + "repos_url": "https://api.github.com/users/bobrippling/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bobrippling/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bobrippling/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bobrippling" + } + } + ], + "comments": 6, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/22674/comments", + "created_at": "2023-03-15T10:12:35Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/22674/events", + "html_url": "https://github.com/neovim/neovim/issues/22674", + "id": 1625203824, + "labels": [ + { + "color": "f9d0c4", + "default": true, + "description": "issues reporting wrong behavior", + "id": 77997474, + "name": "bug", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3NA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug" + }, + { + "color": "c5def5", + "default": false, + "description": "", + "id": 113026979, + "name": "ui", + "node_id": "MDU6TGFiZWwxMTMwMjY5Nzk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/ui" + }, + { + "color": "FBCA04", + "default": false, + "description": "We need minimal steps to reproduce the issue", + "id": 298863445, + "name": "needs:repro", + "node_id": "MDU6TGFiZWwyOTg4NjM0NDU=", + "url": "https://api.github.com/repos/neovim/neovim/labels/needs:repro" + }, + { + "color": "0E8A16", + "default": false, + "description": "issue contains a stacktrace/ASAN log", + "id": 435854079, + "name": "has:backtrace", + "node_id": "MDU6TGFiZWw0MzU4NTQwNzk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/has:backtrace" + }, + { + "color": "F9D0C4", + "default": false, + "description": "issue reporting a crash or segfault", + "id": 435854234, + "name": "bug-crash", + "node_id": "MDU6TGFiZWw0MzU4NTQyMzQ=", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug-crash" + }, + { + "color": "C5DEF5", + "default": false, + "description": "UI messages, log messages", + "id": 5637083595, + "name": "messages", + "node_id": "LA_kwDOAPphoM8AAAABT_8Ryw", + "url": "https://api.github.com/repos/neovim/neovim/labels/messages" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/22674/labels{/name}", + "locked": false, + "milestone": { + "closed_at": null, + "closed_issues": 599, + "created_at": "2014-05-10T20:43:04Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + }, + "description": "Low priority. Not planned for the current target, may be reassigned.", + "due_on": null, + "html_url": "https://github.com/neovim/neovim/milestone/6", + "id": 655037, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/6/labels", + "node_id": "MDk6TWlsZXN0b25lNjU1MDM3", + "number": 6, + "open_issues": 424, + "state": "open", + "title": "backlog", + "updated_at": "2024-02-05T01:01:45Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/6" + }, + "node_id": "I_kwDOAPphoM5g3qRw", + "number": 22674, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/22674/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/22674/timeline", + "title": "crash in msgmore .. ui_comp_raw_line", + "updated_at": "2024-01-30T22:29:54Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/22674", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/22940.json b/repositories/neovim/issues/22940.json new file mode 100644 index 00000000..27b4e9a2 --- /dev/null +++ b/repositories/neovim/issues/22940.json @@ -0,0 +1,160 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "body": "`:h channel-buffered` says, \"set the `stdout_buffered`, `stderr_buffered`, `stdin_buffered`, or `data_buffered` option keys to invoke the callback only after all output was gathered and the stream was closed. If a buffering mode is used without a callback, the data is saved in the stream {name} key of the options dict.\" This works correctly in VimL but does not work in Lua. Compare the following:\r\n\r\n```viml\r\nfunction! Viml_example()\r\n let opts = {}\r\n let opts.stdout_buffered = v:true\r\n let opts.stderr_buffered = v:true\r\n function opts.on_exit(job_id, exit_code, event) closure\r\n call nvim_out_write(string(opts).\"\\n\")\r\n endfunction\r\n call jobstart(['true'], opts)\r\nendfunction\r\n```\r\n\r\n```lua\r\nfunction Lua_example()\r\n local opts = {}\r\n opts.stdout_buffered = true\r\n opts.stderr_buffered = true\r\n function opts.on_exit()\r\n vim.api.nvim_out_write(vim.fn.string(opts)..\"\\n\")\r\n end\r\n vim.fn.jobstart({'true'}, opts)\r\nend\r\n```\r\n\r\n```viml\r\n:call Viml_example()\r\n{'stderr': [''], 'stdout_buffered': v:true, 'on_exit': function('1'), 'stderr_buffered': v:true, 'stdout': ['']}\r\n:lua Lua_example()\r\n{'stdout_buffered': v:true, 'on_exit': function('2'), 'stderr_buffered': v:true}\r\n```\r\n\r\n### Neovim version (nvim -v)\r\n\r\n0.9.0-dev-1347+gfd32a9875\r\n\r\n### Vim (not Nvim) behaves the same?\r\n\r\nN/A\r\n\r\n### Operating system/version\r\n\r\nRocky Linux 8.6\r\n\r\n### Terminal name/version\r\n\r\nxfce4-terminal 1.0.4 \r\n\r\n### $TERM environment variable\r\n\r\ntmux-256color\r\n\r\n### Installation\r\n\r\nappimage", + "closed_at": "2024-02-02T14:48:31Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "likely we want to solve this as a part of lua native wrappers around uv.spawn. something like https://github.com/neovim/neovim/pull/17620", + "created_at": "2023-04-08T07:57:30Z", + "html_url": "https://github.com/neovim/neovim/issues/22940#issuecomment-1500819196", + "id": 1500819196, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/22940", + "node_id": "IC_kwDOAPphoM5ZdK78", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1500819196/reactions" + }, + "updated_at": "2023-04-08T07:57:42Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1500819196", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + } + }, + { + "author_association": "MEMBER", + "body": "Duplicate of #22213", + "created_at": "2024-02-02T14:48:31Z", + "html_url": "https://github.com/neovim/neovim/issues/22940#issuecomment-1924033887", + "id": 1924033887, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/22940", + "node_id": "IC_kwDOAPphoM5yrm1f", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924033887/reactions" + }, + "updated_at": "2024-02-02T14:48:31Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924033887", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + } + ], + "comments": 2, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/22940/comments", + "created_at": "2023-04-07T21:11:50Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/22940/events", + "html_url": "https://github.com/neovim/neovim/issues/22940", + "id": 1659210190, + "labels": [ + { + "color": "e6e6e6", + "default": false, + "description": "issues that are closed as duplicates of other issues", + "id": 3221613764, + "name": "closed:duplicate", + "node_id": "MDU6TGFiZWwzMjIxNjEzNzY0", + "url": "https://api.github.com/repos/neovim/neovim/labels/closed:duplicate" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/22940/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM5i5YnO", + "number": 22940, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/22940/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "completed", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/22940/timeline", + "title": "opts for jobstart is missing stdout/stderr field for channel-buffered mode in lua ", + "updated_at": "2024-02-02T14:48:40Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/22940", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/802511?v=4", + "events_url": "https://api.github.com/users/ddickstein/events{/privacy}", + "followers_url": "https://api.github.com/users/ddickstein/followers", + "following_url": "https://api.github.com/users/ddickstein/following{/other_user}", + "gists_url": "https://api.github.com/users/ddickstein/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/ddickstein", + "id": 802511, + "login": "ddickstein", + "node_id": "MDQ6VXNlcjgwMjUxMQ==", + "organizations_url": "https://api.github.com/users/ddickstein/orgs", + "received_events_url": "https://api.github.com/users/ddickstein/received_events", + "repos_url": "https://api.github.com/users/ddickstein/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/ddickstein/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ddickstein/subscriptions", + "type": "User", + "url": "https://api.github.com/users/ddickstein" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/23122.json b/repositories/neovim/issues/23122.json new file mode 100644 index 00000000..9456402c --- /dev/null +++ b/repositories/neovim/issues/23122.json @@ -0,0 +1,178 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "body": "### Problem\n\nWhen calling `nvim_get_proc` in `--cmd` it breaks the setting of `gcr=` from the init file.\r\n\r\nThis was originally reported @weitcis for nvimpager in https://github.com/lucc/nvimpager/issues/84\n\n### Steps to reproduce\n\nI was able to reproduce this problem with xterm, alacritty and kitty. I used these terminals because I can define the cursor shape from the command line with\r\n- `xterm -barc`\r\n- `alacritty -o cursor.style=Beam`\r\n- `kitty -o cursor_shape=beam`\r\n\r\nothers might work as well.\r\n\r\nSetting `gcr=` before calling `nvim_get_proc` works as expected and the cursor is the beam we defined in the terminal options:\r\n~~~sh\r\nxterm -barc -e nvim --clean -u NONE --cmd 'se gcr=' --cmd 'echo nvim_get_proc(1)'\r\nxterm -barc -e nvim --clean -u NONE -c 'se gcr=' -c 'echo nvim_get_proc(1)'\r\nxterm -barc -e nvim --clean -u NONE --cmd 'se gcr=' -c 'echo nvim_get_proc(1)'\r\n~~~\r\n\r\nCalling `nvim_get_proc` before setting `gcr=` turns the cursor into a solid block even though the termial sets it to a beam:\r\n~~~sh\r\nxterm -barc -e nvim --clean -u NONE --cmd 'echo nvim_get_proc(1)' --cmd 'se gcr='\r\nxterm -barc -e nvim --clean -u NONE -c 'echo nvim_get_proc(1)' -c 'se gcr='\r\nxterm -barc -e nvim --clean -u NONE --cmd 'echo nvim_get_proc(1)' -c 'se gcr='\r\n~~~\r\n\r\nThe same can be demonstrated when putting both commands in an init file in the respective order:\r\n~~~sh\r\n(echo se gcr=; echo 'call nvim_get_proc(1)') > good.vim\r\n(echo 'call nvim_get_proc(1)'; echo se gcr=) > bad.vim\r\nxterm -barc -e nvim --clean -u good.vim\r\nxterm -barc -e nvim --clean -u bad.vim\r\n~~~\r\n\r\nAnd also when one is in an init file and the other in a --cmd or -c option\r\nrespectively (to many combinations).\r\n\n\n### Expected behavior\n\n`set gcr=` should leave the cursor in the state set by the terminal regardless if and when `nvim_get_proc` is called.\n\n### Neovim version (nvim -v)\n\n0.8.1 & 0.8.2 & 0.8.3 & 0.9 & v0.10.0-dev-54dab9e\n\n### Vim (not Nvim) behaves the same?\n\nn/a\n\n### Operating system/version\n\nLinux / NixOS\n\n### Terminal name/version\n\nxterm 379, alacritty 0.12.0, kitty 0.27.1, \n\n### $TERM environment variable\n\nxterm, alacritty, xterm-kitty\n\n### Installation\n\nfrom nixpkgs (official distro package)", + "closed_at": null, + "comment_data": [ + { + "author_association": "MEMBER", + "body": "This problem is not limited to the case of `nvim_get_proc`. Occurs on all calls that handle events internally.\r\n\r\nEx.\r\n```\r\nnvim -u NORC --cmd 'call system(\"pwd\")' --cmd 'se gcr='\r\nnvim -u NORC --cmd 'sleep 500m' --cmd 'set gcr='\r\n```\r\n\r\nIt seems to be fixed by changing the `ui_call_mode_info_set` call to be delayed if `starting` is `true`, as in the following patch. However, this change may cause some new problems.\r\n\r\n```diff\r\ndiff --git a/src/nvim/ui.c b/src/nvim/ui.c\r\nindex 45959b7b6..8ab3c5513 100644\r\n--- a/src/nvim/ui.c\r\n+++ b/src/nvim/ui.c\r\n@@ -501,7 +501,7 @@ void ui_flush(void)\r\n ui_call_grid_cursor_goto(cursor_grid_handle, cursor_row, cursor_col);\r\n pending_cursor_update = false;\r\n }\r\n- if (pending_mode_info_update) {\r\n+ if (pending_mode_info_update && !starting) {\r\n Arena arena = ARENA_EMPTY;\r\n Array style = mode_style_array(&arena);\r\n bool enabled = (*p_guicursor != NUL);\r\n```\r\n\r\nRelated #18932", + "created_at": "2023-04-16T13:46:23Z", + "html_url": "https://github.com/neovim/neovim/issues/23122#issuecomment-1510385791", + "id": 1510385791, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/23122", + "node_id": "IC_kwDOAPphoM5aBqh_", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1510385791/reactions" + }, + "updated_at": "2023-04-16T13:46:23Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1510385791", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/11682285?v=4", + "events_url": "https://api.github.com/users/erw7/events{/privacy}", + "followers_url": "https://api.github.com/users/erw7/followers", + "following_url": "https://api.github.com/users/erw7/following{/other_user}", + "gists_url": "https://api.github.com/users/erw7/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/erw7", + "id": 11682285, + "login": "erw7", + "node_id": "MDQ6VXNlcjExNjgyMjg1", + "organizations_url": "https://api.github.com/users/erw7/orgs", + "received_events_url": "https://api.github.com/users/erw7/received_events", + "repos_url": "https://api.github.com/users/erw7/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/erw7/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/erw7/subscriptions", + "type": "User", + "url": "https://api.github.com/users/erw7" + } + }, + { + "author_association": "MEMBER", + "body": "I think the problem here is not processing events, but UI flush, as `:redraw` also causes the issue even though it doesn't process events. Related #25377", + "created_at": "2024-02-03T00:15:14Z", + "html_url": "https://github.com/neovim/neovim/issues/23122#issuecomment-1924930140", + "id": 1924930140, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/23122", + "node_id": "IC_kwDOAPphoM5yvBpc", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924930140/reactions" + }, + "updated_at": "2024-02-03T00:15:14Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924930140", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + } + ], + "comments": 2, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/23122/comments", + "created_at": "2023-04-16T08:17:10Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/23122/events", + "html_url": "https://github.com/neovim/neovim/issues/23122", + "id": 1669761537, + "labels": [ + { + "color": "f9d0c4", + "default": true, + "description": "issues reporting wrong behavior", + "id": 77997474, + "name": "bug", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3NA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug" + }, + { + "color": "c5def5", + "default": false, + "description": "", + "id": 113026979, + "name": "ui", + "node_id": "MDU6TGFiZWwxMTMwMjY5Nzk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/ui" + }, + { + "color": "c5def5", + "default": false, + "description": "Nvim startup sequence (`:h startup`)", + "id": 870629450, + "name": "startup", + "node_id": "MDU6TGFiZWw4NzA2Mjk0NTA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/startup" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/23122/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM5jhooB", + "number": 23122, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/23122/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/23122/timeline", + "title": "if UI flush happens before the 'guicursor' is set, 'guicursor' is broken.", + "updated_at": "2024-02-03T00:38:40Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/23122", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1104419?v=4", + "events_url": "https://api.github.com/users/lucc/events{/privacy}", + "followers_url": "https://api.github.com/users/lucc/followers", + "following_url": "https://api.github.com/users/lucc/following{/other_user}", + "gists_url": "https://api.github.com/users/lucc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lucc", + "id": 1104419, + "login": "lucc", + "node_id": "MDQ6VXNlcjExMDQ0MTk=", + "organizations_url": "https://api.github.com/users/lucc/orgs", + "received_events_url": "https://api.github.com/users/lucc/received_events", + "repos_url": "https://api.github.com/users/lucc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lucc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lucc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lucc" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/23291.json b/repositories/neovim/issues/23291.json index eb4971f8..2627ef3d 100644 --- a/repositories/neovim/issues/23291.json +++ b/repositories/neovim/issues/23291.json @@ -852,7 +852,7 @@ "node_id": "IC_kwDOAPphoM5kiSQR", "performed_via_github_app": null, "reactions": { - "+1": 4, + "+1": 5, "-1": 0, "confused": 0, "eyes": 0, @@ -860,7 +860,7 @@ "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 4, + "total_count": 5, "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1686709265/reactions" }, "updated_at": "2023-08-21T17:06:21Z", @@ -1765,9 +1765,185 @@ "type": "User", "url": "https://api.github.com/users/lewis6991" } + }, + { + "author_association": "CONTRIBUTOR", + "body": "@lewis6991 Can we just switch over to `fswatch` by now? lua implementation seems to be a deadblock and there's no other way to improve it", + "created_at": "2024-02-04T15:52:58Z", + "html_url": "https://github.com/neovim/neovim/issues/23291#issuecomment-1925802392", + "id": 1925802392, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/23291", + "node_id": "IC_kwDOAPphoM5yyWmY", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925802392/reactions" + }, + "updated_at": "2024-02-04T15:52:58Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925802392", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/27911493?v=4", + "events_url": "https://api.github.com/users/mortezadadgar/events{/privacy}", + "followers_url": "https://api.github.com/users/mortezadadgar/followers", + "following_url": "https://api.github.com/users/mortezadadgar/following{/other_user}", + "gists_url": "https://api.github.com/users/mortezadadgar/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/mortezadadgar", + "id": 27911493, + "login": "mortezadadgar", + "node_id": "MDQ6VXNlcjI3OTExNDkz", + "organizations_url": "https://api.github.com/users/mortezadadgar/orgs", + "received_events_url": "https://api.github.com/users/mortezadadgar/received_events", + "repos_url": "https://api.github.com/users/mortezadadgar/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/mortezadadgar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mortezadadgar/subscriptions", + "type": "User", + "url": "https://api.github.com/users/mortezadadgar" + } + }, + { + "author_association": "MEMBER", + "body": "> the performance on a normal python project with pyright is still pretty awful as startup takes 20-30 seconds, though it is a little better than before.\r\n\r\nIs the performance after the startup okay? How many directories are there in the project? Is it public?\r\nIt would really help if somebody who experiences performance issues could come up with a reproduction. So far the ones mentioned here worked fine for me - no noticable difference between fs-watching on/off\r\n\r\n> lua implementation seems to be a deadblock and there's no other way to improve it\r\n\r\nThere are still ways to improve it. My last comment even lists some further options: https://github.com/neovim/neovim/issues/23291#issuecomment-1817873088 and that's still incomplete.", + "created_at": "2024-02-05T18:17:03Z", + "html_url": "https://github.com/neovim/neovim/issues/23291#issuecomment-1927695039", + "id": 1927695039, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/23291", + "node_id": "IC_kwDOAPphoM5y5kq_", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927695039/reactions" + }, + "updated_at": "2024-02-05T18:17:03Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927695039", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38700?v=4", + "events_url": "https://api.github.com/users/mfussenegger/events{/privacy}", + "followers_url": "https://api.github.com/users/mfussenegger/followers", + "following_url": "https://api.github.com/users/mfussenegger/following{/other_user}", + "gists_url": "https://api.github.com/users/mfussenegger/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/mfussenegger", + "id": 38700, + "login": "mfussenegger", + "node_id": "MDQ6VXNlcjM4NzAw", + "organizations_url": "https://api.github.com/users/mfussenegger/orgs", + "received_events_url": "https://api.github.com/users/mfussenegger/received_events", + "repos_url": "https://api.github.com/users/mfussenegger/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/mfussenegger/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mfussenegger/subscriptions", + "type": "User", + "url": "https://api.github.com/users/mfussenegger" + } + }, + { + "author_association": "MEMBER", + "body": "> Is the performance after the startup okay? How many directories are there in the project? Is it public?\r\nIt would really help if somebody who experiences performance issues could come up with a reproduction. So far the ones mentioned here worked fine for me - no noticable difference between fs-watching on/off\r\n\r\nI didn't look into it much. It was so awful that I didn't think it was worth spending much time debugging it in when I knew the `fswatch` handler I was using was worked very well.\r\n\r\nIf you still want to chase this unicorn then I can try and create a test project, but it's pretty obvious to me that this is a non-trivial problem to solve and LibUV have said themselves they don't intend to solve this. The only reason it works well on Windows and MacOS is because the OS provides these capabilities built-in.", + "created_at": "2024-02-05T18:48:54Z", + "html_url": "https://github.com/neovim/neovim/issues/23291#issuecomment-1927796687", + "id": 1927796687, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/23291", + "node_id": "IC_kwDOAPphoM5y59fP", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927796687/reactions" + }, + "updated_at": "2024-02-05T18:48:54Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927796687", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "author_association": "MEMBER", + "body": "> but it's pretty obvious to me that this is a non-trivial problem to solve and LibUV have said themselves they don't intend to solve this. The only reason it works well on Windows and MacOS is because the OS provides these capabilities built-in.\r\n\r\nFor libuv the problem is a bit different. Based on their stated goal they'd have to abstract away the implementation details and provide a coherent interface across all systems. Our use-case is a bit narrower. That contains makes it not as hard to solve.\r\n\r\n`fswatch` also needs to deal with the system limitations. Either they use https://man7.org/linux/man-pages/man7/fanotify.7.html, or it's not noticable that they do a comparable amount of work because it runs in a background progress. Or we're still doing some extra work we wouldn't have to.\r\n\r\nI'd at least like to know which is the case, and depending on which it is - try to address it.", + "created_at": "2024-02-05T21:29:39Z", + "html_url": "https://github.com/neovim/neovim/issues/23291#issuecomment-1928127766", + "id": 1928127766, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/23291", + "node_id": "IC_kwDOAPphoM5y7OUW", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1928127766/reactions" + }, + "updated_at": "2024-02-05T21:29:39Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1928127766", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38700?v=4", + "events_url": "https://api.github.com/users/mfussenegger/events{/privacy}", + "followers_url": "https://api.github.com/users/mfussenegger/followers", + "following_url": "https://api.github.com/users/mfussenegger/following{/other_user}", + "gists_url": "https://api.github.com/users/mfussenegger/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/mfussenegger", + "id": 38700, + "login": "mfussenegger", + "node_id": "MDQ6VXNlcjM4NzAw", + "organizations_url": "https://api.github.com/users/mfussenegger/orgs", + "received_events_url": "https://api.github.com/users/mfussenegger/received_events", + "repos_url": "https://api.github.com/users/mfussenegger/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/mfussenegger/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mfussenegger/subscriptions", + "type": "User", + "url": "https://api.github.com/users/mfussenegger" + } } ], - "comments": 40, + "comments": 44, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/23291/comments", "created_at": "2023-04-23T15:08:34Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/23291/events", @@ -1825,7 +2001,7 @@ "state_reason": "reopened", "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/23291/timeline", "title": "LSP: high cpu usage with huge number of files with `workspace/didChangeWatchedFiles` enabled", - "updated_at": "2024-01-24T14:23:28Z", + "updated_at": "2024-02-05T21:29:41Z", "url": "https://api.github.com/repos/neovim/neovim/issues/23291", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/1666345?v=4", diff --git a/repositories/neovim/issues/23437.json b/repositories/neovim/issues/23437.json new file mode 100644 index 00000000..fabede1e --- /dev/null +++ b/repositories/neovim/issues/23437.json @@ -0,0 +1,222 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "body": "### Problem\r\n\r\nWhile editing a markdown file, I noticed the Neovim window and cursor \"bounces\" while typing `:%s/new/asdfasdf` (see the mp4 in the reproduction).\r\n\r\nAt first I thought the issue was my configuration but then I realized it occurs even when just sourcing `$VIMRUNTIME/syntax/markdown.vim`\r\n\r\nhttps://user-images.githubusercontent.com/10103049/235599290-bec159a9-f243-4f1b-89c6-d9db7c7cd73b.mp4\r\n\r\nIn the video above, you should see bouncing occurring during editing. Then I restart using nvim -u NONE (which doesn't source the markdown.vim file) and it's fine again.\r\n\r\n### Steps to reproduce\r\n\r\nIf you want to follow along with the posted video, I've made the example file [available via pastebin, here](https://pastebin.com/7qsPKB7g)\r\n\r\n```\r\nnvim -u NONE README.md\r\n\r\nstart typing and erasing asdfasdf\r\n:%s/new/asdfasdf\r\n```\r\n\r\nThe window should be stable and predictable.\r\nNow call the markdown syntax highlight\r\n\r\n```\r\n:so $VIMRUNTIME/syntax/markdown.vim\r\n\r\nbegin typing and erasing asdfasdf again\r\n:%s/new/asdfasdf\r\n```\r\n\r\nNow the screen bounces\r\n\r\n### Expected behavior\r\n\r\nThe same window to be stable and predictable with and without the markdown.vim sourced.\r\n\r\n### Neovim version (nvim -v)\r\n\r\nNVIM v0.9.0\r\n\r\n### Vim (not Nvim) behaves the same?\r\n\r\nno, vim 7.4\r\n\r\n### Operating system/version\r\n\r\nCentOS Linux release 7.9.2009 (Core)\r\n\r\n### Terminal name/version\r\n\r\ntmux 2.8\r\n\r\n### $TERM environment variable\r\n\r\nscreen-256color\r\n\r\n### Installation\r\n\r\nappimage --appimage-extract", + "closed_at": "2024-02-05T04:13:22Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "Seems only reproducible if the terminal is slow enough.", + "created_at": "2023-05-02T07:13:02Z", + "html_url": "https://github.com/neovim/neovim/issues/23437#issuecomment-1530994796", + "id": 1530994796, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/23437", + "node_id": "IC_kwDOAPphoM5bQSBs", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1530994796/reactions" + }, + "updated_at": "2024-02-05T03:25:29Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1530994796", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "I would not know if that's the case but I'm willing to try other terminals if you have a recommendation and let you know how that goes.", + "created_at": "2023-05-02T07:28:07Z", + "html_url": "https://github.com/neovim/neovim/issues/23437#issuecomment-1531009452", + "id": 1531009452, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/23437", + "node_id": "IC_kwDOAPphoM5bQVms", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1531009452/reactions" + }, + "updated_at": "2024-02-05T03:25:33Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1531009452", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/10103049?v=4", + "events_url": "https://api.github.com/users/ColinKennedy/events{/privacy}", + "followers_url": "https://api.github.com/users/ColinKennedy/followers", + "following_url": "https://api.github.com/users/ColinKennedy/following{/other_user}", + "gists_url": "https://api.github.com/users/ColinKennedy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/ColinKennedy", + "id": 10103049, + "login": "ColinKennedy", + "node_id": "MDQ6VXNlcjEwMTAzMDQ5", + "organizations_url": "https://api.github.com/users/ColinKennedy/orgs", + "received_events_url": "https://api.github.com/users/ColinKennedy/received_events", + "repos_url": "https://api.github.com/users/ColinKennedy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/ColinKennedy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ColinKennedy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/ColinKennedy" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Thank you!", + "created_at": "2024-02-05T05:34:48Z", + "html_url": "https://github.com/neovim/neovim/issues/23437#issuecomment-1926264523", + "id": 1926264523, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/23437", + "node_id": "IC_kwDOAPphoM5y0HbL", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926264523/reactions" + }, + "updated_at": "2024-02-05T05:34:48Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926264523", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/10103049?v=4", + "events_url": "https://api.github.com/users/ColinKennedy/events{/privacy}", + "followers_url": "https://api.github.com/users/ColinKennedy/followers", + "following_url": "https://api.github.com/users/ColinKennedy/following{/other_user}", + "gists_url": "https://api.github.com/users/ColinKennedy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/ColinKennedy", + "id": 10103049, + "login": "ColinKennedy", + "node_id": "MDQ6VXNlcjEwMTAzMDQ5", + "organizations_url": "https://api.github.com/users/ColinKennedy/orgs", + "received_events_url": "https://api.github.com/users/ColinKennedy/received_events", + "repos_url": "https://api.github.com/users/ColinKennedy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/ColinKennedy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ColinKennedy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/ColinKennedy" + } + } + ], + "comments": 3, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/23437/comments", + "created_at": "2023-05-02T07:01:36Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/23437/events", + "html_url": "https://github.com/neovim/neovim/issues/23437", + "id": 1691886302, + "labels": [ + { + "color": "f9d0c4", + "default": true, + "description": "issues reporting wrong behavior", + "id": 77997474, + "name": "bug", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3NA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug" + }, + { + "color": "FEF2C0", + "default": false, + "description": "issues reporting performance problems", + "id": 101930601, + "name": "performance", + "node_id": "MDU6TGFiZWwxMDE5MzA2MDE=", + "url": "https://api.github.com/repos/neovim/neovim/labels/performance" + }, + { + "color": "c5def5", + "default": false, + "description": "redraw", + "id": 718084050, + "name": "display", + "node_id": "MDU6TGFiZWw3MTgwODQwNTA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/display" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/23437/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM5k2CLe", + "number": 23437, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/23437/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "completed", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/23437/timeline", + "title": "Distracting Line jumps during :%s", + "updated_at": "2024-02-05T14:01:01Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/23437", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/10103049?v=4", + "events_url": "https://api.github.com/users/ColinKennedy/events{/privacy}", + "followers_url": "https://api.github.com/users/ColinKennedy/followers", + "following_url": "https://api.github.com/users/ColinKennedy/following{/other_user}", + "gists_url": "https://api.github.com/users/ColinKennedy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/ColinKennedy", + "id": 10103049, + "login": "ColinKennedy", + "node_id": "MDQ6VXNlcjEwMTAzMDQ5", + "organizations_url": "https://api.github.com/users/ColinKennedy/orgs", + "received_events_url": "https://api.github.com/users/ColinKennedy/received_events", + "repos_url": "https://api.github.com/users/ColinKennedy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/ColinKennedy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ColinKennedy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/ColinKennedy" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/24129.json b/repositories/neovim/issues/24129.json index 724f65ee..34f2ee58 100644 --- a/repositories/neovim/issues/24129.json +++ b/repositories/neovim/issues/24129.json @@ -199,15 +199,6 @@ "node_id": "MDU6TGFiZWw3Nzk5NzQ3NA==", "url": "https://api.github.com/repos/neovim/neovim/labels/bug" }, - { - "color": "c5def5", - "default": true, - "description": "", - "id": 84744038, - "name": "documentation", - "node_id": "MDU6TGFiZWw4NDc0NDAzOA==", - "url": "https://api.github.com/repos/neovim/neovim/labels/documentation" - }, { "color": "c5def5", "default": false, @@ -250,7 +241,7 @@ "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/24129/timeline", "title": "after nvim_win_set_config, the floatwin moves as the cursor moves", - "updated_at": "2023-09-14T12:17:09Z", + "updated_at": "2024-02-01T09:00:19Z", "url": "https://api.github.com/repos/neovim/neovim/issues/24129", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6236829?v=4", diff --git a/repositories/neovim/issues/24430.json b/repositories/neovim/issues/24430.json index a8b1e621..d5806a28 100644 --- a/repositories/neovim/issues/24430.json +++ b/repositories/neovim/issues/24430.json @@ -181,9 +181,53 @@ "type": "User", "url": "https://api.github.com/users/mikesmithgh" } + }, + { + "author_association": "NONE", + "body": "For anyone else ending up here like I did. If you need the row, col values from `vim.api.nvim_win_get_config(winnr)` you would do the following:\r\n\r\n```lua\r\nlocal config = vim.api.nvim_win_get_config(winnr)\r\nlocal row = config.row[vim.val_idx]\r\nlocal col = config.col[vim.val_idx]\r\n```", + "created_at": "2024-02-03T19:47:48Z", + "html_url": "https://github.com/neovim/neovim/issues/24430#issuecomment-1925439749", + "id": 1925439749, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24430", + "node_id": "IC_kwDOAPphoM5yw-EF", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925439749/reactions" + }, + "updated_at": "2024-02-03T19:47:48Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925439749", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/54562558?v=4", + "events_url": "https://api.github.com/users/roycrippen4/events{/privacy}", + "followers_url": "https://api.github.com/users/roycrippen4/followers", + "following_url": "https://api.github.com/users/roycrippen4/following{/other_user}", + "gists_url": "https://api.github.com/users/roycrippen4/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/roycrippen4", + "id": 54562558, + "login": "roycrippen4", + "node_id": "MDQ6VXNlcjU0NTYyNTU4", + "organizations_url": "https://api.github.com/users/roycrippen4/orgs", + "received_events_url": "https://api.github.com/users/roycrippen4/received_events", + "repos_url": "https://api.github.com/users/roycrippen4/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/roycrippen4/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/roycrippen4/subscriptions", + "type": "User", + "url": "https://api.github.com/users/roycrippen4" + } } ], - "comments": 4, + "comments": 5, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/24430/comments", "created_at": "2023-07-22T16:44:24Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/24430/events", @@ -211,7 +255,7 @@ { "color": "c5def5", "default": false, - "description": null, + "description": "stdlib", "id": 573222693, "name": "lua", "node_id": "MDU6TGFiZWw1NzMyMjI2OTM=", @@ -225,7 +269,7 @@ "number": 24430, "performed_via_github_app": null, "reactions": { - "+1": 1, + "+1": 2, "-1": 0, "confused": 0, "eyes": 0, @@ -233,7 +277,7 @@ "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 1, + "total_count": 2, "url": "https://api.github.com/repos/neovim/neovim/issues/24430/reactions" }, "repository_url": "https://api.github.com/repos/neovim/neovim", @@ -241,7 +285,7 @@ "state_reason": "not_planned", "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/24430/timeline", "title": "`nvim_win_get_config` returns table value for `row` and `col` instead of number", - "updated_at": "2023-08-24T02:59:01Z", + "updated_at": "2024-02-03T19:47:49Z", "url": "https://api.github.com/repos/neovim/neovim/issues/24430", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/1082216?v=4", diff --git a/repositories/neovim/issues/25068.json b/repositories/neovim/issues/25068.json index e4912f8d..96f95519 100644 --- a/repositories/neovim/issues/25068.json +++ b/repositories/neovim/issues/25068.json @@ -4,7 +4,7 @@ "assignees": [], "author_association": "CONTRIBUTOR", "body": "### Problem\r\n\r\nCMD + SHIFT mappings behave differently from other mappings like ALT + SHIFT and are not normalized to a standard format. The reason seems to be this line, which I have found no explanation for https://github.com/neovim/neovim/blob/6e26964e0effdb4998fb98bc7f87430ce50cc672/src/nvim/keycodes.c#L774\r\n\r\nThis also makes mappings between different Neovim GUIs inconsistent, since each of them reports the mappings slightly differently to Neovim. \r\n\r\nNOTE: I'm aware that the CTRL mappings behaves differently due to legacy reasons, and it's also clear why the CTRL condition is there. But not why the condition is there for CMD.\r\n\r\n\r\n\r\n\r\n\r\n\r\n### Steps to reproduce\r\n\r\n1. Create a file `mappings.vim` with the following contents\r\n```vim\r\nmap :echomsg \"D-a\"\r\nmap :echomsg \"D-A\"\r\nmap :echomsg \"D-S-a\"\r\nmap :echomsg \"D-S-A\"\r\n\r\nmap :echomsg \"M-a\"\r\nmap :echomsg \"M-A\"\r\nmap :echomsg \"M-S-a\"\r\nmap :echomsg \"M-S-A\"\r\n\r\nmap :echomsg \"C-a\"\r\nmap :echomsg \"C-A\"\r\nmap :echomsg \"C-S-a\"\r\nmap :echomsg \"C-S-A\"\r\n\r\ncall feedkeys(\"\\\")\r\ncall feedkeys(\"\\\")\r\ncall feedkeys(\"\\\")\r\ncall feedkeys(\"\\\")\r\n\r\ncall feedkeys(\"\\\")\r\ncall feedkeys(\"\\\")\r\ncall feedkeys(\"\\\")\r\ncall feedkeys(\"\\\")\r\n\r\ncall feedkeys(\"\\\")\r\ncall feedkeys(\"\\\")\r\ncall feedkeys(\"\\\")\r\ncall feedkeys(\"\\\")\r\n```\r\n2. Run `nvim --clean -u mappings.vim`\r\n3. Type `:messages`\r\n4. Observe that the following output was generated\r\n```\r\nD-a\r\nD-A\r\nD-S-a\r\nD-S-A\r\nM-a\r\nM-S-A\r\nM-S-A\r\nM-S-A\r\nC-A\r\nC-A\r\nC-S-A\r\nC-S-A\r\n```\r\n\r\n### Expected behavior\r\n\r\nThe output should be:\r\n```\r\nD-a\r\nD-S-A\r\nD-S-A\r\nD-S-A\r\nM-a\r\nM-S-A\r\nM-S-A\r\nM-S-A\r\nC-A\r\nC-A\r\nC-S-A\r\nC-S-A\r\n```\r\n\r\nMaking the `D` and `M` mappings consistent, and select the last shift combination that was mapped.\r\n\r\n### Neovim version (nvim -v)\r\n\r\nNVIM v0.9.2\r\n\r\n### Vim (not Nvim) behaves the same?\r\n\r\nN/A\r\n\r\n### Operating system/version\r\n\r\nArch Linux (WSL)\r\n\r\n### Terminal name/version\r\n\r\nWindows Terminal\r\n\r\n### $TERM environment variable\r\n\r\nxterm-256color\r\n\r\n### Installation\r\n\r\npacman", - "closed_at": null, + "closed_at": "2024-02-03T03:05:39Z", "comment_data": [ { "author_association": "NONE", @@ -158,7 +158,7 @@ { "color": "BFDADC", "default": false, - "description": "Low-risk, unlikely to cause distant/indirect damage", + "description": "Low-risk. Do NOT ask \"can I work on this\", just read CONTRIBUTING.md", "id": 407246773, "name": "complexity:low", "node_id": "MDU6TGFiZWw0MDcyNDY3NzM=", @@ -193,11 +193,11 @@ "url": "https://api.github.com/repos/neovim/neovim/issues/25068/reactions" }, "repository_url": "https://api.github.com/repos/neovim/neovim", - "state": "open", - "state_reason": null, + "state": "closed", + "state_reason": "completed", "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/25068/timeline", "title": "CMD + SHIFT mappings are inconsistent", - "updated_at": "2023-09-10T22:37:50Z", + "updated_at": "2024-02-03T03:05:39Z", "url": "https://api.github.com/repos/neovim/neovim/issues/25068", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/9946255?v=4", diff --git a/repositories/neovim/issues/25198.json b/repositories/neovim/issues/25198.json index 587fdbf2..70a3c53e 100644 --- a/repositories/neovim/issues/25198.json +++ b/repositories/neovim/issues/25198.json @@ -7,7 +7,7 @@ "closed_at": "2023-09-16T19:40:29Z", "comment_data": [ { - "author_association": "NONE", + "author_association": "CONTRIBUTOR", "body": "The docs used to have `get_active_clients()`. \r\nHowever, the functionality in 0.10 is now `get_clients()`.\r\n\r\nLooks like`get_active_clients()` will be removed in 0.12.\r\nhttps://github.com/neovim/neovim/blob/master/runtime/lua/vim/lsp.lua#L2057 ", "created_at": "2023-09-16T19:04:08Z", "html_url": "https://github.com/neovim/neovim/issues/25198#issuecomment-1722295274", @@ -49,9 +49,97 @@ "type": "User", "url": "https://api.github.com/users/tjmblake" } + }, + { + "author_association": "NONE", + "body": "This is still causing issues. `get_clients()` may well be the v0.10 way, but the current stable release is still on v0.9. In the meantime, this documentation has caused me to stumble multiple times (because I always forget about this issue by the next time I read it). Could we re-open this issue until v0.10 is stable?", + "created_at": "2024-01-30T17:54:18Z", + "html_url": "https://github.com/neovim/neovim/issues/25198#issuecomment-1917586763", + "id": 1917586763, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/25198", + "node_id": "IC_kwDOAPphoM5yTA1L", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917586763/reactions" + }, + "updated_at": "2024-01-30T17:54:18Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917586763", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/118172583?v=4", + "events_url": "https://api.github.com/users/jcarstairs-scottlogic/events{/privacy}", + "followers_url": "https://api.github.com/users/jcarstairs-scottlogic/followers", + "following_url": "https://api.github.com/users/jcarstairs-scottlogic/following{/other_user}", + "gists_url": "https://api.github.com/users/jcarstairs-scottlogic/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/jcarstairs-scottlogic", + "id": 118172583, + "login": "jcarstairs-scottlogic", + "node_id": "U_kgDOBwsrpw", + "organizations_url": "https://api.github.com/users/jcarstairs-scottlogic/orgs", + "received_events_url": "https://api.github.com/users/jcarstairs-scottlogic/received_events", + "repos_url": "https://api.github.com/users/jcarstairs-scottlogic/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/jcarstairs-scottlogic/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jcarstairs-scottlogic/subscriptions", + "type": "User", + "url": "https://api.github.com/users/jcarstairs-scottlogic" + } + }, + { + "author_association": "MEMBER", + "body": "There's no bug here; the web documentation is generated from `master` (although that could of course be made clearer). \r\n\r\nIf in doubt, use the builtin help (`:h lsp`); this is the guaranteed record of truth.", + "created_at": "2024-01-30T18:06:26Z", + "html_url": "https://github.com/neovim/neovim/issues/25198#issuecomment-1917610111", + "id": 1917610111, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/25198", + "node_id": "IC_kwDOAPphoM5yTGh_", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917610111/reactions" + }, + "updated_at": "2024-01-30T18:06:26Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917610111", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } } ], - "comments": 1, + "comments": 3, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/25198/comments", "created_at": "2023-09-16T18:39:53Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/25198/events", @@ -100,7 +188,7 @@ "state_reason": "completed", "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/25198/timeline", "title": "Lsp doc bug", - "updated_at": "2023-09-16T19:40:29Z", + "updated_at": "2024-01-30T18:06:27Z", "url": "https://api.github.com/repos/neovim/neovim/issues/25198", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/57236506?v=4", diff --git a/repositories/neovim/issues/25365.json b/repositories/neovim/issues/25365.json index 8ba84520..50954f02 100644 --- a/repositories/neovim/issues/25365.json +++ b/repositories/neovim/issues/25365.json @@ -93,9 +93,185 @@ "type": "User", "url": "https://api.github.com/users/vE5li" } + }, + { + "author_association": "NONE", + "body": "Is there an option to go back to the previous behavior (maybe I'm more used to this 😓)", + "created_at": "2024-01-31T14:17:02Z", + "html_url": "https://github.com/neovim/neovim/issues/25365#issuecomment-1919193259", + "id": 1919193259, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/25365", + "node_id": "IC_kwDOAPphoM5yZJCr", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919193259/reactions" + }, + "updated_at": "2024-01-31T14:17:02Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919193259", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/27605589?v=4", + "events_url": "https://api.github.com/users/anhoder/events{/privacy}", + "followers_url": "https://api.github.com/users/anhoder/followers", + "following_url": "https://api.github.com/users/anhoder/following{/other_user}", + "gists_url": "https://api.github.com/users/anhoder/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/anhoder", + "id": 27605589, + "login": "anhoder", + "node_id": "MDQ6VXNlcjI3NjA1NTg5", + "organizations_url": "https://api.github.com/users/anhoder/orgs", + "received_events_url": "https://api.github.com/users/anhoder/received_events", + "repos_url": "https://api.github.com/users/anhoder/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/anhoder/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/anhoder/subscriptions", + "type": "User", + "url": "https://api.github.com/users/anhoder" + } + }, + { + "author_association": "MEMBER", + "body": "What behavior? You want to see \"invalid\" messages when jumping?", + "created_at": "2024-01-31T14:25:36Z", + "html_url": "https://github.com/neovim/neovim/issues/25365#issuecomment-1919210128", + "id": 1919210128, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/25365", + "node_id": "IC_kwDOAPphoM5yZNKQ", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919210128/reactions" + }, + "updated_at": "2024-01-31T14:25:36Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919210128", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "NONE", + "body": "before: using ctrl+o after deleting buffer will reopen the deleted\r\nnow: will jump to another old buffer instead of reopening the deleted", + "created_at": "2024-01-31T14:41:58Z", + "html_url": "https://github.com/neovim/neovim/issues/25365#issuecomment-1919242265", + "id": 1919242265, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/25365", + "node_id": "IC_kwDOAPphoM5yZVAZ", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919242265/reactions" + }, + "updated_at": "2024-01-31T14:41:58Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919242265", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/27605589?v=4", + "events_url": "https://api.github.com/users/anhoder/events{/privacy}", + "followers_url": "https://api.github.com/users/anhoder/followers", + "following_url": "https://api.github.com/users/anhoder/following{/other_user}", + "gists_url": "https://api.github.com/users/anhoder/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/anhoder", + "id": 27605589, + "login": "anhoder", + "node_id": "MDQ6VXNlcjI3NjA1NTg5", + "organizations_url": "https://api.github.com/users/anhoder/orgs", + "received_events_url": "https://api.github.com/users/anhoder/received_events", + "repos_url": "https://api.github.com/users/anhoder/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/anhoder/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/anhoder/subscriptions", + "type": "User", + "url": "https://api.github.com/users/anhoder" + } + }, + { + "author_association": "MEMBER", + "body": "This may be changed to another flag of 'jumpoptions' that is enabled by default, so that the old behavior may still be achievable.", + "created_at": "2024-02-01T14:59:46Z", + "html_url": "https://github.com/neovim/neovim/issues/25365#issuecomment-1921529624", + "id": 1921529624, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/25365", + "node_id": "IC_kwDOAPphoM5yiDcY", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 1, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921529624/reactions" + }, + "updated_at": "2024-02-01T15:00:37Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921529624", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } } ], - "comments": 2, + "comments": 6, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/25365/comments", "created_at": "2023-09-25T15:50:12Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/25365/events", @@ -125,7 +301,7 @@ "locked": false, "milestone": { "closed_at": null, - "closed_issues": 266, + "closed_issues": 278, "created_at": "2023-02-02T14:11:43Z", "creator": { "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", @@ -154,10 +330,10 @@ "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", "node_id": "MI_kwDOAPphoM4AiUsW", "number": 36, - "open_issues": 135, + "open_issues": 138, "state": "open", "title": "0.10", - "updated_at": "2024-01-29T07:22:06Z", + "updated_at": "2024-02-05T21:59:25Z", "url": "https://api.github.com/repos/neovim/neovim/milestones/36" }, "node_id": "I_kwDOAPphoM5x8_02", @@ -180,7 +356,7 @@ "state_reason": "completed", "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/25365/timeline", "title": "`Ctrl+o` and `Ctrl+i` behave unintuitively when deleting buffers", - "updated_at": "2024-01-29T06:30:52Z", + "updated_at": "2024-02-01T15:00:37Z", "url": "https://api.github.com/repos/neovim/neovim/issues/25365", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/24727270?v=4", diff --git a/repositories/neovim/issues/25377.json b/repositories/neovim/issues/25377.json index b4af604d..3d89dcca 100644 --- a/repositories/neovim/issues/25377.json +++ b/repositories/neovim/issues/25377.json @@ -313,9 +313,53 @@ "type": "User", "url": "https://api.github.com/users/fredizzimo" } + }, + { + "author_association": "MEMBER", + "body": "Related #23122", + "created_at": "2024-02-03T00:15:32Z", + "html_url": "https://github.com/neovim/neovim/issues/25377#issuecomment-1924930327", + "id": 1924930327, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/25377", + "node_id": "IC_kwDOAPphoM5yvBsX", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924930327/reactions" + }, + "updated_at": "2024-02-03T00:15:32Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924930327", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } } ], - "comments": 7, + "comments": 8, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/25377/comments", "created_at": "2023-09-26T22:00:17Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/25377/events", @@ -331,14 +375,23 @@ "node_id": "MDU6TGFiZWw3Nzk5NzQ3NA==", "url": "https://api.github.com/repos/neovim/neovim/labels/bug" }, + { + "color": "c5def5", + "default": false, + "description": "", + "id": 113026979, + "name": "ui", + "node_id": "MDU6TGFiZWwxMTMwMjY5Nzk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/ui" + }, { "color": "c5def5", "default": false, "description": "UI extensibility, events, protocol", "id": 640132777, - "name": "ui-ext", + "name": "ui-extensibility", "node_id": "MDU6TGFiZWw2NDAxMzI3Nzc=", - "url": "https://api.github.com/repos/neovim/neovim/labels/ui-ext" + "url": "https://api.github.com/repos/neovim/neovim/labels/ui-extensibility" }, { "color": "c5def5", @@ -382,7 +435,7 @@ "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/25377/timeline", "title": "UI flush can be called before UIEnter", - "updated_at": "2023-09-29T22:33:26Z", + "updated_at": "2024-02-03T00:17:41Z", "url": "https://api.github.com/repos/neovim/neovim/issues/25377", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/9946255?v=4", diff --git a/repositories/neovim/issues/25608.json b/repositories/neovim/issues/25608.json index f72e4985..b1ea2d22 100644 --- a/repositories/neovim/issues/25608.json +++ b/repositories/neovim/issues/25608.json @@ -2073,15 +2073,6 @@ "name": "treesitter", "node_id": "MDU6TGFiZWwxNzk5NjI2NTU3", "url": "https://api.github.com/repos/neovim/neovim/labels/treesitter" - }, - { - "color": "C5DEF5", - "default": false, - "description": "UI messages, log messages", - "id": 5637083595, - "name": "messages", - "node_id": "LA_kwDOAPphoM8AAAABT_8Ryw", - "url": "https://api.github.com/repos/neovim/neovim/labels/messages" } ], "labels_url": "https://api.github.com/repos/neovim/neovim/issues/25608/labels{/name}", @@ -2107,7 +2098,7 @@ "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/25608/timeline", "title": "Neovim hangs when an open buffer is modified externally and foldexpr is enabled.", - "updated_at": "2024-01-09T14:51:00Z", + "updated_at": "2024-02-04T04:19:48Z", "url": "https://api.github.com/repos/neovim/neovim/issues/25608", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6127369?v=4", diff --git a/repositories/neovim/issues/25690.json b/repositories/neovim/issues/25690.json index 76ecc37d..7b78f2ec 100644 --- a/repositories/neovim/issues/25690.json +++ b/repositories/neovim/issues/25690.json @@ -49,9 +49,53 @@ "type": "User", "url": "https://api.github.com/users/codenyte" } + }, + { + "author_association": "NONE", + "body": "It'd be nice to have a cli option to read unto files (and swp files) as well. Or if I'm able to reread it, maybe rundo() could be directed into a buffer or something.", + "created_at": "2024-02-05T06:08:59Z", + "html_url": "https://github.com/neovim/neovim/issues/25690#issuecomment-1926293355", + "id": 1926293355, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/25690", + "node_id": "IC_kwDOAPphoM5y0Odr", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926293355/reactions" + }, + "updated_at": "2024-02-05T06:10:24Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926293355", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1271615?v=4", + "events_url": "https://api.github.com/users/ag4ve/events{/privacy}", + "followers_url": "https://api.github.com/users/ag4ve/followers", + "following_url": "https://api.github.com/users/ag4ve/following{/other_user}", + "gists_url": "https://api.github.com/users/ag4ve/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/ag4ve", + "id": 1271615, + "login": "ag4ve", + "node_id": "MDQ6VXNlcjEyNzE2MTU=", + "organizations_url": "https://api.github.com/users/ag4ve/orgs", + "received_events_url": "https://api.github.com/users/ag4ve/received_events", + "repos_url": "https://api.github.com/users/ag4ve/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/ag4ve/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ag4ve/subscriptions", + "type": "User", + "url": "https://api.github.com/users/ag4ve" + } } ], - "comments": 1, + "comments": 2, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/25690/comments", "created_at": "2023-10-17T17:48:40Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/25690/events", @@ -75,7 +119,7 @@ "number": 25690, "performed_via_github_app": null, "reactions": { - "+1": 4, + "+1": 5, "-1": 0, "confused": 0, "eyes": 0, @@ -83,7 +127,7 @@ "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 4, + "total_count": 5, "url": "https://api.github.com/repos/neovim/neovim/issues/25690/reactions" }, "repository_url": "https://api.github.com/repos/neovim/neovim", @@ -91,7 +135,7 @@ "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/25690/timeline", "title": "Force Read Undo File from beginning: Bring forth `:rundo!`", - "updated_at": "2024-01-16T19:50:08Z", + "updated_at": "2024-02-05T06:10:24Z", "url": "https://api.github.com/repos/neovim/neovim/issues/25690", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/77821695?v=4", diff --git a/repositories/neovim/issues/25837.json b/repositories/neovim/issues/25837.json index 3c371406..4b9c245f 100644 --- a/repositories/neovim/issues/25837.json +++ b/repositories/neovim/issues/25837.json @@ -5,14 +5,77 @@ "author_association": "NONE", "body": "### Problem\r\n\r\nI have a terminal spanning several displays, with resolution ~ 100 rows x 500 columns. Nvim runs in it, the tab is split into 10+ windows. When doing frequent resizes of the terminal (I was trying to align my terminal to screen borders with mouse), which would cause frequent change in col/row size and hence frequent resize of nvim, nvim would eventually crash in grid_fill:\r\n\r\n```json\r\n{ \"signal\": 11\r\n, \"executable\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n, \"stacktrace\":\r\n [ { \"crash_thread\": true\r\n , \"frames\":\r\n [ { \"address\": 8221131\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 4026827\r\n , \"function_name\": \"grid_fill.constprop.0\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n }\r\n , { \"address\": 6581905\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 2387601\r\n , \"function_name\": \"msg_clr_eos_force.part.0\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n }\r\n , { \"address\": 5277392\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 1083088\r\n , \"function_name\": \"showmode\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n }\r\n , { \"address\": 5293701\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 1099397\r\n , \"function_name\": \"update_screen\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n }\r\n , { \"address\": 5300264\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 1105960\r\n , \"function_name\": \"screen_resize.part.0\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n }\r\n , { \"address\": 7844708\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 3650404\r\n , \"function_name\": \"ui_refresh\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n }\r\n , { \"address\": 4805272\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 610968\r\n , \"function_name\": \"handle_nvim_ui_try_resize\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n }\r\n , { \"address\": 6666761\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 2472457\r\n , \"function_name\": \"request_event\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n }\r\n , { \"address\": 5715725\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 1521421\r\n , \"function_name\": \"multiqueue_oneshot_event.lto_priv.0\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n }\r\n , { \"address\": 7540913\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 3346609\r\n , \"function_name\": \"state_handle_k_event\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n }\r\n , { \"address\": 6755323\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 2561019\r\n , \"function_name\": \"nv_event.lto_priv.0\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n }\r\n , { \"address\": 6699304\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 2505000\r\n , \"function_name\": \"normal_execute.lto_priv.0\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n }\r\n , { \"address\": 7567403\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 3373099\r\n , \"function_name\": \"state_enter\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n }\r\n , { \"address\": 6690522\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 2496218\r\n , \"function_name\": \"normal_enter\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n }\r\n , { \"address\": 4542733\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 348429\r\n , \"function_name\": \"main\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n } ]\r\n }\r\n , { \"frames\":\r\n [ { \"address\": 140682309691957\r\n , \"build_id\": \"e10cc8f2b932fc3daeda22f8dac5ebb969524e5b\"\r\n , \"build_id_offset\": 47669\r\n , \"function_name\": \"pthread_cond_wait@@GLIBC_2.3.2\"\r\n , \"file_name\": \"/usr/lib64/libpthread.so.0\"\r\n }\r\n , { \"address\": 9282537\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 5088233\r\n , \"function_name\": \"uv_cond_wait\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n }\r\n , { \"address\": 9210734\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 5016430\r\n , \"function_name\": \"worker\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n }\r\n , { \"address\": 140682309676709\r\n , \"build_id\": \"e10cc8f2b932fc3daeda22f8dac5ebb969524e5b\"\r\n , \"build_id_offset\": 32421\r\n , \"function_name\": \"start_thread\"\r\n , \"file_name\": \"/usr/lib64/libpthread.so.0\"\r\n }\r\n , { \"address\": 140682300267277\r\n , \"build_id\": \"fc4fa58e47a5acc137eadb7689bce4357c557a96\"\r\n , \"build_id_offset\": 1043213\r\n , \"function_name\": \"__clone\"\r\n , \"file_name\": \"/usr/lib64/libc.so.6\"\r\n } ]\r\n }\r\n , { \"frames\":\r\n [ { \"address\": 140682309691957\r\n , \"build_id\": \"e10cc8f2b932fc3daeda22f8dac5ebb969524e5b\"\r\n , \"build_id_offset\": 47669\r\n , \"function_name\": \"pthread_cond_wait@@GLIBC_2.3.2\"\r\n , \"file_name\": \"/usr/lib64/libpthread.so.0\"\r\n }\r\n , { \"address\": 9282537\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 5088233\r\n , \"function_name\": \"uv_cond_wait\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n }\r\n , { \"address\": 9210734\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 5016430\r\n , \"function_name\": \"worker\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n }\r\n , { \"address\": 140682309676709\r\n , \"build_id\": \"e10cc8f2b932fc3daeda22f8dac5ebb969524e5b\"\r\n , \"build_id_offset\": 32421\r\n , \"function_name\": \"start_thread\"\r\n , \"file_name\": \"/usr/lib64/libpthread.so.0\"\r\n }\r\n , { \"address\": 140682300267277\r\n , \"build_id\": \"fc4fa58e47a5acc137eadb7689bce4357c557a96\"\r\n , \"build_id_offset\": 1043213\r\n , \"function_name\": \"__clone\"\r\n , \"file_name\": \"/usr/lib64/libc.so.6\"\r\n } ]\r\n }\r\n , { \"frames\":\r\n [ { \"address\": 140682309691957\r\n , \"build_id\": \"e10cc8f2b932fc3daeda22f8dac5ebb969524e5b\"\r\n , \"build_id_offset\": 47669\r\n , \"function_name\": \"pthread_cond_wait@@GLIBC_2.3.2\"\r\n , \"file_name\": \"/usr/lib64/libpthread.so.0\"\r\n }\r\n , { \"address\": 9282537\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 5088233\r\n , \"function_name\": \"uv_cond_wait\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n }\r\n , { \"address\": 9210734\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 5016430\r\n , \"function_name\": \"worker\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n }\r\n , { \"address\": 140682309676709\r\n , \"build_id\": \"e10cc8f2b932fc3daeda22f8dac5ebb969524e5b\"\r\n , \"build_id_offset\": 32421\r\n , \"function_name\": \"start_thread\"\r\n , \"file_name\": \"/usr/lib64/libpthread.so.0\"\r\n }\r\n , { \"address\": 140682300267277\r\n , \"build_id\": \"fc4fa58e47a5acc137eadb7689bce4357c557a96\"\r\n , \"build_id_offset\": 1043213\r\n , \"function_name\": \"__clone\"\r\n , \"file_name\": \"/usr/lib64/libc.so.6\"\r\n } ]\r\n }\r\n , { \"frames\":\r\n [ { \"address\": 140682309691957\r\n , \"build_id\": \"e10cc8f2b932fc3daeda22f8dac5ebb969524e5b\"\r\n , \"build_id_offset\": 47669\r\n , \"function_name\": \"pthread_cond_wait@@GLIBC_2.3.2\"\r\n , \"file_name\": \"/usr/lib64/libpthread.so.0\"\r\n }\r\n , { \"address\": 9282537\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 5088233\r\n , \"function_name\": \"uv_cond_wait\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n }\r\n , { \"address\": 9210734\r\n , \"build_id\": \"cbc8334548ace5e92db94ca430f33750184dd34e\"\r\n , \"build_id_offset\": 5016430\r\n , \"function_name\": \"worker\"\r\n , \"file_name\": \"/users/xxxxxxx/linux/local/stow/neovim-v0.10.0-dev-1361+g0892c1cd9/bin/nvim\"\r\n }\r\n , { \"address\": 140682309676709\r\n , \"build_id\": \"e10cc8f2b932fc3daeda22f8dac5ebb969524e5b\"\r\n , \"build_id_offset\": 32421\r\n , \"function_name\": \"start_thread\"\r\n , \"file_name\": \"/usr/lib64/libpthread.so.0\"\r\n }\r\n , { \"address\": 140682300267277\r\n , \"build_id\": \"fc4fa58e47a5acc137eadb7689bce4357c557a96\"\r\n , \"build_id_offset\": 1043213\r\n , \"function_name\": \"__clone\"\r\n , \"file_name\": \"/usr/lib64/libc.so.6\"\r\n } ]\r\n } ]\r\n}\r\n```\r\n\r\n### Steps to reproduce\r\n\r\nI appreciate this may be difficult...\r\n\r\nA couple of thoughts - in my case, most of the windows have code, with treesitter working on it. Also, I have more tabs that are not visible at the moment, but also have windows with code files. The point it, nvim becomes visually a bit sluggish.\r\n\r\nI tried to look into fill_grid, but nothing looked off right away. But I wonder, because nvim becomes sluggish, is there a chance that nvim size changes while fill_grid operates on assumption of different size, and that causes the crash somehow? All those calls to `grid->chars`, `grid->line_offset` etc, is there a chance that the sizes may have changed and the calls go out of array boundaries?\r\n\r\n### Expected behavior\r\n\r\nneovim does not crash\r\n\r\n### Neovim version (nvim -v)\r\n\r\nNVIM v0.10.0-dev-1361+g0892c1cd9\r\n\r\n### Vim (not Nvim) behaves the same?\r\n\r\nnot sure\r\n\r\n### Operating system/version\r\n\r\nLinux RHEL 7.9\r\n\r\n### Terminal name/version\r\n\r\nwezterm via ssh\r\n\r\n### $TERM environment variable\r\n\r\nwezterm\r\n\r\n### Installation\r\n\r\nbuild from repo", "closed_at": null, - "comment_data": [], - "comments": 0, + "comment_data": [ + { + "author_association": "MEMBER", + "body": "Can you reproduce this with ASAN (https://github.com/neovim/neovim/blob/master/CONTRIBUTING.md#sanitizers-asan-and-ubsan) and provide ASAN logs? They may offer more useful information.", + "created_at": "2024-02-04T04:31:34Z", + "html_url": "https://github.com/neovim/neovim/issues/25837#issuecomment-1925577570", + "id": 1925577570, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/25837", + "node_id": "IC_kwDOAPphoM5yxfti", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925577570/reactions" + }, + "updated_at": "2024-02-04T04:31:34Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925577570", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + } + ], + "comments": 1, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/25837/comments", "created_at": "2023-10-30T11:29:05Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/25837/events", "html_url": "https://github.com/neovim/neovim/issues/25837", "id": 1968120670, "labels": [ + { + "color": "FBCA04", + "default": false, + "description": "waiting for reply from the author", + "id": 248229439, + "name": "needs:response", + "node_id": "MDU6TGFiZWwyNDgyMjk0Mzk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/needs:response" + }, + { + "color": "FBCA04", + "default": false, + "description": "We need minimal steps to reproduce the issue", + "id": 298863445, + "name": "needs:repro", + "node_id": "MDU6TGFiZWwyOTg4NjM0NDU=", + "url": "https://api.github.com/repos/neovim/neovim/labels/needs:repro" + }, { "color": "0E8A16", "default": false, @@ -45,7 +108,7 @@ "locked": false, "milestone": { "closed_at": null, - "closed_issues": 176, + "closed_issues": 278, "created_at": "2023-02-02T14:11:43Z", "creator": { "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", @@ -68,16 +131,16 @@ "url": "https://api.github.com/users/bfredl" }, "description": "", - "due_on": null, + "due_on": "2024-03-01T08:00:00Z", "html_url": "https://github.com/neovim/neovim/milestone/36", "id": 8997654, "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", "node_id": "MI_kwDOAPphoM4AiUsW", "number": 36, - "open_issues": 129, + "open_issues": 138, "state": "open", "title": "0.10", - "updated_at": "2023-10-30T12:25:59Z", + "updated_at": "2024-02-05T21:59:25Z", "url": "https://api.github.com/repos/neovim/neovim/milestones/36" }, "node_id": "I_kwDOAPphoM51TyNe", @@ -100,7 +163,7 @@ "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/25837/timeline", "title": "Nvim crash in grid_fill on frequent resize", - "updated_at": "2023-10-30T12:25:59Z", + "updated_at": "2024-02-04T04:31:42Z", "url": "https://api.github.com/repos/neovim/neovim/issues/25837", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/8959819?v=4", diff --git a/repositories/neovim/issues/25864.json b/repositories/neovim/issues/25864.json index 44374d45..17767b42 100644 --- a/repositories/neovim/issues/25864.json +++ b/repositories/neovim/issues/25864.json @@ -93,15 +93,68 @@ "type": "User", "url": "https://api.github.com/users/j-xella" } + }, + { + "author_association": "MEMBER", + "body": "Can you reproduce this with ASAN (https://github.com/neovim/neovim/blob/master/CONTRIBUTING.md#sanitizers-asan-and-ubsan) and provide ASAN logs? They may offer more useful information.\r\n\r\n> In nvim, create many windows (10+)\r\n\r\nWhat is the exact layout after creating these windows?", + "created_at": "2024-02-04T04:27:35Z", + "html_url": "https://github.com/neovim/neovim/issues/25864#issuecomment-1925577019", + "id": 1925577019, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/25864", + "node_id": "IC_kwDOAPphoM5yxfk7", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925577019/reactions" + }, + "updated_at": "2024-02-04T04:27:35Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925577019", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } } ], - "comments": 2, + "comments": 3, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/25864/comments", "created_at": "2023-11-01T10:50:14Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/25864/events", "html_url": "https://github.com/neovim/neovim/issues/25864", "id": 1972134243, "labels": [ + { + "color": "FBCA04", + "default": false, + "description": "waiting for reply from the author", + "id": 248229439, + "name": "needs:response", + "node_id": "MDU6TGFiZWwyNDgyMjk0Mzk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/needs:response" + }, { "color": "0E8A16", "default": false, @@ -144,7 +197,7 @@ "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/25864/timeline", "title": "nvim crashes with many windows on a small terminal", - "updated_at": "2023-11-02T21:38:36Z", + "updated_at": "2024-02-04T04:28:17Z", "url": "https://api.github.com/repos/neovim/neovim/issues/25864", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/8959819?v=4", diff --git a/repositories/neovim/issues/25896.json b/repositories/neovim/issues/25896.json index 72ebe18c..1bd4cc53 100644 --- a/repositories/neovim/issues/25896.json +++ b/repositories/neovim/issues/25896.json @@ -2,9 +2,9 @@ "active_lock_reason": null, "assignee": null, "assignees": [], - "author_association": "CONTRIBUTOR", + "author_association": "MEMBER", "body": "### Problem\n\nIf snippet contains something like `$1$2`, then jumping forward doesn't recognize that it should change the tabstop.\n\n### Steps to reproduce\n\n1. Create the following config file:\r\n```lua\r\nvim.keymap.set('i', '', function() vim.snippet.jump(1) end)\r\nvim.keymap.set('i', '', function() vim.snippet.expand('for i=1,${1:to}${2:,step} do\\n\\t$3\\nend') end)\r\n```\r\n2. Start Neovim with `--clean` and this config file.\r\n3. Start Insert mode and press to expand the snippet.\r\n4. Type `aaa`.\r\n5. Press ``. This is expected to stay in place, but it jumps to the start of the first tabstop. Typing any text afterwards removes both previously entered text (`aaa`) and placeholder for the target tabstop.\n\n### Expected behavior\n\nSelect only the placeholder for second (target) tabstop in Select mode.\n\n### Neovim version (nvim -v)\n\nNVIM v0.10.0-dev-1466+gec66a95fb-dirty\n\n### Vim (not Nvim) behaves the same?\n\nNo\n\n### Operating system/version\n\nEndeavourOS Linux x86_64 (6.5.9-arch2-1)\n\n### Terminal name/version\n\nst-0.9\n\n### $TERM environment variable\n\nst-256color\n\n### Installation\n\nFrom source", - "closed_at": null, + "closed_at": "2024-02-05T15:03:47Z", "comment_data": [], "comments": 0, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/25896/comments", @@ -51,11 +51,11 @@ "url": "https://api.github.com/repos/neovim/neovim/issues/25896/reactions" }, "repository_url": "https://api.github.com/repos/neovim/neovim", - "state": "open", - "state_reason": null, + "state": "closed", + "state_reason": "completed", "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/25896/timeline", "title": "Snippet jumping can not recognize directly adjacent tabstops", - "updated_at": "2023-11-14T11:44:55Z", + "updated_at": "2024-02-05T15:03:47Z", "url": "https://api.github.com/repos/neovim/neovim/issues/25896", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/24854248?v=4", diff --git a/repositories/neovim/issues/25928.json b/repositories/neovim/issues/25928.json index 76f7bf28..9e382760 100644 --- a/repositories/neovim/issues/25928.json +++ b/repositories/neovim/issues/25928.json @@ -2,11 +2,56 @@ "active_lock_reason": null, "assignee": null, "assignees": [], - "author_association": "NONE", + "author_association": "CONTRIBUTOR", "body": "### Problem\n\nI am encountering an issue with the `yank` functionality in neovim(v0.9.4) on `cmd.exe` on Windows 10 (not WSL). \r\n\r\nDespite having \"set clipboard=unnamedplus\" configured and win32yank.exe in $PATH, the yank operation set by clipboard.vim does not work correctly and leads to a popup window.\r\n\n\n### Steps to reproduce\n\n1. Run `nvim --clean --cmd \"set clipboard=unnamedplus\"`.\r\n2. Enter insert mode by pressing `i`.\r\n3. Type some text (e.g., `abc`) and exit insert mode with ``.\r\n4. Press `yy`, which leads to the win32yank.exe window popping up. It should remain hidden.\r\n\r\n\"screenshot\r\n\n\n### Expected behavior\n\nThe yank operation should not trigger any popup windows.\r\n\n\n### Neovim version (nvim -v)\n\nNVIM v0.9.4\n\n### Vim (not Nvim) behaves the same?\n\nno, VIM - Vi IMproved 9.0 (2022 Jun 28, compiled Jun 28 2022 12:30:17)\n\n### Operating system/version\n\nWindows 10\n\n### Terminal name/version\n\ncmd.exe\n\n### $TERM environment variable\n\nN/A\n\n### Installation\n\nscoop(windows package manager)", "closed_at": null, - "comment_data": [], - "comments": 0, + "comment_data": [ + { + "author_association": "NONE", + "body": "seems to be the same as https://github.com/neovim/neovim/issues/7989\r\n\r\nIn my case, I used choco to install both neovim and win32yank and also had extra console windows open on yank. When I uninstalled win32yank package from choco, this problem was fixed.", + "created_at": "2024-01-31T14:24:10Z", + "html_url": "https://github.com/neovim/neovim/issues/25928#issuecomment-1919207232", + "id": 1919207232, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/25928", + "node_id": "IC_kwDOAPphoM5yZMdA", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919207232/reactions" + }, + "updated_at": "2024-01-31T14:24:10Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919207232", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/4126782?v=4", + "events_url": "https://api.github.com/users/Jagholin/events{/privacy}", + "followers_url": "https://api.github.com/users/Jagholin/followers", + "following_url": "https://api.github.com/users/Jagholin/following{/other_user}", + "gists_url": "https://api.github.com/users/Jagholin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Jagholin", + "id": 4126782, + "login": "Jagholin", + "node_id": "MDQ6VXNlcjQxMjY3ODI=", + "organizations_url": "https://api.github.com/users/Jagholin/orgs", + "received_events_url": "https://api.github.com/users/Jagholin/received_events", + "repos_url": "https://api.github.com/users/Jagholin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Jagholin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Jagholin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Jagholin" + } + } + ], + "comments": 1, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/25928/comments", "created_at": "2023-11-07T15:45:39Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/25928/events", @@ -64,7 +109,7 @@ "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/25928/timeline", "title": "Window popup when yank in cmd.exe/Windows/win32yank.exe environment", - "updated_at": "2023-11-07T21:53:08Z", + "updated_at": "2024-01-31T14:24:12Z", "url": "https://api.github.com/repos/neovim/neovim/issues/25928", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/1529486?v=4", diff --git a/repositories/neovim/issues/26155.json b/repositories/neovim/issues/26155.json index 2fa17f02..b8e2287c 100644 --- a/repositories/neovim/issues/26155.json +++ b/repositories/neovim/issues/26155.json @@ -4,7 +4,7 @@ "assignees": [], "author_association": "CONTRIBUTOR", "body": "### Problem\n\nThis was originally reported here causing a crash of Neovide due to the wrong window size being sent, but it turns out that Neovim itself crashes as well (a little bit later)\r\n* https://github.com/neovide/neovide/issues/2141\r\n\r\nNote I have debugged this a little bit and the width is -1 here\r\n
callstack\r\n\r\n```\r\nwin_new_width(win_T * wp, int width) (/home/fredizzimo/proj/neovim/src/nvim/window.c:6703)\r\nframe_new_width(frame_T * topfrp, int width, _Bool leftfirst, _Bool wfw) (/home/fredizzimo/proj/neovim/src/nvim/window.c:3664)\r\nwin_equal_rec(win_T * next_curwin, _Bool current, frame_T * topfr, int dir, int col, int row, int width, int height) (/home/fredizzimo/proj/neovim/src/nvim/window.c:2205)\r\nwin_equal_rec(win_T * next_curwin, _Bool current, frame_T * topfr, int dir, int col, int row, int width, int height) (/home/fredizzimo/proj/neovim/src/nvim/window.c:2325)\r\nwin_equal(win_T * next_curwin, _Bool current, int dir) (/home/fredizzimo/proj/neovim/src/nvim/window.c:2166)\r\ndo_window(int nchar, long Prenum, int xchar) (/home/fredizzimo/proj/neovim/src/nvim/window.c:437)\r\nex_wincmd(exarg_T * eap) (/home/fredizzimo/proj/neovim/src/nvim/ex_docmd.c:5750)\r\nexecute_cmd0(int * retv, exarg_T * eap, char ** errormsg, _Bool preview) (/home/fredizzimo/proj/neovim/src/nvim/ex_docmd.c:1620)\r\ndo_one_cmd(char ** cmdlinep, int flags, cstack_T * cstack, LineGetter fgetline, void * cookie) (/home/fredizzimo/proj/neovim/src/nvim/ex_docmd.c:2279)\r\ndo_cmdline(char * cmdline, LineGetter fgetline, void * cookie, int flags) (/home/fredizzimo/proj/neovim/src/nvim/ex_docmd.c:578)\r\nex_listdo(exarg_T * eap) (/home/fredizzimo/proj/neovim/src/nvim/ex_cmds2.c:590)\r\nexecute_cmd0(int * retv, exarg_T * eap, char ** errormsg, _Bool preview) (/home/fredizzimo/proj/neovim/src/nvim/ex_docmd.c:1620)\r\ndo_one_cmd(char ** cmdlinep, int flags, cstack_T * cstack, LineGetter fgetline, void * cookie) (/home/fredizzimo/proj/neovim/src/nvim/ex_docmd.c:2279)\r\ndo_cmdline(char * cmdline, LineGetter fgetline, void * cookie, int flags) (/home/fredizzimo/proj/neovim/src/nvim/ex_docmd.c:578)\r\nsource_using_linegetter(void * cookie, LineGetter fgetline, const char * traceback_name) (/home/fredizzimo/proj/neovim/src/nvim/runtime.c:1906)\r\n```\r\n
\n\n### Steps to reproduce\n\nCreate the a file called `neotreecrash.lua` with the following contents\r\n```lua\r\nfor name, url in pairs{\r\n neotree = 'https://github.com/nvim-neo-tree/neo-tree.nvim',\r\n plenary = \"https://github.com/nvim-lua/plenary.nvim\",\r\n webicons = \"https://github.com/nvim-tree/nvim-web-devicons\", -- not strictly required, but recommended\r\n nui = \"https://github.com/MunifTanjim/nui.nvim\",\r\n} do\r\n local install_path = vim.fn.fnamemodify(\"nvim_issue/\"..name, \":p\")\r\n if vim.fn.isdirectory(install_path) == 0 then\r\n vim.fn.system { \"git\", \"clone\", \"--depth=1\", url, install_path }\r\n end\r\n vim.opt.runtimepath:append(install_path)\r\nend\r\n\r\nlocal function augroup(name)\r\n return vim.api.nvim_create_augroup(\"lazyvim_\" .. name, { clear = true })\r\nend\r\n\r\nvim.api.nvim_create_autocmd({ \"VimResized\" }, {\r\n group = augroup(\"resize_splits\"),\r\n callback = function()\r\n local current_tab = vim.fn.tabpagenr()\r\n vim.cmd(\"tabdo wincmd =\")\r\n vim.cmd(\"tabnext \" .. current_tab)\r\n end,\r\n})\r\n\r\nvim.o.winminwidth=3\r\nvim.o.winwidth=10\r\n\r\nvim.api.nvim_create_autocmd({ \"VimEnter\" }, {\r\n group = augroup(\"enter\"),\r\n callback = function()\r\n vim.cmd(\"Neotree\")\r\n local timer = vim.loop.new_timer()\r\n timer:start(1000, 0, vim.schedule_wrap(function()\r\n -- Does not crash\r\n -- vim.o.columns=vim.o.winminwidth + vim.o.winwidth + 1\r\n -- This and a smaller value crashes\r\n vim.o.columns=vim.o.winminwidth + vim.o.winwidth\r\n end))\r\n end,\r\n})\r\n```\r\n\r\nThen run `nvim --clean -u neotreecrash.lua` and notice that neovim crashes\n\n### Expected behavior\n\nIt should not crash, and not report invalid window sizes or cursor positions to UIs (it does all of that currently).\n\n### Neovim version (nvim -v)\n\n0.9.4\n\n### Vim (not Nvim) behaves the same?\n\nN/A\n\n### Operating system/version\n\nArch Linux\n\n### Terminal name/version\n\nAlacritty/Neovide\n\n### $TERM environment variable\n\nalacritty\n\n### Installation\n\npacman", - "closed_at": null, + "closed_at": "2024-02-05T00:37:09Z", "comment_data": [ { "author_association": "CONTRIBUTOR", @@ -445,9 +445,53 @@ "type": "User", "url": "https://api.github.com/users/fredizzimo" } + }, + { + "author_association": "MEMBER", + "body": "I think you should create a new issue.", + "created_at": "2024-02-05T00:37:09Z", + "html_url": "https://github.com/neovim/neovim/issues/26155#issuecomment-1926018191", + "id": 1926018191, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26155", + "node_id": "IC_kwDOAPphoM5yzLSP", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926018191/reactions" + }, + "updated_at": "2024-02-05T00:37:09Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926018191", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } } ], - "comments": 10, + "comments": 11, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/26155/comments", "created_at": "2023-11-22T16:27:47Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/26155/events", @@ -510,11 +554,11 @@ "url": "https://api.github.com/repos/neovim/neovim/issues/26155/reactions" }, "repository_url": "https://api.github.com/repos/neovim/neovim", - "state": "open", - "state_reason": "reopened", + "state": "closed", + "state_reason": "completed", "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/26155/timeline", "title": "Neovim crashes when resizing using neo-tree and using an autocommand to make the all windows equal", - "updated_at": "2023-11-24T08:56:04Z", + "updated_at": "2024-02-05T00:37:09Z", "url": "https://api.github.com/repos/neovim/neovim/issues/26155", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/9946255?v=4", diff --git a/repositories/neovim/issues/26346.json b/repositories/neovim/issues/26346.json index 8b71fae2..e0ac889c 100644 --- a/repositories/neovim/issues/26346.json +++ b/repositories/neovim/issues/26346.json @@ -456,7 +456,7 @@ "node_id": "IC_kwDOAPphoM5wrmM7", "performed_via_github_app": null, "reactions": { - "+1": 2, + "+1": 3, "-1": 0, "confused": 0, "eyes": 0, @@ -464,7 +464,7 @@ "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 2, + "total_count": 3, "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1890476859/reactions" }, "updated_at": "2024-01-13T14:44:08Z", @@ -624,7 +624,7 @@ }, { "author_association": "MEMBER", - "body": "> I think the best approach here would be to use `nvim_ui_attach()` (or `vim.ui.attach` from Lua) to hook into `ext_cmdline` so you can have a (floating window) buffer as the actual commandline. Obviously, this would require adding support for that.\r\n\r\nWould we not rather keep this in C? ext_cmdline seems kind of roundabout when internally we can just open a floating window and set the cmdline text in a buffer. I made a quick mock-up that works quite well already. Not much more than the following is required:\r\n\r\n```c\r\n// Init in command_line_enter()\r\nFloatConfig fconfig = FLOAT_CONFIG_INIT;\r\nfconfig.height = 1;\r\nfconfig.width = Columns;\r\nfconfig.row = Rows;\r\nfconfig.zindex = kZIndexCmdlinePopupMenu;\r\nfconfig.style = kWinStyleMinimal;\r\ncmdline_win = win_new_float(NULL, false, fconfig, NULL);\r\ncmdline_buf = buflist_new(NULL, NULL, 1, BLN_NOOPT | BLN_DUMMY);\r\nwin_enter(cmdline_win, true);\r\nset_curbuf(cmdline_buf, DOBUF_SPLIT);\r\nset_option_value(kOptFiletype, STATIC_CSTR_AS_OPTVAL(\"vim\"), OPT_LOCAL);\r\nset_option_value(kOptWinhighlight, STATIC_CSTR_AS_OPTVAL(\"NormalFloat:Normal\"), OPT_LOCAL);\r\n\r\n...\r\n\r\n// Replacement redrawcmd()\r\nchar buf[MAXPATHL];\r\nbuf[0] = (char)ccline.cmdfirstc;\r\nxstrlcpy(buf + 1, ccline.cmdbuff, MAXPATHL);\r\nml_replace_buf(cmdline_buf, 1, buf, true);\r\nchanged_lines(cmdline_buf, 1, 0, 1, 0, false);\r\nccline.cmdspos = cmd_screencol(ccline.cmdpos);\r\ncmdline_win->w_cursor.col = ccline.cmdspos;\r\nupdate_screen();\r\n```\r\n\r\nObviously a lot of dead code would need to be removed and probably edge cases considered.", + "body": "> I think the best approach here would be to use `nvim_ui_attach()` (or `vim.ui.attach` from Lua) to hook into `ext_cmdline` so you can have a (floating window) buffer as the actual commandline. Obviously, this would require adding support for that.\r\n\r\nWould we not rather keep this in C? ext_cmdline seems kind of roundabout when internally we can just open a floating window and set the cmdline text in a buffer. I made a quick mock-up that works quite well already. \r\n\r\n
Not much more than the following is required:\r\n\r\n```c\r\n// Init in command_line_enter()\r\nFloatConfig fconfig = FLOAT_CONFIG_INIT;\r\nfconfig.height = 1;\r\nfconfig.width = Columns;\r\nfconfig.row = Rows;\r\nfconfig.zindex = kZIndexCmdlinePopupMenu;\r\nfconfig.style = kWinStyleMinimal;\r\ncmdline_win = win_new_float(NULL, false, fconfig, NULL);\r\ncmdline_buf = buflist_new(NULL, NULL, 1, BLN_NOOPT | BLN_DUMMY);\r\nwin_enter(cmdline_win, true);\r\nset_curbuf(cmdline_buf, DOBUF_SPLIT);\r\nset_option_value(kOptFiletype, STATIC_CSTR_AS_OPTVAL(\"vim\"), OPT_LOCAL);\r\nset_option_value(kOptWinhighlight, STATIC_CSTR_AS_OPTVAL(\"NormalFloat:Normal\"), OPT_LOCAL);\r\n\r\n...\r\n\r\n// Replacement redrawcmd()\r\nchar buf[MAXPATHL];\r\nbuf[0] = (char)ccline.cmdfirstc;\r\nxstrlcpy(buf + 1, ccline.cmdbuff, MAXPATHL);\r\nml_replace_buf(cmdline_buf, 1, buf, true);\r\nchanged_lines(cmdline_buf, 1, 0, 1, 0, false);\r\nccline.cmdspos = cmd_screencol(ccline.cmdpos);\r\ncmdline_win->w_cursor.col = ccline.cmdspos;\r\nupdate_screen();\r\n```\r\n\r\n
\r\n\r\nObviously a lot of dead code would need to be removed and probably edge cases considered.", "created_at": "2024-01-29T05:58:09Z", "html_url": "https://github.com/neovim/neovim/issues/26346#issuecomment-1914013040", "id": 1914013040, @@ -639,11 +639,11 @@ "heart": 0, "hooray": 0, "laugh": 0, - "rocket": 5, - "total_count": 6, + "rocket": 6, + "total_count": 7, "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1914013040/reactions" }, - "updated_at": "2024-01-29T05:58:09Z", + "updated_at": "2024-01-30T14:05:35Z", "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1914013040", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/31730729?v=4", @@ -973,9 +973,361 @@ "type": "User", "url": "https://api.github.com/users/justinmk" } + }, + { + "author_association": "MEMBER", + "body": "Hmm replacing the cmdline with a floating window is doable but quite cumbersome. The interactions with the current cmdline and the message grid (on which it is drawn) are quite involved and identifying/replacing all of them requires some work.\r\n\r\nI wasn't aware before but while working on this I found out that we already have a way to color the command line lol. I now wonder if it will be more straightforward to just use a scratch buffer with the cmdline contents, attach treesitter (that part I have finished), extract the applied highlights, and still draw them on the message grid through `color_cmdline()`.\r\n\r\nThough it seems the only way to do that is through the experimental `g:Nvim_color_cmdline`. If we can deprecate this color callback, along with the VimL/expression parser by replacing the cmdline with a colored floating window, and if that would be preferred, I can continue with resolving display issues. Any thoughts? ", + "created_at": "2024-02-03T02:00:14Z", + "html_url": "https://github.com/neovim/neovim/issues/26346#issuecomment-1925017954", + "id": 1925017954, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26346", + "node_id": "IC_kwDOAPphoM5yvXFi", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925017954/reactions" + }, + "updated_at": "2024-02-03T02:00:14Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925017954", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/31730729?v=4", + "events_url": "https://api.github.com/users/luukvbaal/events{/privacy}", + "followers_url": "https://api.github.com/users/luukvbaal/followers", + "following_url": "https://api.github.com/users/luukvbaal/following{/other_user}", + "gists_url": "https://api.github.com/users/luukvbaal/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/luukvbaal", + "id": 31730729, + "login": "luukvbaal", + "node_id": "MDQ6VXNlcjMxNzMwNzI5", + "organizations_url": "https://api.github.com/users/luukvbaal/orgs", + "received_events_url": "https://api.github.com/users/luukvbaal/received_events", + "repos_url": "https://api.github.com/users/luukvbaal/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/luukvbaal/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/luukvbaal/subscriptions", + "type": "User", + "url": "https://api.github.com/users/luukvbaal" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "I believe in the long run it would be more beneficial for the bar ( or even the whole message grid ) to become a float which from what i understand would imply that it would also be a buffer , thus allowing anything that you can do in a buffer ( like snippets, treesitter etc ).\r\n\r\nOr maybe even natively move the bar around, since it's a float i can see that happening.", + "created_at": "2024-02-03T05:32:17Z", + "html_url": "https://github.com/neovim/neovim/issues/26346#issuecomment-1925128763", + "id": 1925128763, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26346", + "node_id": "IC_kwDOAPphoM5yvyI7", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925128763/reactions" + }, + "updated_at": "2024-02-03T05:32:17Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925128763", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/61395246?v=4", + "events_url": "https://api.github.com/users/LamprosPitsillos/events{/privacy}", + "followers_url": "https://api.github.com/users/LamprosPitsillos/followers", + "following_url": "https://api.github.com/users/LamprosPitsillos/following{/other_user}", + "gists_url": "https://api.github.com/users/LamprosPitsillos/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/LamprosPitsillos", + "id": 61395246, + "login": "LamprosPitsillos", + "node_id": "MDQ6VXNlcjYxMzk1MjQ2", + "organizations_url": "https://api.github.com/users/LamprosPitsillos/orgs", + "received_events_url": "https://api.github.com/users/LamprosPitsillos/received_events", + "repos_url": "https://api.github.com/users/LamprosPitsillos/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/LamprosPitsillos/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/LamprosPitsillos/subscriptions", + "type": "User", + "url": "https://api.github.com/users/LamprosPitsillos" + } + }, + { + "author_association": "MEMBER", + "body": "Yes, the floating window approach brings possibilities for further niceties (matchparen?)/floating window customizations. \n\nA floating position completely unattached from the message grid might actually make things easier, but I doubt we want that by default.", + "created_at": "2024-02-03T07:00:59Z", + "html_url": "https://github.com/neovim/neovim/issues/26346#issuecomment-1925180724", + "id": 1925180724, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26346", + "node_id": "IC_kwDOAPphoM5yv-00", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925180724/reactions" + }, + "updated_at": "2024-02-03T07:00:59Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925180724", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/31730729?v=4", + "events_url": "https://api.github.com/users/luukvbaal/events{/privacy}", + "followers_url": "https://api.github.com/users/luukvbaal/followers", + "following_url": "https://api.github.com/users/luukvbaal/following{/other_user}", + "gists_url": "https://api.github.com/users/luukvbaal/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/luukvbaal", + "id": 31730729, + "login": "luukvbaal", + "node_id": "MDQ6VXNlcjMxNzMwNzI5", + "organizations_url": "https://api.github.com/users/luukvbaal/orgs", + "received_events_url": "https://api.github.com/users/luukvbaal/received_events", + "repos_url": "https://api.github.com/users/luukvbaal/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/luukvbaal/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/luukvbaal/subscriptions", + "type": "User", + "url": "https://api.github.com/users/luukvbaal" + } + }, + { + "author_association": "MEMBER", + "body": "> hough it seems the only way to do that is through the experimental g:Nvim_color_cmdline.\r\n\r\nThis has to go. The point of this issue is to _replace_ this adhoc parser with treesitter.", + "created_at": "2024-02-03T09:07:17Z", + "html_url": "https://github.com/neovim/neovim/issues/26346#issuecomment-1925232773", + "id": 1925232773, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26346", + "node_id": "IC_kwDOAPphoM5ywLiF", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925232773/reactions" + }, + "updated_at": "2024-02-03T09:07:17Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925232773", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "MEMBER", + "body": "> This has to go. The point of this issue is to _replace_ this adhoc parser with treesitter.\n\nSure, but the highlight callback mechanism is a separate component to the parser. One which I thought might be used to apply treesitter highlighting if keeping the cmdline on the message grid would be desirable. \n\nBut I think decoupling it from the message grid is doable and worthwhile, so I continued working on it. Just need to make sure things are displayed as expected, which gets quite complicated with a moving cmdline row and scrolled messages etc.\n\nHere is my progress so far: https://github.com/luukvbaal/neovim/commit/d92b0570f42d850af10f454247a270f4d790de3e (won't be working on it for a while, currently on the road on vacation).\n", + "created_at": "2024-02-03T09:22:19Z", + "html_url": "https://github.com/neovim/neovim/issues/26346#issuecomment-1925240092", + "id": 1925240092, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26346", + "node_id": "IC_kwDOAPphoM5ywNUc", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 2, + "laugh": 0, + "rocket": 0, + "total_count": 2, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925240092/reactions" + }, + "updated_at": "2024-02-03T10:33:59Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925240092", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/31730729?v=4", + "events_url": "https://api.github.com/users/luukvbaal/events{/privacy}", + "followers_url": "https://api.github.com/users/luukvbaal/followers", + "following_url": "https://api.github.com/users/luukvbaal/following{/other_user}", + "gists_url": "https://api.github.com/users/luukvbaal/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/luukvbaal", + "id": 31730729, + "login": "luukvbaal", + "node_id": "MDQ6VXNlcjMxNzMwNzI5", + "organizations_url": "https://api.github.com/users/luukvbaal/orgs", + "received_events_url": "https://api.github.com/users/luukvbaal/received_events", + "repos_url": "https://api.github.com/users/luukvbaal/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/luukvbaal/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/luukvbaal/subscriptions", + "type": "User", + "url": "https://api.github.com/users/luukvbaal" + } + }, + { + "author_association": "MEMBER", + "body": "Yes, the less special treatment, the better. (This is why I originally suggested `ext_cmdline`, which noice has successfully made use of -- albeit with hacks on top of hacks.)\r\n\r\nThis is also an opportunity for revisiting `cmdheight=0`, which has been a constant source of issues.", + "created_at": "2024-02-03T09:24:47Z", + "html_url": "https://github.com/neovim/neovim/issues/26346#issuecomment-1925240743", + "id": 1925240743, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26346", + "node_id": "IC_kwDOAPphoM5ywNen", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925240743/reactions" + }, + "updated_at": "2024-02-03T09:24:47Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925240743", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "MEMBER", + "body": "Yeah completely eliminating the `!ui_has(kUICmdline)` path by implementing a more minimal version of noice in core, also seems quite attractive. My (uneducated) understanding was that noice requires quite some hacks currently. That and the fact that **ext**_cmdline seems inappropriate for a core component prompted me to explore a C implementation instead.", + "created_at": "2024-02-03T09:34:24Z", + "html_url": "https://github.com/neovim/neovim/issues/26346#issuecomment-1925245234", + "id": 1925245234, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26346", + "node_id": "IC_kwDOAPphoM5ywOky", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925245234/reactions" + }, + "updated_at": "2024-02-03T16:35:30Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925245234", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/31730729?v=4", + "events_url": "https://api.github.com/users/luukvbaal/events{/privacy}", + "followers_url": "https://api.github.com/users/luukvbaal/followers", + "following_url": "https://api.github.com/users/luukvbaal/following{/other_user}", + "gists_url": "https://api.github.com/users/luukvbaal/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/luukvbaal", + "id": 31730729, + "login": "luukvbaal", + "node_id": "MDQ6VXNlcjMxNzMwNzI5", + "organizations_url": "https://api.github.com/users/luukvbaal/orgs", + "received_events_url": "https://api.github.com/users/luukvbaal/received_events", + "repos_url": "https://api.github.com/users/luukvbaal/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/luukvbaal/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/luukvbaal/subscriptions", + "type": "User", + "url": "https://api.github.com/users/luukvbaal" + } + }, + { + "author_association": "MEMBER", + "body": "I'm not against that, mind you; especially if it's easier or more robust. We'll also have to consider that GUIs may still want to hijack `ext_cmdline`.\r\n\r\nBut we _do_ want to make `vim.ui_attach()` a first-class consumer of `ext_foo`, so if we can get rid of the need for hacks (in C), so much the better. This is not a trivial change and thus not part of the 0.10 milestone.", + "created_at": "2024-02-03T09:37:36Z", + "html_url": "https://github.com/neovim/neovim/issues/26346#issuecomment-1925245924", + "id": 1925245924, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26346", + "node_id": "IC_kwDOAPphoM5ywOvk", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925245924/reactions" + }, + "updated_at": "2024-02-03T09:37:36Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925245924", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } } ], - "comments": 22, + "comments": 30, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/26346/comments", "created_at": "2023-12-01T10:58:13Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/26346/events", @@ -1023,7 +1375,7 @@ "locked": false, "milestone": { "closed_at": null, - "closed_issues": 597, + "closed_issues": 599, "created_at": "2014-05-10T20:43:04Z", "creator": { "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", @@ -1052,17 +1404,17 @@ "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/6/labels", "node_id": "MDk6TWlsZXN0b25lNjU1MDM3", "number": 6, - "open_issues": 425, + "open_issues": 424, "state": "open", "title": "backlog", - "updated_at": "2024-01-29T02:41:32Z", + "updated_at": "2024-02-05T01:01:45Z", "url": "https://api.github.com/repos/neovim/neovim/milestones/6" }, "node_id": "I_kwDOAPphoM54cGnL", "number": 26346, "performed_via_github_app": null, "reactions": { - "+1": 16, + "+1": 17, "-1": 0, "confused": 0, "eyes": 0, @@ -1070,7 +1422,7 @@ "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 16, + "total_count": 17, "url": "https://api.github.com/repos/neovim/neovim/issues/26346/reactions" }, "repository_url": "https://api.github.com/repos/neovim/neovim", @@ -1078,7 +1430,7 @@ "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/26346/timeline", "title": "Treesitter: syntax highlighting for command line, window", - "updated_at": "2024-01-30T01:10:14Z", + "updated_at": "2024-02-03T16:35:30Z", "url": "https://api.github.com/repos/neovim/neovim/issues/26346", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", diff --git a/repositories/neovim/issues/26369.json b/repositories/neovim/issues/26369.json index 0e378437..7db2cfe8 100644 --- a/repositories/neovim/issues/26369.json +++ b/repositories/neovim/issues/26369.json @@ -1061,53 +1061,9 @@ "type": "User", "url": "https://api.github.com/users/clason" } - }, - { - "author_association": "MEMBER", - "body": "https://github.com/vim/vim/commit/e6d8b4662ddf9356da53f56e363b67b524fd8825", - "created_at": "2024-01-29T09:10:46Z", - "html_url": "https://github.com/neovim/neovim/issues/26369#issuecomment-1914261504", - "id": 1914261504, - "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26369", - "node_id": "IC_kwDOAPphoM5yGVAA", - "performed_via_github_app": null, - "reactions": { - "+1": 0, - "-1": 0, - "confused": 0, - "eyes": 2, - "heart": 0, - "hooray": 0, - "laugh": 0, - "rocket": 1, - "total_count": 3, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1914261504/reactions" - }, - "updated_at": "2024-01-29T09:10:46Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1914261504", - "user": { - "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", - "events_url": "https://api.github.com/users/clason/events{/privacy}", - "followers_url": "https://api.github.com/users/clason/followers", - "following_url": "https://api.github.com/users/clason/following{/other_user}", - "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", - "gravatar_id": "", - "html_url": "https://github.com/clason", - "id": 2361214, - "login": "clason", - "node_id": "MDQ6VXNlcjIzNjEyMTQ=", - "organizations_url": "https://api.github.com/users/clason/orgs", - "received_events_url": "https://api.github.com/users/clason/received_events", - "repos_url": "https://api.github.com/users/clason/repos", - "site_admin": false, - "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/clason/subscriptions", - "type": "User", - "url": "https://api.github.com/users/clason" - } } ], - "comments": 25, + "comments": 24, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/26369/comments", "created_at": "2023-12-03T12:12:25Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/26369/events", @@ -1155,7 +1111,7 @@ "locked": false, "milestone": { "closed_at": null, - "closed_issues": 266, + "closed_issues": 278, "created_at": "2023-02-02T14:11:43Z", "creator": { "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", @@ -1184,10 +1140,10 @@ "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", "node_id": "MI_kwDOAPphoM4AiUsW", "number": 36, - "open_issues": 135, + "open_issues": 138, "state": "open", "title": "0.10", - "updated_at": "2024-01-29T07:22:06Z", + "updated_at": "2024-02-05T21:59:25Z", "url": "https://api.github.com/repos/neovim/neovim/milestones/36" }, "node_id": "I_kwDOAPphoM54jMxc", @@ -1210,7 +1166,7 @@ "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/26369/timeline", "title": "Default color scheme follow up", - "updated_at": "2024-01-29T09:10:47Z", + "updated_at": "2024-01-30T08:44:57Z", "url": "https://api.github.com/repos/neovim/neovim/issues/26369", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/24854248?v=4", diff --git a/repositories/neovim/issues/26454.json b/repositories/neovim/issues/26454.json index 56b2fd2b..c456e631 100644 --- a/repositories/neovim/issues/26454.json +++ b/repositories/neovim/issues/26454.json @@ -4,9 +4,54 @@ "assignees": [], "author_association": "MEMBER", "body": "### Problem\r\n\r\nvim.iter doesn't have a \"flatten\" pipeline stage.\r\n\r\nFor reference, see `flat()` and `flatMap()` in javascript:\r\n\r\n- review tradeoffs in https://news.ycombinator.com/item?id=29809977\r\n- https://www.wisdomgeek.com/development/web-development/javascript/flatten-arrays-in-vanilla-javascript-with-flat-and-flatmap/\r\n\r\n### Expected behavior\r\n\r\nIntroduce new pipeline stage(s) in `vim.iter`\r\n\r\n```\r\nIter:flat(depth: number)\r\nIter:flatMap(depth: number, fn: function)\r\n```\r\n\r\nWe probably don't need `flatMap()`, it's equivalent to `:map(fn):flat(1)`\r\n\r\n\r\n### Related\r\n\r\n- https://github.com/neovim/neovim/issues/24572", - "closed_at": null, - "comment_data": [], - "comments": 0, + "closed_at": "2024-02-04T07:50:59Z", + "comment_data": [ + { + "author_association": "NONE", + "body": "Should this not be closed?", + "created_at": "2024-02-04T07:48:51Z", + "html_url": "https://github.com/neovim/neovim/issues/26454#issuecomment-1925614940", + "id": 1925614940, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26454", + "node_id": "IC_kwDOAPphoM5yxo1c", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925614940/reactions" + }, + "updated_at": "2024-02-04T07:48:51Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925614940", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/53407525?v=4", + "events_url": "https://api.github.com/users/OscarCreator/events{/privacy}", + "followers_url": "https://api.github.com/users/OscarCreator/followers", + "following_url": "https://api.github.com/users/OscarCreator/following{/other_user}", + "gists_url": "https://api.github.com/users/OscarCreator/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/OscarCreator", + "id": 53407525, + "login": "OscarCreator", + "node_id": "MDQ6VXNlcjUzNDA3NTI1", + "organizations_url": "https://api.github.com/users/OscarCreator/orgs", + "received_events_url": "https://api.github.com/users/OscarCreator/received_events", + "repos_url": "https://api.github.com/users/OscarCreator/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/OscarCreator/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/OscarCreator/subscriptions", + "type": "User", + "url": "https://api.github.com/users/OscarCreator" + } + } + ], + "comments": 1, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/26454/comments", "created_at": "2023-12-07T13:46:50Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/26454/events", @@ -25,7 +70,7 @@ { "color": "c5def5", "default": false, - "description": null, + "description": "stdlib", "id": 573222693, "name": "lua", "node_id": "MDU6TGFiZWw1NzMyMjI2OTM=", @@ -36,62 +81,62 @@ "locked": false, "milestone": { "closed_at": null, - "closed_issues": 593, - "created_at": "2014-05-10T20:43:04Z", + "closed_issues": 278, + "created_at": "2023-02-02T14:11:43Z", "creator": { - "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", - "events_url": "https://api.github.com/users/justinmk/events{/privacy}", - "followers_url": "https://api.github.com/users/justinmk/followers", - "following_url": "https://api.github.com/users/justinmk/following{/other_user}", - "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", "gravatar_id": "", - "html_url": "https://github.com/justinmk", - "id": 1359421, - "login": "justinmk", - "node_id": "MDQ6VXNlcjEzNTk0MjE=", - "organizations_url": "https://api.github.com/users/justinmk/orgs", - "received_events_url": "https://api.github.com/users/justinmk/received_events", - "repos_url": "https://api.github.com/users/justinmk/repos", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", "site_admin": false, - "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", "type": "User", - "url": "https://api.github.com/users/justinmk" + "url": "https://api.github.com/users/bfredl" }, - "description": "Low priority. Not planned for the current target, may be reassigned.", - "due_on": null, - "html_url": "https://github.com/neovim/neovim/milestone/6", - "id": 655037, - "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/6/labels", - "node_id": "MDk6TWlsZXN0b25lNjU1MDM3", - "number": 6, - "open_issues": 427, + "description": "", + "due_on": "2024-03-01T08:00:00Z", + "html_url": "https://github.com/neovim/neovim/milestone/36", + "id": 8997654, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", + "node_id": "MI_kwDOAPphoM4AiUsW", + "number": 36, + "open_issues": 138, "state": "open", - "title": "backlog", - "updated_at": "2023-12-07T14:58:09Z", - "url": "https://api.github.com/repos/neovim/neovim/milestones/6" + "title": "0.10", + "updated_at": "2024-02-05T21:59:25Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/36" }, "node_id": "I_kwDOAPphoM55C4ZT", "number": 26454, "performed_via_github_app": null, "reactions": { - "+1": 0, + "+1": 1, "-1": 0, "confused": 0, - "eyes": 0, + "eyes": 1, "heart": 0, "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 0, + "total_count": 2, "url": "https://api.github.com/repos/neovim/neovim/issues/26454/reactions" }, "repository_url": "https://api.github.com/repos/neovim/neovim", - "state": "open", - "state_reason": null, + "state": "closed", + "state_reason": "completed", "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/26454/timeline", "title": "vim.iter: flat() (flatten), flatMap()", - "updated_at": "2023-12-07T13:49:44Z", + "updated_at": "2024-02-04T07:51:05Z", "url": "https://api.github.com/repos/neovim/neovim/issues/26454", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", diff --git a/repositories/neovim/issues/26744.json b/repositories/neovim/issues/26744.json index 9177a97b..c0ba6e86 100644 --- a/repositories/neovim/issues/26744.json +++ b/repositories/neovim/issues/26744.json @@ -181,9 +181,53 @@ "type": "User", "url": "https://api.github.com/users/ajmandourah" } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Hi, until neovim adds an extra workaround for Windows terminal, you can add a terminfo override. (See `:h terminfo`).\r\n\r\nI just changed my `xterm-256color` entry to look like this:\r\n\r\n```\r\nxterm-256color|xterm with 256 colors,\r\n\tSmulx=\\E[4:%p1%dm,\r\n\tuse=xterm+osc104, use=xterm+256color, use=xterm-new,\r\n```\r\n\r\nOnly the second line was added and that already caused shaped and colored underlines to work in WSL. Sadly I don't know how to make this work on Windows itself, as there is no terminfo mechanism there.", + "created_at": "2024-01-31T10:55:13Z", + "html_url": "https://github.com/neovim/neovim/issues/26744#issuecomment-1918867789", + "id": 1918867789, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26744", + "node_id": "IC_kwDOAPphoM5yX5lN", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918867789/reactions" + }, + "updated_at": "2024-01-31T10:55:13Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918867789", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9497302?v=4", + "events_url": "https://api.github.com/users/kmoschcau/events{/privacy}", + "followers_url": "https://api.github.com/users/kmoschcau/followers", + "following_url": "https://api.github.com/users/kmoschcau/following{/other_user}", + "gists_url": "https://api.github.com/users/kmoschcau/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/kmoschcau", + "id": 9497302, + "login": "kmoschcau", + "node_id": "MDQ6VXNlcjk0OTczMDI=", + "organizations_url": "https://api.github.com/users/kmoschcau/orgs", + "received_events_url": "https://api.github.com/users/kmoschcau/received_events", + "repos_url": "https://api.github.com/users/kmoschcau/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/kmoschcau/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kmoschcau/subscriptions", + "type": "User", + "url": "https://api.github.com/users/kmoschcau" + } } ], - "comments": 4, + "comments": 5, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/26744/comments", "created_at": "2023-12-26T13:04:54Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/26744/events", @@ -241,7 +285,7 @@ "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/26744/timeline", "title": "Implementing undercurl support in windows terminal ", - "updated_at": "2024-01-23T18:39:00Z", + "updated_at": "2024-01-31T10:55:14Z", "url": "https://api.github.com/repos/neovim/neovim/issues/26744", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/27051374?v=4", diff --git a/repositories/neovim/issues/26859.json b/repositories/neovim/issues/26859.json index 0a8d9d99..f97e7db8 100644 --- a/repositories/neovim/issues/26859.json +++ b/repositories/neovim/issues/26859.json @@ -4,7 +4,7 @@ "assignees": [], "author_association": "CONTRIBUTOR", "body": "### Problem\r\n\r\nWhen calling `syntax enable` or `syntax on` (or `vim.cmd.syntax(...)`) in init.lua, Neovim sources filetype plugins on the `packpath` immediately, when starting Neovim with a filetype as an argument.\r\n\r\nThis behaviour is not reproducible in Vim.\r\n\r\n### Steps to reproduce\r\n\r\nI have created [a repository](https://github.com/mrcjkb/neovim-syntax-bug) to reproduce this issue.\r\nIt contains examples in Lua (`startup-lua` directory) and Vimscript (`startup-vimscript` directory) , which each contains:\r\n\r\n- An init file that calls `syntax on` and then sets `vim.g.init_lua_sourced = true`.\r\n- A `pack/debug/start/myPlugin/ftplugin/rust.lua` (and `rust.vim` respectiveley), which prints an error if `vim.g.init_lua_sourced` is not set.\r\n\r\nTo reproduce, call\r\n\r\n```console\r\n# from the startup-lua directory\r\nnvim --cmd \"set packpath^=$PWD\" -u init.lua main.rs`\r\n```\r\nor \r\n\r\n```console\r\n# from the startup-vimscript directory\r\nnvim --cmd \"set packpath^=$PWD\" -u init.vim main.rs`\r\n```\r\n\r\n-> This prints an error message, because the filetype plugin is sourced as soon as `syntax on` or `syntax enable` is called, before the init file is sourced.\r\n\r\nTo confirm that this is a Neovim bug, and not present in Vim, one can run the same command from the startup-vimscript directory (which enables the `filetype` plugin):\r\n\r\n```console\r\n# from the startup-vimscript directory\r\nvim --cmd \"set packpath^=$PWD\" -u init.vim main.rs`\r\n```\r\n\r\n-> Echos `init.vim sourced before ftplugin on packpath/start`; no error message is printed.\r\n\r\nVersions used:\r\n\r\n- NVIM v0.10.0-dev-eae6727\r\n- NVIM v0.9.4\r\n- vim 9.0 (Huge version without GUI.)\r\n\r\nNote: I have reproduced this on NixOS, but the behaviour has also [been observed on MacOS](https://github.com/mrcjkb/rustaceanvim/discussions/77).\r\n\r\n### Expected behavior\r\n\r\nNo error message is printed, because the init file is sourced completely before the filetype plugin.\r\n\r\n### Neovim version (nvim -v)\r\n\r\nv0.10.0-dev-eae6727\r\n\r\n### Vim (not Nvim) behaves the same?\r\n\r\nno, vim 9.0 (Huge version without GUI.)\r\n\r\n### Operating system/version\r\n\r\nNixOS 24.05 unstable + macOS 14.1.1\r\n\r\n### Terminal name/version\r\n\r\nalacritty 0.12.3 \r\n\r\n### $TERM environment variable\r\n\r\nalacritty\r\n\r\n### Installation\r\n\r\nnixpkgs\r\n\r\n### Additional info\r\n\r\n
\r\n\r\nStack trace (lua version)\r\n\r\n\r\n```\r\nError detected while processing BufNewFile Autocommands for \"*\":\r\nError executing lua callback: ...neovim-unwrapped-eae6727/share/nvim/runtime/filetype.lua:30: Error executing lua: ...neovim-unwrapped-eae6727/share/nvim/runtime/filetype.lua:31: BufNewFile Au\r\ntocommands for \"*\"..FileType Autocommands for \"*\"..function 1_LoadFTPlugin[20]..script /home/mrcjk/playground/neovim/neovim-syntax-bug/startup-lua/pack/debug/start/myPlugin/ftplugin/rust.\r\nlua: Vim(runtime):E5113: Error while calling lua chunk: .../startup-lua/pack/debug/start/myPlugin/ftplugin/rust.lua:2: init.lua sourced after ftplugin on packpath/start\r\nstack traceback:\r\n [C]: in function 'error'\r\n .../startup-lua/pack/debug/start/myPlugin/ftplugin/rust.lua:2: in main chunk\r\n [C]: in function 'nvim_cmd'\r\n ...neovim-unwrapped-eae6727/share/nvim/runtime/filetype.lua:31: in function <...neovim-unwrapped-eae6727/share/nvim/runtime/filetype.lua:30>\r\n [C]: in function 'nvim_buf_call'\r\n ...neovim-unwrapped-eae6727/share/nvim/runtime/filetype.lua:30: in function <...neovim-unwrapped-eae6727/share/nvim/runtime/filetype.lua:10>\r\nstack traceback:\r\n [C]: in function 'nvim_cmd'\r\n ...neovim-unwrapped-eae6727/share/nvim/runtime/filetype.lua:31: in function <...neovim-unwrapped-eae6727/share/nvim/runtime/filetype.lua:30>\r\n [C]: in function 'nvim_buf_call'\r\n ...neovim-unwrapped-eae6727/share/nvim/runtime/filetype.lua:30: in function <...neovim-unwrapped-eae6727/share/nvim/runtime/filetype.lua:10>\r\nstack traceback:\r\n [C]: in function 'nvim_buf_call'\r\n ...neovim-unwrapped-eae6727/share/nvim/runtime/filetype.lua:30: in function <...neovim-unwrapped-eae6727/share/nvim/runtime/filetype.lua:10>\r\n```\r\n\r\n
\r\n", - "closed_at": null, + "closed_at": "2024-02-03T22:07:42Z", "comment_data": [ { "author_association": "CONTRIBUTOR", @@ -49,24 +49,103 @@ "type": "User", "url": "https://api.github.com/users/mrcjkb" } + }, + { + "author_association": "MEMBER", + "body": "This sounds similar to #19008", + "created_at": "2024-02-03T00:50:49Z", + "html_url": "https://github.com/neovim/neovim/issues/26859#issuecomment-1924949462", + "id": 1924949462, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26859", + "node_id": "IC_kwDOAPphoM5yvGXW", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924949462/reactions" + }, + "updated_at": "2024-02-03T00:50:49Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924949462", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Yep, looks like this is a duplicate.", + "created_at": "2024-02-03T19:50:38Z", + "html_url": "https://github.com/neovim/neovim/issues/26859#issuecomment-1925440277", + "id": 1925440277, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26859", + "node_id": "IC_kwDOAPphoM5yw-MV", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925440277/reactions" + }, + "updated_at": "2024-02-03T19:50:38Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925440277", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/12857160?v=4", + "events_url": "https://api.github.com/users/mrcjkb/events{/privacy}", + "followers_url": "https://api.github.com/users/mrcjkb/followers", + "following_url": "https://api.github.com/users/mrcjkb/following{/other_user}", + "gists_url": "https://api.github.com/users/mrcjkb/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/mrcjkb", + "id": 12857160, + "login": "mrcjkb", + "node_id": "MDQ6VXNlcjEyODU3MTYw", + "organizations_url": "https://api.github.com/users/mrcjkb/orgs", + "received_events_url": "https://api.github.com/users/mrcjkb/received_events", + "repos_url": "https://api.github.com/users/mrcjkb/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/mrcjkb/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mrcjkb/subscriptions", + "type": "User", + "url": "https://api.github.com/users/mrcjkb" + } } ], - "comments": 1, + "comments": 3, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/26859/comments", "created_at": "2024-01-02T21:09:44Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/26859/events", "html_url": "https://github.com/neovim/neovim/issues/26859", "id": 2062958797, "labels": [ - { - "color": "f9d0c4", - "default": true, - "description": "issues reporting wrong behavior", - "id": 77997474, - "name": "bug", - "node_id": "MDU6TGFiZWw3Nzk5NzQ3NA==", - "url": "https://api.github.com/repos/neovim/neovim/labels/bug" - }, { "color": "c5def5", "default": false, @@ -75,6 +154,15 @@ "name": "startup", "node_id": "MDU6TGFiZWw4NzA2Mjk0NTA=", "url": "https://api.github.com/repos/neovim/neovim/labels/startup" + }, + { + "color": "e6e6e6", + "default": false, + "description": "issues that are closed as duplicates of other issues", + "id": 3221613764, + "name": "closed:duplicate", + "node_id": "MDU6TGFiZWwzMjIxNjEzNzY0", + "url": "https://api.github.com/repos/neovim/neovim/labels/closed:duplicate" } ], "labels_url": "https://api.github.com/repos/neovim/neovim/issues/26859/labels{/name}", @@ -96,11 +184,11 @@ "url": "https://api.github.com/repos/neovim/neovim/issues/26859/reactions" }, "repository_url": "https://api.github.com/repos/neovim/neovim", - "state": "open", - "state_reason": null, + "state": "closed", + "state_reason": "completed", "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/26859/timeline", "title": "`syntax [enable|on]` leads to `start` filetype plugins on the `packpath` being sourced prematurely", - "updated_at": "2024-01-02T22:15:20Z", + "updated_at": "2024-02-03T22:07:53Z", "url": "https://api.github.com/repos/neovim/neovim/issues/26859", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/12857160?v=4", diff --git a/repositories/neovim/issues/26880.json b/repositories/neovim/issues/26880.json index 7d71710a..77582571 100644 --- a/repositories/neovim/issues/26880.json +++ b/repositories/neovim/issues/26880.json @@ -4,9 +4,274 @@ "assignees": [], "author_association": "NONE", "body": "### Problem\r\n\r\ntitlestring does not work under Windows 10 PowerShell 7.4.0 or cmd.exe\r\n\r\nvim\r\n![vim](https://github.com/neovim/neovim/assets/5151456/c28e92aa-8a90-44be-98f6-0770dcdcd27f)\r\n\r\nnvim\r\n![nvim](https://github.com/neovim/neovim/assets/5151456/f3c9bbaf-fc02-4c6f-b424-490aa0e55ab7)\r\n\r\n\r\n\r\n### Steps to reproduce\r\n\r\nset title\r\nauto BufEnter * let &titlestring = expand(\"%:p\")\r\nset titlestring=%<%F%=%l/%L-%P titlelen=70\r\n\r\n### Expected behavior\r\n\r\nshow `titlestring` correctly\r\n\r\n### Neovim version (nvim -v)\r\n\r\nNVIM v0.10.0-dev-bdfea2a\r\n\r\n### Vim (not Nvim) behaves the same?\r\n\r\nVim works with well , v9.1.0004\r\n\r\n### Operating system/version\r\n\r\nWindows 10\r\n\r\n### Terminal name/version\r\n\r\ncmd.exe or PowerShell 7.4.0\r\n\r\n### $TERM environment variable\r\n\r\n256color\r\n\r\n### Installation\r\n\r\nbuild from repo", - "closed_at": null, - "comment_data": [], - "comments": 0, + "closed_at": "2024-01-31T13:45:32Z", + "comment_data": [ + { + "author_association": "CONTRIBUTOR", + "body": "I believe this is a terminal issue, not Windows specific. Can anyone on Linux or Mac confirm?\r\nI checked that everything is working as expected until the call to `resettitle()` function.\r\n\r\nhttps://github.com/neovim/neovim/blob/4ffc20c9515294481486e81271a8edeeff203140/src/nvim/buffer.c#L3491-L3495\r\n\r\nBut `ui_call_set_icon()` and `ui_call_set_title()` are the ones that are not doing anything. If I understand correctly they just emit events that should be handled by whoever is embedding Neovim, right? But the terminal is not aware of that.", + "created_at": "2024-01-30T18:57:37Z", + "html_url": "https://github.com/neovim/neovim/issues/26880#issuecomment-1917694104", + "id": 1917694104, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26880", + "node_id": "IC_kwDOAPphoM5yTbCY", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917694104/reactions" + }, + "updated_at": "2024-01-30T21:59:19Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917694104", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/70452831?v=4", + "events_url": "https://api.github.com/users/lsvmello/events{/privacy}", + "followers_url": "https://api.github.com/users/lsvmello/followers", + "following_url": "https://api.github.com/users/lsvmello/following{/other_user}", + "gists_url": "https://api.github.com/users/lsvmello/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lsvmello", + "id": 70452831, + "login": "lsvmello", + "node_id": "MDQ6VXNlcjcwNDUyODMx", + "organizations_url": "https://api.github.com/users/lsvmello/orgs", + "received_events_url": "https://api.github.com/users/lsvmello/received_events", + "repos_url": "https://api.github.com/users/lsvmello/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lsvmello/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lsvmello/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lsvmello" + } + }, + { + "author_association": "MEMBER", + "body": "Does it work with Windows Terminal? https://github.com/microsoft/terminal\r\n\r\nNot sure if we still support titlestring for cmd.exe (aka \"console\").", + "created_at": "2024-01-31T00:09:02Z", + "html_url": "https://github.com/neovim/neovim/issues/26880#issuecomment-1918125248", + "id": 1918125248, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26880", + "node_id": "IC_kwDOAPphoM5yVETA", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918125248/reactions" + }, + "updated_at": "2024-01-31T00:09:02Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918125248", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "MEMBER", + "body": "`256color` doesn't look like a correct `$TERM` environment variable.", + "created_at": "2024-01-31T00:13:38Z", + "html_url": "https://github.com/neovim/neovim/issues/26880#issuecomment-1918130465", + "id": 1918130465, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26880", + "node_id": "IC_kwDOAPphoM5yVFkh", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918130465/reactions" + }, + "updated_at": "2024-01-31T00:13:38Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918130465", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "NONE", + "body": "> Does it work with Windows Terminal? https://github.com/microsoft/terminal\r\n> \r\n> Not sure if we still support titlestring for cmd.exe (aka \"console\").\r\n\r\nNo.\r\n\r\nFor PowerShell, https://github.com/neovim/neovim/issues/20706#issuecomment-1331168190 this workgroud works well.", + "created_at": "2024-01-31T04:52:19Z", + "html_url": "https://github.com/neovim/neovim/issues/26880#issuecomment-1918380612", + "id": 1918380612, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26880", + "node_id": "IC_kwDOAPphoM5yWCpE", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918380612/reactions" + }, + "updated_at": "2024-01-31T04:52:19Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918380612", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/5151456?v=4", + "events_url": "https://api.github.com/users/Passw/events{/privacy}", + "followers_url": "https://api.github.com/users/Passw/followers", + "following_url": "https://api.github.com/users/Passw/following{/other_user}", + "gists_url": "https://api.github.com/users/Passw/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Passw", + "id": 5151456, + "login": "Passw", + "node_id": "MDQ6VXNlcjUxNTE0NTY=", + "organizations_url": "https://api.github.com/users/Passw/orgs", + "received_events_url": "https://api.github.com/users/Passw/received_events", + "repos_url": "https://api.github.com/users/Passw/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Passw/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Passw/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Passw" + } + }, + { + "author_association": "MEMBER", + "body": "Can you try the artifact produced in https://github.com/zeertzjq/neovim/actions/runs/7719574557 and see if it works?", + "created_at": "2024-01-31T07:54:16Z", + "html_url": "https://github.com/neovim/neovim/issues/26880#issuecomment-1918569859", + "id": 1918569859, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26880", + "node_id": "IC_kwDOAPphoM5yWw2D", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918569859/reactions" + }, + "updated_at": "2024-01-31T07:54:16Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918569859", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "NONE", + "body": "\r\n- [x] click nvim.exe \r\n- [x] run nvim.exe from PowerShell\r\n- [x] run nvim.exe from cmd\r\n- [x] run nvim.exe from PowerShell in Windows Termial\r\n- [x] run nvim.exe from cmd in Windows Termial\r\n\r\nAll these scenarios can show titlestring correctly.", + "created_at": "2024-01-31T10:59:48Z", + "html_url": "https://github.com/neovim/neovim/issues/26880#issuecomment-1918875537", + "id": 1918875537, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26880", + "node_id": "IC_kwDOAPphoM5yX7eR", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918875537/reactions" + }, + "updated_at": "2024-01-31T10:59:48Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918875537", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/5151456?v=4", + "events_url": "https://api.github.com/users/Passw/events{/privacy}", + "followers_url": "https://api.github.com/users/Passw/followers", + "following_url": "https://api.github.com/users/Passw/following{/other_user}", + "gists_url": "https://api.github.com/users/Passw/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Passw", + "id": 5151456, + "login": "Passw", + "node_id": "MDQ6VXNlcjUxNTE0NTY=", + "organizations_url": "https://api.github.com/users/Passw/orgs", + "received_events_url": "https://api.github.com/users/Passw/received_events", + "repos_url": "https://api.github.com/users/Passw/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Passw/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Passw/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Passw" + } + } + ], + "comments": 6, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/26880/comments", "created_at": "2024-01-04T09:14:32Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/26880/events", @@ -30,6 +295,15 @@ "name": "platform:windows", "node_id": "MDU6TGFiZWwxMDk0NjEyMTk=", "url": "https://api.github.com/repos/neovim/neovim/labels/platform:windows" + }, + { + "color": "c5def5", + "default": false, + "description": "", + "id": 197254545, + "name": "tui", + "node_id": "MDU6TGFiZWwxOTcyNTQ1NDU=", + "url": "https://api.github.com/repos/neovim/neovim/labels/tui" } ], "labels_url": "https://api.github.com/repos/neovim/neovim/issues/26880/labels{/name}", @@ -51,11 +325,11 @@ "url": "https://api.github.com/repos/neovim/neovim/issues/26880/reactions" }, "repository_url": "https://api.github.com/repos/neovim/neovim", - "state": "open", - "state_reason": null, + "state": "closed", + "state_reason": "completed", "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/26880/timeline", - "title": "titlestring does not work under Windows", - "updated_at": "2024-01-04T10:28:44Z", + "title": "Windows: titlestring does not work in cmd.exe", + "updated_at": "2024-01-31T13:45:32Z", "url": "https://api.github.com/repos/neovim/neovim/issues/26880", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/5151456?v=4", diff --git a/repositories/neovim/issues/26980.json b/repositories/neovim/issues/26980.json index 66b259fc..9210cfc5 100644 --- a/repositories/neovim/issues/26980.json +++ b/repositories/neovim/issues/26980.json @@ -93,9 +93,97 @@ "type": "User", "url": "https://api.github.com/users/tim-harding" } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Since this is currently one of the most critical bugs in Neovide, I have been investigating this a bit more. \r\n\r\nAnd it looks like the cause is \"by design\", while the actual hang is a bug, but I have not investigated that yet.\r\n\r\nThe issue is that extmarks are not deleted by default when lines are deleted, and therefore all of the extmarks and highligts get moved into a single cell when the lines are deleted.\r\n\r\nThis can be demonstrated by adding the following test to `hlstate_spec.lua`\r\n
combines deleted extmark highlights\r\n\r\n```lua\r\n it('combines deleted extmark highlights', function()\r\n insert([[\r\n line1\r\n line2\r\n line3\r\n line4\r\n line5\r\n line6]])\r\n\r\n screen:expect{grid=[[\r\n line1 |\r\n line2 |\r\n line3 |\r\n line4 |\r\n line5 |\r\n line^6 |\r\n {1:~ }|\r\n {2: }|\r\n ]], attr_ids={\r\n [1] = {{foreground = Screen.colors.Blue, bold = true}, {{ui_name = \"EndOfBuffer\", hi_name = \"NonText\", kind = \"ui\"}}\r\n };\r\n [2] = {{}, {{ui_name = \"MsgArea\", hi_name = \"MsgArea\", kind = \"ui\"}}};\r\n }}\r\n\r\n local ns = api.nvim_create_namespace('test')\r\n\r\n local add_indicator = function(line, col)\r\n api.nvim_buf_set_extmark(0, ns, line, col, {\r\n hl_mode = 'combine',\r\n priority = 2,\r\n right_gravity = false,\r\n virt_text = {{\"|\", \"Delimiter\"}},\r\n virt_text_win_col = 0,\r\n virt_text_pos = 'overlay',\r\n })\r\n end\r\n\r\n add_indicator(1, 0)\r\n add_indicator(2, 0)\r\n add_indicator(3, 0)\r\n add_indicator(4, 0)\r\n\r\n screen:expect{grid=[[\r\n line1 |\r\n {1:|} line2 |\r\n {1:|} line3 |\r\n {1:|} line4 |\r\n {1:|} line5 |\r\n line^6 |\r\n {2:~ }|\r\n {3: }|\r\n ]], attr_ids={\r\n [1] = {{foreground = Screen.colors.SlateBlue}, {{hi_name = \"Special\", kind = \"syntax\"}}};\r\n [2] = {{bold = true, foreground = Screen.colors.Blue}, {{ui_name = \"EndOfBuffer\", kind = \"ui\", hi_name = \"NonText\"}}\r\n };\r\n [3] = {{}, {{ui_name = \"MsgArea\", kind = \"ui\", hi_name = \"MsgArea\"}}};\r\n }}\r\n\r\n helpers.feed('3ggV2jd')\r\n --screen:redraw_debug()\r\n screen:expect{grid=[[\r\n line1 |\r\n {1:|} line2 |\r\n {2:^|}ine6 |\r\n {3:~ }|*4\r\n {4:3 fewer lines }|\r\n ]], attr_ids={\r\n [1] = {{foreground = Screen.colors.SlateBlue}, {{kind = \"syntax\", hi_name = \"Special\"}}};\r\n [2] = {{foreground = Screen.colors.SlateBlue}, {1, 1, 1}};\r\n [3] = {{bold = true, foreground = Screen.colors.Blue}, {{kind = \"ui\", ui_name = \"EndOfBuffer\", hi_name = \"NonText\"}}\r\n };\r\n [4] = {{}, {{kind = \"ui\", ui_name = \"MsgArea\", hi_name = \"MsgArea\"}}};\r\n }}\r\n end)\r\n```\r\n
\r\n\r\nAs can see by ` [2] = {{foreground = Screen.colors.SlateBlue}, {1, 1, 1}};`, all the three lines have been put into the same info array, just like the documentation says:\r\n> Deleting all surrounding text does NOT remove an extmark! To remove extmarks\r\nuse |nvim_buf_del_extmark()|. Deleting \"x\" in our example: \r\n\r\nThe tests uses a more compact representation than the actual messages that are sent though, if you uncomment the `-screen:redraw_debug()` line, you see the following, which is rather wasteful. \r\n
redraw debug output\r\n\r\n```lua\r\n{ \"hl_attr_define\", { 146, {\r\n foreground = 6970061,\r\n = <1>{\r\n __tostring = \r\n }\r\n }, {\r\n foreground = 5,\r\n = \r\n }, { {\r\n hi_name = \"Special\",\r\n id = 49,\r\n kind = \"syntax\",\r\n =
\r\n }, {\r\n hi_name = \"Special\",\r\n id = 49,\r\n kind = \"syntax\",\r\n =
\r\n } } }, { 147, {\r\n foreground = 6970061,\r\n =
\r\n }, {\r\n foreground = 5,\r\n =
\r\n }, { {\r\n hi_name = \"Special\",\r\n id = 49,\r\n kind = \"syntax\",\r\n =
\r\n }, {\r\n hi_name = \"Special\",\r\n id = 49,\r\n kind = \"syntax\",\r\n =
\r\n }, {\r\n hi_name = \"Special\",\r\n id = 49,\r\n kind = \"syntax\",\r\n =
\r\n } } } }\r\n```\r\n\r\nNote, that it does this for each line that is combined and creates a new id. Here we have `146` with two `Special` elements and then `147` with 3 elements, so each line deleted will cause a new message to be sent. Delaying the sending of `hl_attr_define` until flush, and sending only the used ids, would clean up a little bit of this duplication. And sending just a list of ids `49` in this case, and the definition separately would reduce the amount of data a lot. \r\n\r\nPersonally, I don't see a use case for sending the whole list to the UI though, it should be enough to only send the contributing elements. In the case of `blend`, then the whole list would have to be sent though. But on the other hand, the `blend` information is not sent, so there's no way for UIs to take advantage of the information.\r\n\r\nActually, I'm not sure if any of this is that useful at all for UI. Yes, we used it as a hack to achieve smooth scrolling in Neovide with, but that should be achieved another way.\r\n* https://github.com/neovim/neovim/issues/23610\r\n\r\nFurthermore, the info table follows the links, so it reports the final calculated highlight group, rather than the actual name of the semantic highlight group you probably want to know about. So, in this case I specified `Delimiter` in the code, but it reports `Special` due to the linked highlight groups. We had to work around that in Neovide by removing the links, so that it reports `Winbar` or `FloatBorder` for example instead.\r\n\r\nSo, all in all, I think we need to completely re-think the message and deprecate this, and make sure that it's actually usable for what it's supposed to do. Maybe we need a new type of semantic information field or something that is not affected by the color scheme? That could be used for a lot of different things, drawing some elements in a more native style, cursor hover shapes, proper implementation of the smooth scrolling and so on.\r\n\r\nFor now, I will try to fix the crash, and then I will move on to add a message that provides that information. Just for a few hardcoded areas, like borders, titles, winbars, splits for now, to allow us to remove the usage of `ext_highlight` and fix https://github.com/neovim/neovim/issues/23610\r\n\r\nBTW, Using the `invalidate` property that was added to the nightly build also fixes the issue, if the plugin is updated to use that. And I also don't think that plugins like `indent_blankline.nvim` or `mini.indentscope` should need create that huge number of highlights, they only really need to highlight the current window views, not the whole buffer, and update it as the view is scrolled.\r\n
Here's a test demonstrating the behaviour with `invalidate`\r\n\r\n```lua\r\n it('removes deleted extmark highlights with invalidate', function()\r\n insert([[\r\n line1\r\n line2\r\n line3\r\n line4\r\n line5\r\n line6]])\r\n\r\n screen:expect{grid=[[\r\n line1 |\r\n line2 |\r\n line3 |\r\n line4 |\r\n line5 |\r\n line^6 |\r\n {1:~ }|\r\n {2: }|\r\n ]], attr_ids={\r\n [1] = {{foreground = Screen.colors.Blue, bold = true}, {{ui_name = \"EndOfBuffer\", hi_name = \"NonText\", kind = \"ui\"}}\r\n };\r\n [2] = {{}, {{ui_name = \"MsgArea\", hi_name = \"MsgArea\", kind = \"ui\"}}};\r\n }}\r\n\r\n local ns = api.nvim_create_namespace('test')\r\n\r\n local add_indicator = function(line, col)\r\n api.nvim_buf_set_extmark(0, ns, line, col, {\r\n hl_mode = 'combine',\r\n priority = 2,\r\n right_gravity = false,\r\n virt_text = {{\"|\", \"Delimiter\"}},\r\n virt_text_win_col = 0,\r\n virt_text_pos = 'overlay',\r\n invalidate = true,\r\n })\r\n end\r\n\r\n add_indicator(1, 0)\r\n add_indicator(2, 0)\r\n add_indicator(3, 0)\r\n add_indicator(4, 0)\r\n\r\n screen:expect{grid=[[\r\n line1 |\r\n {1:|} line2 |\r\n {1:|} line3 |\r\n {1:|} line4 |\r\n {1:|} line5 |\r\n line^6 |\r\n {2:~ }|\r\n {3: }|\r\n ]], attr_ids={\r\n [1] = {{foreground = Screen.colors.SlateBlue}, {{hi_name = \"Special\", kind = \"syntax\"}}};\r\n [2] = {{bold = true, foreground = Screen.colors.Blue}, {{ui_name = \"EndOfBuffer\", kind = \"ui\", hi_name = \"NonText\"}}\r\n };\r\n [3] = {{}, {{ui_name = \"MsgArea\", kind = \"ui\", hi_name = \"MsgArea\"}}};\r\n }}\r\n\r\n helpers.feed('3ggV2jd')\r\n --screen:redraw_debug()\r\n screen:expect{grid=[[\r\n line1 |\r\n {1:|} line2 |\r\n ^line6 |\r\n {2:~ }|*4\r\n {3:3 fewer lines }|\r\n ]], attr_ids={\r\n [1] = {{foreground = Screen.colors.SlateBlue}, {{kind = \"syntax\", hi_name = \"Special\"}}};\r\n [2] = {{foreground = Screen.colors.Blue, bold = true}, {{kind = \"ui\", ui_name = \"EndOfBuffer\", hi_name = \"NonText\"}}\r\n };\r\n [3] = {{}, {{kind = \"ui\", ui_name = \"MsgArea\", hi_name = \"MsgArea\"}}};\r\n }}\r\n end)\r\n```\r\n
", + "created_at": "2024-02-04T13:13:18Z", + "html_url": "https://github.com/neovim/neovim/issues/26980#issuecomment-1925745466", + "id": 1925745466, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26980", + "node_id": "IC_kwDOAPphoM5yyIs6", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925745466/reactions" + }, + "updated_at": "2024-02-04T13:13:18Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925745466", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9946255?v=4", + "events_url": "https://api.github.com/users/fredizzimo/events{/privacy}", + "followers_url": "https://api.github.com/users/fredizzimo/followers", + "following_url": "https://api.github.com/users/fredizzimo/following{/other_user}", + "gists_url": "https://api.github.com/users/fredizzimo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/fredizzimo", + "id": 9946255, + "login": "fredizzimo", + "node_id": "MDQ6VXNlcjk5NDYyNTU=", + "organizations_url": "https://api.github.com/users/fredizzimo/orgs", + "received_events_url": "https://api.github.com/users/fredizzimo/received_events", + "repos_url": "https://api.github.com/users/fredizzimo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/fredizzimo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/fredizzimo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/fredizzimo" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "For the information here's a test that fails with either\r\n`Uncaught Error: test/client/msgpack_rpc_stream.lua:78: invalid msgpack-rpc string` or \r\n`test/functional/ui/hlstate_spec.lua:514: no flush received`\r\n\r\n
does not hang when combining too many highlights\r\n\r\n```lua\r\n it('does not hang when combining too many highlights', function()\r\n local num_lines = 100\r\n insert('first line\\n')\r\n for _ = 1, num_lines do\r\n insert([[\r\n line\r\n ]])\r\n end\r\n insert('last line')\r\n\r\n helpers.feed('gg')\r\n screen:expect{grid=[[\r\n ^first line |\r\n line |*6\r\n {1: }|\r\n ]], attr_ids={\r\n [1] = {{}, {{kind = \"ui\", hi_name = \"MsgArea\", ui_name = \"MsgArea\"}}};\r\n }}\r\n local ns = api.nvim_create_namespace('test')\r\n\r\n local add_indicator = function(line, col)\r\n api.nvim_buf_set_extmark(0, ns, line, col, {\r\n hl_mode = 'combine',\r\n priority = 2,\r\n right_gravity = false,\r\n virt_text = {{\"|\", \"Delimiter\"}},\r\n virt_text_win_col = 0,\r\n virt_text_pos = 'overlay',\r\n })\r\n end\r\n\r\n for i=1, num_lines do\r\n add_indicator(i, 0)\r\n end\r\n\r\n screen:expect{grid=[[\r\n ^first line |\r\n {1:|} line |*6\r\n {2: }|\r\n ]], attr_ids={\r\n [1] = {{foreground = Screen.colors.SlateBlue}, {{kind = \"syntax\", hi_name = \"Special\"}}};\r\n [2] = {{}, {{kind = \"ui\", ui_name = \"MsgArea\", hi_name = \"MsgArea\"}}};\r\n }}\r\n\r\n helpers.feed(string.format('3ggV%ijd', num_lines-2))\r\n --screen:redraw_debug()\r\n\r\n local expected_ids = {}\r\n for i = 1, num_lines - 1 do\r\n expected_ids[i] = 1\r\n end\r\n screen:expect{grid=string.format([[\r\n first line |\r\n {1:|} line |\r\n {2:^|}ast line |\r\n {3:~ }|*4\r\n {4:%-40s}|\r\n ]], tostring(num_lines - 1) .. \" fewer lines\"),\r\n attr_ids={\r\n [1] = {{foreground = Screen.colors.SlateBlue}, {{kind = \"syntax\", hi_name = \"Special\"}}};\r\n [2] = {{foreground = Screen.colors.SlateBlue}, expected_ids};\r\n [3] = {{foreground = Screen.colors.Blue, bold = true}, {{kind = \"ui\", hi_name = \"NonText\", ui_name = \"EndOfBuffer\"}}\r\n };\r\n [4] = {{}, {{kind = \"ui\", hi_name = \"MsgArea\", ui_name = \"MsgArea\"}}};\r\n }}\r\n end)\r\nend)\r\n```\r\n\r\n
", + "created_at": "2024-02-04T14:58:03Z", + "html_url": "https://github.com/neovim/neovim/issues/26980#issuecomment-1925784614", + "id": 1925784614, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26980", + "node_id": "IC_kwDOAPphoM5yySQm", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925784614/reactions" + }, + "updated_at": "2024-02-04T14:58:03Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925784614", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9946255?v=4", + "events_url": "https://api.github.com/users/fredizzimo/events{/privacy}", + "followers_url": "https://api.github.com/users/fredizzimo/followers", + "following_url": "https://api.github.com/users/fredizzimo/following{/other_user}", + "gists_url": "https://api.github.com/users/fredizzimo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/fredizzimo", + "id": 9946255, + "login": "fredizzimo", + "node_id": "MDQ6VXNlcjk5NDYyNTU=", + "organizations_url": "https://api.github.com/users/fredizzimo/orgs", + "received_events_url": "https://api.github.com/users/fredizzimo/received_events", + "repos_url": "https://api.github.com/users/fredizzimo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/fredizzimo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/fredizzimo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/fredizzimo" + } } ], - "comments": 2, + "comments": 4, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/26980/comments", "created_at": "2024-01-10T16:37:55Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/26980/events", @@ -125,9 +213,9 @@ "default": false, "description": "UI extensibility, events, protocol", "id": 640132777, - "name": "ui-ext", + "name": "ui-extensibility", "node_id": "MDU6TGFiZWw2NDAxMzI3Nzc=", - "url": "https://api.github.com/repos/neovim/neovim/labels/ui-ext" + "url": "https://api.github.com/repos/neovim/neovim/labels/ui-extensibility" }, { "color": "c5def5", @@ -146,7 +234,7 @@ "number": 26980, "performed_via_github_app": null, "reactions": { - "+1": 0, + "+1": 2, "-1": 0, "confused": 0, "eyes": 1, @@ -154,7 +242,7 @@ "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 1, + "total_count": 3, "url": "https://api.github.com/repos/neovim/neovim/issues/26980/reactions" }, "repository_url": "https://api.github.com/repos/neovim/neovim", @@ -162,7 +250,7 @@ "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/26980/timeline", "title": "Repeated `ext_hlstate` and missing ui flush when deleting lines", - "updated_at": "2024-01-16T04:34:35Z", + "updated_at": "2024-02-04T14:58:05Z", "url": "https://api.github.com/repos/neovim/neovim/issues/26980", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/9946255?v=4", diff --git a/repositories/neovim/issues/27004.json b/repositories/neovim/issues/27004.json index c2b4d322..6a324fde 100644 --- a/repositories/neovim/issues/27004.json +++ b/repositories/neovim/issues/27004.json @@ -5,8 +5,361 @@ "author_association": "MEMBER", "body": "### Problem\n\nWriting test code requires some \"tribal knowledge\" that requires the test author to understand which \"helper\" functions are dispatched to the `nvim` _test instance_ (the \"[SUT](https://en.wikipedia.org/wiki/System_under_test)\") and which functions are handled in the context of the _test runner_.\r\n\r\nContributors must constantly be aware of the difference. Reading and writing tests can be confusing because of this, especially to non-experienced contributors.\r\n\r\n\n\n### Expected behavior\n\nMake the distinction clear by either extracting SUT functions to `test/sut.lua` or grouping them in a `sut` container.\r\n\r\n1. When using SUT functions in test code, the usage looks like:\r\n ```lua\r\n sut.api.nvim_get_commands() -- instead of helpers.api.nvim_get_commands\r\n sut.fn.foo() -- instead of helpers.fn.foo()\r\n ```\r\n - **Open question:** should `sut` should be a mirror of the nvim test-instance's Lua stdlib? I.e. all `sut.xx()` calls just dispatch to the Nvim test-instance's `vim.xx()` ?\r\n2. Rename `helpers.lua` to `testutil.lua` and change the import convention to:\r\n ```\r\n local t = require('testutil')\r\n ...\r\n t.foo()\r\n t.bar()\r\n ```\r\n - Thus there is no need anymore to do this:\r\n ```\r\n local helpers = require('testutil')\r\n local foo = helpers.foo\r\n local bar = helpers.bar\r\n ```\r\n - Test code can simply use `t.xx()` everywhere to call non-SUT test util functions.", "closed_at": null, - "comment_data": [], - "comments": 0, + "comment_data": [ + { + "author_association": "NONE", + "body": "I'm picking this as my first Neovim contribution.. pretty excited! \r\n\r\nI'm starting with the second point regarding the renaming, that seems to me the most straight forward part, so I become familiar with the test suite.", + "created_at": "2024-02-03T08:35:46Z", + "html_url": "https://github.com/neovim/neovim/issues/27004#issuecomment-1925217718", + "id": 1925217718, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27004", + "node_id": "IC_kwDOAPphoM5ywH22", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925217718/reactions" + }, + "updated_at": "2024-02-03T08:35:46Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925217718", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1685489?v=4", + "events_url": "https://api.github.com/users/dsaenztagarro/events{/privacy}", + "followers_url": "https://api.github.com/users/dsaenztagarro/followers", + "following_url": "https://api.github.com/users/dsaenztagarro/following{/other_user}", + "gists_url": "https://api.github.com/users/dsaenztagarro/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dsaenztagarro", + "id": 1685489, + "login": "dsaenztagarro", + "node_id": "MDQ6VXNlcjE2ODU0ODk=", + "organizations_url": "https://api.github.com/users/dsaenztagarro/orgs", + "received_events_url": "https://api.github.com/users/dsaenztagarro/received_events", + "repos_url": "https://api.github.com/users/dsaenztagarro/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dsaenztagarro/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dsaenztagarro/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dsaenztagarro" + } + }, + { + "author_association": "NONE", + "body": "**Quick updatetm:** as a first step, before applying any change, I'm trying to run the specs suite without any errors, but after checking the [test/README.md](https://github.com/neovim/neovim/blob/master/test/README.md) and the [BUILD.md](https://github.com/neovim/neovim/blob/master/BUILD.md#build-prerequisites) guidelines, I'm still getting this trace error when running a simple unit spec:\r\n\r\n
See unittest error trace\r\n\r\n```bash\r\n❯ BUSTED_ARGS='--no-keep-going' TEST_FILE='test/unit/buffer_spec.lua' make unittest\r\n\r\nmkdir -p build\r\ntouch build/.ran-deps-cmake\r\nninja -C .deps\r\nninja: Entering directory `.deps'\r\nninja: no work to do.\r\ncmake --build build --target unittest\r\n[0/2] Re-checking globbed directories...\r\n[2/3] cd /Users/dsaenz/Code/neovim/build/test && /opt/homebrew/Cellar/cmake/3.28.2/bin/cmake -D TEST_TYPE=unit -D ...dsaenz/Code/neovim/test -D WORKING_DIR=/Users/dsaenz/Code/neovim -P /Users/dsaenz/Code/neovim/cmake/RunTests.cmake\r\n-------- Global test environment setup.\r\n-------- Running tests from test/unit/buffer_spec.lua\r\nRUN buffer functions buf_valid should view NULL as an invalid buffer: 12.00 ms ERR\r\ntest/unit/helpers.lua:754: test/unit/helpers.lua:738: (string) '\r\ntest/unit/helpers.lua:268: '' expected near ':' at line 671'\r\nexit code: 256\r\n\r\nstack traceback:\r\n test/unit/helpers.lua:754: in function 'itp_parent'\r\n test/unit/helpers.lua:792: in function \r\n\r\n-------- 1 test from test/unit/buffer_spec.lua (166.00 ms total)\r\n\r\n-------- Global test environment teardown.\r\n======== 1 test from 1 test file ran. (166.00 ms total)\r\nPASSED 0 tests.\r\nERROR 1 error, listed below:\r\nERROR test/unit/helpers.lua @ 782: buffer functions buf_valid should view NULL as an invalid buffer\r\ntest/unit/helpers.lua:754: test/unit/helpers.lua:738: (string) '\r\ntest/unit/helpers.lua:268: '' expected near ':' at line 671'\r\nexit code: 256\r\n\r\nstack traceback:\r\n test/unit/helpers.lua:754: in function 'itp_parent'\r\n test/unit/helpers.lua:792: in function \r\n\r\n\r\n 1 ERROR\r\n------------------------------------------------------------------------------\r\n$NVIM_LOG_FILE: /Users/dsaenz/Code/neovim/build/.nvimlog\r\n(empty)\r\n------------------------------------------------------------------------------\r\n-- Tests exited non-zero: 1\r\n-- Output to stderr:\r\nE5113: Error while calling lua chunk:\r\n\r\nCMake Error at /Users/dsaenz/Code/neovim/cmake/RunTests.cmake:102 (message):\r\n unit tests failed with error: 1\r\n\r\n\r\nFAILED: test/CMakeFiles/unittest /Users/dsaenz/Code/neovim/build/test/CMakeFiles/unittest\r\ncd /Users/dsaenz/Code/neovim/build/test && /opt/homebrew/Cellar/cmake/3.28.2/bin/cmake -D TEST_TYPE=unit -D BUILD_DIR=/Users/dsaenz/Code/neovim/build -D CIRRUS_CI= -D CI_BUILD=OFF -D DEPS_INSTALL_DIR=/Users/dsaenz/Code/neovim/build/usr -D NVIM_PRG=/Users/dsaenz/Code/neovim/build/bin/nvim -D TEST_DIR=/Users/dsaenz/Code/neovim/test -D WORKING_DIR=/Users/dsaenz/Code/neovim -P /Users/dsaenz/Code/neovim/cmake/RunTests.cmake\r\nninja: build stopped: subcommand failed.\r\nmake: *** [unittest] Error 1\r\n```\r\n
\r\n\r\nAny clue from the very experts here would be well appreciated", + "created_at": "2024-02-03T10:13:50Z", + "html_url": "https://github.com/neovim/neovim/issues/27004#issuecomment-1925255029", + "id": 1925255029, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27004", + "node_id": "IC_kwDOAPphoM5ywQ91", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925255029/reactions" + }, + "updated_at": "2024-02-03T10:29:09Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925255029", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1685489?v=4", + "events_url": "https://api.github.com/users/dsaenztagarro/events{/privacy}", + "followers_url": "https://api.github.com/users/dsaenztagarro/followers", + "following_url": "https://api.github.com/users/dsaenztagarro/following{/other_user}", + "gists_url": "https://api.github.com/users/dsaenztagarro/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dsaenztagarro", + "id": 1685489, + "login": "dsaenztagarro", + "node_id": "MDQ6VXNlcjE2ODU0ODk=", + "organizations_url": "https://api.github.com/users/dsaenztagarro/orgs", + "received_events_url": "https://api.github.com/users/dsaenztagarro/received_events", + "repos_url": "https://api.github.com/users/dsaenztagarro/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dsaenztagarro/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dsaenztagarro/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dsaenztagarro" + } + }, + { + "author_association": "MEMBER", + "body": "you're on an M1 mac, aren't you? unittests don't work on ARM.", + "created_at": "2024-02-03T10:16:06Z", + "html_url": "https://github.com/neovim/neovim/issues/27004#issuecomment-1925255568", + "id": 1925255568, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27004", + "node_id": "IC_kwDOAPphoM5ywRGQ", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925255568/reactions" + }, + "updated_at": "2024-02-03T10:29:14Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925255568", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "NONE", + "body": "Quick investigation on the backlog, my issue it seems related with #26145, since I'm using a Macbook with a M1 Pro processor.\r\n\r\nI will try to continue from my backup laptop with x86 processor, and let's see..", + "created_at": "2024-02-03T10:25:24Z", + "html_url": "https://github.com/neovim/neovim/issues/27004#issuecomment-1925257547", + "id": 1925257547, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27004", + "node_id": "IC_kwDOAPphoM5ywRlL", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925257547/reactions" + }, + "updated_at": "2024-02-03T10:29:19Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925257547", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1685489?v=4", + "events_url": "https://api.github.com/users/dsaenztagarro/events{/privacy}", + "followers_url": "https://api.github.com/users/dsaenztagarro/followers", + "following_url": "https://api.github.com/users/dsaenztagarro/following{/other_user}", + "gists_url": "https://api.github.com/users/dsaenztagarro/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dsaenztagarro", + "id": 1685489, + "login": "dsaenztagarro", + "node_id": "MDQ6VXNlcjE2ODU0ODk=", + "organizations_url": "https://api.github.com/users/dsaenztagarro/orgs", + "received_events_url": "https://api.github.com/users/dsaenztagarro/received_events", + "repos_url": "https://api.github.com/users/dsaenztagarro/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dsaenztagarro/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dsaenztagarro/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dsaenztagarro" + } + }, + { + "author_association": "NONE", + "body": "@clason ups! I just read your comment, thanks in any case 🤗 . Keep you posted with results on my backup laptop.", + "created_at": "2024-02-03T10:27:13Z", + "html_url": "https://github.com/neovim/neovim/issues/27004#issuecomment-1925257898", + "id": 1925257898, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27004", + "node_id": "IC_kwDOAPphoM5ywRqq", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925257898/reactions" + }, + "updated_at": "2024-02-03T10:29:24Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925257898", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1685489?v=4", + "events_url": "https://api.github.com/users/dsaenztagarro/events{/privacy}", + "followers_url": "https://api.github.com/users/dsaenztagarro/followers", + "following_url": "https://api.github.com/users/dsaenztagarro/following{/other_user}", + "gists_url": "https://api.github.com/users/dsaenztagarro/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dsaenztagarro", + "id": 1685489, + "login": "dsaenztagarro", + "node_id": "MDQ6VXNlcjE2ODU0ODk=", + "organizations_url": "https://api.github.com/users/dsaenztagarro/orgs", + "received_events_url": "https://api.github.com/users/dsaenztagarro/received_events", + "repos_url": "https://api.github.com/users/dsaenztagarro/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dsaenztagarro/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dsaenztagarro/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dsaenztagarro" + } + }, + { + "author_association": "MEMBER", + "body": "Maybe start with functionaltests instead; unittests are an advanced topic.\r\n\r\n\r\nand feel free to ask on https://matrix.to/#/#neovim-dev:matrix.org; that's better than littering this issue with tangential comments.", + "created_at": "2024-02-03T10:28:23Z", + "html_url": "https://github.com/neovim/neovim/issues/27004#issuecomment-1925258114", + "id": 1925258114, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27004", + "node_id": "IC_kwDOAPphoM5ywRuC", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925258114/reactions" + }, + "updated_at": "2024-02-03T10:29:29Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925258114", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "NONE", + "body": "I was finally able to run both unit and functional specs with success so starting now with the proper work.\r\n\r\n@clason sorry for the noise, I will keep in mind your suggestions for the future.", + "created_at": "2024-02-03T10:58:46Z", + "html_url": "https://github.com/neovim/neovim/issues/27004#issuecomment-1925277626", + "id": 1925277626, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27004", + "node_id": "IC_kwDOAPphoM5ywWe6", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925277626/reactions" + }, + "updated_at": "2024-02-03T10:59:29Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925277626", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1685489?v=4", + "events_url": "https://api.github.com/users/dsaenztagarro/events{/privacy}", + "followers_url": "https://api.github.com/users/dsaenztagarro/followers", + "following_url": "https://api.github.com/users/dsaenztagarro/following{/other_user}", + "gists_url": "https://api.github.com/users/dsaenztagarro/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dsaenztagarro", + "id": 1685489, + "login": "dsaenztagarro", + "node_id": "MDQ6VXNlcjE2ODU0ODk=", + "organizations_url": "https://api.github.com/users/dsaenztagarro/orgs", + "received_events_url": "https://api.github.com/users/dsaenztagarro/received_events", + "repos_url": "https://api.github.com/users/dsaenztagarro/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dsaenztagarro/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dsaenztagarro/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dsaenztagarro" + } + }, + { + "author_association": "MEMBER", + "body": "> `sut.api.nvim_get_commands() -- instead of helpers.api.nvim_get_commands`\r\n`sut.fn.foo() -- instead of helpers.fn.foo()`\r\n\r\n@justinmk umm, why? It just looks like a random name-change to me.", + "created_at": "2024-02-03T18:47:41Z", + "html_url": "https://github.com/neovim/neovim/issues/27004#issuecomment-1925426863", + "id": 1925426863, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27004", + "node_id": "IC_kwDOAPphoM5yw66v", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925426863/reactions" + }, + "updated_at": "2024-02-03T18:47:41Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925426863", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + } + } + ], + "comments": 8, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27004/comments", "created_at": "2024-01-13T15:34:24Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/27004/events", @@ -39,22 +392,13 @@ "name": "test", "node_id": "MDU6TGFiZWwxMTA0MTg2NDM=", "url": "https://api.github.com/repos/neovim/neovim/labels/test" - }, - { - "color": "BFDADC", - "default": false, - "description": "Low-risk. Do NOT ask \"can I work on this\", just read CONTRIBUTING.md", - "id": 407246773, - "name": "complexity:low", - "node_id": "MDU6TGFiZWw0MDcyNDY3NzM=", - "url": "https://api.github.com/repos/neovim/neovim/labels/complexity:low" } ], "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27004/labels{/name}", "locked": false, "milestone": { "closed_at": null, - "closed_issues": 596, + "closed_issues": 599, "created_at": "2014-05-10T20:43:04Z", "creator": { "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", @@ -83,25 +427,25 @@ "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/6/labels", "node_id": "MDk6TWlsZXN0b25lNjU1MDM3", "number": 6, - "open_issues": 425, + "open_issues": 424, "state": "open", "title": "backlog", - "updated_at": "2024-01-15T20:32:33Z", + "updated_at": "2024-02-05T01:01:45Z", "url": "https://api.github.com/repos/neovim/neovim/milestones/6" }, "node_id": "I_kwDOAPphoM57_5k1", "number": 27004, "performed_via_github_app": null, "reactions": { - "+1": 1, + "+1": 3, "-1": 0, "confused": 0, "eyes": 0, - "heart": 1, + "heart": 2, "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 2, + "total_count": 5, "url": "https://api.github.com/repos/neovim/neovim/issues/27004/reactions" }, "repository_url": "https://api.github.com/repos/neovim/neovim", @@ -109,7 +453,7 @@ "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27004/timeline", "title": "tests: improve test conventions (SUT, helpers.lua)", - "updated_at": "2024-01-13T15:34:49Z", + "updated_at": "2024-02-03T18:47:42Z", "url": "https://api.github.com/repos/neovim/neovim/issues/27004", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", diff --git a/repositories/neovim/issues/27046.json b/repositories/neovim/issues/27046.json index 62cc9abd..13368457 100644 --- a/repositories/neovim/issues/27046.json +++ b/repositories/neovim/issues/27046.json @@ -577,15 +577,68 @@ "type": "User", "url": "https://api.github.com/users/Armadillidiid" } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Today I got this failure on master before merging #27122. Let's observe nvim with that fix for some time. ", + "created_at": "2024-02-01T18:48:00Z", + "html_url": "https://github.com/neovim/neovim/issues/27046#issuecomment-1921997101", + "id": 1921997101, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27046", + "node_id": "IC_kwDOAPphoM5yj1kt", + "performed_via_github_app": null, + "reactions": { + "+1": 2, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 2, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921997101/reactions" + }, + "updated_at": "2024-02-01T18:48:00Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921997101", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/11404453?v=4", + "events_url": "https://api.github.com/users/przepompownia/events{/privacy}", + "followers_url": "https://api.github.com/users/przepompownia/followers", + "following_url": "https://api.github.com/users/przepompownia/following{/other_user}", + "gists_url": "https://api.github.com/users/przepompownia/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/przepompownia", + "id": 11404453, + "login": "przepompownia", + "node_id": "MDQ6VXNlcjExNDA0NDUz", + "organizations_url": "https://api.github.com/users/przepompownia/orgs", + "received_events_url": "https://api.github.com/users/przepompownia/received_events", + "repos_url": "https://api.github.com/users/przepompownia/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/przepompownia/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/przepompownia/subscriptions", + "type": "User", + "url": "https://api.github.com/users/przepompownia" + } } ], - "comments": 13, + "comments": 14, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27046/comments", "created_at": "2024-01-16T16:50:20Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/27046/events", "html_url": "https://github.com/neovim/neovim/issues/27046", "id": 2084427221, "labels": [ + { + "color": "FBCA04", + "default": false, + "description": "waiting for reply from the author", + "id": 248229439, + "name": "needs:response", + "node_id": "MDU6TGFiZWwyNDgyMjk0Mzk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/needs:response" + }, { "color": "FBCA04", "default": false, @@ -646,7 +699,7 @@ "state_reason": "reopened", "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27046/timeline", "title": "Assertion `buf->b_signcols.count[width - 1] >= 0` failed", - "updated_at": "2024-01-24T21:23:13Z", + "updated_at": "2024-02-02T05:40:05Z", "url": "https://api.github.com/repos/neovim/neovim/issues/27046", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/11404453?v=4", diff --git a/repositories/neovim/issues/27068.json b/repositories/neovim/issues/27068.json index d781ea91..3d73ff3e 100644 --- a/repositories/neovim/issues/27068.json +++ b/repositories/neovim/issues/27068.json @@ -313,9 +313,273 @@ "type": "User", "url": "https://api.github.com/users/pysan3" } + }, + { + "author_association": "MEMBER", + "body": "> I'm not sure if UNC paths should be supported in `vim.fs` since they have no mapping to unix.\r\n\r\nWhere is this requirement coming from? \r\n\r\n> `vim.fs.normaliize` is only a few lines of code anyway.\r\n\r\nAs it becomes more robust that may change. Normalizing paths has many edge cases that are useful to handle.", + "created_at": "2024-01-31T00:38:25Z", + "html_url": "https://github.com/neovim/neovim/issues/27068#issuecomment-1918154639", + "id": 1918154639, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27068", + "node_id": "IC_kwDOAPphoM5yVLeP", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918154639/reactions" + }, + "updated_at": "2024-01-31T00:38:25Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918154639", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "MEMBER", + "body": "> Where is this requirement coming from?\n\nThe requirement is that vim.fs.normalize outputs valid paths and UNC paths must start with double backslash. Normalizing them to begin with double forward slash is ambiguous with no concrete meaning (correct me if I'm wrong). \n\n> As it becomes more robust that may change. Normalizing paths has many edge cases that are useful to handle.\n\nI think handling every edge case is a fools errand. Normalizing a path shouldn't require a handful of options.\n\nWe shouldn't be trying to reinvent how path handling should be done. If a standard popular path library has a good solution for this that we can follow, then maybe that makes sense for us to follow.", + "created_at": "2024-01-31T09:04:37Z", + "html_url": "https://github.com/neovim/neovim/issues/27068#issuecomment-1918674199", + "id": 1918674199, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27068", + "node_id": "IC_kwDOAPphoM5yXKUX", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918674199/reactions" + }, + "updated_at": "2024-01-31T09:04:37Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918674199", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "author_association": "MEMBER", + "body": "> Normalizing them to begin with double forward slash is ambiguous with no concrete meaning\r\n\r\nI did some researching on this as I was curious myself. I have not found a definitive answer, but I'm pretty sure leading double forward slash is defined as UNC based on e.g. [this](https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/5.0/unc-path-recognition-unix) and [this](https://github.com/PowerShell/PowerShell/pull/17117), indicating that microsoft \"tooling\" recognizes leading doubleslash as valid.", + "created_at": "2024-01-31T12:37:47Z", + "html_url": "https://github.com/neovim/neovim/issues/27068#issuecomment-1919025705", + "id": 1919025705, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27068", + "node_id": "IC_kwDOAPphoM5yYgIp", + "performed_via_github_app": null, + "reactions": { + "+1": 2, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 2, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919025705/reactions" + }, + "updated_at": "2024-01-31T12:37:47Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919025705", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + } + }, + { + "author_association": "MEMBER", + "body": "> I think handling every edge case is a fools errand. Normalizing a path shouldn't require a handful of options.\r\n\r\nI don't really agree. Dealing with the dirty stuff is the purpose of providing these utilities in the first place.\r\n\r\n> Normalizing them to begin with double forward slash is ambiguous with no concrete meaning (correct me if I'm wrong).\r\n\r\n`normalize()` would never _add_ a double-slash, but it should be able to _accept_ UNC (double-slash) paths without mangling them. Same for drive-letter paths.\r\n\r\nWe could start by special-casing `//foo` to preserve that case. If that causes problems (because it technically violates the determinism of `normalize()`) we could add a `unc:boolean` option. https://github.com/neovim/neovim/pull/27202#issuecomment-1919183890", + "created_at": "2024-01-31T14:04:56Z", + "html_url": "https://github.com/neovim/neovim/issues/27068#issuecomment-1919169710", + "id": 1919169710, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27068", + "node_id": "IC_kwDOAPphoM5yZDSu", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919169710/reactions" + }, + "updated_at": "2024-01-31T14:19:11Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919169710", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "MEMBER", + "body": "From https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_13\r\n\r\n> If a pathname begins with two successive characters, the first component following the leading characters may be interpreted in an implementation-defined manner, although more than two leading characters shall be treated as a single character.\r\n\r\nSo we should just preserve any leading double slash.\r\n\r\nThis is also what python does: https://docs.python.org/3/library/os.path.html#os.path.normpath", + "created_at": "2024-01-31T14:30:33Z", + "html_url": "https://github.com/neovim/neovim/issues/27068#issuecomment-1919219691", + "id": 1919219691, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27068", + "node_id": "IC_kwDOAPphoM5yZPfr", + "performed_via_github_app": null, + "reactions": { + "+1": 3, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 3, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919219691/reactions" + }, + "updated_at": "2024-01-31T14:31:49Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919219691", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "author_association": "NONE", + "body": "I've updated the PR to support UNC path! Please check it out. \n\nhttps://github.com/neovim/neovim/pull/27202#issuecomment-1919471413", + "created_at": "2024-02-01T01:59:40Z", + "html_url": "https://github.com/neovim/neovim/issues/27068#issuecomment-1920351660", + "id": 1920351660, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27068", + "node_id": "IC_kwDOAPphoM5ydj2s", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920351660/reactions" + }, + "updated_at": "2024-02-01T01:59:40Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920351660", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41065736?v=4", + "events_url": "https://api.github.com/users/pysan3/events{/privacy}", + "followers_url": "https://api.github.com/users/pysan3/followers", + "following_url": "https://api.github.com/users/pysan3/following{/other_user}", + "gists_url": "https://api.github.com/users/pysan3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/pysan3", + "id": 41065736, + "login": "pysan3", + "node_id": "MDQ6VXNlcjQxMDY1NzM2", + "organizations_url": "https://api.github.com/users/pysan3/orgs", + "received_events_url": "https://api.github.com/users/pysan3/received_events", + "repos_url": "https://api.github.com/users/pysan3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/pysan3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/pysan3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/pysan3" + } } ], - "comments": 7, + "comments": 13, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27068/comments", "created_at": "2024-01-17T18:29:13Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/27068/events", @@ -372,8 +636,8 @@ "state": "open", "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27068/timeline", - "title": "BUG: `vim.fs.normalize` breaks Windows network storage paths.", - "updated_at": "2024-01-26T02:50:31Z", + "title": "`vim.fs.normalize` does not support Windows UNC paths ", + "updated_at": "2024-02-01T01:59:41Z", "url": "https://api.github.com/repos/neovim/neovim/issues/27068", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/41065736?v=4", diff --git a/repositories/neovim/issues/27137.json b/repositories/neovim/issues/27137.json index 0778a360..34850434 100644 --- a/repositories/neovim/issues/27137.json +++ b/repositories/neovim/issues/27137.json @@ -643,7 +643,7 @@ "total_count": 0, "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1907161126/reactions" }, - "updated_at": "2024-01-24T00:48:40Z", + "updated_at": "2024-02-05T12:03:58Z", "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1907161126", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/5056411?v=4", @@ -665,9 +665,141 @@ "type": "User", "url": "https://api.github.com/users/searleser97" } + }, + { + "author_association": "NONE", + "body": "Just built the last master and have this error when the Coc autocomplete popup showed\r\n```\r\nNVIM v0.10.0-dev-2164+gdc466f9a6\r\nBuild type: RelWithDebInfo\r\nLuaJIT 2.1.1705947465\r\n```", + "created_at": "2024-02-05T11:58:02Z", + "html_url": "https://github.com/neovim/neovim/issues/27137#issuecomment-1926828777", + "id": 1926828777, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27137", + "node_id": "IC_kwDOAPphoM5y2RLp", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926828777/reactions" + }, + "updated_at": "2024-02-05T12:06:33Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926828777", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/18197516?v=4", + "events_url": "https://api.github.com/users/a-tsvil/events{/privacy}", + "followers_url": "https://api.github.com/users/a-tsvil/followers", + "following_url": "https://api.github.com/users/a-tsvil/following{/other_user}", + "gists_url": "https://api.github.com/users/a-tsvil/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/a-tsvil", + "id": 18197516, + "login": "a-tsvil", + "node_id": "MDQ6VXNlcjE4MTk3NTE2", + "organizations_url": "https://api.github.com/users/a-tsvil/orgs", + "received_events_url": "https://api.github.com/users/a-tsvil/received_events", + "repos_url": "https://api.github.com/users/a-tsvil/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/a-tsvil/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/a-tsvil/subscriptions", + "type": "User", + "url": "https://api.github.com/users/a-tsvil" + } + }, + { + "author_association": "MEMBER", + "body": "@a-tsvil Your nvim version doesn't include the fix. I recommend you check that before commenting on closed issues in the future.", + "created_at": "2024-02-05T12:06:27Z", + "html_url": "https://github.com/neovim/neovim/issues/27137#issuecomment-1926844847", + "id": 1926844847, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27137", + "node_id": "IC_kwDOAPphoM5y2VGv", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926844847/reactions" + }, + "updated_at": "2024-02-05T12:06:38Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926844847", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "author_association": "NONE", + "body": "@lewis6991 thank you for the clarification, looks like `make install` (with or without sudo) doesn't copy binary into my custom location.", + "created_at": "2024-02-05T12:47:56Z", + "html_url": "https://github.com/neovim/neovim/issues/27137#issuecomment-1926924277", + "id": 1926924277, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27137", + "node_id": "IC_kwDOAPphoM5y2of1", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926924277/reactions" + }, + "updated_at": "2024-02-05T12:52:09Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926924277", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/18197516?v=4", + "events_url": "https://api.github.com/users/a-tsvil/events{/privacy}", + "followers_url": "https://api.github.com/users/a-tsvil/followers", + "following_url": "https://api.github.com/users/a-tsvil/following{/other_user}", + "gists_url": "https://api.github.com/users/a-tsvil/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/a-tsvil", + "id": 18197516, + "login": "a-tsvil", + "node_id": "MDQ6VXNlcjE4MTk3NTE2", + "organizations_url": "https://api.github.com/users/a-tsvil/orgs", + "received_events_url": "https://api.github.com/users/a-tsvil/received_events", + "repos_url": "https://api.github.com/users/a-tsvil/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/a-tsvil/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/a-tsvil/subscriptions", + "type": "User", + "url": "https://api.github.com/users/a-tsvil" + } } ], - "comments": 15, + "comments": 18, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27137/comments", "created_at": "2024-01-22T21:00:39Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/27137/events", @@ -725,7 +857,7 @@ "state_reason": "completed", "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27137/timeline", "title": "Crash after marktree changes (`assert(itr->x->ptr[itr->i]->parent == itr->x);`)", - "updated_at": "2024-01-24T00:48:41Z", + "updated_at": "2024-02-05T12:52:09Z", "url": "https://api.github.com/repos/neovim/neovim/issues/27137", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/11404453?v=4", diff --git a/repositories/neovim/issues/27196.json b/repositories/neovim/issues/27196.json index 9f3cfc3c..34481ef2 100644 --- a/repositories/neovim/issues/27196.json +++ b/repositories/neovim/issues/27196.json @@ -49,9 +49,53 @@ "type": "User", "url": "https://api.github.com/users/przepompownia" } + }, + { + "author_association": "CONTRIBUTOR", + "body": "\"Assertion failed: (seen), function unintersect_node, file marktree.c, line 375.\" \r\n\r\nSame here this only happened once after many hours without failure. In my case this crash occurred after an undo change. \r\n\r\nNeovim commit 1bf645918e94e7e8f770592484164f1ee303f24e\r\n\r\n ", + "created_at": "2024-02-03T23:35:29Z", + "html_url": "https://github.com/neovim/neovim/issues/27196#issuecomment-1925486153", + "id": 1925486153, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27196", + "node_id": "IC_kwDOAPphoM5yxJZJ", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925486153/reactions" + }, + "updated_at": "2024-02-03T23:35:29Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925486153", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/3860298?v=4", + "events_url": "https://api.github.com/users/marcoSven/events{/privacy}", + "followers_url": "https://api.github.com/users/marcoSven/followers", + "following_url": "https://api.github.com/users/marcoSven/following{/other_user}", + "gists_url": "https://api.github.com/users/marcoSven/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/marcoSven", + "id": 3860298, + "login": "marcoSven", + "node_id": "MDQ6VXNlcjM4NjAyOTg=", + "organizations_url": "https://api.github.com/users/marcoSven/orgs", + "received_events_url": "https://api.github.com/users/marcoSven/received_events", + "repos_url": "https://api.github.com/users/marcoSven/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/marcoSven/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/marcoSven/subscriptions", + "type": "User", + "url": "https://api.github.com/users/marcoSven" + } } ], - "comments": 1, + "comments": 2, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27196/comments", "created_at": "2024-01-25T20:44:55Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/27196/events", @@ -118,7 +162,7 @@ "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27196/timeline", "title": "Assertion `seen` failure on marktree", - "updated_at": "2024-01-25T21:49:13Z", + "updated_at": "2024-02-03T23:35:30Z", "url": "https://api.github.com/repos/neovim/neovim/issues/27196", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/11404453?v=4", diff --git a/repositories/neovim/issues/27234.json b/repositories/neovim/issues/27234.json index 72d838f3..ef8e5b0e 100644 --- a/repositories/neovim/issues/27234.json +++ b/repositories/neovim/issues/27234.json @@ -4,7 +4,7 @@ "assignees": [], "author_association": "MEMBER", "body": "### Problem\r\n\r\nWhen building `master`, an error message saying \"E475: Invalid arguments: exactly one of {chunk} or {range} required\" appears when using [`nvim-treesitter`'s incremental selection](https://github.com/nvim-treesitter/nvim-treesitter?tab=readme-ov-file#incremental-selection).\r\n\r\n### Steps to reproduce\r\n\r\n1. Create the following minimal configuration in `minimal.lua`:\r\n```lua\r\n-- Install nvim-treesitter.\r\nlocal install_path = vim.fn.fnamemodify('nvim_issue/nvim-treesitter', ':p')\r\nif vim.fn.isdirectory(install_path) == 0 then\r\n vim.fn.system { 'git', 'clone', '--depth=1', 'https://github.com/nvim-treesitter/nvim-treesitter', install_path }\r\nend\r\nvim.opt.runtimepath:append(install_path)\r\n\r\n-- Configure incremental selection.\r\nrequire('nvim-treesitter.configs').setup {\r\n incremental_selection = {\r\n enable = true,\r\n keymaps = {\r\n init_selection = '',\r\n node_incremental = '',\r\n node_decremental = '',\r\n },\r\n },\r\n}\r\n```\r\n2. Open Neovim with `nvim --clean -u minimal.lua minimal.lua`. Try to use the above keybindings inside the incremental selection configuration (they should expand to include the entire `setup` table, the entire file etc).\r\n3. Notice the error message and how the selection isn't expanded or narrowed.\r\n\r\n### Expected behavior\r\n\r\nFor incremental behavior to work as expected with no errors.\r\n\r\n### Neovim version (nvim -v)\r\n\r\nv0.10.0-dev-2216+g2cd76a758\r\n\r\n### Vim (not Nvim) behaves the same?\r\n\r\nN/A\r\n\r\n### Operating system/version\r\n\r\nArch Linux\r\n\r\n### Terminal name/version\r\n\r\nwezterm 20240127-113634-bbcac864\r\n\r\n### $TERM environment variable\r\n\r\nwezterm\r\n\r\n### Installation\r\n\r\nBuild from source", - "closed_at": null, + "closed_at": "2024-02-02T05:14:11Z", "comment_data": [ { "author_association": "MEMBER", @@ -360,7 +360,7 @@ }, { "author_association": "MEMBER", - "body": "I think it actually needs a `` after the `:`.\r\n\r\nHowever, I now realized that this restriction caused some inconvenience, as typed `:lua` commands in Visual mode now require typing an extra `` key.", + "body": "I think it actually needs a `` after the `:`.\r\n\r\nHowever, I now realized that this restriction caused some inconvenience, as typed `:lua {chunk}` commands in Visual mode now require typing an extra `` key.", "created_at": "2024-01-28T07:48:43Z", "html_url": "https://github.com/neovim/neovim/issues/27234#issuecomment-1913491904", "id": 1913491904, @@ -379,7 +379,7 @@ "total_count": 1, "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1913491904/reactions" }, - "updated_at": "2024-01-28T08:00:57Z", + "updated_at": "2024-02-01T05:26:09Z", "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1913491904", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", @@ -445,9 +445,97 @@ "type": "User", "url": "https://api.github.com/users/luukvbaal" } + }, + { + "author_association": "MEMBER", + "body": "So the specific TS incremental selection issue was fixed in https://github.com/nvim-treesitter/nvim-treesitter/pull/6014. I'm fine with closing this one, but it looks that there's a larger discussion going on. Wdy @clason @luukvbaal @zeertzjq?", + "created_at": "2024-02-01T05:17:24Z", + "html_url": "https://github.com/neovim/neovim/issues/27234#issuecomment-1920532896", + "id": 1920532896, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27234", + "node_id": "IC_kwDOAPphoM5yeQGg", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920532896/reactions" + }, + "updated_at": "2024-02-01T05:17:24Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920532896", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "author_association": "MEMBER", + "body": "It seems that `:source` also ignores `[range]` when `[file]` is specified, so still allowing `[range]` for `:lua {chuck}` actually does make sense, and so does #7177.", + "created_at": "2024-02-01T05:41:58Z", + "html_url": "https://github.com/neovim/neovim/issues/27234#issuecomment-1920555978", + "id": 1920555978, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27234", + "node_id": "IC_kwDOAPphoM5yeVvK", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920555978/reactions" + }, + "updated_at": "2024-02-01T05:41:58Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920555978", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } } ], - "comments": 10, + "comments": 12, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27234/comments", "created_at": "2024-01-27T19:48:49Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/27234/events", @@ -480,7 +568,7 @@ "number": 27234, "performed_via_github_app": null, "reactions": { - "+1": 0, + "+1": 1, "-1": 0, "confused": 0, "eyes": 0, @@ -488,15 +576,15 @@ "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 0, + "total_count": 1, "url": "https://api.github.com/repos/neovim/neovim/issues/27234/reactions" }, "repository_url": "https://api.github.com/repos/neovim/neovim", - "state": "open", - "state_reason": null, + "state": "closed", + "state_reason": "completed", "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27234/timeline", "title": "\"E475: Invalid arguments: exactly one of {chunk} or {range} required\" with TS incremental selection", - "updated_at": "2024-01-28T12:59:45Z", + "updated_at": "2024-02-02T05:14:12Z", "url": "https://api.github.com/repos/neovim/neovim/issues/27234", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", diff --git a/repositories/neovim/issues/27238.json b/repositories/neovim/issues/27238.json index 362ff863..0b420c73 100644 --- a/repositories/neovim/issues/27238.json +++ b/repositories/neovim/issues/27238.json @@ -720,7 +720,7 @@ "node_id": "IC_kwDOAPphoM5yMVxt", "performed_via_github_app": null, "reactions": { - "+1": 0, + "+1": 1, "-1": 0, "confused": 0, "eyes": 0, @@ -728,7 +728,7 @@ "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 0, + "total_count": 1, "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1915837549/reactions" }, "updated_at": "2024-01-30T01:04:33Z", @@ -753,9 +753,53 @@ "type": "User", "url": "https://api.github.com/users/seandewar" } + }, + { + "author_association": "NONE", + "body": "thanks for all these useful information.", + "created_at": "2024-01-30T07:24:50Z", + "html_url": "https://github.com/neovim/neovim/issues/27238#issuecomment-1916224368", + "id": 1916224368, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27238", + "node_id": "IC_kwDOAPphoM5yN0Nw", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1916224368/reactions" + }, + "updated_at": "2024-01-30T07:24:50Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1916224368", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/91757?v=4", + "events_url": "https://api.github.com/users/huangyingw/events{/privacy}", + "followers_url": "https://api.github.com/users/huangyingw/followers", + "following_url": "https://api.github.com/users/huangyingw/following{/other_user}", + "gists_url": "https://api.github.com/users/huangyingw/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/huangyingw", + "id": 91757, + "login": "huangyingw", + "node_id": "MDQ6VXNlcjkxNzU3", + "organizations_url": "https://api.github.com/users/huangyingw/orgs", + "received_events_url": "https://api.github.com/users/huangyingw/received_events", + "repos_url": "https://api.github.com/users/huangyingw/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/huangyingw/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/huangyingw/subscriptions", + "type": "User", + "url": "https://api.github.com/users/huangyingw" + } } ], - "comments": 17, + "comments": 18, "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27238/comments", "created_at": "2024-01-28T00:27:22Z", "events_url": "https://api.github.com/repos/neovim/neovim/issues/27238/events", @@ -795,7 +839,7 @@ "state_reason": "not_planned", "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27238/timeline", "title": "Incorrect Cursor and Status Line Color in macOS with Latest Neovim Build", - "updated_at": "2024-01-30T01:04:33Z", + "updated_at": "2024-01-30T07:24:51Z", "url": "https://api.github.com/repos/neovim/neovim/issues/27238", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/91757?v=4", diff --git a/repositories/neovim/issues/27263.json b/repositories/neovim/issues/27263.json new file mode 100644 index 00000000..9d6fdc35 --- /dev/null +++ b/repositories/neovim/issues/27263.json @@ -0,0 +1,134 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Problem\n\nThe `font` argument for `:highlight` command (`:help highlight-font`) is not supported in `nvim_set_hl()`.\n\n### Expected behavior\n\n`nvim_set_hl()` should support `font` paramater. GUI fontend such as neovide should support the paramater if notified.", + "closed_at": null, + "comment_data": [ + { + "author_association": "NONE", + "body": "usecase: [Monaspace](https://monaspace.githubnext.com/) with Neovim", + "created_at": "2024-02-03T16:24:31Z", + "html_url": "https://github.com/neovim/neovim/issues/27263#issuecomment-1925374185", + "id": 1925374185, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27263", + "node_id": "IC_kwDOAPphoM5ywuDp", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925374185/reactions" + }, + "updated_at": "2024-02-03T16:24:31Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925374185", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/81011153?v=4", + "events_url": "https://api.github.com/users/4513ECHO/events{/privacy}", + "followers_url": "https://api.github.com/users/4513ECHO/followers", + "following_url": "https://api.github.com/users/4513ECHO/following{/other_user}", + "gists_url": "https://api.github.com/users/4513ECHO/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/4513ECHO", + "id": 81011153, + "login": "4513ECHO", + "node_id": "MDQ6VXNlcjgxMDExMTUz", + "organizations_url": "https://api.github.com/users/4513ECHO/orgs", + "received_events_url": "https://api.github.com/users/4513ECHO/received_events", + "repos_url": "https://api.github.com/users/4513ECHO/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/4513ECHO/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/4513ECHO/subscriptions", + "type": "User", + "url": "https://api.github.com/users/4513ECHO" + } + } + ], + "comments": 1, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27263/comments", + "created_at": "2024-01-30T04:39:44Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27263/events", + "html_url": "https://github.com/neovim/neovim/issues/27263", + "id": 2106938959, + "labels": [ + { + "color": "c2e0c6", + "default": true, + "description": "feature request", + "id": 77997476, + "name": "enhancement", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3Ng==", + "url": "https://api.github.com/repos/neovim/neovim/labels/enhancement" + }, + { + "color": "c5def5", + "default": false, + "description": "libnvim, Nvim RPC API", + "id": 103819671, + "name": "api", + "node_id": "MDU6TGFiZWwxMDM4MTk2NzE=", + "url": "https://api.github.com/repos/neovim/neovim/labels/api" + }, + { + "color": "c5def5", + "default": false, + "description": "", + "id": 1786207367, + "name": "highlight", + "node_id": "MDU6TGFiZWwxNzg2MjA3MzY3", + "url": "https://api.github.com/repos/neovim/neovim/labels/highlight" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27263/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM59lVZP", + "number": 27263, + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/27263/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27263/timeline", + "title": "`font` paramater for `nvim_set_hl()`", + "updated_at": "2024-02-03T16:24:32Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27263", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/81011153?v=4", + "events_url": "https://api.github.com/users/4513ECHO/events{/privacy}", + "followers_url": "https://api.github.com/users/4513ECHO/followers", + "following_url": "https://api.github.com/users/4513ECHO/following{/other_user}", + "gists_url": "https://api.github.com/users/4513ECHO/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/4513ECHO", + "id": 81011153, + "login": "4513ECHO", + "node_id": "MDQ6VXNlcjgxMDExMTUz", + "organizations_url": "https://api.github.com/users/4513ECHO/orgs", + "received_events_url": "https://api.github.com/users/4513ECHO/received_events", + "repos_url": "https://api.github.com/users/4513ECHO/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/4513ECHO/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/4513ECHO/subscriptions", + "type": "User", + "url": "https://api.github.com/users/4513ECHO" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27264.json b/repositories/neovim/issues/27264.json new file mode 100644 index 00000000..e509e1ed --- /dev/null +++ b/repositories/neovim/issues/27264.json @@ -0,0 +1,301 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Problem\n\n![image](https://github.com/neovim/neovim/assets/55144155/a4548e30-146f-436c-baf2-679c374af423)\r\n\r\nThese are two nvim instances in tmux. Same content, only difference is that only the bottom one has `arabic` set. As you can see, the lines which originally contain virtual text from lsp warnings no longer show.\n\n### Steps to reproduce\n\n1. Start an nvim instance.\r\n2. Paste the source of [this wikipedia article](https://ar.wikipedia.org/wiki/%D8%AA%D9%85%D9%84%D9%83_%D8%A8%D8%A7%D9%84%D8%A7%D8%B3%D8%AA%D9%8A%D9%84%D8%A7%D8%A1)\r\n3. Enter command `:set arabic`\n\n### Expected behavior\n\nText now shows from right to left, but with warnings still visible.\r\n\r\nAt the very least, even if the warnings don't show, I should be able to see the original text from the line (or wrapped portion of the line).\n\n### Neovim version (nvim -v)\n\nNVIM v0.9.5 Build type: Release LuaJIT 2.1.1702233742 system vimrc file: \"$VIM/sysinit.vim\" fall-back for $VIM: \"/usr/share/nvim\" Run :checkhealth for more info\n\n### Vim (not Nvim) behaves the same?\n\nDidn't try\n\n### Operating system/version\n\nArch linux\n\n### Terminal name/version\n\nst-git 0.9.r11.g9846a56\n\n### $TERM environment variable\n\ntmux-256color\n\n### Installation\n\nArch package (pacman)", + "closed_at": "2024-01-30T22:15:02Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "Can you try nightly version?", + "created_at": "2024-01-30T05:08:49Z", + "html_url": "https://github.com/neovim/neovim/issues/27264#issuecomment-1916085937", + "id": 1916085937, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27264", + "node_id": "IC_kwDOAPphoM5yNSax", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1916085937/reactions" + }, + "updated_at": "2024-01-30T05:08:49Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1916085937", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "NONE", + "body": "I didn't disable my config for this one as I don't know how to generate virtual text otherwise. I'm not even sure whether the problem is from virtual text itself or the lsp. Anyway, without config there are no warnings or virtual text so of course the bug doesn't show.\r\n\r\nI am using [null-ls](https://github.com/jose-elias-alvarez/null-ls.nvim) with markdownlint-cli.", + "created_at": "2024-01-30T05:13:19Z", + "html_url": "https://github.com/neovim/neovim/issues/27264#issuecomment-1916089962", + "id": 1916089962, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27264", + "node_id": "IC_kwDOAPphoM5yNTZq", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1916089962/reactions" + }, + "updated_at": "2024-01-30T05:13:19Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1916089962", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/55144155?v=4", + "events_url": "https://api.github.com/users/Farzat07/events{/privacy}", + "followers_url": "https://api.github.com/users/Farzat07/followers", + "following_url": "https://api.github.com/users/Farzat07/following{/other_user}", + "gists_url": "https://api.github.com/users/Farzat07/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Farzat07", + "id": 55144155, + "login": "Farzat07", + "node_id": "MDQ6VXNlcjU1MTQ0MTU1", + "organizations_url": "https://api.github.com/users/Farzat07/orgs", + "received_events_url": "https://api.github.com/users/Farzat07/received_events", + "repos_url": "https://api.github.com/users/Farzat07/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Farzat07/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Farzat07/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Farzat07" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "I can confirm virtual text works in the nightly using `vim.diagnostics`, at least with Latin characters\r\n\r\nnon-arabic\r\n![image](https://github.com/neovim/neovim/assets/4576770/34eed974-e02e-421e-bba6-c8031da6e83d)\r\n\r\narabic\r\n![image](https://github.com/neovim/neovim/assets/4576770/dceaa4ac-9a1c-4cae-89ec-8982d6c91424)", + "created_at": "2024-01-30T09:10:24Z", + "html_url": "https://github.com/neovim/neovim/issues/27264#issuecomment-1916381879", + "id": 1916381879, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27264", + "node_id": "IC_kwDOAPphoM5yOaq3", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1916381879/reactions" + }, + "updated_at": "2024-01-30T09:10:24Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1916381879", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/4576770?v=4", + "events_url": "https://api.github.com/users/mike325/events{/privacy}", + "followers_url": "https://api.github.com/users/mike325/followers", + "following_url": "https://api.github.com/users/mike325/following{/other_user}", + "gists_url": "https://api.github.com/users/mike325/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/mike325", + "id": 4576770, + "login": "mike325", + "node_id": "MDQ6VXNlcjQ1NzY3NzA=", + "organizations_url": "https://api.github.com/users/mike325/orgs", + "received_events_url": "https://api.github.com/users/mike325/received_events", + "repos_url": "https://api.github.com/users/mike325/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/mike325/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mike325/subscriptions", + "type": "User", + "url": "https://api.github.com/users/mike325" + } + }, + { + "author_association": "MEMBER", + "body": "Closing as this is likely already fixed.", + "created_at": "2024-01-30T22:15:02Z", + "html_url": "https://github.com/neovim/neovim/issues/27264#issuecomment-1917988112", + "id": 1917988112, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27264", + "node_id": "IC_kwDOAPphoM5yUi0Q", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917988112/reactions" + }, + "updated_at": "2024-01-30T22:15:02Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917988112", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "NONE", + "body": "> Can you try nightly version?\r\n\r\nSorry I missed that.\r\n\r\nI tried the master branch actually, and it worked, so I guess yeah it is already fixed :)", + "created_at": "2024-01-31T02:41:20Z", + "html_url": "https://github.com/neovim/neovim/issues/27264#issuecomment-1918267572", + "id": 1918267572, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27264", + "node_id": "IC_kwDOAPphoM5yVnC0", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918267572/reactions" + }, + "updated_at": "2024-01-31T02:41:20Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918267572", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/55144155?v=4", + "events_url": "https://api.github.com/users/Farzat07/events{/privacy}", + "followers_url": "https://api.github.com/users/Farzat07/followers", + "following_url": "https://api.github.com/users/Farzat07/following{/other_user}", + "gists_url": "https://api.github.com/users/Farzat07/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Farzat07", + "id": 55144155, + "login": "Farzat07", + "node_id": "MDQ6VXNlcjU1MTQ0MTU1", + "organizations_url": "https://api.github.com/users/Farzat07/orgs", + "received_events_url": "https://api.github.com/users/Farzat07/received_events", + "repos_url": "https://api.github.com/users/Farzat07/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Farzat07/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Farzat07/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Farzat07" + } + } + ], + "comments": 5, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27264/comments", + "created_at": "2024-01-30T05:01:40Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27264/events", + "html_url": "https://github.com/neovim/neovim/issues/27264", + "id": 2106958350, + "labels": [ + { + "color": "f9d0c4", + "default": true, + "description": "issues reporting wrong behavior", + "id": 77997474, + "name": "bug", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3NA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug" + }, + { + "color": "c5def5", + "default": false, + "description": "extmarks, decorations, virtual text, namespaces", + "id": 1680119719, + "name": "extmarks", + "node_id": "MDU6TGFiZWwxNjgwMTE5NzE5", + "url": "https://api.github.com/repos/neovim/neovim/labels/extmarks" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27264/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM59laIO", + "number": 27264, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27264/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "completed", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27264/timeline", + "title": "Virtual text makes line disappear when arabic is set", + "updated_at": "2024-01-31T02:41:21Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27264", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/55144155?v=4", + "events_url": "https://api.github.com/users/Farzat07/events{/privacy}", + "followers_url": "https://api.github.com/users/Farzat07/followers", + "following_url": "https://api.github.com/users/Farzat07/following{/other_user}", + "gists_url": "https://api.github.com/users/Farzat07/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Farzat07", + "id": 55144155, + "login": "Farzat07", + "node_id": "MDQ6VXNlcjU1MTQ0MTU1", + "organizations_url": "https://api.github.com/users/Farzat07/orgs", + "received_events_url": "https://api.github.com/users/Farzat07/received_events", + "repos_url": "https://api.github.com/users/Farzat07/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Farzat07/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Farzat07/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Farzat07" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27265.json b/repositories/neovim/issues/27265.json new file mode 100644 index 00000000..ccab4893 --- /dev/null +++ b/repositories/neovim/issues/27265.json @@ -0,0 +1,293 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "body": "### Problem\n\nI'm trying to detect the filetype using `vim.filetype.match()` based on the `filename`. However, I've noticed that it fails to detect some filetypes when no buffer is specified.\n\n### Steps to reproduce\n\nI expected a file with the \".ts\" extension to be detected as TypeScript, but in fact, it might be detected as XML depending on the buffer content.\r\n\r\nhttps://github.com/neovim/neovim/blob/4ffc20c9515294481486e81271a8edeeff203140/runtime/lua/vim/filetype.lua#L1031\r\n\r\nIn this case, when no `bur` is specified, the getting of buffer contents fails, and the filetype is not detected.\r\n\r\n```lua\r\nvim.filetype.match({ filename = 'index.ts', contents = {} }) -- => nil\r\n```\r\n\r\nhttps://github.com/neovim/neovim/blob/4ffc20c9515294481486e81271a8edeeff203140/runtime/lua/vim/filetype.lua#L2208-L2216\n\n### Expected behavior\n\nWhen no `buf` is specified, it is better to assume an empty buffer (or a buffer of `contents`) is passed and detect the filetype.\n\n### Neovim version (nvim -v)\n\nNVIM v0.10.0-dev-2244+g8bc578512\n\n### Vim (not Nvim) behaves the same?\n\nno\n\n### Operating system/version\n\nLinux 6.1.67-gentoo x86_64 GNU/Linux\n\n### Terminal name/version\n\nalacritty\n\n### $TERM environment variable\n\nxterm-256color\n\n### Installation\n\nbuild from repo", + "closed_at": null, + "comment_data": [ + { + "author_association": "MEMBER", + "body": "This was intentional, although I forget the exact technical reason. If you think you can make it work (without failing all existing tests), PR welcome!", + "created_at": "2024-01-30T07:41:56Z", + "html_url": "https://github.com/neovim/neovim/issues/27265#issuecomment-1916244602", + "id": 1916244602, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27265", + "node_id": "IC_kwDOAPphoM5yN5J6", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1916244602/reactions" + }, + "updated_at": "2024-01-30T07:41:56Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1916244602", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "MEMBER", + "body": "Thinking more about it, I believe the situation was as follows:\r\n* the dispatch mechanism (needed to support user-extensible content-aware checks) is built around actual buffers; making it work with buffers _or_ strings massively complicates a neuralgic API;\r\n* this means one would have to open a scratch buffer with the provided contents, pass that to the dispatched detection function, and then clean up afterwards;\r\n* this was deemed too much work for a use case that was considered niche and hence was left out until someone provided a compelling example of such a use case.\r\n\r\nTL;DR: What's your use case here exactly?", + "created_at": "2024-01-30T17:19:24Z", + "html_url": "https://github.com/neovim/neovim/issues/27265#issuecomment-1917527569", + "id": 1917527569, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27265", + "node_id": "IC_kwDOAPphoM5ySyYR", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917527569/reactions" + }, + "updated_at": "2024-01-30T17:19:24Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917527569", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "MEMBER", + "body": ">the dispatch mechanism (needed to support user-extensible content-aware checks) is built around actual buffers; making it work with buffers or strings massively complicates a neuralgic API\r\n\r\nThis is correct, though I do think it might be possible to address cases like this where the buffer is invalid/does not exist and fallback to a default value.\r\n\r\nI say \"might be possible\" because it will not always be obvious what the fallback/default value should be. In a case like this, with a `.ts` filename, \"typescript\" is the obvious choice for a default value over XML, but there are other filetypes where it's not as obvious. In those cases we need to decide what should be done.", + "created_at": "2024-01-30T17:41:34Z", + "html_url": "https://github.com/neovim/neovim/issues/27265#issuecomment-1917566252", + "id": 1917566252, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27265", + "node_id": "IC_kwDOAPphoM5yS70s", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917566252/reactions" + }, + "updated_at": "2024-01-30T17:41:34Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917566252", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } + }, + { + "author_association": "MEMBER", + "body": "My preference would be \"all or nothing\" here: if there's a compelling use case for \"contents but no buffer\", then we should implement this properly (hopefully without affecting the general performance). I'd be fine if that case isn't aggressively optimized (i.e., always creates a buffer even if the detection looks at filename alone).\r\n\r\nOtherwise we'd just be adding special cases on top of special cases...", + "created_at": "2024-01-30T17:45:46Z", + "html_url": "https://github.com/neovim/neovim/issues/27265#issuecomment-1917572959", + "id": 1917572959, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27265", + "node_id": "IC_kwDOAPphoM5yS9df", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917572959/reactions" + }, + "updated_at": "2024-01-30T17:46:47Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917572959", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + } + ], + "comments": 4, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27265/comments", + "created_at": "2024-01-30T06:59:12Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27265/events", + "html_url": "https://github.com/neovim/neovim/issues/27265", + "id": 2107091711, + "labels": [ + { + "color": "c2e0c6", + "default": true, + "description": "feature request", + "id": 77997476, + "name": "enhancement", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3Ng==", + "url": "https://api.github.com/repos/neovim/neovim/labels/enhancement" + }, + { + "color": "C5DEF5", + "default": false, + "description": "filetype detection, filetype.lua", + "id": 3708202139, + "name": "filetype", + "node_id": "LA_kwDOAPphoM7dBqyb", + "url": "https://api.github.com/repos/neovim/neovim/labels/filetype" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27265/labels{/name}", + "locked": false, + "milestone": { + "closed_at": null, + "closed_issues": 599, + "created_at": "2014-05-10T20:43:04Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + }, + "description": "Low priority. Not planned for the current target, may be reassigned.", + "due_on": null, + "html_url": "https://github.com/neovim/neovim/milestone/6", + "id": 655037, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/6/labels", + "node_id": "MDk6TWlsZXN0b25lNjU1MDM3", + "number": 6, + "open_issues": 424, + "state": "open", + "title": "backlog", + "updated_at": "2024-02-05T01:01:45Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/6" + }, + "node_id": "I_kwDOAPphoM59l6r_", + "number": 27265, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27265/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27265/timeline", + "title": "Filetype detection by `vim.filetype.match` will fail in some cases when no buffer is specified", + "updated_at": "2024-01-30T17:46:47Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27265", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/188621?v=4", + "events_url": "https://api.github.com/users/emonkak/events{/privacy}", + "followers_url": "https://api.github.com/users/emonkak/followers", + "following_url": "https://api.github.com/users/emonkak/following{/other_user}", + "gists_url": "https://api.github.com/users/emonkak/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/emonkak", + "id": 188621, + "login": "emonkak", + "node_id": "MDQ6VXNlcjE4ODYyMQ==", + "organizations_url": "https://api.github.com/users/emonkak/orgs", + "received_events_url": "https://api.github.com/users/emonkak/received_events", + "repos_url": "https://api.github.com/users/emonkak/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/emonkak/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/emonkak/subscriptions", + "type": "User", + "url": "https://api.github.com/users/emonkak" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27266.json b/repositories/neovim/issues/27266.json new file mode 100644 index 00000000..95e291e7 --- /dev/null +++ b/repositories/neovim/issues/27266.json @@ -0,0 +1,338 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "body": "### Problem\r\n\r\nPlain sourcing of `vim.lsp` object results into redraw when not done directly during startup.\r\n\r\nAs one side effect, this results into intro text disappearing if user/plugin uses `vim.lsp` not during startup (for example, by setting LSP handler via `vim.lsp.handler`).\r\n\r\n------\r\n\r\nBisecting 'vim.lsp' code to find the problem lead to following results:\r\n- 'runtime/vim/lsp.lua' eagerly requires ['vim.lsp.semantic_tokens'](https://github.com/neovim/neovim/blob/4ffc20c9515294481486e81271a8edeeff203140/runtime/lua/vim/lsp.lua#L9) and ['vim.lsp.inlay_hint'](https://github.com/neovim/neovim/blob/4ffc20c9515294481486e81271a8edeeff203140/runtime/lua/vim/lsp.lua#L27).\r\n- Both of them set decoration provider ([here](https://github.com/neovim/neovim/blob/4ffc20c9515294481486e81271a8edeeff203140/runtime/lua/vim/lsp/semantic_tokens.lua#L795-L802) and [here](https://github.com/neovim/neovim/blob/4ffc20c9515294481486e81271a8edeeff203140/runtime/lua/vim/lsp/inlay_hint.lua#L312-L358)) when sourced. Commenting out these two blocks fixes the issue.\r\n- The `vim.api.nvim_set_decoration_provider()` [explicitly redraws \"later\"](https://github.com/neovim/neovim/blob/4ffc20c9515294481486e81271a8edeeff203140/src/nvim/api/extmark.c#L1048-L1049). @bfredl, mentioning you here as there is a `TODO(bfredl)` comment.\r\n\r\n### Steps to reproduce\r\n\r\n1. Create init file with the following content:\r\n```lua\r\nvim.schedule(function() local lsp = vim.lsp end)\r\n```\r\n2. `nvim --clean -u init.lua`. Intro text may be seen for split second but then is not shown.\r\n\r\nThis also happens with `nvim --clean` followed by `:lua require('vim.lsp')`.\r\nThis does not happen if 'init.lua' is plain `local lsp = vim.lsp`.\r\n\r\n### Expected behavior\r\n\r\nOne of:\r\n- Redraw to not happen at least when requiring `vim.lsp` or parts of it not related to decoration provider.\r\n- Do not redraw or more smart redraw when setting decoration provider.\r\n\r\n### Neovim version (nvim -v)\r\n\r\nNVIM v0.10.0-dev-2243+g4ffc20c95\r\n\r\n### Vim (not Nvim) behaves the same?\r\n\r\nNo\r\n\r\n### Operating system/version\r\n\r\nEndeavourOS Linux x86_64 (6.7.1-arch1-1)\r\n\r\n### Terminal name/version\r\n\r\nst-0.9\r\n\r\n### $TERM environment variable\r\n\r\nst-256color\r\n\r\n### Installation\r\n\r\nBoth appimage and from source", + "closed_at": null, + "comment_data": [ + { + "author_association": "MEMBER", + "body": "I am not sure if this is a low complexity Lua issue. Postponing setting decoration provider for inlay hints and semantic tokens is not trivial (if even reasonably possible). So this relies on `vim.api.nvim_set_decoration_provider()` to not redraw immediately, which again might have unwanted side effects.", + "created_at": "2024-02-01T09:12:47Z", + "html_url": "https://github.com/neovim/neovim/issues/27266#issuecomment-1920850181", + "id": 1920850181, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27266", + "node_id": "IC_kwDOAPphoM5yfdkF", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920850181/reactions" + }, + "updated_at": "2024-02-01T09:12:47Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920850181", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/24854248?v=4", + "events_url": "https://api.github.com/users/echasnovski/events{/privacy}", + "followers_url": "https://api.github.com/users/echasnovski/followers", + "following_url": "https://api.github.com/users/echasnovski/following{/other_user}", + "gists_url": "https://api.github.com/users/echasnovski/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/echasnovski", + "id": 24854248, + "login": "echasnovski", + "node_id": "MDQ6VXNlcjI0ODU0MjQ4", + "organizations_url": "https://api.github.com/users/echasnovski/orgs", + "received_events_url": "https://api.github.com/users/echasnovski/received_events", + "repos_url": "https://api.github.com/users/echasnovski/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/echasnovski/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/echasnovski/subscriptions", + "type": "User", + "url": "https://api.github.com/users/echasnovski" + } + }, + { + "author_association": "MEMBER", + "body": ">'runtime/vim/lsp.lua' eagerly requires ['vim.lsp.semantic_tokens'](https://github.com/neovim/neovim/blob/4ffc20c9515294481486e81271a8edeeff203140/runtime/lua/vim/lsp.lua#L9) and ['vim.lsp.inlay_hint'](https://github.com/neovim/neovim/blob/4ffc20c9515294481486e81271a8edeeff203140/runtime/lua/vim/lsp.lua#L27).\r\n\r\nWill this be addressed by [Dundarloading](https://github.com/neovim/neovim/pull/27216)?", + "created_at": "2024-02-01T15:20:18Z", + "html_url": "https://github.com/neovim/neovim/issues/27266#issuecomment-1921573681", + "id": 1921573681, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27266", + "node_id": "IC_kwDOAPphoM5yiOMx", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921573681/reactions" + }, + "updated_at": "2024-02-01T15:20:18Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921573681", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } + }, + { + "author_association": "MEMBER", + "body": "> Will this be addressed by [Dundarloading](https://github.com/neovim/neovim/pull/27216)?\r\n\r\nI've just tested that PR and I don't see an intro text disappearing. Neither with issue's 'init.lua', nor with slightly more complicated one:\r\n\r\n```lua\r\nvim.schedule(function()\r\n vim.lsp.handlers['$/progress'] = function() print('Hello') end\r\nend)\r\n```\r\n\r\nSo it fixes this particular issue but would imply that calling `vim.api.nvim_set_decoration_provider()` inside a script will cause a redraw (so should be used carefully).", + "created_at": "2024-02-01T15:30:18Z", + "html_url": "https://github.com/neovim/neovim/issues/27266#issuecomment-1921596134", + "id": 1921596134, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27266", + "node_id": "IC_kwDOAPphoM5yiTrm", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921596134/reactions" + }, + "updated_at": "2024-02-01T15:30:18Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921596134", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/24854248?v=4", + "events_url": "https://api.github.com/users/echasnovski/events{/privacy}", + "followers_url": "https://api.github.com/users/echasnovski/followers", + "following_url": "https://api.github.com/users/echasnovski/following{/other_user}", + "gists_url": "https://api.github.com/users/echasnovski/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/echasnovski", + "id": 24854248, + "login": "echasnovski", + "node_id": "MDQ6VXNlcjI0ODU0MjQ4", + "organizations_url": "https://api.github.com/users/echasnovski/orgs", + "received_events_url": "https://api.github.com/users/echasnovski/received_events", + "repos_url": "https://api.github.com/users/echasnovski/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/echasnovski/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/echasnovski/subscriptions", + "type": "User", + "url": "https://api.github.com/users/echasnovski" + } + }, + { + "author_association": "MEMBER", + "body": "> So this relies on vim.api.nvim_set_decoration_provider() to not redraw immediately, which again might have unwanted side effects.\r\n\r\nI think this should be allowed. it could be a flag to avoid changing the (for plugins actually reasonable) default.", + "created_at": "2024-02-01T18:30:18Z", + "html_url": "https://github.com/neovim/neovim/issues/27266#issuecomment-1921961311", + "id": 1921961311, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27266", + "node_id": "IC_kwDOAPphoM5yjs1f", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921961311/reactions" + }, + "updated_at": "2024-02-01T18:30:18Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921961311", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + } + } + ], + "comments": 4, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27266/comments", + "created_at": "2024-01-30T09:56:01Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27266/events", + "html_url": "https://github.com/neovim/neovim/issues/27266", + "id": 2107409554, + "labels": [ + { + "color": "f9d0c4", + "default": true, + "description": "issues reporting wrong behavior", + "id": 77997474, + "name": "bug", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3NA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug" + }, + { + "color": "BFDADC", + "default": false, + "description": "High-risk, potential for delicate/cascading effects", + "id": 407247013, + "name": "complexity:high", + "node_id": "MDU6TGFiZWw0MDcyNDcwMTM=", + "url": "https://api.github.com/repos/neovim/neovim/labels/complexity:high" + }, + { + "color": "0E8A16", + "default": false, + "description": "issue contains minimal reproducing steps", + "id": 435851959, + "name": "has:repro", + "node_id": "MDU6TGFiZWw0MzU4NTE5NTk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/has:repro" + }, + { + "color": "c5def5", + "default": false, + "description": "stdlib", + "id": 573222693, + "name": "lua", + "node_id": "MDU6TGFiZWw1NzMyMjI2OTM=", + "url": "https://api.github.com/repos/neovim/neovim/labels/lua" + }, + { + "color": "0E8A16", + "default": false, + "description": "", + "id": 606691254, + "name": "has:plan", + "node_id": "MDU6TGFiZWw2MDY2OTEyNTQ=", + "url": "https://api.github.com/repos/neovim/neovim/labels/has:plan" + }, + { + "color": "c5def5", + "default": false, + "description": null, + "id": 662566370, + "name": "lsp", + "node_id": "MDU6TGFiZWw2NjI1NjYzNzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/lsp" + }, + { + "color": "c5def5", + "default": false, + "description": "extmarks, decorations, virtual text, namespaces", + "id": 1680119719, + "name": "extmarks", + "node_id": "MDU6TGFiZWwxNjgwMTE5NzE5", + "url": "https://api.github.com/repos/neovim/neovim/labels/extmarks" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27266/labels{/name}", + "locked": false, + "milestone": { + "closed_at": null, + "closed_issues": 599, + "created_at": "2014-05-10T20:43:04Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + }, + "description": "Low priority. Not planned for the current target, may be reassigned.", + "due_on": null, + "html_url": "https://github.com/neovim/neovim/milestone/6", + "id": 655037, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/6/labels", + "node_id": "MDk6TWlsZXN0b25lNjU1MDM3", + "number": 6, + "open_issues": 424, + "state": "open", + "title": "backlog", + "updated_at": "2024-02-05T01:01:45Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/6" + }, + "node_id": "I_kwDOAPphoM59nISS", + "number": 27266, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27266/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27266/timeline", + "title": "Sourcing `vim.lsp` results in redraw", + "updated_at": "2024-02-01T18:30:19Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27266", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/24854248?v=4", + "events_url": "https://api.github.com/users/echasnovski/events{/privacy}", + "followers_url": "https://api.github.com/users/echasnovski/followers", + "following_url": "https://api.github.com/users/echasnovski/following{/other_user}", + "gists_url": "https://api.github.com/users/echasnovski/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/echasnovski", + "id": 24854248, + "login": "echasnovski", + "node_id": "MDQ6VXNlcjI0ODU0MjQ4", + "organizations_url": "https://api.github.com/users/echasnovski/orgs", + "received_events_url": "https://api.github.com/users/echasnovski/received_events", + "repos_url": "https://api.github.com/users/echasnovski/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/echasnovski/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/echasnovski/subscriptions", + "type": "User", + "url": "https://api.github.com/users/echasnovski" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27269.json b/repositories/neovim/issues/27269.json new file mode 100644 index 00000000..ac73fffd --- /dev/null +++ b/repositories/neovim/issues/27269.json @@ -0,0 +1,89 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Problem\n\nFound crash issue when trying OSC52 feature. Option `keymap=dvorak` comes from my regular using vimrc.\n\n### Steps to reproduce\n\n`nvim --clean +'set keymap=dvorak' +vs`\r\n\r\nbacktrace:\r\n```\r\n PID: 3666388 (nvim)\r\n UID: 1000 (fool)\r\n GID: 1000 (fool)\r\n Signal: 6 (ABRT)\r\n Timestamp: Wed 2024-01-31 06:21:06 CST (22s ago)\r\n Command Line: ./dbgbin/bin/nvim --embed --clean $'+set keymap=dvorak' +vs\r\n Executable: /home/fool/Code/z/github.com/neovim/neovim/dbgbin/bin/nvim\r\n Control Group: /user.slice/user-1000.slice/user@1000.service/app.slice/app-gnome-Alacritty-3632594.scope\r\n Unit: user@1000.service\r\n User Unit: app-gnome-Alacritty-3632594.scope\r\n Slice: user-1000.slice\r\n Owner UID: 1000 (fool)\r\n Boot ID: 063136d1630f4433b70f51dfc439064f\r\n Machine ID: 73919ff8bb40473bb572f40cdaef6220\r\n Hostname: fool-GTR5\r\n Storage: /var/lib/systemd/coredump/core.nvim.1000.063136d1630f4433b70f51dfc439064f.3666388.1706653266000000.zst (present)\r\n Disk Size: 289.0K\r\n Message: Process 3666388 (nvim) of user 1000 dumped core.\r\n \r\n Found module /home/fool/Code/z/github.com/neovim/neovim/dbgbin/bin/nvim with build-id: deaab6163f7445f0dfae61ebc65951ed0c92c501\r\n Found module linux-vdso.so.1 with build-id: 9483b2083c2a30ba4e4f346b36803f814b9a1743\r\n Found module ld-linux-x86-64.so.2 with build-id: 15921ea631d9f36502d20459c43e5c85b7d6ab76\r\n Found module libc.so.6 with build-id: c289da5071a3399de893d2af81d6a30c62646e1e\r\n Found module libgcc_s.so.1 with build-id: e3a44e0da9c6e835d293ed8fd2882b4c4a87130c\r\n Found module libm.so.6 with build-id: a88ef0199bd5e742ebd0c359edf5cb2be0ec08b5\r\n Stack trace of thread 3666388:\r\n #0 0x00007f7ec92969fc __pthread_kill_implementation (libc.so.6 + 0x969fc)\r\n #1 0x00007f7ec9242476 __GI_raise (libc.so.6 + 0x42476)\r\n #2 0x00007f7ec92287f3 __GI_abort (libc.so.6 + 0x287f3)\r\n #3 0x00007f7ec922871b __assert_fail_base (libc.so.6 + 0x2871b)\r\n #4 0x00007f7ec9239e96 __GI___assert_fail (libc.so.6 + 0x39e96)\r\n #5 0x0000561aa68510b5 n/a (/home/fool/Code/z/github.com/neovim/neovim/dbgbin/bin/nvim + 0x3dd0b5)\r\n #6 0x0000561aa6849ab2 n/a (/home/fool/Code/z/github.com/neovim/neovim/dbgbin/bin/nvim + 0x3d5ab2)\r\n #7 0x0000561aa684c58f n/a (/home/fool/Code/z/github.com/neovim/neovim/dbgbin/bin/nvim + 0x3d858f)\r\n #8 0x0000561aa668c03f n/a (/home/fool/Code/z/github.com/neovim/neovim/dbgbin/bin/nvim + 0x21803f)\r\n #9 0x0000561aa668b715 n/a (/home/fool/Code/z/github.com/neovim/neovim/dbgbin/bin/nvim + 0x217715)\r\n #10 0x0000561aa680b78d n/a (/home/fool/Code/z/github.com/neovim/neovim/dbgbin/bin/nvim + 0x39778d)\r\n #11 0x0000561aa65c7345 n/a (/home/fool/Code/z/github.com/neovim/neovim/dbgbin/bin/nvim + 0x153345)\r\n #12 0x0000561aa672a025 n/a (/home/fool/Code/z/github.com/neovim/neovim/dbgbin/bin/nvim + 0x2b6025)\r\n #13 0x0000561aa672a291 n/a (/home/fool/Code/z/github.com/neovim/neovim/dbgbin/bin/nvim + 0x2b6291)\r\n #14 0x0000561aa680a79a n/a (/home/fool/Code/z/github.com/neovim/neovim/dbgbin/bin/nvim + 0x39679a)\r\n #15 0x0000561aa6727e6b n/a (/home/fool/Code/z/github.com/neovim/neovim/dbgbin/bin/nvim + 0x2b3e6b)\r\n #16 0x0000561aa66cbf98 n/a (/home/fool/Code/z/github.com/neovim/neovim/dbgbin/bin/nvim + 0x257f98)\r\n #17 0x00007f7ec9229d90 __libc_start_call_main (libc.so.6 + 0x29d90)\r\n #18 0x00007f7ec9229e40 __libc_start_main_impl (libc.so.6 + 0x29e40)\r\n #19 0x0000561aa650c705 n/a (/home/fool/Code/z/github.com/neovim/neovim/dbgbin/bin/nvim + 0x98705)\r\n\r\nGNU gdb (Ubuntu 12.1-0ubuntu1~22.04) 12.1\r\nCopyright (C) 2022 Free Software Foundation, Inc.\r\nLicense GPLv3+: GNU GPL version 3 or later \r\nThis is free software: you are free to change and redistribute it.\r\nThere is NO WARRANTY, to the extent permitted by law.\r\nType \"show copying\" and \"show warranty\" for details.\r\nThis GDB was configured as \"x86_64-linux-gnu\".\r\nType \"show configuration\" for configuration details.\r\nFor bug reporting instructions, please see:\r\n.\r\nFind the GDB manual and other documentation resources online at:\r\n .\r\n\r\nFor help, type \"help\".\r\nType \"apropos word\" to search for commands related to \"word\"...\r\nReading symbols from /home/fool/Code/z/github.com/neovim/neovim/dbgbin/bin/nvim...\r\n\r\nwarning: Can't open file anon_inode:[io_uring] which was expanded to anon_inode:[io_uring] during file-backed mapping note processing\r\n\r\nwarning: Can't open file anon_inode:[io_uring] which was expanded to anon_inode:[io_uring] during file-backed mapping note processing\r\n\r\nwarning: Can't open file anon_inode:[io_uring] which was expanded to anon_inode:[io_uring] during file-backed mapping note processing\r\n\r\nwarning: Can't open file anon_inode:[io_uring] which was expanded to anon_inode:[io_uring] during file-backed mapping note processing\r\n[New LWP 3666388]\r\n[New LWP 3666390]\r\n\r\nwarning: Section `.reg-xstate/3666388' in core file too small.\r\n[Thread debugging using libthread_db enabled]\r\nUsing host libthread_db library \"/lib/x86_64-linux-gnu/libthread_db.so.1\".\r\nCore was generated by `./dbgbin/bin/nvim --embed --clean +set keymap=dvorak +vs'.\r\nProgram terminated with signal SIGABRT, Aborted.\r\n\r\nwarning: Section `.reg-xstate/3666388' in core file too small.\r\n#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=140182519320576) at ./nptl/pthread_kill.c:44\r\n44\t./nptl/pthread_kill.c: 没有那个文件或目录.\r\n[Current thread is 1 (Thread 0x7f7ec9449000 (LWP 3666388))]\r\n\u001b[?2004h(gdb) \u001b[7mthread apply all bt full\u001b[27m\r\n\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[Cthread apply all bt full\r\n\u001b[?2004l\r\nThread 2 (LWP 3666390):\r\nwarning: Section `.reg-xstate/3666390' in core file too small.\r\n#0 0x0000000000000000 in ?? ()\r\nNo symbol table info available.\r\nBacktrace stopped: Cannot access memory at address 0x0\r\n\r\nThread 1 (Thread 0x7f7ec9449000 (LWP 3666388)):\r\n#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=140182519320576) at ./nptl/pthread_kill.c:44\r\n tid = \r\n ret = 0\r\n pd = 0x7f7ec9449000\r\n old_mask = {__val = {94672497249660, 94672497249360, 94672497249660, 0, 0, 0, 0, 0, 3376528792, 140733461777736, 0, 0, 0, 11030676009801187840, 18446744073709551615, 11030676009801187840}}\r\n ret = \r\n pd = \r\n old_mask = \r\n ret = \r\n tid = \r\n ret = \r\n resultvar = \r\n resultvar = \r\n __arg3 = \r\n __arg2 = \r\n __arg1 = \r\n _a3 = \r\n _a2 = \r\n _a1 = \r\n __futex = \r\n resultvar = \r\n __arg3 = \r\n __arg2 = \r\n __arg1 = \r\n _a3 = \r\n _a2 = \r\n _a1 = \r\n __futex = \r\n __private = \r\n __oldval = \r\n result = \r\n#1 __pthread_kill_internal (signo=6, threadid=140182519320576) at ./nptl/pthread_kill.c:78\r\nNo locals.\r\n#2 __GI___pthread_kill (threadid=140182519320576, signo=signo@entry=6) at ./nptl/pthread_kill.c:89\r\nNo locals.\r\n#3 0x00007f7ec9242476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26\r\n ret = \r\n#4 0x00007f7ec92287f3 in __GI_abort () at ./stdlib/abort.c:79\r\n save_stage = 1\r\n act = {__sigaction_handler = {sa_handler = 0x561aa88dd840, sa_sigaction = 0x561aa88dd840}, sa_mask = {__val = {18, 94672497249360, 2147483647, 4, 140182518858986, 0, 268401090, 140182516479127, 11030676009801187840, 0, 18446744073709551440, 0, 94672464807696, 546, 94672464807984, 140182520750144}}, sa_flags = -919972781, sa_restorer = 0x7f7ec9417600 <_IO_file_jumps>}\r\n sigs = {__val = {32, 140182519133856, 94672464807696, 546, 94672464807984, 140182520750144, 140182519320576, 140182517442798, 206158430256, 140733461777808, 206158430232, 140733461777808, 140733461777600, 11030676009801187840, 140733461788082, 140182518859426}}\r\n#5 0x00007f7ec922871b in __assert_fail_base (fmt=0x7f7ec9193497 \"%s%s%s:%u:%s%s假设 ‘%s’ 失败。\\n%n\", assertion=0x561aa6a28830 \"attrs[i] >= 0\", file=0x561aa6a28710 \"/home/fool/Code/z/github.com/neovim/neovim/src/nvim/ui_compositor.c\", line=546, function=) at ./assert/assert.c:92\r\n str = 0x561aa88dd840 \"my$\\311\\037V\"\r\n total = 4096\r\n#6 0x00007f7ec9239e96 in __GI___assert_fail (assertion=0x561aa6a28830 \"attrs[i] >= 0\", file=0x561aa6a28710 \"/home/fool/Code/z/github.com/neovim/neovim/src/nvim/ui_compositor.c\", line=546, function=0x561aa6a28870 <__PRETTY_FUNCTION__.1> \"ui_comp_raw_line\") at ./assert/assert.c:101\r\nNo locals.\r\n#7 0x0000561aa68510b5 in ui_comp_raw_line (grid=1, row=31, startcol=49, endcol=152, clearcol=152, clearattr=0, flags=0, chunk=0x561aa886add4, attrs=0x561aa889b554) at /home/fool/Code/z/github.com/neovim/neovim/src/nvim/ui_compositor.c:546\r\n i = 7\r\n __PRETTY_FUNCTION__ = \"ui_comp_raw_line\"\r\n __func__ = \"ui_comp_raw_line\"\r\n covered = false\r\n#8 0x0000561aa6849ab2 in ui_call_raw_line (grid=1, row=31, startcol=49, endcol=152, clearcol=152, clearattr=0, flags=0, chunk=0x561aa886add4, attrs=0x561aa889b554) at /home/fool/Code/z/github.com/neovim/neovim/build/src/nvim/auto/ui_events_call.generated.h:232\r\nNo locals.\r\n#9 0x0000561aa684c58f in ui_line (grid=0x561aa6ae4000 , row=31, invalid_row=false, startcol=49, endcol=152, clearcol=152, clearattr=0, wrap=false) at /home/fool/Code/z/github.com/neovim/neovim/src/nvim/ui.c:476\r\n __PRETTY_FUNCTION__ = \"ui_line\"\r\n flags = 0\r\n off = 4761\r\n#10 0x0000561aa668c03f in grid_put_linebuf (grid=0x561aa6ae4000 , row=31, coloff=0, col=152, endcol=152, clear_width=152, rl=false, bg_attr=0, wrap=false) at /home/fool/Code/z/github.com/neovim/neovim/src/nvim/grid.c:787\r\n redraw_next = false\r\n clear_next = false\r\n __PRETTY_FUNCTION__ = \"grid_put_linebuf\"\r\n __func__ = \"grid_put_linebuf\"\r\n invalid_row = false\r\n off_to = 4712\r\n max_off_to = 4864\r\n clear_start = 152\r\n start_dirty = 49\r\n end_dirty = 152\r\n clear_dirty_start = -1\r\n clear_end = 152\r\n#11 0x0000561aa668b715 in grid_line_flush () at /home/fool/Code/z/github.com/neovim/neovim/src/nvim/grid.c:570\r\n grid = 0x561aa6ae4000 \r\n __PRETTY_FUNCTION__ = \"grid_line_flush\"\r\n#12 0x0000561aa680b78d in win_redr_status (wp=0x561aa8858c50) at /home/fool/Code/z/github.com/neovim/neovim/src/nvim/statusline.c:175\r\n len = 9\r\n this_ru_col = 57\r\n fillchar = 32\r\n stl_width = 75\r\n p = 0x561aa6af7420 \"\"\r\n col = 77\r\n width = 9\r\n attr = 37\r\n is_stl_global = false\r\n busy = true\r\n#13 0x0000561aa65c7345 in update_screen () at /home/fool/Code/z/github.com/neovim/neovim/src/nvim/drawscreen.c:646\r\n wp = 0x561aa8858c50\r\n did_intro = false\r\n is_stl_global = false\r\n type = 40\r\n hl_changed = true\r\n did_one = true\r\n#14 0x0000561aa672a025 in normal_redraw (s=0x7fff0fff51e0) at /home/fool/Code/z/github.com/neovim/neovim/src/nvim/normal.c:1355\r\nNo locals.\r\n#15 0x0000561aa672a291 in normal_check (state=0x7fff0fff51e0) at /home/fool/Code/z/github.com/neovim/neovim/src/nvim/normal.c:1451\r\n s = 0x7fff0fff51e0\r\n#16 0x0000561aa680a79a in state_enter (s=0x7fff0fff51e0) at /home/fool/Code/z/github.com/neovim/neovim/src/nvim/state.c:40\r\n check_result = 268391104\r\n key = 22042\r\n keyname = 0x7fff0fff51e0 \"3\\241r\\246\\032V\"\r\n execute_result = 32767\r\n __func__ = \"state_enter\"\r\n#17 0x0000561aa6727e6b in normal_enter (cmdwin=false, noexmode=false) at /home/fool/Code/z/github.com/neovim/neovim/src/nvim/normal.c:516\r\n state = {state = {check = 0x561aa672a133 , execute = 0x561aa67294c3 }, command_finished = false, ctrl_w = false, need_flushbuf = false, set_prevcount = false, previous_got_int = false, cmdwin = false, noexmode = false, toplevel = true, oa = {op_type = 0, regname = 0, motion_type = kMTCharWise, motion_force = 0, use_reg_one = false, inclusive = false, end_adjusted = false, start = {lnum = 0, col = 0, coladd = 0}, end = {lnum = 0, col = 0, coladd = 0}, cursor_start = {lnum = 0, col = 0, coladd = 0}, line_count = 0, empty = false, is_VIsual = false, start_vcol = 0, end_vcol = 0, prev_opcount = 0, prev_count0 = 0, excl_tr_ws = false}, ca = {oap = 0x0, prechar = 0, cmdchar = 0, nchar = 0, ncharC1 = 0, ncharC2 = 0, extra_char = 0, opcount = 0, count0 = 0, count1 = 0, arg = 0, retval = 0, searchbuf = 0x0}, mapped_len = 0, old_mapped_len = 0, idx = 0, c = 0, old_col = 0, old_pos = {lnum = 0, col = 0, coladd = 0}}\r\n prev_oap = 0x0\r\n#18 0x0000561aa66cbf98 in main (argc=5, argv=0x7fff0fff55b8) at /home/fool/Code/z/github.com/neovim/neovim/src/nvim/main.c:651\r\n fname = 0x0\r\n params = {argc = 5, argv = 0x7fff0fff55b8, use_vimrc = 0x561aa69ff8dd \"NONE\", clean = true, n_commands = 2, commands = {0x7fff0fff75c8 \"set keymap=dvorak\", 0x7fff0fff75db \"vs\", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, cmds_tofree = \"\\000\\000\\000\\000\\000\\000\\000\\000\\000\", n_pre_commands = 0, pre_commands = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, luaf = 0x0, lua_arg0 = -1, edit_type = 0, tagname = 0x0, use_ef = 0x0, input_istext = false, no_swap_file = 0, use_debug_break_level = -1, window_count = 1, window_layout = 0, diff_mode = 0, listen_addr = 0x0, remote = 0, server_addr = 0x0, scriptin = 0x0, scriptout = 0x0, scriptout_append = false, had_stdin_file = false}\r\n cwd = 0x0\r\n has_term = true\r\n use_builtin_ui = false\r\n remote_ui = false\r\n __PRETTY_FUNCTION__ = \"main\"\r\n use_remote_ui = true\r\n listen_and_embed = false\r\n vimrc_none = true\r\n __func__ = \"main\"\r\n\u001b[?2004h(gdb) q\r\n\u001b[?2004l\r\n```\n\n### Expected behavior\n\nCrash with assertion failure.\n\n### Neovim version (nvim -v)\n\nNVIM v0.10.0-dev-2243+g4ffc20c95\n\n### Vim (not Nvim) behaves the same?\n\nno, VIM 8.2\n\n### Operating system/version\n\nUbuntu 22.04.3 LTS x86_64\n\n### Terminal name/version\n\nalacritty 0.13.1 & zellij 0.39.2\n\n### $TERM environment variable\n\nxterm-256color\n\n### Installation\n\nbuild from repo", + "closed_at": "2024-01-31T00:48:54Z", + "comment_data": [], + "comments": 0, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27269/comments", + "created_at": "2024-01-30T22:28:10Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27269/events", + "html_url": "https://github.com/neovim/neovim/issues/27269", + "id": 2108906314, + "labels": [ + { + "color": "0E8A16", + "default": false, + "description": "issue contains a stacktrace/ASAN log", + "id": 435854079, + "name": "has:backtrace", + "node_id": "MDU6TGFiZWw0MzU4NTQwNzk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/has:backtrace" + }, + { + "color": "F9D0C4", + "default": false, + "description": "issue reporting a crash or segfault", + "id": 435854234, + "name": "bug-crash", + "node_id": "MDU6TGFiZWw0MzU4NTQyMzQ=", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug-crash" + }, + { + "color": "C5DEF5", + "default": false, + "description": "tabline, winbar, statuscolumn", + "id": 3385615828, + "name": "statusline", + "node_id": "LA_kwDOAPphoM7JzGXU", + "url": "https://api.github.com/repos/neovim/neovim/labels/statusline" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27269/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM59s1tK", + "number": 27269, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27269/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "completed", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27269/timeline", + "title": "ui_comp_raw_line assertion failed if set keymap=dvorak then vsplit", + "updated_at": "2024-01-31T00:48:54Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27269", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/22391687?v=4", + "events_url": "https://api.github.com/users/lifeich1/events{/privacy}", + "followers_url": "https://api.github.com/users/lifeich1/followers", + "following_url": "https://api.github.com/users/lifeich1/following{/other_user}", + "gists_url": "https://api.github.com/users/lifeich1/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lifeich1", + "id": 22391687, + "login": "lifeich1", + "node_id": "MDQ6VXNlcjIyMzkxNjg3", + "organizations_url": "https://api.github.com/users/lifeich1/orgs", + "received_events_url": "https://api.github.com/users/lifeich1/received_events", + "repos_url": "https://api.github.com/users/lifeich1/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lifeich1/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lifeich1/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lifeich1" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27271.json b/repositories/neovim/issues/27271.json new file mode 100644 index 00000000..cd72858e --- /dev/null +++ b/repositories/neovim/issues/27271.json @@ -0,0 +1,161 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Problem\n\nWhen using `:confirm` or with `'confirm'` enabled, `:qa` displays names of unsaved buffers but doesn't show the contents, so you need to remember whether or not the change was worth keeping.\r\n\r\nThe current workaround is not to use `:confirm` or `'confirm'`, but repeatedly `:qa` and then either `:bd!` or `:w`.\n\n### Expected behavior\n\nIn addition to prompting for confirmation, it should show the buffer. A brief glance at the buffer is often enough to make a Y/N decision.", + "closed_at": null, + "comment_data": [ + { + "author_association": "MEMBER", + "body": "It's probably useful to see the \"diff\" (`:help :DiffOrig`) too. \r\n\r\n## Proposal\r\n\r\n1. Implement a Lua plugin that `:confirm` can call, which cycles through unsaved buffers, shows the diff, prompts to save/discard.\r\n2. Modify `:confirm` to call this builtin plugin.\r\n", + "created_at": "2024-01-31T00:47:25Z", + "html_url": "https://github.com/neovim/neovim/issues/27271#issuecomment-1918162450", + "id": 1918162450, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27271", + "node_id": "IC_kwDOAPphoM5yVNYS", + "performed_via_github_app": null, + "reactions": { + "+1": 3, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 3, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918162450/reactions" + }, + "updated_at": "2024-01-31T00:47:25Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918162450", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + } + ], + "comments": 1, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27271/comments", + "created_at": "2024-01-31T00:07:48Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27271/events", + "html_url": "https://github.com/neovim/neovim/issues/27271", + "id": 2109027814, + "labels": [ + { + "color": "c2e0c6", + "default": true, + "description": "feature request", + "id": 77997476, + "name": "enhancement", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3Ng==", + "url": "https://api.github.com/repos/neovim/neovim/labels/enhancement" + }, + { + "color": "c5def5", + "default": false, + "description": "UI extensibility, events, protocol", + "id": 640132777, + "name": "ui-extensibility", + "node_id": "MDU6TGFiZWw2NDAxMzI3Nzc=", + "url": "https://api.github.com/repos/neovim/neovim/labels/ui-extensibility" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27271/labels{/name}", + "locked": false, + "milestone": { + "closed_at": null, + "closed_issues": 208, + "created_at": "2014-11-26T22:13:11Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + }, + "description": "Zero priority; no timeline. Promote an item from this state by taking ownership of it.", + "due_on": null, + "html_url": "https://github.com/neovim/neovim/milestone/9", + "id": 881978, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/9/labels", + "node_id": "MDk6TWlsZXN0b25lODgxOTc4", + "number": 9, + "open_issues": 237, + "state": "open", + "title": "unplanned", + "updated_at": "2024-02-04T21:56:28Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/9" + }, + "node_id": "I_kwDOAPphoM59tTXm", + "number": 27271, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27271/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27271/timeline", + "title": "`:confirm` should show the contents of buffers being confirmed", + "updated_at": "2024-01-31T00:47:30Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27271", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/758855?v=4", + "events_url": "https://api.github.com/users/lrworth/events{/privacy}", + "followers_url": "https://api.github.com/users/lrworth/followers", + "following_url": "https://api.github.com/users/lrworth/following{/other_user}", + "gists_url": "https://api.github.com/users/lrworth/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lrworth", + "id": 758855, + "login": "lrworth", + "node_id": "MDQ6VXNlcjc1ODg1NQ==", + "organizations_url": "https://api.github.com/users/lrworth/orgs", + "received_events_url": "https://api.github.com/users/lrworth/received_events", + "repos_url": "https://api.github.com/users/lrworth/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lrworth/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lrworth/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lrworth" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27273.json b/repositories/neovim/issues/27273.json new file mode 100644 index 00000000..99eca3e9 --- /dev/null +++ b/repositories/neovim/issues/27273.json @@ -0,0 +1,187 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "body": "### Problem\n\nNeovim crashes on nightly intermittently `Assertion failed: (buf->b_signcols.count[prevwidth - 1] >= 0), function buf_signcols_count_range, file decoration.c, line 824.`\r\n\r\n\r\n-------------------------------------\r\nTranslated Report (Full Report Below)\r\n-------------------------------------\r\n\r\nProcess: nvim [17670]\r\nPath: /Users/USER/*/nvim\r\nIdentifier: nvim\r\nVersion: ???\r\nCode Type: ARM-64 (Native)\r\nParent Process: Exited process [17669]\r\nUser ID: 501\r\n\r\nDate/Time: 2024-01-31 10:40:48.2443 +0800\r\nOS Version: macOS 14.1.1 (23B81)\r\nReport Version: 12\r\nAnonymous UUID: 29BAB9B9-C94A-287D-0E2C-84AEA9F0A356\r\n\r\nSleep/Wake UUID: F9BEE95E-3547-44DC-A4DE-0EF9A217F3FA\r\n\r\nTime Awake Since Boot: 340000 seconds\r\nTime Since Wake: 8852 seconds\r\n\r\nSystem Integrity Protection: enabled\r\n\r\nCrashed Thread: 0 Dispatch queue: com.apple.main-thread\r\n\r\nException Type: EXC_CRASH (SIGABRT)\r\nException Codes: 0x0000000000000000, 0x0000000000000000\r\n\r\nTermination Reason: Namespace SIGNAL, Code 6 Abort trap: 6\r\nTerminating Process: nvim [17670]\r\n\r\nKernel Triage:\r\nVM - (arg = 0x0) Fault was interrupted\r\nVM - (arg = 0x0) Fault was interrupted\r\nVM - (arg = 0x0) Fault was interrupted\r\nVM - (arg = 0x0) Fault was interrupted\r\n\r\n\r\nThread 0 Crashed:: Dispatch queue: com.apple.main-thread\r\n0 libsystem_kernel.dylib \t 0x18213911c __pthread_kill + 8\r\n1 libsystem_pthread.dylib \t 0x182170cc0 pthread_kill + 288\r\n2 libsystem_c.dylib \t 0x182080a40 abort + 180\r\n3 libsystem_c.dylib \t 0x18207fd30 __assert_rtn + 284\r\n4 nvim \t 0x100a720f8 buf_signcols_count_range + 1496\r\n5 nvim \t 0x100a722c4 buf_decor_remove + 412\r\n6 nvim \t 0x100b4bae0 extmark_del + 244\r\n7 nvim \t 0x100b4bd80 extmark_clear + 368\r\n8 nvim \t 0x100ad04a4 nlua_api_nvim_buf_clear_namespace + 564\r\n9 nvim \t 0x10095833c lj_BC_FUNCC + 44\r\n10 nvim \t 0x100958f80 lj_ff_coroutine_resume + 156\r\n11 nvim \t 0x10096e6e4 lua_pcall + 228 (lj_api.c:1150)\r\n12 nvim \t 0x100d1f2e0 state_handle_k_event + 112\r\n13 nvim \t 0x100c25fb8 nv_event.llvm.1379113852223035563 + 60\r\n14 nvim \t 0x100c1a434 normal_execute.llvm.1379113852223035563 + 9808\r\n15 nvim \t 0x100d1f064 state_enter + 160\r\n16 nvim \t 0x100bb097c main + 14520\r\n17 dyld \t 0x181df50e0 start + 2360\r\n\r\nThread 1:\r\n0 libsystem_kernel.dylib \t 0x1821308b4 mach_msg2_trap + 8\r\n1 libsystem_kernel.dylib \t 0x182142d30 mach_msg2_internal + 80\r\n2 libsystem_kernel.dylib \t 0x1821394f0 mach_msg_overwrite + 476\r\n3 libsystem_kernel.dylib \t 0x182130c38 mach_msg + 24\r\n4 CoreFoundation \t 0x18224dea4 __CFRunLoopServiceMachPort + 160\r\n5 CoreFoundation \t 0x18224c76c __CFRunLoopRun + 1208\r\n6 CoreFoundation \t 0x18224bc5c CFRunLoopRunSpecific + 608\r\n7 CoreFoundation \t 0x1822c9994 CFRunLoopRun + 64\r\n8 nvim \t 0x1009d7350 uv__cf_loop_runner + 88 (fsevents.c:723)\r\n9 libsystem_pthread.dylib \t 0x182171034 _pthread_start + 136\r\n10 libsystem_pthread.dylib \t 0x18216be3c thread_start + 8\r\n\r\nThread 2:\r\n0 libsystem_kernel.dylib \t 0x1821340ac __psynch_cvwait + 8\r\n1 libsystem_pthread.dylib \t 0x1821715fc _pthread_cond_wait + 1228\r\n2 nvim \t 0x1009d2984 uv_cond_wait + 40 (thread.c:798)\r\n3 nvim \t 0x1009c3208 worker + 116 (threadpool.c:76)\r\n4 libsystem_pthread.dylib \t 0x182171034 _pthread_start + 136\r\n5 libsystem_pthread.dylib \t 0x18216be3c thread_start + 8\r\n\r\nThread 3:\r\n0 libsystem_kernel.dylib \t 0x1821340ac __psynch_cvwait + 8\r\n1 libsystem_pthread.dylib \t 0x1821715fc _pthread_cond_wait + 1228\r\n2 nvim \t 0x1009d2984 uv_cond_wait + 40 (thread.c:798)\r\n3 nvim \t 0x1009c3208 worker + 116 (threadpool.c:76)\r\n4 libsystem_pthread.dylib \t 0x182171034 _pthread_start + 136\r\n5 libsystem_pthread.dylib \t 0x18216be3c thread_start + 8\r\n\r\nThread 4:\r\n0 libsystem_kernel.dylib \t 0x1821340ac __psynch_cvwait + 8\r\n1 libsystem_pthread.dylib \t 0x1821715fc _pthread_cond_wait + 1228\r\n2 nvim \t 0x1009d2984 uv_cond_wait + 40 (thread.c:798)\r\n3 nvim \t 0x1009c3208 worker + 116 (threadpool.c:76)\r\n4 libsystem_pthread.dylib \t 0x182171034 _pthread_start + 136\r\n5 libsystem_pthread.dylib \t 0x18216be3c thread_start + 8\r\n\r\nThread 5:\r\n0 libsystem_kernel.dylib \t 0x1821340ac __psynch_cvwait + 8\r\n1 libsystem_pthread.dylib \t 0x1821715fc _pthread_cond_wait + 1228\r\n2 nvim \t 0x1009d2984 uv_cond_wait + 40 (thread.c:798)\r\n3 nvim \t 0x1009c3208 worker + 116 (threadpool.c:76)\r\n4 libsystem_pthread.dylib \t 0x182171034 _pthread_start + 136\r\n5 libsystem_pthread.dylib \t 0x18216be3c thread_start + 8\r\n\r\nThread 6:\r\n0 libsystem_pthread.dylib \t 0x18216be28 start_wqthread + 0\r\n\r\n\r\nThread 0 crashed with ARM Thread State (64-bit):\r\n x0: 0x0000000000000000 x1: 0x0000000000000000 x2: 0x0000000000000000 x3: 0x0000000000000000\r\n x4: 0x0000000000000000 x5: 0x000000000000002e x6: 0x00000001029fe248 x7: 0x0000000000000850\r\n x8: 0xf731d48522ff3bb6 x9: 0xf731d484facd2576 x10: 0x000000000000000a x11: 0x0000000000000000\r\n x12: 0x0000000000000038 x13: 0x0000000000000000 x14: 0x00000000ffffffff x15: 0x0000000100e7f690\r\n x16: 0x0000000000000148 x17: 0x00000001e130fda0 x18: 0x0000000000000000 x19: 0x0000000000000006\r\n x20: 0x00000001d8321ec0 x21: 0x0000000000000103 x22: 0x00000001d8321fa0 x23: 0x0000000100e100e5\r\n x24: 0x00000001d71be000 x25: 0x00000000000000b8 x26: 0x00000000000000b8 x27: 0x0000000114044f70\r\n x28: 0x0000000000000001 fp: 0x000000016f4f6aa0 lr: 0x0000000182170cc0\r\n sp: 0x000000016f4f6a80 pc: 0x000000018213911c cpsr: 0x40001000\r\n far: 0x0000000000000000 esr: 0x56000080 Address size fault\r\n\r\nBinary Images:\r\n 0x106d54000 - 0x106e83fff vim.so (*) <8ab6db4f-84ea-3cb7-a981-16f105760ed2> /Users/USER/*/vim.so\r\n 0x105294000 - 0x1052f7fff markdown_inline.so (*) <628d5da7-1254-3bd1-a887-2627ddcea91c> /Users/USER/*/markdown_inline.so\r\n 0x1050f0000 - 0x10514ffff markdown.so (*) <4293dbd2-4eed-395a-9289-4bc6eab42eeb> /Users/USER/*/markdown.so\r\n 0x101a38000 - 0x101a4ffff luasnip-jsregexp.so (*) <16215d9f-096f-3e87-a32b-666aad9340a3> /Users/USER/*/luasnip-jsregexp.so\r\n 0x10518c000 - 0x10521ffff javascript.so (*) <8bdb5837-ffcd-39e7-a527-e0634687244b> /Users/USER/*/javascript.so\r\n 0x104dd4000 - 0x104ee7fff typescript.so (*) <4853feb6-a04c-3771-b98e-38bc8f99f59c> /Users/USER/*/typescript.so\r\n 0x10140c000 - 0x10140ffff regex.so (*) <212f9f28-9fd8-303e-88ce-01e74e3b7db7> /Users/USER/*/regex.so\r\n 0x104000000 - 0x10411ffff tsx.so (*) <1ff5665e-129e-3432-b86d-5c26727e0213> /Users/USER/*/tsx.so\r\n 0x101488000 - 0x10149ffff libintl.8.dylib (*) <00fe864a-7259-3f14-8dc2-ad6e85504fef> /opt/homebrew/*/libintl.8.dylib\r\n 0x100904000 - 0x100e57fff nvim (*) <6356ca0f-4f1b-3f0c-b735-0896e5200c55> /Users/USER/*/nvim\r\n 0x18212f000 - 0x182169fef libsystem_kernel.dylib (*) /usr/lib/system/libsystem_kernel.dylib\r\n 0x18216a000 - 0x182176ff3 libsystem_pthread.dylib (*) /usr/lib/system/libsystem_pthread.dylib\r\n 0x18200a000 - 0x182088ffb libsystem_c.dylib (*) /usr/lib/system/libsystem_c.dylib\r\n 0x181def000 - 0x181e83317 dyld (*) /usr/lib/dyld\r\n 0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???\r\n 0x1821d0000 - 0x1826a7fff com.apple.CoreFoundation (6.9) <9f046e36-7286-3a6e-a280-699d6e47cfaf> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation\r\n\r\nExternal Modification Summary:\r\n Calls made by other processes targeting this process:\r\n task_for_pid: 0\r\n thread_create: 0\r\n thread_set_state: 0\r\n Calls made by this process:\r\n task_for_pid: 0\r\n thread_create: 0\r\n thread_set_state: 0\r\n Calls made by all processes on this machine:\r\n task_for_pid: 0\r\n thread_create: 0\r\n thread_set_state: 0\r\n\r\nVM Region Summary:\r\nReadOnly portion of Libraries: Total=1.0G resident=0K(0%) swapped_out_or_unallocated=1.0G(100%)\r\nWritable regions: Total=1.7G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.7G(100%)\r\n\r\n VIRTUAL REGION \r\nREGION TYPE SIZE COUNT (non-coalesced) \r\n=========== ======= ======= \r\nActivity Tracing 256K 1 \r\nKernel Alloc Once 32K 1 \r\nMALLOC 1.6G 38 \r\nMALLOC guard page 96K 6 \r\nSTACK GUARD 56.1M 7 \r\nStack 48.7M 7 \r\nVM_ALLOCATE 102.0M 819 \r\n__AUTH 339K 65 \r\n__AUTH_CONST 4052K 146 \r\n__DATA 1951K 143 \r\n__DATA_CONST 4384K 157 \r\n__DATA_DIRTY 363K 58 \r\n__LINKEDIT 888.1M 11 \r\n__OBJC_RO 70.8M 1 \r\n__OBJC_RW 2156K 1 \r\n__TEXT 129.9M 164 \r\ndyld private memory 272K 2 \r\nshared memory 32K 2 \r\n=========== ======= ======= \r\nTOTAL 2.9G 1629 \r\n\r\n\r\n\r\n-----------\r\nFull Report\r\n-----------\r\n\r\n{\"app_name\":\"nvim\",\"timestamp\":\"2024-01-31 10:40:48.00 +0800\",\"app_version\":\"\",\"slice_uuid\":\"6356ca0f-4f1b-3f0c-b735-0896e5200c55\",\"build_version\":\"\",\"platform\":1,\"share_with_app_devs\":0,\"is_first_party\":1,\"bug_type\":\"309\",\"os_version\":\"macOS 14.1.1 (23B81)\",\"roots_installed\":0,\"incident_id\":\"70836A45-9FEB-4372-B40F-5EA41A98EC70\",\"name\":\"nvim\"}\r\n{\r\n \"uptime\" : 340000,\r\n \"procRole\" : \"Unspecified\",\r\n \"version\" : 2,\r\n \"userID\" : 501,\r\n \"deployVersion\" : 210,\r\n \"modelCode\" : \"MacBookPro17,1\",\r\n \"coalitionID\" : 31272,\r\n \"osVersion\" : {\r\n \"train\" : \"macOS 14.1.1\",\r\n \"build\" : \"23B81\",\r\n \"releaseType\" : \"User\"\r\n },\r\n \"captureTime\" : \"2024-01-31 10:40:48.2443 +0800\",\r\n \"codeSigningMonitor\" : 1,\r\n \"incident\" : \"70836A45-9FEB-4372-B40F-5EA41A98EC70\",\r\n \"pid\" : 17670,\r\n \"translated\" : false,\r\n \"cpuType\" : \"ARM-64\",\r\n \"roots_installed\" : 0,\r\n \"bug_type\" : \"309\",\r\n \"procLaunch\" : \"2024-01-30 13:04:36.7866 +0800\",\r\n \"procStartAbsTime\" : 7848378776934,\r\n \"procExitAbsTime\" : 8365682051342,\r\n \"procName\" : \"nvim\",\r\n \"procPath\" : \"\\/Users\\/USER\\/*\\/nvim\",\r\n \"parentProc\" : \"Exited process\",\r\n \"parentPid\" : 17669,\r\n \"crashReporterKey\" : \"29BAB9B9-C94A-287D-0E2C-84AEA9F0A356\",\r\n \"responsiblePid\" : 9826,\r\n \"codeSigningID\" : \"nvim\",\r\n \"codeSigningTeamID\" : \"\",\r\n \"codeSigningFlags\" : 570556929,\r\n \"codeSigningValidationCategory\" : 10,\r\n \"codeSigningTrustLevel\" : 4294967295,\r\n \"instructionByteStream\" : {\"beforePC\":\"fyMD1f17v6n9AwCRXOD\\/l78DAJH9e8Go\\/w9f1sADX9YQKYDSARAA1A==\",\"atPC\":\"AwEAVH8jA9X9e7+p\\/QMAkVHg\\/5e\\/AwCR\\/XvBqP8PX9bAA1\\/WcAqA0g==\"},\r\n \"wakeTime\" : 8852,\r\n \"sleepWakeUUID\" : \"F9BEE95E-3547-44DC-A4DE-0EF9A217F3FA\",\r\n \"sip\" : \"enabled\",\r\n \"exception\" : {\"codes\":\"0x0000000000000000, 0x0000000000000000\",\"rawCodes\":[0,0],\"type\":\"EXC_CRASH\",\"signal\":\"SIGABRT\"},\r\n \"termination\" : {\"flags\":0,\"code\":6,\"namespace\":\"SIGNAL\",\"indicator\":\"Abort trap: 6\",\"byProc\":\"nvim\",\"byPid\":17670},\r\n \"ktriageinfo\" : \"VM - (arg = 0x0) Fault was interrupted\\nVM - (arg = 0x0) Fault was interrupted\\nVM - (arg = 0x0) Fault was interrupted\\nVM - (arg = 0x0) Fault was interrupted\\n\",\r\n \"extMods\" : {\"caller\":{\"thread_create\":0,\"thread_set_state\":0,\"task_for_pid\":0},\"system\":{\"thread_create\":0,\"thread_set_state\":0,\"task_for_pid\":0},\"targeted\":{\"thread_create\":0,\"thread_set_state\":0,\"task_for_pid\":0},\"warnings\":0},\r\n \"faultingThread\" : 0,\r\n \"threads\" : [{\"triggered\":true,\"id\":24771979,\"threadState\":{\"x\":[{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":46},{\"value\":4338999880},{\"value\":2128},{\"value\":17812251669509913526},{\"value\":17812251668835542390},{\"value\":10},{\"value\":0},{\"value\":56},{\"value\":0},{\"value\":4294967295},{\"value\":4310169232,\"symbolLocation\":0,\"symbol\":\"mem_free\"},{\"value\":328},{\"value\":8073051552},{\"value\":0},{\"value\":6},{\"value\":7922130624,\"symbolLocation\":0,\"symbol\":\"_main_thread\"},{\"value\":259},{\"value\":7922130848,\"symbolLocation\":224,\"symbol\":\"_main_thread\"},{\"value\":4309713125,\"symbolLocation\":36,\"symbol\":\".str.2.llvm.3551243447585058904\"},{\"value\":7903895552,\"symbolLocation\":5584,\"symbol\":\"read_memory\"},{\"value\":184},{\"value\":184},{\"value\":4630794096},{\"value\":1}],\"flavor\":\"ARM_THREAD_STATE64\",\"lr\":{\"value\":6477515968},\"cpsr\":{\"value\":1073745920},\"fp\":{\"value\":6162442912},\"sp\":{\"value\":6162442880},\"esr\":{\"value\":1442840704,\"description\":\" Address size fault\"},\"pc\":{\"value\":6477287708,\"matchesCrashFrame\":1},\"far\":{\"value\":0}},\"queue\":\"com.apple.main-thread\",\"frames\":[{\"imageOffset\":41244,\"symbol\":\"__pthread_kill\",\"symbolLocation\":8,\"imageIndex\":10},{\"imageOffset\":27840,\"symbol\":\"pthread_kill\",\"symbolLocation\":288,\"imageIndex\":11},{\"imageOffset\":485952,\"symbol\":\"abort\",\"symbolLocation\":180,\"imageIndex\":12},{\"imageOffset\":482608,\"symbol\":\"__assert_rtn\",\"symbolLocation\":284,\"imageIndex\":12},{\"imageOffset\":1499384,\"symbol\":\"buf_signcols_count_range\",\"symbolLocation\":1496,\"imageIndex\":9},{\"imageOffset\":1499844,\"symbol\":\"buf_decor_remove\",\"symbolLocation\":412,\"imageIndex\":9},{\"imageOffset\":2390752,\"symbol\":\"extmark_del\",\"symbolLocation\":244,\"imageIndex\":9},{\"imageOffset\":2391424,\"symbol\":\"extmark_clear\",\"symbolLocation\":368,\"imageIndex\":9},{\"imageOffset\":1885348,\"symbol\":\"nlua_api_nvim_buf_clear_namespace\",\"symbolLocation\":564,\"imageIndex\":9},{\"imageOffset\":344892,\"symbol\":\"lj_BC_FUNCC\",\"symbolLocation\":44,\"imageIndex\":9},{\"imageOffset\":348032,\"symbol\":\"lj_ff_coroutine_resume\",\"symbolLocation\":156,\"imageIndex\":9},{\"imageOffset\":435940,\"sourceLine\":1150,\"sourceFile\":\"lj_api.c\",\"symbol\":\"lua_pcall\",\"imageIndex\":9,\"symbolLocation\":228},{\"imageOffset\":4305632,\"symbol\":\"state_handle_k_event\",\"symbolLocation\":112,\"imageIndex\":9},{\"imageOffset\":3284920,\"symbol\":\"nv_event.llvm.1379113852223035563\",\"symbolLocation\":60,\"imageIndex\":9},{\"imageOffset\":3236916,\"symbol\":\"normal_execute.llvm.1379113852223035563\",\"symbolLocation\":9808,\"imageIndex\":9},{\"imageOffset\":4304996,\"symbol\":\"state_enter\",\"symbolLocation\":160,\"imageIndex\":9},{\"imageOffset\":2804092,\"symbol\":\"main\",\"symbolLocation\":14520,\"imageIndex\":9},{\"imageOffset\":24800,\"symbol\":\"start\",\"symbolLocation\":2360,\"imageIndex\":13}]},{\"id\":24780531,\"frames\":[{\"imageOffset\":6324,\"symbol\":\"mach_msg2_trap\",\"symbolLocation\":8,\"imageIndex\":10},{\"imageOffset\":81200,\"symbol\":\"mach_msg2_internal\",\"symbolLocation\":80,\"imageIndex\":10},{\"imageOffset\":42224,\"symbol\":\"mach_msg_overwrite\",\"symbolLocation\":476,\"imageIndex\":10},{\"imageOffset\":7224,\"symbol\":\"mach_msg\",\"symbolLocation\":24,\"imageIndex\":10},{\"imageOffset\":515748,\"symbol\":\"__CFRunLoopServiceMachPort\",\"symbolLocation\":160,\"imageIndex\":15},{\"imageOffset\":509804,\"symbol\":\"__CFRunLoopRun\",\"symbolLocation\":1208,\"imageIndex\":15},{\"imageOffset\":506972,\"symbol\":\"CFRunLoopRunSpecific\",\"symbolLocation\":608,\"imageIndex\":15},{\"imageOffset\":1022356,\"symbol\":\"CFRunLoopRun\",\"symbolLocation\":64,\"imageIndex\":15},{\"imageOffset\":865104,\"sourceLine\":723,\"sourceFile\":\"fsevents.c\",\"symbol\":\"uv__cf_loop_runner\",\"imageIndex\":9,\"symbolLocation\":88},{\"imageOffset\":28724,\"symbol\":\"_pthread_start\",\"symbolLocation\":136,\"imageIndex\":11},{\"imageOffset\":7740,\"symbol\":\"thread_start\",\"symbolLocation\":8,\"imageIndex\":11}],\"threadState\":{\"x\":[{\"value\":268451845},{\"value\":21592279046},{\"value\":8589934592},{\"value\":22003117457408},{\"value\":0},{\"value\":22003117457408},{\"value\":2},{\"value\":4294967295},{\"value\":18446744073709550527},{\"value\":5123},{\"value\":0},{\"value\":1},{\"value\":5123},{\"value\":38504},{\"value\":0},{\"value\":2199023255552},{\"value\":18446744073709551569},{\"value\":8073035824},{\"value\":0},{\"value\":4294967295},{\"value\":2},{\"value\":22003117457408},{\"value\":0},{\"value\":22003117457408},{\"value\":6170861624},{\"value\":8589934592},{\"value\":21592279046},{\"value\":21592279046},{\"value\":4412409862}],\"flavor\":\"ARM_THREAD_STATE64\",\"lr\":{\"value\":6477327664},\"cpsr\":{\"value\":4096},\"fp\":{\"value\":6170861472},\"sp\":{\"value\":6170861392},\"esr\":{\"value\":1442840704,\"description\":\" Address size fault\"},\"pc\":{\"value\":6477252788},\"far\":{\"value\":0}}},{\"id\":24780553,\"frames\":[{\"imageOffset\":20652,\"symbol\":\"__psynch_cvwait\",\"symbolLocation\":8,\"imageIndex\":10},{\"imageOffset\":30204,\"symbol\":\"_pthread_cond_wait\",\"symbolLocation\":1228,\"imageIndex\":11},{\"imageOffset\":846212,\"sourceLine\":798,\"sourceFile\":\"thread.c\",\"symbol\":\"uv_cond_wait\",\"imageIndex\":9,\"symbolLocation\":40},{\"imageOffset\":782856,\"sourceLine\":76,\"sourceFile\":\"threadpool.c\",\"symbol\":\"worker\",\"imageIndex\":9,\"symbolLocation\":116},{\"imageOffset\":28724,\"symbol\":\"_pthread_start\",\"symbolLocation\":136,\"imageIndex\":11},{\"imageOffset\":7740,\"symbol\":\"thread_start\",\"symbolLocation\":8,\"imageIndex\":11}],\"threadState\":{\"x\":[{\"value\":4},{\"value\":0},{\"value\":251648},{\"value\":0},{\"value\":0},{\"value\":160},{\"value\":0},{\"value\":0},{\"value\":6180449992},{\"value\":0},{\"value\":4310205216,\"symbolLocation\":24,\"symbol\":\"mutex\"},{\"value\":8796093024258},{\"value\":2048},{\"value\":0},{\"value\":2048},{\"value\":8796093024256},{\"value\":305},{\"value\":8073051480},{\"value\":0},{\"value\":4310205192,\"symbolLocation\":0,\"symbol\":\"mutex\"},{\"value\":4310205256,\"symbolLocation\":0,\"symbol\":\"cond\"},{\"value\":6180450528},{\"value\":0},{\"value\":0},{\"value\":251648},{\"value\":251648},{\"value\":252672},{\"value\":4352229296},{\"value\":4310205336,\"symbolLocation\":0,\"symbol\":\"wq\"}],\"flavor\":\"ARM_THREAD_STATE64\",\"lr\":{\"value\":6477518332},\"cpsr\":{\"value\":1610616832},\"fp\":{\"value\":6180450112},\"sp\":{\"value\":6180449968},\"esr\":{\"value\":1442840704,\"description\":\" Address size fault\"},\"pc\":{\"value\":6477267116},\"far\":{\"value\":0}}},{\"id\":24780554,\"frames\":[{\"imageOffset\":20652,\"symbol\":\"__psynch_cvwait\",\"symbolLocation\":8,\"imageIndex\":10},{\"imageOffset\":30204,\"symbol\":\"_pthread_cond_wait\",\"symbolLocation\":1228,\"imageIndex\":11},{\"imageOffset\":846212,\"sourceLine\":798,\"sourceFile\":\"thread.c\",\"symbol\":\"uv_cond_wait\",\"imageIndex\":9,\"symbolLocation\":40},{\"imageOffset\":782856,\"sourceLine\":76,\"sourceFile\":\"threadpool.c\",\"symbol\":\"worker\",\"imageIndex\":9,\"symbolLocation\":116},{\"imageOffset\":28724,\"symbol\":\"_pthread_start\",\"symbolLocation\":136,\"imageIndex\":11},{\"imageOffset\":7740,\"symbol\":\"thread_start\",\"symbolLocation\":8,\"imageIndex\":11}],\"threadState\":{\"x\":[{\"value\":4},{\"value\":0},{\"value\":251904},{\"value\":0},{\"value\":0},{\"value\":160},{\"value\":0},{\"value\":0},{\"value\":6188887752},{\"value\":0},{\"value\":4310205216,\"symbolLocation\":24,\"symbol\":\"mutex\"},{\"value\":8796093024258},{\"value\":2048},{\"value\":0},{\"value\":2048},{\"value\":8796093024256},{\"value\":305},{\"value\":8073051480},{\"value\":0},{\"value\":4310205192,\"symbolLocation\":0,\"symbol\":\"mutex\"},{\"value\":4310205256,\"symbolLocation\":0,\"symbol\":\"cond\"},{\"value\":6188888288},{\"value\":0},{\"value\":0},{\"value\":251904},{\"value\":251904},{\"value\":252928},{\"value\":4620424016},{\"value\":4310205336,\"symbolLocation\":0,\"symbol\":\"wq\"}],\"flavor\":\"ARM_THREAD_STATE64\",\"lr\":{\"value\":6477518332},\"cpsr\":{\"value\":1610616832},\"fp\":{\"value\":6188887872},\"sp\":{\"value\":6188887728},\"esr\":{\"value\":1442840704,\"description\":\" Address size fault\"},\"pc\":{\"value\":6477267116},\"far\":{\"value\":0}}},{\"id\":24780555,\"frames\":[{\"imageOffset\":20652,\"symbol\":\"__psynch_cvwait\",\"symbolLocation\":8,\"imageIndex\":10},{\"imageOffset\":30204,\"symbol\":\"_pthread_cond_wait\",\"symbolLocation\":1228,\"imageIndex\":11},{\"imageOffset\":846212,\"sourceLine\":798,\"sourceFile\":\"thread.c\",\"symbol\":\"uv_cond_wait\",\"imageIndex\":9,\"symbolLocation\":40},{\"imageOffset\":782856,\"sourceLine\":76,\"sourceFile\":\"threadpool.c\",\"symbol\":\"worker\",\"imageIndex\":9,\"symbolLocation\":116},{\"imageOffset\":28724,\"symbol\":\"_pthread_start\",\"symbolLocation\":136,\"imageIndex\":11},{\"imageOffset\":7740,\"symbol\":\"thread_start\",\"symbolLocation\":8,\"imageIndex\":11}],\"threadState\":{\"x\":[{\"value\":4},{\"value\":0},{\"value\":251136},{\"value\":0},{\"value\":0},{\"value\":160},{\"value\":0},{\"value\":0},{\"value\":6197325512},{\"value\":0},{\"value\":4310205216,\"symbolLocation\":24,\"symbol\":\"mutex\"},{\"value\":8796093024258},{\"value\":2048},{\"value\":0},{\"value\":2048},{\"value\":8796093024256},{\"value\":305},{\"value\":8073051480},{\"value\":0},{\"value\":4310205192,\"symbolLocation\":0,\"symbol\":\"mutex\"},{\"value\":4310205256,\"symbolLocation\":0,\"symbol\":\"cond\"},{\"value\":6197326048},{\"value\":0},{\"value\":0},{\"value\":251136},{\"value\":251136},{\"value\":252160},{\"value\":4324132416},{\"value\":4310205336,\"symbolLocation\":0,\"symbol\":\"wq\"}],\"flavor\":\"ARM_THREAD_STATE64\",\"lr\":{\"value\":6477518332},\"cpsr\":{\"value\":1610616832},\"fp\":{\"value\":6197325632},\"sp\":{\"value\":6197325488},\"esr\":{\"value\":1442840704,\"description\":\" Address size fault\"},\"pc\":{\"value\":6477267116},\"far\":{\"value\":0}}},{\"id\":24780556,\"frames\":[{\"imageOffset\":20652,\"symbol\":\"__psynch_cvwait\",\"symbolLocation\":8,\"imageIndex\":10},{\"imageOffset\":30204,\"symbol\":\"_pthread_cond_wait\",\"symbolLocation\":1228,\"imageIndex\":11},{\"imageOffset\":846212,\"sourceLine\":798,\"sourceFile\":\"thread.c\",\"symbol\":\"uv_cond_wait\",\"imageIndex\":9,\"symbolLocation\":40},{\"imageOffset\":782856,\"sourceLine\":76,\"sourceFile\":\"threadpool.c\",\"symbol\":\"worker\",\"imageIndex\":9,\"symbolLocation\":116},{\"imageOffset\":28724,\"symbol\":\"_pthread_start\",\"symbolLocation\":136,\"imageIndex\":11},{\"imageOffset\":7740,\"symbol\":\"thread_start\",\"symbolLocation\":8,\"imageIndex\":11}],\"threadState\":{\"x\":[{\"value\":260},{\"value\":0},{\"value\":251392},{\"value\":0},{\"value\":0},{\"value\":160},{\"value\":0},{\"value\":0},{\"value\":6205763272},{\"value\":0},{\"value\":4310205216,\"symbolLocation\":24,\"symbol\":\"mutex\"},{\"value\":8796093024258},{\"value\":2048},{\"value\":0},{\"value\":2048},{\"value\":8796093024256},{\"value\":305},{\"value\":8073051480},{\"value\":0},{\"value\":4310205192,\"symbolLocation\":0,\"symbol\":\"mutex\"},{\"value\":4310205256,\"symbolLocation\":0,\"symbol\":\"cond\"},{\"value\":6205763808},{\"value\":0},{\"value\":0},{\"value\":251392},{\"value\":251392},{\"value\":252416},{\"value\":4324175680},{\"value\":4310205336,\"symbolLocation\":0,\"symbol\":\"wq\"}],\"flavor\":\"ARM_THREAD_STATE64\",\"lr\":{\"value\":6477518332},\"cpsr\":{\"value\":1610616832},\"fp\":{\"value\":6205763392},\"sp\":{\"value\":6205763248},\"esr\":{\"value\":1442840704,\"description\":\" Address size fault\"},\"pc\":{\"value\":6477267116},\"far\":{\"value\":0}}},{\"id\":26089297,\"frames\":[{\"imageOffset\":7720,\"symbol\":\"start_wqthread\",\"symbolLocation\":0,\"imageIndex\":11}],\"threadState\":{\"x\":[{\"value\":6172012544},{\"value\":16211},{\"value\":6171475968},{\"value\":0},{\"value\":409604},{\"value\":18446744073709551615},{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":0},{\"value\":0}],\"flavor\":\"ARM_THREAD_STATE64\",\"lr\":{\"value\":0},\"cpsr\":{\"value\":4096},\"fp\":{\"value\":0},\"sp\":{\"value\":6172012544},\"esr\":{\"value\":1442840704,\"description\":\" Address size fault\"},\"pc\":{\"value\":6477495848},\"far\":{\"value\":0}}}],\r\n \"usedImages\" : [\r\n {\r\n \"source\" : \"P\",\r\n \"arch\" : \"arm64\",\r\n \"base\" : 4409606144,\r\n \"size\" : 1245184,\r\n \"uuid\" : \"8ab6db4f-84ea-3cb7-a981-16f105760ed2\",\r\n \"path\" : \"\\/Users\\/USER\\/*\\/vim.so\",\r\n \"name\" : \"vim.so\"\r\n },\r\n {\r\n \"source\" : \"P\",\r\n \"arch\" : \"arm64\",\r\n \"base\" : 4381556736,\r\n \"size\" : 409600,\r\n \"uuid\" : \"628d5da7-1254-3bd1-a887-2627ddcea91c\",\r\n \"path\" : \"\\/Users\\/USER\\/*\\/markdown_inline.so\",\r\n \"name\" : \"markdown_inline.so\"\r\n },\r\n {\r\n \"source\" : \"P\",\r\n \"arch\" : \"arm64\",\r\n \"base\" : 4379836416,\r\n \"size\" : 393216,\r\n \"uuid\" : \"4293dbd2-4eed-395a-9289-4bc6eab42eeb\",\r\n \"path\" : \"\\/Users\\/USER\\/*\\/markdown.so\",\r\n \"name\" : \"markdown.so\"\r\n },\r\n {\r\n \"source\" : \"P\",\r\n \"arch\" : \"arm64\",\r\n \"base\" : 4322459648,\r\n \"size\" : 98304,\r\n \"uuid\" : \"16215d9f-096f-3e87-a32b-666aad9340a3\",\r\n \"path\" : \"\\/Users\\/USER\\/*\\/luasnip-jsregexp.so\",\r\n \"name\" : \"luasnip-jsregexp.so\"\r\n },\r\n {\r\n \"source\" : \"P\",\r\n \"arch\" : \"arm64\",\r\n \"base\" : 4380475392,\r\n \"size\" : 606208,\r\n \"uuid\" : \"8bdb5837-ffcd-39e7-a527-e0634687244b\",\r\n \"path\" : \"\\/Users\\/USER\\/*\\/javascript.so\",\r\n \"name\" : \"javascript.so\"\r\n },\r\n {\r\n \"source\" : \"P\",\r\n \"arch\" : \"arm64\",\r\n \"base\" : 4376576000,\r\n \"size\" : 1130496,\r\n \"uuid\" : \"4853feb6-a04c-3771-b98e-38bc8f99f59c\",\r\n \"path\" : \"\\/Users\\/USER\\/*\\/typescript.so\",\r\n \"name\" : \"typescript.so\"\r\n },\r\n {\r\n \"source\" : \"P\",\r\n \"arch\" : \"arm64\",\r\n \"base\" : 4315987968,\r\n \"size\" : 16384,\r\n \"uuid\" : \"212f9f28-9fd8-303e-88ce-01e74e3b7db7\",\r\n \"path\" : \"\\/Users\\/USER\\/*\\/regex.so\",\r\n \"name\" : \"regex.so\"\r\n },\r\n {\r\n \"source\" : \"P\",\r\n \"arch\" : \"arm64\",\r\n \"base\" : 4362076160,\r\n \"size\" : 1179648,\r\n \"uuid\" : \"1ff5665e-129e-3432-b86d-5c26727e0213\",\r\n \"path\" : \"\\/Users\\/USER\\/*\\/tsx.so\",\r\n \"name\" : \"tsx.so\"\r\n },\r\n {\r\n \"source\" : \"P\",\r\n \"arch\" : \"arm64\",\r\n \"base\" : 4316495872,\r\n \"size\" : 98304,\r\n \"uuid\" : \"00fe864a-7259-3f14-8dc2-ad6e85504fef\",\r\n \"path\" : \"\\/opt\\/homebrew\\/*\\/libintl.8.dylib\",\r\n \"name\" : \"libintl.8.dylib\"\r\n },\r\n {\r\n \"source\" : \"P\",\r\n \"arch\" : \"arm64\",\r\n \"base\" : 4304420864,\r\n \"size\" : 5586944,\r\n \"uuid\" : \"6356ca0f-4f1b-3f0c-b735-0896e5200c55\",\r\n \"path\" : \"\\/Users\\/USER\\/*\\/nvim\",\r\n \"name\" : \"nvim\"\r\n },\r\n {\r\n \"source\" : \"P\",\r\n \"arch\" : \"arm64e\",\r\n \"base\" : 6477246464,\r\n \"size\" : 241648,\r\n \"uuid\" : \"b7751381-1442-30b5-91b9-ad7be461bebe\",\r\n \"path\" : \"\\/usr\\/lib\\/system\\/libsystem_kernel.dylib\",\r\n \"name\" : \"libsystem_kernel.dylib\"\r\n },\r\n {\r\n \"source\" : \"P\",\r\n \"arch\" : \"arm64e\",\r\n \"base\" : 6477488128,\r\n \"size\" : 53236,\r\n \"uuid\" : \"daf95373-5de6-39a1-a6ce-d87f3f0629cc\",\r\n \"path\" : \"\\/usr\\/lib\\/system\\/libsystem_pthread.dylib\",\r\n \"name\" : \"libsystem_pthread.dylib\"\r\n },\r\n {\r\n \"source\" : \"P\",\r\n \"arch\" : \"arm64e\",\r\n \"base\" : 6476046336,\r\n \"size\" : 520188,\r\n \"uuid\" : \"decb8685-f34a-3979-afcb-71fb55747e41\",\r\n \"path\" : \"\\/usr\\/lib\\/system\\/libsystem_c.dylib\",\r\n \"name\" : \"libsystem_c.dylib\"\r\n },\r\n {\r\n \"source\" : \"P\",\r\n \"arch\" : \"arm64e\",\r\n \"base\" : 6473838592,\r\n \"size\" : 607000,\r\n \"uuid\" : \"ec7a3ba0-f9bf-3ab8-a0f4-8622e5606b20\",\r\n \"path\" : \"\\/usr\\/lib\\/dyld\",\r\n \"name\" : \"dyld\"\r\n },\r\n {\r\n \"size\" : 0,\r\n \"source\" : \"A\",\r\n \"base\" : 0,\r\n \"uuid\" : \"00000000-0000-0000-0000-000000000000\"\r\n },\r\n {\r\n \"source\" : \"P\",\r\n \"arch\" : \"arm64e\",\r\n \"base\" : 6477905920,\r\n \"CFBundleShortVersionString\" : \"6.9\",\r\n \"CFBundleIdentifier\" : \"com.apple.CoreFoundation\",\r\n \"size\" : 5079040,\r\n \"uuid\" : \"9f046e36-7286-3a6e-a280-699d6e47cfaf\",\r\n \"path\" : \"\\/System\\/Library\\/Frameworks\\/CoreFoundation.framework\\/Versions\\/A\\/CoreFoundation\",\r\n \"name\" : \"CoreFoundation\",\r\n \"CFBundleVersion\" : \"2106\"\r\n }\r\n],\r\n \"sharedCache\" : {\r\n \"base\" : 6473089024,\r\n \"size\" : 4018896896,\r\n \"uuid\" : \"80dd42b3-8a52-3caf-9848-54a1c2732864\"\r\n},\r\n \"vmSummary\" : \"ReadOnly portion of Libraries: Total=1.0G resident=0K(0%) swapped_out_or_unallocated=1.0G(100%)\\nWritable regions: Total=1.7G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.7G(100%)\\n\\n VIRTUAL REGION \\nREGION TYPE SIZE COUNT (non-coalesced) \\n=========== ======= ======= \\nActivity Tracing 256K 1 \\nKernel Alloc Once 32K 1 \\nMALLOC 1.6G 38 \\nMALLOC guard page 96K 6 \\nSTACK GUARD 56.1M 7 \\nStack 48.7M 7 \\nVM_ALLOCATE 102.0M 819 \\n__AUTH 339K 65 \\n__AUTH_CONST 4052K 146 \\n__DATA 1951K 143 \\n__DATA_CONST 4384K 157 \\n__DATA_DIRTY 363K 58 \\n__LINKEDIT 888.1M 11 \\n__OBJC_RO 70.8M 1 \\n__OBJC_RW 2156K 1 \\n__TEXT 129.9M 164 \\ndyld private memory 272K 2 \\nshared memory 32K 2 \\n=========== ======= ======= \\nTOTAL 2.9G 1629 \\n\",\r\n \"legacyInfo\" : {\r\n \"threadTriggered\" : {\r\n \"queue\" : \"com.apple.main-thread\"\r\n }\r\n},\r\n \"logWritingSignature\" : \"207a1e8cd4e08c4600af5e2c05c966ba52efdd2b\",\r\n \"trialInfo\" : {\r\n \"rollouts\" : [\r\n {\r\n \"rolloutId\" : \"6410af69ed1e1e7ab93ed169\",\r\n \"factorPackIds\" : {\r\n\r\n },\r\n \"deploymentId\" : 240000010\r\n },\r\n {\r\n \"rolloutId\" : \"60da5e84ab0ca017dace9abf\",\r\n \"factorPackIds\" : {\r\n\r\n },\r\n \"deploymentId\" : 240000008\r\n }\r\n ],\r\n \"experiments\" : [\r\n\r\n ]\r\n}\r\n}\r\n\r\n\n\n### Steps to reproduce\n\nI don't have steps to reproduce. \r\nNot 100% sure if it is related to this plugin https://github.com/luukvbaal/statuscol.nvim/issues\n\n### Expected behavior\n\nThe application should not crash\n\n### Neovim version (nvim -v)\n\n0.10.0 2cd76a758b4511748d9482e5af58162a608516b4\n\n### Vim (not Nvim) behaves the same?\n\nno\n\n### Operating system/version\n\nmacOS 14.1.1\n\n### Terminal name/version\n\nx\n\n### $TERM environment variable\n\nxterm-256color\n\n### Installation\n\nbuild from repo", + "closed_at": "2024-01-31T03:59:13Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "Duplicate of #27046. Potentially fixed by #27122", + "created_at": "2024-01-31T03:36:55Z", + "html_url": "https://github.com/neovim/neovim/issues/27273#issuecomment-1918322499", + "id": 1918322499, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27273", + "node_id": "IC_kwDOAPphoM5yV0dD", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918322499/reactions" + }, + "updated_at": "2024-01-31T03:36:55Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918322499", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/31730729?v=4", + "events_url": "https://api.github.com/users/luukvbaal/events{/privacy}", + "followers_url": "https://api.github.com/users/luukvbaal/followers", + "following_url": "https://api.github.com/users/luukvbaal/following{/other_user}", + "gists_url": "https://api.github.com/users/luukvbaal/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/luukvbaal", + "id": 31730729, + "login": "luukvbaal", + "node_id": "MDQ6VXNlcjMxNzMwNzI5", + "organizations_url": "https://api.github.com/users/luukvbaal/orgs", + "received_events_url": "https://api.github.com/users/luukvbaal/received_events", + "repos_url": "https://api.github.com/users/luukvbaal/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/luukvbaal/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/luukvbaal/subscriptions", + "type": "User", + "url": "https://api.github.com/users/luukvbaal" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Thanks @luukvbaal closing this issue. This crash was also triggered by an undo change. \r\n", + "created_at": "2024-01-31T03:59:14Z", + "html_url": "https://github.com/neovim/neovim/issues/27273#issuecomment-1918338380", + "id": 1918338380, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27273", + "node_id": "IC_kwDOAPphoM5yV4VM", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918338380/reactions" + }, + "updated_at": "2024-01-31T03:59:14Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918338380", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/3860298?v=4", + "events_url": "https://api.github.com/users/marcoSven/events{/privacy}", + "followers_url": "https://api.github.com/users/marcoSven/followers", + "following_url": "https://api.github.com/users/marcoSven/following{/other_user}", + "gists_url": "https://api.github.com/users/marcoSven/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/marcoSven", + "id": 3860298, + "login": "marcoSven", + "node_id": "MDQ6VXNlcjM4NjAyOTg=", + "organizations_url": "https://api.github.com/users/marcoSven/orgs", + "received_events_url": "https://api.github.com/users/marcoSven/received_events", + "repos_url": "https://api.github.com/users/marcoSven/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/marcoSven/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/marcoSven/subscriptions", + "type": "User", + "url": "https://api.github.com/users/marcoSven" + } + } + ], + "comments": 2, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27273/comments", + "created_at": "2024-01-31T02:59:19Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27273/events", + "html_url": "https://github.com/neovim/neovim/issues/27273", + "id": 2109185832, + "labels": [ + { + "color": "0E8A16", + "default": false, + "description": "issue contains a stacktrace/ASAN log", + "id": 435854079, + "name": "has:backtrace", + "node_id": "MDU6TGFiZWw0MzU4NTQwNzk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/has:backtrace" + }, + { + "color": "F9D0C4", + "default": false, + "description": "issue reporting a crash or segfault", + "id": 435854234, + "name": "bug-crash", + "node_id": "MDU6TGFiZWw0MzU4NTQyMzQ=", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug-crash" + }, + { + "color": "c5def5", + "default": false, + "description": "sign/number column", + "id": 2962322085, + "name": "column", + "node_id": "MDU6TGFiZWwyOTYyMzIyMDg1", + "url": "https://api.github.com/repos/neovim/neovim/labels/column" + }, + { + "color": "e6e6e6", + "default": false, + "description": "issues that are closed as duplicates of other issues", + "id": 3221613764, + "name": "closed:duplicate", + "node_id": "MDU6TGFiZWwzMjIxNjEzNzY0", + "url": "https://api.github.com/repos/neovim/neovim/labels/closed:duplicate" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27273/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM59t58o", + "number": 27273, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27273/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "completed", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27273/timeline", + "title": "Assertion failed: (buf->b_signcols.count[prevwidth - 1] >= 0)", + "updated_at": "2024-01-31T21:39:17Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27273", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/3860298?v=4", + "events_url": "https://api.github.com/users/marcoSven/events{/privacy}", + "followers_url": "https://api.github.com/users/marcoSven/followers", + "following_url": "https://api.github.com/users/marcoSven/following{/other_user}", + "gists_url": "https://api.github.com/users/marcoSven/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/marcoSven", + "id": 3860298, + "login": "marcoSven", + "node_id": "MDQ6VXNlcjM4NjAyOTg=", + "organizations_url": "https://api.github.com/users/marcoSven/orgs", + "received_events_url": "https://api.github.com/users/marcoSven/received_events", + "repos_url": "https://api.github.com/users/marcoSven/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/marcoSven/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/marcoSven/subscriptions", + "type": "User", + "url": "https://api.github.com/users/marcoSven" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27277.json b/repositories/neovim/issues/27277.json new file mode 100644 index 00000000..1321825c --- /dev/null +++ b/repositories/neovim/issues/27277.json @@ -0,0 +1,310 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "body": "### Problem\n\nSome functions, like `nvim_win_get_config`, have a lua-special-tbl float in the returned values, but what the user sees when inspecting it is a table with the keys `true` and `false` set to some numbers, which is confusing.\n\n### Expected behavior\n\nA solution is to add a notice to the documentation of the functions that may have lua-special-tbl in the return value about how the return value may contain lua-special-tbl.\r\n\r\nAn alternative solution would be to make it so that inspecting a lua-special-tbl would not return the table with boolean keys, but either a string similar to `vim.empty_dict()`, or the table with the keys being `vim.type_idx` and `vim.val_idx` instead of `true` and `false`", + "closed_at": null, + "comment_data": [ + { + "author_association": "MEMBER", + "body": "> add a notice to the documentation of the functions that may have lua-special-tbl in the return value about how the return value may contain lua-special-tbl\r\n\r\nThat is all functions that can return a dict.\r\n\r\n> make it so that inspecting a lua-special-tbl would not return the table with boolean keys, but either a string similar to `vim.empty_dict()`, or the table with the keys being `vim.type_idx` and `vim.val_idx` instead of `true` and `false`\r\n\r\nDo you mean `vim.inspect()`? \r\n\r\n\r\n\r\n", + "created_at": "2024-01-31T16:04:08Z", + "html_url": "https://github.com/neovim/neovim/issues/27277#issuecomment-1919413071", + "id": 1919413071, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27277", + "node_id": "IC_kwDOAPphoM5yZ-tP", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919413071/reactions" + }, + "updated_at": "2024-01-31T16:04:40Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919413071", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "For the documentation, what I thought of was for those functions that would, if not for vim-script compatibility reasons, return a normal number/table, but because of vim-script compatibility, return a lua-special-tbl (or returns a table that contains a lua-special-tbl).\r\n\r\nFor the inspection, mostly yes: I would also want to include tostring, but I don't know how feasible it is to set metatable.__tostring for lua-special-tbl.", + "created_at": "2024-01-31T16:21:11Z", + "html_url": "https://github.com/neovim/neovim/issues/27277#issuecomment-1919447610", + "id": 1919447610, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27277", + "node_id": "IC_kwDOAPphoM5yaHI6", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919447610/reactions" + }, + "updated_at": "2024-01-31T16:21:11Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919447610", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", + "events_url": "https://api.github.com/users/altermo/events{/privacy}", + "followers_url": "https://api.github.com/users/altermo/followers", + "following_url": "https://api.github.com/users/altermo/following{/other_user}", + "gists_url": "https://api.github.com/users/altermo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/altermo", + "id": 107814000, + "login": "altermo", + "node_id": "U_kgDOBm0ccA", + "organizations_url": "https://api.github.com/users/altermo/orgs", + "received_events_url": "https://api.github.com/users/altermo/received_events", + "repos_url": "https://api.github.com/users/altermo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/altermo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/altermo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/altermo" + } + }, + { + "author_association": "MEMBER", + "body": "> Some functions, like nvim_win_get_config, have a lua-special-tbl float in the returned values, but what the user sees when inspecting it is a table with the keys true and false set to some numbers, which is confusing.\r\n\r\nHmm in this particular case it is a bug. There is no \"compat\" going on here but `vim.api.nvim_win_get_config()` is a native API call. And as the type of row/col is an hard-coded Float, not a free Object, it should always be represented by a lua number (i e row=2 and row=2.0 is the same value already in the API layer) \r\n\r\nSpecial dicts for numbers are only for cases where `2` as an int and `2.0` as a float are different as values, i e when representing foreign type systems.", + "created_at": "2024-01-31T17:34:37Z", + "html_url": "https://github.com/neovim/neovim/issues/27277#issuecomment-1919585790", + "id": 1919585790, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27277", + "node_id": "IC_kwDOAPphoM5yao3-", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919585790/reactions" + }, + "updated_at": "2024-01-31T17:34:37Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919585790", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "The behavior of `vim.api.nvim_win_get_config()` returning lua-special-tbl being a bug was already brought up, and marked as intended behavior (https://github.com/neovim/neovim/issues/24430#issuecomment-1647437296)", + "created_at": "2024-01-31T17:53:28Z", + "html_url": "https://github.com/neovim/neovim/issues/27277#issuecomment-1919616313", + "id": 1919616313, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27277", + "node_id": "IC_kwDOAPphoM5yawU5", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919616313/reactions" + }, + "updated_at": "2024-01-31T17:53:28Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919616313", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", + "events_url": "https://api.github.com/users/altermo/events{/privacy}", + "followers_url": "https://api.github.com/users/altermo/followers", + "following_url": "https://api.github.com/users/altermo/following{/other_user}", + "gists_url": "https://api.github.com/users/altermo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/altermo", + "id": 107814000, + "login": "altermo", + "node_id": "U_kgDOBm0ccA", + "organizations_url": "https://api.github.com/users/altermo/orgs", + "received_events_url": "https://api.github.com/users/altermo/received_events", + "repos_url": "https://api.github.com/users/altermo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/altermo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/altermo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/altermo" + } + }, + { + "author_association": "MEMBER", + "body": "That reasoning is incorrect tho, for the reasons I already mentioned. The type of a float position was intentionally chosen to be a number, not a foreign object of an unknown type. Neither is a \"special case\" of the other, it is just two different code paths which has always existed (and we fixed _bugs_ like this multiple times in the past)", + "created_at": "2024-01-31T18:01:08Z", + "html_url": "https://github.com/neovim/neovim/issues/27277#issuecomment-1919629791", + "id": 1919629791, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27277", + "node_id": "IC_kwDOAPphoM5yaznf", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919629791/reactions" + }, + "updated_at": "2024-01-31T18:01:08Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919629791", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + } + } + ], + "comments": 5, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27277/comments", + "created_at": "2024-01-31T13:24:25Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27277/events", + "html_url": "https://github.com/neovim/neovim/issues/27277", + "id": 2110092003, + "labels": [ + { + "color": "c2e0c6", + "default": true, + "description": "feature request", + "id": 77997476, + "name": "enhancement", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3Ng==", + "url": "https://api.github.com/repos/neovim/neovim/labels/enhancement" + }, + { + "color": "c5def5", + "default": true, + "description": "", + "id": 84744038, + "name": "documentation", + "node_id": "MDU6TGFiZWw4NDc0NDAzOA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/documentation" + }, + { + "color": "c5def5", + "default": false, + "description": "stdlib", + "id": 573222693, + "name": "lua", + "node_id": "MDU6TGFiZWw1NzMyMjI2OTM=", + "url": "https://api.github.com/repos/neovim/neovim/labels/lua" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27277/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM59xXLj", + "number": 27277, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27277/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27277/timeline", + "title": "Informe the user that the value is a lua-special-tbl.", + "updated_at": "2024-01-31T18:01:09Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27277", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", + "events_url": "https://api.github.com/users/altermo/events{/privacy}", + "followers_url": "https://api.github.com/users/altermo/followers", + "following_url": "https://api.github.com/users/altermo/following{/other_user}", + "gists_url": "https://api.github.com/users/altermo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/altermo", + "id": 107814000, + "login": "altermo", + "node_id": "U_kgDOBm0ccA", + "organizations_url": "https://api.github.com/users/altermo/orgs", + "received_events_url": "https://api.github.com/users/altermo/received_events", + "repos_url": "https://api.github.com/users/altermo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/altermo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/altermo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/altermo" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27279.json b/repositories/neovim/issues/27279.json new file mode 100644 index 00000000..1842b3c8 --- /dev/null +++ b/repositories/neovim/issues/27279.json @@ -0,0 +1,160 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Problem\n\nwhenever i try to run for example `:below term`, or any variation of it, it ends up replacing the whole window rather than being a seperate window below. `:[v]split | term` does work, so its weird why the others wouldnt\r\n\r\non regular vim, this issue doesnt exist and the commands function as intended\n\n### Steps to reproduce\n\nnvim --clean\r\n:below term\n\n### Expected behavior\n\nterminal window opens in split window below\n\n### Neovim version (nvim -v)\n\n0.9.5\n\n### Vim (not Nvim) behaves the same?\n\nno, 9.1\n\n### Operating system/version\n\narch linux, 6.7.2-arch1-1\n\n### Terminal name/version\n\nkitty 0.31.0\n\n### $TERM environment variable\n\nxterm-kitty\n\n### Installation\n\npacman", + "closed_at": "2024-01-31T22:45:55Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "This is already fixed in #15427 #26714 #26731. Please test on latest neovim nightly.", + "created_at": "2024-01-31T22:45:56Z", + "html_url": "https://github.com/neovim/neovim/issues/27279#issuecomment-1920114131", + "id": 1920114131, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27279", + "node_id": "IC_kwDOAPphoM5ycp3T", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920114131/reactions" + }, + "updated_at": "2024-01-31T22:45:56Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920114131", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "author_association": "NONE", + "body": "> This is already fixed in #15427 #26714 #26731. Please test on latest neovim nightly.\r\n\r\nworks on nightly, so ig i just gotta use that until the next stable release", + "created_at": "2024-01-31T23:54:33Z", + "html_url": "https://github.com/neovim/neovim/issues/27279#issuecomment-1920198425", + "id": 1920198425, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27279", + "node_id": "IC_kwDOAPphoM5yc-cZ", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920198425/reactions" + }, + "updated_at": "2024-01-31T23:54:33Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920198425", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/85036427?v=4", + "events_url": "https://api.github.com/users/ana-rchy/events{/privacy}", + "followers_url": "https://api.github.com/users/ana-rchy/followers", + "following_url": "https://api.github.com/users/ana-rchy/following{/other_user}", + "gists_url": "https://api.github.com/users/ana-rchy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/ana-rchy", + "id": 85036427, + "login": "ana-rchy", + "node_id": "MDQ6VXNlcjg1MDM2NDI3", + "organizations_url": "https://api.github.com/users/ana-rchy/orgs", + "received_events_url": "https://api.github.com/users/ana-rchy/received_events", + "repos_url": "https://api.github.com/users/ana-rchy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/ana-rchy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ana-rchy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/ana-rchy" + } + } + ], + "comments": 2, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27279/comments", + "created_at": "2024-01-31T22:39:31Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27279/events", + "html_url": "https://github.com/neovim/neovim/issues/27279", + "id": 2111106090, + "labels": [ + { + "color": "e6e6e6", + "default": false, + "description": "issues that are closed as duplicates of other issues", + "id": 3221613764, + "name": "closed:duplicate", + "node_id": "MDU6TGFiZWwzMjIxNjEzNzY0", + "url": "https://api.github.com/repos/neovim/neovim/labels/closed:duplicate" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27279/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM591Owq", + "number": 27279, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27279/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "completed", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27279/timeline", + "title": "`:[horizontal|below|vertical|above] [terminal|checkhealth|` doesnt behave properly on even a `--clean` boot of neovim", + "updated_at": "2024-01-31T23:54:34Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27279", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/85036427?v=4", + "events_url": "https://api.github.com/users/ana-rchy/events{/privacy}", + "followers_url": "https://api.github.com/users/ana-rchy/followers", + "following_url": "https://api.github.com/users/ana-rchy/following{/other_user}", + "gists_url": "https://api.github.com/users/ana-rchy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/ana-rchy", + "id": 85036427, + "login": "ana-rchy", + "node_id": "MDQ6VXNlcjg1MDM2NDI3", + "organizations_url": "https://api.github.com/users/ana-rchy/orgs", + "received_events_url": "https://api.github.com/users/ana-rchy/received_events", + "repos_url": "https://api.github.com/users/ana-rchy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/ana-rchy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ana-rchy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/ana-rchy" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27285.json b/repositories/neovim/issues/27285.json new file mode 100644 index 00000000..d27a0c34 --- /dev/null +++ b/repositories/neovim/issues/27285.json @@ -0,0 +1,238 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "body": "### Problem\n\nThis issue is similar to https://github.com/neovim/neovim/issues/25365, but for the `alternate-file`.\r\n\r\nIt often happens that when deleting a buffer (with `:bd`), say `file1`, that buffer is just unlisted and \"invisibly\" stays the `alternate-file` for another buffer `file2`. When `file2` is active, pressing `Ctrl-^` will make neovim attempt to re-open `file1`.\r\n\r\nProblems:\r\n- some buffers can't be reloaded\r\n- typically, a buffer was deleted for a reason, so it's unlikely that someone would use the `Ctrl-^` command with the intention to reload that buffer (although in certain scenarios this could be a valid use case)\r\n\r\nIf instead one doesn't just delete the buffer, but wipes it with `:bw`, then doing `Ctrl-^` as above, one gets the error \"E23: No alternate file\".\n\n### Expected behavior\n\nI believe that for the vast majority of use-cases, it would be practical that when deleting/wiping a buffer, another buffer predictably becomes the alternate buffer. The most obvious candidate would be closest other listed buffer in the jumplist.", + "closed_at": "2024-02-01T13:28:45Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "please use issue template with all informations that we need. thanks.", + "created_at": "2024-02-01T13:28:46Z", + "html_url": "https://github.com/neovim/neovim/issues/27285#issuecomment-1921326046", + "id": 1921326046, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27285", + "node_id": "IC_kwDOAPphoM5yhRve", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921326046/reactions" + }, + "updated_at": "2024-02-01T13:28:46Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921326046", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "I did use the issue template for \"Feature request\". This isn't a bug report, as I don't think there's a bug. Just for clarification, do you want me to make a bug report issue?", + "created_at": "2024-02-01T13:38:08Z", + "html_url": "https://github.com/neovim/neovim/issues/27285#issuecomment-1921345819", + "id": 1921345819, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27285", + "node_id": "IC_kwDOAPphoM5yhWkb", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921345819/reactions" + }, + "updated_at": "2024-02-01T13:38:08Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921345819", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/10359335?v=4", + "events_url": "https://api.github.com/users/Maltimore/events{/privacy}", + "followers_url": "https://api.github.com/users/Maltimore/followers", + "following_url": "https://api.github.com/users/Maltimore/following{/other_user}", + "gists_url": "https://api.github.com/users/Maltimore/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Maltimore", + "id": 10359335, + "login": "Maltimore", + "node_id": "MDQ6VXNlcjEwMzU5MzM1", + "organizations_url": "https://api.github.com/users/Maltimore/orgs", + "received_events_url": "https://api.github.com/users/Maltimore/received_events", + "repos_url": "https://api.github.com/users/Maltimore/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Maltimore/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Maltimore/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Maltimore" + } + }, + { + "author_association": "MEMBER", + "body": "sound like a bug 🤔 It's not work like before right ?", + "created_at": "2024-02-01T13:41:10Z", + "html_url": "https://github.com/neovim/neovim/issues/27285#issuecomment-1921351375", + "id": 1921351375, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27285", + "node_id": "IC_kwDOAPphoM5yhX7P", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921351375/reactions" + }, + "updated_at": "2024-02-01T13:42:22Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921351375", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "It has actually always been like this, this behavior didn't change after the linked issue regarding the unintuitive jumplist was closed/fixed.\r\nI opened a \"bug report\" issue now at https://github.com/neovim/neovim/issues/27286", + "created_at": "2024-02-01T14:07:38Z", + "html_url": "https://github.com/neovim/neovim/issues/27285#issuecomment-1921410657", + "id": 1921410657, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27285", + "node_id": "IC_kwDOAPphoM5yhmZh", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921410657/reactions" + }, + "updated_at": "2024-02-01T14:08:27Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921410657", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/10359335?v=4", + "events_url": "https://api.github.com/users/Maltimore/events{/privacy}", + "followers_url": "https://api.github.com/users/Maltimore/followers", + "following_url": "https://api.github.com/users/Maltimore/following{/other_user}", + "gists_url": "https://api.github.com/users/Maltimore/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Maltimore", + "id": 10359335, + "login": "Maltimore", + "node_id": "MDQ6VXNlcjEwMzU5MzM1", + "organizations_url": "https://api.github.com/users/Maltimore/orgs", + "received_events_url": "https://api.github.com/users/Maltimore/received_events", + "repos_url": "https://api.github.com/users/Maltimore/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Maltimore/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Maltimore/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Maltimore" + } + } + ], + "comments": 4, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27285/comments", + "created_at": "2024-02-01T13:24:26Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27285/events", + "html_url": "https://github.com/neovim/neovim/issues/27285", + "id": 2112511435, + "labels": [], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27285/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM596l3L", + "number": 27285, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27285/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "not_planned", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27285/timeline", + "title": "`Ctrl-^` behaves unintuitively when deleting buffers", + "updated_at": "2024-02-01T18:17:55Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27285", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/10359335?v=4", + "events_url": "https://api.github.com/users/Maltimore/events{/privacy}", + "followers_url": "https://api.github.com/users/Maltimore/followers", + "following_url": "https://api.github.com/users/Maltimore/following{/other_user}", + "gists_url": "https://api.github.com/users/Maltimore/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Maltimore", + "id": 10359335, + "login": "Maltimore", + "node_id": "MDQ6VXNlcjEwMzU5MzM1", + "organizations_url": "https://api.github.com/users/Maltimore/orgs", + "received_events_url": "https://api.github.com/users/Maltimore/received_events", + "repos_url": "https://api.github.com/users/Maltimore/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Maltimore/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Maltimore/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Maltimore" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27286.json b/repositories/neovim/issues/27286.json new file mode 100644 index 00000000..ea4ab690 --- /dev/null +++ b/repositories/neovim/issues/27286.json @@ -0,0 +1,292 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "body": "### Problem\n\nThis issue is similar to https://github.com/neovim/neovim/issues/25365, but for the `alternate-file`. I previously opened this as a \"feature request\" issue but was told it fits more the \"bug report\" issue.\r\n\r\nIt often happens that when deleting a buffer (with `:bd`), say `file1`, that buffer is just unlisted and \"invisibly\" stays the `alternate-file` for another buffer `file2`. When `file2` is active, pressing `Ctrl-^` will make neovim attempt to re-open `file1`.\r\n\r\nProblems:\r\n- some buffers can't be reloaded\r\n- typically, a buffer was deleted for a reason, so it's unlikely that someone would use the `Ctrl-^` command with the intention to reload that buffer (although in certain scenarios this could be a valid use case)\r\n\r\nIf instead one doesn't just delete the buffer, but wipes it with `:bw`, then doing `Ctrl-^` as above, one gets the error \"E23: No alternate file\".\n\n### Steps to reproduce\n\n`nvim --clean file1`\r\n`:e file2`\r\n`:e file3`\r\nNow, `file3` is active, and `file2` is the `alternate-file`.\r\n`:bd2` to close `file2`, and the active buffer is still `file3`.\r\npress `Ctrl-^`\r\nNow, `file2` is loaded again even though it was just deleted.\n\n### Expected behavior\n\nI believe that for most use-cases, it would be practical that when deleting/wiping a buffer, another buffer predictably becomes the alternate buffer. The most obvious candidate would be closest other listed buffer in the `jumplist`.\n\n### Neovim version (nvim -v)\n\nNVIM v0.10.0-dev-2250+g6bba4bece\n\n### Vim (not Nvim) behaves the same?\n\nno, vim 8.2\n\n### Operating system/version\n\nUbuntu 22.04\n\n### Terminal name/version\n\nkonsole 23.08.4\n\n### $TERM environment variable\n\ntmux-256color\n\n### Installation\n\nappimage (nightly)", + "closed_at": "2024-02-01T14:10:27Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "> I believe that for most use-cases, it would be practical that when deleting/wiping a buffer, another buffer predictably becomes the alternate buffer. The most obvious candidate would be closest other listed buffer in the `jumplist`.\r\n\r\nI don't think this makes sense. Alternate file is not jumplist and there is no such thing as \"another buffer predictably becomes the alternate buffer\".", + "created_at": "2024-02-01T14:10:27Z", + "html_url": "https://github.com/neovim/neovim/issues/27286#issuecomment-1921417842", + "id": 1921417842, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27286", + "node_id": "IC_kwDOAPphoM5yhoJy", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921417842/reactions" + }, + "updated_at": "2024-02-01T14:14:39Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921417842", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "This is how it's supposed to work, and does work like that on Vim 9.1.", + "created_at": "2024-02-01T14:20:51Z", + "html_url": "https://github.com/neovim/neovim/issues/27286#issuecomment-1921449133", + "id": 1921449133, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27286", + "node_id": "IC_kwDOAPphoM5yhvyt", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921449133/reactions" + }, + "updated_at": "2024-02-01T14:20:51Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921449133", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7416158?v=4", + "events_url": "https://api.github.com/users/craigmac/events{/privacy}", + "followers_url": "https://api.github.com/users/craigmac/followers", + "following_url": "https://api.github.com/users/craigmac/following{/other_user}", + "gists_url": "https://api.github.com/users/craigmac/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/craigmac", + "id": 7416158, + "login": "craigmac", + "node_id": "MDQ6VXNlcjc0MTYxNTg=", + "organizations_url": "https://api.github.com/users/craigmac/orgs", + "received_events_url": "https://api.github.com/users/craigmac/received_events", + "repos_url": "https://api.github.com/users/craigmac/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/craigmac/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/craigmac/subscriptions", + "type": "User", + "url": "https://api.github.com/users/craigmac" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "It is true that vim works the same way, but I didn't see this behavior of reloading deleted buffers documented, neither at the docs for `Ctrl-^` nor `alternate-file`.\r\nSo AFAICT, this is undocumented behavior that also doesn't make much sense (especially trying to load non-loadable ephemeral buffers!). Even if my proposed solution is not liked, I think the issue itself persists.", + "created_at": "2024-02-01T14:42:22Z", + "html_url": "https://github.com/neovim/neovim/issues/27286#issuecomment-1921493785", + "id": 1921493785, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27286", + "node_id": "IC_kwDOAPphoM5yh6sZ", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921493785/reactions" + }, + "updated_at": "2024-02-01T14:42:22Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921493785", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/10359335?v=4", + "events_url": "https://api.github.com/users/Maltimore/events{/privacy}", + "followers_url": "https://api.github.com/users/Maltimore/followers", + "following_url": "https://api.github.com/users/Maltimore/following{/other_user}", + "gists_url": "https://api.github.com/users/Maltimore/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Maltimore", + "id": 10359335, + "login": "Maltimore", + "node_id": "MDQ6VXNlcjEwMzU5MzM1", + "organizations_url": "https://api.github.com/users/Maltimore/orgs", + "received_events_url": "https://api.github.com/users/Maltimore/received_events", + "repos_url": "https://api.github.com/users/Maltimore/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Maltimore/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Maltimore/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Maltimore" + } + }, + { + "author_association": "MEMBER", + "body": "@Maltimore You might be able to script something that does what you want by combining a `BufDelete` autocommand and setting the `@#` register. But I don't think the default behavior here is going to change. Some people like and want this behavior and may depend on it (seeing as it's been around since the beginning).", + "created_at": "2024-02-01T15:44:41Z", + "html_url": "https://github.com/neovim/neovim/issues/27286#issuecomment-1921624906", + "id": 1921624906, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27286", + "node_id": "IC_kwDOAPphoM5yiatK", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921624906/reactions" + }, + "updated_at": "2024-02-01T15:44:41Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921624906", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Thanks @gpanders! I'll see if I can come up with something and post it here if so, so others who find this issue can use it as well.", + "created_at": "2024-02-01T21:12:25Z", + "html_url": "https://github.com/neovim/neovim/issues/27286#issuecomment-1922253883", + "id": 1922253883, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27286", + "node_id": "IC_kwDOAPphoM5yk0Q7", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922253883/reactions" + }, + "updated_at": "2024-02-01T21:12:25Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922253883", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/10359335?v=4", + "events_url": "https://api.github.com/users/Maltimore/events{/privacy}", + "followers_url": "https://api.github.com/users/Maltimore/followers", + "following_url": "https://api.github.com/users/Maltimore/following{/other_user}", + "gists_url": "https://api.github.com/users/Maltimore/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Maltimore", + "id": 10359335, + "login": "Maltimore", + "node_id": "MDQ6VXNlcjEwMzU5MzM1", + "organizations_url": "https://api.github.com/users/Maltimore/orgs", + "received_events_url": "https://api.github.com/users/Maltimore/received_events", + "repos_url": "https://api.github.com/users/Maltimore/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Maltimore/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Maltimore/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Maltimore" + } + } + ], + "comments": 5, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27286/comments", + "created_at": "2024-02-01T14:05:36Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27286/events", + "html_url": "https://github.com/neovim/neovim/issues/27286", + "id": 2112605630, + "labels": [ + { + "color": "e6e6e6", + "default": false, + "description": "current behavior is by design, and change is not desired", + "id": 77997479, + "name": "closed:wontfix", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3OQ==", + "url": "https://api.github.com/repos/neovim/neovim/labels/closed:wontfix" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27286/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM59682-", + "number": 27286, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27286/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "not_planned", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27286/timeline", + "title": "`Ctrl-^` (`alternate-file` buffer) behaves unintuitively when deleting buffers", + "updated_at": "2024-02-01T21:12:26Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27286", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/10359335?v=4", + "events_url": "https://api.github.com/users/Maltimore/events{/privacy}", + "followers_url": "https://api.github.com/users/Maltimore/followers", + "following_url": "https://api.github.com/users/Maltimore/following{/other_user}", + "gists_url": "https://api.github.com/users/Maltimore/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Maltimore", + "id": 10359335, + "login": "Maltimore", + "node_id": "MDQ6VXNlcjEwMzU5MzM1", + "organizations_url": "https://api.github.com/users/Maltimore/orgs", + "received_events_url": "https://api.github.com/users/Maltimore/received_events", + "repos_url": "https://api.github.com/users/Maltimore/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Maltimore/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Maltimore/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Maltimore" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27288.json b/repositories/neovim/issues/27288.json new file mode 100644 index 00000000..16c27315 --- /dev/null +++ b/repositories/neovim/issues/27288.json @@ -0,0 +1,178 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "body": "### Problem\n\nI failed to find a way a native lsp feature to scroll docs. Apparently you have to enter the docs by pressing the same keymap twice, then scroll normally, and then you also have to jump out of the floating window. I don't like it, because it forces me to use additional keymaps when I just want to scroll down the docs once or twice. I saw someone mentioned that the coc.nvim plugin does have this feature. And from what I've read it jumps into the floating window, scrolls and then jump out of it. Although, when I used it I didn't notice anything like that — it just scrolls, and I loved it. At least `` and `` worked, and this was enough for me (at least from what I can remember). If a user wants to copy something from the docs, then the double keymap press to hop into it can still be used. I also didn't find how to scroll docs when using nvim-cmp, I only know that I can scroll it up and down with Lua API (autocompletion docs in insert mode), but it doesn't work for Neovim's LSP hover docs window.\r\n\r\nRelated links:\r\nhttps://github.com/neovim/neovim/issues/15092\r\nhttps://github.com/hrsh7th/nvim-cmp/issues/1410\n\n### Expected behavior\n\nThe feature can be implemented in 2 ways, I suppose:\r\n1. add a scroll function that would do \"jump in, scroll, jump out\" action\r\n2. add a proper docs scroll for a floating window without entering it\r\n\r\nThe first one should be much easier. The second probably would require quite a bit of discussion about which windows can be scrolled this way and the API.\r\n\r\nI haven't used VS Code in a long time, but I bet you can scroll in the floating windows there, when you hover over something. I think this feature is essential for the DX, and I am constantly reminded that it doesn't exist when I want to use it.", + "closed_at": null, + "comment_data": [ + { + "author_association": "MEMBER", + "body": "Implementing such a utility function won't be difficult and users could easily write one similar to [cmp's `docs_view:scroll()`](https://github.com/hrsh7th/nvim-cmp/blob/main/lua/cmp/view/docs_view.lua#L121) in their config. It's not specific to LSP hover but scrolling floating windows in general. This could be a part of #25514 if we wanted to include that into Nvim core.\r\n\r\nOne workaround that you can use even currently is to use mouse: scrolling the wheels when the mouse pointer is over the floating window will make the (floating) window scrolled.", + "created_at": "2024-02-01T17:55:45Z", + "html_url": "https://github.com/neovim/neovim/issues/27288#issuecomment-1921897368", + "id": 1921897368, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27288", + "node_id": "IC_kwDOAPphoM5yjdOY", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921897368/reactions" + }, + "updated_at": "2024-02-01T17:56:36Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921897368", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "> It's not specific to LSP hover but scrolling floating windows in general.\r\n\r\nYes. The second point was about that. A general solution that can be obviously used for non-hover-docs stuff. Though a dedicated `vim.lsp.buf.scroll_docs(number)` would be super convenient. It probably will include some additional logic, like automatically using the docs window that appeared after the call of `vim.lsp.buf.hover()`.\r\n\r\n> One workaround that you can use even currently is to use mouse\r\n\r\nThis workaround only works if I use a mouse, and I don't use a mouse. I use touchpad, but even it I use very rarely. Also, IMO, using mouse to scroll in docs window is probably slower than going into the docs window with an additional keymap (then scrolling with keymaps) and jumping out of it after with another keymap.", + "created_at": "2024-02-01T18:32:36Z", + "html_url": "https://github.com/neovim/neovim/issues/27288#issuecomment-1921964695", + "id": 1921964695, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27288", + "node_id": "IC_kwDOAPphoM5yjtqX", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921964695/reactions" + }, + "updated_at": "2024-02-01T18:32:36Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921964695", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/37143421?v=4", + "events_url": "https://api.github.com/users/Andrew15-5/events{/privacy}", + "followers_url": "https://api.github.com/users/Andrew15-5/followers", + "following_url": "https://api.github.com/users/Andrew15-5/following{/other_user}", + "gists_url": "https://api.github.com/users/Andrew15-5/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Andrew15-5", + "id": 37143421, + "login": "Andrew15-5", + "node_id": "MDQ6VXNlcjM3MTQzNDIx", + "organizations_url": "https://api.github.com/users/Andrew15-5/orgs", + "received_events_url": "https://api.github.com/users/Andrew15-5/received_events", + "repos_url": "https://api.github.com/users/Andrew15-5/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Andrew15-5/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Andrew15-5/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Andrew15-5" + } + } + ], + "comments": 2, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27288/comments", + "created_at": "2024-02-01T15:09:36Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27288/events", + "html_url": "https://github.com/neovim/neovim/issues/27288", + "id": 2112756492, + "labels": [ + { + "color": "c2e0c6", + "default": true, + "description": "feature request", + "id": 77997476, + "name": "enhancement", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3Ng==", + "url": "https://api.github.com/repos/neovim/neovim/labels/enhancement" + }, + { + "color": "c5def5", + "default": false, + "description": "", + "id": 113026979, + "name": "ui", + "node_id": "MDU6TGFiZWwxMTMwMjY5Nzk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/ui" + }, + { + "color": "C5DEF5", + "default": false, + "description": "floating windows", + "id": 3234818716, + "name": "float", + "node_id": "MDU6TGFiZWwzMjM0ODE4NzE2", + "url": "https://api.github.com/repos/neovim/neovim/labels/float" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27288/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM597hsM", + "number": 27288, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27288/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27288/timeline", + "title": "Ability to scroll hover docs floating window without entering it", + "updated_at": "2024-02-01T18:32:38Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27288", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/37143421?v=4", + "events_url": "https://api.github.com/users/Andrew15-5/events{/privacy}", + "followers_url": "https://api.github.com/users/Andrew15-5/followers", + "following_url": "https://api.github.com/users/Andrew15-5/following{/other_user}", + "gists_url": "https://api.github.com/users/Andrew15-5/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Andrew15-5", + "id": 37143421, + "login": "Andrew15-5", + "node_id": "MDQ6VXNlcjM3MTQzNDIx", + "organizations_url": "https://api.github.com/users/Andrew15-5/orgs", + "received_events_url": "https://api.github.com/users/Andrew15-5/received_events", + "repos_url": "https://api.github.com/users/Andrew15-5/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Andrew15-5/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Andrew15-5/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Andrew15-5" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27289.json b/repositories/neovim/issues/27289.json new file mode 100644 index 00000000..0eb450f4 --- /dev/null +++ b/repositories/neovim/issues/27289.json @@ -0,0 +1,160 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Problem\r\n\r\n### TL;DR\r\n`xpcall` doesn't fail on LuaJIT when called as\r\n```lua\r\nxpcall(func, handler, arg1, arg2, ...)\r\n```\r\nbut _does_ fail when compiled against Lua 5.1\r\n\r\n---\r\n\r\nAssume the following lua code.\r\n```lua\r\nfunction add(a, b)\r\n return a + b\r\nend\r\nfunction handler(err)\r\n print(err)\r\nend\r\n```\r\n\r\nNow, `:h luaref-xpcall()` states -\r\n```vimhelp\r\nxpcall({f}, {err}) *luaref-xpcall()*\r\n This function is similar to `pcall` (see |luaref-pcall()|), except that\r\n you can set a new error handler.\r\n```\r\n`:h luaref-pcall()`\r\n```vimhelp\r\npcall({f}, {arg1}, {...}) *luaref-pcall()*\r\n Calls function {f} with the given arguments in `protected mode`. This\r\n```\r\n\r\nSo according to the documentation, this is valid lua code -\r\n```lua\r\npcall(add, 1, 2)\r\n```\r\n\r\nSo far so good.\r\n\r\n---\r\nNow here comes the problem. \r\n \r\nNote that the `xpcall` documentation said\r\n> This function is similar to `pcall`, except that\r\n> you can set a new error handler.\r\n\r\nSo people may assume that it means xpcall is the same as pcall, except with an error handler function after `func` and **before the arguments.**\r\n\r\nNow, the function signature of xpcall is written as `xpcall(f, err)`, (which is correct) \r\nbut this piece of information directly contradicts the previous assumption made by the reader!\r\n\r\nSo what do they do? They, like a sensible person, test it out for themselves! \r\nThey download an official version of neovim (from any of the relevant sources) and run -\r\n```lua\r\nprint(xpcall(add, handler, 1, 2))\r\n```\r\nit prints -\r\n```\r\ntrue\r\n3\r\n```\r\nSo, they conclude their assumption was correct! `xpcall` _does_ take extra arguments (that are then passed to `f`). The documention just hasn't been updated, they think. And they go there merry way making lua plugins.\r\n\r\nNow what they _didn't_ know is that the same `xpcall` call would **fail** if neovim was compiled with the official Lua 5.1 release. They write a plugin based on that false assumption, and somebody writes their own plugin that depends on that plugin, \r\n... \r\nand now suddenly there's a neovim plugin that fails _silently_ when it's run on a neovim distribution that's compiled on Lua 5.1 (probably due to LuaJIT not being available).\r\n\r\nThe plugin user files a bug report, but neither parties have any idea what might be failing, because there's no error message! How am I supposed to debug an error if there _is_ no error?!\r\n\r\n---\r\n\r\n### Steps to reproduce\r\n\r\nSee above.\r\n\r\n### Expected behavior\r\n\r\nTwo options -\r\n1. Make LuaJIT-compiled neovim's `xpcall` fail when provided more/less than 2 arguments\r\n2. Make Lua-compiled neovim transparently accept the additional arguments, and update documention to reflect the same.\r\n\r\n**NOTE:** \r\nJust updating the documention without fixing the behaviour should NOT be an option IMHO/\r\n\r\n### Neovim version (nvim -v)\r\n\r\n0.9.5\r\n\r\n### Vim (not Nvim) behaves the same?\r\n\r\nN/A\r\n\r\n### Operating system/version\r\n\r\nany\r\n\r\n### Terminal name/version\r\n\r\nany\r\n\r\n### $TERM environment variable\r\n\r\nany\r\n\r\n### Installation\r\n\r\nany", + "closed_at": "2024-02-01T15:50:19Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "I don't see what this has to do with Neovim; this is purely about LuaJIT/PUC Lua differences. You get the interpreter you (or the person who built for you) chose.\r\n\r\nAnd this _is_ documented: https://luajit.org/extensions.html", + "created_at": "2024-02-01T15:49:47Z", + "html_url": "https://github.com/neovim/neovim/issues/27289#issuecomment-1921635518", + "id": 1921635518, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27289", + "node_id": "IC_kwDOAPphoM5yidS-", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921635518/reactions" + }, + "updated_at": "2024-02-01T15:50:15Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921635518", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "MEMBER", + "body": "As long as there isn't any code in our runtime that depends on this, there isn't an issue here.", + "created_at": "2024-02-01T19:50:14Z", + "html_url": "https://github.com/neovim/neovim/issues/27289#issuecomment-1922111973", + "id": 1922111973, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27289", + "node_id": "IC_kwDOAPphoM5ykRnl", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922111973/reactions" + }, + "updated_at": "2024-02-01T19:50:14Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922111973", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + } + ], + "comments": 2, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27289/comments", + "created_at": "2024-02-01T15:46:47Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27289/events", + "html_url": "https://github.com/neovim/neovim/issues/27289", + "id": 2112834503, + "labels": [ + { + "color": "e6e6e6", + "default": false, + "description": "current behavior is by design, and change is not desired", + "id": 77997479, + "name": "closed:wontfix", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3OQ==", + "url": "https://api.github.com/repos/neovim/neovim/labels/closed:wontfix" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27289/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM5970vH", + "number": 27289, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27289/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "not_planned", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27289/timeline", + "title": "Invalid xpcall fails silently when neovim is built against lua 5.1", + "updated_at": "2024-02-01T22:14:44Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27289", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/56714626?v=4", + "events_url": "https://api.github.com/users/subnut/events{/privacy}", + "followers_url": "https://api.github.com/users/subnut/followers", + "following_url": "https://api.github.com/users/subnut/following{/other_user}", + "gists_url": "https://api.github.com/users/subnut/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/subnut", + "id": 56714626, + "login": "subnut", + "node_id": "MDQ6VXNlcjU2NzE0NjI2", + "organizations_url": "https://api.github.com/users/subnut/orgs", + "received_events_url": "https://api.github.com/users/subnut/received_events", + "repos_url": "https://api.github.com/users/subnut/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/subnut/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/subnut/subscriptions", + "type": "User", + "url": "https://api.github.com/users/subnut" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27292.json b/repositories/neovim/issues/27292.json new file mode 100644 index 00000000..1a04ea31 --- /dev/null +++ b/repositories/neovim/issues/27292.json @@ -0,0 +1,222 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Problem\r\n\r\nWith `colorscheme vim`, I get different color results when editing a file at startup using `nvim ` than I do when opening nvim first and editing the file using `:edit `. This behavior only happens for some file types ((it happens with python files, for example, but not php):\r\n\r\n### Bad colors:\r\n```\r\nnvim --clean --cmd \"colorscheme vim\" manage.py\r\n```\r\n![image](https://github.com/neovim/neovim/assets/21318/8dce0ab2-6e52-4fc8-a50a-02bd9d82ccef)\r\n\r\n### Good colors:\r\n```\r\nnvim --clean --cmd \"colorscheme vim\"\r\n:edit manage.py\r\n```\r\n![image](https://github.com/neovim/neovim/assets/21318/f3426063-4135-4eea-a393-f24900a2d36c)\r\n\r\n\r\nOnce started with \"bad colors\" (e.g. editing a file directly from the command line), I haven't found any way to return to \"good colors\", other than exiting nvim and starting up again without specifying a file to edit from the command line.\r\n\r\nThis behavior started in an unstable release from about a week ago. It only seems to happen when using a \"light\" colorscheme in my terminal -- dark colorschemes still seem to get consistent colors however I open the file to edit.\r\n\r\n### Steps to reproduce\r\n\r\nUsing a terminal that has a light colorscheme, edit a python file. Note differences in colorscheme between how the file is opened.\r\n```\r\nnvim --clean --cmd \"colorscheme vim\" file.py\r\n```\r\nvs\r\n```\r\nnvim --clean --cmd \"colorscheme vim\"\r\n:edit file.py\r\n```\r\n\r\n\r\n### Expected behavior\r\n\r\nI expect the colors to behave in the way I see when starting nvim without a file, then opening it with `:edit file.py`.\r\n\r\n### Neovim version (nvim -v)\r\n\r\nv0.10.0-dev\r\n\r\n### Vim (not Nvim) behaves the same?\r\n\r\nno\r\n\r\n### Operating system/version\r\n\r\nUbuntu 22.04.3\r\n\r\n### Terminal name/version\r\n\r\nterminator 2.1.1-1\r\n\r\n### $TERM environment variable\r\n\r\nxterm-256color\r\n\r\n### Installation\r\n\r\nneovim-ppa-ubuntu-unstable", + "closed_at": "2024-02-02T13:52:03Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "The following change fixes this issue:\r\n```diff\r\ndiff --git a/runtime/lua/vim/_system.lua b/runtime/lua/vim/_system.lua\r\nindex efad3f88c..ee794c44d 100644\r\n--- a/runtime/lua/vim/_system.lua\r\n+++ b/runtime/lua/vim/_system.lua\r\n@@ -94,7 +94,7 @@ function SystemObj:wait(timeout)\r\n \r\n local done = vim.wait(timeout or state.timeout or MAX_TIMEOUT, function()\r\n return state.result ~= nil\r\n- end)\r\n+ end, nil, true)\r\n \r\n if not done then\r\n -- Send sigkill since this cannot be caught\r\n```", + "created_at": "2024-02-02T03:37:57Z", + "html_url": "https://github.com/neovim/neovim/issues/27292#issuecomment-1922748560", + "id": 1922748560, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27292", + "node_id": "IC_kwDOAPphoM5ymtCQ", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 1, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922748560/reactions" + }, + "updated_at": "2024-02-02T03:37:57Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922748560", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "MEMBER", + "body": "How does vim.system affect this?", + "created_at": "2024-02-02T21:19:08Z", + "html_url": "https://github.com/neovim/neovim/issues/27292#issuecomment-1924711445", + "id": 1924711445, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27292", + "node_id": "IC_kwDOAPphoM5yuMQV", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924711445/reactions" + }, + "updated_at": "2024-02-02T21:19:08Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924711445", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "author_association": "MEMBER", + "body": "The `BufReadPost` autocommand loads Python ftplugin, which loads Python provider, which calls `SystemObj:wait()`, which processes `nvim_ui_term_event`, which tries to trigger `TermResponse`, but the `BufReadPost` didn't allow nested autocommands.", + "created_at": "2024-02-02T21:54:43Z", + "html_url": "https://github.com/neovim/neovim/issues/27292#issuecomment-1924759338", + "id": 1924759338, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27292", + "node_id": "IC_kwDOAPphoM5yuX8q", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924759338/reactions" + }, + "updated_at": "2024-02-02T21:54:43Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924759338", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + } + ], + "comments": 3, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27292/comments", + "created_at": "2024-02-01T18:06:42Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27292/events", + "html_url": "https://github.com/neovim/neovim/issues/27292", + "id": 2113119425, + "labels": [ + { + "color": "f9d0c4", + "default": true, + "description": "issues reporting wrong behavior", + "id": 77997474, + "name": "bug", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3NA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug" + }, + { + "color": "c5def5", + "default": false, + "description": "OS processes, spawn", + "id": 182884815, + "name": "job-control", + "node_id": "MDU6TGFiZWwxODI4ODQ4MTU=", + "url": "https://api.github.com/repos/neovim/neovim/labels/job-control" + }, + { + "color": "c5def5", + "default": false, + "description": "stdlib", + "id": 573222693, + "name": "lua", + "node_id": "MDU6TGFiZWw1NzMyMjI2OTM=", + "url": "https://api.github.com/repos/neovim/neovim/labels/lua" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27292/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM5986TB", + "number": 27292, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27292/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "completed", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27292/timeline", + "title": "Colors behave differently when opening file at startup vs \":edit\" with a light-themed terminal", + "updated_at": "2024-02-02T21:54:44Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27292", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/21318?v=4", + "events_url": "https://api.github.com/users/yourcelf/events{/privacy}", + "followers_url": "https://api.github.com/users/yourcelf/followers", + "following_url": "https://api.github.com/users/yourcelf/following{/other_user}", + "gists_url": "https://api.github.com/users/yourcelf/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/yourcelf", + "id": 21318, + "login": "yourcelf", + "node_id": "MDQ6VXNlcjIxMzE4", + "organizations_url": "https://api.github.com/users/yourcelf/orgs", + "received_events_url": "https://api.github.com/users/yourcelf/received_events", + "repos_url": "https://api.github.com/users/yourcelf/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/yourcelf/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/yourcelf/subscriptions", + "type": "User", + "url": "https://api.github.com/users/yourcelf" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27293.json b/repositories/neovim/issues/27293.json new file mode 100644 index 00000000..d42566f0 --- /dev/null +++ b/repositories/neovim/issues/27293.json @@ -0,0 +1,80 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "body": "### Problem\n\nI'm not sure what the policy is about implementing unreleased LSP features, but LSP 3.18 contains `textDocument/rangesFormatting`, which formats multiple ranges with a single request. I think this would be a very nice addition. But I can understand if we first want to wait for the 3.18 spec to be released. Then we can reopen this issue when it's time :)\n\n### Expected behavior\n\nThe `range` parameter of `vim.lsp.buf.format` should support taking a list of ranges (which would then be forwarded to rangesFormatting instead of rangeFormatting)", + "closed_at": null, + "comment_data": [], + "comments": 0, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27293/comments", + "created_at": "2024-02-01T19:15:12Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27293/events", + "html_url": "https://github.com/neovim/neovim/issues/27293", + "id": 2113275196, + "labels": [ + { + "color": "c2e0c6", + "default": true, + "description": "feature request", + "id": 77997476, + "name": "enhancement", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3Ng==", + "url": "https://api.github.com/repos/neovim/neovim/labels/enhancement" + }, + { + "color": "c5def5", + "default": false, + "description": null, + "id": 662566370, + "name": "lsp", + "node_id": "MDU6TGFiZWw2NjI1NjYzNzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/lsp" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27293/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM599gU8", + "number": 27293, + "performed_via_github_app": null, + "reactions": { + "+1": 2, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 2, + "url": "https://api.github.com/repos/neovim/neovim/issues/27293/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27293/timeline", + "title": "[lsp] Add support for textDocument/rangesFormatting ", + "updated_at": "2024-02-01T19:18:26Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27293", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/13141438?v=4", + "events_url": "https://api.github.com/users/tom-anders/events{/privacy}", + "followers_url": "https://api.github.com/users/tom-anders/followers", + "following_url": "https://api.github.com/users/tom-anders/following{/other_user}", + "gists_url": "https://api.github.com/users/tom-anders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/tom-anders", + "id": 13141438, + "login": "tom-anders", + "node_id": "MDQ6VXNlcjEzMTQxNDM4", + "organizations_url": "https://api.github.com/users/tom-anders/orgs", + "received_events_url": "https://api.github.com/users/tom-anders/received_events", + "repos_url": "https://api.github.com/users/tom-anders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/tom-anders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom-anders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/tom-anders" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27296.json b/repositories/neovim/issues/27296.json new file mode 100644 index 00000000..46b51793 --- /dev/null +++ b/repositories/neovim/issues/27296.json @@ -0,0 +1,530 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "body": "### Problem\r\n\r\nUpdate: I might be misremembering something about the \"old\" behavior, so that can be disregarded, but I would still like an option for the described behavior. \r\n\r\nIn earlier versions of neovim `iter_captures` included all the captures caught from the \"parents\" of the captures on the line it was called on, when called on one line. (This is not very clear, I think the example is easier to follow.) But now it only includes the outermost capture and not the internal ones. (Looking back at this, I am not 100% sure that neovim used to behave exactly as I said here, but there has definitely been some change since the Fall of 2023.)\r\n\r\nFor example, in `rainbow-delimiters` most queries look something like\r\n```query\r\n(name\r\n \"(\" @delimiter\r\n \")\" @delimiter @sentinel) @container\r\n```\r\nor similar with `[]`, `{}`, etc. \r\n\r\nWhen capturing a change at the cursor (marked by `|`) in\r\n```lua\r\nlocal tmp = {\r\n [1] = {1},\r\n [2] = {\r\n a = print(|)\r\n },\r\n}\r\n```\r\nand updating highlighting via `iter_captures` on the cursor line (and not the whole tree), I now get capture names like this:\r\n```\r\ncontainer (from outer {})\r\ncontainer (from [2])\r\ncontainer (from inner {})\r\ncontainer (from print() )\r\ndelimiter \r\ndelimiter\r\nsentinel\r\n```\r\nwhere I used to get all `delimiter` and `sentinel` captures from the included `container` captures in the above. \r\n\r\nThe old captures with all `delimiter` and `sentinel` captures included (so the above would look like\r\n```\r\ncontainer -- from outer {}\r\ndelimiter -- { from outer {}\r\n\r\ncontainer -- from [2]\r\ndelimiter -- [ from [2]\r\ndelimiter -- ] from [2]\r\nsentinel -- ] from [2], which ends here\r\n\r\ncontainer -- from inner {}\r\ndelimiter -- { from inner {}\r\n\r\ncontainer -- from () in print()\r\ndelimiter -- ( from ()\r\ndelimiter -- ) from ()\r\nsentinel -- ) from (), which ends here\r\n\r\ndelimiter -- } from inner {}\r\nsentinel -- } from inner {}, which ends here\r\n\r\ndelimiter -- } from outer {}\r\nsentinel -- } from outer {}, which ends here\r\n```\r\n), were much easier to reason about when figuring out the nesting level.\r\n\r\n(Update: The above might not have actually been an old behavior for one line changes, but it is similar to the _current_ behavior when using `iter_captures` on the whole buffer, and it is a behavior I would like to be able to get.)\r\n\r\nWith the way captures are currently reported the only way to figure out nesting is by making assumptions that are not always true or try using a lot of ancestor checks in treesitter, but that affects the performance (or at least it did last I checked) and doesn't work as well, so it would be nice to have an option to include all the captures as above. \r\n\r\nNote: For a lot of situations, you might not want as much information as I am asking for, so I think it makes sense to keep an option in `opts` table deciding which way to use.\r\n\r\nAlso, I know that some work on `iter_captures` is already being done in #27274, so that PR might already fix this? I haven't fully looked into the details of what is causing my problem yet.\r\n\r\n### Expected behavior\r\n\r\nBe able to get all \"parent\" captures as you used to be able to do.\r\n\r\nNote: `iter_matches` already has an `opts` table, and thus `iter_captures` basically also has one too although the types don't reflect this currently. ", + "closed_at": null, + "comment_data": [ + { + "author_association": "MEMBER", + "body": "If you could please check on some of the old neovim versions to confirm if the behavior indeed has changed or not (and/or `git bisect`), that'd be greatly appreciated. The implementation of `iter_captures` hasn't been changed much since it was written early back in 2020, so I doubt it's a regression.\r\n\r\nAlso I find the examples (capture results) a bit difficult to read; e.g. they are so many `@sentinels` and one can get easily lost which node each of them is capturing --- if you could annotate the captures in the example, e.g. with either Range or \"token\" that'd also be very helpful (although it shouldn't be mandatory).\r\n\r\nBTW #27274 is trying to fix incorrect metadata for non-first captures, e.g. this would have effects only if predicates are involved. Can you show me the exact full patterns/query files (or a link to it) used in the example? Does it have predicates by any chance?\r\n\r\n", + "created_at": "2024-02-01T21:27:00Z", + "html_url": "https://github.com/neovim/neovim/issues/27296#issuecomment-1922275628", + "id": 1922275628, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27296", + "node_id": "IC_kwDOAPphoM5yk5ks", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922275628/reactions" + }, + "updated_at": "2024-02-01T21:28:28Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922275628", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "> If you could please check on some of the old neovim versions to confirm if the behavior indeed has changed or not (and/or `git bisect`), that'd be greatly appreciated. The implementation of `iter_captures` hasn't been changed much since it was written early back in 2020, so I doubt it's a regression.\r\n\r\nI did try to find an older install (didn't go far enough back yet), but didn't immediately get the behavior I expected. What is the easiest way to get a neovim version from say September with the treesitter version from that time. If I just go back to an old commit, should everything be the exact same as back then, or do I need to be more careful with the dependencies?\r\n\r\nI was looking at the treesitter behavior of stuff like the above back then, and I am pretty sure that the behavior was slightly different, though it might be because of a tree-sitter change and not a neovim change? (Also, I could be misremembering of course, but I am still pretty sure there was some difference in behavior.) I did try to look through the neovim commits in the relevant files and couldn't find any change in `iter_captures` of note.\r\n\r\nAlso, even if I misremember, I would like the described option either way. It is more similar to how `iter_captures` works when called on the whole buffer.\r\n\r\n> Also I find the examples (capture results) a bit difficult to read; e.g. they are so many `@sentinels` and one can get easily lost which node each of them is capturing --- if you could annotate the captures in the example, e.g. with either Range or \"token\" that'd also be very helpful (although it shouldn't be mandatory).\r\n\r\nI have tried to annotate the last example better now. Is that more readable? Would you still like more details?\r\n\r\n> BTW #27274 is trying to fix incorrect metadata for non-first captures, e.g. this would have effects only if predicates are involved. Can you show me the exact full patterns/query files (or a link to it) used in the example? Does it have predicates by any chance?\r\n\r\nThese are the exact queries I usually use in Lua:\r\nhttps://github.com/HiPhish/rainbow-delimiters.nvim/blob/master/queries/lua/rainbow-blocks.scm\r\nThere are no predicates and I can reproduce the behavior with other queries too. ", + "created_at": "2024-02-01T21:43:33Z", + "html_url": "https://github.com/neovim/neovim/issues/27296#issuecomment-1922299340", + "id": 1922299340, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27296", + "node_id": "IC_kwDOAPphoM5yk_XM", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 1, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922299340/reactions" + }, + "updated_at": "2024-02-01T22:01:11Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922299340", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7075380?v=4", + "events_url": "https://api.github.com/users/Danielkonge/events{/privacy}", + "followers_url": "https://api.github.com/users/Danielkonge/followers", + "following_url": "https://api.github.com/users/Danielkonge/following{/other_user}", + "gists_url": "https://api.github.com/users/Danielkonge/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Danielkonge", + "id": 7075380, + "login": "Danielkonge", + "node_id": "MDQ6VXNlcjcwNzUzODA=", + "organizations_url": "https://api.github.com/users/Danielkonge/orgs", + "received_events_url": "https://api.github.com/users/Danielkonge/received_events", + "repos_url": "https://api.github.com/users/Danielkonge/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Danielkonge/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Danielkonge/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Danielkonge" + } + }, + { + "author_association": "MEMBER", + "body": "Thanks! They are now easier to read.\r\n\r\nOne minor nitpicking: \"parent\" captures sounds a bit misleading here, but I can get you meant. It would be more clear to say `iter_captures` (on a specific line) should return *all the matches*.\r\n\r\nActually I was able to reproduce the *bug* (?), or at least \"changes\" in the behavior.\r\n\r\nThe following snippet looks like to retrieve all the capture informations what you are looking for:\r\n```lua\r\nlocal code = [[\r\nlocal tmp = {\r\n [1] = { 1 },\r\n [2] = {\r\n a = print(),\r\n },\r\n}]]\r\n\r\nlocal parser = vim.treesitter.get_string_parser(code, 'lua', {}) ---@type LanguageTree\r\nlocal tree = parser:parse()[1] ---@type TSTree\r\nlocal root = tree:root() ---@type TSNode\r\n\r\nlocal query = [[\r\n (arguments\r\n \"(\" @delimiter\r\n \")\" @delimiter @sentinel) @container\r\n\r\n (parameters\r\n \"(\" @delimiter\r\n \")\" @delimiter @sentinel) @container\r\n\r\n (parenthesized_expression\r\n \"(\" @delimiter\r\n \")\" @delimiter @sentinel) @container\r\n\r\n (table_constructor\r\n \"{\" @delimiter\r\n \"}\" @delimiter @sentinel) @container\r\n\r\n (bracket_index_expression\r\n \"[\" @delimiter\r\n \"]\" @delimiter @sentinel) @container\r\n\r\n (field\r\n \"[\" @delimiter\r\n \"]\" @delimiter @sentinel) @container\r\n]]\r\nlocal ts_query = vim.treesitter.query.parse('lua', query)\r\n\r\nlocal row = 3 -- 3 is the row for the line 'print(|)'\r\nfor capture_id, node, metadata in ts_query:iter_captures(root, code, row, row + 1) do\r\n local capture_name = ts_query.captures[capture_id]\r\n local node_text = vim.treesitter.get_node_text(node, code, { metadata = metadata })\r\n print(\r\n string.format(\r\n '@%-20s %-20s %s',\r\n capture_name,\r\n vim.split(node_text, '\\n')[1],\r\n vim.inspect({ node:range() })\r\n )\r\n )\r\nend\r\n```\r\n\r\nThe code excerpt:\r\n```\r\n 111111\r\n 0123456789012345\r\n0local tmp = {\r\n1 [1] = { 1 },\r\n2 [2] = {\r\n3 a = print(),\r\n4 },\r\n5}\r\n```\r\n\r\nResult on NVIM 0.9.4 (as you can see, it includes all `@delimiter`'s):\r\n```\r\n@container { { 0, 12, 5, 1 }\r\n@container [2] = { { 2, 2, 4, 3 }\r\n@delimiter ] { 2, 4, 2, 5 }\r\n@sentinel ] { 2, 4, 2, 5 }\r\n@container { { 2, 8, 4, 3 }\r\n@container () { 3, 13, 3, 15 }\r\n@delimiter ( { 3, 13, 3, 14 }\r\n@delimiter ) { 3, 14, 3, 15 }\r\n@sentinel ) { 3, 14, 3, 15 }\r\n@delimiter } { 4, 2, 4, 3 }\r\n@sentinel } { 4, 2, 4, 3 }\r\n@delimiter } { 5, 0, 5, 1 }\r\n@sentinel } { 5, 0, 5, 1 }\r\n```\r\n\r\nResult on NVIM 0.10 master (05fd70f19):\r\n\r\n```\r\n@container { { 0, 12, 5, 1 }\r\n@container [2] = { { 2, 2, 4, 3 }\r\n@container { { 2, 8, 4, 3 }\r\n@container () { 3, 13, 3, 15 }\r\n@delimiter ( { 3, 13, 3, 14 }\r\n@delimiter ) { 3, 14, 3, 15 }\r\n@sentinel ) { 3, 14, 3, 15 }\r\n``` \r\n\r\nHaven't bisected but I guess #25188 is where the behavior is changed.", + "created_at": "2024-02-01T22:29:10Z", + "html_url": "https://github.com/neovim/neovim/issues/27296#issuecomment-1922387261", + "id": 1922387261, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27296", + "node_id": "IC_kwDOAPphoM5ylU09", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 1, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922387261/reactions" + }, + "updated_at": "2024-02-01T22:55:22Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922387261", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "author_association": "MEMBER", + "body": "Docs say:\r\n> {start} and {stop} can be used to limit matches\r\n> inside a row range (this is typically used with root node as the {node},\r\n> i.e., to get syntax highlight matches in the current viewport). When\r\n> omitted, the {start} and {stop} row values are used from the given node.\r\n\r\nI think when the requested query range is `[3, 4)`, i.e. on `row = 3` (lnum = 4), the iterator should yield the captures whose range *intersects* with the query range; the other delimiters e.g. `{4, 2, 4, 3}` may not be retrieved because it's not on row = 3. So I believe the **behavior is correct in NVIM 0.10** according to what's documented; in NVIM 0.9 additional entries were being returned, which was fine because it was mainly used for highlighting --- but it's not said that `iter_captures` should *only* enumerate the captures within in the query range `[{start}, {stop})`. Actually the behavior in NVIM 0.9 doesn't seem to align with what's said in the doc, so #25188 can be thought of as a *bugfix* and perf fix.\r\n\r\nSo this would be a wont-fix, but at least we can document this in `news.txt` --- or describe the behavior change in the docs of `Query:iter_matches()`? (I'm not sure about the latter, could be unnecessary).\r\n\r\nOn the rainbow-delimeter side, the plugin can query on the entire range of the current viewport rather than on a single line.\r\n\r\nOther core devs could confirm if my understanding is correct (/cc @lewis6991 @llllvvuu) or correct me if I was wrong.", + "created_at": "2024-02-01T22:47:18Z", + "html_url": "https://github.com/neovim/neovim/issues/27296#issuecomment-1922422364", + "id": 1922422364, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27296", + "node_id": "IC_kwDOAPphoM5yldZc", + "performed_via_github_app": null, + "reactions": { + "+1": 2, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 2, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922422364/reactions" + }, + "updated_at": "2024-02-01T22:58:36Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922422364", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "> Docs say:\r\n> \r\n> > {start} and {stop} can be used to limit matches\r\n> > inside a row range (this is typically used with root node as the {node},\r\n> > i.e., to get syntax highlight matches in the current viewport). When\r\n> > omitted, the {start} and {stop} row values are used from the given node.\r\n> \r\n> I think when the requested query range is `[3, 4)`, i.e. on `row = 3` (lnum = 4), the iterator should yield the captures whose range _intersects_ with the query range; the other delimiters e.g. `{4, 2, 4, 3}` may not be retrieved because it's not on row = 3. So I believe the **behavior is correct in NVIM 0.10** according to what's documented; in NVIM 0.9 additional entries were being returned, which was fine because it was mainly used for highlighting --- but it's not said that `iter_captures` should _only_ enumerate the captures within in the query range `[{start}, {stop})`. Actually the behavior in NVIM 0.9 doesn't seem to align with what's said in the doc, so #25188 can be thought of as a _bugfix_ and perf fix.\r\n\r\nI agree that the behavior of 0.10 is probably better for most use cases since it is a performance fix, but I do think it is a bit weird still that the `container` captures get included in the above if that is what the docs say.\r\n\r\n> So this would be a wont-fix, but at least we can document this in `news.txt` --- or describe the behavior change in the docs of `Query:iter_matches()`? (I'm not sure about the latter, could be unnecessary).\r\n\r\nIf I tried to add an `opts` table to `iter_captures` (it is basically there already because `iter_matches` has an `opts` table) with an option for the behavior I want, is that something you would be open to merging? (Also, with the current setup is such an option even a possibility? Or did something fundamentally change that made it hard to do that now?)\r\n\r\n> On the rainbow-delimeter side, the plugin can query on the entire range of the current viewport rather than on a single line.\r\n\r\n`rainbow-delimiters` does query on the entire range when reading the buffer the first time, but it would need a lot of extra work (and presumably lead to much worse performance) to query on the entire range on small changes, so I don't think that would be a good solution. \r\n\r\nE.g. in the very small example, I don't need `[1] = { 1 },` included in my captures to update highlighting on the line with a change. And in larger files this would be much worse with a lot of unneeded captures on every small change. Unless I am misunderstanding what you meant?\r\n", + "created_at": "2024-02-01T23:20:09Z", + "html_url": "https://github.com/neovim/neovim/issues/27296#issuecomment-1922462604", + "id": 1922462604, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27296", + "node_id": "IC_kwDOAPphoM5ylnOM", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922462604/reactions" + }, + "updated_at": "2024-02-01T23:20:09Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922462604", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7075380?v=4", + "events_url": "https://api.github.com/users/Danielkonge/events{/privacy}", + "followers_url": "https://api.github.com/users/Danielkonge/followers", + "following_url": "https://api.github.com/users/Danielkonge/following{/other_user}", + "gists_url": "https://api.github.com/users/Danielkonge/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Danielkonge", + "id": 7075380, + "login": "Danielkonge", + "node_id": "MDQ6VXNlcjcwNzUzODA=", + "organizations_url": "https://api.github.com/users/Danielkonge/orgs", + "received_events_url": "https://api.github.com/users/Danielkonge/received_events", + "repos_url": "https://api.github.com/users/Danielkonge/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Danielkonge/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Danielkonge/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Danielkonge" + } + }, + { + "author_association": "MEMBER", + "body": "> but I do think it is a bit weird still that the container captures get included\r\n\r\nThe capture `@container` matched on the node `{ 0, 12, 5, 1 }` *intersects* with row = 3, so it's relevant; if it were used for highlighting, this node also matters for highlighting on the line being queried on. \r\n\r\n> If I tried to add an opts table to iter_captures\r\n\r\nAdding `opts` is absolutely fine. But what should such an option be called? If this can be justified and wouldn't be too niche for a specific callsite need, maybe yes. (Please see the last paragraph of this comment) However, given the current form of the API, I am not very sure why captures past the requested range should be returned.\r\n\r\n> E.g. in the very small example, I don't need [1] = { 1 }, included in my captures to update highlighting on the line with a change. And in larger files this would be much worse with a lot of unneeded captures on every small change. \r\n\r\nRequesting over the full range of the outermost container would also give *unnecessary* captures for your needs, like delimiters on the line `[1] = { 1 }`. So possible behaviors including what you'd want can be described like:\r\n\r\n- (1) Return all the captures whose matched node has a region intersecting with the request range/line (the current behavior of NVIM 0.10)\r\n- ~~(2) Return all the captures contained in a match whose associated node (i.e. the *outermost* node matched by the pattern) intersects with the requested range/line~~\r\n - ~~But then shouldn't it also include `[1] = { 1 }` ?~~ ~~No, you're right: a match won't include other delimiters.~~ There are *multiple matches*, and the outermost node in the match would intersect.\r\n- (2) Return all the captures for a match, such that *any* of the captured nodes within the match intersects with the requested range/line <--- (I think this is precisely what is requested in this issue?).\r\n\r\nNote: (Glossary) \"match\" is a relation between a pattern and a set of nodes, i.e. `match = (pattern_id, { capture_id -> node(s) })`.\r\n\r\n\r\n
\r\n In this example, there are 6 matches in total, but only four of them have something to do with row = 3.\r\n\r\n```diff\r\n pattern = 6\r\n @delimiter : { 1, 4, 1, 5 }\r\n @sentinel : { 1, 4, 1, 5 }\r\n @container : { 1, 2, 1, 13 }\r\n pattern = 4\r\n @delimiter : { 1, 12, 1, 13 }\r\n @sentinel : { 1, 12, 1, 13 }\r\n @container : { 1, 8, 1, 13 }\r\n+pattern = 6\r\n+ @delimiter : { 2, 4, 2, 5 }\r\n+ @sentinel : { 2, 4, 2, 5 }\r\n+ @container : { 2, 2, 4, 3 }\r\n+pattern = 1\r\n+ @delimiter : { 3, 14, 3, 15 }\r\n+ @sentinel : { 3, 14, 3, 15 }\r\n+ @container : { 3, 13, 3, 15 }\r\n+pattern = 4\r\n+ @delimiter : { 4, 2, 4, 3 }\r\n+ @sentinel : { 4, 2, 4, 3 }\r\n+ @container : { 2, 8, 4, 3 }\r\n+pattern = 4\r\n+ @delimiter : { 5, 0, 5, 1 }\r\n+ @sentinel : { 5, 0, 5, 1 }\r\n+ @container : { 0, 12, 5, 1 }\r\n```\r\nwhere `iter_matches()` would return only the last four --- but it failed to return `@delimiter` (`{`, `[`, etc.) due to #17099.\r\n
\r\n\r\nPlease feel free to propose an API design as you'd wish!\r\n\r\nSpeaking of \"match\", this sounds like using the `iter_matches()` API would be a more natural fit for this use case, rather than adding another flag to `iter_captures()`, but yes, as you're already aware of, we are then blocked by #17099 and #24738 again...😂 (But you could use `delimiter.open` and `delimiter.close` ?)\r\n", + "created_at": "2024-02-01T23:40:00Z", + "html_url": "https://github.com/neovim/neovim/issues/27296#issuecomment-1922489273", + "id": 1922489273, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27296", + "node_id": "IC_kwDOAPphoM5yltu5", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922489273/reactions" + }, + "updated_at": "2024-02-02T03:52:29Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922489273", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "> confirm if my understanding is correct (/cc @lewis6991 @llllvvuu) or correct me if I was wrong.\r\n\r\nThe diagnosis seems right to me. I also agree that the new behavior aligns better with the docs but I'm sympathetic to the idea that the removal of unintended behavior is still considered a breaking change. I'd be happy to update `news.txt`.\r\n\r\nWhether to revert and/or to expose the old behavior in some form, I have no opinion here. Although my bias is of course to not fully revert outright.", + "created_at": "2024-02-02T02:54:50Z", + "html_url": "https://github.com/neovim/neovim/issues/27296#issuecomment-1922700394", + "id": 1922700394, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27296", + "node_id": "IC_kwDOAPphoM5ymhRq", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922700394/reactions" + }, + "updated_at": "2024-02-02T02:55:31Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922700394", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/5601392?v=4", + "events_url": "https://api.github.com/users/llllvvuu/events{/privacy}", + "followers_url": "https://api.github.com/users/llllvvuu/followers", + "following_url": "https://api.github.com/users/llllvvuu/following{/other_user}", + "gists_url": "https://api.github.com/users/llllvvuu/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/llllvvuu", + "id": 5601392, + "login": "llllvvuu", + "node_id": "MDQ6VXNlcjU2MDEzOTI=", + "organizations_url": "https://api.github.com/users/llllvvuu/orgs", + "received_events_url": "https://api.github.com/users/llllvvuu/received_events", + "repos_url": "https://api.github.com/users/llllvvuu/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/llllvvuu/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/llllvvuu/subscriptions", + "type": "User", + "url": "https://api.github.com/users/llllvvuu" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "> > but I do think it is a bit weird still that the container captures get included\r\n> \r\n> The capture `@container` matched on the node `{ 0, 12, 5, 1 }` _intersects_ with row = 3, so it's relevant; if it were used for highlighting, this node also matters for highlighting on the line being queried on.\r\n\r\nAh, I see. I didn't read that carefully enough. The current captured captures make sense then.\r\n \r\n> Adding `opts` is absolutely fine. But what should such an option be called? If this can be justified and wouldn't be too niche for a specific callsite need, maybe yes. (Please see the last paragraph of this comment) However, given the current form of the API, I am not very sure why captures past the requested range should be returned.\r\n\r\nI would have to think about it a bit more, but something like `include_match_captures` maybe? (And it would default to `false` since the current behavior is what most would want.)\r\n\r\n> Requesting over the full range of the outermost container would also give _unnecessary_ captures for your needs, like delimiters on the line `[1] = { 1 }`. So possible behaviors including what you'd want can be described like:\r\n> \r\n> * (1) Return all the captures whose matched node has a region intersecting with the request range/line (the current behavior of NVIM 0.10)\r\n> * ~(2) Return all the captures contained in a match whose associated node (i.e. the _outermost_ node matched by the pattern) intersects with the requested range/line~\r\n> \r\n> * ~But then shouldn't it also include `[1] = { 1 }` ?~ ~No, you're right: a match won't include other delimiters.~ There are _multiple matches_, and the outermost node in the match would intersect.\r\n> * (2) Return all the captures for a match, such that _any_ of the captured nodes within the match intersects with the requested range/line <--- (I think this is precisely what is requested in this issue?).\r\n\r\nI think (2) is what I want yes. \r\n\r\n> Note: (Glossary) \"match\" is a relation between a pattern and a set of nodes, i.e. `match = (pattern_id, { capture_id -> node(s) })`.\r\n> \r\n> In this example, there are 6 matches in total, but only four of them have something to do with row = 3.\r\n> Please feel free to propose an API design as you'd wish!\r\n> \r\n> Speaking of \"match\", this sounds like using the `iter_matches()` API would be a more natural fit for this use case, rather than adding another flag to `iter_captures()`, but yes, as you're already aware of, we are then blocked by #17099 and #24738 again...😂 (But you could use `delimiter.open` and `delimiter.close` ?)\r\n\r\nI do think `iter_matches` could make sense if it had the expected behavior (i.e., something like #17099 or #24738), but it doesn't return captures in the order they show up in the parsed text, so instead of having `sentinel` captures, you need something like checking for ancestors with treesitter, and I am not sure it would work as well. (E.g., I think the `[2]` would be included as an ancestor of the `print()` line above.) Other than that I remember `iter_matches` performing slightly worse (because of all the checks for whether a node is an ancestor of another node), but it was only twice the runtime on a very large file, so not unworkable. ", + "created_at": "2024-02-02T08:39:53Z", + "html_url": "https://github.com/neovim/neovim/issues/27296#issuecomment-1923332449", + "id": 1923332449, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27296", + "node_id": "IC_kwDOAPphoM5yo7lh", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1923332449/reactions" + }, + "updated_at": "2024-02-02T08:39:53Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1923332449", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7075380?v=4", + "events_url": "https://api.github.com/users/Danielkonge/events{/privacy}", + "followers_url": "https://api.github.com/users/Danielkonge/followers", + "following_url": "https://api.github.com/users/Danielkonge/following{/other_user}", + "gists_url": "https://api.github.com/users/Danielkonge/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Danielkonge", + "id": 7075380, + "login": "Danielkonge", + "node_id": "MDQ6VXNlcjcwNzUzODA=", + "organizations_url": "https://api.github.com/users/Danielkonge/orgs", + "received_events_url": "https://api.github.com/users/Danielkonge/received_events", + "repos_url": "https://api.github.com/users/Danielkonge/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Danielkonge/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Danielkonge/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Danielkonge" + } + }, + { + "author_association": "MEMBER", + "body": "Those issues are intended to be fixed, though, so it doesn't make sense to add a different API to paper over that.", + "created_at": "2024-02-02T08:42:27Z", + "html_url": "https://github.com/neovim/neovim/issues/27296#issuecomment-1923336957", + "id": 1923336957, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27296", + "node_id": "IC_kwDOAPphoM5yo8r9", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1923336957/reactions" + }, + "updated_at": "2024-02-02T08:42:27Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1923336957", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "> Those issues are intended to be fixed, though, so it doesn't make sense to add a different API to paper over that.\r\n\r\nI assume you mean the `iter_matches` issues? If so, I am not sure that would fully give me what I would want, since `iter_matches` don't return captures in order (here I mean the order of the captured nodes in the text). Though looking at it again, other than a check for whether a given node is an ancestor, one could also do some calculation on the ranges (either way it will be more complicated than the current solution though). ", + "created_at": "2024-02-02T13:49:12Z", + "html_url": "https://github.com/neovim/neovim/issues/27296#issuecomment-1923844286", + "id": 1923844286, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27296", + "node_id": "IC_kwDOAPphoM5yq4i-", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1923844286/reactions" + }, + "updated_at": "2024-02-02T13:49:12Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1923844286", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7075380?v=4", + "events_url": "https://api.github.com/users/Danielkonge/events{/privacy}", + "followers_url": "https://api.github.com/users/Danielkonge/followers", + "following_url": "https://api.github.com/users/Danielkonge/following{/other_user}", + "gists_url": "https://api.github.com/users/Danielkonge/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Danielkonge", + "id": 7075380, + "login": "Danielkonge", + "node_id": "MDQ6VXNlcjcwNzUzODA=", + "organizations_url": "https://api.github.com/users/Danielkonge/orgs", + "received_events_url": "https://api.github.com/users/Danielkonge/received_events", + "repos_url": "https://api.github.com/users/Danielkonge/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Danielkonge/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Danielkonge/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Danielkonge" + } + } + ], + "comments": 10, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27296/comments", + "created_at": "2024-02-01T20:42:18Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27296/events", + "html_url": "https://github.com/neovim/neovim/issues/27296", + "id": 2113444256, + "labels": [ + { + "color": "c2e0c6", + "default": true, + "description": "feature request", + "id": 77997476, + "name": "enhancement", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3Ng==", + "url": "https://api.github.com/repos/neovim/neovim/labels/enhancement" + }, + { + "color": "0E8A16", + "default": false, + "description": "issue contains minimal reproducing steps", + "id": 435851959, + "name": "has:repro", + "node_id": "MDU6TGFiZWw0MzU4NTE5NTk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/has:repro" + }, + { + "color": "c5def5", + "default": false, + "description": "", + "id": 1799626557, + "name": "treesitter", + "node_id": "MDU6TGFiZWwxNzk5NjI2NTU3", + "url": "https://api.github.com/repos/neovim/neovim/labels/treesitter" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27296/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM59-Jmg", + "number": 27296, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27296/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27296/timeline", + "title": "Treesitter: Make `iter_captures` include all \"parent\" captures when called on one line", + "updated_at": "2024-02-02T13:49:12Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27296", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7075380?v=4", + "events_url": "https://api.github.com/users/Danielkonge/events{/privacy}", + "followers_url": "https://api.github.com/users/Danielkonge/followers", + "following_url": "https://api.github.com/users/Danielkonge/following{/other_user}", + "gists_url": "https://api.github.com/users/Danielkonge/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Danielkonge", + "id": 7075380, + "login": "Danielkonge", + "node_id": "MDQ6VXNlcjcwNzUzODA=", + "organizations_url": "https://api.github.com/users/Danielkonge/orgs", + "received_events_url": "https://api.github.com/users/Danielkonge/received_events", + "repos_url": "https://api.github.com/users/Danielkonge/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Danielkonge/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Danielkonge/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Danielkonge" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27301.json b/repositories/neovim/issues/27301.json new file mode 100644 index 00000000..326e0d42 --- /dev/null +++ b/repositories/neovim/issues/27301.json @@ -0,0 +1,116 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Problem\n\nWhen opening a symlink with netrw and netrw_liststyle=3, the path of the file will be FILENAME/FILENAME instead of FILENAME.\n\n### Steps to reproduce\n\n```sh\r\nmkdir foo && echo \"Hello from bar\" > foo/bar\r\nln -s foo/bar .\r\ncat < min.vim\r\nlet netrw_liststyle=3\r\nset nocompatible \" needed for vim\r\nfiletype plugin on \" needed for vim\r\nEOF\r\nnvim --clean -u min.vim .\r\n```\r\n\r\nNow try to open bar. Netrw will try to open bar/bar which obviously doesn't exist\n\n### Expected behavior\n\nOpen bar\n\n### Neovim version (nvim -v)\n\nv0.9.4\n\n### Vim (not Nvim) behaves the same?\n\nyes, vim 9.0.2116\n\n### Operating system/version\n\nNixOS\n\n### Terminal name/version\n\nXTerm(388)\n\n### $TERM environment variable\n\nxterm\n\n### Installation\n\nNixPkgs", + "closed_at": null, + "comment_data": [ + { + "author_association": "CONTRIBUTOR", + "body": "netrw plugin issues should be reported at vim/vim - if it's fixed there then the patch will be ported to neovim.", + "created_at": "2024-02-04T22:25:11Z", + "html_url": "https://github.com/neovim/neovim/issues/27301#issuecomment-1925946159", + "id": 1925946159, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27301", + "node_id": "IC_kwDOAPphoM5yy5sv", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925946159/reactions" + }, + "updated_at": "2024-02-04T22:25:11Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925946159", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7416158?v=4", + "events_url": "https://api.github.com/users/craigmac/events{/privacy}", + "followers_url": "https://api.github.com/users/craigmac/followers", + "following_url": "https://api.github.com/users/craigmac/following{/other_user}", + "gists_url": "https://api.github.com/users/craigmac/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/craigmac", + "id": 7416158, + "login": "craigmac", + "node_id": "MDQ6VXNlcjc0MTYxNTg=", + "organizations_url": "https://api.github.com/users/craigmac/orgs", + "received_events_url": "https://api.github.com/users/craigmac/received_events", + "repos_url": "https://api.github.com/users/craigmac/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/craigmac/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/craigmac/subscriptions", + "type": "User", + "url": "https://api.github.com/users/craigmac" + } + } + ], + "comments": 1, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27301/comments", + "created_at": "2024-02-02T04:20:02Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27301/events", + "html_url": "https://github.com/neovim/neovim/issues/27301", + "id": 2114022417, + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "fuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu", + "id": 2745063166, + "name": "netrw", + "node_id": "MDU6TGFiZWwyNzQ1MDYzMTY2", + "url": "https://api.github.com/repos/neovim/neovim/labels/netrw" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27301/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM5-AWwR", + "number": 27301, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27301/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27301/timeline", + "title": "Netrw can't properly open symlinks with netrw_liststyle=3", + "updated_at": "2024-02-04T22:25:12Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27301", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38295417?v=4", + "events_url": "https://api.github.com/users/thomasqueirozb/events{/privacy}", + "followers_url": "https://api.github.com/users/thomasqueirozb/followers", + "following_url": "https://api.github.com/users/thomasqueirozb/following{/other_user}", + "gists_url": "https://api.github.com/users/thomasqueirozb/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/thomasqueirozb", + "id": 38295417, + "login": "thomasqueirozb", + "node_id": "MDQ6VXNlcjM4Mjk1NDE3", + "organizations_url": "https://api.github.com/users/thomasqueirozb/orgs", + "received_events_url": "https://api.github.com/users/thomasqueirozb/received_events", + "repos_url": "https://api.github.com/users/thomasqueirozb/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/thomasqueirozb/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/thomasqueirozb/subscriptions", + "type": "User", + "url": "https://api.github.com/users/thomasqueirozb" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27304.json b/repositories/neovim/issues/27304.json new file mode 100644 index 00000000..63685a14 --- /dev/null +++ b/repositories/neovim/issues/27304.json @@ -0,0 +1,398 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Problem\n\n\r\n\r\n![image](https://github.com/neovim/neovim/assets/69250723/267456b5-83d7-4a67-8ced-6ce3fc97a204)\r\n\r\n\r\n```\r\n⋊> ~ coredumpctl -1 gdb | tee -a bt.txt 13:48:09\r\n thread apply all bt full\r\n PID: 6402 (nvim)\r\n UID: 1000 (kawre)\r\n GID: 1000 (kawre)\r\n Signal: 6 (ABRT)\r\n Timestamp: Fri 2024-02-02 13:45:29 CET (2min 51s ago)\r\n Command Line: nvim --embed /home/kawre/pjatk/sbd\r\n Executable: /usr/bin/nvim\r\n Control Group: /user.slice/user-1000.slice/session-2.scope\r\n Unit: session-2.scope\r\n Slice: user-1000.slice\r\n Session: 2\r\n Owner UID: 1000 (kawre)\r\n Boot ID: 3977c26c74fb428c9b1435742b7321de\r\n Machine ID: d96db0ae371346fe8f197a804b82560e\r\n Hostname: desktop\r\n Storage: /var/lib/systemd/coredump/core.nvim.1000.3977c26c74fb428c9b1435742b7321de.6402.1706877929000000.zst (present)\r\n Size on Disk: 11.7M\r\n Message: Process 6402 (nvim) of user 1000 dumped core.\r\n \r\n Stack trace of thread 6402:\r\n #0 0x000076f273ace83c n/a (libc.so.6 + 0x8a83c)\r\n #1 0x000076f273a7e668 raise (libc.so.6 + 0x3a668)\r\n #2 0x000076f273a664b8 abort (libc.so.6 + 0x224b8)\r\n #3 0x000076f273a663dc n/a (libc.so.6 + 0x223dc)\r\n #4 0x000076f273a76d26 __assert_fail (libc.so.6 + 0x32d26)\r\n #5 0x0000650d20f19c9e ui_comp_raw_line (nvim + 0x2f0c9e)\r\n #6 0x0000650d20f14df2 ui_call_raw_line (nvim + 0x2ebdf2)\r\n #7 0x0000650d20f153eb ui_line (nvim + 0x2ec3eb)\r\n #8 0x0000650d20dd7696 grid_put_linebuf (nvim + 0x1ae696)\r\n #9 0x0000650d20d3dcae n/a (nvim + 0x114cae)\r\n #10 0x0000650d20d432ba win_line (nvim + 0x11a2ba)\r\n #11 0x0000650d20d481a3 n/a (nvim + 0x11f1a3)\r\n #12 0x0000650d20d4517b update_screen (nvim + 0x11c17b)\r\n #13 0x0000650d20e41d30 n/a (nvim + 0x218d30)\r\n #14 0x0000650d20e41f90 n/a (nvim + 0x218f90)\r\n #15 0x0000650d20ee6ed9 state_enter (nvim + 0x2bded9)\r\n #16 0x0000650d20e41519 normal_enter (nvim + 0x218519)\r\n #17 0x0000650d20e0441d main (nvim + 0x1db41d)\r\n #18 0x000076f273a67cd0 n/a (libc.so.6 + 0x23cd0)\r\n #19 0x000076f273a67d8a __libc_start_main (libc.so.6 + 0x23d8a)\r\n #20 0x0000650d20cc18de _start (nvim + 0x988de)\r\n \r\n Stack trace of thread 6404:\r\n #0 0x0000000000000000 n/a (n/a + 0x0)\r\n ELF object binary architecture: AMD x86-64\r\n\r\nGNU gdb (GDB) 14.1\r\nCopyright (C) 2023 Free Software Foundation, Inc.\r\nLicense GPLv3+: GNU GPL version 3 or later \r\nThis is free software: you are free to change and redistribute it.\r\nThere is NO WARRANTY, to the extent permitted by law.\r\nType \"show copying\" and \"show warranty\" for details.\r\nThis GDB was configured as \"x86_64-pc-linux-gnu\".\r\nType \"show configuration\" for configuration details.\r\nFor bug reporting instructions, please see:\r\n.\r\nFind the GDB manual and other documentation resources online at:\r\n .\r\n\r\nFor help, type \"help\".\r\nType \"apropos word\" to search for commands related to \"word\"...\r\nReading symbols from /usr/bin/nvim...\r\n\r\nThis GDB supports auto-downloading debuginfo from the following URLs:\r\n \r\nEnable debuginfod for this session? (y or [n]) y\r\nDebuginfod has been enabled.\r\nTo make this setting permanent, add 'set debuginfod enabled on' to .gdbinit.\r\nDownloading separate debug info for /usr/bin/nvim...\r\n(No debugging symbols found in /usr/bin/nvim)\r\n\r\nwarning: Can't open file anon_inode:[io_uring] which was expanded to anon_inode:[io_uring] during file-backed mapping note processing\r\n[New LWP 6402]\r\n[New LWP 6404]\r\n[New LWP 6405]\r\n[New LWP 6407]\r\n[New LWP 6406]\r\n[New LWP 6408]\r\nDownloading separate debug info for /usr/lib/libm.so.6...\r\nDownloading separate debug info for /usr/lib/libdl.so.2...\r\nDownloading separate debug info for /usr/lib/libpthread.so.0...\r\nDownloading separate debug info for /usr/lib/libc.so.6...\r\nDownloading separate debug info for /lib64/ld-linux-x86-64.so.2...\r\nDownloading separate debug info for /usr/lib/libutil.so.1...\r\nDownloading separate debug info for /usr/lib/libnss_systemd.so.2...\r\nDownloading separate debug info for /usr/lib/libcap.so.2...\r\nDownloading separate debug info for /home/kawre/.local/share/nvim/lazy/LuaSnip/deps/luasnip-jsregexp.so...\r\nDownloading separate debug info for /home/kawre/.local/share/nvim/lazy/nvim-treesitter/parser/norg.so...\r\nDownloading separate debug info for /home/kawre/.local/share/nvim/lazy/nvim-treesitter/parser/vim.so...\r\nDownloading separate debug info for /home/kawre/.local/share/nvim/lazy/nvim-treesitter/parser/regex.so...\r\nDownloading separate debug info for system-supplied DSO at 0x7ffd61b66000...\r\n[Thread debugging using libthread_db enabled]\r\nUsing host libthread_db library \"/usr/lib/libthread_db.so.1\".\r\nCore was generated by `nvim --embed /home/kawre/pjatk/sbd'.\r\nProgram terminated with signal SIGABRT, Aborted.\r\n#0 __pthread_kill_implementation (threadid=, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44\r\nDownloading source file /usr/src/debug/glibc/glibc/nptl/pthread_kill.c...\r\n44\t return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;\r\n[Current thread is 1 (Thread 0x76f273a3a740 (LWP 6402))]\r\n(gdb) bt\r\n#0 __pthread_kill_implementation (threadid=, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44\r\n#1 0x000076f273ace8a3 in __pthread_kill_internal (signo=6, threadid=) at pthread_kill.c:78\r\n#2 0x000076f273a7e668 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26\r\n#3 0x000076f273a664b8 in __GI_abort () at abort.c:79\r\n#4 0x000076f273a663dc in __assert_fail_base (fmt=0x76f273bdfae8 \"%s%s%s:%u: %s%sAssertion `%s' failed.\\n%n\", assertion=assertion@entry=0x650d2109755e \"attrs[i] >= 0\", \r\n file=file@entry=0x650d21096a00 \"/home/runner/work/neovim/neovim/src/nvim/ui_compositor.c\", line=line@entry=546, function=function@entry=0x650d2109aa10 \"ui_comp_raw_line\") at assert.c:92\r\n#5 0x000076f273a76d26 in __assert_fail (assertion=0x650d2109755e \"attrs[i] >= 0\", file=0x650d21096a00 \"/home/runner/work/neovim/neovim/src/nvim/ui_compositor.c\", line=546, \r\n function=0x650d2109aa10 \"ui_comp_raw_line\") at assert.c:101\r\n#6 0x0000650d20f19c9e in ui_comp_raw_line ()\r\n#7 0x0000650d20f14df2 in ui_call_raw_line ()\r\n#8 0x0000650d20f153eb in ui_line ()\r\n#9 0x0000650d20dd7696 in grid_put_linebuf ()\r\n#10 0x0000650d20d3dcae in ?? ()\r\n#11 0x0000650d20d432ba in win_line ()\r\n#12 0x0000650d20d481a3 in ?? ()\r\n#13 0x0000650d20d4517b in update_screen ()\r\n#14 0x0000650d20e41d30 in ?? ()\r\n#15 0x0000650d20e41f90 in ?? ()\r\n#16 0x0000650d20ee6ed9 in state_enter ()\r\n#17 0x0000650d20e41519 in normal_enter ()\r\n#18 0x0000650d20e0441d in main ()\r\n```\r\n\r\n```\r\n⋊> ~ stty -a 13:58:54\r\nspeed 38400 baud; rows 51; columns 194; line = 0;\r\nintr = ^C; quit = ^\\; erase = ^?; kill = ^U; eof = ^D; eol = ; eol2 = ; swtch = ; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O;\r\nmin = 1; time = 0;\r\n-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts\r\n-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -ixon -ixoff -iuclc -ixany -imaxbel iutf8\r\nopost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\r\nisig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc\r\n```\n\n### Steps to reproduce\n\nI've created both `W1.norg` and `W2.norg` files with neotree, as seen in the screenshot, then when my cursors was at one of these files(don't remember which) i tried to move back to `index.norg` with `l`, my neovim crashed.\r\n\r\nI tried a few times to reproduce this but coudn't. All i can provide is the backtrace\n\n### Expected behavior\n\n.\n\n### Neovim version (nvim -v)\n\nNVIM v0.10.0-dev-2216+g2cd76a758\n\n### Vim (not Nvim) behaves the same?\n\n.\n\n### Operating system/version\n\n6.7.2-arch1-2\n\n### Terminal name/version\n\nkitty 0.31.0\n\n### $TERM environment variable\n\nxterm-kitty\n\n### Installation\n\nhttps://aur.archlinux.org/packages/neovim-nightly-bin", + "closed_at": null, + "comment_data": [ + { + "author_association": "MEMBER", + "body": "> I've created both `W1.norg` and `W2.norg` files with neotree, as seen in the screenshot, then when my cursors was at one of these files(don't remember which) i tried to move back to `index.norg` with `l`, my neovim crashed.\r\n\r\nhttps://github.com/neovim/neovim/issues/26155 is also a neotree related crash. Since this issue doesn't provide a different repro steps maybe we can consider this a duplicate.", + "created_at": "2024-02-02T15:52:56Z", + "html_url": "https://github.com/neovim/neovim/issues/27304#issuecomment-1924151619", + "id": 1924151619, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27304", + "node_id": "IC_kwDOAPphoM5ysDlD", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924151619/reactions" + }, + "updated_at": "2024-02-02T22:53:21Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924151619", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "NONE", + "body": "Also getting the same error/crash after updating to recent commits. When opening a rather large `.norg` file, even from CLI without `Neo-Tree`:\r\n\r\n```\r\nnvim: /var/tmp/portage/app-editors/neovim-9999/work/neovim-9999/src/nvim/ui_compositor.c:546: ui_comp_raw_line: Assertion `attrs[i] >= 0' failed.\r\n```\r\n\r\nNo issue with `nvim -u NONE file.norg`\r\n\r\n```console\r\n$ nvim -v\r\nNVIM v0.10.0-dev-2264+gbe1d09c42-dirty\r\n```", + "created_at": "2024-02-02T16:02:06Z", + "html_url": "https://github.com/neovim/neovim/issues/27304#issuecomment-1924166963", + "id": 1924166963, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27304", + "node_id": "IC_kwDOAPphoM5ysHUz", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924166963/reactions" + }, + "updated_at": "2024-02-02T16:02:06Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924166963", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/78810647?v=4", + "events_url": "https://api.github.com/users/xfzv/events{/privacy}", + "followers_url": "https://api.github.com/users/xfzv/followers", + "following_url": "https://api.github.com/users/xfzv/following{/other_user}", + "gists_url": "https://api.github.com/users/xfzv/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/xfzv", + "id": 78810647, + "login": "xfzv", + "node_id": "MDQ6VXNlcjc4ODEwNjQ3", + "organizations_url": "https://api.github.com/users/xfzv/orgs", + "received_events_url": "https://api.github.com/users/xfzv/received_events", + "repos_url": "https://api.github.com/users/xfzv/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/xfzv/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/xfzv/subscriptions", + "type": "User", + "url": "https://api.github.com/users/xfzv" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "I had the same problem, so I went back to the commits and I thought it was occurring from this commit (https://github.com/neovim/neovim/commit/c6864b0d146f017990d6feb8c876784160a25241).\r\n\r\nAlso, with this setting, it no longer reproduces.\r\n\r\n```lua\r\nvim.o.relativenumber = false\r\n```", + "created_at": "2024-02-03T07:45:46Z", + "html_url": "https://github.com/neovim/neovim/issues/27304#issuecomment-1925201632", + "id": 1925201632, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27304", + "node_id": "IC_kwDOAPphoM5ywD7g", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925201632/reactions" + }, + "updated_at": "2024-02-04T13:59:45Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925201632", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8683947?v=4", + "events_url": "https://api.github.com/users/yutkat/events{/privacy}", + "followers_url": "https://api.github.com/users/yutkat/followers", + "following_url": "https://api.github.com/users/yutkat/following{/other_user}", + "gists_url": "https://api.github.com/users/yutkat/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/yutkat", + "id": 8683947, + "login": "yutkat", + "node_id": "MDQ6VXNlcjg2ODM5NDc=", + "organizations_url": "https://api.github.com/users/yutkat/orgs", + "received_events_url": "https://api.github.com/users/yutkat/received_events", + "repos_url": "https://api.github.com/users/yutkat/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/yutkat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/yutkat/subscriptions", + "type": "User", + "url": "https://api.github.com/users/yutkat" + } + }, + { + "author_association": "MEMBER", + "body": "I think that's a different issue, as OP's screenshot doesn't have 'relativenumber'.", + "created_at": "2024-02-03T08:06:41Z", + "html_url": "https://github.com/neovim/neovim/issues/27304#issuecomment-1925206716", + "id": 1925206716, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27304", + "node_id": "IC_kwDOAPphoM5ywFK8", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925206716/reactions" + }, + "updated_at": "2024-02-04T13:59:53Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925206716", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "It may be a different problem, but there is a case that `vim.o.relativenumber` is enabled and `vim.o.statuscolumn` is set.", + "created_at": "2024-02-03T08:20:01Z", + "html_url": "https://github.com/neovim/neovim/issues/27304#issuecomment-1925210961", + "id": 1925210961, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27304", + "node_id": "IC_kwDOAPphoM5ywGNR", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925210961/reactions" + }, + "updated_at": "2024-02-04T14:00:00Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925210961", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8683947?v=4", + "events_url": "https://api.github.com/users/yutkat/events{/privacy}", + "followers_url": "https://api.github.com/users/yutkat/followers", + "following_url": "https://api.github.com/users/yutkat/following{/other_user}", + "gists_url": "https://api.github.com/users/yutkat/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/yutkat", + "id": 8683947, + "login": "yutkat", + "node_id": "MDQ6VXNlcjg2ODM5NDc=", + "organizations_url": "https://api.github.com/users/yutkat/orgs", + "received_events_url": "https://api.github.com/users/yutkat/received_events", + "repos_url": "https://api.github.com/users/yutkat/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/yutkat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/yutkat/subscriptions", + "type": "User", + "url": "https://api.github.com/users/yutkat" + } + }, + { + "author_association": "NONE", + "body": "> I had the same problem, so I went back to the commits and I thought it was occurring from this commit ([c6864b0](https://github.com/neovim/neovim/commit/c6864b0d146f017990d6feb8c876784160a25241)).\r\n> \r\n> Also, with this setting, it no longer reproduces.\r\n> \r\n> ```lua\r\n> vim.o.relativenumber = false\r\n> ```\r\n\r\nDisabling `vim.o.relativenumber` doesn't help on my end. I'm not using `vim.o.statuscolumn`.\r\n\r\n", + "created_at": "2024-02-03T09:01:29Z", + "html_url": "https://github.com/neovim/neovim/issues/27304#issuecomment-1925228959", + "id": 1925228959, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27304", + "node_id": "IC_kwDOAPphoM5ywKmf", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925228959/reactions" + }, + "updated_at": "2024-02-04T14:00:06Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925228959", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/78810647?v=4", + "events_url": "https://api.github.com/users/xfzv/events{/privacy}", + "followers_url": "https://api.github.com/users/xfzv/followers", + "following_url": "https://api.github.com/users/xfzv/following{/other_user}", + "gists_url": "https://api.github.com/users/xfzv/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/xfzv", + "id": 78810647, + "login": "xfzv", + "node_id": "MDQ6VXNlcjc4ODEwNjQ3", + "organizations_url": "https://api.github.com/users/xfzv/orgs", + "received_events_url": "https://api.github.com/users/xfzv/received_events", + "repos_url": "https://api.github.com/users/xfzv/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/xfzv/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/xfzv/subscriptions", + "type": "User", + "url": "https://api.github.com/users/xfzv" + } + }, + { + "author_association": "MEMBER", + "body": "@yutkat Please open another issue with a backtrace.", + "created_at": "2024-02-03T11:58:52Z", + "html_url": "https://github.com/neovim/neovim/issues/27304#issuecomment-1925301875", + "id": 1925301875, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27304", + "node_id": "IC_kwDOAPphoM5ywcZz", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925301875/reactions" + }, + "updated_at": "2024-02-04T14:00:13Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925301875", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + } + ], + "comments": 7, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27304/comments", + "created_at": "2024-02-02T13:12:08Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27304/events", + "html_url": "https://github.com/neovim/neovim/issues/27304", + "id": 2114899818, + "labels": [ + { + "color": "FBCA04", + "default": false, + "description": "We need minimal steps to reproduce the issue", + "id": 298863445, + "name": "needs:repro", + "node_id": "MDU6TGFiZWwyOTg4NjM0NDU=", + "url": "https://api.github.com/repos/neovim/neovim/labels/needs:repro" + }, + { + "color": "0E8A16", + "default": false, + "description": "issue contains a stacktrace/ASAN log", + "id": 435854079, + "name": "has:backtrace", + "node_id": "MDU6TGFiZWw0MzU4NTQwNzk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/has:backtrace" + }, + { + "color": "F9D0C4", + "default": false, + "description": "issue reporting a crash or segfault", + "id": 435854234, + "name": "bug-crash", + "node_id": "MDU6TGFiZWw0MzU4NTQyMzQ=", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug-crash" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27304/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM5-Ds9q", + "number": 27304, + "performed_via_github_app": null, + "reactions": { + "+1": 2, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 2, + "url": "https://api.github.com/repos/neovim/neovim/issues/27304/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27304/timeline", + "title": "crash with .norg files: __assert_fail \"attrs[i] >= 0\"", + "updated_at": "2024-02-04T14:00:13Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27304", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/69250723?v=4", + "events_url": "https://api.github.com/users/kawre/events{/privacy}", + "followers_url": "https://api.github.com/users/kawre/followers", + "following_url": "https://api.github.com/users/kawre/following{/other_user}", + "gists_url": "https://api.github.com/users/kawre/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/kawre", + "id": 69250723, + "login": "kawre", + "node_id": "MDQ6VXNlcjY5MjUwNzIz", + "organizations_url": "https://api.github.com/users/kawre/orgs", + "received_events_url": "https://api.github.com/users/kawre/received_events", + "repos_url": "https://api.github.com/users/kawre/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/kawre/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kawre/subscriptions", + "type": "User", + "url": "https://api.github.com/users/kawre" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27305.json b/repositories/neovim/issues/27305.json new file mode 100644 index 00000000..5369f4aa --- /dev/null +++ b/repositories/neovim/issues/27305.json @@ -0,0 +1,89 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "body": "### Problem\r\n\r\nPossible use of uninitialized memory with 'linebreak' and 'vartabstop', causing the test failure in https://github.com/neovim/neovim/actions/runs/7756176352/job/21152983570?pr=27303\r\n```\r\n Failures: \r\n\tFrom test_vartabs.vim:\r\n\tFound errors in Test_vartabs_linebreak():\r\n\tcommand line..script D:/a/neovim/neovim/test/old/testdir/runtest.vim[543]..function RunTheTest[55]..Test_vartabs_linebreak[20]..4_compare_lines line 1: Expected '>---------x>------------------ \\nx>------------------x>------------------\\nx\\[ occurs 39 times]' but got '>---------ͪ�x>------------------ \\nx>------------------x>------------------\\nx\\[ occurs 39 times]'\r\n```\r\nValgrind:\r\n```\r\n==242112== Conditional jump or move depends on uninitialised value(s)\r\n==242112== at 0x388BA3: utfc_ptr2len (mbyte.c:952)\r\n==242112== by 0x255BAD: win_line (drawline.c:1802)\r\n==242112== by 0x25EE93: win_update (drawscreen.c:2291)\r\n==242112== by 0x25A58B: update_screen (drawscreen.c:640)\r\n==242112== by 0x2EA305: ex_redraw (ex_docmd.c:6305)\r\n==242112== by 0x2DEC02: execute_cmd0 (ex_docmd.c:1674)\r\n==242112== by 0x2E0B5B: do_one_cmd (ex_docmd.c:2343)\r\n==242112== by 0x2DC645: do_cmdline (ex_docmd.c:633)\r\n==242112== by 0x2B99D1: call_user_func (userfunc.c:1188)\r\n==242112== by 0x2BA128: call_user_func_check (userfunc.c:1342)\r\n==242112== by 0x2BACF4: call_func (userfunc.c:1700)\r\n==242112== by 0x2B7FD8: get_func_tv (userfunc.c:557)\r\n==242112== Uninitialised value was created by a heap allocation\r\n==242112== at 0x4841828: malloc (vg_replace_malloc.c:442)\r\n==242112== by 0x3978F7: try_malloc (memory.c:98)\r\n==242112== by 0x39796E: xmalloc (memory.c:132)\r\n==242112== by 0x25052B: get_extra_buf (drawline.c:140)\r\n==242112== by 0x2572DB: win_line (drawline.c:2231)\r\n==242112== by 0x25EE93: win_update (drawscreen.c:2291)\r\n==242112== by 0x25A58B: update_screen (drawscreen.c:640)\r\n==242112== by 0x2EA305: ex_redraw (ex_docmd.c:6305)\r\n==242112== by 0x2DEC02: execute_cmd0 (ex_docmd.c:1674)\r\n==242112== by 0x2E0B5B: do_one_cmd (ex_docmd.c:2343)\r\n==242112== by 0x2DC645: do_cmdline (ex_docmd.c:633)\r\n==242112== by 0x2B99D1: call_user_func (userfunc.c:1188)\r\n==242112== \r\n==242112== Conditional jump or move depends on uninitialised value(s)\r\n==242112== at 0x388C89: utfc_ptr2len_len (mbyte.c:986)\r\n==242112== by 0x388880: utfc_ptr2schar (mbyte.c:838)\r\n==242112== by 0x255BCC: win_line (drawline.c:1803)\r\n==242112== by 0x25EE93: win_update (drawscreen.c:2291)\r\n==242112== by 0x25A58B: update_screen (drawscreen.c:640)\r\n==242112== by 0x2EA305: ex_redraw (ex_docmd.c:6305)\r\n==242112== by 0x2DEC02: execute_cmd0 (ex_docmd.c:1674)\r\n==242112== by 0x2E0B5B: do_one_cmd (ex_docmd.c:2343)\r\n==242112== by 0x2DC645: do_cmdline (ex_docmd.c:633)\r\n==242112== by 0x2B99D1: call_user_func (userfunc.c:1188)\r\n==242112== by 0x2BA128: call_user_func_check (userfunc.c:1342)\r\n==242112== by 0x2BACF4: call_func (userfunc.c:1700)\r\n==242112== Uninitialised value was created by a heap allocation\r\n==242112== at 0x4841828: malloc (vg_replace_malloc.c:442)\r\n==242112== by 0x3978F7: try_malloc (memory.c:98)\r\n==242112== by 0x39796E: xmalloc (memory.c:132)\r\n==242112== by 0x25052B: get_extra_buf (drawline.c:140)\r\n==242112== by 0x2572DB: win_line (drawline.c:2231)\r\n==242112== by 0x25EE93: win_update (drawscreen.c:2291)\r\n==242112== by 0x25A58B: update_screen (drawscreen.c:640)\r\n==242112== by 0x2EA305: ex_redraw (ex_docmd.c:6305)\r\n==242112== by 0x2DEC02: execute_cmd0 (ex_docmd.c:1674)\r\n==242112== by 0x2E0B5B: do_one_cmd (ex_docmd.c:2343)\r\n==242112== by 0x2DC645: do_cmdline (ex_docmd.c:633)\r\n==242112== by 0x2B99D1: call_user_func (userfunc.c:1188)\r\n==242112== \r\n==242112== Conditional jump or move depends on uninitialised value(s)\r\n==242112== at 0x257327: win_line (drawline.c:2235)\r\n==242112== by 0x25EE93: win_update (drawscreen.c:2291)\r\n==242112== by 0x25A58B: update_screen (drawscreen.c:640)\r\n==242112== by 0x2EA305: ex_redraw (ex_docmd.c:6305)\r\n==242112== by 0x2DEC02: execute_cmd0 (ex_docmd.c:1674)\r\n==242112== by 0x2E0B5B: do_one_cmd (ex_docmd.c:2343)\r\n==242112== by 0x2DC645: do_cmdline (ex_docmd.c:633)\r\n==242112== by 0x2B99D1: call_user_func (userfunc.c:1188)\r\n==242112== by 0x2BA128: call_user_func_check (userfunc.c:1342)\r\n==242112== by 0x2BACF4: call_func (userfunc.c:1700)\r\n==242112== by 0x2B7FD8: get_func_tv (userfunc.c:557)\r\n==242112== by 0x26F6E0: eval_func (eval.c:2302)\r\n==242112== Uninitialised value was created by a heap allocation\r\n==242112== at 0x4841828: malloc (vg_replace_malloc.c:442)\r\n==242112== by 0x3978F7: try_malloc (memory.c:98)\r\n==242112== by 0x39796E: xmalloc (memory.c:132)\r\n==242112== by 0x25052B: get_extra_buf (drawline.c:140)\r\n==242112== by 0x2572DB: win_line (drawline.c:2231)\r\n==242112== by 0x25EE93: win_update (drawscreen.c:2291)\r\n==242112== by 0x25A58B: update_screen (drawscreen.c:640)\r\n==242112== by 0x2EA305: ex_redraw (ex_docmd.c:6305)\r\n==242112== by 0x2DEC02: execute_cmd0 (ex_docmd.c:1674)\r\n==242112== by 0x2E0B5B: do_one_cmd (ex_docmd.c:2343)\r\n==242112== by 0x2DC645: do_cmdline (ex_docmd.c:633)\r\n==242112== by 0x2B99D1: call_user_func (userfunc.c:1188)\r\n```\r\n\r\n### Steps to reproduce\r\n\r\n`make oldtest TEST_FILE=test_vartabs.vim USE_VALGRIND=1`\r\n\r\n### Expected behavior\r\n\r\nNo use of uninitialized memory\r\n\r\n### Neovim version (nvim -v)\r\n\r\nN/A\r\n\r\n### Vim (not Nvim) behaves the same?\r\n\r\nNo\r\n\r\n### Operating system/version\r\n\r\nN/A\r\n\r\n### Terminal name/version\r\n\r\nN/A\r\n\r\n### $TERM environment variable\r\n\r\nN/A\r\n\r\n### Installation\r\n\r\nN/A", + "closed_at": "2024-02-02T14:31:59Z", + "comment_data": [], + "comments": 0, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27305/comments", + "created_at": "2024-02-02T13:22:17Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27305/events", + "html_url": "https://github.com/neovim/neovim/issues/27305", + "id": 2114924826, + "labels": [ + { + "color": "f9d0c4", + "default": true, + "description": "issues reporting wrong behavior", + "id": 77997474, + "name": "bug", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3NA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug" + }, + { + "color": "0E8A16", + "default": false, + "description": "issue contains a stacktrace/ASAN log", + "id": 435854079, + "name": "has:backtrace", + "node_id": "MDU6TGFiZWw0MzU4NTQwNzk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/has:backtrace" + }, + { + "color": "c5def5", + "default": false, + "description": "redraw", + "id": 718084050, + "name": "display", + "node_id": "MDU6TGFiZWw3MTgwODQwNTA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/display" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27305/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM5-DzEa", + "number": 27305, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27305/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "completed", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27305/timeline", + "title": "Possible use of uninitialized memory with 'linebreak' and 'vartabstop'", + "updated_at": "2024-02-02T14:31:59Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27305", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27309.json b/repositories/neovim/issues/27309.json new file mode 100644 index 00000000..3d301fc1 --- /dev/null +++ b/repositories/neovim/issues/27309.json @@ -0,0 +1,398 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Problem\r\n\r\nFolding used to work with treesitter, and I was using `vim.opt.foldexpr = \"nvim_treesitter#foldexpr()\"` but this no longer works, I tried moving to the newer `\"v.lua.vim.treesitter.foldexpr()\"` which still doesn't work. When i load a file that has treesitter parser installed and attached and i press `zc` to close fold under cursor I get `E409: No fold found`. If i press `zx` to refresh then press `zc` I get no errors anymore but I don't get folding either. No form of folding is working now.\r\nI have also tried setting foldmethod to indent, and using an autocmd:\r\n```\r\n-- Use treesitter based folding if the current buffer has a parser\r\nvim.api.nvim_create_autocmd(\"FileType\", {\r\n group = vim.api.nvim_create_augroup(\"treesitter-fold\", { clear = true }),\r\n callback = function()\r\n if require(\"nvim-treesitter.parsers\").get_parser() then\r\n vim.opt.foldmethod = \"expr\"\r\n vim.opt.foldexpr = \"v:lua.vim.treesitter.foldexpr()\"\r\n end\r\n end,\r\n})\r\n\r\n```\r\n\r\nstill no dice.\r\nIf I remove the autocmd and just use method = indent, it still gives same error of E409 no fold found\r\n\r\nTo note: this works in lua files, but not TS files\r\n\r\n### Steps to reproduce\r\n\r\n```\r\n-- Folding\r\nvim.opt.foldlevel = 99\r\nvim.opt.foldmethod = \"expr\"\r\nvim.opt.foldexpr = \"v:lua.vim.treesitter.foldexpr()\"\r\nvim.opt.foldenable = false\r\n```\r\n\r\nFull config: https://github.com/jacobrreed/nvim\r\n\r\n### Expected behavior\r\n\r\nI expect folding to work with treesitter parsers installed\r\n\r\n### Neovim version (nvim -v)\r\n\r\nNVIM v0.10.0-dev-2258+g1405e5c8c\r\n\r\n### Vim (not Nvim) behaves the same?\r\n\r\nN/A\r\n\r\n### Operating system/version\r\n\r\nMacOS Sonoma 14.2.1\r\n\r\n### Terminal name/version\r\n\r\nWezterm 20230712-072601-f4abf8fd\r\n\r\n### $TERM environment variable\r\n\r\nscreen-256color\r\n\r\n### Installation\r\n\r\nNightly release from github", + "closed_at": "2024-02-02T16:12:50Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "Please provide a minimal reproducible example for us to test with `nvim --clean -u test.lua`. Are you sure that you have fold queries for those languages installed?", + "created_at": "2024-02-02T15:50:13Z", + "html_url": "https://github.com/neovim/neovim/issues/27309#issuecomment-1924146903", + "id": 1924146903, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27309", + "node_id": "IC_kwDOAPphoM5ysCbX", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924146903/reactions" + }, + "updated_at": "2024-02-02T15:50:13Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924146903", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "NONE", + "body": "> Please provide a minimal reproducible example for us to test with `nvim --clean -u test.lua`. Are you sure that you have fold queries for those languages installed?\r\n\r\nHow do I check if fold queries are installed? I have typescript installed via nvim-treesitter :TSInstall", + "created_at": "2024-02-02T15:57:29Z", + "html_url": "https://github.com/neovim/neovim/issues/27309#issuecomment-1924159328", + "id": 1924159328, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27309", + "node_id": "IC_kwDOAPphoM5ysFdg", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924159328/reactions" + }, + "updated_at": "2024-02-02T15:57:29Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924159328", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/25580051?v=4", + "events_url": "https://api.github.com/users/jacobrreed/events{/privacy}", + "followers_url": "https://api.github.com/users/jacobrreed/followers", + "following_url": "https://api.github.com/users/jacobrreed/following{/other_user}", + "gists_url": "https://api.github.com/users/jacobrreed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/jacobrreed", + "id": 25580051, + "login": "jacobrreed", + "node_id": "MDQ6VXNlcjI1NTgwMDUx", + "organizations_url": "https://api.github.com/users/jacobrreed/orgs", + "received_events_url": "https://api.github.com/users/jacobrreed/received_events", + "repos_url": "https://api.github.com/users/jacobrreed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/jacobrreed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jacobrreed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/jacobrreed" + } + }, + { + "author_association": "MEMBER", + "body": "`:checkhealth`", + "created_at": "2024-02-02T15:59:29Z", + "html_url": "https://github.com/neovim/neovim/issues/27309#issuecomment-1924162549", + "id": 1924162549, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27309", + "node_id": "IC_kwDOAPphoM5ysGP1", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924162549/reactions" + }, + "updated_at": "2024-02-02T15:59:29Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924162549", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "NONE", + "body": "reinstalling typescript treesitter parser seems to make folding work again, but if i have cursor over a nested object and `zc` it folds the entire parent object/function", + "created_at": "2024-02-02T16:00:54Z", + "html_url": "https://github.com/neovim/neovim/issues/27309#issuecomment-1924164779", + "id": 1924164779, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27309", + "node_id": "IC_kwDOAPphoM5ysGyr", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924164779/reactions" + }, + "updated_at": "2024-02-02T16:00:54Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924164779", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/25580051?v=4", + "events_url": "https://api.github.com/users/jacobrreed/events{/privacy}", + "followers_url": "https://api.github.com/users/jacobrreed/followers", + "following_url": "https://api.github.com/users/jacobrreed/following{/other_user}", + "gists_url": "https://api.github.com/users/jacobrreed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/jacobrreed", + "id": 25580051, + "login": "jacobrreed", + "node_id": "MDQ6VXNlcjI1NTgwMDUx", + "organizations_url": "https://api.github.com/users/jacobrreed/orgs", + "received_events_url": "https://api.github.com/users/jacobrreed/received_events", + "repos_url": "https://api.github.com/users/jacobrreed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/jacobrreed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jacobrreed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/jacobrreed" + } + }, + { + "author_association": "NONE", + "body": "> `:checkhealth`\r\n\r\n - typescript ✓ ✓ ✓ ✓ ✓\r\n", + "created_at": "2024-02-02T16:01:25Z", + "html_url": "https://github.com/neovim/neovim/issues/27309#issuecomment-1924165712", + "id": 1924165712, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27309", + "node_id": "IC_kwDOAPphoM5ysHBQ", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924165712/reactions" + }, + "updated_at": "2024-02-02T16:01:25Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924165712", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/25580051?v=4", + "events_url": "https://api.github.com/users/jacobrreed/events{/privacy}", + "followers_url": "https://api.github.com/users/jacobrreed/followers", + "following_url": "https://api.github.com/users/jacobrreed/following{/other_user}", + "gists_url": "https://api.github.com/users/jacobrreed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/jacobrreed", + "id": 25580051, + "login": "jacobrreed", + "node_id": "MDQ6VXNlcjI1NTgwMDUx", + "organizations_url": "https://api.github.com/users/jacobrreed/orgs", + "received_events_url": "https://api.github.com/users/jacobrreed/received_events", + "repos_url": "https://api.github.com/users/jacobrreed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/jacobrreed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jacobrreed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/jacobrreed" + } + }, + { + "author_association": "NONE", + "body": "\r\nhttps://github.com/neovim/neovim/assets/25580051/c97d3de7-bad4-4b35-971f-a8c090be3515\r\n\r\n", + "created_at": "2024-02-02T16:02:45Z", + "html_url": "https://github.com/neovim/neovim/issues/27309#issuecomment-1924168077", + "id": 1924168077, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27309", + "node_id": "IC_kwDOAPphoM5ysHmN", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924168077/reactions" + }, + "updated_at": "2024-02-02T16:02:45Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924168077", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/25580051?v=4", + "events_url": "https://api.github.com/users/jacobrreed/events{/privacy}", + "followers_url": "https://api.github.com/users/jacobrreed/followers", + "following_url": "https://api.github.com/users/jacobrreed/following{/other_user}", + "gists_url": "https://api.github.com/users/jacobrreed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/jacobrreed", + "id": 25580051, + "login": "jacobrreed", + "node_id": "MDQ6VXNlcjI1NTgwMDUx", + "organizations_url": "https://api.github.com/users/jacobrreed/orgs", + "received_events_url": "https://api.github.com/users/jacobrreed/received_events", + "repos_url": "https://api.github.com/users/jacobrreed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/jacobrreed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jacobrreed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/jacobrreed" + } + }, + { + "author_association": "NONE", + "body": "seems if i go down one level further than expected and fold it works, maybe user error? idk", + "created_at": "2024-02-02T16:12:50Z", + "html_url": "https://github.com/neovim/neovim/issues/27309#issuecomment-1924187137", + "id": 1924187137, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27309", + "node_id": "IC_kwDOAPphoM5ysMQB", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924187137/reactions" + }, + "updated_at": "2024-02-02T16:12:50Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924187137", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/25580051?v=4", + "events_url": "https://api.github.com/users/jacobrreed/events{/privacy}", + "followers_url": "https://api.github.com/users/jacobrreed/followers", + "following_url": "https://api.github.com/users/jacobrreed/following{/other_user}", + "gists_url": "https://api.github.com/users/jacobrreed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/jacobrreed", + "id": 25580051, + "login": "jacobrreed", + "node_id": "MDQ6VXNlcjI1NTgwMDUx", + "organizations_url": "https://api.github.com/users/jacobrreed/orgs", + "received_events_url": "https://api.github.com/users/jacobrreed/received_events", + "repos_url": "https://api.github.com/users/jacobrreed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/jacobrreed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jacobrreed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/jacobrreed" + } + } + ], + "comments": 7, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27309/comments", + "created_at": "2024-02-02T15:48:06Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27309/events", + "html_url": "https://github.com/neovim/neovim/issues/27309", + "id": 2115223629, + "labels": [ + { + "color": "e6e6e6", + "default": false, + "description": "Issues that are closed as \"invalid\"", + "id": 77997477, + "name": "closed:invalid", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3Nw==", + "url": "https://api.github.com/repos/neovim/neovim/labels/closed:invalid" + }, + { + "color": "c5def5", + "default": false, + "description": "", + "id": 1799626557, + "name": "treesitter", + "node_id": "MDU6TGFiZWwxNzk5NjI2NTU3", + "url": "https://api.github.com/repos/neovim/neovim/labels/treesitter" + }, + { + "color": "c5def5", + "default": false, + "description": "", + "id": 2598645343, + "name": "folds", + "node_id": "MDU6TGFiZWwyNTk4NjQ1MzQz", + "url": "https://api.github.com/repos/neovim/neovim/labels/folds" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27309/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM5-E8BN", + "number": 27309, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27309/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "completed", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27309/timeline", + "title": "Folding with treesitter no longer working", + "updated_at": "2024-02-03T03:27:55Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27309", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/25580051?v=4", + "events_url": "https://api.github.com/users/jacobrreed/events{/privacy}", + "followers_url": "https://api.github.com/users/jacobrreed/followers", + "following_url": "https://api.github.com/users/jacobrreed/following{/other_user}", + "gists_url": "https://api.github.com/users/jacobrreed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/jacobrreed", + "id": 25580051, + "login": "jacobrreed", + "node_id": "MDQ6VXNlcjI1NTgwMDUx", + "organizations_url": "https://api.github.com/users/jacobrreed/orgs", + "received_events_url": "https://api.github.com/users/jacobrreed/received_events", + "repos_url": "https://api.github.com/users/jacobrreed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/jacobrreed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jacobrreed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/jacobrreed" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27310.json b/repositories/neovim/issues/27310.json new file mode 100644 index 00000000..31f3dbe8 --- /dev/null +++ b/repositories/neovim/issues/27310.json @@ -0,0 +1,80 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Problem\r\n\r\nI'm really not sure where to put this, since it isn't a bug, but it also isn't a feature. Right now I feel like the INSTALL.md file doesn't explain enough about installing on linux. It doesn't really explain much outside of using the appimage, and running it by typing \"./nvim.appimage\", and installing it from tarball, and typing \"./nvim-linux64/bin/nvim\" when you want to run it.\r\nThis is not what most users want. The top of the file even mentions that to run neovim, you type \"nvim.\" But if a user follows the installation instructions for tarball or appimage, this just won't work correctly.\r\n\r\nWhen someone follows an installation guide, it should give them all they need to get the program functioning like usual, but at the moment, it leaves off a few steps needed to get the program running by typing \"nvim\". I've found some workarounds myself, but it's not easy to find out if you're doing something the \"right\" way (that's why I'm not changing INSTALL.md myself, I'm just not sure of the proper conventional way of doing this), so if it was included in the install instructions, I think it would be very helpful.\r\n\r\nIt does explain how to expose the _extracted_ appimage globally, but that is noted as an \"optional\" thing, and it makes it seem like you should only do this if you _can't_ already run the appimage directly.\r\n\r\n### Expected behavior\r\n\r\nIt should explain the exact commands to install the program from tarball or appimage, and get it to run in the expected way, by typing \"nvim\" anywhere, instead of having to go into the folder, or typing a big long path every time you want to use the program. It should mention how to do this in the conventional way, since there's so many different ways of doing this, just going with the most typical option would be useful (I'm not sure of it.) After a quick search, it seems one convetional way is to put the main folder in /usr/opt and create a symlink from the nvim bin folder to allow starting it with just the command, but I think someone who knows better than me should write it. Maybe for debian systems, converting it to a .deb and using dpkg might be possible?", + "closed_at": null, + "comment_data": [], + "comments": 0, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27310/comments", + "created_at": "2024-02-02T16:12:16Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27310/events", + "html_url": "https://github.com/neovim/neovim/issues/27310", + "id": 2115267013, + "labels": [ + { + "color": "c2e0c6", + "default": true, + "description": "feature request", + "id": 77997476, + "name": "enhancement", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3Ng==", + "url": "https://api.github.com/repos/neovim/neovim/labels/enhancement" + }, + { + "color": "c5def5", + "default": true, + "description": "", + "id": 84744038, + "name": "documentation", + "node_id": "MDU6TGFiZWw4NDc0NDAzOA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/documentation" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27310/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM5-FGnF", + "number": 27310, + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/27310/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27310/timeline", + "title": "Suggestion: Explain linux installation in more detail in INSTALL.md", + "updated_at": "2024-02-02T19:12:40Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27310", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/31216671?v=4", + "events_url": "https://api.github.com/users/JamesC01/events{/privacy}", + "followers_url": "https://api.github.com/users/JamesC01/followers", + "following_url": "https://api.github.com/users/JamesC01/following{/other_user}", + "gists_url": "https://api.github.com/users/JamesC01/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/JamesC01", + "id": 31216671, + "login": "JamesC01", + "node_id": "MDQ6VXNlcjMxMjE2Njcx", + "organizations_url": "https://api.github.com/users/JamesC01/orgs", + "received_events_url": "https://api.github.com/users/JamesC01/received_events", + "repos_url": "https://api.github.com/users/JamesC01/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/JamesC01/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JamesC01/subscriptions", + "type": "User", + "url": "https://api.github.com/users/JamesC01" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27313.json b/repositories/neovim/issues/27313.json new file mode 100644 index 00000000..b35a13b7 --- /dev/null +++ b/repositories/neovim/issues/27313.json @@ -0,0 +1,390 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Problem\n\nHi, I'm trying to use neovim in wezterm but the cursor stays the same color.\r\n\r\nProbably this is more related to wezterm. There is an issue opened in wezterm repo: https://github.com/wez/wezterm/issues/2635\r\nMaybe some of neovim developers could come to the wezterm's issue and help to figure out the problem. Probably just to explain how neovim changes the color of cursor would be enough.\n\n### Steps to reproduce\n\n1. Open wezterm\r\n2. Start neovim without any config `nvim -u none`\r\n3. Add some text and move cursor to the text\r\n4. Cursor stays dark green (with the default wezterm colorscheme) while should be gray\n\n### Expected behavior\n\nCursor changes color in wezterm.\n\n### Neovim version (nvim -v)\n\n0.9.5\n\n### Vim (not Nvim) behaves the same?\n\nYes, vim 9.1\n\n### Operating system/version\n\nmacOS 14.3\n\n### Terminal name/version\n\nwezterm 20240127-113634-bbcac864\n\n### $TERM environment variable\n\nwezterm\n\n### Installation\n\nNix", + "closed_at": null, + "comment_data": [ + { + "author_association": "MEMBER", + "body": "Hmm, works for me? (both on nvim 0.9.4 and 0.10-master; macOS + wezterm 20240131-075510-21af10e0)\r\n\r\n\"image\"\r\n\r\n
\r\n\r\nThe reproduction step and expected behavior is a bit ambiguous here, it'd be better if this could be written more explicitly and self-contained.\r\n\r\nBTW, do you have \"terminfo\" for wezterm properly installed?", + "created_at": "2024-02-03T02:34:29Z", + "html_url": "https://github.com/neovim/neovim/issues/27313#issuecomment-1925027708", + "id": 1925027708, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27313", + "node_id": "IC_kwDOAPphoM5yvZd8", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925027708/reactions" + }, + "updated_at": "2024-02-03T02:34:29Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925027708", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "author_association": "NONE", + "body": "Hi @wookayin, thanks for checking that!\r\n\r\nI have terminfo installed according to [wezterm's documentation](https://wezfurlong.org/wezterm/config/lua/config/term.html).\r\n
\r\n $ tree ~/.terminfo\r\n \r\n \r\n```bash\r\n/Users/sergey/.terminfo\r\n├── 61\r\n│   ├── alacritty -> /opt/homebrew/Caskroom/alacritty/0.13.1/Alacritty.app/Contents/Resources/61/alacritty\r\n│   └── alacritty-direct -> /opt/homebrew/Caskroom/alacritty/0.13.1/Alacritty.app/Contents/Resources/61/alacritty-direct\r\n└── 77\r\n └── wezterm\r\n ``` \r\n \r\n
\r\n \r\n Your example works for me. But reverse highlighting for cursor doesn't.\r\n\r\nSorry for the not clear reproducion step, here is a better one:\r\n 1. Create file `test.vim` containing:\r\n ```vim\r\nset termguicolors\r\nhi Cursor guifg=NONE guibg=NONE gui=reverse cterm=reverse\r\nset guicursor=n-v-c:block-Cursor/lCursor\r\n ```\r\n 2. Open wezterm\r\n 3. Open nvim using command `nvim -u ./test.vim test.vim`\r\n 4. Cursor stays the same color while jumping between words with different color\r\n \r\n Expected behaviour:\r\nCursor changes color while jumping between words with different color.\r\n\r\n![Screenshot 2024-02-03 at 10 18 43](https://github.com/neovim/neovim/assets/15742918/0d45e105-d34e-4cba-80be-6e779fb7a367)\r\n", + "created_at": "2024-02-03T10:19:55Z", + "html_url": "https://github.com/neovim/neovim/issues/27313#issuecomment-1925256435", + "id": 1925256435, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27313", + "node_id": "IC_kwDOAPphoM5ywRTz", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925256435/reactions" + }, + "updated_at": "2024-02-03T10:28:53Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925256435", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/15742918?v=4", + "events_url": "https://api.github.com/users/kuznetsss/events{/privacy}", + "followers_url": "https://api.github.com/users/kuznetsss/followers", + "following_url": "https://api.github.com/users/kuznetsss/following{/other_user}", + "gists_url": "https://api.github.com/users/kuznetsss/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/kuznetsss", + "id": 15742918, + "login": "kuznetsss", + "node_id": "MDQ6VXNlcjE1NzQyOTE4", + "organizations_url": "https://api.github.com/users/kuznetsss/orgs", + "received_events_url": "https://api.github.com/users/kuznetsss/received_events", + "repos_url": "https://api.github.com/users/kuznetsss/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/kuznetsss/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kuznetsss/subscriptions", + "type": "User", + "url": "https://api.github.com/users/kuznetsss" + } + }, + { + "author_association": "NONE", + "body": "Can confirm the behavior @kuznetsss describes.\r\n\r\n![image](https://github.com/neovim/neovim/assets/31665788/23dae78c-4a89-40a6-a6b8-4aa6c34330d3)\r\n\r\n\r\nJust tested with the latest nightly builds of NeoVim and Wezterm\r\n\r\n* Wezterm version `wezterm 20240202-193942-c3d37f9e`\r\n* NeoVim version\r\n ```\r\n NVIM v0.10.0-dev-2267+g6709f7f8f\r\n Build type: RelWithDebInfo\r\n LuaJIT 2.1.1706708390\r\n Run \"nvim -V1 -v\" for more info\r\n ```\r\n\r\nFor reference, it works as expected in Alacritty.\r\n\r\n![image](https://github.com/neovim/neovim/assets/31665788/0359a36a-19cb-4033-9d40-ab6668897bd4)\r\n", + "created_at": "2024-02-03T10:30:58Z", + "html_url": "https://github.com/neovim/neovim/issues/27313#issuecomment-1925259170", + "id": 1925259170, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27313", + "node_id": "IC_kwDOAPphoM5ywR-i", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925259170/reactions" + }, + "updated_at": "2024-02-03T10:30:58Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925259170", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/31665788?v=4", + "events_url": "https://api.github.com/users/david-haerer/events{/privacy}", + "followers_url": "https://api.github.com/users/david-haerer/followers", + "following_url": "https://api.github.com/users/david-haerer/following{/other_user}", + "gists_url": "https://api.github.com/users/david-haerer/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/david-haerer", + "id": 31665788, + "login": "david-haerer", + "node_id": "MDQ6VXNlcjMxNjY1Nzg4", + "organizations_url": "https://api.github.com/users/david-haerer/orgs", + "received_events_url": "https://api.github.com/users/david-haerer/received_events", + "repos_url": "https://api.github.com/users/david-haerer/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/david-haerer/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/david-haerer/subscriptions", + "type": "User", + "url": "https://api.github.com/users/david-haerer" + } + }, + { + "author_association": "NONE", + "body": "I assume Alacritty just has reversed cursor by default. While WezTerm has fixed cursor color by default. If I set a cursor color in Alacritty's config it starts to behave exactly like WezTerm not showing reversed cursor color. And vice versa if I turn on `force_reverse_video_cursor = true` for WezTerm it starts to show cursor with reversed color like Alacritty.\r\n\r\nSo maybe we could close the issue if someone confirms that Neovim doesn't use any specific terminal sequence for reversing cursor color.", + "created_at": "2024-02-03T12:07:00Z", + "html_url": "https://github.com/neovim/neovim/issues/27313#issuecomment-1925303876", + "id": 1925303876, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27313", + "node_id": "IC_kwDOAPphoM5ywc5E", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 1, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925303876/reactions" + }, + "updated_at": "2024-02-03T12:07:00Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925303876", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/15742918?v=4", + "events_url": "https://api.github.com/users/kuznetsss/events{/privacy}", + "followers_url": "https://api.github.com/users/kuznetsss/followers", + "following_url": "https://api.github.com/users/kuznetsss/following{/other_user}", + "gists_url": "https://api.github.com/users/kuznetsss/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/kuznetsss", + "id": 15742918, + "login": "kuznetsss", + "node_id": "MDQ6VXNlcjE1NzQyOTE4", + "organizations_url": "https://api.github.com/users/kuznetsss/orgs", + "received_events_url": "https://api.github.com/users/kuznetsss/received_events", + "repos_url": "https://api.github.com/users/kuznetsss/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/kuznetsss/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kuznetsss/subscriptions", + "type": "User", + "url": "https://api.github.com/users/kuznetsss" + } + }, + { + "author_association": "MEMBER", + "body": "> So maybe we could close the issue if someone confirms that Neovim doesn't use any specific terminal sequence for reversing cursor color.\r\n\r\nThat logic is here: https://github.com/neovim/neovim/blob/5e5b004da44c7075ed1e20ae9d05ab09c6f2ac58/src/nvim/tui/tui.c#L2253-L2284\r\n", + "created_at": "2024-02-03T19:48:15Z", + "html_url": "https://github.com/neovim/neovim/issues/27313#issuecomment-1925439832", + "id": 1925439832, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27313", + "node_id": "IC_kwDOAPphoM5yw-FY", + "performed_via_github_app": null, + "reactions": { + "+1": 2, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 2, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925439832/reactions" + }, + "updated_at": "2024-02-03T19:48:15Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925439832", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "NONE", + "body": "Thanks for sharing this!\r\n\r\nI can see that there are only `\\033]12;...\\007` and `\\x1b]112\\x07` sequences used to control or reset cursor color. I have tried both in WezTerm and they work fine.\r\nSo I think that proves that the problem was in different default setting.\r\n\r\nI don't know much about terminal sequences but is it possible for Neovim to make inverse cursor color even if terminal sets some specific color? I think that would make Neovim more self containable.\r\n", + "created_at": "2024-02-04T11:11:54Z", + "html_url": "https://github.com/neovim/neovim/issues/27313#issuecomment-1925705304", + "id": 1925705304, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27313", + "node_id": "IC_kwDOAPphoM5yx-5Y", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925705304/reactions" + }, + "updated_at": "2024-02-04T11:11:54Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925705304", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/15742918?v=4", + "events_url": "https://api.github.com/users/kuznetsss/events{/privacy}", + "followers_url": "https://api.github.com/users/kuznetsss/followers", + "following_url": "https://api.github.com/users/kuznetsss/following{/other_user}", + "gists_url": "https://api.github.com/users/kuznetsss/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/kuznetsss", + "id": 15742918, + "login": "kuznetsss", + "node_id": "MDQ6VXNlcjE1NzQyOTE4", + "organizations_url": "https://api.github.com/users/kuznetsss/orgs", + "received_events_url": "https://api.github.com/users/kuznetsss/received_events", + "repos_url": "https://api.github.com/users/kuznetsss/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/kuznetsss/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kuznetsss/subscriptions", + "type": "User", + "url": "https://api.github.com/users/kuznetsss" + } + } + ], + "comments": 6, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27313/comments", + "created_at": "2024-02-03T01:16:33Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27313/events", + "html_url": "https://github.com/neovim/neovim/issues/27313", + "id": 2116101615, + "labels": [ + { + "color": "f9d0c4", + "default": true, + "description": "issues reporting wrong behavior", + "id": 77997474, + "name": "bug", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3NA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug" + }, + { + "color": "c5def5", + "default": false, + "description": "user system environment (terminal, shell, tmux)", + "id": 147354524, + "name": "environment", + "node_id": "MDU6TGFiZWwxNDczNTQ1MjQ=", + "url": "https://api.github.com/repos/neovim/neovim/labels/environment" + }, + { + "color": "c5def5", + "default": false, + "description": "", + "id": 197254545, + "name": "tui", + "node_id": "MDU6TGFiZWwxOTcyNTQ1NDU=", + "url": "https://api.github.com/repos/neovim/neovim/labels/tui" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27313/labels{/name}", + "locked": false, + "milestone": { + "closed_at": null, + "closed_issues": 208, + "created_at": "2014-11-26T22:13:11Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + }, + "description": "Zero priority; no timeline. Promote an item from this state by taking ownership of it.", + "due_on": null, + "html_url": "https://github.com/neovim/neovim/milestone/9", + "id": 881978, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/9/labels", + "node_id": "MDk6TWlsZXN0b25lODgxOTc4", + "number": 9, + "open_issues": 237, + "state": "open", + "title": "unplanned", + "updated_at": "2024-02-04T21:56:28Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/9" + }, + "node_id": "I_kwDOAPphoM5-ISXv", + "number": 27313, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27313/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27313/timeline", + "title": "TUI: cursor doesn't change color in wezterm", + "updated_at": "2024-02-04T11:11:54Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27313", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/15742918?v=4", + "events_url": "https://api.github.com/users/kuznetsss/events{/privacy}", + "followers_url": "https://api.github.com/users/kuznetsss/followers", + "following_url": "https://api.github.com/users/kuznetsss/following{/other_user}", + "gists_url": "https://api.github.com/users/kuznetsss/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/kuznetsss", + "id": 15742918, + "login": "kuznetsss", + "node_id": "MDQ6VXNlcjE1NzQyOTE4", + "organizations_url": "https://api.github.com/users/kuznetsss/orgs", + "received_events_url": "https://api.github.com/users/kuznetsss/received_events", + "repos_url": "https://api.github.com/users/kuznetsss/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/kuznetsss/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kuznetsss/subscriptions", + "type": "User", + "url": "https://api.github.com/users/kuznetsss" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27318.json b/repositories/neovim/issues/27318.json new file mode 100644 index 00000000..1ec6332c --- /dev/null +++ b/repositories/neovim/issues/27318.json @@ -0,0 +1,468 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Problem\n\nPlease see related haskell-language-server issue: https://github.com/haskell/haskell-language-server/issues/3857\r\n\r\nThe HLS \"Remove redundant imports\" code action stopped appearing after neovim `0.7`. It appears that neovim might be making malformed requests to the language server?\r\n\r\nThe code action works in neovim `0.7`, but is broken in neovim `0.9.x`. The code action works as expected in VS Code, which suggests it is in fact an issue with neovim rather than the haskell language server.\r\n\r\nFollowing are the contents of the requests for neovim `0.7` and `0.9`:\r\n\r\n**neovim 0.7**\r\n```\r\n[DEBUG][2023-10-31 14:31:44] .../vim/lsp/rpc.lua:347\t\"rpc.send\"\t{ id = 2, jsonrpc = \"2.0\", method = \"textDocument/codeAction\", params = { context = { diagnostics = { { code = \"-Wunused-imports\", message = \"The import of ‘generateDebugUI’\\nfrom module ‘DebugInfoScreen’ is redundant\", range = { end = { character = 53, line = 8 }, start = { character = 38, line = 8 } }, severity = 2, source = \"typecheck\", tags = { 1 } } } }, range = { end = <1>{ character = 0, line = 8 }, start =
}, textDocument = { uri = \"file:///Users/axis/dev/ultimate/src/Program/IODriver.hs\" } }}\r\n```\r\n\r\n**neovim 0.9**\r\n```\r\n[DEBUG][2023-10-31 14:45:44] .../vim/lsp/rpc.lua:284\t\"rpc.send\"\t{ id = 9, jsonrpc = \"2.0\", method = \"textDocument/codeAction\", params = { context = { diagnostics = { { code = \"-Wunused-imports\", message = \"The import of ‘generateDebugUI’\\nfrom module ‘DebugInfoScreen’ is redundant\", range = { [\"end\"] = { character = 53, line = 8 }, start = { character = 38, line = 8 } }, severity = 2, source = \"typecheck\" } }, triggerKind = 1 }, range = { [\"end\"] = <1>{ character = 5, line = 8 }, start =
}, textDocument = { uri = \"file:///Users/axis/dev/ultimate/src/Program/IODriver.hs\" } }}\r\n```\r\n----\r\n\r\nThe diff of these two boils down to:\r\n\r\n**0.7:**\r\n```\r\nrange = { end = <1>{ character = 0, line = 8 }, start =
}\r\n```\r\n\r\n**0.9:**\r\n```\r\nrange = { [\"end\"] = <1>{ character = 5, line = 8 }, start =
}\r\n```\r\n\r\nNote the `[\"end\"] = ` bit, seems like the JSON might be wonky?\n\n### Steps to reproduce\n\nOpen a Haskell file using neovim 0.9.x and the haskell-language-server. Add a redundant import. Ask for code actions on this line.\n\n### Expected behavior\n\nThere is a code action to 'Remove import' and 'Remove all redundant imports', as well as 'Disable 'unused-imports' warnings'\n\n### Neovim version (nvim -v)\n\nNVIM v0.9.5 Build type: Release LuaJIT 2.1.1692716794\n\n### Vim (not Nvim) behaves the same?\n\nn/a\n\n### Operating system/version\n\nPopOS 22.04\n\n### Terminal name/version\n\ngnome-terminal\n\n### $TERM environment variable\n\nxterm-256color\n\n### Installation\n\nappimage", + "closed_at": null, + "comment_data": [ + { + "author_association": "MEMBER", + "body": "The requests are the same, they are just logged differently: #19898", + "created_at": "2024-02-03T05:04:18Z", + "html_url": "https://github.com/neovim/neovim/issues/27318#issuecomment-1925099724", + "id": 1925099724, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27318", + "node_id": "IC_kwDOAPphoM5yvrDM", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 1, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925099724/reactions" + }, + "updated_at": "2024-02-03T05:07:42Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925099724", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "NONE", + "body": "Ahh, I see. Thanks for the context, the logs make more sense given that.\r\n\r\nThen the only difference is the the second `range` value, it seems. Unless there's something else going on elsewhere...", + "created_at": "2024-02-03T17:54:22Z", + "html_url": "https://github.com/neovim/neovim/issues/27318#issuecomment-1925413853", + "id": 1925413853, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27318", + "node_id": "IC_kwDOAPphoM5yw3vd", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925413853/reactions" + }, + "updated_at": "2024-02-03T17:54:22Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925413853", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/132365?v=4", + "events_url": "https://api.github.com/users/keithfancher/events{/privacy}", + "followers_url": "https://api.github.com/users/keithfancher/followers", + "following_url": "https://api.github.com/users/keithfancher/following{/other_user}", + "gists_url": "https://api.github.com/users/keithfancher/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/keithfancher", + "id": 132365, + "login": "keithfancher", + "node_id": "MDQ6VXNlcjEzMjM2NQ==", + "organizations_url": "https://api.github.com/users/keithfancher/orgs", + "received_events_url": "https://api.github.com/users/keithfancher/received_events", + "repos_url": "https://api.github.com/users/keithfancher/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/keithfancher/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/keithfancher/subscriptions", + "type": "User", + "url": "https://api.github.com/users/keithfancher" + } + }, + { + "author_association": "NONE", + "body": "Here are some equivalent request/response logs from VS Code, where the code actions also behave as expected:\r\n\r\nRequest:\r\n```\r\n[Trace - 12:27:25 PM] Sending request 'textDocument/codeAction - (7)'.\r\nParams: \r\n```\r\n```json\r\n{\r\n \"textDocument\": {\r\n \"uri\": \"file:///home/ktf/Code/tvmv/src/Log.hs\"\r\n },\r\n \"range\": {\r\n \"start\": {\r\n \"line\": 29,\r\n \"character\": 0\r\n },\r\n \"end\": {\r\n \"line\": 29,\r\n \"character\": 0\r\n }\r\n },\r\n \"context\": {\r\n \"diagnostics\": [\r\n {\r\n \"range\": {\r\n \"start\": {\r\n \"line\": 29,\r\n \"character\": 0\r\n },\r\n \"end\": {\r\n \"line\": 29,\r\n \"character\": 18\r\n }\r\n },\r\n \"message\": \"The import of ‘Debug.Trace’ is redundant\\n except perhaps to import instances from ‘Debug.Trace’\\nTo import instances alone, use: import Debug.Trace()\",\r\n \"code\": \"-Wunused-imports\",\r\n \"severity\": 2,\r\n \"tags\": [\r\n 1\r\n ],\r\n \"source\": \"typecheck\"\r\n }\r\n ]\r\n }\r\n}\r\n```\r\n\r\nResponse (note the presence of `\"Remove all redundant imports\"` option):\r\n```\r\n[Trace - 12:27:25 PM] Received response 'textDocument/codeAction - (7)' in 68ms.\r\nResult:\r\n```\r\n```json\r\n[\r\n {\r\n \"data\": {\r\n \"resolvePlugin\": \"importLens\",\r\n \"resolveURI\": \"file:///home/ktf/Code/tvmv/src/Log.hs\",\r\n \"resolveValue\": {\r\n \"importId\": 66,\r\n \"tag\": \"ResolveOne\",\r\n \"uri\": \"file:///home/ktf/Code/tvmv/src/Log.hs\"\r\n }\r\n },\r\n \"kind\": \"quickfix\",\r\n \"title\": \"Make this import explicit\"\r\n },\r\n {\r\n \"data\": {\r\n \"resolvePlugin\": \"importLens\",\r\n \"resolveURI\": \"file:///home/ktf/Code/tvmv/src/Log.hs\",\r\n \"resolveValue\": {\r\n \"tag\": \"ExplicitAll\",\r\n \"uri\": \"file:///home/ktf/Code/tvmv/src/Log.hs\"\r\n }\r\n },\r\n \"kind\": \"quickfix\",\r\n \"title\": \"Make all imports explicit\"\r\n },\r\n {\r\n \"diagnostics\": [\r\n {\r\n \"code\": \"-Wunused-imports\",\r\n \"message\": \"The import of ‘Debug.Trace’ is redundant\\n except perhaps to import instances from ‘Debug.Trace’\\nTo import instances alone, use: import Debug.Trace()\",\r\n \"range\": {\r\n \"end\": {\r\n \"character\": 18,\r\n \"line\": 29\r\n },\r\n \"start\": {\r\n \"character\": 0,\r\n \"line\": 29\r\n }\r\n },\r\n \"severity\": 2,\r\n \"source\": \"typecheck\",\r\n \"tags\": [\r\n 1\r\n ]\r\n }\r\n ],\r\n \"edit\": {\r\n \"changes\": {\r\n \"file:///home/ktf/Code/tvmv/src/Log.hs\": [\r\n {\r\n \"newText\": \"\",\r\n \"range\": {\r\n \"end\": {\r\n \"character\": 0,\r\n \"line\": 30\r\n },\r\n \"start\": {\r\n \"character\": 0,\r\n \"line\": 29\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n },\r\n \"kind\": \"quickfix\",\r\n \"title\": \"Remove import\"\r\n },\r\n {\r\n \"edit\": {\r\n \"changes\": {\r\n \"file:///home/ktf/Code/tvmv/src/Log.hs\": [\r\n {\r\n \"newText\": \"\",\r\n \"range\": {\r\n \"end\": {\r\n \"character\": 0,\r\n \"line\": 30\r\n },\r\n \"start\": {\r\n \"character\": 0,\r\n \"line\": 29\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n },\r\n \"isPreferred\": true,\r\n \"kind\": \"quickfix\",\r\n \"title\": \"Remove all redundant imports\"\r\n },\r\n {\r\n \"diagnostics\": [],\r\n \"edit\": {\r\n \"changes\": {\r\n \"file:///home/ktf/Code/tvmv/src/Log.hs\": [\r\n {\r\n \"newText\": \"{-# OPTIONS_GHC -Wno-unused-imports #-}\\n\",\r\n \"range\": {\r\n \"end\": {\r\n \"character\": 0,\r\n \"line\": 0\r\n },\r\n \"start\": {\r\n \"character\": 0,\r\n \"line\": 0\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n },\r\n \"kind\": \"quickfix\",\r\n \"title\": \"Disable \\\"unused-imports\\\" warnings\"\r\n }\r\n]\r\n\r\n\r\n```", + "created_at": "2024-02-03T20:35:05Z", + "html_url": "https://github.com/neovim/neovim/issues/27318#issuecomment-1925449089", + "id": 1925449089, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27318", + "node_id": "IC_kwDOAPphoM5yxAWB", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925449089/reactions" + }, + "updated_at": "2024-02-03T20:35:05Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925449089", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/132365?v=4", + "events_url": "https://api.github.com/users/keithfancher/events{/privacy}", + "followers_url": "https://api.github.com/users/keithfancher/followers", + "following_url": "https://api.github.com/users/keithfancher/following{/other_user}", + "gists_url": "https://api.github.com/users/keithfancher/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/keithfancher", + "id": 132365, + "login": "keithfancher", + "node_id": "MDQ6VXNlcjEzMjM2NQ==", + "organizations_url": "https://api.github.com/users/keithfancher/orgs", + "received_events_url": "https://api.github.com/users/keithfancher/received_events", + "repos_url": "https://api.github.com/users/keithfancher/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/keithfancher/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/keithfancher/subscriptions", + "type": "User", + "url": "https://api.github.com/users/keithfancher" + } + }, + { + "author_association": "NONE", + "body": "And here is the identical request from neovim `0.9.5`. It's not quite apples-to-apples, I guess the neovim logging isn't JSON, but lua? I tried to format it a bit for readability:\r\n```\r\n[DEBUG][2024-02-03 13:10:49] .../lua/vim/lsp.lua:1391\t\"LSP[hls]\"\t\"client.request\"\t1\t\"textDocument/codeAction\"\t\r\n```\r\n```lua\r\n{\r\n context = \r\n {\r\n diagnostics = {\r\n {\r\n code = \"-Wunused-imports\",\r\n message = \"The import of ‘Debug.Trace’ is redundant\\n except perhaps to import instances from ‘Debug.Trace’\\nTo import instances alone, use: import Debug.Trace()\",\r\n range = {\r\n [\"end\"] = { character = 18, line = 29},\r\n start = {character = 0, line = 29} \r\n },\r\n severity = 2,\r\n source = \"typecheck\" \r\n } \r\n },\r\n triggerKind = 1 \r\n }, \r\n range = { [\"end\"] = <1>{character = 0, line = 29}, start =
},\r\n textDocument = { uri = \"file:///mnt/data/Programming/tvmv/src/Log.hs\" }\r\n}\t\t1\r\n```\r\n\r\nAside from the `table` and `[\"end\"]` stuff, seems like the main difference is the lack of the `tags` field in neovim's request?", + "created_at": "2024-02-03T21:23:33Z", + "html_url": "https://github.com/neovim/neovim/issues/27318#issuecomment-1925458819", + "id": 1925458819, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27318", + "node_id": "IC_kwDOAPphoM5yxCuD", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925458819/reactions" + }, + "updated_at": "2024-02-03T21:23:33Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925458819", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/132365?v=4", + "events_url": "https://api.github.com/users/keithfancher/events{/privacy}", + "followers_url": "https://api.github.com/users/keithfancher/followers", + "following_url": "https://api.github.com/users/keithfancher/following{/other_user}", + "gists_url": "https://api.github.com/users/keithfancher/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/keithfancher", + "id": 132365, + "login": "keithfancher", + "node_id": "MDQ6VXNlcjEzMjM2NQ==", + "organizations_url": "https://api.github.com/users/keithfancher/orgs", + "received_events_url": "https://api.github.com/users/keithfancher/received_events", + "repos_url": "https://api.github.com/users/keithfancher/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/keithfancher/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/keithfancher/subscriptions", + "type": "User", + "url": "https://api.github.com/users/keithfancher" + } + }, + { + "author_association": "MEMBER", + "body": "Can you confirm if range codeaction works with the same haskell LSP server on nvim 0.7.x? I don't think is a regression, but some incompatibility of the LSP server. It's likely that the certain LSP server (haskell) would be sending an invalid response, or Nvim doesn't follow the LSP spec 100% accurately.\r\n\r\nThe additional `tags` field is a part of `lsp.Diagnostic`, but this is just an optional metadata that has nothing to do with the bug.\r\n\r\nhttps://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#codeActionContext\r\nhttps://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#diagnostic\r\n\r\nWhat's the response from LSP? Can you get one and log it?", + "created_at": "2024-02-03T21:52:41Z", + "html_url": "https://github.com/neovim/neovim/issues/27318#issuecomment-1925464638", + "id": 1925464638, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27318", + "node_id": "IC_kwDOAPphoM5yxEI-", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925464638/reactions" + }, + "updated_at": "2024-02-03T21:54:05Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925464638", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "author_association": "NONE", + "body": "I've done some debugging on the haskell-language-server side and found that the issue *is* actually the missing tags. There's a comparison happening server-side that expects them to be there, but they aren't.\r\n\r\nIs there a reason neovim stopped sending them?\r\n\r\nThat aside, it looks like the only required fields in `Diagnostic` are `range` and `message` -- am I reading that right? (According to [the docs you linked](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#diagnostic).)\r\n\r\nIf that's the case, perhaps the server-side check should be made less strict...", + "created_at": "2024-02-04T18:27:22Z", + "html_url": "https://github.com/neovim/neovim/issues/27318#issuecomment-1925873663", + "id": 1925873663, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27318", + "node_id": "IC_kwDOAPphoM5yyn__", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925873663/reactions" + }, + "updated_at": "2024-02-04T18:27:22Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925873663", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/132365?v=4", + "events_url": "https://api.github.com/users/keithfancher/events{/privacy}", + "followers_url": "https://api.github.com/users/keithfancher/followers", + "following_url": "https://api.github.com/users/keithfancher/following{/other_user}", + "gists_url": "https://api.github.com/users/keithfancher/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/keithfancher", + "id": 132365, + "login": "keithfancher", + "node_id": "MDQ6VXNlcjEzMjM2NQ==", + "organizations_url": "https://api.github.com/users/keithfancher/orgs", + "received_events_url": "https://api.github.com/users/keithfancher/received_events", + "repos_url": "https://api.github.com/users/keithfancher/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/keithfancher/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/keithfancher/subscriptions", + "type": "User", + "url": "https://api.github.com/users/keithfancher" + } + }, + { + "author_association": "MEMBER", + "body": "Thanks for your efforts in debugging on the LSP server side. As you can find in the LSP protocol:\r\n\r\n- https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#codeActionParams\r\n- https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#codeActionContext\r\n- https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#diagnostic\r\n\r\nThe field `params.context.diagnostics[...].tags` is optional, so if the lack of this field causes a LSP server to throw or not send a valid response, it's a bug of the Haskell LSP server, not Neovim's. I haven't tried finding since which commit and why LSP 0.7+ no longer sends that, but you could try git-bisecting if you're interested in.", + "created_at": "2024-02-04T18:34:18Z", + "html_url": "https://github.com/neovim/neovim/issues/27318#issuecomment-1925875457", + "id": 1925875457, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27318", + "node_id": "IC_kwDOAPphoM5yyocB", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925875457/reactions" + }, + "updated_at": "2024-02-04T19:50:46Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925875457", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "author_association": "NONE", + "body": "Hi, HLS dev here. I think we should be robust to this case, but I do think something slightly funny is going on here. \r\n\r\nDiagnostics originate from the server, so I think it's not _totally_ unreasonable for us to expect that the elements of the `params.contexts.diagnostics` array are exactly diagnostics that the server originally sent. But it looks like what's happening here is that we're sending you a diagnostic _with_ a tag, and you're sending it back _without_ a tag.\r\n\r\nFrom the server's perspective, not sending back diagnostics exactly as they were received makes it much harder to cross-reference the diagnostics in `params.context` with the diagnostics that the server knows about, since a naive structural comparison now thinks that they're different.\r\n\r\nOf course, the spec helpfully says nothing about what you're supposed to do here, so who knows! ", + "created_at": "2024-02-05T09:25:20Z", + "html_url": "https://github.com/neovim/neovim/issues/27318#issuecomment-1926547743", + "id": 1926547743, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27318", + "node_id": "IC_kwDOAPphoM5y1Mkf", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926547743/reactions" + }, + "updated_at": "2024-02-05T09:25:20Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926547743", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1699466?v=4", + "events_url": "https://api.github.com/users/michaelpj/events{/privacy}", + "followers_url": "https://api.github.com/users/michaelpj/followers", + "following_url": "https://api.github.com/users/michaelpj/following{/other_user}", + "gists_url": "https://api.github.com/users/michaelpj/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/michaelpj", + "id": 1699466, + "login": "michaelpj", + "node_id": "MDQ6VXNlcjE2OTk0NjY=", + "organizations_url": "https://api.github.com/users/michaelpj/orgs", + "received_events_url": "https://api.github.com/users/michaelpj/received_events", + "repos_url": "https://api.github.com/users/michaelpj/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/michaelpj/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/michaelpj/subscriptions", + "type": "User", + "url": "https://api.github.com/users/michaelpj" + } + }, + { + "author_association": "MEMBER", + "body": "> Of course, the spec helpfully says nothing about what you're supposed to do here, so who knows!\r\n\r\nNobody, until someone opens an issue requesting clarification ;)", + "created_at": "2024-02-05T09:27:20Z", + "html_url": "https://github.com/neovim/neovim/issues/27318#issuecomment-1926551406", + "id": 1926551406, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27318", + "node_id": "IC_kwDOAPphoM5y1Ndu", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926551406/reactions" + }, + "updated_at": "2024-02-05T09:27:20Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926551406", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + } + ], + "comments": 9, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27318/comments", + "created_at": "2024-02-03T04:49:12Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27318/events", + "html_url": "https://github.com/neovim/neovim/issues/27318", + "id": 2116227977, + "labels": [ + { + "color": "c5def5", + "default": false, + "description": null, + "id": 662566370, + "name": "lsp", + "node_id": "MDU6TGFiZWw2NjI1NjYzNzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/lsp" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27318/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM5-IxOJ", + "number": 27318, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27318/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27318/timeline", + "title": "LSP: Code action ranges broken in neovim > `0.7`", + "updated_at": "2024-02-05T09:27:22Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27318", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/132365?v=4", + "events_url": "https://api.github.com/users/keithfancher/events{/privacy}", + "followers_url": "https://api.github.com/users/keithfancher/followers", + "following_url": "https://api.github.com/users/keithfancher/following{/other_user}", + "gists_url": "https://api.github.com/users/keithfancher/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/keithfancher", + "id": 132365, + "login": "keithfancher", + "node_id": "MDQ6VXNlcjEzMjM2NQ==", + "organizations_url": "https://api.github.com/users/keithfancher/orgs", + "received_events_url": "https://api.github.com/users/keithfancher/received_events", + "repos_url": "https://api.github.com/users/keithfancher/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/keithfancher/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/keithfancher/subscriptions", + "type": "User", + "url": "https://api.github.com/users/keithfancher" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27320.json b/repositories/neovim/issues/27320.json new file mode 100644 index 00000000..752f2be5 --- /dev/null +++ b/repositories/neovim/issues/27320.json @@ -0,0 +1,293 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "body": "### Problem\n\nPrior to #20750, it was possible to call `vim.treesitter.foldtext()` to get the current foldtext and customize the text shown. I used to have foldtext\r\n\r\n```lua\r\nfunction FoldText()\r\n local text = vim.treesitter.foldtext() --[[ @as string[] ]]\r\n local n_lines = vim.v.foldend - vim.v.foldstart\r\n table.insert(text, { ' 󰁂 ' .. n_lines, { 'Folded' } })\r\n return text\r\nend\r\n\r\nvim.opt.foldmethod = 'expr'\r\nvim.opt.foldexpr = 'v:lua.vim.treesitter.foldexpr()'\r\nvim.opt.foldtext = 'v:lua.FoldText()'\r\n```\r\n \n\n### Expected behavior\n\nWould it still be possible to expose the default implementation of `foldtext()` as a Lua function?", + "closed_at": "2024-02-04T16:12:23Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "I don't think it's possible to expose it as a function, but maybe it can be exposed as a variable.", + "created_at": "2024-02-03T13:07:42Z", + "html_url": "https://github.com/neovim/neovim/issues/27320#issuecomment-1925316821", + "id": 1925316821, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27320", + "node_id": "IC_kwDOAPphoM5ywgDV", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925316821/reactions" + }, + "updated_at": "2024-02-03T13:07:42Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925316821", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "MEMBER", + "body": "Transparent foldtext can't be exported to Lua without a significant amount of effort.\n\nYou're free to copy the old implementation of foldtext and continue using that.", + "created_at": "2024-02-04T16:12:20Z", + "html_url": "https://github.com/neovim/neovim/issues/27320#issuecomment-1925808883", + "id": 1925808883, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27320", + "node_id": "IC_kwDOAPphoM5yyYLz", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925808883/reactions" + }, + "updated_at": "2024-02-04T16:14:07Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925808883", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "author_association": "MEMBER", + "body": "Well, I think this is a valid request (which I was also thinking about adding) nevertheless, although it would be not trivial to implement. The old `vim.treesitter.foldtext()` (reverted in #27217) can't handle extmarks, etc. so exposing the transparent foldtext as a variable so that it can be used in composition, e.g., `v:foldtext`, would be a good feature to have.", + "created_at": "2024-02-04T21:27:08Z", + "html_url": "https://github.com/neovim/neovim/issues/27320#issuecomment-1925923367", + "id": 1925923367, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27320", + "node_id": "IC_kwDOAPphoM5yy0In", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925923367/reactions" + }, + "updated_at": "2024-02-04T21:28:48Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925923367", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "author_association": "MEMBER", + "body": "We don't need to keep issues open just because they are \"valid\" if it's not likely to ever get implemented.\n\nWe can accept a PR if someone is actually going to implement this. We can even reopen this and assign it to said person. Otherwise this is unplanned.", + "created_at": "2024-02-04T21:34:27Z", + "html_url": "https://github.com/neovim/neovim/issues/27320#issuecomment-1925925406", + "id": 1925925406, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27320", + "node_id": "IC_kwDOAPphoM5yy0oe", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925925406/reactions" + }, + "updated_at": "2024-02-04T21:34:27Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925925406", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + } + ], + "comments": 4, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27320/comments", + "created_at": "2024-02-03T12:45:04Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27320/events", + "html_url": "https://github.com/neovim/neovim/issues/27320", + "id": 2116468147, + "labels": [ + { + "color": "c2e0c6", + "default": true, + "description": "feature request", + "id": 77997476, + "name": "enhancement", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3Ng==", + "url": "https://api.github.com/repos/neovim/neovim/labels/enhancement" + }, + { + "color": "c5def5", + "default": false, + "description": "", + "id": 2598645343, + "name": "folds", + "node_id": "MDU6TGFiZWwyNTk4NjQ1MzQz", + "url": "https://api.github.com/repos/neovim/neovim/labels/folds" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27320/labels{/name}", + "locked": false, + "milestone": { + "closed_at": null, + "closed_issues": 208, + "created_at": "2014-11-26T22:13:11Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + }, + "description": "Zero priority; no timeline. Promote an item from this state by taking ownership of it.", + "due_on": null, + "html_url": "https://github.com/neovim/neovim/milestone/9", + "id": 881978, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/9/labels", + "node_id": "MDk6TWlsZXN0b25lODgxOTc4", + "number": 9, + "open_issues": 237, + "state": "open", + "title": "unplanned", + "updated_at": "2024-02-04T21:56:28Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/9" + }, + "node_id": "I_kwDOAPphoM5-Jr2z", + "number": 27320, + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/27320/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "not_planned", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27320/timeline", + "title": "Expose default foldtext implementation", + "updated_at": "2024-02-04T21:56:28Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27320", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/5558211?v=4", + "events_url": "https://api.github.com/users/omar25h/events{/privacy}", + "followers_url": "https://api.github.com/users/omar25h/followers", + "following_url": "https://api.github.com/users/omar25h/following{/other_user}", + "gists_url": "https://api.github.com/users/omar25h/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/omar25h", + "id": 5558211, + "login": "omar25h", + "node_id": "MDQ6VXNlcjU1NTgyMTE=", + "organizations_url": "https://api.github.com/users/omar25h/orgs", + "received_events_url": "https://api.github.com/users/omar25h/received_events", + "repos_url": "https://api.github.com/users/omar25h/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/omar25h/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/omar25h/subscriptions", + "type": "User", + "url": "https://api.github.com/users/omar25h" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27324.json b/repositories/neovim/issues/27324.json new file mode 100644 index 00000000..9e925a88 --- /dev/null +++ b/repositories/neovim/issues/27324.json @@ -0,0 +1,204 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Problem\n\nSetting abbreviation for `#!!` (via `:abbr #!! foo`) in cerain scenarios throws `E474: Invalid argument`.\r\nInterestingly, it only happens (as far as I know) for `scheme` files, and only when it is under `.../queries/...` directory.\n\n### Steps to reproduce\n\n- Open file with the path `.../queries/foo.scm` or `.../queries/..../foo.scm` (for example I opened `nvim --clean ~.local/share/nvim/lazy/nvim-treesitter/queries/lua/highlights.scm`)\r\n- Try to create abbreviation as `:abbr #!! foo`\r\n- This throws error `E474: Invalid argument`\r\n- For other filetypes it seems to work, and also for `scheme` files not under `queries` directory..\n\n### Expected behavior\n\nIt should be possible to set abbreviation for `#!!` in general, or the exception should be documented.\n\n### Neovim version (nvim -v)\n\nNVIM v0.10.0-dev-2210+g38bb0e1da\n\n### Vim (not Nvim) behaves the same?\n\nNo, in vim 9.1.0000 it is possible to set the abbreviation\n\n### Operating system/version\n\nArch Linux @ kernel 6.7.2-arch1-2\n\n### Terminal name/version\n\nst 0.9\n\n### $TERM environment variable\n\nst-256color\n\n### Installation\n\nAUR (`neovim-nightly-bin`)", + "closed_at": "2024-02-03T16:20:58Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "`queries/**/*.scm` are recognized as query files, with their own ftplugin -- which sets a different `iskeyword`, including `!` (inherited from Lisp, which this is a dialect of).\r\n\r\nThis makes `!` illegal; you can test with other Lisp files.", + "created_at": "2024-02-03T16:20:54Z", + "html_url": "https://github.com/neovim/neovim/issues/27324#issuecomment-1925373349", + "id": 1925373349, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27324", + "node_id": "IC_kwDOAPphoM5ywt2l", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925373349/reactions" + }, + "updated_at": "2024-02-03T16:20:54Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925373349", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "NONE", + "body": "@clason Thanks for the quick explanation!", + "created_at": "2024-02-03T16:37:01Z", + "html_url": "https://github.com/neovim/neovim/issues/27324#issuecomment-1925379654", + "id": 1925379654, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27324", + "node_id": "IC_kwDOAPphoM5ywvZG", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925379654/reactions" + }, + "updated_at": "2024-02-03T16:37:01Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925379654", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/19737748?v=4", + "events_url": "https://api.github.com/users/jdujava/events{/privacy}", + "followers_url": "https://api.github.com/users/jdujava/followers", + "following_url": "https://api.github.com/users/jdujava/following{/other_user}", + "gists_url": "https://api.github.com/users/jdujava/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/jdujava", + "id": 19737748, + "login": "jdujava", + "node_id": "MDQ6VXNlcjE5NzM3NzQ4", + "organizations_url": "https://api.github.com/users/jdujava/orgs", + "received_events_url": "https://api.github.com/users/jdujava/received_events", + "repos_url": "https://api.github.com/users/jdujava/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/jdujava/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jdujava/subscriptions", + "type": "User", + "url": "https://api.github.com/users/jdujava" + } + }, + { + "author_association": "MEMBER", + "body": "Related https://github.com/vim/vim/issues/5074", + "created_at": "2024-02-03T22:41:29Z", + "html_url": "https://github.com/neovim/neovim/issues/27324#issuecomment-1925474522", + "id": 1925474522, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27324", + "node_id": "IC_kwDOAPphoM5yxGja", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925474522/reactions" + }, + "updated_at": "2024-02-03T22:41:29Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925474522", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + } + ], + "comments": 3, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27324/comments", + "created_at": "2024-02-03T16:16:58Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27324/events", + "html_url": "https://github.com/neovim/neovim/issues/27324", + "id": 2116562748, + "labels": [ + { + "color": "e6e6e6", + "default": false, + "description": "Issues that are closed as \"invalid\"", + "id": 77997477, + "name": "closed:invalid", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3Nw==", + "url": "https://api.github.com/repos/neovim/neovim/labels/closed:invalid" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27324/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM5-KC88", + "number": 27324, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27324/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "not_planned", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27324/timeline", + "title": "Setting abbreviation for `#!!` sometimes fails for `scheme` files", + "updated_at": "2024-02-03T22:41:42Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27324", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/19737748?v=4", + "events_url": "https://api.github.com/users/jdujava/events{/privacy}", + "followers_url": "https://api.github.com/users/jdujava/followers", + "following_url": "https://api.github.com/users/jdujava/following{/other_user}", + "gists_url": "https://api.github.com/users/jdujava/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/jdujava", + "id": 19737748, + "login": "jdujava", + "node_id": "MDQ6VXNlcjE5NzM3NzQ4", + "organizations_url": "https://api.github.com/users/jdujava/orgs", + "received_events_url": "https://api.github.com/users/jdujava/received_events", + "repos_url": "https://api.github.com/users/jdujava/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/jdujava/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jdujava/subscriptions", + "type": "User", + "url": "https://api.github.com/users/jdujava" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27325.json b/repositories/neovim/issues/27325.json new file mode 100644 index 00000000..d7eb9818 --- /dev/null +++ b/repositories/neovim/issues/27325.json @@ -0,0 +1,107 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "body": "### Problem\n\nAfter https://github.com/neovim/neovim/pull/27216, calling the `vim.lsp.tagfunc` function creates an infinite loop.\r\n\r\nThis is because `vim.lsp.tagfunc()` now calls itself:\r\n\r\nhttps://github.com/neovim/neovim/blob/2e982f1aad9f1a03562b7a451d642f76b04c37cb/runtime/lua/vim/lsp.lua#L2042-L2044\n\n### Steps to reproduce\n\nSet `'tagfunc'` to `v:lua.vim.lsp.tagfunc` and press ``.\n\n### Expected behavior\n\n`vim.lsp.tagfunc` should call the actual tagfunc implementation and jump to a tag. There should not be an infinite loop.\n\n### Neovim version (nvim -v)\n\nNVIM v0.10.0-dev-2269+g2e982f1aa\n\n### Vim (not Nvim) behaves the same?\n\nN/A\n\n### Operating system/version\n\nN/A\n\n### Terminal name/version\n\nN/A\n\n### $TERM environment variable\n\nN/A\n\n### Installation\n\nBuild from source", + "closed_at": "2024-02-05T10:35:26Z", + "comment_data": [], + "comments": 0, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27325/comments", + "created_at": "2024-02-03T20:07:56Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27325/events", + "html_url": "https://github.com/neovim/neovim/issues/27325", + "id": 2116662180, + "labels": [ + { + "color": "f9d0c4", + "default": true, + "description": "issues reporting wrong behavior", + "id": 77997474, + "name": "bug", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3NA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27325/labels{/name}", + "locked": false, + "milestone": { + "closed_at": null, + "closed_issues": 278, + "created_at": "2023-02-02T14:11:43Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + "description": "", + "due_on": "2024-03-01T08:00:00Z", + "html_url": "https://github.com/neovim/neovim/milestone/36", + "id": 8997654, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", + "node_id": "MI_kwDOAPphoM4AiUsW", + "number": 36, + "open_issues": 138, + "state": "open", + "title": "0.10", + "updated_at": "2024-02-05T21:59:25Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/36" + }, + "node_id": "I_kwDOAPphoM5-KbOk", + "number": 27325, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27325/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "completed", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27325/timeline", + "title": "Calling vim.lsp.tagfunc creates an infinite loop", + "updated_at": "2024-02-05T10:35:26Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27325", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27333.json b/repositories/neovim/issues/27333.json new file mode 100644 index 00000000..c2734cf9 --- /dev/null +++ b/repositories/neovim/issues/27333.json @@ -0,0 +1,129 @@ +{ + "active_lock_reason": null, + "assignee": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + }, + "assignees": [ + { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + ], + "author_association": "CONTRIBUTOR", + "body": "### Problem\n\nWhen I open a specific markdown file and press j, it crashes with the following message.\r\n```\r\ngrid_put_linebuf: Assertion `0 <= row && row < grid->rows' failed\r\n```\r\n\r\nI think this problem is occurring from this commit (https://github.com/neovim/neovim/commit/c6864b0d146f017990d6feb8c876784160a25241).\r\n\r\nref: https://github.com/neovim/neovim/issues/27304\n\n### Steps to reproduce\n\n1. create minimal init.lua\r\n\r\n```lua\r\nvim.cmd [[syntax enable]]\r\nvim.cmd [[filetype plugin indent on]]\r\n\r\nvim.o.cmdheight = 0\r\nvim.o.number = true\r\nvim.o.relativenumber = true\r\nvim.o.statuscolumn = \"%{v:relnum}\"\r\nvim.o.signcolumn = \"yes\"\r\n```\r\n\r\n2. create a test file (js_ts.md)\r\n\r\n```markdown\r\n# Table of Contents\r\n\r\n\r\n\r\n- [Javascript/Typescript](#javascripttypescript)\r\n * [string](#string)\r\n * [Toolchain](#toolchain)\r\n + [tsc(TypeScript compiler)](#tsctypescript-compiler)\r\n + [Type check](#type-check)\r\n + [eslint](#eslint)\r\n + [Formatter](#formatter)\r\n + [tsserver](#tsserver)\r\n + [Typst preview](#typst-preview)\r\n + [JSON](#json)\r\n + [Test](#test)\r\n + [Task Runner](#task-runner)\r\n - [yarn](#yarn)\r\n - [npm](#npm)\r\n - [pnpm](#pnpm)\r\n - [Biome](#biome)\r\n * [HTML](#html)\r\n + [conceal](#conceal)\r\n + [live server](#live-server)\r\n * [CSS](#css)\r\n + [tailwind](#tailwind)\r\n + [SCSS](#scss)\r\n + [Bulma](#bulma)\r\n * [Framework](#framework)\r\n + [React](#react)\r\n + [Angular](#angular)\r\n + [Svelte](#svelte)\r\n + [Node.js](#nodejs)\r\n + [Deno](#deno)\r\n + [Bun](#bun)\r\n + [Bootstrap](#bootstrap)\r\n + [mjml](#mjml)\r\n\r\n\r\n\r\n### Javascript/Typescript\r\n\r\n- [ray-x/web-tools.nvim](https://github.com/ray-x/web-tools.nvim) ![](https://img.shields.io/github/stars/ray-x/web-tools.nvim) ![](https://img.shields.io/github/last-commit/ray-x/web-tools.nvim) ![](https://img.shields.io/github/commit-activity/y/ray-x/web-tools.nvim)\r\n- [blevantovych/printer.nvim](https://github.com/blevantovych/printer.nvim) ![](https://img.shields.io/github/stars/blevantovych/printer.nvim) ![](https://img.shields.io/github/last-commit/blevantovych/printer.nvim) ![](https://img.shields.io/github/commit-activity/y/blevantovych/printer.nvim)\r\n- [yioneko/nvim-vtsls](https://github.com/yioneko/nvim-vtsls) ![](https://img.shields.io/github/stars/yioneko/nvim-vtsls) ![](https://img.shields.io/github/last-commit/yioneko/nvim-vtsls) ![](https://img.shields.io/github/commit-activity/y/yioneko/nvim-vtsls)\r\n- [marilari88/twoslash-queries.nvim](https://github.com/marilari88/twoslash-queries.nvim) ![](https://img.shields.io/github/stars/marilari88/twoslash-queries.nvim) ![](https://img.shields.io/github/last-commit/marilari88/twoslash-queries.nvim) ![](https://img.shields.io/github/commit-activity/y/marilari88/twoslash-queries.nvim)\r\n- [barrett-ruth/import-cost.nvim](https://github.com/barrett-ruth/import-cost.nvim) ![](https://img.shields.io/github/stars/barrett-ruth/import-cost.nvim) ![](https://img.shields.io/github/last-commit/barrett-ruth/import-cost.nvim) ![](https://img.shields.io/github/commit-activity/y/barrett-ruth/import-cost.nvim)\r\n- [bennypowers/template-literal-comments.nvim](https://github.com/bennypowers/template-literal-comments.nvim) ![](https://img.shields.io/github/stars/bennypowers/template-literal-comments.nvim) ![](https://img.shields.io/github/last-commit/bennypowers/template-literal-comments.nvim) ![](https://img.shields.io/github/commit-activity/y/bennypowers/template-literal-comments.nvim)\r\n- [pmizio/typescript-tools.nvim](https://github.com/pmizio/typescript-tools.nvim) ![](https://img.shields.io/github/stars/pmizio/typescript-tools.nvim) ![](https://img.shields.io/github/last-commit/pmizio/typescript-tools.nvim) ![](https://img.shields.io/github/commit-activity/y/pmizio/typescript-tools.nvim)\r\n- [llllvvuu/nvim-js-actions](https://github.com/llllvvuu/nvim-js-actions) ![](https://img.shields.io/github/stars/llllvvuu/nvim-js-actions) ![](https://img.shields.io/github/last-commit/llllvvuu/nvim-js-actions) ![](https://img.shields.io/github/commit-activity/y/llllvvuu/nvim-js-actions)\r\n- [github-naresh/auto-fold-imports.nvim](https://github.com/github-naresh/auto-fold-imports.nvim) ![](https://img.shields.io/github/stars/github-naresh/auto-fold-imports.nvim) ![](https://img.shields.io/github/last-commit/github-naresh/auto-fold-imports.nvim) ![](https://img.shields.io/github/commit-activity/y/github-naresh/auto-fold-imports.nvim)\r\n\r\n#### string\r\n\r\n- [fmillone/string-quotes.nvim](https://github.com/fmillone/string-quotes.nvim) ![](https://img.shields.io/github/stars/fmillone/string-quotes.nvim) ![](https://img.shields.io/github/last-commit/fmillone/string-quotes.nvim) ![](https://img.shields.io/github/commit-activity/y/fmillone/string-quotes.nvim)\r\n\r\n#### Toolchain\r\n\r\n##### tsc(TypeScript compiler)\r\n\r\n- [dmmulroy/tsc.nvim](https://github.com/dmmulroy/tsc.nvim) ![](https://img.shields.io/github/stars/dmmulroy/tsc.nvim) ![](https://img.shields.io/github/last-commit/dmmulroy/tsc.nvim) ![](https://img.shields.io/github/commit-activity/y/dmmulroy/tsc.nvim)\r\n- [OlegGulevskyy/better-ts-errors.nvim](https://github.com/OlegGulevskyy/better-ts-errors.nvim) ![](https://img.shields.io/github/stars/OlegGulevskyy/better-ts-errors.nvim) ![](https://img.shields.io/github/last-commit/OlegGulevskyy/better-ts-errors.nvim) ![](https://img.shields.io/github/commit-activity/y/OlegGulevskyy/better-ts-errors.nvim)\r\n\r\n##### Type check\r\n\r\n- [jellydn/typecheck.nvim](https://github.com/jellydn/typecheck.nvim) ![](https://img.shields.io/github/stars/jellydn/typecheck.nvim) ![](https://img.shields.io/github/last-commit/jellydn/typecheck.nvim) ![](https://img.shields.io/github/commit-activity/y/jellydn/typecheck.nvim)\r\n\r\n##### eslint\r\n\r\n- [gi4c0/lint-node.nvim](https://github.com/gi4c0/lint-node.nvim) ![](https://img.shields.io/github/stars/gi4c0/lint-node.nvim) ![](https://img.shields.io/github/last-commit/gi4c0/lint-node.nvim) ![](https://img.shields.io/github/commit-activity/y/gi4c0/lint-node.nvim)\r\n- [stornquist/eslint-workspace-linter.nvim](https://github.com/stornquist/eslint-workspace-linter.nvim) ![](https://img.shields.io/github/stars/stornquist/eslint-workspace-linter.nvim) ![](https://img.shields.io/github/last-commit/stornquist/eslint-workspace-linter.nvim) ![](https://img.shields.io/github/commit-activity/y/stornquist/eslint-workspace-linter.nvim)\r\n\r\n##### Formatter\r\n\r\n- [MunifTanjim/prettier.nvim](https://github.com/MunifTanjim/prettier.nvim) ![](https://img.shields.io/github/stars/MunifTanjim/prettier.nvim) ![](https://img.shields.io/github/last-commit/MunifTanjim/prettier.nvim) ![](https://img.shields.io/github/commit-activity/y/MunifTanjim/prettier.nvim)\r\n- [numToStr/prettierrc.nvim](https://github.com/numToStr/prettierrc.nvim) ![](https://img.shields.io/github/stars/numToStr/prettierrc.nvim) ![](https://img.shields.io/github/last-commit/numToStr/prettierrc.nvim) ![](https://img.shields.io/github/commit-activity/y/numToStr/prettierrc.nvim)\r\n\r\n##### tsserver\r\n\r\n- [davidosomething/format-ts-errors.nvim](https://github.com/davidosomething/format-ts-errors.nvim) ![](https://img.shields.io/github/stars/davidosomething/format-ts-errors.nvim) ![](https://img.shields.io/github/last-commit/davidosomething/format-ts-errors.nvim) ![](https://img.shields.io/github/commit-activity/y/davidosomething/format-ts-errors.nvim)\r\n- [stornquist/tsserver-workspace-linter.nvim](https://github.com/stornquist/tsserver-workspace-linter.nvim) ![](https://img.shields.io/github/stars/stornquist/tsserver-workspace-linter.nvim) ![](https://img.shields.io/github/last-commit/stornquist/tsserver-workspace-linter.nvim) ![](https://img.shields.io/github/commit-activity/y/stornquist/tsserver-workspace-linter.nvim)\r\n\r\n##### Typst preview\r\n\r\n- [chomosuke/typst-preview.nvim](https://github.com/chomosuke/typst-preview.nvim) ![](https://img.shields.io/github/stars/chomosuke/typst-preview.nvim) ![](https://img.shields.io/github/last-commit/chomosuke/typst-preview.nvim) ![](https://img.shields.io/github/commit-activity/y/chomosuke/typst-preview.nvim)\r\n\r\n##### JSON\r\n\r\n- [Redoxahmii/json-to-ts.nvim](https://github.com/Redoxahmii/json-to-ts.nvim) ![](https://img.shields.io/github/stars/Redoxahmii/json-to-ts.nvim) ![](https://img.shields.io/github/last-commit/Redoxahmii/json-to-ts.nvim) ![](https://img.shields.io/github/commit-activity/y/Redoxahmii/json-to-ts.nvim)\r\n\r\n##### Test\r\n\r\n- [David-Kunz/jester](https://github.com/David-Kunz/jester) ![](https://img.shields.io/github/stars/David-Kunz/jester) ![](https://img.shields.io/github/last-commit/David-Kunz/jester) ![](https://img.shields.io/github/commit-activity/y/David-Kunz/jester)\r\n- [chuck-flowers/jest.nvim](https://github.com/chuck-flowers/jest.nvim) ![](https://img.shields.io/github/stars/chuck-flowers/jest.nvim) ![](https://img.shields.io/github/last-commit/chuck-flowers/jest.nvim) ![](https://img.shields.io/github/commit-activity/y/chuck-flowers/jest.nvim)\r\n- [justinrassier/jesting.nvim](https://github.com/justinrassier/jesting.nvim) ![](https://img.shields.io/github/stars/justinrassier/jesting.nvim) ![](https://img.shields.io/github/last-commit/justinrassier/jesting.nvim) ![](https://img.shields.io/github/commit-activity/y/justinrassier/jesting.nvim)\r\n- [adl3879/jest-runner.nvim](https://github.com/adl3879/jest-runner.nvim) ![](https://img.shields.io/github/stars/adl3879/jest-runner.nvim) ![](https://img.shields.io/github/last-commit/adl3879/jest-runner.nvim) ![](https://img.shields.io/github/commit-activity/y/adl3879/jest-runner.nvim)\r\n- [raine/testonly.nvim](https://github.com/raine/testonly.nvim) ![](https://img.shields.io/github/stars/raine/testonly.nvim) ![](https://img.shields.io/github/last-commit/raine/testonly.nvim) ![](https://img.shields.io/github/commit-activity/y/raine/testonly.nvim)\r\n- [zivlakmilos/TestRunner.nvim](https://github.com/zivlakmilos/TestRunner.nvim) ![](https://img.shields.io/github/stars/zivlakmilos/TestRunner.nvim) ![](https://img.shields.io/github/last-commit/zivlakmilos/TestRunner.nvim) ![](https://img.shields.io/github/commit-activity/y/zivlakmilos/TestRunner.nvim)\r\n\r\n##### Task Runner\r\n\r\n###### yarn\r\n\r\n- [gugahoi/yarn.nvim](https://github.com/gugahoi/yarn.nvim) ![](https://img.shields.io/github/stars/gugahoi/yarn.nvim) ![](https://img.shields.io/github/last-commit/gugahoi/yarn.nvim) ![](https://img.shields.io/github/commit-activity/y/gugahoi/yarn.nvim)\r\n\r\n###### npm\r\n\r\n- [vuki656/package-info.nvim](https://github.com/vuki656/package-info.nvim) ![](https://img.shields.io/github/stars/vuki656/package-info.nvim) ![](https://img.shields.io/github/last-commit/vuki656/package-info.nvim) ![](https://img.shields.io/github/commit-activity/y/vuki656/package-info.nvim)\r\n- [nvim-telescope/telescope-node-modules.nvim](https://github.com/nvim-telescope/telescope-node-modules.nvim) ![](https://img.shields.io/github/stars/nvim-telescope/telescope-node-modules.nvim) ![](https://img.shields.io/github/last-commit/nvim-telescope/telescope-node-modules.nvim) ![](https://img.shields.io/github/commit-activity/y/nvim-telescope/telescope-node-modules.nvim)\r\n- [elianiva/telescope-npm.nvim](https://github.com/elianiva/telescope-npm.nvim) ![](https://img.shields.io/github/stars/elianiva/telescope-npm.nvim) ![](https://img.shields.io/github/last-commit/elianiva/telescope-npm.nvim) ![](https://img.shields.io/github/commit-activity/y/elianiva/telescope-npm.nvim)\r\n- [azizgharbi/nodePackageCheck.nvim](https://github.com/azizgharbi/nodePackageCheck.nvim) ![](https://img.shields.io/github/stars/azizgharbi/nodePackageCheck.nvim) ![](https://img.shields.io/github/last-commit/azizgharbi/nodePackageCheck.nvim) ![](https://img.shields.io/github/commit-activity/y/azizgharbi/nodePackageCheck.nvim)\r\n- [pipoprods/nvm.nvim](https://github.com/pipoprods/nvm.nvim) ![](https://img.shields.io/github/stars/pipoprods/nvm.nvim) ![](https://img.shields.io/github/last-commit/pipoprods/nvm.nvim) ![](https://img.shields.io/github/commit-activity/y/pipoprods/nvm.nvim)\r\n- [muryp/muryp-findList.nvim](https://github.com/muryp/muryp-findList.nvim) ![](https://img.shields.io/github/stars/muryp/muryp-findList.nvim) ![](https://img.shields.io/github/last-commit/muryp/muryp-findList.nvim) ![](https://img.shields.io/github/commit-activity/y/muryp/muryp-findList.nvim)\r\n\r\n###### pnpm\r\n\r\n- [lukahartwig/pnpm.nvim](https://github.com/lukahartwig/pnpm.nvim) ![](https://img.shields.io/github/stars/lukahartwig/pnpm.nvim) ![](https://img.shields.io/github/last-commit/lukahartwig/pnpm.nvim) ![](https://img.shields.io/github/commit-activity/y/lukahartwig/pnpm.nvim)\r\n\r\n###### Biome\r\n\r\n#### HTML\r\n\r\n- [manyids2/htmlgui.nvim](https://github.com/manyids2/htmlgui.nvim) ![](https://img.shields.io/github/stars/manyids2/htmlgui.nvim) ![](https://img.shields.io/github/last-commit/manyids2/htmlgui.nvim) ![](https://img.shields.io/github/commit-activity/y/manyids2/htmlgui.nvim)\r\n- [windwp/nvim-ts-autotag](https://github.com/windwp/nvim-ts-autotag) ![](https://img.shields.io/github/stars/windwp/nvim-ts-autotag) ![](https://img.shields.io/github/last-commit/windwp/nvim-ts-autotag) ![](https://img.shields.io/github/commit-activity/y/windwp/nvim-ts-autotag)\r\n- [jcha0713/classy.nvim](https://github.com/jcha0713/classy.nvim) ![](https://img.shields.io/github/stars/jcha0713/classy.nvim) ![](https://img.shields.io/github/last-commit/jcha0713/classy.nvim) ![](https://img.shields.io/github/commit-activity/y/jcha0713/classy.nvim)\r\n- [buschco/nvim-cmp-ts-tag-close](https://github.com/buschco/nvim-cmp-ts-tag-close) ![](https://img.shields.io/github/stars/buschco/nvim-cmp-ts-tag-close) ![](https://img.shields.io/github/last-commit/buschco/nvim-cmp-ts-tag-close) ![](https://img.shields.io/github/commit-activity/y/buschco/nvim-cmp-ts-tag-close)\r\n\r\n##### conceal\r\n\r\n- [dzfrias/nvim-classy](https://github.com/dzfrias/nvim-classy) ![](https://img.shields.io/github/stars/dzfrias/nvim-classy) ![](https://img.shields.io/github/last-commit/dzfrias/nvim-classy) ![](https://img.shields.io/github/commit-activity/y/dzfrias/nvim-classy)\r\n\r\n##### live server\r\n\r\n- [aurum77/live-server.nvim](https://github.com/aurum77/live-server.nvim) ![](https://img.shields.io/github/stars/aurum77/live-server.nvim) ![](https://img.shields.io/github/last-commit/aurum77/live-server.nvim) ![](https://img.shields.io/github/commit-activity/y/aurum77/live-server.nvim)\r\n- [barrett-ruth/live-server.nvim](https://github.com/barrett-ruth/live-server.nvim) ![](https://img.shields.io/github/stars/barrett-ruth/live-server.nvim) ![](https://img.shields.io/github/last-commit/barrett-ruth/live-server.nvim) ![](https://img.shields.io/github/commit-activity/y/barrett-ruth/live-server.nvim)\r\n- [liaohui5/vite-server.nvim](https://github.com/liaohui5/vite-server.nvim) ![](https://img.shields.io/github/stars/liaohui5/vite-server.nvim) ![](https://img.shields.io/github/last-commit/liaohui5/vite-server.nvim) ![](https://img.shields.io/github/commit-activity/y/liaohui5/vite-server.nvim)\r\n- [Rogerskelamen/live-server.nvim](https://github.com/Rogerskelamen/live-server.nvim) ![](https://img.shields.io/github/stars/Rogerskelamen/live-server.nvim) ![](https://img.shields.io/github/last-commit/Rogerskelamen/live-server.nvim) ![](https://img.shields.io/github/commit-activity/y/Rogerskelamen/live-server.nvim)\r\n\r\n#### CSS\r\n\r\n- [Jezda1337/nvim-html-css](https://github.com/Jezda1337/nvim-html-css) ![](https://img.shields.io/github/stars/Jezda1337/nvim-html-css) ![](https://img.shields.io/github/last-commit/Jezda1337/nvim-html-css) ![](https://img.shields.io/github/commit-activity/y/Jezda1337/nvim-html-css)\r\n- [victoroliveirab/css-utils.nvim](https://github.com/victoroliveirab/css-utils.nvim) ![](https://img.shields.io/github/stars/victoroliveirab/css-utils.nvim) ![](https://img.shields.io/github/last-commit/victoroliveirab/css-utils.nvim) ![](https://img.shields.io/github/commit-activity/y/victoroliveirab/css-utils.nvim)\r\n\r\n##### tailwind\r\n\r\n- [jcha0713/cmp-tw2css](https://github.com/jcha0713/cmp-tw2css) ![](https://img.shields.io/github/stars/jcha0713/cmp-tw2css) ![](https://img.shields.io/github/last-commit/jcha0713/cmp-tw2css) ![](https://img.shields.io/github/commit-activity/y/jcha0713/cmp-tw2css)\r\n- [roobert/tailwindcss-colorizer-cmp.nvim](https://github.com/roobert/tailwindcss-colorizer-cmp.nvim) ![](https://img.shields.io/github/stars/roobert/tailwindcss-colorizer-cmp.nvim) ![](https://img.shields.io/github/last-commit/roobert/tailwindcss-colorizer-cmp.nvim) ![](https://img.shields.io/github/commit-activity/y/roobert/tailwindcss-colorizer-cmp.nvim)\r\n- [sigmaSd/nvim-tailwind](https://github.com/sigmaSd/nvim-tailwind) ![](https://img.shields.io/github/stars/sigmaSd/nvim-tailwind) ![](https://img.shields.io/github/last-commit/sigmaSd/nvim-tailwind) ![](https://img.shields.io/github/commit-activity/y/sigmaSd/nvim-tailwind)\r\n- [laytan/tailwind-sorter.nvim](https://github.com/laytan/tailwind-sorter.nvim) ![](https://img.shields.io/github/stars/laytan/tailwind-sorter.nvim) ![](https://img.shields.io/github/last-commit/laytan/tailwind-sorter.nvim) ![](https://img.shields.io/github/commit-activity/y/laytan/tailwind-sorter.nvim)\r\n- [themaxmarchuk/tailwindcss-colors.nvim](https://github.com/themaxmarchuk/tailwindcss-colors.nvim) ![](https://img.shields.io/github/stars/themaxmarchuk/tailwindcss-colors.nvim) ![](https://img.shields.io/github/last-commit/themaxmarchuk/tailwindcss-colors.nvim) ![](https://img.shields.io/github/commit-activity/y/themaxmarchuk/tailwindcss-colors.nvim)\r\n- [razak17/tailwind-fold.nvim](https://github.com/razak17/tailwind-fold.nvim) ![](https://img.shields.io/github/stars/razak17/tailwind-fold.nvim) ![](https://img.shields.io/github/last-commit/razak17/tailwind-fold.nvim) ![](https://img.shields.io/github/commit-activity/y/razak17/tailwind-fold.nvim)\r\n- [princejoogie/tailwind-highlight.nvim](https://github.com/princejoogie/tailwind-highlight.nvim) ![](https://img.shields.io/github/stars/princejoogie/tailwind-highlight.nvim) ![](https://img.shields.io/github/last-commit/princejoogie/tailwind-highlight.nvim) ![](https://img.shields.io/github/commit-activity/y/princejoogie/tailwind-highlight.nvim)\r\n- [ziontee113/deliberate.nvim](https://github.com/ziontee113/deliberate.nvim) ![](https://img.shields.io/github/stars/ziontee113/deliberate.nvim) ![](https://img.shields.io/github/last-commit/ziontee113/deliberate.nvim) ![](https://img.shields.io/github/commit-activity/y/ziontee113/deliberate.nvim)\r\n- [MaximilianLloyd/tw-values.nvim](https://github.com/MaximilianLloyd/tw-values.nvim) ![](https://img.shields.io/github/stars/MaximilianLloyd/tw-values.nvim) ![](https://img.shields.io/github/last-commit/MaximilianLloyd/tw-values.nvim) ![](https://img.shields.io/github/commit-activity/y/MaximilianLloyd/tw-values.nvim)\r\n- [nazo6/telescope-tailwind.nvim](https://github.com/nazo6/telescope-tailwind.nvim) ![](https://img.shields.io/github/stars/nazo6/telescope-tailwind.nvim) ![](https://img.shields.io/github/last-commit/nazo6/telescope-tailwind.nvim) ![](https://img.shields.io/github/commit-activity/y/nazo6/telescope-tailwind.nvim)\r\n- [SushyDev/tailwind-linter.nvim](https://github.com/SushyDev/tailwind-linter.nvim) ![](https://img.shields.io/github/stars/SushyDev/tailwind-linter.nvim) ![](https://img.shields.io/github/last-commit/SushyDev/tailwind-linter.nvim) ![](https://img.shields.io/github/commit-activity/y/SushyDev/tailwind-linter.nvim)\r\n\r\n##### SCSS\r\n\r\n- [SerMeliodas/ecsstractor.nvim](https://github.com/SerMeliodas/ecsstractor.nvim) ![](https://img.shields.io/github/stars/SerMeliodas/ecsstractor.nvim) ![](https://img.shields.io/github/last-commit/SerMeliodas/ecsstractor.nvim) ![](https://img.shields.io/github/commit-activity/y/SerMeliodas/ecsstractor.nvim)\r\n\r\n##### Bulma\r\n\r\n- [garyhurtz/cmp_bulma.nvim](https://github.com/garyhurtz/cmp_bulma.nvim) ![](https://img.shields.io/github/stars/garyhurtz/cmp_bulma.nvim) ![](https://img.shields.io/github/last-commit/garyhurtz/cmp_bulma.nvim) ![](https://img.shields.io/github/commit-activity/y/garyhurtz/cmp_bulma.nvim)\r\n\r\n#### Framework\r\n\r\n##### React\r\n\r\n- [napmn/react-extract.nvim](https://github.com/napmn/react-extract.nvim) ![](https://img.shields.io/github/stars/napmn/react-extract.nvim) ![](https://img.shields.io/github/last-commit/napmn/react-extract.nvim) ![](https://img.shields.io/github/commit-activity/y/napmn/react-extract.nvim)\r\n- [olrtg/nvim-rename-state](https://github.com/olrtg/nvim-rename-state) ![](https://img.shields.io/github/stars/olrtg/nvim-rename-state) ![](https://img.shields.io/github/last-commit/olrtg/nvim-rename-state) ![](https://img.shields.io/github/commit-activity/y/olrtg/nvim-rename-state)\r\n- [s1n7ax/nvim-react](https://github.com/s1n7ax/nvim-react) ![](https://img.shields.io/github/stars/s1n7ax/nvim-react) ![](https://img.shields.io/github/last-commit/s1n7ax/nvim-react) ![](https://img.shields.io/github/commit-activity/y/s1n7ax/nvim-react)\r\n- [dromse/radon.nvim](https://github.com/dromse/radon.nvim) ![](https://img.shields.io/github/stars/dromse/radon.nvim) ![](https://img.shields.io/github/last-commit/dromse/radon.nvim) ![](https://img.shields.io/github/commit-activity/y/dromse/radon.nvim)\r\n\r\n##### Angular\r\n\r\n- [abelfubu/nvim-treesitter-angular](https://github.com/abelfubu/nvim-treesitter-angular) ![](https://img.shields.io/github/stars/abelfubu/nvim-treesitter-angular) ![](https://img.shields.io/github/last-commit/abelfubu/nvim-treesitter-angular) ![](https://img.shields.io/github/commit-activity/y/abelfubu/nvim-treesitter-angular)\r\n- [justinrassier/nvim-treesitter-ng](https://github.com/justinrassier/nvim-treesitter-ng) ![](https://img.shields.io/github/stars/justinrassier/nvim-treesitter-ng) ![](https://img.shields.io/github/last-commit/justinrassier/nvim-treesitter-ng) ![](https://img.shields.io/github/commit-activity/y/justinrassier/nvim-treesitter-ng)\r\n\r\n##### Svelte\r\n\r\n- [weskeiser/svelte-hop.nvim](https://github.com/weskeiser/svelte-hop.nvim) ![](https://img.shields.io/github/stars/weskeiser/svelte-hop.nvim) ![](https://img.shields.io/github/last-commit/weskeiser/svelte-hop.nvim) ![](https://img.shields.io/github/commit-activity/y/weskeiser/svelte-hop.nvim)\r\n\r\n##### Node.js\r\n\r\n- [stoleruradu/nodejstools.nvim](https://github.com/stoleruradu/nodejstools.nvim) ![](https://img.shields.io/github/stars/stoleruradu/nodejstools.nvim) ![](https://img.shields.io/github/last-commit/stoleruradu/nodejstools.nvim) ![](https://img.shields.io/github/commit-activity/y/stoleruradu/nodejstools.nvim)\r\n\r\n##### Deno\r\n\r\n- [sigmaSd/deno-nvim](https://github.com/sigmaSd/deno-nvim) ![](https://img.shields.io/github/stars/sigmaSd/deno-nvim) ![](https://img.shields.io/github/last-commit/sigmaSd/deno-nvim) ![](https://img.shields.io/github/commit-activity/y/sigmaSd/deno-nvim)\r\n\r\n##### Bun\r\n\r\n- [Fire-The-Fox/bun.nvim](https://github.com/Fire-The-Fox/bun.nvim) ![](https://img.shields.io/github/stars/Fire-The-Fox/bun.nvim) ![](https://img.shields.io/github/last-commit/Fire-The-Fox/bun.nvim) ![](https://img.shields.io/github/commit-activity/y/Fire-The-Fox/bun.nvim)\r\n\r\n##### Bootstrap\r\n\r\n- [Jezda1337/cmp_bootstrap](https://github.com/Jezda1337/cmp_bootstrap) ![](https://img.shields.io/github/stars/Jezda1337/cmp_bootstrap) ![](https://img.shields.io/github/last-commit/Jezda1337/cmp_bootstrap) ![](https://img.shields.io/github/commit-activity/y/Jezda1337/cmp_bootstrap)\r\n\r\n##### mjml\r\n\r\n- [ec965/mjml-preview.nvim](https://github.com/ec965/mjml-preview.nvim) ![](https://img.shields.io/github/stars/ec965/mjml-preview.nvim) ![](https://img.shields.io/github/last-commit/ec965/mjml-preview.nvim) ![](https://img.shields.io/github/commit-activity/y/ec965/mjml-preview.nvim)\r\n```\r\n\r\n3. `nvim -u init.lua js_ts.md`\r\n\r\n4. Press `j` after opening the file. (Sometimes it crashes right away, sometimes it crashes after moving around a bit, so please repeat the process a few times until it crashes.)\r\n\r\n5. Error (nvim: /tmp/neovim/src/nvim/grid.c:636: grid_put_linebuf: Assertion `0 <= row && row < grid->rows' failed.) is displayed and Neovim crashes.\n\n### Expected behavior\n\nNo crash\n\n### Neovim version (nvim -v)\n\nv0.10.0-dev-2273+g21df0cdb8\n\n### Vim (not Nvim) behaves the same?\n\nno\n\n### Operating system/version\n\nArchLinux\n\n### Terminal name/version\n\nwezterm 20240203-231855-38dbd8db\n\n### $TERM environment variable\n\nxterm-256color\n\n### Installation\n\nbuild from repo", + "closed_at": null, + "comment_data": [], + "comments": 0, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27333/comments", + "created_at": "2024-02-04T09:12:56Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27333/events", + "html_url": "https://github.com/neovim/neovim/issues/27333", + "id": 2116971815, + "labels": [ + { + "color": "0E8A16", + "default": false, + "description": "issue contains a stacktrace/ASAN log", + "id": 435854079, + "name": "has:backtrace", + "node_id": "MDU6TGFiZWw0MzU4NTQwNzk=", + "url": "https://api.github.com/repos/neovim/neovim/labels/has:backtrace" + }, + { + "color": "F9D0C4", + "default": false, + "description": "issue reporting a crash or segfault", + "id": 435854234, + "name": "bug-crash", + "node_id": "MDU6TGFiZWw0MzU4NTQyMzQ=", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug-crash" + }, + { + "color": "c5def5", + "default": false, + "description": "sign/number column", + "id": 2962322085, + "name": "column", + "node_id": "MDU6TGFiZWwyOTYyMzIyMDg1", + "url": "https://api.github.com/repos/neovim/neovim/labels/column" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27333/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM5-Lm0n", + "number": 27333, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27333/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27333/timeline", + "title": "Crash with `grid_put_linebuf: Assertion `0 <= row && row < grid->rows' failed` on markdown ", + "updated_at": "2024-02-04T09:56:23Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27333", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8683947?v=4", + "events_url": "https://api.github.com/users/yutkat/events{/privacy}", + "followers_url": "https://api.github.com/users/yutkat/followers", + "following_url": "https://api.github.com/users/yutkat/following{/other_user}", + "gists_url": "https://api.github.com/users/yutkat/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/yutkat", + "id": 8683947, + "login": "yutkat", + "node_id": "MDQ6VXNlcjg2ODM5NDc=", + "organizations_url": "https://api.github.com/users/yutkat/orgs", + "received_events_url": "https://api.github.com/users/yutkat/received_events", + "repos_url": "https://api.github.com/users/yutkat/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/yutkat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/yutkat/subscriptions", + "type": "User", + "url": "https://api.github.com/users/yutkat" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27337.json b/repositories/neovim/issues/27337.json new file mode 100644 index 00000000..bd627808 --- /dev/null +++ b/repositories/neovim/issues/27337.json @@ -0,0 +1,213 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Problem\r\n\r\ni'm trying to build (on unstable channel) neovim using flake. Unfortunately it drops this error. Funny enough I had the same issue on Arch not a while ago (and has been fixed: https://aur.archlinux.org/packages/neovim-git).\r\n\r\n```nix\r\nerror: builder for '/nix/store/cayl8rv127hn1s2jhawd71aw1qcl0i92-neovim-unwrapped-6c83870.drv' failed with exit code 2;\r\n last 10 log lines:\r\n > /build/srh2xb5d9qpk9hdvx6v99xa4pnb4wgjd-source/src/nvim/message.c:2112:18: warning: 'strnlen' specified bound 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overread]\r\n > 2112 | size_t len = strnlen(str, (size_t)maxlen);\r\n > | ^\r\n > /nix/store/fzlkaj1ax7gl655blfcr6zzvml1vx3bj-binutils-2.40/bin/ld: /build/ccjL0IvN.ltrans40.ltrans.o: in function `node_rawquery.lto_priv.0':\r\n > /build/srh2xb5d9qpk9hdvx6v99xa4pnb4wgjd-source/src/nvim/lua/treesitter.c:1452: undefined reference to `ts_query_cursor_set_max_start_depth'\r\n > /nix/store/fzlkaj1ax7gl655blfcr6zzvml1vx3bj-binutils-2.40/bin/ld: /build/srh2xb5d9qpk9hdvx6v99xa4pnb4wgjd-source/src/nvim/lua/treesitter.c:1476: undefined reference to `ts_query_cursor_set_max_start_depth'\r\n > collect2: error: ld returned 1 exit status\r\n > make[2]: *** [src/nvim/CMakeFiles/nvim_bin.dir/build.make:5150: bin/nvim] Error 1\r\n > make[1]: *** [CMakeFiles/Makefile2:624: src/nvim/CMakeFiles/nvim_bin.dir/all] Error 2\r\n > make: *** [Makefile:156: all] Error 2\r\n For full logs, run 'nix log /nix/store/cayl8rv127hn1s2jhawd71aw1qcl0i92-neovim-unwrapped-6c83870.drv'.\r\n```\r\n\r\n### Steps to reproduce\r\n\r\nnix run \"github:neovim/neovim?dir=contrib\"\r\n\r\n### Expected behavior\r\n\r\nBuilds and runs\r\n\r\n### Neovim version (nvim -v)\r\n\r\nlatest commit\r\n\r\n### Vim (not Nvim) behaves the same?\r\n\r\nn/a\r\n\r\n### Operating system/version\r\n\r\nNixOS unstable\r\n\r\n### Terminal name/version\r\n\r\nGNOME Terminal\r\n\r\n### $TERM environment variable\r\n\r\nxterm-256color\r\n\r\n### Installation\r\n\r\nNix flake", + "closed_at": "2024-02-04T19:26:18Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "You need to build against the latest version of tree-sitter (0.20.9) as specified in our cmake build scripts.", + "created_at": "2024-02-04T19:26:18Z", + "html_url": "https://github.com/neovim/neovim/issues/27337#issuecomment-1925889280", + "id": 1925889280, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27337", + "node_id": "IC_kwDOAPphoM5yyr0A", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925889280/reactions" + }, + "updated_at": "2024-02-04T19:26:18Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925889280", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "NONE", + "body": "but shouldn't flake.nix take care of that?", + "created_at": "2024-02-04T19:58:12Z", + "html_url": "https://github.com/neovim/neovim/issues/27337#issuecomment-1925897248", + "id": 1925897248, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27337", + "node_id": "IC_kwDOAPphoM5yytwg", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925897248/reactions" + }, + "updated_at": "2024-02-04T19:58:12Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925897248", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1036957?v=4", + "events_url": "https://api.github.com/users/grappas/events{/privacy}", + "followers_url": "https://api.github.com/users/grappas/followers", + "following_url": "https://api.github.com/users/grappas/following{/other_user}", + "gists_url": "https://api.github.com/users/grappas/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/grappas", + "id": 1036957, + "login": "grappas", + "node_id": "MDQ6VXNlcjEwMzY5NTc=", + "organizations_url": "https://api.github.com/users/grappas/orgs", + "received_events_url": "https://api.github.com/users/grappas/received_events", + "repos_url": "https://api.github.com/users/grappas/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/grappas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/grappas/subscriptions", + "type": "User", + "url": "https://api.github.com/users/grappas" + } + }, + { + "author_association": "MEMBER", + "body": "Who knows; we don't maintain the flake, that's why it's under /contrib. ", + "created_at": "2024-02-04T20:01:19Z", + "html_url": "https://github.com/neovim/neovim/issues/27337#issuecomment-1925897961", + "id": 1925897961, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27337", + "node_id": "IC_kwDOAPphoM5yyt7p", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925897961/reactions" + }, + "updated_at": "2024-02-04T20:01:19Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925897961", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + } + ], + "comments": 3, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27337/comments", + "created_at": "2024-02-04T19:23:05Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27337/events", + "html_url": "https://github.com/neovim/neovim/issues/27337", + "id": 2117267445, + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "building and installing Neovim using the provided scripts", + "id": 84723321, + "name": "build", + "node_id": "MDU6TGFiZWw4NDcyMzMyMQ==", + "url": "https://api.github.com/repos/neovim/neovim/labels/build" + }, + { + "color": "d4c5f9", + "default": false, + "description": "", + "id": 4952459982, + "name": "platform:nix", + "node_id": "LA_kwDOAPphoM8AAAABJzCKzg", + "url": "https://api.github.com/repos/neovim/neovim/labels/platform:nix" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27337/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM5-Mu_1", + "number": 27337, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27337/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "not_planned", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27337/timeline", + "title": "[flake.nix] undefined reference to `ts_query_cursor_set_max_start_depth'", + "updated_at": "2024-02-04T21:25:09Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27337", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1036957?v=4", + "events_url": "https://api.github.com/users/grappas/events{/privacy}", + "followers_url": "https://api.github.com/users/grappas/followers", + "following_url": "https://api.github.com/users/grappas/following{/other_user}", + "gists_url": "https://api.github.com/users/grappas/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/grappas", + "id": 1036957, + "login": "grappas", + "node_id": "MDQ6VXNlcjEwMzY5NTc=", + "organizations_url": "https://api.github.com/users/grappas/orgs", + "received_events_url": "https://api.github.com/users/grappas/received_events", + "repos_url": "https://api.github.com/users/grappas/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/grappas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/grappas/subscriptions", + "type": "User", + "url": "https://api.github.com/users/grappas" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/27344.json b/repositories/neovim/issues/27344.json new file mode 100644 index 00000000..551cd888 --- /dev/null +++ b/repositories/neovim/issues/27344.json @@ -0,0 +1,336 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Problem\n\nAs described in the title, it's hard to reproduce.\r\n\r\nI have the following mapping.\r\n```lua\r\nkeymap(\"i\", \"\", \"m .+1==gi\", { desc = \"Move down\" })\r\nkeymap(\"i\", \"\", \"m .-2==gi\", { desc = \"Move up\" })\r\n```\r\n\r\nIt happend randomly when I press `` in Insert mode, then move the cursor by pressing `j`.\r\nInstead of moving the cursor one line below, it triggered the `` keymap.\r\nWhen this issue happens, I try to unmap the keymap by `iu ` and the problem is gone.\r\n\r\nI think I haven't installed any plugin that will send an `Alt` when `InsertLeave` happens, Any advice?\r\n\n\n### Steps to reproduce\n\nRare case, hard to reproduce.\r\nIf you are interested, here's my config: https://github.com/konosubakonoakua/lazyvim.conf\n\n### Expected behavior\n\nDon't send `Alt` when InsertLeave by Pressing `esc`\n\n### Neovim version (nvim -v)\n\nNVIM v0.10.0-dev-2121+g06aebfa99\n\n### Vim (not Nvim) behaves the same?\n\ndont know\n\n### Operating system/version\n\nubuntu 22\n\n### Terminal name/version\n\nGuake/GnomeTerminal\n\n### $TERM environment variable\n\nxterm-256color\n\n### Installation\n\nbuild from repo", + "closed_at": "2024-02-05T06:47:10Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "you should try use a minimal config for test . provide a distro config not useful .", + "created_at": "2024-02-05T06:17:24Z", + "html_url": "https://github.com/neovim/neovim/issues/27344#issuecomment-1926300729", + "id": 1926300729, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27344", + "node_id": "IC_kwDOAPphoM5y0QQ5", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926300729/reactions" + }, + "updated_at": "2024-02-05T06:17:24Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926300729", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + }, + { + "author_association": "NONE", + "body": "> you should try use a minimal config for test . provide a distro config not useful .\r\n\r\nYes, but it's hard to reproduce. I encountered this issue about 3 times a day or less in a heavy usage.\r\nI put the issue here for some advice or clue in ahead.\r\nI will try to reproduce the problem by using a minimal config which only contains the keymap.\r\n```lua\r\nkeymap(\"i\", \"\", \"m .+1==gi\", { desc = \"Move down\" })\r\nkeymap(\"i\", \"\", \"m .-2==gi\", { desc = \"Move up\" })\r\n```", + "created_at": "2024-02-05T06:22:54Z", + "html_url": "https://github.com/neovim/neovim/issues/27344#issuecomment-1926305657", + "id": 1926305657, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27344", + "node_id": "IC_kwDOAPphoM5y0Rd5", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926305657/reactions" + }, + "updated_at": "2024-02-05T06:22:54Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926305657", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/42881610?v=4", + "events_url": "https://api.github.com/users/konosubakonoakua/events{/privacy}", + "followers_url": "https://api.github.com/users/konosubakonoakua/followers", + "following_url": "https://api.github.com/users/konosubakonoakua/following{/other_user}", + "gists_url": "https://api.github.com/users/konosubakonoakua/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/konosubakonoakua", + "id": 42881610, + "login": "konosubakonoakua", + "node_id": "MDQ6VXNlcjQyODgxNjEw", + "organizations_url": "https://api.github.com/users/konosubakonoakua/orgs", + "received_events_url": "https://api.github.com/users/konosubakonoakua/received_events", + "repos_url": "https://api.github.com/users/konosubakonoakua/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/konosubakonoakua/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/konosubakonoakua/subscriptions", + "type": "User", + "url": "https://api.github.com/users/konosubakonoakua" + } + }, + { + "author_association": "MEMBER", + "body": "- `:h 'ttimeout'`\r\n- `:h 'ttimeoutlen'`\r\n\r\nThis is a limitation of many terminal emulators.", + "created_at": "2024-02-05T06:47:10Z", + "html_url": "https://github.com/neovim/neovim/issues/27344#issuecomment-1926327974", + "id": 1926327974, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27344", + "node_id": "IC_kwDOAPphoM5y0W6m", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926327974/reactions" + }, + "updated_at": "2024-02-05T06:48:14Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926327974", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "NONE", + "body": "> * `:h 'ttimeout'`\r\n> * `:h 'ttimeoutlen'`\r\n> \r\n> This is a limitation of many terminal emulators.\r\n\r\nI do have a `` keymap in terminal mode, but not in a insert mode.\r\nIf with inappropriate `ttimeoutlen` , will `i` sequence sending a `ALT` ???\r\nCurrently I have `ttimeoutlen=50`, could you please give some explaination on the question mentioned above, thank you. @zeertzjq ", + "created_at": "2024-02-05T07:06:43Z", + "html_url": "https://github.com/neovim/neovim/issues/27344#issuecomment-1926348672", + "id": 1926348672, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27344", + "node_id": "IC_kwDOAPphoM5y0b-A", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926348672/reactions" + }, + "updated_at": "2024-02-05T07:07:02Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926348672", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/42881610?v=4", + "events_url": "https://api.github.com/users/konosubakonoakua/events{/privacy}", + "followers_url": "https://api.github.com/users/konosubakonoakua/followers", + "following_url": "https://api.github.com/users/konosubakonoakua/following{/other_user}", + "gists_url": "https://api.github.com/users/konosubakonoakua/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/konosubakonoakua", + "id": 42881610, + "login": "konosubakonoakua", + "node_id": "MDQ6VXNlcjQyODgxNjEw", + "organizations_url": "https://api.github.com/users/konosubakonoakua/orgs", + "received_events_url": "https://api.github.com/users/konosubakonoakua/received_events", + "repos_url": "https://api.github.com/users/konosubakonoakua/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/konosubakonoakua/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/konosubakonoakua/subscriptions", + "type": "User", + "url": "https://api.github.com/users/konosubakonoakua" + } + }, + { + "author_association": "MEMBER", + "body": "Please search existing issues, line #8213", + "created_at": "2024-02-05T07:32:59Z", + "html_url": "https://github.com/neovim/neovim/issues/27344#issuecomment-1926378550", + "id": 1926378550, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27344", + "node_id": "IC_kwDOAPphoM5y0jQ2", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926378550/reactions" + }, + "updated_at": "2024-02-05T07:32:59Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926378550", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "NONE", + "body": "Confirmed with the issue by pressing `j` really fast under ttimeoutlen=50,\r\nHowever I remember that the `ij` sequence still can be triggered as `` even not under ttimeoutlen=50, I cannot press the sequence that fast when editing.\r\n\r\nThanks for your advice 👍 , and now I set `ttimeoutlen=30`, cannot trigger `` by pressing `j` even if I almost break my keyboard 🤣.\r\n\r\nAs for the `ij`, I will try to reproduce under such a low timeout.", + "created_at": "2024-02-05T08:15:13Z", + "html_url": "https://github.com/neovim/neovim/issues/27344#issuecomment-1926432894", + "id": 1926432894, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27344", + "node_id": "IC_kwDOAPphoM5y0wh-", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926432894/reactions" + }, + "updated_at": "2024-02-05T08:15:39Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926432894", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/42881610?v=4", + "events_url": "https://api.github.com/users/konosubakonoakua/events{/privacy}", + "followers_url": "https://api.github.com/users/konosubakonoakua/followers", + "following_url": "https://api.github.com/users/konosubakonoakua/following{/other_user}", + "gists_url": "https://api.github.com/users/konosubakonoakua/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/konosubakonoakua", + "id": 42881610, + "login": "konosubakonoakua", + "node_id": "MDQ6VXNlcjQyODgxNjEw", + "organizations_url": "https://api.github.com/users/konosubakonoakua/orgs", + "received_events_url": "https://api.github.com/users/konosubakonoakua/received_events", + "repos_url": "https://api.github.com/users/konosubakonoakua/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/konosubakonoakua/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/konosubakonoakua/subscriptions", + "type": "User", + "url": "https://api.github.com/users/konosubakonoakua" + } + } + ], + "comments": 6, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27344/comments", + "created_at": "2024-02-05T06:09:30Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/27344/events", + "html_url": "https://github.com/neovim/neovim/issues/27344", + "id": 2117755194, + "labels": [ + { + "color": "e6e6e6", + "default": false, + "description": "issues that are closed as usage questions", + "id": 77997478, + "name": "closed:question", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3OA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/closed:question" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/27344/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDOAPphoM5-OmE6", + "number": 27344, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/27344/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "not_planned", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/27344/timeline", + "title": "Leaving from `Insert mode` by press `ESC` leads to send an `ALT` in rare case", + "updated_at": "2024-02-05T08:15:39Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/27344", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/42881610?v=4", + "events_url": "https://api.github.com/users/konosubakonoakua/events{/privacy}", + "followers_url": "https://api.github.com/users/konosubakonoakua/followers", + "following_url": "https://api.github.com/users/konosubakonoakua/following{/other_user}", + "gists_url": "https://api.github.com/users/konosubakonoakua/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/konosubakonoakua", + "id": 42881610, + "login": "konosubakonoakua", + "node_id": "MDQ6VXNlcjQyODgxNjEw", + "organizations_url": "https://api.github.com/users/konosubakonoakua/orgs", + "received_events_url": "https://api.github.com/users/konosubakonoakua/received_events", + "repos_url": "https://api.github.com/users/konosubakonoakua/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/konosubakonoakua/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/konosubakonoakua/subscriptions", + "type": "User", + "url": "https://api.github.com/users/konosubakonoakua" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/3669.json b/repositories/neovim/issues/3669.json new file mode 100644 index 00000000..4aa12797 --- /dev/null +++ b/repositories/neovim/issues/3669.json @@ -0,0 +1,282 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "Neovim’s TUI overrides right-click behaviour and does not allow terminal emulator to show a sometimes useful context menu anymore. \n\nI sometimes use context menu to open links from terminal (there’s a context menu item for that), but I can’t do that anymore from neovim.\n", + "closed_at": "2015-11-14T17:33:29Z", + "comment_data": [ + { + "author_association": "NONE", + "body": "Cannot reproduce in iTerm with current HEAD. What version are you using? (`nvim --version`)\n\nDoes it still happen with `nvim -u NONE`? If not, what is your configuration?\n\nWhat terminal emulator are you using? Does it work in other terminal emulators?\n\nPlease be more specific.\n", + "created_at": "2015-11-14T15:22:22Z", + "html_url": "https://github.com/neovim/neovim/issues/3669#issuecomment-156710584", + "id": 156710584, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/3669", + "node_id": "MDEyOklzc3VlQ29tbWVudDE1NjcxMDU4NA==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/156710584/reactions" + }, + "updated_at": "2015-11-14T15:22:47Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/156710584", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1928113?v=4", + "events_url": "https://api.github.com/users/wlhlm/events{/privacy}", + "followers_url": "https://api.github.com/users/wlhlm/followers", + "following_url": "https://api.github.com/users/wlhlm/following{/other_user}", + "gists_url": "https://api.github.com/users/wlhlm/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wlhlm", + "id": 1928113, + "login": "wlhlm", + "node_id": "MDQ6VXNlcjE5MjgxMTM=", + "organizations_url": "https://api.github.com/users/wlhlm/orgs", + "received_events_url": "https://api.github.com/users/wlhlm/received_events", + "repos_url": "https://api.github.com/users/wlhlm/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wlhlm/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wlhlm/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wlhlm" + } + }, + { + "author_association": "MEMBER", + "body": "@nagisa Use `set mouse=` to disable this.\n", + "created_at": "2015-11-14T16:09:24Z", + "html_url": "https://github.com/neovim/neovim/issues/3669#issuecomment-156714382", + "id": 156714382, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/3669", + "node_id": "MDEyOklzc3VlQ29tbWVudDE1NjcxNDM4Mg==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/156714382/reactions" + }, + "updated_at": "2015-11-14T16:09:24Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/156714382", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/221465?v=4", + "events_url": "https://api.github.com/users/fmoralesc/events{/privacy}", + "followers_url": "https://api.github.com/users/fmoralesc/followers", + "following_url": "https://api.github.com/users/fmoralesc/following{/other_user}", + "gists_url": "https://api.github.com/users/fmoralesc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/fmoralesc", + "id": 221465, + "login": "fmoralesc", + "node_id": "MDQ6VXNlcjIyMTQ2NQ==", + "organizations_url": "https://api.github.com/users/fmoralesc/orgs", + "received_events_url": "https://api.github.com/users/fmoralesc/received_events", + "repos_url": "https://api.github.com/users/fmoralesc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/fmoralesc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/fmoralesc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/fmoralesc" + } + }, + { + "author_association": "NONE", + "body": "Is there a way to only disable special handling for right-click but not middle/left click?\n\nNotably `set mousem=popup` does nothing.\n", + "created_at": "2015-11-20T22:00:41Z", + "html_url": "https://github.com/neovim/neovim/issues/3669#issuecomment-158537543", + "id": 158537543, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/3669", + "node_id": "MDEyOklzc3VlQ29tbWVudDE1ODUzNzU0Mw==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/158537543/reactions" + }, + "updated_at": "2015-11-20T22:04:10Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/158537543", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/679122?v=4", + "events_url": "https://api.github.com/users/nagisa/events{/privacy}", + "followers_url": "https://api.github.com/users/nagisa/followers", + "following_url": "https://api.github.com/users/nagisa/following{/other_user}", + "gists_url": "https://api.github.com/users/nagisa/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/nagisa", + "id": 679122, + "login": "nagisa", + "node_id": "MDQ6VXNlcjY3OTEyMg==", + "organizations_url": "https://api.github.com/users/nagisa/orgs", + "received_events_url": "https://api.github.com/users/nagisa/received_events", + "repos_url": "https://api.github.com/users/nagisa/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/nagisa/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/nagisa/subscriptions", + "type": "User", + "url": "https://api.github.com/users/nagisa" + } + }, + { + "author_association": "NONE", + "body": "Depending on your terminal, you should be able to shift right click to get your context menu (shift temporarily disables application overrides to your mouse in most terminals).\n", + "created_at": "2015-11-21T08:20:10Z", + "html_url": "https://github.com/neovim/neovim/issues/3669#issuecomment-158611915", + "id": 158611915, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/3669", + "node_id": "MDEyOklzc3VlQ29tbWVudDE1ODYxMTkxNQ==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/158611915/reactions" + }, + "updated_at": "2015-11-21T08:20:10Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/158611915", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2681677?v=4", + "events_url": "https://api.github.com/users/bendem/events{/privacy}", + "followers_url": "https://api.github.com/users/bendem/followers", + "following_url": "https://api.github.com/users/bendem/following{/other_user}", + "gists_url": "https://api.github.com/users/bendem/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bendem", + "id": 2681677, + "login": "bendem", + "node_id": "MDQ6VXNlcjI2ODE2Nzc=", + "organizations_url": "https://api.github.com/users/bendem/orgs", + "received_events_url": "https://api.github.com/users/bendem/received_events", + "repos_url": "https://api.github.com/users/bendem/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bendem/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bendem/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bendem" + } + }, + { + "author_association": "NONE", + "body": "In macos CMD+rightclick is giving nvim rightclick menu , simple rightclick is giving iterm2 rightclick menu\r\n\r\nIs there anyway to \r\nsimple rightclick - nvim rightclick menu\r\n\r\nPlease help", + "created_at": "2024-02-01T15:44:04Z", + "html_url": "https://github.com/neovim/neovim/issues/3669#issuecomment-1921623722", + "id": 1921623722, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/3669", + "node_id": "IC_kwDOAPphoM5yiaaq", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921623722/reactions" + }, + "updated_at": "2024-02-01T15:44:04Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921623722", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/59763946?v=4", + "events_url": "https://api.github.com/users/harshavardhannarla/events{/privacy}", + "followers_url": "https://api.github.com/users/harshavardhannarla/followers", + "following_url": "https://api.github.com/users/harshavardhannarla/following{/other_user}", + "gists_url": "https://api.github.com/users/harshavardhannarla/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/harshavardhannarla", + "id": 59763946, + "login": "harshavardhannarla", + "node_id": "MDQ6VXNlcjU5NzYzOTQ2", + "organizations_url": "https://api.github.com/users/harshavardhannarla/orgs", + "received_events_url": "https://api.github.com/users/harshavardhannarla/received_events", + "repos_url": "https://api.github.com/users/harshavardhannarla/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/harshavardhannarla/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/harshavardhannarla/subscriptions", + "type": "User", + "url": "https://api.github.com/users/harshavardhannarla" + } + } + ], + "comments": 5, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/3669/comments", + "created_at": "2015-11-14T12:51:01Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/3669/events", + "html_url": "https://github.com/neovim/neovim/issues/3669", + "id": 116923100, + "labels": [], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/3669/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "MDU6SXNzdWUxMTY5MjMxMDA=", + "number": 3669, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/3669/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "completed", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/3669/timeline", + "title": "Rightclick is overriden and does not show terminal context menu", + "updated_at": "2024-02-01T15:44:05Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/3669", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/679122?v=4", + "events_url": "https://api.github.com/users/nagisa/events{/privacy}", + "followers_url": "https://api.github.com/users/nagisa/followers", + "following_url": "https://api.github.com/users/nagisa/following{/other_user}", + "gists_url": "https://api.github.com/users/nagisa/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/nagisa", + "id": 679122, + "login": "nagisa", + "node_id": "MDQ6VXNlcjY3OTEyMg==", + "organizations_url": "https://api.github.com/users/nagisa/orgs", + "received_events_url": "https://api.github.com/users/nagisa/received_events", + "repos_url": "https://api.github.com/users/nagisa/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/nagisa/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/nagisa/subscriptions", + "type": "User", + "url": "https://api.github.com/users/nagisa" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/4736.json b/repositories/neovim/issues/4736.json new file mode 100644 index 00000000..7320ee9a --- /dev/null +++ b/repositories/neovim/issues/4736.json @@ -0,0 +1,531 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "- Neovim version: 0.1.4\r\n- Vim behaves differently? Vim version: 7.4.1797-1\r\n- Operating system/version: Arch Linux 4.4.8-1-lts\r\n- Terminal name/version: xterm\r\n- `$TERM`: xterm\r\n### Actual behaviour\r\n\r\nExtremely slow cursor movement in files with long lines (e.g. [englishdictionary.sql](https://sourceforge.net/projects/mysqlenglishdictionary/files/englishdictionary.sql/download)). Apparently caused by very inefficient highlighting (slow regexps?).\r\n### Expected behaviour\r\n\r\nCursor movement at normal speed (i.e. without getting stuck indefinitely).\r\n### Steps to reproduce using `nvim -u NORC`\r\n\r\n```\r\nnvim -u NORC englishdictionary.sql\r\n```\r\n\r\nVim behavior is the same, i.e. bad.\r\n\r\nThe reason why I'm raising this issue is to propose some timeout for highlighting. I'm working quite a lot with such long-line files and it's pain without highlighting and even more with it.\r\n\r\nEven some hack as switching off highlighting for lines longer than some configurable _N_ would be fine, because my goal is to edit the file and work with it (and with the indefinitely hung nvim it's impossible to run `:syntax off`).\r\n", + "closed_at": null, + "comment_data": [ + { + "author_association": "NONE", + "body": "Might be slightly related to https://github.com/neovim/neovim/issues/614 , https://github.com/neovim/neovim/issues/650 , https://github.com/neovim/neovim/issues/2401 .\n", + "created_at": "2016-05-10T21:42:50Z", + "html_url": "https://github.com/neovim/neovim/issues/4736#issuecomment-218300911", + "id": 218300911, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/4736", + "node_id": "MDEyOklzc3VlQ29tbWVudDIxODMwMDkxMQ==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/218300911/reactions" + }, + "updated_at": "2016-05-10T21:42:50Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/218300911", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2451044?v=4", + "events_url": "https://api.github.com/users/dumblob/events{/privacy}", + "followers_url": "https://api.github.com/users/dumblob/followers", + "following_url": "https://api.github.com/users/dumblob/following{/other_user}", + "gists_url": "https://api.github.com/users/dumblob/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dumblob", + "id": 2451044, + "login": "dumblob", + "node_id": "MDQ6VXNlcjI0NTEwNDQ=", + "organizations_url": "https://api.github.com/users/dumblob/orgs", + "received_events_url": "https://api.github.com/users/dumblob/received_events", + "repos_url": "https://api.github.com/users/dumblob/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dumblob/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dumblob/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dumblob" + } + }, + { + "author_association": "MEMBER", + "body": "> propose some timeout for highlighting\n\nYes that would be useful, especially for scrolling. Bram sketched out a design in a recent [vim_dev thread](https://groups.google.com/d/msg/vim_dev/qtw5LdCrHJQ/aOeysSR0DgAJ):\n\n```\n> > > Can we make it work with vim commands? What comes to mind would be to \n> > > have syntax highlighting work asynchronously, so Vim would stay \n> > > responsive for languages that have known to be slow syntax highlighting. \n> > \n> > Hmm, that's something completely different. A simplistic version would \n> > be to first redraw the screen in B&W, remembering what was put on the \n> > screen, and then loop over those lines to add highlighting, bailing out \n> > when a key is typed. Might actually work. \n> \n> This hasn't been done yet, correct? \n\nNope. It could be done like we call timers while waiting for a \ncharacter to be typed. But storing the state of what screen lines still \nneed to be colored, and making sure the coloring is interrupted by a \ntyped character, is still some work. And when it takes long it also \nrequires timers to be invoked... \n```\n", + "created_at": "2016-05-10T21:56:35Z", + "html_url": "https://github.com/neovim/neovim/issues/4736#issuecomment-218304020", + "id": 218304020, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/4736", + "node_id": "MDEyOklzc3VlQ29tbWVudDIxODMwNDAyMA==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/218304020/reactions" + }, + "updated_at": "2016-05-10T21:57:38Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/218304020", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "NONE", + "body": "The sketched idea sounds feasible.\n", + "created_at": "2016-05-10T22:13:01Z", + "html_url": "https://github.com/neovim/neovim/issues/4736#issuecomment-218307710", + "id": 218307710, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/4736", + "node_id": "MDEyOklzc3VlQ29tbWVudDIxODMwNzcxMA==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/218307710/reactions" + }, + "updated_at": "2016-05-10T22:13:01Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/218307710", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2451044?v=4", + "events_url": "https://api.github.com/users/dumblob/events{/privacy}", + "followers_url": "https://api.github.com/users/dumblob/followers", + "following_url": "https://api.github.com/users/dumblob/following{/other_user}", + "gists_url": "https://api.github.com/users/dumblob/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dumblob", + "id": 2451044, + "login": "dumblob", + "node_id": "MDQ6VXNlcjI0NTEwNDQ=", + "organizations_url": "https://api.github.com/users/dumblob/orgs", + "received_events_url": "https://api.github.com/users/dumblob/received_events", + "repos_url": "https://api.github.com/users/dumblob/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dumblob/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dumblob/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dumblob" + } + }, + { + "author_association": "NONE", + "body": "`:syntax off` seem to help only a little bit for JSON files. Maybe it's the parenthesis matching?", + "created_at": "2017-03-03T21:24:40Z", + "html_url": "https://github.com/neovim/neovim/issues/4736#issuecomment-284074092", + "id": 284074092, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/4736", + "node_id": "MDEyOklzc3VlQ29tbWVudDI4NDA3NDA5Mg==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/284074092/reactions" + }, + "updated_at": "2017-03-03T21:24:40Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/284074092", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1045476?v=4", + "events_url": "https://api.github.com/users/rr-/events{/privacy}", + "followers_url": "https://api.github.com/users/rr-/followers", + "following_url": "https://api.github.com/users/rr-/following{/other_user}", + "gists_url": "https://api.github.com/users/rr-/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/rr-", + "id": 1045476, + "login": "rr-", + "node_id": "MDQ6VXNlcjEwNDU0NzY=", + "organizations_url": "https://api.github.com/users/rr-/orgs", + "received_events_url": "https://api.github.com/users/rr-/received_events", + "repos_url": "https://api.github.com/users/rr-/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/rr-/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/rr-/subscriptions", + "type": "User", + "url": "https://api.github.com/users/rr-" + } + }, + { + "author_association": "MEMBER", + "body": "@rr- That's likely. Would be a good idea to modify matchparen.vim so that it disables itself on long lines.", + "created_at": "2017-03-03T22:10:59Z", + "html_url": "https://github.com/neovim/neovim/issues/4736#issuecomment-284084283", + "id": 284084283, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/4736", + "node_id": "MDEyOklzc3VlQ29tbWVudDI4NDA4NDI4Mw==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/284084283/reactions" + }, + "updated_at": "2017-03-03T22:10:59Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/284084283", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "NONE", + "body": "It is also painfully slow for some plugins which only shows part of the lines, e.g. vim-fugitive's :Gblame", + "created_at": "2017-08-01T15:04:45Z", + "html_url": "https://github.com/neovim/neovim/issues/4736#issuecomment-319398265", + "id": 319398265, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/4736", + "node_id": "MDEyOklzc3VlQ29tbWVudDMxOTM5ODI2NQ==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/319398265/reactions" + }, + "updated_at": "2017-08-01T15:04:45Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/319398265", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1330120?v=4", + "events_url": "https://api.github.com/users/volo1st/events{/privacy}", + "followers_url": "https://api.github.com/users/volo1st/followers", + "following_url": "https://api.github.com/users/volo1st/following{/other_user}", + "gists_url": "https://api.github.com/users/volo1st/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/volo1st", + "id": 1330120, + "login": "volo1st", + "node_id": "MDQ6VXNlcjEzMzAxMjA=", + "organizations_url": "https://api.github.com/users/volo1st/orgs", + "received_events_url": "https://api.github.com/users/volo1st/received_events", + "repos_url": "https://api.github.com/users/volo1st/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/volo1st/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/volo1st/subscriptions", + "type": "User", + "url": "https://api.github.com/users/volo1st" + } + }, + { + "author_association": "NONE", + "body": "`:syntax off` works great for long lines. It would be ideal if `syntax off` could be applied for those lines only, instead of for the whole buffer.", + "created_at": "2017-12-13T15:33:43Z", + "html_url": "https://github.com/neovim/neovim/issues/4736#issuecomment-351426793", + "id": 351426793, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/4736", + "node_id": "MDEyOklzc3VlQ29tbWVudDM1MTQyNjc5Mw==", + "performed_via_github_app": null, + "reactions": { + "+1": 2, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 2, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/351426793/reactions" + }, + "updated_at": "2017-12-13T15:33:43Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/351426793", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/984374?v=4", + "events_url": "https://api.github.com/users/albertnetymk/events{/privacy}", + "followers_url": "https://api.github.com/users/albertnetymk/followers", + "following_url": "https://api.github.com/users/albertnetymk/following{/other_user}", + "gists_url": "https://api.github.com/users/albertnetymk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/albertnetymk", + "id": 984374, + "login": "albertnetymk", + "node_id": "MDQ6VXNlcjk4NDM3NA==", + "organizations_url": "https://api.github.com/users/albertnetymk/orgs", + "received_events_url": "https://api.github.com/users/albertnetymk/received_events", + "repos_url": "https://api.github.com/users/albertnetymk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/albertnetymk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/albertnetymk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/albertnetymk" + } + }, + { + "author_association": "NONE", + "body": "I am seeing this bug when `cursoline` is enabled in Julia source-codes. When I disable `cursorline` or syntax highlight, it seems to work OK. Is it the same bug?", + "created_at": "2019-03-27T16:47:19Z", + "html_url": "https://github.com/neovim/neovim/issues/4736#issuecomment-477248269", + "id": 477248269, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/4736", + "node_id": "MDEyOklzc3VlQ29tbWVudDQ3NzI0ODI2OQ==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/477248269/reactions" + }, + "updated_at": "2021-07-07T21:29:16Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/477248269", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1068295?v=4", + "events_url": "https://api.github.com/users/ronisbr/events{/privacy}", + "followers_url": "https://api.github.com/users/ronisbr/followers", + "following_url": "https://api.github.com/users/ronisbr/following{/other_user}", + "gists_url": "https://api.github.com/users/ronisbr/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/ronisbr", + "id": 1068295, + "login": "ronisbr", + "node_id": "MDQ6VXNlcjEwNjgyOTU=", + "organizations_url": "https://api.github.com/users/ronisbr/orgs", + "received_events_url": "https://api.github.com/users/ronisbr/received_events", + "repos_url": "https://api.github.com/users/ronisbr/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/ronisbr/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ronisbr/subscriptions", + "type": "User", + "url": "https://api.github.com/users/ronisbr" + } + }, + { + "author_association": "NONE", + "body": "Issue still exists, can confirm it. Tried `nvim -u NONE` and profiling with `:profile start/func */file *`. In my case, I have DB SQL backup file and records have **very** long JSON columns which results in **very** long lines. And it seems like the issue is in runtime [matchparen plugin](https://github.com/neovim/neovim/blob/master/runtime/plugin/matchparen.vim) as @justinmk mentioned above. [Relevant issue](https://groups.google.com/g/vim_dev/c/YH1NUgWGBIg?pli=1)\r\n\r\nI literally cannot edit the file and each action takes a few minutes. I'm using latest nightly Neovim. (Unfortunately) VS Code is completely fine and I can jump around/navigate through the file without any issues (even with the Vim extension). Turning `syntax off` solved the issue, but ofc this is not a solution.\r\n\r\nLet me know if you need any details, I can provide anything I can (although, it looks like the issue will never be addressed)", + "created_at": "2024-02-01T16:58:16Z", + "html_url": "https://github.com/neovim/neovim/issues/4736#issuecomment-1921780617", + "id": 1921780617, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/4736", + "node_id": "IC_kwDOAPphoM5yjAuJ", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921780617/reactions" + }, + "updated_at": "2024-02-01T17:06:08Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921780617", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/37442533?v=4", + "events_url": "https://api.github.com/users/frixaco/events{/privacy}", + "followers_url": "https://api.github.com/users/frixaco/followers", + "following_url": "https://api.github.com/users/frixaco/following{/other_user}", + "gists_url": "https://api.github.com/users/frixaco/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/frixaco", + "id": 37442533, + "login": "frixaco", + "node_id": "MDQ6VXNlcjM3NDQyNTMz", + "organizations_url": "https://api.github.com/users/frixaco/orgs", + "received_events_url": "https://api.github.com/users/frixaco/received_events", + "repos_url": "https://api.github.com/users/frixaco/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/frixaco/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/frixaco/subscriptions", + "type": "User", + "url": "https://api.github.com/users/frixaco" + } + } + ], + "comments": 9, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/4736/comments", + "created_at": "2016-05-10T21:40:00Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/4736/events", + "html_url": "https://github.com/neovim/neovim/issues/4736", + "id": 154113298, + "labels": [ + { + "color": "FEF2C0", + "default": false, + "description": "issues reporting performance problems", + "id": 101930601, + "name": "performance", + "node_id": "MDU6TGFiZWwxMDE5MzA2MDE=", + "url": "https://api.github.com/repos/neovim/neovim/labels/performance" + }, + { + "color": "F9D0C4", + "default": false, + "description": "wrong behavior inherited from vim", + "id": 154310492, + "name": "bug-vim", + "node_id": "MDU6TGFiZWwxNTQzMTA0OTI=", + "url": "https://api.github.com/repos/neovim/neovim/labels/bug-vim" + }, + { + "color": "c5def5", + "default": false, + "description": "regex syntax or non-regex parsing, lpeg, grammars", + "id": 531600085, + "name": "syntax", + "node_id": "MDU6TGFiZWw1MzE2MDAwODU=", + "url": "https://api.github.com/repos/neovim/neovim/labels/syntax" + }, + { + "color": "c5def5", + "default": false, + "description": "redraw", + "id": 718084050, + "name": "display", + "node_id": "MDU6TGFiZWw3MTgwODQwNTA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/display" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/4736/labels{/name}", + "locked": false, + "milestone": { + "closed_at": null, + "closed_issues": 599, + "created_at": "2014-05-10T20:43:04Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + }, + "description": "Low priority. Not planned for the current target, may be reassigned.", + "due_on": null, + "html_url": "https://github.com/neovim/neovim/milestone/6", + "id": 655037, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/6/labels", + "node_id": "MDk6TWlsZXN0b25lNjU1MDM3", + "number": 6, + "open_issues": 424, + "state": "open", + "title": "backlog", + "updated_at": "2024-02-05T01:01:45Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/6" + }, + "node_id": "MDU6SXNzdWUxNTQxMTMyOTg=", + "number": 4736, + "performed_via_github_app": null, + "reactions": { + "+1": 32, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 32, + "url": "https://api.github.com/repos/neovim/neovim/issues/4736/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/4736/timeline", + "title": "slow movement, highlighting on long lines", + "updated_at": "2024-02-01T17:06:08Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/4736", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2451044?v=4", + "events_url": "https://api.github.com/users/dumblob/events{/privacy}", + "followers_url": "https://api.github.com/users/dumblob/followers", + "following_url": "https://api.github.com/users/dumblob/following{/other_user}", + "gists_url": "https://api.github.com/users/dumblob/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dumblob", + "id": 2451044, + "login": "dumblob", + "node_id": "MDQ6VXNlcjI0NTEwNDQ=", + "organizations_url": "https://api.github.com/users/dumblob/orgs", + "received_events_url": "https://api.github.com/users/dumblob/received_events", + "repos_url": "https://api.github.com/users/dumblob/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dumblob/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dumblob/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dumblob" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/4842.json b/repositories/neovim/issues/4842.json new file mode 100644 index 00000000..a918441a --- /dev/null +++ b/repositories/neovim/issues/4842.json @@ -0,0 +1,337 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "body": "To detect if it's possible to write to `/dev/stderr` (https://github.com/neovim/neovim/issues/4772) it would be required to know if `nvim` was started with the `--headless` option.\n\nAdditionally (or instead) there could be a variable holding the UI being used (which would be empty or \"headless\" then).\n", + "closed_at": "2018-03-03T14:08:21Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "@blueyed `--headless` does not affect the possibility to write to `/dev/stderr`. If you use `--cmd` in place of `-c` then the effect will be the same with and without `--headless` because UI was not started yet, if you still use `-c` then you will need to use `>/dev/null` to avoid clobbering the view for the time Neovim is running, but this is not actually necessary because UI writes to stdout and thus redirection of stderr works absolutely fine.\n\nSecond variant makes more sense in this case: it will be empty in `--cmd` as well, but I still do not see what this is for, you do not need to know UI status to write to `/dev/stderr` and #4772 talks about using this in the shell scripts meaning that you have plenty of ways to tell your plugin or whatever to write to stderr (environment variable, `-c 'let g:var = 1'`, …).\n", + "created_at": "2016-05-30T16:16:15Z", + "html_url": "https://github.com/neovim/neovim/issues/4842#issuecomment-222522648", + "id": 222522648, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/4842", + "node_id": "MDEyOklzc3VlQ29tbWVudDIyMjUyMjY0OA==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/222522648/reactions" + }, + "updated_at": "2016-05-30T16:16:15Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/222522648", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/322097?v=4", + "events_url": "https://api.github.com/users/ZyX-I/events{/privacy}", + "followers_url": "https://api.github.com/users/ZyX-I/followers", + "following_url": "https://api.github.com/users/ZyX-I/following{/other_user}", + "gists_url": "https://api.github.com/users/ZyX-I/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/ZyX-I", + "id": 322097, + "login": "ZyX-I", + "node_id": "MDQ6VXNlcjMyMjA5Nw==", + "organizations_url": "https://api.github.com/users/ZyX-I/orgs", + "received_events_url": "https://api.github.com/users/ZyX-I/received_events", + "repos_url": "https://api.github.com/users/ZyX-I/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/ZyX-I/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ZyX-I/subscriptions", + "type": "User", + "url": "https://api.github.com/users/ZyX-I" + } + }, + { + "author_association": "MEMBER", + "body": "@ZyX-I \nIt is for running Vader tests.\n\nI am currently using `VADER_OUTPUT_FILE=/dev/stderr nvim --headless -u vimrc -i NONE -c 'silent Vader! *'`.\n`--cmd` cannot be used here: `E492: Not an editor command: silent Vader! *`\n\nI know in this place that I can write to `/dev/stderr`, but it would be useful to detect this automatically in Vader somehow (see https://github.com/junegunn/vader.vim/pull/75).\n\nBut regardless of this, I'd say it would still be useful to have information about the UI in Vimscript somehow, don't you think?\n", + "created_at": "2016-05-30T16:26:13Z", + "html_url": "https://github.com/neovim/neovim/issues/4842#issuecomment-222523979", + "id": 222523979, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/4842", + "node_id": "MDEyOklzc3VlQ29tbWVudDIyMjUyMzk3OQ==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/222523979/reactions" + }, + "updated_at": "2016-05-30T16:26:13Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/222523979", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9766?v=4", + "events_url": "https://api.github.com/users/blueyed/events{/privacy}", + "followers_url": "https://api.github.com/users/blueyed/followers", + "following_url": "https://api.github.com/users/blueyed/following{/other_user}", + "gists_url": "https://api.github.com/users/blueyed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/blueyed", + "id": 9766, + "login": "blueyed", + "node_id": "MDQ6VXNlcjk3NjY=", + "organizations_url": "https://api.github.com/users/blueyed/orgs", + "received_events_url": "https://api.github.com/users/blueyed/received_events", + "repos_url": "https://api.github.com/users/blueyed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/blueyed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/blueyed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/blueyed" + } + }, + { + "author_association": "MEMBER", + "body": "https://github.com/neovim/neovim/commit/9f994bb69925ed943b17d03f2cad7d5e2c21e992 introduces `nvim_list_uis()`. If it returns empty, that implies `--headless` (or `--embed`).", + "created_at": "2018-03-03T14:09:49Z", + "html_url": "https://github.com/neovim/neovim/issues/4842#issuecomment-370150041", + "id": 370150041, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/4842", + "node_id": "MDEyOklzc3VlQ29tbWVudDM3MDE1MDA0MQ==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/370150041/reactions" + }, + "updated_at": "2018-03-03T14:09:49Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/370150041", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "NONE", + "body": "The `nvim_list_uis()` test must be made after `VimEnter`: [`--headless`](https://neovim.io/doc/user/starting.html#--headless)", + "created_at": "2024-01-30T06:26:32Z", + "html_url": "https://github.com/neovim/neovim/issues/4842#issuecomment-1916160693", + "id": 1916160693, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/4842", + "node_id": "IC_kwDOAPphoM5yNkq1", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1916160693/reactions" + }, + "updated_at": "2024-01-30T06:26:32Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1916160693", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/13854417?v=4", + "events_url": "https://api.github.com/users/HaleTom/events{/privacy}", + "followers_url": "https://api.github.com/users/HaleTom/followers", + "following_url": "https://api.github.com/users/HaleTom/following{/other_user}", + "gists_url": "https://api.github.com/users/HaleTom/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/HaleTom", + "id": 13854417, + "login": "HaleTom", + "node_id": "MDQ6VXNlcjEzODU0NDE3", + "organizations_url": "https://api.github.com/users/HaleTom/orgs", + "received_events_url": "https://api.github.com/users/HaleTom/received_events", + "repos_url": "https://api.github.com/users/HaleTom/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/HaleTom/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/HaleTom/subscriptions", + "type": "User", + "url": "https://api.github.com/users/HaleTom" + } + }, + { + "author_association": "MEMBER", + "body": "Note also that `has('gui_running')` #22382 was implemented since this issue, though that isn't exactly the same.", + "created_at": "2024-01-30T13:27:03Z", + "html_url": "https://github.com/neovim/neovim/issues/4842#issuecomment-1916846800", + "id": 1916846800, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/4842", + "node_id": "IC_kwDOAPphoM5yQMLQ", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1916846800/reactions" + }, + "updated_at": "2024-01-30T13:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1916846800", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + } + ], + "comments": 5, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/4842/comments", + "created_at": "2016-05-30T15:59:23Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/4842/events", + "html_url": "https://github.com/neovim/neovim/issues/4842", + "id": 157527395, + "labels": [ + { + "color": "c2e0c6", + "default": true, + "description": "feature request", + "id": 77997476, + "name": "enhancement", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3Ng==", + "url": "https://api.github.com/repos/neovim/neovim/labels/enhancement" + }, + { + "color": "c5def5", + "default": false, + "description": "libnvim, Nvim RPC API", + "id": 103819671, + "name": "api", + "node_id": "MDU6TGFiZWwxMDM4MTk2NzE=", + "url": "https://api.github.com/repos/neovim/neovim/labels/api" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/4842/labels{/name}", + "locked": false, + "milestone": { + "closed_at": "2018-07-18T12:15:49Z", + "closed_issues": 51, + "created_at": "2017-09-16T09:29:58Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + }, + "description": "", + "due_on": "2018-07-11T07:00:00Z", + "html_url": "https://github.com/neovim/neovim/milestone/16", + "id": 2770858, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/16/labels", + "node_id": "MDk6TWlsZXN0b25lMjc3MDg1OA==", + "number": 16, + "open_issues": 0, + "state": "closed", + "title": "0.3.1", + "updated_at": "2019-11-28T07:37:30Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/16" + }, + "node_id": "MDU6SXNzdWUxNTc1MjczOTU=", + "number": 4842, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/4842/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "completed", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/4842/timeline", + "title": "Detect if running --headless / get UI", + "updated_at": "2024-01-30T13:27:04Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/4842", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9766?v=4", + "events_url": "https://api.github.com/users/blueyed/events{/privacy}", + "followers_url": "https://api.github.com/users/blueyed/followers", + "following_url": "https://api.github.com/users/blueyed/following{/other_user}", + "gists_url": "https://api.github.com/users/blueyed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/blueyed", + "id": 9766, + "login": "blueyed", + "node_id": "MDQ6VXNlcjk3NjY=", + "organizations_url": "https://api.github.com/users/blueyed/orgs", + "received_events_url": "https://api.github.com/users/blueyed/received_events", + "repos_url": "https://api.github.com/users/blueyed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/blueyed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/blueyed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/blueyed" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/5997.json b/repositories/neovim/issues/5997.json index 388c7b50..df2c038f 100644 --- a/repositories/neovim/issues/5997.json +++ b/repositories/neovim/issues/5997.json @@ -115,7 +115,7 @@ "total_count": 0, "url": "https://api.github.com/repos/neovim/neovim/issues/comments/390287485/reactions" }, - "updated_at": "2018-05-18T18:06:56Z", + "updated_at": "2024-02-05T11:34:12Z", "url": "https://api.github.com/repos/neovim/neovim/issues/comments/390287485", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/4313010?v=4", @@ -146,15 +146,6 @@ "html_url": "https://github.com/neovim/neovim/issues/5997", "id": 202434152, "labels": [ - { - "color": "0E8A16", - "default": false, - "description": "issue is fixed in vim and patch needs to be ported", - "id": 152276149, - "name": "has:vim-patch", - "node_id": "MDU6TGFiZWwxNTIyNzYxNDk=", - "url": "https://api.github.com/repos/neovim/neovim/labels/has:vim-patch" - }, { "color": "F9D0C4", "default": false, @@ -187,7 +178,7 @@ "locked": false, "milestone": { "closed_at": null, - "closed_issues": 576, + "closed_issues": 599, "created_at": "2014-05-10T20:43:04Z", "creator": { "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", @@ -216,10 +207,10 @@ "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/6/labels", "node_id": "MDk6TWlsZXN0b25lNjU1MDM3", "number": 6, - "open_issues": 416, + "open_issues": 424, "state": "open", "title": "backlog", - "updated_at": "2023-08-24T22:05:35Z", + "updated_at": "2024-02-05T01:01:45Z", "url": "https://api.github.com/repos/neovim/neovim/milestones/6" }, "node_id": "MDU6SXNzdWUyMDI0MzQxNTI=", @@ -241,8 +232,8 @@ "state": "open", "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/5997/timeline", - "title": "CursorMovedI triggered unexpectedly", - "updated_at": "2023-08-26T00:06:31Z", + "title": "CursorMovedI and TextChangedI triggered unexpectedly for completion without changes", + "updated_at": "2024-02-05T11:34:12Z", "url": "https://api.github.com/repos/neovim/neovim/issues/5997", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/4538941?v=4", diff --git a/repositories/neovim/issues/7177.json b/repositories/neovim/issues/7177.json index f5b48300..656a494b 100644 --- a/repositories/neovim/issues/7177.json +++ b/repositories/neovim/issues/7177.json @@ -27,7 +27,7 @@ "total_count": 0, "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1912875841/reactions" }, - "updated_at": "2024-01-27T00:43:53Z", + "updated_at": "2024-02-02T05:15:41Z", "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1912875841", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", @@ -90,7 +90,7 @@ "locked": false, "milestone": { "closed_at": null, - "closed_issues": 597, + "closed_issues": 599, "created_at": "2014-05-10T20:43:04Z", "creator": { "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", @@ -119,10 +119,10 @@ "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/6/labels", "node_id": "MDk6TWlsZXN0b25lNjU1MDM3", "number": 6, - "open_issues": 425, + "open_issues": 424, "state": "open", "title": "backlog", - "updated_at": "2024-01-29T02:41:32Z", + "updated_at": "2024-02-05T01:01:45Z", "url": "https://api.github.com/repos/neovim/neovim/milestones/6" }, "node_id": "MDU6SXNzdWUyNTA3NzM1NjY=", @@ -145,7 +145,7 @@ "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/7177/timeline", "title": "Lua: vim.firstline, vim.lastline", - "updated_at": "2024-01-28T08:24:22Z", + "updated_at": "2024-02-02T05:15:41Z", "url": "https://api.github.com/repos/neovim/neovim/issues/7177", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/322097?v=4", diff --git a/repositories/neovim/issues/7667.json b/repositories/neovim/issues/7667.json index d5219f70..4f363903 100644 --- a/repositories/neovim/issues/7667.json +++ b/repositories/neovim/issues/7667.json @@ -1,10 +1,10 @@ { - "active_lock_reason": null, + "active_lock_reason": "resolved", "assignee": null, "assignees": [], "author_association": "NONE", "body": "- NVIM v0.2.2\r\n- Vim (version: 8.0) behaves differently? Yes\r\n- OS X 10.12.6\r\n- iTerm2 3.1.5\r\n- xterm-256color\r\n- Tmux 2.6\r\n\r\n### Steps to reproduce using `nvim -u NORC`\r\n```\r\n1. tmux\r\n2. nvim -u NORC\r\n3. Hit i to enter insert mode\r\n4. Hit esc to exit insert mode\r\n```\r\n### Actual behaviour\r\n\r\nThe cursor changes to a vertical bar when entering insert mode, but doesn't change back to a block when hitting esc to exit insert mode. \r\n\r\n### Expected behaviour\r\n\r\nThe cursor should change to a vertical bar when entering insert mode and change to a block when exiting insert mode.\r\n\r\n### Current workaround\r\n\r\nThis workaround makes the cursor work properly: \r\n\r\n```\r\nau InsertEnter,InsertChange * silent redraw!\r\nau VimEnter,InsertLeave * silent redraw!\r\n```\r\n\r\n", - "closed_at": null, + "closed_at": "2024-02-05T01:01:44Z", "comment_data": [ { "author_association": "NONE", @@ -404,12 +404,12 @@ }, { "author_association": "MEMBER", - "body": "Is #10013 really a duplicate of this? The steps to reproduce looks completely different.", - "created_at": "2022-11-14T12:22:09Z", - "html_url": "https://github.com/neovim/neovim/issues/7667#issuecomment-1313604546", - "id": 1313604546, + "body": "Closing as this issue is quite old and contains a lot of outdated information.", + "created_at": "2024-02-05T01:01:45Z", + "html_url": "https://github.com/neovim/neovim/issues/7667#issuecomment-1926037125", + "id": 1926037125, "issue_url": "https://api.github.com/repos/neovim/neovim/issues/7667", - "node_id": "IC_kwDOAPphoM5OTAPC", + "node_id": "IC_kwDOAPphoM5yzP6F", "performed_via_github_app": null, "reactions": { "+1": 0, @@ -421,10 +421,10 @@ "laugh": 0, "rocket": 0, "total_count": 0, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1313604546/reactions" + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926037125/reactions" }, - "updated_at": "2022-11-15T23:39:27Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1313604546", + "updated_at": "2024-02-05T01:01:45Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926037125", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", @@ -483,10 +483,10 @@ } ], "labels_url": "https://api.github.com/repos/neovim/neovim/issues/7667/labels{/name}", - "locked": false, + "locked": true, "milestone": { "closed_at": null, - "closed_issues": 564, + "closed_issues": 599, "created_at": "2014-05-10T20:43:04Z", "creator": { "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", @@ -515,10 +515,10 @@ "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/6/labels", "node_id": "MDk6TWlsZXN0b25lNjU1MDM3", "number": 6, - "open_issues": 412, + "open_issues": 424, "state": "open", "title": "backlog", - "updated_at": "2023-07-22T08:52:15Z", + "updated_at": "2024-02-05T01:01:45Z", "url": "https://api.github.com/repos/neovim/neovim/milestones/6" }, "node_id": "MDU6SXNzdWUyNzg1NjgxMTk=", @@ -537,11 +537,11 @@ "url": "https://api.github.com/repos/neovim/neovim/issues/7667/reactions" }, "repository_url": "https://api.github.com/repos/neovim/neovim", - "state": "open", - "state_reason": null, + "state": "closed", + "state_reason": "not_planned", "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/7667/timeline", "title": "tui: cursor-shape sometimes gets stuck", - "updated_at": "2023-07-22T03:21:46Z", + "updated_at": "2024-02-05T01:01:54Z", "url": "https://api.github.com/repos/neovim/neovim/issues/7667", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/40419?v=4", diff --git a/repositories/neovim/issues/8512.json b/repositories/neovim/issues/8512.json new file mode 100644 index 00000000..e7119f94 --- /dev/null +++ b/repositories/neovim/issues/8512.json @@ -0,0 +1,336 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "If I’m not mistaken the prebuilt appimage is for x64 only, thus on my raspberry pi and ARM VPS I have to manually build it to use the latest version. Versions provided by system repository are too old. Could you please consider to release ARM binaries too?", + "closed_at": "2018-06-09T07:23:16Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "I would like this too, but don't have an ARM CI env and not interested in dealing with cross-compilation.", + "created_at": "2018-06-09T07:23:16Z", + "html_url": "https://github.com/neovim/neovim/issues/8512#issuecomment-395947323", + "id": 395947323, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/8512", + "node_id": "MDEyOklzc3VlQ29tbWVudDM5NTk0NzMyMw==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/395947323/reactions" + }, + "updated_at": "2018-06-09T07:23:16Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/395947323", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "NONE", + "body": "Several years later, ARM is much more prevalent, but there are still no ARM binaries in the appimage. ARM CI is now readily available, so could this be reopened?", + "created_at": "2022-10-08T09:27:40Z", + "html_url": "https://github.com/neovim/neovim/issues/8512#issuecomment-1272276542", + "id": 1272276542, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/8512", + "node_id": "IC_kwDOAPphoM5L1WY-", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1272276542/reactions" + }, + "updated_at": "2022-10-08T09:27:40Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1272276542", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/23052054?v=4", + "events_url": "https://api.github.com/users/dcervenkov/events{/privacy}", + "followers_url": "https://api.github.com/users/dcervenkov/followers", + "following_url": "https://api.github.com/users/dcervenkov/following{/other_user}", + "gists_url": "https://api.github.com/users/dcervenkov/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dcervenkov", + "id": 23052054, + "login": "dcervenkov", + "node_id": "MDQ6VXNlcjIzMDUyMDU0", + "organizations_url": "https://api.github.com/users/dcervenkov/orgs", + "received_events_url": "https://api.github.com/users/dcervenkov/received_events", + "repos_url": "https://api.github.com/users/dcervenkov/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dcervenkov/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dcervenkov/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dcervenkov" + } + }, + { + "author_association": "MEMBER", + "body": "> ARM CI is now readily available, so could this be reopened?\r\n\r\n[Citation needed]\r\n\r\nIf you can provide a PR to add ARM CI easily, that would be welcome!", + "created_at": "2022-10-08T09:29:07Z", + "html_url": "https://github.com/neovim/neovim/issues/8512#issuecomment-1272276743", + "id": 1272276743, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/8512", + "node_id": "IC_kwDOAPphoM5L1WcH", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1272276743/reactions" + }, + "updated_at": "2022-10-08T09:29:07Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1272276743", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "NONE", + "body": "I'm sure it would; personpower is always an issue. Unfortunately, I don't think I'll find time to do that anytime soon.\r\n\r\nIn case somebody else wants to pick this up, here are a few thoughts that might be useful:\r\n- The neovim CI uses GitHub runners, which do not include ARM\r\n- It might be possible to use this [GitHub ARM runner action](https://github.com/marketplace/actions/arm-runner) instead", + "created_at": "2022-10-08T10:21:54Z", + "html_url": "https://github.com/neovim/neovim/issues/8512#issuecomment-1272286815", + "id": 1272286815, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/8512", + "node_id": "IC_kwDOAPphoM5L1Y5f", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1272286815/reactions" + }, + "updated_at": "2022-10-08T10:21:54Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1272286815", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/23052054?v=4", + "events_url": "https://api.github.com/users/dcervenkov/events{/privacy}", + "followers_url": "https://api.github.com/users/dcervenkov/followers", + "following_url": "https://api.github.com/users/dcervenkov/following{/other_user}", + "gists_url": "https://api.github.com/users/dcervenkov/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dcervenkov", + "id": 23052054, + "login": "dcervenkov", + "node_id": "MDQ6VXNlcjIzMDUyMDU0", + "organizations_url": "https://api.github.com/users/dcervenkov/orgs", + "received_events_url": "https://api.github.com/users/dcervenkov/received_events", + "repos_url": "https://api.github.com/users/dcervenkov/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dcervenkov/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dcervenkov/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dcervenkov" + } + }, + { + "author_association": "NONE", + "body": "Sounds like Github will have ARM runners soon! https://github.blog/changelog/2023-10-30-accelerate-your-ci-cd-with-arm-based-hosted-runners-in-github-actions/#unlock-the-power-of-arm-in-actions", + "created_at": "2024-01-31T23:12:06Z", + "html_url": "https://github.com/neovim/neovim/issues/8512#issuecomment-1920149210", + "id": 1920149210, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/8512", + "node_id": "IC_kwDOAPphoM5ycyba", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920149210/reactions" + }, + "updated_at": "2024-01-31T23:12:06Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920149210", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/635285?v=4", + "events_url": "https://api.github.com/users/danielnolan/events{/privacy}", + "followers_url": "https://api.github.com/users/danielnolan/followers", + "following_url": "https://api.github.com/users/danielnolan/following{/other_user}", + "gists_url": "https://api.github.com/users/danielnolan/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/danielnolan", + "id": 635285, + "login": "danielnolan", + "node_id": "MDQ6VXNlcjYzNTI4NQ==", + "organizations_url": "https://api.github.com/users/danielnolan/orgs", + "received_events_url": "https://api.github.com/users/danielnolan/received_events", + "repos_url": "https://api.github.com/users/danielnolan/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/danielnolan/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/danielnolan/subscriptions", + "type": "User", + "url": "https://api.github.com/users/danielnolan" + } + }, + { + "author_association": "MEMBER", + "body": "only on macOS (at least for free)", + "created_at": "2024-02-01T08:14:59Z", + "html_url": "https://github.com/neovim/neovim/issues/8512#issuecomment-1920739544", + "id": 1920739544, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/8512", + "node_id": "IC_kwDOAPphoM5yfCjY", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920739544/reactions" + }, + "updated_at": "2024-02-01T08:14:59Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920739544", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + } + ], + "comments": 6, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/8512/comments", + "created_at": "2018-06-09T04:44:38Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/8512/events", + "html_url": "https://github.com/neovim/neovim/issues/8512", + "id": 330852801, + "labels": [ + { + "color": "e6e6e6", + "default": false, + "description": "packaging and distributing Nvim to users", + "id": 124686703, + "name": "distribution", + "node_id": "MDU6TGFiZWwxMjQ2ODY3MDM=", + "url": "https://api.github.com/repos/neovim/neovim/labels/distribution" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/8512/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "MDU6SXNzdWUzMzA4NTI4MDE=", + "number": 8512, + "performed_via_github_app": null, + "reactions": { + "+1": 5, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 5, + "url": "https://api.github.com/repos/neovim/neovim/issues/8512/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "closed", + "state_reason": "completed", + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/8512/timeline", + "title": "Prebuilt appimage for ARM linux?", + "updated_at": "2024-02-01T08:15:00Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/8512", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1405249?v=4", + "events_url": "https://api.github.com/users/wxdao/events{/privacy}", + "followers_url": "https://api.github.com/users/wxdao/followers", + "following_url": "https://api.github.com/users/wxdao/following{/other_user}", + "gists_url": "https://api.github.com/users/wxdao/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wxdao", + "id": 1405249, + "login": "wxdao", + "node_id": "MDQ6VXNlcjE0MDUyNDk=", + "organizations_url": "https://api.github.com/users/wxdao/orgs", + "received_events_url": "https://api.github.com/users/wxdao/received_events", + "repos_url": "https://api.github.com/users/wxdao/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wxdao/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wxdao/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wxdao" + } +} \ No newline at end of file diff --git a/repositories/neovim/issues/9107.json b/repositories/neovim/issues/9107.json new file mode 100644 index 00000000..51cd53d3 --- /dev/null +++ b/repositories/neovim/issues/9107.json @@ -0,0 +1,1191 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "body": "```vim\r\nfunction! F(...) dict\r\n echom string(a:000).', '.string(self)\r\n echom string(s:opts)\r\nendfunction\r\n\r\nlet opts = {}\r\nlet opts.stdout_buffered = 1\r\nlet opts.stderr_buffered = 1\r\nlet opts.on_exit = function('F')\r\n\" let opts.on_stdout = function('F')\r\n\" let opts.on_stderr = function('F')\r\nlet opts.pty = 1\r\n\r\nlet s:opts = opts\r\n\r\nlet job = jobstart(['cat', '/dev/stdin'], opts)\r\n\" let job = jobstart(['echo', '/dev/stdin'], s:opts)\r\ncall jobsend(job, ['foo'])\r\ncall jobclose(job, 'stdin')\r\n```\r\n\r\nRunning this with `nvim -u t-dev-stdin-buffered.vim` will cause the job to not being closed/stopped.\r\n\r\nThe log says:\r\n\r\n> INFO 2018-10-11T15:56:16.756 28066 channel_create_event:208: new channel 3 (…/t-dev-stdin-buffered.vim:16) : {\"id\": 3, \"mode\": \"bytes\", \"stream\": \"job\", \"pty\": \"/dev/pts/25\"}\r\n> INFO 2018-10-11T15:56:16.824 28066 main:590: starting main loop\r\n\r\nCalling `jobstop(job)` then says:\r\n> INFO 2018-10-11T15:56:57.007 28066 on_process_exit:385: exited: pid=28067 status=1 stoptime=0\r\n\r\nNVIM v0.3.2-671-g384770556", + "closed_at": null, + "comment_data": [ + { + "author_association": "MEMBER", + "body": "This happens without buffered output also already:\r\n```vim\r\nfunction! F(...) dict\r\n echom string(a:000).', '.string(self)\r\n echom string(s:opts)\r\nendfunction\r\n\r\nlet opts = {}\r\nlet opts.pty = 1\r\nlet opts.on_exit = function('F')\r\n\r\nlet s:opts = opts\r\n\r\nlet job = jobstart(['cat', '/dev/stdin'], opts)\r\ncall jobclose(job, 'stdin')\r\n```\r\n", + "created_at": "2018-10-11T14:05:23Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-428968330", + "id": 428968330, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDQyODk2ODMzMA==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/428968330/reactions" + }, + "updated_at": "2018-10-11T14:07:12Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/428968330", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9766?v=4", + "events_url": "https://api.github.com/users/blueyed/events{/privacy}", + "followers_url": "https://api.github.com/users/blueyed/followers", + "following_url": "https://api.github.com/users/blueyed/following{/other_user}", + "gists_url": "https://api.github.com/users/blueyed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/blueyed", + "id": 9766, + "login": "blueyed", + "node_id": "MDQ6VXNlcjk3NjY=", + "organizations_url": "https://api.github.com/users/blueyed/orgs", + "received_events_url": "https://api.github.com/users/blueyed/received_events", + "repos_url": "https://api.github.com/users/blueyed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/blueyed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/blueyed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/blueyed" + } + }, + { + "author_association": "MEMBER", + "body": "Ah, it seems to be caused by not connecting `stdout` (not using `let opts.on_stdout = function('F')`), and not handling/reading `stdout` with buffered output correctly.", + "created_at": "2018-10-11T14:10:19Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-428970112", + "id": 428970112, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDQyODk3MDExMg==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/428970112/reactions" + }, + "updated_at": "2018-10-11T14:10:19Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/428970112", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9766?v=4", + "events_url": "https://api.github.com/users/blueyed/events{/privacy}", + "followers_url": "https://api.github.com/users/blueyed/followers", + "following_url": "https://api.github.com/users/blueyed/following{/other_user}", + "gists_url": "https://api.github.com/users/blueyed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/blueyed", + "id": 9766, + "login": "blueyed", + "node_id": "MDQ6VXNlcjk3NjY=", + "organizations_url": "https://api.github.com/users/blueyed/orgs", + "received_events_url": "https://api.github.com/users/blueyed/received_events", + "repos_url": "https://api.github.com/users/blueyed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/blueyed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/blueyed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/blueyed" + } + }, + { + "author_association": "MEMBER", + "body": "Manually sending SIGHUP makes it work, but the exit code will be 1 then:\r\n\r\n```vim\r\nfunction! F(...) dict\r\n echom string(a:000).', '.string(self)\r\n echom string(s:opts)\r\nendfunction\r\n\r\nlet opts = {}\r\nlet opts.stdout_buffered = 1\r\nlet opts.stderr_buffered = 1\r\nlet opts.on_exit = function('F')\r\n\" let opts.on_stdout = function('F')\r\n\" let opts.on_stderr = function('F')\r\nlet opts.pty = 1\r\n\r\nlet s:opts = opts\r\n\r\nlet job = jobstart(['cat', '/dev/stdin'], opts)\r\n\" let job = jobstart(['echo', '/dev/stdin'], s:opts)\r\ncall jobsend(job, ['foo'])\r\ncall jobclose(job, 'stdin')\r\n\r\ncall system('kill -SIGHUP '.jobpid(job))\r\n```\r\n\r\nLog:\r\n```\r\nINFO 2018-10-11T16:11:46.964 32436 channel_create_event:208: new channel 3 (…/t-dev-stdin-buffered.vim:16) : {\"id\": 3, \"mode\": \"bytes\", \"stream\": \"job\", \"pty\": \"/dev/pts/25\"}\r\nINFO 2018-10-11T16:11:46.967 32436 on_process_exit:385: exited: pid=32437 status=1 stoptime=0\r\nINFO 2018-10-11T16:11:46.967 32436 on_process_exit:385: exited: pid=32438 status=0 stoptime=0\r\nINFO 2018-10-11T16:11:47.009 32436 main:590: starting main loop\r\n```\r\n\r\n`:mess`:\r\n```\r\n[3, 1, 'exit'], {'stdout_buffered': 1, 'on_exit': function('F'), 'stderr_buffered': 1, 'stdou\r\nt': ['foo'], 'pty': 1}\r\n```\r\n", + "created_at": "2018-10-11T14:13:32Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-428971205", + "id": 428971205, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDQyODk3MTIwNQ==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/428971205/reactions" + }, + "updated_at": "2018-10-11T14:13:32Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/428971205", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9766?v=4", + "events_url": "https://api.github.com/users/blueyed/events{/privacy}", + "followers_url": "https://api.github.com/users/blueyed/followers", + "following_url": "https://api.github.com/users/blueyed/following{/other_user}", + "gists_url": "https://api.github.com/users/blueyed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/blueyed", + "id": 9766, + "login": "blueyed", + "node_id": "MDQ6VXNlcjk3NjY=", + "organizations_url": "https://api.github.com/users/blueyed/orgs", + "received_events_url": "https://api.github.com/users/blueyed/received_events", + "repos_url": "https://api.github.com/users/blueyed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/blueyed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/blueyed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/blueyed" + } + }, + { + "author_association": "MEMBER", + "body": "And with `pty=1` it appears to get `stdin` on `stdout`?!\r\n\r\nThe following will have \"foo\" on \"stdout\", but not \"sbb\"?!\r\n\r\n```vim\r\nfunction! F(...) dict\r\n echom string(a:000).', '.string(self)\r\nendfunction\r\n\r\nlet opts = {}\r\nlet opts.on_exit = function('F')\r\nlet opts.on_stdout = function('F')\r\nlet opts.on_stderr = function('F')\r\nlet opts.pty = 1\r\n\r\nlet job = jobstart(['rot13'], opts)\r\ncall jobsend(job, ['foo'])\r\ncall jobclose(job, 'stdin')\r\n```\r\n\r\n`:mess`:\r\n```\r\n[3, ['foo'], 'stdout'], {'on_exit': function('F'), 'on_stdout': function('F'), 'on_stderr': f\r\nunction('F'), 'pty': 1}\r\n```\r\n\r\nBisected this one to fee367a74 - /cc @bfredl", + "created_at": "2018-10-11T14:32:39Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-428978241", + "id": 428978241, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDQyODk3ODI0MQ==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/428978241/reactions" + }, + "updated_at": "2018-10-11T14:56:19Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/428978241", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9766?v=4", + "events_url": "https://api.github.com/users/blueyed/events{/privacy}", + "followers_url": "https://api.github.com/users/blueyed/followers", + "following_url": "https://api.github.com/users/blueyed/following{/other_user}", + "gists_url": "https://api.github.com/users/blueyed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/blueyed", + "id": 9766, + "login": "blueyed", + "node_id": "MDQ6VXNlcjk3NjY=", + "organizations_url": "https://api.github.com/users/blueyed/orgs", + "received_events_url": "https://api.github.com/users/blueyed/received_events", + "repos_url": "https://api.github.com/users/blueyed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/blueyed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/blueyed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/blueyed" + } + }, + { + "author_association": "MEMBER", + "body": "Pty means stdin and stdout is the same fd. Use ctrl-d `\\x04` to signal end of input to the child process. ", + "created_at": "2018-10-11T14:57:34Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-428987725", + "id": 428987725, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDQyODk4NzcyNQ==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/428987725/reactions" + }, + "updated_at": "2018-10-11T14:57:34Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/428987725", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + } + }, + { + "author_association": "MEMBER", + "body": "Ah.\r\n\r\n> Use ctrl-d \\x04 to signal end of input to the child process.\r\n\r\nWouldn't that be what `jobclose(job, 'stdin')` should do then?\r\n\r\nAs for the previous comment.. using `jobsend(job, nr2char(4))` then makes it stop, but it will have both \"foo\" and \"sbb\" on stdout then.\r\nBut that reflects the \"stdin and stdout is the same fd\" then.\r\n\r\nIt looks like \"pty\" and \"stdin\" cannot be used then together, right?", + "created_at": "2018-10-11T15:11:36Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-428993190", + "id": 428993190, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDQyODk5MzE5MA==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/428993190/reactions" + }, + "updated_at": "2018-10-11T15:11:36Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/428993190", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9766?v=4", + "events_url": "https://api.github.com/users/blueyed/events{/privacy}", + "followers_url": "https://api.github.com/users/blueyed/followers", + "following_url": "https://api.github.com/users/blueyed/following{/other_user}", + "gists_url": "https://api.github.com/users/blueyed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/blueyed", + "id": 9766, + "login": "blueyed", + "node_id": "MDQ6VXNlcjk3NjY=", + "organizations_url": "https://api.github.com/users/blueyed/orgs", + "received_events_url": "https://api.github.com/users/blueyed/received_events", + "repos_url": "https://api.github.com/users/blueyed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/blueyed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/blueyed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/blueyed" + } + }, + { + "author_association": "MEMBER", + "body": "What I wanted to achieve is having `/dev/stdin` (for hadolint) available, which appears to only be available with `pty=1`.", + "created_at": "2018-10-11T15:13:10Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-428993801", + "id": 428993801, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDQyODk5MzgwMQ==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/428993801/reactions" + }, + "updated_at": "2018-10-11T15:13:10Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/428993801", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9766?v=4", + "events_url": "https://api.github.com/users/blueyed/events{/privacy}", + "followers_url": "https://api.github.com/users/blueyed/followers", + "following_url": "https://api.github.com/users/blueyed/following{/other_user}", + "gists_url": "https://api.github.com/users/blueyed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/blueyed", + "id": 9766, + "login": "blueyed", + "node_id": "MDQ6VXNlcjk3NjY=", + "organizations_url": "https://api.github.com/users/blueyed/orgs", + "received_events_url": "https://api.github.com/users/blueyed/received_events", + "repos_url": "https://api.github.com/users/blueyed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/blueyed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/blueyed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/blueyed" + } + }, + { + "author_association": "MEMBER", + "body": "> Wouldn't that be what jobclose(job, 'stdin') should do then?\r\n\r\nNo, because it doesn't close the (bidirectional) pty. It just finishes the current/next `read()` command the child process does. Just as when you type CTRL-D at `cat`, it either finishes the current input without NL or exists `cat` if there is no pending input, but it doesn't (necessarily) close the terminal window but allows it to return to the shell.\r\n\r\n> As for the previous comment.. using jobsend(job, nr2char(4)) then makes it stop, but it will have both \"foo\" and \"sbb\" on stdout then.\r\n\r\nYes. Compare what happens if you run `rot13` in a terminal window.\r\n\r\nThe pty could be configured to (1) not wait for NL or CTRL-D and (2) not echo the input back. A `stty` call should do this, I'll get back to it.\r\n\r\n> What I wanted to achieve is having /dev/stdin (for hadolint) available, which appears to only be available with pty=1.\r\n\r\nThis is an unfortunate limitation. Only a subset of linux IPC is reified as \"real\" filenames that `/dev/stdin` can link to. ", + "created_at": "2018-10-11T15:20:58Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-428996805", + "id": 428996805, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDQyODk5NjgwNQ==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/428996805/reactions" + }, + "updated_at": "2018-10-11T15:21:33Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/428996805", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + } + }, + { + "author_association": "MEMBER", + "body": "Ok, thanks for the explanation!\r\n\r\nUsing `let maker = {'exe': 'sh', 'args': ['-s', '-c', \"stty -echo; tr o 0\"]}` and `sleep 1` before `jobsend()` (for stdin) will not echo it.", + "created_at": "2018-10-11T15:24:19Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-428998091", + "id": 428998091, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDQyODk5ODA5MQ==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/428998091/reactions" + }, + "updated_at": "2018-10-11T15:24:19Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/428998091", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9766?v=4", + "events_url": "https://api.github.com/users/blueyed/events{/privacy}", + "followers_url": "https://api.github.com/users/blueyed/followers", + "following_url": "https://api.github.com/users/blueyed/following{/other_user}", + "gists_url": "https://api.github.com/users/blueyed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/blueyed", + "id": 9766, + "login": "blueyed", + "node_id": "MDQ6VXNlcjk3NjY=", + "organizations_url": "https://api.github.com/users/blueyed/orgs", + "received_events_url": "https://api.github.com/users/blueyed/received_events", + "repos_url": "https://api.github.com/users/blueyed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/blueyed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/blueyed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/blueyed" + } + }, + { + "author_association": "MEMBER", + "body": "Indeed. I think it was discussed sometime in the past (in Gitter?) to add some pty flags to `jobstart()` options, which should do this without needing to shell out.", + "created_at": "2018-10-11T15:27:42Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-428999411", + "id": 428999411, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDQyODk5OTQxMQ==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/428999411/reactions" + }, + "updated_at": "2018-10-11T15:27:42Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/428999411", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + } + }, + { + "author_association": "MEMBER", + "body": "This will turn off echo by default, which appears to be sensible, isn't it?\r\n\r\n```diff\r\ndiff --git i/src/nvim/os/pty_process_unix.c w/src/nvim/os/pty_process_unix.c\r\nindex bafbfe1e4..a55f1e59d 100644\r\n--- i/src/nvim/os/pty_process_unix.c\r\n+++ w/src/nvim/os/pty_process_unix.c\r\n@@ -57,6 +57,7 @@ int pty_process_spawn(PtyProcess *ptyproc)\r\n if (!termios_default.c_cflag) {\r\n // TODO(jkeyes): We could pass NULL to forkpty() instead ...\r\n init_termios(&termios_default);\r\n+ termios_default.c_lflag &= ~(ECHO);\r\n }\r\n \r\n int status = 0; // zero or negative error code (libuv convention)\r\n```\r\n\r\nHow is \"not wait for NL or CTRL-D\" configured? (appear to be related to `ICANON`, but without this the job never finishes then)\r\nAlso some generic function like `cfmakeraw` might be sensible?", + "created_at": "2018-10-11T16:15:01Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-429018513", + "id": 429018513, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDQyOTAxODUxMw==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429018513/reactions" + }, + "updated_at": "2018-10-11T16:20:55Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429018513", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9766?v=4", + "events_url": "https://api.github.com/users/blueyed/events{/privacy}", + "followers_url": "https://api.github.com/users/blueyed/followers", + "following_url": "https://api.github.com/users/blueyed/following{/other_user}", + "gists_url": "https://api.github.com/users/blueyed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/blueyed", + "id": 9766, + "login": "blueyed", + "node_id": "MDQ6VXNlcjk3NjY=", + "organizations_url": "https://api.github.com/users/blueyed/orgs", + "received_events_url": "https://api.github.com/users/blueyed/received_events", + "repos_url": "https://api.github.com/users/blueyed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/blueyed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/blueyed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/blueyed" + } + }, + { + "author_association": "MEMBER", + "body": "> This will turn off echo by default, which appears to be sensible, isn't it?\r\n\r\nWhy not leave the system defaults to their expected values and letting the user configure it if needed? Creating a set of nvim special defaults just adds yet a layer of arbitrary decisions an API user is expected to know about _in addition to_ knowing how PTY:s work in general, and knowing what the child does. Note as PTY childs can change these settings (as stty does), so a nvim default does not guarantee that these behaviours are disabled. It just means knowledge of PTY default behavior is suddenly invalid when working with nvim (or conversery, someone using nvim as the first PTY master interface will get the wrong impression of the defaults).", + "created_at": "2018-10-11T17:29:33Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-429046126", + "id": 429046126, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDQyOTA0NjEyNg==", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429046126/reactions" + }, + "updated_at": "2018-10-11T17:32:55Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429046126", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + } + }, + { + "author_association": "MEMBER", + "body": "Yeah, that was only meant as some \"this works in this case\" patch - likely it would also affect `:term` in this case?!\r\n\r\nAnyway, isn't `init_termios` biased anyway already?\r\nhttps://github.com/neovim/neovim/blob/384770556ba02433904baf78f499b9bb48010040/src/nvim/os/pty_process_unix.c#L186-L239", + "created_at": "2018-10-11T17:49:01Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-429053664", + "id": 429053664, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDQyOTA1MzY2NA==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429053664/reactions" + }, + "updated_at": "2018-10-11T17:49:01Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429053664", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9766?v=4", + "events_url": "https://api.github.com/users/blueyed/events{/privacy}", + "followers_url": "https://api.github.com/users/blueyed/followers", + "following_url": "https://api.github.com/users/blueyed/following{/other_user}", + "gists_url": "https://api.github.com/users/blueyed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/blueyed", + "id": 9766, + "login": "blueyed", + "node_id": "MDQ6VXNlcjk3NjY=", + "organizations_url": "https://api.github.com/users/blueyed/orgs", + "received_events_url": "https://api.github.com/users/blueyed/received_events", + "repos_url": "https://api.github.com/users/blueyed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/blueyed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/blueyed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/blueyed" + } + }, + { + "author_association": "MEMBER", + "body": "It might be, but in general the intention seems to be the expected behavior an ordinary terminal (standard echo behavior, cooked mode, standard key values), perhaps paper over some differences between different systems, but not to create nvim-specific behaviors as far as I can see.", + "created_at": "2018-10-11T18:02:11Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-429058845", + "id": 429058845, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDQyOTA1ODg0NQ==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429058845/reactions" + }, + "updated_at": "2018-10-11T18:03:04Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429058845", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + } + }, + { + "author_association": "MEMBER", + "body": "Also we use the \"inherited\" termios settings, `init_termios` is a fallback.", + "created_at": "2018-10-11T19:24:56Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-429086828", + "id": 429086828, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDQyOTA4NjgyOA==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429086828/reactions" + }, + "updated_at": "2018-10-11T19:25:50Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429086828", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "MEMBER", + "body": ">> What I wanted to achieve is having /dev/stdin (for hadolint) available, which appears to only be available with pty=1.\r\n\r\n> This is an unfortunate limitation. Only a subset of linux IPC is reified as \"real\" filenames that /dev/stdin can link to.\r\n\r\nWhere is this done?\r\nHow can this be simulated, e.g. to test `hadolint` outside of Neovim with this? (https://github.com/hadolint/hadolint/issues/273)", + "created_at": "2018-10-11T23:11:37Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-429152041", + "id": 429152041, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDQyOTE1MjA0MQ==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429152041/reactions" + }, + "updated_at": "2018-10-11T23:11:37Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429152041", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9766?v=4", + "events_url": "https://api.github.com/users/blueyed/events{/privacy}", + "followers_url": "https://api.github.com/users/blueyed/followers", + "following_url": "https://api.github.com/users/blueyed/following{/other_user}", + "gists_url": "https://api.github.com/users/blueyed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/blueyed", + "id": 9766, + "login": "blueyed", + "node_id": "MDQ6VXNlcjk3NjY=", + "organizations_url": "https://api.github.com/users/blueyed/orgs", + "received_events_url": "https://api.github.com/users/blueyed/received_events", + "repos_url": "https://api.github.com/users/blueyed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/blueyed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/blueyed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/blueyed" + } + }, + { + "author_association": "MEMBER", + "body": "> Where is this done?\r\n\r\n`/dev/stdin` links to `/proc/self/fd/0`, and the later is a link set by the kernel, but not always to a real file name, for example:\r\n\r\n```\r\n% echo x | ls -l /proc/self/fd/\r\ntotal 0\r\nlr-x------ 1 bjorn bjorn 64 Oct 12 09:01 0 -> 'pipe:[49863]'\r\nlrwx------ 1 bjorn bjorn 64 Oct 12 09:01 1 -> /dev/pts/1\r\nlrwx------ 1 bjorn bjorn 64 Oct 12 09:01 2 -> /dev/pts/1\r\nlr-x------ 1 bjorn bjorn 64 Oct 12 09:01 3 -> /proc/2019/fd\r\n```\r\nso anything like `cat filename| hadolint ...` should work to emulate the same situation (but not `hadolint /dev/stdin < filename`, because this will open the file directly and thus give the real file name).\r\n\r\nAdding a `-` argument as in the linked issue would be the proper solution.", + "created_at": "2018-10-12T07:08:59Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-429227268", + "id": 429227268, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDQyOTIyNzI2OA==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429227268/reactions" + }, + "updated_at": "2018-10-12T07:08:59Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429227268", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + } + }, + { + "author_association": "MEMBER", + "body": "Thanks again!\r\n\r\n> `cat filename| hadolint ...`\r\n\r\nThat unfortunately does not work (directly) when using a wrapper script to run hadolint in a Docker image (`exec /usr/bin/docker run --rm -i hadolint/hadolint hadolint \"${@:--}\"`).", + "created_at": "2018-10-12T11:29:09Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-429294778", + "id": 429294778, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDQyOTI5NDc3OA==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429294778/reactions" + }, + "updated_at": "2018-10-12T11:29:09Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429294778", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9766?v=4", + "events_url": "https://api.github.com/users/blueyed/events{/privacy}", + "followers_url": "https://api.github.com/users/blueyed/followers", + "following_url": "https://api.github.com/users/blueyed/following{/other_user}", + "gists_url": "https://api.github.com/users/blueyed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/blueyed", + "id": 9766, + "login": "blueyed", + "node_id": "MDQ6VXNlcjk3NjY=", + "organizations_url": "https://api.github.com/users/blueyed/orgs", + "received_events_url": "https://api.github.com/users/blueyed/received_events", + "repos_url": "https://api.github.com/users/blueyed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/blueyed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/blueyed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/blueyed" + } + }, + { + "author_association": "MEMBER", + "body": "Why not? does the container not contain bash or similar shell?", + "created_at": "2018-10-12T12:03:29Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-429302888", + "id": 429302888, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDQyOTMwMjg4OA==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429302888/reactions" + }, + "updated_at": "2018-10-12T12:03:29Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429302888", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + } + }, + { + "author_association": "MEMBER", + "body": "The file to be linted is outside of Docker.\r\nWhat appears to work though is using a mount to get the file into the container instead of using stdin:\r\n`/usr/bin/docker run --rm -i -v $PWD:/mnt hadolint/hadolint hadolint /mnt/Dockerfile`\r\nBut I think fixing hadolint itself to not require the pseudo file would be the best.", + "created_at": "2018-10-12T12:24:17Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-429307809", + "id": 429307809, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDQyOTMwNzgwOQ==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429307809/reactions" + }, + "updated_at": "2018-10-12T12:24:17Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429307809", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9766?v=4", + "events_url": "https://api.github.com/users/blueyed/events{/privacy}", + "followers_url": "https://api.github.com/users/blueyed/followers", + "following_url": "https://api.github.com/users/blueyed/following{/other_user}", + "gists_url": "https://api.github.com/users/blueyed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/blueyed", + "id": 9766, + "login": "blueyed", + "node_id": "MDQ6VXNlcjk3NjY=", + "organizations_url": "https://api.github.com/users/blueyed/orgs", + "received_events_url": "https://api.github.com/users/blueyed/received_events", + "repos_url": "https://api.github.com/users/blueyed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/blueyed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/blueyed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/blueyed" + } + }, + { + "author_association": "MEMBER", + "body": "The point here was to answer the question \"How can this be simulated, e.g. to test hadolint outside of Neovim with this?\", not solving the actual issue. But if that's still a question, `cat filename| /usr/bin/docker ...` I guess should work for this.", + "created_at": "2018-10-12T12:32:14Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-429309768", + "id": 429309768, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDQyOTMwOTc2OA==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429309768/reactions" + }, + "updated_at": "2018-10-12T12:32:14Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429309768", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + } + }, + { + "author_association": "MEMBER", + "body": "Ah.. with `cat Dockerfile | hadolint -` `/dev/stdin` is available though. I've thought that it would be related to how Neovim spawns the job, and could be simluated by some terminal option etc.\r\nI think it is fine for now, and I'll wait to feedback on the hadolint issue to use the fd directly.", + "created_at": "2018-10-12T12:53:46Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-429315347", + "id": 429315347, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDQyOTMxNTM0Nw==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429315347/reactions" + }, + "updated_at": "2018-10-12T12:53:46Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/429315347", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9766?v=4", + "events_url": "https://api.github.com/users/blueyed/events{/privacy}", + "followers_url": "https://api.github.com/users/blueyed/followers", + "following_url": "https://api.github.com/users/blueyed/following{/other_user}", + "gists_url": "https://api.github.com/users/blueyed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/blueyed", + "id": 9766, + "login": "blueyed", + "node_id": "MDQ6VXNlcjk3NjY=", + "organizations_url": "https://api.github.com/users/blueyed/orgs", + "received_events_url": "https://api.github.com/users/blueyed/received_events", + "repos_url": "https://api.github.com/users/blueyed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/blueyed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/blueyed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/blueyed" + } + }, + { + "author_association": "MEMBER", + "body": "Gave it a shot in https://github.com/neovim/neovim/pull/10557.", + "created_at": "2019-07-20T23:15:30Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-513505858", + "id": 513505858, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDUxMzUwNTg1OA==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 1, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/513505858/reactions" + }, + "updated_at": "2019-07-20T23:15:30Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/513505858", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9766?v=4", + "events_url": "https://api.github.com/users/blueyed/events{/privacy}", + "followers_url": "https://api.github.com/users/blueyed/followers", + "following_url": "https://api.github.com/users/blueyed/following{/other_user}", + "gists_url": "https://api.github.com/users/blueyed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/blueyed", + "id": 9766, + "login": "blueyed", + "node_id": "MDQ6VXNlcjk3NjY=", + "organizations_url": "https://api.github.com/users/blueyed/orgs", + "received_events_url": "https://api.github.com/users/blueyed/received_events", + "repos_url": "https://api.github.com/users/blueyed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/blueyed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/blueyed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/blueyed" + } + }, + { + "author_association": "NONE", + "body": "I was trying to put together a way to pipe my buffer into a binary and render the result in a terminal, but turns out not being able to control the echo ruins the use case, so I'm pretty excited about this issue! :)\r\n\r\nMy specific usecase (not dissimilar to the examples mentioned above):\r\n\r\n```vim\r\nlet bufid = bufnr('%') | new | let id = termopen('mdcat') | call chansend(id, getbufline(bufid, 1, '$') + [\"\\r\", \"\\004\"])\r\n```\r\n\r\nmdcat takes some markdown and renders it using a bunch of ansi escape codes in a terminal. Right now I get the stdin echo prefacing mdcat's output which is unfortunate and difficult to work around. Tried to do all kinds of `stty -echo` trickery, but wasn't able to make it work nicely. Of course one could save it as a file and pass the path, but that's no fun! :)\r\n", + "created_at": "2020-09-04T20:10:11Z", + "html_url": "https://github.com/neovim/neovim/issues/9107#issuecomment-687357883", + "id": 687357883, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "node_id": "MDEyOklzc3VlQ29tbWVudDY4NzM1Nzg4Mw==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/687357883/reactions" + }, + "updated_at": "2020-09-04T20:10:44Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/687357883", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6292?v=4", + "events_url": "https://api.github.com/users/shazow/events{/privacy}", + "followers_url": "https://api.github.com/users/shazow/followers", + "following_url": "https://api.github.com/users/shazow/following{/other_user}", + "gists_url": "https://api.github.com/users/shazow/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/shazow", + "id": 6292, + "login": "shazow", + "node_id": "MDQ6VXNlcjYyOTI=", + "organizations_url": "https://api.github.com/users/shazow/orgs", + "received_events_url": "https://api.github.com/users/shazow/received_events", + "repos_url": "https://api.github.com/users/shazow/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/shazow/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/shazow/subscriptions", + "type": "User", + "url": "https://api.github.com/users/shazow" + } + } + ], + "comments": 24, + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/9107/comments", + "created_at": "2018-10-11T14:02:02Z", + "events_url": "https://api.github.com/repos/neovim/neovim/issues/9107/events", + "html_url": "https://github.com/neovim/neovim/issues/9107", + "id": 369136687, + "labels": [ + { + "color": "c2e0c6", + "default": true, + "description": "feature request", + "id": 77997476, + "name": "enhancement", + "node_id": "MDU6TGFiZWw3Nzk5NzQ3Ng==", + "url": "https://api.github.com/repos/neovim/neovim/labels/enhancement" + }, + { + "color": "c5def5", + "default": false, + "description": "built-in :terminal or :shell", + "id": 212696822, + "name": "terminal", + "node_id": "MDU6TGFiZWwyMTI2OTY4MjI=", + "url": "https://api.github.com/repos/neovim/neovim/labels/terminal" + }, + { + "color": "c5def5", + "default": false, + "description": null, + "id": 694783760, + "name": "channel", + "node_id": "MDU6TGFiZWw2OTQ3ODM3NjA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/channel" + }, + { + "color": "c5def5", + "default": false, + "description": null, + "id": 713599092, + "name": "system", + "node_id": "MDU6TGFiZWw3MTM1OTkwOTI=", + "url": "https://api.github.com/repos/neovim/neovim/labels/system" + } + ], + "labels_url": "https://api.github.com/repos/neovim/neovim/issues/9107/labels{/name}", + "locked": false, + "milestone": { + "closed_at": null, + "closed_issues": 278, + "created_at": "2023-02-02T14:11:43Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + "description": "", + "due_on": "2024-03-01T08:00:00Z", + "html_url": "https://github.com/neovim/neovim/milestone/36", + "id": 8997654, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", + "node_id": "MI_kwDOAPphoM4AiUsW", + "number": 36, + "open_issues": 138, + "state": "open", + "title": "0.10", + "updated_at": "2024-02-05T21:59:25Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/36" + }, + "node_id": "MDU6SXNzdWUzNjkxMzY2ODc=", + "number": 9107, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/9107/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/neovim", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/9107/timeline", + "title": "pty: add options to control input buffering and echo", + "updated_at": "2024-02-05T00:49:32Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/9107", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9766?v=4", + "events_url": "https://api.github.com/users/blueyed/events{/privacy}", + "followers_url": "https://api.github.com/users/blueyed/followers", + "following_url": "https://api.github.com/users/blueyed/following{/other_user}", + "gists_url": "https://api.github.com/users/blueyed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/blueyed", + "id": 9766, + "login": "blueyed", + "node_id": "MDQ6VXNlcjk3NjY=", + "organizations_url": "https://api.github.com/users/blueyed/orgs", + "received_events_url": "https://api.github.com/users/blueyed/received_events", + "repos_url": "https://api.github.com/users/blueyed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/blueyed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/blueyed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/blueyed" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/14306.json b/repositories/neovim/pulls/14306.json new file mode 100644 index 00000000..e52a8429 --- /dev/null +++ b/repositories/neovim/pulls/14306.json @@ -0,0 +1,1337 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/14306/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/14306/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/14306" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/14306" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/14306/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/14306" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/a4c60c4565cd1bad80a37a0fcebfa971e1538a9e" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "FIRST_TIME_CONTRIBUTOR", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "b4fbb9dcf2752d95b9be335d99b0c55efb5f17de", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Will resolve https://github.com/neovim/neovim/issues/12836. Ready for comments now.", + "closed_at": null, + "comment_data": [ + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/14306#discussion_r780513591" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/14306" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/780513591" + } + }, + "author_association": "CONTRIBUTOR", + "body": "This is out of date with the new handler signature.", + "commit_id": "a4c60c4565cd1bad80a37a0fcebfa971e1538a9e", + "created_at": "2022-01-07T20:33:16Z", + "diff_hunk": "@@ -384,6 +384,12 @@ local make_call_hierarchy_handler = function(direction)\n end\n end\n \n+--see https://microsoft.github.io/language-server-protocol/specifications/specification-current/#textDocument_foldingRange\n+M['textDocument/foldingRange'] = function(_, _, result, _, bufnr, _)", + "html_url": "https://github.com/neovim/neovim/pull/14306#discussion_r780513591", + "id": 780513591, + "line": null, + "node_id": "PRRC_kwDOAPphoM4uhbE3", + "original_commit_id": "c05e6438972f6b39fa811a69b3a18e5cb93cde99", + "original_line": 388, + "original_position": 5, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/handlers.lua", + "position": null, + "pull_request_review_id": 846973377, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/14306", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/780513591/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2022-01-07T20:33:17Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/780513591", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/13316262?v=4", + "events_url": "https://api.github.com/users/mjlbach/events{/privacy}", + "followers_url": "https://api.github.com/users/mjlbach/followers", + "following_url": "https://api.github.com/users/mjlbach/following{/other_user}", + "gists_url": "https://api.github.com/users/mjlbach/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/mjlbach", + "id": 13316262, + "login": "mjlbach", + "node_id": "MDQ6VXNlcjEzMzE2MjYy", + "organizations_url": "https://api.github.com/users/mjlbach/orgs", + "received_events_url": "https://api.github.com/users/mjlbach/received_events", + "repos_url": "https://api.github.com/users/mjlbach/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/mjlbach/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mjlbach/subscriptions", + "type": "User", + "url": "https://api.github.com/users/mjlbach" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/14306#discussion_r780527237" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/14306" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/780527237" + } + }, + "author_association": "NONE", + "body": "Should be fixed now.", + "commit_id": "a4c60c4565cd1bad80a37a0fcebfa971e1538a9e", + "created_at": "2022-01-07T21:02:09Z", + "diff_hunk": "@@ -384,6 +384,12 @@ local make_call_hierarchy_handler = function(direction)\n end\n end\n \n+--see https://microsoft.github.io/language-server-protocol/specifications/specification-current/#textDocument_foldingRange\n+M['textDocument/foldingRange'] = function(_, _, result, _, bufnr, _)", + "html_url": "https://github.com/neovim/neovim/pull/14306#discussion_r780527237", + "id": 780527237, + "in_reply_to_id": 780513591, + "line": null, + "node_id": "PRRC_kwDOAPphoM4uheaF", + "original_commit_id": "c05e6438972f6b39fa811a69b3a18e5cb93cde99", + "original_line": 388, + "original_position": 5, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/handlers.lua", + "position": null, + "pull_request_review_id": 846992804, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/14306", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/780527237/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2022-01-07T21:02:09Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/780527237", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/27856735?v=4", + "events_url": "https://api.github.com/users/w4v3/events{/privacy}", + "followers_url": "https://api.github.com/users/w4v3/followers", + "following_url": "https://api.github.com/users/w4v3/following{/other_user}", + "gists_url": "https://api.github.com/users/w4v3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/w4v3", + "id": 27856735, + "login": "w4v3", + "node_id": "MDQ6VXNlcjI3ODU2NzM1", + "organizations_url": "https://api.github.com/users/w4v3/orgs", + "received_events_url": "https://api.github.com/users/w4v3/received_events", + "repos_url": "https://api.github.com/users/w4v3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/w4v3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/w4v3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/w4v3" + } + } + ], + "comment_regular_data": [ + { + "author_association": "NONE", + "body": "I have a few questions:\r\n\r\n1. What is the desired way in which the user should interact with this feature? Currently, `vim.lsp.buf.document_fold()` issues a `textDocument/foldingRange` request, which upon completion sets the `foldexpr` and `foldmethod` to update the folds. The function `vim.lsp.buf.foldexpr()` exposes the data from the last such request in the form required for `foldexpr`. This means that setting `foldexpr` to `vim.lsp.buf.foldexpr()` directly is relatively useless since it does not issue a request to receive the updated folds, and also `vim.lsp.buf.document_fold()` blindly overrides the window-local user settings of `foldexpr`/`foldmethod`. For me this leads to the experience I would expect, at least for `vim.lsp.buf.document_fold()`, but there might be better ways to handle this.\r\n2. https://github.com/prabirshrestha/vim-lsp/blob/master/autoload/lsp/ui/vim/folding.vim uses textprops to remember the locations of the lines at the time the request was issued, in case the user makes changes before the request is completed. I have not implemented this; should I? Personally I just bind `vim.lsp.buf.document_fold()` to an `autocmd InsertLeave` and don't care about temporarily incorrect folds since they are inevitable anyways.\r\n3. Is it necessary to deal with the possibility that the request is used on multiple servers, returning different fold ranges?", + "created_at": "2021-04-07T10:00:17Z", + "html_url": "https://github.com/neovim/neovim/pull/14306#issuecomment-814782974", + "id": 814782974, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/14306", + "node_id": "MDEyOklzc3VlQ29tbWVudDgxNDc4Mjk3NA==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/814782974/reactions" + }, + "updated_at": "2021-04-07T10:00:17Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/814782974", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/27856735?v=4", + "events_url": "https://api.github.com/users/w4v3/events{/privacy}", + "followers_url": "https://api.github.com/users/w4v3/followers", + "following_url": "https://api.github.com/users/w4v3/following{/other_user}", + "gists_url": "https://api.github.com/users/w4v3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/w4v3", + "id": 27856735, + "login": "w4v3", + "node_id": "MDQ6VXNlcjI3ODU2NzM1", + "organizations_url": "https://api.github.com/users/w4v3/orgs", + "received_events_url": "https://api.github.com/users/w4v3/received_events", + "repos_url": "https://api.github.com/users/w4v3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/w4v3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/w4v3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/w4v3" + } + }, + { + "author_association": "MEMBER", + "body": "Just out of curiosity, doesn't this have the same problem as we at nvim-treesitter have with tree-sitter folding, that we can only fold on LSP/tree-sitter buffers but foldexpr/foldmethod is a window option and the window might switch to a non-LSP/tree-sitter buffer.", + "created_at": "2021-04-07T10:39:41Z", + "html_url": "https://github.com/neovim/neovim/pull/14306#issuecomment-814806855", + "id": 814806855, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/14306", + "node_id": "MDEyOklzc3VlQ29tbWVudDgxNDgwNjg1NQ==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/814806855/reactions" + }, + "updated_at": "2021-04-07T10:39:41Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/814806855", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7189118?v=4", + "events_url": "https://api.github.com/users/theHamsta/events{/privacy}", + "followers_url": "https://api.github.com/users/theHamsta/followers", + "following_url": "https://api.github.com/users/theHamsta/following{/other_user}", + "gists_url": "https://api.github.com/users/theHamsta/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/theHamsta", + "id": 7189118, + "login": "theHamsta", + "node_id": "MDQ6VXNlcjcxODkxMTg=", + "organizations_url": "https://api.github.com/users/theHamsta/orgs", + "received_events_url": "https://api.github.com/users/theHamsta/received_events", + "repos_url": "https://api.github.com/users/theHamsta/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/theHamsta/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/theHamsta/subscriptions", + "type": "User", + "url": "https://api.github.com/users/theHamsta" + } + }, + { + "author_association": "NONE", + "body": "The fold information is stored with the buffer number of the buffer the `document_fold` method was called on. The options are then set for all windows associated with the buffer, but the `foldexpr` only returns non-zero values if there are entries for the current buffer. Unless I'm missing something, the only problem arising from this is that when the user switches to a different buffer, the `foldmethod` is still set to `\"expr\"` rather than what it was before. Or can it happen somehow that `vim.lsp.buf` is not available for some newly opened buffer?", + "created_at": "2021-04-07T11:26:37Z", + "html_url": "https://github.com/neovim/neovim/pull/14306#issuecomment-814834484", + "id": 814834484, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/14306", + "node_id": "MDEyOklzc3VlQ29tbWVudDgxNDgzNDQ4NA==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/814834484/reactions" + }, + "updated_at": "2021-04-07T11:26:37Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/814834484", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/27856735?v=4", + "events_url": "https://api.github.com/users/w4v3/events{/privacy}", + "followers_url": "https://api.github.com/users/w4v3/followers", + "following_url": "https://api.github.com/users/w4v3/following{/other_user}", + "gists_url": "https://api.github.com/users/w4v3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/w4v3", + "id": 27856735, + "login": "w4v3", + "node_id": "MDQ6VXNlcjI3ODU2NzM1", + "organizations_url": "https://api.github.com/users/w4v3/orgs", + "received_events_url": "https://api.github.com/users/w4v3/received_events", + "repos_url": "https://api.github.com/users/w4v3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/w4v3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/w4v3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/w4v3" + } + }, + { + "author_association": "MEMBER", + "body": "> foldmethod is still set to \"expr\" rather than what it was before.\r\n\r\nThis is the issue I was referring to. But this is rather an inherent problem of `foldmethod`", + "created_at": "2021-04-07T11:29:50Z", + "html_url": "https://github.com/neovim/neovim/pull/14306#issuecomment-814837186", + "id": 814837186, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/14306", + "node_id": "MDEyOklzc3VlQ29tbWVudDgxNDgzNzE4Ng==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/814837186/reactions" + }, + "updated_at": "2021-04-07T11:29:50Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/814837186", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7189118?v=4", + "events_url": "https://api.github.com/users/theHamsta/events{/privacy}", + "followers_url": "https://api.github.com/users/theHamsta/followers", + "following_url": "https://api.github.com/users/theHamsta/following{/other_user}", + "gists_url": "https://api.github.com/users/theHamsta/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/theHamsta", + "id": 7189118, + "login": "theHamsta", + "node_id": "MDQ6VXNlcjcxODkxMTg=", + "organizations_url": "https://api.github.com/users/theHamsta/orgs", + "received_events_url": "https://api.github.com/users/theHamsta/received_events", + "repos_url": "https://api.github.com/users/theHamsta/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/theHamsta/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/theHamsta/subscriptions", + "type": "User", + "url": "https://api.github.com/users/theHamsta" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Couldn't we add an autocommand or something to change the fold method based on buffer id? I guess the solution would be to make foldmethod buffer local in the long term.", + "created_at": "2021-04-07T16:28:05Z", + "html_url": "https://github.com/neovim/neovim/pull/14306#issuecomment-815051752", + "id": 815051752, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/14306", + "node_id": "MDEyOklzc3VlQ29tbWVudDgxNTA1MTc1Mg==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/815051752/reactions" + }, + "updated_at": "2021-04-07T16:28:05Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/815051752", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/13316262?v=4", + "events_url": "https://api.github.com/users/mjlbach/events{/privacy}", + "followers_url": "https://api.github.com/users/mjlbach/followers", + "following_url": "https://api.github.com/users/mjlbach/following{/other_user}", + "gists_url": "https://api.github.com/users/mjlbach/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/mjlbach", + "id": 13316262, + "login": "mjlbach", + "node_id": "MDQ6VXNlcjEzMzE2MjYy", + "organizations_url": "https://api.github.com/users/mjlbach/orgs", + "received_events_url": "https://api.github.com/users/mjlbach/received_events", + "repos_url": "https://api.github.com/users/mjlbach/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/mjlbach/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mjlbach/subscriptions", + "type": "User", + "url": "https://api.github.com/users/mjlbach" + } + }, + { + "author_association": "NONE", + "body": "What should that look like exactly? One possibility would be to add an option for the user to make these options generally window local or buffer local. This would be compatible and keep the behavior consistent, but also a somewhat strange option to have. Or do you mean that it should only be buffer local if LSP folding is used? One could also add \"lsp\" as a possible value to `foldmethod`, in which case `foldexpr` should be ignored (and therefore the user setting of `foldexpr` is preserved) and the user would trigger folding by `setlocal foldmethod=lsp`, so that control over the locality of these options is again in their hand. It would also eliminate the need to expose the LSP `foldexpr`, which should not be used directly anyways, and one could integrate the invocations of the LSP folding procedure more tightly.", + "created_at": "2021-04-08T10:02:37Z", + "html_url": "https://github.com/neovim/neovim/pull/14306#issuecomment-815630838", + "id": 815630838, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/14306", + "node_id": "MDEyOklzc3VlQ29tbWVudDgxNTYzMDgzOA==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/815630838/reactions" + }, + "updated_at": "2021-04-08T10:02:37Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/815630838", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/27856735?v=4", + "events_url": "https://api.github.com/users/w4v3/events{/privacy}", + "followers_url": "https://api.github.com/users/w4v3/followers", + "following_url": "https://api.github.com/users/w4v3/following{/other_user}", + "gists_url": "https://api.github.com/users/w4v3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/w4v3", + "id": 27856735, + "login": "w4v3", + "node_id": "MDQ6VXNlcjI3ODU2NzM1", + "organizations_url": "https://api.github.com/users/w4v3/orgs", + "received_events_url": "https://api.github.com/users/w4v3/received_events", + "repos_url": "https://api.github.com/users/w4v3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/w4v3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/w4v3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/w4v3" + } + }, + { + "author_association": "NONE", + "body": "So what should I do next; should I explicitly request a review and if so, how?", + "created_at": "2021-04-10T07:04:28Z", + "html_url": "https://github.com/neovim/neovim/pull/14306#issuecomment-817091310", + "id": 817091310, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/14306", + "node_id": "MDEyOklzc3VlQ29tbWVudDgxNzA5MTMxMA==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/817091310/reactions" + }, + "updated_at": "2021-04-10T07:04:28Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/817091310", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/27856735?v=4", + "events_url": "https://api.github.com/users/w4v3/events{/privacy}", + "followers_url": "https://api.github.com/users/w4v3/followers", + "following_url": "https://api.github.com/users/w4v3/following{/other_user}", + "gists_url": "https://api.github.com/users/w4v3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/w4v3", + "id": 27856735, + "login": "w4v3", + "node_id": "MDQ6VXNlcjI3ODU2NzM1", + "organizations_url": "https://api.github.com/users/w4v3/orgs", + "received_events_url": "https://api.github.com/users/w4v3/received_events", + "repos_url": "https://api.github.com/users/w4v3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/w4v3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/w4v3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/w4v3" + } + }, + { + "author_association": "NONE", + "body": "Maybe since @tjdevries is assigned to the issue, can you review my code or otherwise direct me?", + "created_at": "2021-04-15T10:11:55Z", + "html_url": "https://github.com/neovim/neovim/pull/14306#issuecomment-820306842", + "id": 820306842, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/14306", + "node_id": "MDEyOklzc3VlQ29tbWVudDgyMDMwNjg0Mg==", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/820306842/reactions" + }, + "updated_at": "2021-04-15T10:11:55Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/820306842", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/27856735?v=4", + "events_url": "https://api.github.com/users/w4v3/events{/privacy}", + "followers_url": "https://api.github.com/users/w4v3/followers", + "following_url": "https://api.github.com/users/w4v3/following{/other_user}", + "gists_url": "https://api.github.com/users/w4v3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/w4v3", + "id": 27856735, + "login": "w4v3", + "node_id": "MDQ6VXNlcjI3ODU2NzM1", + "organizations_url": "https://api.github.com/users/w4v3/orgs", + "received_events_url": "https://api.github.com/users/w4v3/received_events", + "repos_url": "https://api.github.com/users/w4v3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/w4v3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/w4v3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/w4v3" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "I'm ok merging this with the limitations of foldmethod in mind, but I think we should create a new tracking issue for a buffer local implementation of foldmethod. We could hypothetically unmap foldexpr on BufLeave. Basically the logic would be:\r\n\r\nif BufLeave, set up an autocmd on BufEnter that unmaps the foldexpr for the window if the same language server is not attached to the window.", + "created_at": "2022-01-07T20:43:42Z", + "html_url": "https://github.com/neovim/neovim/pull/14306#issuecomment-1007728088", + "id": 1007728088, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/14306", + "node_id": "IC_kwDOAPphoM48ELXY", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1007728088/reactions" + }, + "updated_at": "2022-01-07T20:43:42Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1007728088", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/13316262?v=4", + "events_url": "https://api.github.com/users/mjlbach/events{/privacy}", + "followers_url": "https://api.github.com/users/mjlbach/followers", + "following_url": "https://api.github.com/users/mjlbach/following{/other_user}", + "gists_url": "https://api.github.com/users/mjlbach/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/mjlbach", + "id": 13316262, + "login": "mjlbach", + "node_id": "MDQ6VXNlcjEzMzE2MjYy", + "organizations_url": "https://api.github.com/users/mjlbach/orgs", + "received_events_url": "https://api.github.com/users/mjlbach/received_events", + "repos_url": "https://api.github.com/users/mjlbach/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/mjlbach/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mjlbach/subscriptions", + "type": "User", + "url": "https://api.github.com/users/mjlbach" + } + }, + { + "author_association": "NONE", + "body": "@mjlbach I'm done then, could you merge it please? I've been happily using this feature for almost a year now but it would be great if I could have this without having to keep maintaining my fork.", + "created_at": "2022-01-07T21:37:18Z", + "html_url": "https://github.com/neovim/neovim/pull/14306#issuecomment-1007758142", + "id": 1007758142, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/14306", + "node_id": "IC_kwDOAPphoM48ESs-", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1007758142/reactions" + }, + "updated_at": "2022-01-07T21:37:18Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1007758142", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/27856735?v=4", + "events_url": "https://api.github.com/users/w4v3/events{/privacy}", + "followers_url": "https://api.github.com/users/w4v3/followers", + "following_url": "https://api.github.com/users/w4v3/following{/other_user}", + "gists_url": "https://api.github.com/users/w4v3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/w4v3", + "id": 27856735, + "login": "w4v3", + "node_id": "MDQ6VXNlcjI3ODU2NzM1", + "organizations_url": "https://api.github.com/users/w4v3/orgs", + "received_events_url": "https://api.github.com/users/w4v3/received_events", + "repos_url": "https://api.github.com/users/w4v3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/w4v3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/w4v3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/w4v3" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Let me tag Mathias for review, I think the logic looks ok. I'm a little bit concerned about:\r\n* the aforementioned conflict between windows, buffers, foldexpr (and my possible workaround)\r\n* multi-server conflicts\r\n* the caching mechanism that reset foldexpr on each evaluation", + "created_at": "2022-01-07T21:39:11Z", + "html_url": "https://github.com/neovim/neovim/pull/14306#issuecomment-1007759065", + "id": 1007759065, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/14306", + "node_id": "IC_kwDOAPphoM48ES7Z", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1007759065/reactions" + }, + "updated_at": "2022-01-07T21:39:11Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1007759065", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/13316262?v=4", + "events_url": "https://api.github.com/users/mjlbach/events{/privacy}", + "followers_url": "https://api.github.com/users/mjlbach/followers", + "following_url": "https://api.github.com/users/mjlbach/following{/other_user}", + "gists_url": "https://api.github.com/users/mjlbach/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/mjlbach", + "id": 13316262, + "login": "mjlbach", + "node_id": "MDQ6VXNlcjEzMzE2MjYy", + "organizations_url": "https://api.github.com/users/mjlbach/orgs", + "received_events_url": "https://api.github.com/users/mjlbach/received_events", + "repos_url": "https://api.github.com/users/mjlbach/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/mjlbach/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mjlbach/subscriptions", + "type": "User", + "url": "https://api.github.com/users/mjlbach" + } + }, + { + "author_association": "NONE", + "body": "> Let me tag Mathias for review, I think the logic looks ok. I'm a little bit concerned about:\r\n> \r\n> * the aforementioned conflict between windows, buffers, foldexpr (and my possible workaround)\r\n\r\nCouldn't the user put your workaround into their `init.vim` for now if they are unhappy with a window-local `foldmethod`? And what would be the benefit of solving this conflict before integrating this feature given that the conflict persists without the feature?\r\n> * multi-server conflicts\r\n\r\nIs there a preferred way for how I should deal with such conflicts? \r\n> * the caching mechanism that reset foldexpr on each evaluation\r\n\r\nDo you have an alternative suggestion for how to achieve the folds being updated once the response is received? How would you feel about the aforementioned possibility of an `lsp` option to `foldmethod`, which would ignore `foldexpr` and continuously and asynchronously update the folds? ", + "created_at": "2022-01-15T15:44:06Z", + "html_url": "https://github.com/neovim/neovim/pull/14306#issuecomment-1013703862", + "id": 1013703862, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/14306", + "node_id": "IC_kwDOAPphoM48a-S2", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1013703862/reactions" + }, + "updated_at": "2022-01-15T15:44:06Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1013703862", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/27856735?v=4", + "events_url": "https://api.github.com/users/w4v3/events{/privacy}", + "followers_url": "https://api.github.com/users/w4v3/followers", + "following_url": "https://api.github.com/users/w4v3/following{/other_user}", + "gists_url": "https://api.github.com/users/w4v3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/w4v3", + "id": 27856735, + "login": "w4v3", + "node_id": "MDQ6VXNlcjI3ODU2NzM1", + "organizations_url": "https://api.github.com/users/w4v3/orgs", + "received_events_url": "https://api.github.com/users/w4v3/received_events", + "repos_url": "https://api.github.com/users/w4v3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/w4v3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/w4v3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/w4v3" + } + }, + { + "author_association": "NONE", + "body": "> I think at the very least this would require some tests.\r\n\r\nCould you point me to where I would implement such tests? I can't find the tests for the other LSP handlers in the codebase.\r\n> But I'm also not sure if it is good to add 4 new public methods to the API. Ideally it would only expose the foldexpr and keep the remainder private.\r\n\r\nI think the user should be able to explicitly trigger document folding requests via `vim.lsp.buf.document_fold()`—I'd rather keep `vim.lsp.buf.foldexpr()` private since it's not automatically updated. I was also under the impression that `vim.lsp.util` contains many public functions that would be considered implementation details, so I didn't think providing those utilities would be problematic. Are you suggesting I move the logic from there into `vim.lsp.handlers`, from where I am currently calling these functions?\r\n\r\n> Not entirely sure how to make that happen. `foldexpr` could keep a cache internally and make a sync request the first time + register some autocmds to keep it updated async afterwards. Or depending on how often the foldexpr gets evaluated maybe it is even feasible to make sync requests all the time if the buffer got dirty inbetween?\r\n\r\nIn my experience making sync requests with `foldexpr` is way too slow for large files. I will look into implementing your first suggestion though.\r\n> And I think we should consider adding a buflocal foldexpr first to solve the mentioned issues with the window based foldexpr.\r\n\r\nSee my previous comment. Does this mean no extensions or changes to any part of neovim's folding mechanisms should be suggested before this issue is solved or in what way is this PR particularly affected by it?", + "created_at": "2022-01-15T16:09:27Z", + "html_url": "https://github.com/neovim/neovim/pull/14306#issuecomment-1013708122", + "id": 1013708122, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/14306", + "node_id": "IC_kwDOAPphoM48a_Va", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1013708122/reactions" + }, + "updated_at": "2022-01-15T16:09:27Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1013708122", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/27856735?v=4", + "events_url": "https://api.github.com/users/w4v3/events{/privacy}", + "followers_url": "https://api.github.com/users/w4v3/followers", + "following_url": "https://api.github.com/users/w4v3/following{/other_user}", + "gists_url": "https://api.github.com/users/w4v3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/w4v3", + "id": 27856735, + "login": "w4v3", + "node_id": "MDQ6VXNlcjI3ODU2NzM1", + "organizations_url": "https://api.github.com/users/w4v3/orgs", + "received_events_url": "https://api.github.com/users/w4v3/received_events", + "repos_url": "https://api.github.com/users/w4v3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/w4v3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/w4v3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/w4v3" + } + }, + { + "author_association": "MEMBER", + "body": "> Could you point me to where I would implement such tests? I can't find the tests for the other LSP handlers in the codebase.\r\n\r\nMost of the tests for the lsp module are in `./test/functional/plugin/lsp_spec.lua `\r\n\r\n> I think the user should be able to explicitly trigger document folding requests via vim.lsp.buf.document_fold()—I'd rather keep vim.lsp.buf.foldexpr() private since it's not automatically updated\r\n\r\nI'm not sure if it wouldn't be surprising that `document_fold()` implicitly changes the foldexpr as a side effect.\r\n\r\n> I was also under the impression that vim.lsp.util contains many public functions that would be considered implementation details, so I didn't think providing those utilities would be problematic\r\n\r\nThis is currently the case to some degree, but we're trying to reduce that as people end up using this functions and are then unhappy if we later change them.\r\n\r\n\r\n> In my experience making sync requests with foldexpr is way too slow for large files. I will look into implementing your first suggestion though.\r\n\r\nI suspected as much. That was the reason why I mentioned the caching.\r\n\r\n> Does this mean no extensions or changes to any part of neovim's folding mechanisms should be suggested before this issue is solved or in what way is this PR particularly affected by it?\r\n\r\nNo it doesn't mean that - but it means that we shouldn't merge something that we know has flaws which in the worst case may require breaking changes later on.\r\nWe should first lay the groundwork to solve these flaws.\r\n", + "created_at": "2022-02-04T16:00:36Z", + "html_url": "https://github.com/neovim/neovim/pull/14306#issuecomment-1030122018", + "id": 1030122018, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/14306", + "node_id": "IC_kwDOAPphoM49Zmoi", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1030122018/reactions" + }, + "updated_at": "2022-02-04T16:00:36Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1030122018", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38700?v=4", + "events_url": "https://api.github.com/users/mfussenegger/events{/privacy}", + "followers_url": "https://api.github.com/users/mfussenegger/followers", + "following_url": "https://api.github.com/users/mfussenegger/following{/other_user}", + "gists_url": "https://api.github.com/users/mfussenegger/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/mfussenegger", + "id": 38700, + "login": "mfussenegger", + "node_id": "MDQ6VXNlcjM4NzAw", + "organizations_url": "https://api.github.com/users/mfussenegger/orgs", + "received_events_url": "https://api.github.com/users/mfussenegger/received_events", + "repos_url": "https://api.github.com/users/mfussenegger/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/mfussenegger/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mfussenegger/subscriptions", + "type": "User", + "url": "https://api.github.com/users/mfussenegger" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Is there a tracking issue for making foldexpr/foldmethod buffer-local? I'd possibly be interested in trying to implement this. Seems like it is the main blocker for this PR", + "created_at": "2024-02-02T22:03:52Z", + "html_url": "https://github.com/neovim/neovim/pull/14306#issuecomment-1924770210", + "id": 1924770210, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/14306", + "node_id": "IC_kwDOAPphoM5yuami", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924770210/reactions" + }, + "updated_at": "2024-02-02T22:04:10Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924770210", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/13141438?v=4", + "events_url": "https://api.github.com/users/tom-anders/events{/privacy}", + "followers_url": "https://api.github.com/users/tom-anders/followers", + "following_url": "https://api.github.com/users/tom-anders/following{/other_user}", + "gists_url": "https://api.github.com/users/tom-anders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/tom-anders", + "id": 13141438, + "login": "tom-anders", + "node_id": "MDQ6VXNlcjEzMTQxNDM4", + "organizations_url": "https://api.github.com/users/tom-anders/orgs", + "received_events_url": "https://api.github.com/users/tom-anders/received_events", + "repos_url": "https://api.github.com/users/tom-anders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/tom-anders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom-anders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/tom-anders" + } + }, + { + "author_association": "MEMBER", + "body": "foldexpr is already window local and there are no plans to change this. Note window local options can be local to a specific buffer in a specific window (via `setlocal`) so they are already buffer local.", + "created_at": "2024-02-02T23:47:08Z", + "html_url": "https://github.com/neovim/neovim/pull/14306#issuecomment-1924912607", + "id": 1924912607, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/14306", + "node_id": "IC_kwDOAPphoM5yu9Xf", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924912607/reactions" + }, + "updated_at": "2024-02-02T23:47:08Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924912607", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "> foldexpr is already window local and there are no plans to change this. Note window local options can be local to a specific buffer in a specific window (via `setlocal`) so they are already buffer local.\r\n\r\nAh okay, then I misunderstood @mjlbach's comment here:\r\n\r\n> I'm ok merging this with the limitations of foldmethod in mind, but I think we should create a new tracking issue for a buffer local implementation of foldmethod.\r\n\r\n@w4v3 are you still working on this PR? Or should someone else take over possibly? ", + "created_at": "2024-02-03T08:03:13Z", + "html_url": "https://github.com/neovim/neovim/pull/14306#issuecomment-1925205780", + "id": 1925205780, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/14306", + "node_id": "IC_kwDOAPphoM5ywE8U", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925205780/reactions" + }, + "updated_at": "2024-02-03T08:03:36Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925205780", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/13141438?v=4", + "events_url": "https://api.github.com/users/tom-anders/events{/privacy}", + "followers_url": "https://api.github.com/users/tom-anders/followers", + "following_url": "https://api.github.com/users/tom-anders/following{/other_user}", + "gists_url": "https://api.github.com/users/tom-anders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/tom-anders", + "id": 13141438, + "login": "tom-anders", + "node_id": "MDQ6VXNlcjEzMTQxNDM4", + "organizations_url": "https://api.github.com/users/tom-anders/orgs", + "received_events_url": "https://api.github.com/users/tom-anders/received_events", + "repos_url": "https://api.github.com/users/tom-anders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/tom-anders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom-anders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/tom-anders" + } + }, + { + "author_association": "NONE", + "body": "> @w4v3 are you still working on this PR? Or should someone else take over possibly?\r\n\r\nI'm happy to work on getting this merged (i.e. resolving conflicts, writing tests, and a bit of restructuring) but I also thought that the window-local nature of foldexpr would stand in the way of this PR. I suppose I'll finish it up and then see what the maintainers decide.", + "created_at": "2024-02-03T08:34:38Z", + "html_url": "https://github.com/neovim/neovim/pull/14306#issuecomment-1925217477", + "id": 1925217477, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/14306", + "node_id": "IC_kwDOAPphoM5ywHzF", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925217477/reactions" + }, + "updated_at": "2024-02-03T08:34:38Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925217477", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/27856735?v=4", + "events_url": "https://api.github.com/users/w4v3/events{/privacy}", + "followers_url": "https://api.github.com/users/w4v3/followers", + "following_url": "https://api.github.com/users/w4v3/following{/other_user}", + "gists_url": "https://api.github.com/users/w4v3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/w4v3", + "id": 27856735, + "login": "w4v3", + "node_id": "MDQ6VXNlcjI3ODU2NzM1", + "organizations_url": "https://api.github.com/users/w4v3/orgs", + "received_events_url": "https://api.github.com/users/w4v3/received_events", + "repos_url": "https://api.github.com/users/w4v3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/w4v3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/w4v3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/w4v3" + } + }, + { + "author_association": "NONE", + "body": "As a reference, the plugin nvim-ufo [implements](https://github.com/kevinhwang91/nvim-ufo/blob/main/lua/ufo/provider/lsp/init.lua) support for this capability.", + "created_at": "2024-02-03T14:29:12Z", + "html_url": "https://github.com/neovim/neovim/pull/14306#issuecomment-1925343049", + "id": 1925343049, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/14306", + "node_id": "IC_kwDOAPphoM5ywmdJ", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925343049/reactions" + }, + "updated_at": "2024-02-03T14:29:12Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925343049", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/84649544?v=4", + "events_url": "https://api.github.com/users/igorlfs/events{/privacy}", + "followers_url": "https://api.github.com/users/igorlfs/followers", + "following_url": "https://api.github.com/users/igorlfs/following{/other_user}", + "gists_url": "https://api.github.com/users/igorlfs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/igorlfs", + "id": 84649544, + "login": "igorlfs", + "node_id": "MDQ6VXNlcjg0NjQ5NTQ0", + "organizations_url": "https://api.github.com/users/igorlfs/orgs", + "received_events_url": "https://api.github.com/users/igorlfs/received_events", + "repos_url": "https://api.github.com/users/igorlfs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/igorlfs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/igorlfs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/igorlfs" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/14306/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/14306/commits", + "created_at": "2021-04-06T21:45:27Z", + "diff_url": "https://github.com/neovim/neovim/pull/14306.diff", + "draft": false, + "head": { + "label": "w4v3:lsp-folding", + "ref": "lsp-folding", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/w4v3/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/w4v3/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/w4v3/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/w4v3/neovim/branches{/branch}", + "clone_url": "https://github.com/w4v3/neovim.git", + "collaborators_url": "https://api.github.com/repos/w4v3/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/w4v3/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/w4v3/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/w4v3/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/w4v3/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/w4v3/neovim/contributors", + "created_at": "2021-04-06T18:30:39Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/w4v3/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/w4v3/neovim/downloads", + "events_url": "https://api.github.com/repos/w4v3/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/w4v3/neovim/forks", + "full_name": "w4v3/neovim", + "git_commits_url": "https://api.github.com/repos/w4v3/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/w4v3/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/w4v3/neovim/git/tags{/sha}", + "git_url": "git://github.com/w4v3/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/w4v3/neovim/hooks", + "html_url": "https://github.com/w4v3/neovim", + "id": 355292239, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/w4v3/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/w4v3/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/w4v3/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/w4v3/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/w4v3/neovim/labels{/name}", + "language": null, + "languages_url": "https://api.github.com/repos/w4v3/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/w4v3/neovim/merges", + "milestones_url": "https://api.github.com/repos/w4v3/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkzNTUyOTIyMzk=", + "notifications_url": "https://api.github.com/repos/w4v3/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/27856735?v=4", + "events_url": "https://api.github.com/users/w4v3/events{/privacy}", + "followers_url": "https://api.github.com/users/w4v3/followers", + "following_url": "https://api.github.com/users/w4v3/following{/other_user}", + "gists_url": "https://api.github.com/users/w4v3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/w4v3", + "id": 27856735, + "login": "w4v3", + "node_id": "MDQ6VXNlcjI3ODU2NzM1", + "organizations_url": "https://api.github.com/users/w4v3/orgs", + "received_events_url": "https://api.github.com/users/w4v3/received_events", + "repos_url": "https://api.github.com/users/w4v3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/w4v3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/w4v3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/w4v3" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/w4v3/neovim/pulls{/number}", + "pushed_at": "2022-01-15T19:14:32Z", + "releases_url": "https://api.github.com/repos/w4v3/neovim/releases{/id}", + "size": 138375, + "ssh_url": "git@github.com:w4v3/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/w4v3/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/w4v3/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/w4v3/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/w4v3/neovim/subscription", + "svn_url": "https://github.com/w4v3/neovim", + "tags_url": "https://api.github.com/repos/w4v3/neovim/tags", + "teams_url": "https://api.github.com/repos/w4v3/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/w4v3/neovim/git/trees{/sha}", + "updated_at": "2021-04-06T18:30:40Z", + "url": "https://api.github.com/repos/w4v3/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "a4c60c4565cd1bad80a37a0fcebfa971e1538a9e", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/27856735?v=4", + "events_url": "https://api.github.com/users/w4v3/events{/privacy}", + "followers_url": "https://api.github.com/users/w4v3/followers", + "following_url": "https://api.github.com/users/w4v3/following{/other_user}", + "gists_url": "https://api.github.com/users/w4v3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/w4v3", + "id": 27856735, + "login": "w4v3", + "node_id": "MDQ6VXNlcjI3ODU2NzM1", + "organizations_url": "https://api.github.com/users/w4v3/orgs", + "received_events_url": "https://api.github.com/users/w4v3/received_events", + "repos_url": "https://api.github.com/users/w4v3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/w4v3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/w4v3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/w4v3" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/14306", + "id": 610188488, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/14306", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": null, + "id": 662566370, + "name": "lsp", + "node_id": "MDU6TGFiZWw2NjI1NjYzNzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/lsp" + } + ], + "locked": false, + "merge_commit_sha": "471987ae1b58d8d28d273b5476b5b70e911389aa", + "merged_at": null, + "milestone": null, + "node_id": "MDExOlB1bGxSZXF1ZXN0NjEwMTg4NDg4", + "number": 14306, + "patch_url": "https://github.com/neovim/neovim/pull/14306.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/14306/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/a4c60c4565cd1bad80a37a0fcebfa971e1538a9e", + "title": "Add textDocument/foldingRange capability to LSP client", + "updated_at": "2024-02-03T14:29:13Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/14306", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/27856735?v=4", + "events_url": "https://api.github.com/users/w4v3/events{/privacy}", + "followers_url": "https://api.github.com/users/w4v3/followers", + "following_url": "https://api.github.com/users/w4v3/following{/other_user}", + "gists_url": "https://api.github.com/users/w4v3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/w4v3", + "id": 27856735, + "login": "w4v3", + "node_id": "MDQ6VXNlcjI3ODU2NzM1", + "organizations_url": "https://api.github.com/users/w4v3/orgs", + "received_events_url": "https://api.github.com/users/w4v3/received_events", + "repos_url": "https://api.github.com/users/w4v3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/w4v3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/w4v3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/w4v3" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/15427.json b/repositories/neovim/pulls/15427.json index 1e3380cc..bcaf5a39 100644 --- a/repositories/neovim/pulls/15427.json +++ b/repositories/neovim/pulls/15427.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 4842, - "forks_count": 4842, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1667, - "open_issues_count": 1667, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2023-08-29T01:36:55Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 252523, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 68928, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2023-08-29T02:03:08Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 68928, - "watchers_count": 68928, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "3a876bd41b235065663c38b0d9f3bdc8868eebc4", @@ -990,9 +990,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/gpanders/neovim/pulls{/number}", - "pushed_at": "2023-08-28T15:35:18Z", + "pushed_at": "2024-02-03T03:47:01Z", "releases_url": "https://api.github.com/repos/gpanders/neovim/releases{/id}", - "size": 247980, + "size": 246409, "ssh_url": "git@github.com:gpanders/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/gpanders/neovim/stargazers", @@ -1050,7 +1050,43 @@ "locked": false, "merge_commit_sha": "cffdf102d4f01fe5675c389eb80bf55daa62697a", "merged_at": "2023-08-28T12:22:20Z", - "milestone": null, + "milestone": { + "closed_at": null, + "closed_issues": 278, + "created_at": "2023-02-02T14:11:43Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + "description": "", + "due_on": "2024-03-01T08:00:00Z", + "html_url": "https://github.com/neovim/neovim/milestone/36", + "id": 8997654, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", + "node_id": "MI_kwDOAPphoM4AiUsW", + "number": 36, + "open_issues": 138, + "state": "open", + "title": "0.10", + "updated_at": "2024-02-05T21:59:25Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/36" + }, "node_id": "MDExOlB1bGxSZXF1ZXN0NzE1OTAwMTYz", "number": 15427, "patch_url": "https://github.com/neovim/neovim/pull/15427.patch", @@ -1061,7 +1097,7 @@ "state": "closed", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/00d9edcf42c52edf45cc2fe0855d989203409206", "title": "feat(terminal): allow :terminal to take modifiers", - "updated_at": "2023-08-28T15:16:00Z", + "updated_at": "2024-01-31T22:46:29Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/15427", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", diff --git a/repositories/neovim/pulls/17543.json b/repositories/neovim/pulls/17543.json new file mode 100644 index 00000000..4c9d9993 --- /dev/null +++ b/repositories/neovim/pulls/17543.json @@ -0,0 +1,362 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/17543/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/17543/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/17543" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/17543" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/17543/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/17543" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/cbb323c84dff455a76d6a49d593cc02e5e8378fd" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "c65d93e60adcacded822f0ad5d539042e600f523", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "This is my first attempt at contributing here (please don't go too hard lol :D). I tried my hand at #17523, and it seems to do what is intended on mac/linux but I don't know how to handle windows.", + "closed_at": "2024-02-02T13:17:38Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/17543/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/17543/commits", + "created_at": "2022-02-27T19:16:40Z", + "diff_url": "https://github.com/neovim/neovim/pull/17543.diff", + "draft": false, + "head": { + "label": "Sammyalhashe:openWithQuickFixFromStdin", + "ref": "openWithQuickFixFromStdin", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/Sammyalhashe/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/Sammyalhashe/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/Sammyalhashe/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/Sammyalhashe/neovim/branches{/branch}", + "clone_url": "https://github.com/Sammyalhashe/neovim.git", + "collaborators_url": "https://api.github.com/repos/Sammyalhashe/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/Sammyalhashe/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/Sammyalhashe/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/Sammyalhashe/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/Sammyalhashe/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/Sammyalhashe/neovim/contributors", + "created_at": "2021-12-25T04:10:35Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/Sammyalhashe/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/Sammyalhashe/neovim/downloads", + "events_url": "https://api.github.com/repos/Sammyalhashe/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/Sammyalhashe/neovim/forks", + "full_name": "Sammyalhashe/neovim", + "git_commits_url": "https://api.github.com/repos/Sammyalhashe/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/Sammyalhashe/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/Sammyalhashe/neovim/git/tags{/sha}", + "git_url": "git://github.com/Sammyalhashe/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/Sammyalhashe/neovim/hooks", + "html_url": "https://github.com/Sammyalhashe/neovim", + "id": 441601491, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/Sammyalhashe/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/Sammyalhashe/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/Sammyalhashe/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/Sammyalhashe/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/Sammyalhashe/neovim/labels{/name}", + "language": null, + "languages_url": "https://api.github.com/repos/Sammyalhashe/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/Sammyalhashe/neovim/merges", + "milestones_url": "https://api.github.com/repos/Sammyalhashe/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOGlJN0w", + "notifications_url": "https://api.github.com/repos/Sammyalhashe/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/20797997?v=4", + "events_url": "https://api.github.com/users/Sammyalhashe/events{/privacy}", + "followers_url": "https://api.github.com/users/Sammyalhashe/followers", + "following_url": "https://api.github.com/users/Sammyalhashe/following{/other_user}", + "gists_url": "https://api.github.com/users/Sammyalhashe/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Sammyalhashe", + "id": 20797997, + "login": "Sammyalhashe", + "node_id": "MDQ6VXNlcjIwNzk3OTk3", + "organizations_url": "https://api.github.com/users/Sammyalhashe/orgs", + "received_events_url": "https://api.github.com/users/Sammyalhashe/received_events", + "repos_url": "https://api.github.com/users/Sammyalhashe/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Sammyalhashe/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Sammyalhashe/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Sammyalhashe" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/Sammyalhashe/neovim/pulls{/number}", + "pushed_at": "2022-02-27T19:13:49Z", + "releases_url": "https://api.github.com/repos/Sammyalhashe/neovim/releases{/id}", + "size": 147363, + "ssh_url": "git@github.com:Sammyalhashe/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/Sammyalhashe/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/Sammyalhashe/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/Sammyalhashe/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/Sammyalhashe/neovim/subscription", + "svn_url": "https://github.com/Sammyalhashe/neovim", + "tags_url": "https://api.github.com/repos/Sammyalhashe/neovim/tags", + "teams_url": "https://api.github.com/repos/Sammyalhashe/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/Sammyalhashe/neovim/git/trees{/sha}", + "updated_at": "2021-12-25T04:10:36Z", + "url": "https://api.github.com/repos/Sammyalhashe/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "cbb323c84dff455a76d6a49d593cc02e5e8378fd", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/20797997?v=4", + "events_url": "https://api.github.com/users/Sammyalhashe/events{/privacy}", + "followers_url": "https://api.github.com/users/Sammyalhashe/followers", + "following_url": "https://api.github.com/users/Sammyalhashe/following{/other_user}", + "gists_url": "https://api.github.com/users/Sammyalhashe/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Sammyalhashe", + "id": 20797997, + "login": "Sammyalhashe", + "node_id": "MDQ6VXNlcjIwNzk3OTk3", + "organizations_url": "https://api.github.com/users/Sammyalhashe/orgs", + "received_events_url": "https://api.github.com/users/Sammyalhashe/received_events", + "repos_url": "https://api.github.com/users/Sammyalhashe/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Sammyalhashe/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Sammyalhashe/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Sammyalhashe" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/17543", + "id": 866155597, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/17543", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "Nvim startup sequence (`:h startup`)", + "id": 870629450, + "name": "startup", + "node_id": "MDU6TGFiZWw4NzA2Mjk0NTA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/startup" + } + ], + "locked": false, + "merge_commit_sha": "a69825086eb89bf5b0502d839479fc4aa44b9187", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM4zoHxN", + "number": 17543, + "patch_url": "https://github.com/neovim/neovim/pull/17543.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/17543/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/cbb323c84dff455a76d6a49d593cc02e5e8378fd", + "title": "Open with quick fix from stdin - a first attempt.", + "updated_at": "2024-02-02T13:17:38Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/17543", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/20797997?v=4", + "events_url": "https://api.github.com/users/Sammyalhashe/events{/privacy}", + "followers_url": "https://api.github.com/users/Sammyalhashe/followers", + "following_url": "https://api.github.com/users/Sammyalhashe/following{/other_user}", + "gists_url": "https://api.github.com/users/Sammyalhashe/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Sammyalhashe", + "id": 20797997, + "login": "Sammyalhashe", + "node_id": "MDQ6VXNlcjIwNzk3OTk3", + "organizations_url": "https://api.github.com/users/Sammyalhashe/orgs", + "received_events_url": "https://api.github.com/users/Sammyalhashe/received_events", + "repos_url": "https://api.github.com/users/Sammyalhashe/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Sammyalhashe/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Sammyalhashe/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Sammyalhashe" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/20409.json b/repositories/neovim/pulls/20409.json new file mode 100644 index 00000000..384ae6b0 --- /dev/null +++ b/repositories/neovim/pulls/20409.json @@ -0,0 +1,362 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/20409/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/20409/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/20409" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/20409" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/20409/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/20409" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/37a1c0914d86d41b014a6264ff221a2356f5128e" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "5399513fd0808bbd5800c9ebf0e4bdefef99119d", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": null, + "closed_at": "2022-09-30T09:08:38Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/20409/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/20409/commits", + "created_at": "2022-09-30T08:47:19Z", + "diff_url": "https://github.com/neovim/neovim/pull/20409.diff", + "draft": false, + "head": { + "label": "bfredl:unicode-tables", + "ref": "unicode-tables", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/bfredl/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/bfredl/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/bfredl/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/bfredl/neovim/branches{/branch}", + "clone_url": "https://github.com/bfredl/neovim.git", + "collaborators_url": "https://api.github.com/repos/bfredl/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/bfredl/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/bfredl/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/bfredl/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/bfredl/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/bfredl/neovim/contributors", + "created_at": "2014-06-20T19:51:31Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/bfredl/neovim/deployments", + "description": "vim's rebirth for the 21st century", + "disabled": false, + "downloads_url": "https://api.github.com/repos/bfredl/neovim/downloads", + "events_url": "https://api.github.com/repos/bfredl/neovim/events", + "fork": true, + "forks": 1, + "forks_count": 1, + "forks_url": "https://api.github.com/repos/bfredl/neovim/forks", + "full_name": "bfredl/neovim", + "git_commits_url": "https://api.github.com/repos/bfredl/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/bfredl/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/bfredl/neovim/git/tags{/sha}", + "git_url": "git://github.com/bfredl/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "http://neovim.org/", + "hooks_url": "https://api.github.com/repos/bfredl/neovim/hooks", + "html_url": "https://github.com/bfredl/neovim", + "id": 21050434, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/bfredl/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/bfredl/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/bfredl/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/bfredl/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/bfredl/neovim/labels{/name}", + "language": "Vim script", + "languages_url": "https://api.github.com/repos/bfredl/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/bfredl/neovim/merges", + "milestones_url": "https://api.github.com/repos/bfredl/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkyMTA1MDQzNA==", + "notifications_url": "https://api.github.com/repos/bfredl/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/bfredl/neovim/pulls{/number}", + "pushed_at": "2024-02-01T11:54:02Z", + "releases_url": "https://api.github.com/repos/bfredl/neovim/releases{/id}", + "size": 254912, + "ssh_url": "git@github.com:bfredl/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/bfredl/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/bfredl/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/bfredl/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/bfredl/neovim/subscription", + "svn_url": "https://github.com/bfredl/neovim", + "tags_url": "https://api.github.com/repos/bfredl/neovim/tags", + "teams_url": "https://api.github.com/repos/bfredl/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/bfredl/neovim/git/trees{/sha}", + "updated_at": "2022-03-21T08:01:17Z", + "url": "https://api.github.com/repos/bfredl/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "37a1c0914d86d41b014a6264ff221a2356f5128e", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/20409", + "id": 1072399888, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/20409", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "(multibyte) unicode characters", + "id": 2882115256, + "name": "unicode 💩", + "node_id": "MDU6TGFiZWwyODgyMTE1MjU2", + "url": "https://api.github.com/repos/neovim/neovim/labels/unicode%20%20%F0%9F%92%A9" + } + ], + "locked": false, + "merge_commit_sha": "1839848808df035c61fd8a6cefc58cb240c35402", + "merged_at": "2022-09-30T09:08:38Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM4_64YQ", + "number": 20409, + "patch_url": "https://github.com/neovim/neovim/pull/20409.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/20409/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/37a1c0914d86d41b014a6264ff221a2356f5128e", + "title": "feat: update unicode tables", + "updated_at": "2024-02-03T03:42:33Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/20409", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/23461.json b/repositories/neovim/pulls/23461.json index d0c4df10..f4387cf4 100644 --- a/repositories/neovim/pulls/23461.json +++ b/repositories/neovim/pulls/23461.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 4866, - "forks_count": 4866, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1672, - "open_issues_count": 1672, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2023-09-16T01:27:58Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 246081, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 69411, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2023-09-16T01:26:16Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 69411, - "watchers_count": 69411, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "fe7cdc7cc0037bb41bd940bee7818a5235ffaa79", @@ -170,7 +170,7 @@ } }, "body": "This PR closes #23232. Implements `vim.net.fetch()` and `vim.net.download()`. Wraps CURL.\r\n\r\nI am asking everyone for their thoughts on the interface and implementation, I decided this would be a fun project to write over a few days.\r\n\r\nIt wraps curl's stdout, somewhat \"handles\" errors, and has some tests written. It is implemented in the best way I could think, please let me know if there is a smarter way to wrap curl.\r\n\r\nNot everything is fully covered in the tests, however ive made many requests using it and ironed out a ridiculous amount of bugs. Even with `vim.json.encod`'ing entire certificates its still somehow faster than netrw.\r\n\r\n### `vim.net.fetch()`\r\nAsynchronously make HTTP requests. I took some inspiration from Javascript's `fetch()`.\r\n\r\nIt is likely that it will have to be expanded to other protocols. It is also likely that some already work, but they are entirely untested.\r\n\r\n
\r\n Code Example\r\n \r\n```lua\r\n-- GET a url\r\nvim.net.fetch(\"https://example.com/api/data\", {\r\n on_complete = function (response)\r\n -- Lets read the response!\r\n\r\n if response.ok then\r\n -- Read response body\r\n local body = response.body()\r\n else\r\n end\r\n})\r\n\r\n-- POST to a url, sending a table as JSON and providing an authorization header\r\nvim.net.fetch(\"https://example.com/api/data\", {\r\n method = \"POST\",\r\n data = {\r\n key = value\r\n },\r\n headers = {\r\n Authorization = \"Bearer \" .. token\r\n },\r\n on_complete = function (response)\r\n -- Lets read the response!\r\n\r\n if response.ok then\r\n -- Read JSON response\r\n local table = response.json()\r\n else\r\n\r\n -- What went wrong?\r\n vim.print(response.status)\r\n end\r\n})\r\n\r\n```\r\n
\r\n\r\n### `vim.net.download()`\r\nAsynchronously download a file. To read the response metadata, such as headers and body, use `vi.net.fetch()`.\r\n\r\nShares a few options with `vim.net.fetch()`, but not all of them.\r\n\r\nIt is entirely possible that this function gets removed, as the `:edit URL` implementation saves the file contents to memory. (Unlike netrw's `wget` implementation).\r\n\r\n
\r\n Code Example\r\n\r\n```lua\r\n vim.net.download(\"https://.../path/file\", \"~/.cache/download/location\", {\r\n on_complete = function ()\r\n vim.notify(\"File Downloaded\", vim.log.levels.INFO)\r\n end\r\n })\r\n```\r\n\r\n
\r\n\r\n### `HeaderTable`\r\n\r\nHelper class to deal with header operations, both internal and external plugins can benefit from its methods. See `:help vim.net`. \r\n\r\n### `:e, :w, :[range]w!, :r URL`\r\n\r\nCurrently, this PR only handles `https://*,http://*,scp://*,ftp://*`. \r\n\r\n[Screencast from 2023-05-04 11-44-45.webm](https://user-images.githubusercontent.com/40532058/236091188-a1150780-b780-4789-b20c-eb7dd7045d52.webm)\r\n\r\n### **Benchmarks**\r\n\r\nUsing this command, we can benchmark the time it takes to \"read\" a readme. This isnt proper benchmark, more data is required, but I think it might be enough.\r\n\r\n```vim\r\n:let start_time = reltime() | edit https://raw.githubusercontent.com/neovim/neovim/master/README.md | let end_time = reltime() | echo reltimestr(reltime(start_time, end_time))\r\n```\r\n\r\n`nvim --clean` on **vim.net** it took about `0.08` seconds.\r\n\r\n![image](https://user-images.githubusercontent.com/40532058/235909157-0ceba42a-19a7-4831-9fe2-e82ea07394b4.png)\r\n\r\nStock `nvim --clean` on **master**.\r\n\r\n![image](https://user-images.githubusercontent.com/40532058/235908873-e7d6b111-1e97-424b-9f0b-3f04927e2463.png)\r\n\r\n`vim --clean` (for fun) (also showing that master is pretty similar)\r\n\r\n![image](https://user-images.githubusercontent.com/40532058/235909266-42918a8b-9d3f-421f-ad31-9acddaf83d5f.png)\r\n\r\n", - "closed_at": null, + "closed_at": "2024-02-02T23:09:34Z", "comment_data": [ { "_links": { @@ -3505,7 +3505,7 @@ } }, { - "author_association": "NONE", + "author_association": "CONTRIBUTOR", "body": "@mrshmllow I have a few suggestions about your implementation:\r\n\r\n1. `netrw`'s **BufReadCmd** autocmd triggers **BufReadPre** and **BufReadPost** autocmds, this solutions could do the same. _Why? see item 4._\r\n2. `netrw`'s **FileReadCmd** autocmd triggers **FileReadPre** and **FileReadPost** autocmds, this solutions could do the same. _Why? see item 4._\r\n3. `netrw`'s has **SourceCmd** autocmd implemented, it should not be that hard to do it here.\r\n4. There are some cases when I `gf` an URL and I have to add some custom header to the request, `netrw` has `g:netrw_http_xcmd` where I can customize the `curl` command to add the headers on **BufReadPre/FileReadPre** autocmd. This solution could add something similar but I don't like the idea of a global variable to manage that. **Suggestion:** This could be stored as a buffer variable, maybe even on the `HeaderTable` class like: `HeaderTable:new(bufnr)` and keep the storage as buffer variables.\r\n5. You don't have to change the `netrwPlugin.vim` file to disable it, you could:\r\n - Since `runtime/plugin/net.lua` is sourced before `runtime/plugin/net.lua` you can manually disable it with:\r\n ```lua\r\n vim.g.loaded_netrw = 1\r\n vim.g.loaded_netrwPlugin = 1\r\n ```\r\n - Or **not so pretty solution**: make sure `net.lua` is loaded after `netrwPlugin.vim` by renaming it to something like `netz.lua` and create the augroup with the same name as `netrw`'s, therefore overwriting it: `local id = vim.api.nvim_create_augroup('LuaNetwork', { clear = true, })`\r\n6. `vim.g.lua_net_ft_full` is not properly checking for `json` filetype, this PR could add the `json` check on `vim.filetype` or maybe introduce a `content_type` argument on `vim.filetype.match()` function.\r\n\r\nI could work on it and send you a PR if those changes if they make sense.", "created_at": "2023-08-29T19:50:30Z", "html_url": "https://github.com/neovim/neovim/pull/23461#issuecomment-1698038419", @@ -3736,7 +3736,7 @@ { "color": "c5def5", "default": false, - "description": null, + "description": "stdlib", "id": 573222693, "name": "lua", "node_id": "MDU6TGFiZWw1NzMyMjI2OTM=", @@ -3754,10 +3754,10 @@ "requested_teams": [], "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/23461/comments", - "state": "open", + "state": "closed", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/5d76fcb6e3fc1382c9b691c4b6f2b376e7894c42", "title": "feat(vim.net): `fetch()`, `download()`, and `:e URL` in lua", - "updated_at": "2023-09-15T10:32:43Z", + "updated_at": "2024-02-02T23:09:34Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/23461", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/40532058?v=4", diff --git a/repositories/neovim/pulls/23720.json b/repositories/neovim/pulls/23720.json index 0ed3fd05..ec73bdc8 100644 --- a/repositories/neovim/pulls/23720.json +++ b/repositories/neovim/pulls/23720.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/23720" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/891a7e81627bbd68da09697af1609fb7dbd507b7" + "href": "https://api.github.com/repos/neovim/neovim/statuses/b126e8de8d56f0915065012a10dc4574c9f92446" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5174, - "forks_count": 5174, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1735, - "open_issues_count": 1735, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-30T00:09:25Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251558, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 73268, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-30T01:30:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 73268, - "watchers_count": 73268, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, - "sha": "ca9f6f56949d66f0f6467fa64b215f861fe0a3bf", + "sha": "51702e0aea99fddba74e299e2640dd350a348df3", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -186,7 +186,7 @@ }, "author_association": "MEMBER", "body": "the comment is out of place now?", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-06-05T01:30:50Z", "diff_hunk": "@@ -1071,6 +1071,15 @@ void do_bang(int addr_count, exarg_T *eap, bool forceit, bool do_in, bool do_out\n } else { // :range!\n // Careful: This may recursively call do_bang() again! (because of\n // autocommands)", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1217327083", @@ -254,7 +254,7 @@ }, "author_association": "MEMBER", "body": "these tests would fit best in `test/functional/vimscript/system_spec.lua` , here: https://github.com/neovim/neovim/blob/28f1f65bb30768db3423dc6eb39b2d75dfaba326/test/functional/vimscript/system_spec.lua#L632", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-06-05T01:37:50Z", "diff_hunk": "@@ -50,4 +52,22 @@ describe('Ex cmds', function()\n eq(2, funcs.exists(':defer'))\n eq('defer', funcs.fullcommand('defer'))\n end)\n+\n+ it(':.! should pipe line buffer to &shell', function()", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1217331784", @@ -322,7 +322,7 @@ }, "author_association": "MEMBER", "body": "can use `[[` to avoid needing to escape stuff\r\n```suggestion\r\n insert([[find . 'src' -maxdepth 0 -type d;\\necho 'hello world';]])\r\n```", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-06-05T01:39:01Z", "diff_hunk": "@@ -50,4 +52,22 @@ describe('Ex cmds', function()\n eq(2, funcs.exists(':defer'))\n eq('defer', funcs.fullcommand('defer'))\n end)\n+\n+ it(':.! should pipe line buffer to &shell', function()\n+ if not helpers.has_powershell() then\n+ insert('find . \\'src\\' -maxdepth 0 -type d')\n+ command(':.!')\n+ local res = curbuf_contents()\n+ eq(res, '.\\nsrc')\n+ end\n+ end)\n+\n+ it(':%! should pipe buffer to &shell', function()\n+ if not helpers.has_powershell() then\n+ insert('find . \\'src\\' -maxdepth 0 -type d;\\necho \\'hello world\\';')", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1217332791", @@ -390,7 +390,7 @@ }, "author_association": "MEMBER", "body": "ideally we'd also have a powershell-specific assertion here, in a `else`", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-06-05T01:40:17Z", "diff_hunk": "@@ -50,4 +52,22 @@ describe('Ex cmds', function()\n eq(2, funcs.exists(':defer'))\n eq('defer', funcs.fullcommand('defer'))\n end)\n+\n+ it(':.! should pipe line buffer to &shell', function()\n+ if not helpers.has_powershell() then\n+ insert('find . \\'src\\' -maxdepth 0 -type d')\n+ command(':.!')\n+ local res = curbuf_contents()\n+ eq(res, '.\\nsrc')\n+ end\n+ end)\n+\n+ it(':%! should pipe buffer to &shell', function()\n+ if not helpers.has_powershell() then\n+ insert('find . \\'src\\' -maxdepth 0 -type d;\\necho \\'hello world\\';')", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1217333693", @@ -459,7 +459,7 @@ }, "author_association": "MEMBER", "body": "a small hint is high-leverage\r\n```suggestion\r\n if (strlen(newcmd) == 0 && p_sh != NULL) { // \":range!\" without command pipes to 'shell'.\r\n```", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-06-05T01:42:58Z", "diff_hunk": "@@ -1071,6 +1071,15 @@ void do_bang(int addr_count, exarg_T *eap, bool forceit, bool do_in, bool do_out\n } else { // :range!\n // Careful: This may recursively call do_bang() again! (because of\n // autocommands)\n+ if (strlen(newcmd) == 0 && p_sh != NULL) {", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1217335458", @@ -527,7 +527,7 @@ }, "author_association": "CONTRIBUTOR", "body": "I think I did not change this, but I will double check the position in the diffs.", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-06-21T14:28:09Z", "diff_hunk": "@@ -1071,6 +1071,15 @@ void do_bang(int addr_count, exarg_T *eap, bool forceit, bool do_in, bool do_out\n } else { // :range!\n // Careful: This may recursively call do_bang() again! (because of\n // autocommands)", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1237104729", @@ -596,7 +596,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Right, I will move them here ! Thanks for pointing me to this file.", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-06-21T14:30:03Z", "diff_hunk": "@@ -50,4 +52,22 @@ describe('Ex cmds', function()\n eq(2, funcs.exists(':defer'))\n eq('defer', funcs.fullcommand('defer'))\n end)\n+\n+ it(':.! should pipe line buffer to &shell', function()", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1237107468", @@ -665,7 +665,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Sure, I was under Linux when I wrote this, but I won't forget Windows.", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-06-21T14:31:07Z", "diff_hunk": "@@ -50,4 +52,22 @@ describe('Ex cmds', function()\n eq(2, funcs.exists(':defer'))\n eq('defer', funcs.fullcommand('defer'))\n end)\n+\n+ it(':.! should pipe line buffer to &shell', function()\n+ if not helpers.has_powershell() then\n+ insert('find . \\'src\\' -maxdepth 0 -type d')\n+ command(':.!')\n+ local res = curbuf_contents()\n+ eq(res, '.\\nsrc')\n+ end\n+ end)\n+\n+ it(':%! should pipe buffer to &shell', function()\n+ if not helpers.has_powershell() then\n+ insert('find . \\'src\\' -maxdepth 0 -type d;\\necho \\'hello world\\';')", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1237108863", @@ -734,7 +734,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Sure ! I will do this.", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-06-21T14:31:49Z", "diff_hunk": "@@ -50,4 +52,22 @@ describe('Ex cmds', function()\n eq(2, funcs.exists(':defer'))\n eq('defer', funcs.fullcommand('defer'))\n end)\n+\n+ it(':.! should pipe line buffer to &shell', function()\n+ if not helpers.has_powershell() then\n+ insert('find . \\'src\\' -maxdepth 0 -type d')\n+ command(':.!')\n+ local res = curbuf_contents()\n+ eq(res, '.\\nsrc')\n+ end\n+ end)\n+\n+ it(':%! should pipe buffer to &shell', function()\n+ if not helpers.has_powershell() then\n+ insert('find . \\'src\\' -maxdepth 0 -type d;\\necho \\'hello world\\';')", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1237110056", @@ -803,7 +803,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Agreed, this is done.", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-06-21T14:33:42Z", "diff_hunk": "@@ -1071,6 +1071,15 @@ void do_bang(int addr_count, exarg_T *eap, bool forceit, bool do_in, bool do_out\n } else { // :range!\n // Careful: This may recursively call do_bang() again! (because of\n // autocommands)\n+ if (strlen(newcmd) == 0 && p_sh != NULL) {", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1237112749", @@ -872,7 +872,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Quite sure I did not change this now, I added some code below.", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-06-21T16:14:41Z", "diff_hunk": "@@ -1071,6 +1071,15 @@ void do_bang(int addr_count, exarg_T *eap, bool forceit, bool do_in, bool do_out\n } else { // :range!\n // Careful: This may recursively call do_bang() again! (because of\n // autocommands)", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1237261798", @@ -941,7 +941,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n\t\t\tprogram {filter}. If {filter} is empty, use previous\r\n\t\t\t{filter} program, or 'shell' by default.\r\n```\r\n\r\nsimilar for the other case below", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-13T11:22:52Z", "diff_hunk": "@@ -539,29 +539,37 @@ with \".\". Vim does not recognize a comment (starting with '\"') after the\n \n \t\t\t\t\t\t\t*!*\n !{motion}{filter}\tFilter {motion} text lines through the external\n-\t\t\tprogram {filter}.\n+\t\t\tprogram {filter}. If {filter} is empty, use previously\n+\t\t\t{filter} program. {filter} is initially set to 'shell'\n+\t\t\tby default on startup.", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1324365737", @@ -1009,7 +1009,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n\t\t\t{filter} (or 'shell' by default).\r\n```", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-13T11:25:36Z", "diff_hunk": "@@ -539,29 +539,37 @@ with \".\". Vim does not recognize a comment (starting with '\"') after the\n \n \t\t\t\t\t\t\t*!*\n !{motion}{filter}\tFilter {motion} text lines through the external\n-\t\t\tprogram {filter}.\n+\t\t\tprogram {filter}. If {filter} is empty, use previously\n+\t\t\t{filter} program. {filter} is initially set to 'shell'\n+\t\t\tby default on startup.\n \n \t\t\t\t\t\t\t*!!*\n !!{filter}\t\tFilter [count] lines through the external program\n-\t\t\t{filter}.\n+\t\t\tprogram {filter}. If {filter} is empty, use previously\n+\t\t\t{filter} program. {filter} is initially set to 'shell'\n+\t\t\tby default on startup.\n \n \t\t\t\t\t\t\t*v_!*\n {Visual}!{filter}\tFilter the highlighted lines through the external\n-\t\t\tprogram {filter} (for {Visual} see |Visual-mode|).\n+\t\t\tprogram {filter} (for {Visual} see |Visual-mode|). If\n+\t\t\t{filter} is empty, use previously {filter} program.\n+\t\t\t{filter} is initially set to 'shell' by default on\n+\t\t\tstartup.\n \n :{range}![!]{filter} [!][arg]\t\t\t\t*:range!*\n \t\t\tFilter {range} lines through the external program\n-\t\t\t{filter}. Vim replaces the optional bangs with the\n-\t\t\tlatest given command and appends the optional [arg].\n-\t\t\tVim saves the output of the filter command in a\n+\t\t\t{filter}. If no {filter} program is given, the latter", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1324368562", @@ -1077,7 +1077,7 @@ }, "author_association": "MEMBER", "body": "Mentioning \"on startup\" in all of these docs is somewhat confusing and definitely unnecessary since it's an implementation detail. It's merely \"the default\".\r\n\r\n```suggestion\r\n• |:range!| pipes by default to |'shell'| if a {filter} external\r\n```", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-13T11:28:01Z", "diff_hunk": "@@ -230,6 +230,10 @@ The following changes to existing APIs or features add new behavior.\n In addition, |nvim_buf_get_extmarks()| has gained an \"overlap\" option to\n return such ranges even if they started before the specified position.\n \n+• |:range!| now pipe by default to |'shell'| on startup if a {filter} external", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1324370974", @@ -1145,7 +1145,7 @@ }, "author_association": "MEMBER", "body": "This is confusing to mention in the news since it's not new. Users can find the details by visiting the docs.\r\n\r\n```suggestion\r\n program is not given.\r\n```", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-13T11:28:42Z", "diff_hunk": "@@ -230,6 +230,10 @@ The following changes to existing APIs or features add new behavior.\n In addition, |nvim_buf_get_extmarks()| has gained an \"overlap\" option to\n return such ranges even if they started before the specified position.\n \n+• |:range!| now pipe by default to |'shell'| on startup if a {filter} external\n+ program is not given. But if given, the latter is remembered.", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1324371640", @@ -1213,7 +1213,7 @@ }, "author_association": "MEMBER", "body": "Options don't need `|`.\r\n\r\n```suggestion\r\n |:range!| pipes by default to 'shell'.\r\n```", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-13T11:29:45Z", "diff_hunk": "@@ -477,6 +477,7 @@ Commands:\n |:wincmd| accepts a count.\n `:write!` does not show a prompt if the file was updated externally.\n |:=| does not accept |ex-flags|. With an arg it is equivalent to |:lua=|\n+ |:range!| pipe by default to |'shell'| on startup.", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1324372686", @@ -1281,7 +1281,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n prevcmd = xstrdup(p_sh);\r\n```", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-13T11:33:14Z", "diff_hunk": "@@ -1032,8 +1032,10 @@ void do_bang(int addr_count, exarg_T *eap, bool forceit, bool do_in, bool do_out\n }\n \n if (bangredo) { // put cmd in redo buffer for ! command\n- if (!prevcmd_is_set()) {\n- goto theend;\n+ // ! command without prevcmd pipe lines to &shell\n+ if (p_sh != NULL && prevcmd == NULL && strlen(newcmd) == 0) {\n+ prevcmd = xmalloc(strlen(p_sh) + 1);\n+ STRCPY(prevcmd, p_sh);", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1324376247", @@ -1349,7 +1349,7 @@ }, "author_association": "MEMBER", "body": "what about the other `prevcmd_is_set` case? can that be usefully handled with this new feature, or it doesn't make sense?", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-13T11:39:35Z", "diff_hunk": "@@ -1032,8 +1032,10 @@ void do_bang(int addr_count, exarg_T *eap, bool forceit, bool do_in, bool do_out\n }\n \n if (bangredo) { // put cmd in redo buffer for ! command\n- if (!prevcmd_is_set()) {", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1324382949", @@ -1417,7 +1417,7 @@ }, "author_association": "MEMBER", "body": "xstrdup ?", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-13T11:42:38Z", "diff_hunk": "@@ -1056,6 +1058,20 @@ void do_bang(int addr_count, exarg_T *eap, bool forceit, bool do_in, bool do_out\n STRCAT(newcmd, prevcmd);\n STRCAT(newcmd, p_shq);\n free_newcmd = true;\n+ } else {\n+ if (addr_count != 0) {\n+ // :{range}! without command pipe lines to &shell\n+ if (p_sh != NULL && prevcmd == NULL && strlen(newcmd) == 0) {\n+ prevcmd = xmalloc(strlen(p_sh) + 1);\n+ STRCPY(prevcmd, p_sh);", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1324386116", @@ -1485,7 +1485,7 @@ }, "author_association": "MEMBER", "body": "xstrdup ?", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-13T11:42:44Z", "diff_hunk": "@@ -1056,6 +1058,20 @@ void do_bang(int addr_count, exarg_T *eap, bool forceit, bool do_in, bool do_out\n STRCAT(newcmd, prevcmd);\n STRCAT(newcmd, p_shq);\n free_newcmd = true;\n+ } else {\n+ if (addr_count != 0) {\n+ // :{range}! without command pipe lines to &shell\n+ if (p_sh != NULL && prevcmd == NULL && strlen(newcmd) == 0) {\n+ prevcmd = xmalloc(strlen(p_sh) + 1);\n+ STRCPY(prevcmd, p_sh);\n+ }\n+ if (free_newcmd) {\n+ xfree(newcmd);\n+ }\n+ newcmd = xmalloc(strlen(prevcmd) + 1);\n+ STRCPY(newcmd, prevcmd);", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1324386215", @@ -1553,7 +1553,7 @@ }, "author_association": "MEMBER", "body": "seems like a strange place for this to live. there's already a `if (addr_count == 0) {` check on line 1060/1076 below, and it has an `else{}` block.", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-13T11:48:17Z", "diff_hunk": "@@ -1056,6 +1058,20 @@ void do_bang(int addr_count, exarg_T *eap, bool forceit, bool do_in, bool do_out\n STRCAT(newcmd, prevcmd);\n STRCAT(newcmd, p_shq);\n free_newcmd = true;\n+ } else {\n+ if (addr_count != 0) {", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1324391916", @@ -1621,7 +1621,7 @@ }, "author_association": "CONTRIBUTOR", "body": "This is now corrected.", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-14T14:51:59Z", "diff_hunk": "@@ -1032,8 +1032,10 @@ void do_bang(int addr_count, exarg_T *eap, bool forceit, bool do_in, bool do_out\n }\n \n if (bangredo) { // put cmd in redo buffer for ! command\n- if (!prevcmd_is_set()) {\n- goto theend;\n+ // ! command without prevcmd pipe lines to &shell\n+ if (p_sh != NULL && prevcmd == NULL && strlen(newcmd) == 0) {\n+ prevcmd = xmalloc(strlen(p_sh) + 1);\n+ STRCPY(prevcmd, p_sh);", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1326080932", @@ -1690,7 +1690,7 @@ }, "author_association": "CONTRIBUTOR", "body": "This is now corrected.", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-14T14:52:17Z", "diff_hunk": "@@ -1056,6 +1058,20 @@ void do_bang(int addr_count, exarg_T *eap, bool forceit, bool do_in, bool do_out\n STRCAT(newcmd, prevcmd);\n STRCAT(newcmd, p_shq);\n free_newcmd = true;\n+ } else {\n+ if (addr_count != 0) {\n+ // :{range}! without command pipe lines to &shell\n+ if (p_sh != NULL && prevcmd == NULL && strlen(newcmd) == 0) {\n+ prevcmd = xmalloc(strlen(p_sh) + 1);\n+ STRCPY(prevcmd, p_sh);", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1326081378", @@ -1759,7 +1759,7 @@ }, "author_association": "CONTRIBUTOR", "body": "This is now corrected.", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-14T14:52:29Z", "diff_hunk": "@@ -1056,6 +1058,20 @@ void do_bang(int addr_count, exarg_T *eap, bool forceit, bool do_in, bool do_out\n STRCAT(newcmd, prevcmd);\n STRCAT(newcmd, p_shq);\n free_newcmd = true;\n+ } else {\n+ if (addr_count != 0) {\n+ // :{range}! without command pipe lines to &shell\n+ if (p_sh != NULL && prevcmd == NULL && strlen(newcmd) == 0) {\n+ prevcmd = xmalloc(strlen(p_sh) + 1);\n+ STRCPY(prevcmd, p_sh);\n+ }\n+ if (free_newcmd) {\n+ xfree(newcmd);\n+ }\n+ newcmd = xmalloc(strlen(prevcmd) + 1);\n+ STRCPY(newcmd, prevcmd);", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1326081725", @@ -1828,7 +1828,7 @@ }, "author_association": "CONTRIBUTOR", "body": "If I understood properly the other (former) case, it involves also the `:!` and not the `:{range}!`. Hence, if we still want the error `No previous command` on user input `:!!` we should not change it, but I may very possibly be wrong.", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-14T15:04:32Z", "diff_hunk": "@@ -1032,8 +1032,10 @@ void do_bang(int addr_count, exarg_T *eap, bool forceit, bool do_in, bool do_out\n }\n \n if (bangredo) { // put cmd in redo buffer for ! command\n- if (!prevcmd_is_set()) {", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1326100426", @@ -1897,7 +1897,7 @@ }, "author_association": "MEMBER", "body": "brackets indicate optional args, in the docs.\r\n```suggestion\r\n!{motion}[filter]\tFilter {motion} text lines through the external\r\n```", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-20T11:03:40Z", "diff_hunk": "@@ -540,29 +540,36 @@ with \".\". Vim does not recognize a comment (starting with '\"') after the\n \n \t\t\t\t\t\t\t*!*\n !{motion}{filter}\tFilter {motion} text lines through the external", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1331463773", @@ -1965,7 +1965,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n\t\t\tprogram [filter]. [filter] defaults to previously used\r\n\t\t\tfilter (if any) or 'shell'.\r\n```", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-20T11:04:00Z", "diff_hunk": "@@ -540,29 +540,36 @@ with \".\". Vim does not recognize a comment (starting with '\"') after the\n \n \t\t\t\t\t\t\t*!*\n !{motion}{filter}\tFilter {motion} text lines through the external\n-\t\t\tprogram {filter}.\n+\t\t\tprogram {filter}. If {filter} is empty, use previous\n+\t\t\t{filter} program, or 'shell' by default.", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1331464150", @@ -2033,7 +2033,7 @@ }, "author_association": "MEMBER", "body": "to avoid depending on `python3`, it could use `nvim` as a filter?\r\n\r\n```suggestion\r\n insert([[print('foo')]])\r\n feed('!wnvim -l -') -- Executes \"print('foo')\" using Nvim Lua.\r\n```", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-20T11:09:29Z", "diff_hunk": "@@ -691,4 +692,95 @@ describe('shell :!', function()\n feed('')\n helpers.expect_exit(command, 'qall!')\n end)\n+\n+ it(':.! should pipe line buffer to &shell only replacing the current line', function()\n+ if is_os('win') then\n+ -- Output of pwsh is lengthy.\n+ -- Do not check the full string which is environment dependent\n+ -- but the presence of critical words.\n+ helpers.set_shell_powershell(true)\n+ insert([[echo 'Hi, coconut!';\n+exec zsh;]])\n+ feed('gg')\n+ command(':.!')\n+ local found = string.find(curbuf_contents(), 'Hi, coconut!')\n+ neq(found, nil)\n+ found = string.find(curbuf_contents(), 'exec zsh;')\n+ neq(found, nil)\n+ else\n+ insert([[find . 'src' -maxdepth 0 -type d;\n+ls]])\n+ feed('gg');\n+ command(':.!')\n+ local res = curbuf_contents()\n+ eq(res, [[.\n+src\n+ls]])\n+ end\n+ end)\n+\n+ it(':%! should pipe buffer to &shell replacing the entire buffer', function()\n+ if is_os('win') then\n+ -- Output of pwsh is lengthy.\n+ -- Do not check the full string which is environment dependent\n+ -- but the presence of critical words.\n+ helpers.set_shell_powershell(true)\n+ insert([[dir;\n+echo 'Hi, vimers!';]])\n+ command(':%!')\n+ local found = string.find(curbuf_contents(), 'Hi, vimers!')\n+ neq(found, nil)\n+ found = string.find(curbuf_contents(), 'Directory')\n+ neq(found, nil)\n+ found = string.find(curbuf_contents(), 'neovim')\n+ neq(found, nil)\n+ else\n+ insert([[find . 'src' -maxdepth 0 -type d;\n+echo 'hello world';]])\n+ command(':%!')\n+ local res = curbuf_contents()\n+ eq(res, [[.\n+src\n+hello world]])\n+ end\n+ end)\n+\n+ it('! should filter motion to &shell by default on startup', function()\n+ if is_os('win') then\n+ helpers.set_shell_powershell(true)\n+ insert([[echo 'Hi, coconut!';\n+exec zsh;]])\n+ feed('gg!w')\n+ local found = string.find(curbuf_contents(), 'Hi, coconut!')\n+ neq(found, nil)\n+ found = string.find(curbuf_contents(), 'exec zsh;')\n+ neq(found, nil)\n+ else\n+ insert([[echo 'hello world']])\n+ feed('!w')\n+ local res = curbuf_contents()\n+ eq(res, 'hello world')\n+ end\n+ end)\n+\n+ it('! should filter motion to &shell by default on startup but remember the change of {filter} program', function()\n+ if not helpers.funcs.has('python3') then pending(\"missing `python3`\") end\n+ if not is_os('win') then\n+ insert([[echo 'hello world';]])\n+ feed('!w')\n+ local res = curbuf_contents()\n+ eq(res, 'hello world')\n+ feed('ggdd')\n+ insert([[print(\"coucou\")\n+if True:\n+ print(\"Hello, Vimers\")]])\n+ feed('gg')\n+ feed('!wpython3')", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1331469907", @@ -2101,7 +2101,7 @@ }, "author_association": "MEMBER", "body": "Nice to have a test for this! Didn't know about this feature.", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-20T11:10:21Z", "diff_hunk": "@@ -691,4 +692,95 @@ describe('shell :!', function()\n feed('')\n helpers.expect_exit(command, 'qall!')\n end)\n+\n+ it(':.! should pipe line buffer to &shell only replacing the current line', function()\n+ if is_os('win') then\n+ -- Output of pwsh is lengthy.\n+ -- Do not check the full string which is environment dependent\n+ -- but the presence of critical words.\n+ helpers.set_shell_powershell(true)\n+ insert([[echo 'Hi, coconut!';\n+exec zsh;]])\n+ feed('gg')\n+ command(':.!')\n+ local found = string.find(curbuf_contents(), 'Hi, coconut!')\n+ neq(found, nil)\n+ found = string.find(curbuf_contents(), 'exec zsh;')\n+ neq(found, nil)\n+ else\n+ insert([[find . 'src' -maxdepth 0 -type d;\n+ls]])\n+ feed('gg');\n+ command(':.!')\n+ local res = curbuf_contents()\n+ eq(res, [[.\n+src\n+ls]])\n+ end\n+ end)\n+\n+ it(':%! should pipe buffer to &shell replacing the entire buffer', function()\n+ if is_os('win') then\n+ -- Output of pwsh is lengthy.\n+ -- Do not check the full string which is environment dependent\n+ -- but the presence of critical words.\n+ helpers.set_shell_powershell(true)\n+ insert([[dir;\n+echo 'Hi, vimers!';]])\n+ command(':%!')\n+ local found = string.find(curbuf_contents(), 'Hi, vimers!')\n+ neq(found, nil)\n+ found = string.find(curbuf_contents(), 'Directory')\n+ neq(found, nil)\n+ found = string.find(curbuf_contents(), 'neovim')\n+ neq(found, nil)\n+ else\n+ insert([[find . 'src' -maxdepth 0 -type d;\n+echo 'hello world';]])\n+ command(':%!')\n+ local res = curbuf_contents()\n+ eq(res, [[.\n+src\n+hello world]])\n+ end\n+ end)\n+\n+ it('! should filter motion to &shell by default on startup', function()\n+ if is_os('win') then\n+ helpers.set_shell_powershell(true)\n+ insert([[echo 'Hi, coconut!';\n+exec zsh;]])\n+ feed('gg!w')\n+ local found = string.find(curbuf_contents(), 'Hi, coconut!')\n+ neq(found, nil)\n+ found = string.find(curbuf_contents(), 'exec zsh;')\n+ neq(found, nil)\n+ else\n+ insert([[echo 'hello world']])\n+ feed('!w')\n+ local res = curbuf_contents()\n+ eq(res, 'hello world')\n+ end\n+ end)\n+\n+ it('! should filter motion to &shell by default on startup but remember the change of {filter} program', function()", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1331470779", @@ -2169,7 +2169,7 @@ }, "author_association": "MEMBER", "body": "if you want to check partial match use `helpers.matches` .\r\n\r\n```suggestion\r\n helpers.matches('Hi, coconut!', curbuf_contents())\r\n```\r\n\r\nNote: use `%` to escape things in Lua patterns. Hyphen is special in Lua patterns so it needs to be escaped to match a literal hypen.", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-20T11:14:58Z", "diff_hunk": "@@ -691,4 +692,95 @@ describe('shell :!', function()\n feed('')\n helpers.expect_exit(command, 'qall!')\n end)\n+\n+ it(':.! should pipe line buffer to &shell only replacing the current line', function()\n+ if is_os('win') then\n+ -- Output of pwsh is lengthy.\n+ -- Do not check the full string which is environment dependent\n+ -- but the presence of critical words.\n+ helpers.set_shell_powershell(true)\n+ insert([[echo 'Hi, coconut!';\n+exec zsh;]])\n+ feed('gg')\n+ command(':.!')\n+ local found = string.find(curbuf_contents(), 'Hi, coconut!')\n+ neq(found, nil)", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1331475522", @@ -2237,7 +2237,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Thank you for this correction.", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-21T07:49:57Z", "diff_hunk": "@@ -540,29 +540,36 @@ with \".\". Vim does not recognize a comment (starting with '\"') after the\n \n \t\t\t\t\t\t\t*!*\n !{motion}{filter}\tFilter {motion} text lines through the external", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1332628456", @@ -2306,7 +2306,7 @@ }, "author_association": "CONTRIBUTOR", "body": "That is a great idea! I did not think about this for a filter program, and I was annoyed to use python in this test.", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-21T07:51:50Z", "diff_hunk": "@@ -691,4 +692,95 @@ describe('shell :!', function()\n feed('')\n helpers.expect_exit(command, 'qall!')\n end)\n+\n+ it(':.! should pipe line buffer to &shell only replacing the current line', function()\n+ if is_os('win') then\n+ -- Output of pwsh is lengthy.\n+ -- Do not check the full string which is environment dependent\n+ -- but the presence of critical words.\n+ helpers.set_shell_powershell(true)\n+ insert([[echo 'Hi, coconut!';\n+exec zsh;]])\n+ feed('gg')\n+ command(':.!')\n+ local found = string.find(curbuf_contents(), 'Hi, coconut!')\n+ neq(found, nil)\n+ found = string.find(curbuf_contents(), 'exec zsh;')\n+ neq(found, nil)\n+ else\n+ insert([[find . 'src' -maxdepth 0 -type d;\n+ls]])\n+ feed('gg');\n+ command(':.!')\n+ local res = curbuf_contents()\n+ eq(res, [[.\n+src\n+ls]])\n+ end\n+ end)\n+\n+ it(':%! should pipe buffer to &shell replacing the entire buffer', function()\n+ if is_os('win') then\n+ -- Output of pwsh is lengthy.\n+ -- Do not check the full string which is environment dependent\n+ -- but the presence of critical words.\n+ helpers.set_shell_powershell(true)\n+ insert([[dir;\n+echo 'Hi, vimers!';]])\n+ command(':%!')\n+ local found = string.find(curbuf_contents(), 'Hi, vimers!')\n+ neq(found, nil)\n+ found = string.find(curbuf_contents(), 'Directory')\n+ neq(found, nil)\n+ found = string.find(curbuf_contents(), 'neovim')\n+ neq(found, nil)\n+ else\n+ insert([[find . 'src' -maxdepth 0 -type d;\n+echo 'hello world';]])\n+ command(':%!')\n+ local res = curbuf_contents()\n+ eq(res, [[.\n+src\n+hello world]])\n+ end\n+ end)\n+\n+ it('! should filter motion to &shell by default on startup', function()\n+ if is_os('win') then\n+ helpers.set_shell_powershell(true)\n+ insert([[echo 'Hi, coconut!';\n+exec zsh;]])\n+ feed('gg!w')\n+ local found = string.find(curbuf_contents(), 'Hi, coconut!')\n+ neq(found, nil)\n+ found = string.find(curbuf_contents(), 'exec zsh;')\n+ neq(found, nil)\n+ else\n+ insert([[echo 'hello world']])\n+ feed('!w')\n+ local res = curbuf_contents()\n+ eq(res, 'hello world')\n+ end\n+ end)\n+\n+ it('! should filter motion to &shell by default on startup but remember the change of {filter} program', function()\n+ if not helpers.funcs.has('python3') then pending(\"missing `python3`\") end\n+ if not is_os('win') then\n+ insert([[echo 'hello world';]])\n+ feed('!w')\n+ local res = curbuf_contents()\n+ eq(res, 'hello world')\n+ feed('ggdd')\n+ insert([[print(\"coucou\")\n+if True:\n+ print(\"Hello, Vimers\")]])\n+ feed('gg')\n+ feed('!wpython3')", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1332630587", @@ -2375,7 +2375,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Thanks for pointing to this! I used this in the rebased tests.", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-22T14:29:05Z", "diff_hunk": "@@ -691,4 +692,95 @@ describe('shell :!', function()\n feed('')\n helpers.expect_exit(command, 'qall!')\n end)\n+\n+ it(':.! should pipe line buffer to &shell only replacing the current line', function()\n+ if is_os('win') then\n+ -- Output of pwsh is lengthy.\n+ -- Do not check the full string which is environment dependent\n+ -- but the presence of critical words.\n+ helpers.set_shell_powershell(true)\n+ insert([[echo 'Hi, coconut!';\n+exec zsh;]])\n+ feed('gg')\n+ command(':.!')\n+ local found = string.find(curbuf_contents(), 'Hi, coconut!')\n+ neq(found, nil)", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1334460105", @@ -2444,7 +2444,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Thanks for reviewing this, I moved this part below as you suggested. However, I did that first because (again if I understood properly), in case the shell needs quote around the command, `newcmd` is set, and then may be executed as a filter program. I did that because the logic appeared simpler for me (I am sorry for the bad idea). However, in the current state of the code, shells that needs quotes are then not managed properly. I do not have an example for such a type of shells, and a web search did not return something. Do you, in any case, have an idea of a such a shell to test the code ? I thank you for your time.", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-22T14:47:03Z", "diff_hunk": "@@ -1056,6 +1058,20 @@ void do_bang(int addr_count, exarg_T *eap, bool forceit, bool do_in, bool do_out\n STRCAT(newcmd, prevcmd);\n STRCAT(newcmd, p_shq);\n free_newcmd = true;\n+ } else {\n+ if (addr_count != 0) {", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1334483331", @@ -2513,7 +2513,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Oh, it seems the `nvim` executable is not installed on the CI machines. Do you think it is a good idea to test with the compiled executable ? I will try this, to check the CI, but I am not sure if it is a good idea or not.", - "commit_id": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "commit_id": "b126e8de8d56f0915065012a10dc4574c9f92446", "created_at": "2023-09-22T14:51:53Z", "diff_hunk": "@@ -691,4 +692,95 @@ describe('shell :!', function()\n feed('')\n helpers.expect_exit(command, 'qall!')\n end)\n+\n+ it(':.! should pipe line buffer to &shell only replacing the current line', function()\n+ if is_os('win') then\n+ -- Output of pwsh is lengthy.\n+ -- Do not check the full string which is environment dependent\n+ -- but the presence of critical words.\n+ helpers.set_shell_powershell(true)\n+ insert([[echo 'Hi, coconut!';\n+exec zsh;]])\n+ feed('gg')\n+ command(':.!')\n+ local found = string.find(curbuf_contents(), 'Hi, coconut!')\n+ neq(found, nil)\n+ found = string.find(curbuf_contents(), 'exec zsh;')\n+ neq(found, nil)\n+ else\n+ insert([[find . 'src' -maxdepth 0 -type d;\n+ls]])\n+ feed('gg');\n+ command(':.!')\n+ local res = curbuf_contents()\n+ eq(res, [[.\n+src\n+ls]])\n+ end\n+ end)\n+\n+ it(':%! should pipe buffer to &shell replacing the entire buffer', function()\n+ if is_os('win') then\n+ -- Output of pwsh is lengthy.\n+ -- Do not check the full string which is environment dependent\n+ -- but the presence of critical words.\n+ helpers.set_shell_powershell(true)\n+ insert([[dir;\n+echo 'Hi, vimers!';]])\n+ command(':%!')\n+ local found = string.find(curbuf_contents(), 'Hi, vimers!')\n+ neq(found, nil)\n+ found = string.find(curbuf_contents(), 'Directory')\n+ neq(found, nil)\n+ found = string.find(curbuf_contents(), 'neovim')\n+ neq(found, nil)\n+ else\n+ insert([[find . 'src' -maxdepth 0 -type d;\n+echo 'hello world';]])\n+ command(':%!')\n+ local res = curbuf_contents()\n+ eq(res, [[.\n+src\n+hello world]])\n+ end\n+ end)\n+\n+ it('! should filter motion to &shell by default on startup', function()\n+ if is_os('win') then\n+ helpers.set_shell_powershell(true)\n+ insert([[echo 'Hi, coconut!';\n+exec zsh;]])\n+ feed('gg!w')\n+ local found = string.find(curbuf_contents(), 'Hi, coconut!')\n+ neq(found, nil)\n+ found = string.find(curbuf_contents(), 'exec zsh;')\n+ neq(found, nil)\n+ else\n+ insert([[echo 'hello world']])\n+ feed('!w')\n+ local res = curbuf_contents()\n+ eq(res, 'hello world')\n+ end\n+ end)\n+\n+ it('! should filter motion to &shell by default on startup but remember the change of {filter} program', function()\n+ if not helpers.funcs.has('python3') then pending(\"missing `python3`\") end\n+ if not is_os('win') then\n+ insert([[echo 'hello world';]])\n+ feed('!w')\n+ local res = curbuf_contents()\n+ eq(res, 'hello world')\n+ feed('ggdd')\n+ insert([[print(\"coucou\")\n+if True:\n+ print(\"Hello, Vimers\")]])\n+ feed('gg')\n+ feed('!wpython3')", "html_url": "https://github.com/neovim/neovim/pull/23720#discussion_r1334489223", @@ -2840,9 +2840,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/lmenou/neovim/pulls{/number}", - "pushed_at": "2024-01-29T08:33:12Z", + "pushed_at": "2024-02-05T05:22:29Z", "releases_url": "https://api.github.com/repos/lmenou/neovim/releases{/id}", - "size": 246781, + "size": 247245, "ssh_url": "git@github.com:lmenou/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/lmenou/neovim/stargazers", @@ -2861,7 +2861,7 @@ "watchers_count": 0, "web_commit_signoff_required": false }, - "sha": "891a7e81627bbd68da09697af1609fb7dbd507b7", + "sha": "b126e8de8d56f0915065012a10dc4574c9f92446", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/72404196?v=4", "events_url": "https://api.github.com/users/lmenou/events{/privacy}", @@ -2888,7 +2888,7 @@ "issue_url": "https://api.github.com/repos/neovim/neovim/issues/23720", "labels": [], "locked": false, - "merge_commit_sha": "980e43a69bc019923f500dfeaffccc2ac3ce6735", + "merge_commit_sha": "a2ea9d2ab52fa0850ff161ab393092dd8ced24aa", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5RBBNV", @@ -2920,9 +2920,9 @@ "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/23720/comments", "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/891a7e81627bbd68da09697af1609fb7dbd507b7", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/b126e8de8d56f0915065012a10dc4574c9f92446", "title": "feat(cmd): pipe buffer to &shell with :!", - "updated_at": "2024-01-29T08:33:14Z", + "updated_at": "2024-02-03T09:23:00Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/23720", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/72404196?v=4", diff --git a/repositories/neovim/pulls/24738.json b/repositories/neovim/pulls/24738.json index ecd53464..c868c906 100644 --- a/repositories/neovim/pulls/24738.json +++ b/repositories/neovim/pulls/24738.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/24738" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/7a3c2fb24f2d7315ef55696daa2c4a0b72efd9e1" + "href": "https://api.github.com/repos/neovim/neovim/statuses/c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 4962, - "forks_count": 4962, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1681, - "open_issues_count": 1681, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2023-11-06T01:31:09Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 237090, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 70644, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2023-11-06T01:53:30Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 70644, - "watchers_count": 70644, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, - "sha": "200dafb8a5839826bc157bdc9153f1171ce639e1", + "sha": "0e9a33572dc752463a0f5ad8a08a2c494d7a42e1", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -171,17 +171,36 @@ }, "body": "Take over #17099 with a rebased version.\r\n\r\nSome things that need fixing / design:\r\n- Predicates may now operate on a list of nodes, how should they behave (e.g. `#contains?`)\r\n- Others things probably\r\n", "closed_at": null, - "comment_data": [], - "comment_regular_data": [ + "comment_data": [ { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/24738#discussion_r1477151029" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/24738" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477151029" + } + }, "author_association": "MEMBER", - "body": "Regarding the predicates problem, something we can do is make that configurable as part of the predicate name:\r\n- Add a prefix (expected _before_ the `not`) that can be either `all`, `any`, or empty\r\n- Dependending on the prefix:\r\n - Empty: expect a single node, execute the predicate on this node\r\n - `any`: matches if any of the captured nodes matches the predicate\r\n - `all`: left as an exercise to the reader\r\n\r\nThe implementation is fairly straightforward: each predicate handler is wrapped in something that handles the \"iteration\" part of the matching.\r\n\r\nThat would not require changing much on the user side: quantifiers are not supported yet, and all the predicates would thus behave as before. It could thus soften the breaking change associated with this PR.", - "created_at": "2023-08-16T12:51:11Z", - "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1680547006", - "id": 1680547006, - "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", - "node_id": "IC_kwDOAPphoM5kKxy-", - "performed_via_github_app": null, + "body": "The semantics of `#eq?` should be: \"all\" the capture nodes equal to `rhs`. This is the semantic the upstream tree-sitter is using, as opposed to `#any-eq?`.\r\n\r\nhttps://tree-sitter.github.io/tree-sitter/using-parsers#pattern-matching-with-queries", + "commit_id": "c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", + "created_at": "2024-02-04T01:16:40Z", + "diff_hunk": "@@ -262,44 +262,62 @@ function M.get_node_text(...)\n return vim.treesitter.get_node_text(...)\n end\n \n----@alias TSMatch table\n+---@alias TSMatch table\n \n----@alias TSPredicate fun(match: TSMatch, _, _, predicate: any[]): boolean\n+---@alias TSPredicate fun(match: TSMatch, _, _, predicate: any[], any: boolean): boolean\n \n -- Predicate handler receive the following arguments\n--- (match, pattern, bufnr, predicate)\n+-- (match, pattern, bufnr, predicate, any)\n ---@type table\n local predicate_handlers = {\n- ['eq?'] = function(match, _, source, predicate)\n- local node = match[predicate[2]]\n- if not node then\n+ ['eq?'] = function(match, _, source, predicate, any)\n+ local nodes = match[predicate[2]]\n+ if not nodes or #nodes == 0 then\n return true\n end\n- local node_text = vim.treesitter.get_node_text(node, source)\n \n- local str ---@type string\n- if type(predicate[3]) == 'string' then\n- -- (#eq? @aa \"foo\")\n- str = predicate[3]\n- else\n- -- (#eq? @aa @bb)\n- str = vim.treesitter.get_node_text(match[predicate[3]], source)\n- end\n+ for _, node in ipairs(nodes) do\n+ local node_text = vim.treesitter.get_node_text(node, source)\n \n- if node_text ~= str or str == nil then\n- return false\n+ local str ---@type string\n+ if type(predicate[3]) == 'string' then\n+ -- (#eq? @aa \"foo\")\n+ str = predicate[3]\n+ else\n+ -- (#eq? @aa @bb)\n+ local other = assert(match[predicate[3]])\n+ assert(#other == 1, '#eq? does not support matching against multiple captures')", + "html_url": "https://github.com/neovim/neovim/pull/24738#discussion_r1477151029", + "id": 1477151029, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YC4k1", + "original_commit_id": "92ea4eec27d42b32bb5cccf3fc72b8dbff4c3e3a", + "original_line": 289, + "original_position": 45, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/query.lua", + "position": null, + "pull_request_review_id": 1861187245, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/24738", "reactions": { "+1": 0, "-1": 0, @@ -192,40 +211,65 @@ "laugh": 0, "rocket": 0, "total_count": 0, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680547006/reactions" + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477151029/reactions" }, - "updated_at": "2023-08-16T12:51:11Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680547006", + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T01:18:38Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477151029", "user": { - "avatar_url": "https://avatars.githubusercontent.com/u/39092278?v=4", - "events_url": "https://api.github.com/users/vigoux/events{/privacy}", - "followers_url": "https://api.github.com/users/vigoux/followers", - "following_url": "https://api.github.com/users/vigoux/following{/other_user}", - "gists_url": "https://api.github.com/users/vigoux/gists{/gist_id}", + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", "gravatar_id": "", - "html_url": "https://github.com/vigoux", - "id": 39092278, - "login": "vigoux", - "node_id": "MDQ6VXNlcjM5MDkyMjc4", - "organizations_url": "https://api.github.com/users/vigoux/orgs", - "received_events_url": "https://api.github.com/users/vigoux/received_events", - "repos_url": "https://api.github.com/users/vigoux/repos", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", "site_admin": false, - "starred_url": "https://api.github.com/users/vigoux/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/vigoux/subscriptions", + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", "type": "User", - "url": "https://api.github.com/users/vigoux" + "url": "https://api.github.com/users/wookayin" } }, { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/24738#discussion_r1477153718" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/24738" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477153718" + } + }, "author_association": "MEMBER", - "body": "What does upstream do? I worry a bit about adding (more) custom predicates that are incompatible...", - "created_at": "2023-08-16T13:09:30Z", - "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1680576759", - "id": 1680576759, - "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", - "node_id": "IC_kwDOAPphoM5kK5D3", - "performed_via_github_app": null, + "body": "Yes, and that is what I have implemented. This line in particular handles the case when `rhs` is another capture, and that other capture contains multiple nodes. It's not at all clear what the behavior in that situation should be, so for now we just don't allow it. We can always define that behavior later and remove this assertion.", + "commit_id": "c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", + "created_at": "2024-02-04T01:22:23Z", + "diff_hunk": "@@ -262,44 +262,62 @@ function M.get_node_text(...)\n return vim.treesitter.get_node_text(...)\n end\n \n----@alias TSMatch table\n+---@alias TSMatch table\n \n----@alias TSPredicate fun(match: TSMatch, _, _, predicate: any[]): boolean\n+---@alias TSPredicate fun(match: TSMatch, _, _, predicate: any[], any: boolean): boolean\n \n -- Predicate handler receive the following arguments\n--- (match, pattern, bufnr, predicate)\n+-- (match, pattern, bufnr, predicate, any)\n ---@type table\n local predicate_handlers = {\n- ['eq?'] = function(match, _, source, predicate)\n- local node = match[predicate[2]]\n- if not node then\n+ ['eq?'] = function(match, _, source, predicate, any)\n+ local nodes = match[predicate[2]]\n+ if not nodes or #nodes == 0 then\n return true\n end\n- local node_text = vim.treesitter.get_node_text(node, source)\n \n- local str ---@type string\n- if type(predicate[3]) == 'string' then\n- -- (#eq? @aa \"foo\")\n- str = predicate[3]\n- else\n- -- (#eq? @aa @bb)\n- str = vim.treesitter.get_node_text(match[predicate[3]], source)\n- end\n+ for _, node in ipairs(nodes) do\n+ local node_text = vim.treesitter.get_node_text(node, source)\n \n- if node_text ~= str or str == nil then\n- return false\n+ local str ---@type string\n+ if type(predicate[3]) == 'string' then\n+ -- (#eq? @aa \"foo\")\n+ str = predicate[3]\n+ else\n+ -- (#eq? @aa @bb)\n+ local other = assert(match[predicate[3]])\n+ assert(#other == 1, '#eq? does not support matching against multiple captures')", + "html_url": "https://github.com/neovim/neovim/pull/24738#discussion_r1477153718", + "id": 1477153718, + "in_reply_to_id": 1477151029, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YC5O2", + "original_commit_id": "92ea4eec27d42b32bb5cccf3fc72b8dbff4c3e3a", + "original_line": 289, + "original_position": 45, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/query.lua", + "position": null, + "pull_request_review_id": 1861197224, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/24738", "reactions": { "+1": 0, "-1": 0, @@ -236,42 +280,67 @@ "laugh": 0, "rocket": 0, "total_count": 0, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680576759/reactions" + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477153718/reactions" }, - "updated_at": "2023-08-16T13:09:30Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680576759", + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T01:22:23Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477153718", "user": { - "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", - "events_url": "https://api.github.com/users/clason/events{/privacy}", - "followers_url": "https://api.github.com/users/clason/followers", - "following_url": "https://api.github.com/users/clason/following{/other_user}", - "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", "gravatar_id": "", - "html_url": "https://github.com/clason", - "id": 2361214, - "login": "clason", - "node_id": "MDQ6VXNlcjIzNjEyMTQ=", - "organizations_url": "https://api.github.com/users/clason/orgs", - "received_events_url": "https://api.github.com/users/clason/received_events", - "repos_url": "https://api.github.com/users/clason/repos", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", "site_admin": false, - "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", "type": "User", - "url": "https://api.github.com/users/clason" + "url": "https://api.github.com/users/gpanders" } }, { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/24738#discussion_r1477154887" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/24738" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477154887" + } + }, "author_association": "MEMBER", - "body": "For now, would it make sense to just apply predicates to all? 99% of the time there is only a single node for a capture.", - "created_at": "2023-08-16T13:11:26Z", - "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1680579767", - "id": 1680579767, - "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", - "node_id": "IC_kwDOAPphoM5kK5y3", - "performed_via_github_app": null, + "body": "Oh I see, I'm sorry I got this wrong. This assertion check was about `rhs` only. Yes, it looks undocumented in the upstream tree-sitter at the moment. Though for this specific case (`eq`-like operators), the \"all\" semantics would still be valid; but for other predicates it can be confusing.", + "commit_id": "c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", + "created_at": "2024-02-04T01:24:38Z", + "diff_hunk": "@@ -262,44 +262,62 @@ function M.get_node_text(...)\n return vim.treesitter.get_node_text(...)\n end\n \n----@alias TSMatch table\n+---@alias TSMatch table\n \n----@alias TSPredicate fun(match: TSMatch, _, _, predicate: any[]): boolean\n+---@alias TSPredicate fun(match: TSMatch, _, _, predicate: any[], any: boolean): boolean\n \n -- Predicate handler receive the following arguments\n--- (match, pattern, bufnr, predicate)\n+-- (match, pattern, bufnr, predicate, any)\n ---@type table\n local predicate_handlers = {\n- ['eq?'] = function(match, _, source, predicate)\n- local node = match[predicate[2]]\n- if not node then\n+ ['eq?'] = function(match, _, source, predicate, any)\n+ local nodes = match[predicate[2]]\n+ if not nodes or #nodes == 0 then\n return true\n end\n- local node_text = vim.treesitter.get_node_text(node, source)\n \n- local str ---@type string\n- if type(predicate[3]) == 'string' then\n- -- (#eq? @aa \"foo\")\n- str = predicate[3]\n- else\n- -- (#eq? @aa @bb)\n- str = vim.treesitter.get_node_text(match[predicate[3]], source)\n- end\n+ for _, node in ipairs(nodes) do\n+ local node_text = vim.treesitter.get_node_text(node, source)\n \n- if node_text ~= str or str == nil then\n- return false\n+ local str ---@type string\n+ if type(predicate[3]) == 'string' then\n+ -- (#eq? @aa \"foo\")\n+ str = predicate[3]\n+ else\n+ -- (#eq? @aa @bb)\n+ local other = assert(match[predicate[3]])\n+ assert(#other == 1, '#eq? does not support matching against multiple captures')", + "html_url": "https://github.com/neovim/neovim/pull/24738#discussion_r1477154887", + "id": 1477154887, + "in_reply_to_id": 1477151029, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YC5hH", + "original_commit_id": "92ea4eec27d42b32bb5cccf3fc72b8dbff4c3e3a", + "original_line": 289, + "original_position": 45, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/query.lua", + "position": null, + "pull_request_review_id": 1861201217, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/24738", "reactions": { - "+1": 1, + "+1": 0, "-1": 0, "confused": 0, "eyes": 0, @@ -279,43 +348,68 @@ "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 1, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680579767/reactions" + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477154887/reactions" }, - "updated_at": "2023-08-16T13:12:15Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680579767", + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T01:35:33Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477154887", "user": { - "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", - "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", - "followers_url": "https://api.github.com/users/lewis6991/followers", - "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", - "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", "gravatar_id": "", - "html_url": "https://github.com/lewis6991", - "id": 7904185, - "login": "lewis6991", - "node_id": "MDQ6VXNlcjc5MDQxODU=", - "organizations_url": "https://api.github.com/users/lewis6991/orgs", - "received_events_url": "https://api.github.com/users/lewis6991/received_events", - "repos_url": "https://api.github.com/users/lewis6991/repos", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", "site_admin": false, - "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", "type": "User", - "url": "https://api.github.com/users/lewis6991" + "url": "https://api.github.com/users/wookayin" } }, { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/24738#discussion_r1477157317" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/24738" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477157317" + } + }, "author_association": "MEMBER", - "body": "> What does upstream do? I worry a bit about adding (more) custom predicates that are incompatible...\r\n\r\n~I just tested in the [online playground](https://tree-sitter.github.io/tree-sitter/playground) and it seems to just not match at all.~\r\n\r\n~Maybe _not matching_ when the captures are quantified is better ? We can maybe add new predicates that combine the other predicates in the future (by building a \"fake\" match or something ?).~\r\n\r\nEDIT: I was wrong.", - "created_at": "2023-08-16T13:29:55Z", - "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1680610129", - "id": 1680610129, - "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", - "node_id": "IC_kwDOAPphoM5kLBNR", - "performed_via_github_app": null, + "body": "You're right though that the error message is incorrect. It should say \"matching against a capture containing multiple nodes\".", + "commit_id": "c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", + "created_at": "2024-02-04T01:33:59Z", + "diff_hunk": "@@ -262,44 +262,62 @@ function M.get_node_text(...)\n return vim.treesitter.get_node_text(...)\n end\n \n----@alias TSMatch table\n+---@alias TSMatch table\n \n----@alias TSPredicate fun(match: TSMatch, _, _, predicate: any[]): boolean\n+---@alias TSPredicate fun(match: TSMatch, _, _, predicate: any[], any: boolean): boolean\n \n -- Predicate handler receive the following arguments\n--- (match, pattern, bufnr, predicate)\n+-- (match, pattern, bufnr, predicate, any)\n ---@type table\n local predicate_handlers = {\n- ['eq?'] = function(match, _, source, predicate)\n- local node = match[predicate[2]]\n- if not node then\n+ ['eq?'] = function(match, _, source, predicate, any)\n+ local nodes = match[predicate[2]]\n+ if not nodes or #nodes == 0 then\n return true\n end\n- local node_text = vim.treesitter.get_node_text(node, source)\n \n- local str ---@type string\n- if type(predicate[3]) == 'string' then\n- -- (#eq? @aa \"foo\")\n- str = predicate[3]\n- else\n- -- (#eq? @aa @bb)\n- str = vim.treesitter.get_node_text(match[predicate[3]], source)\n- end\n+ for _, node in ipairs(nodes) do\n+ local node_text = vim.treesitter.get_node_text(node, source)\n \n- if node_text ~= str or str == nil then\n- return false\n+ local str ---@type string\n+ if type(predicate[3]) == 'string' then\n+ -- (#eq? @aa \"foo\")\n+ str = predicate[3]\n+ else\n+ -- (#eq? @aa @bb)\n+ local other = assert(match[predicate[3]])\n+ assert(#other == 1, '#eq? does not support matching against multiple captures')", + "html_url": "https://github.com/neovim/neovim/pull/24738#discussion_r1477157317", + "id": 1477157317, + "in_reply_to_id": 1477151029, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YC6HF", + "original_commit_id": "92ea4eec27d42b32bb5cccf3fc72b8dbff4c3e3a", + "original_line": 289, + "original_position": 45, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/query.lua", + "position": null, + "pull_request_review_id": 1861215134, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/24738", "reactions": { - "+1": 0, + "+1": 1, "-1": 0, "confused": 0, "eyes": 0, @@ -323,41 +417,65 @@ "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 0, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680610129/reactions" + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477157317/reactions" }, - "updated_at": "2023-08-16T13:50:27Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680610129", + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T01:33:59Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477157317", "user": { - "avatar_url": "https://avatars.githubusercontent.com/u/39092278?v=4", - "events_url": "https://api.github.com/users/vigoux/events{/privacy}", - "followers_url": "https://api.github.com/users/vigoux/followers", - "following_url": "https://api.github.com/users/vigoux/following{/other_user}", - "gists_url": "https://api.github.com/users/vigoux/gists{/gist_id}", + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", "gravatar_id": "", - "html_url": "https://github.com/vigoux", - "id": 39092278, - "login": "vigoux", - "node_id": "MDQ6VXNlcjM5MDkyMjc4", - "organizations_url": "https://api.github.com/users/vigoux/orgs", - "received_events_url": "https://api.github.com/users/vigoux/received_events", - "repos_url": "https://api.github.com/users/vigoux/repos", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", "site_admin": false, - "starred_url": "https://api.github.com/users/vigoux/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/vigoux/subscriptions", + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", "type": "User", - "url": "https://api.github.com/users/vigoux" + "url": "https://api.github.com/users/gpanders" } }, { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/24738#discussion_r1477163490" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/24738" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477163490" + } + }, "author_association": "MEMBER", - "body": "> Maybe not matching when the captures are quantified is better ? We can maybe add new predicates that combine the other predicates in the future (by building a \"fake\" match or something ?).\r\n\r\nELI5? You mean not matching any predicated queries like: `(preproc_def)+ @test`? Wouldn't that be less elegant to implement than 'all'?", - "created_at": "2023-08-16T13:39:52Z", - "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1680628068", - "id": 1680628068, - "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", - "node_id": "IC_kwDOAPphoM5kLFlk", - "performed_via_github_app": null, + "body": "I think this is the implementation detail that should be encapsulated into the predicate/directive handler, so I suggest we do not add this parameter to `add_directive` and `add_predicate`. The handler functions would anway get the full `match` mapping of `table` rather than `table`, so whether to behave like `any` or `all` would be a responsibility of handler functions. With that (i.e. not having the any parameter), we don't need to change the interface of predicates/directives (other than the breaking change on the type of `table`), and the interface of predicates/directives could become more general. ", + "commit_id": "c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", + "created_at": "2024-02-04T02:15:26Z", + "diff_hunk": "@@ -538,17 +585,19 @@ end\n --- Adds a new directive to be used in queries\n ---\n --- Handlers can set match level data by setting directly on the\n---- metadata object `metadata.key = value`, additionally, handlers\n+--- metadata object `metadata.key = value`. Additionally, handlers\n --- can set node level data by using the capture id on the\n --- metadata table `metadata[capture_id].key = value`\n ---\n ---@param name string Name of the directive, without leading #\n----@param handler function(match:table, pattern:string, bufnr:integer, predicate:string[], metadata:table)\n---- - match: see |treesitter-query|\n---- - node-level data are accessible via `match[capture_id]`\n---- - pattern: see |treesitter-query|\n+---@param handler function(match:table, pattern:integer, bufnr:integer, predicate:string[], metadata:table)\n+--- - match: A table mapping capture IDs to a list of captured nodes\n+--- - pattern: the index of the matching pattern in the query file\n --- - predicate: list of strings containing the full directive being called, e.g.\n --- `(node (#set! conceal \"-\"))` would get the predicate `{ \"#set!\", \"conceal\", \"-\" }`\n+--- - any: (only used for predicates) true if this predicate should match if ANY of the captured\n+--- nodes satisfy the predicate; otherwise, the predicate should match if ALL of the captured\n+--- nodes satsify the predicate.", + "html_url": "https://github.com/neovim/neovim/pull/24738#discussion_r1477163490", + "id": 1477163490, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YC7ni", + "original_commit_id": "d1eff27d6eff616481d1b044d78a5a86e13f547a", + "original_line": 600, + "original_position": 314, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/query.lua", + "position": null, + "pull_request_review_id": 1861243910, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/24738", "reactions": { "+1": 0, "-1": 0, @@ -368,40 +486,64 @@ "laugh": 0, "rocket": 0, "total_count": 0, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680628068/reactions" + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477163490/reactions" }, - "updated_at": "2023-08-16T13:40:44Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680628068", + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T02:55:58Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477163490", "user": { - "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", - "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", - "followers_url": "https://api.github.com/users/lewis6991/followers", - "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", - "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", "gravatar_id": "", - "html_url": "https://github.com/lewis6991", - "id": 7904185, - "login": "lewis6991", - "node_id": "MDQ6VXNlcjc5MDQxODU=", - "organizations_url": "https://api.github.com/users/lewis6991/orgs", - "received_events_url": "https://api.github.com/users/lewis6991/received_events", - "repos_url": "https://api.github.com/users/lewis6991/repos", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", "site_admin": false, - "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", "type": "User", - "url": "https://api.github.com/users/lewis6991" + "url": "https://api.github.com/users/wookayin" } }, { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/24738#discussion_r1477163726" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/24738" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477163726" + } + }, "author_association": "MEMBER", - "body": "I think the most expected behavior is if the predicate is applied to all matching captures independently (as if they were independent queries).\r\n\r\n", - "created_at": "2023-08-16T13:41:05Z", - "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1680631107", - "id": 1680631107, - "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", - "node_id": "IC_kwDOAPphoM5kLGVD", - "performed_via_github_app": null, + "body": "```suggestion\r\n |treesitter-predicates| and |treesitter-directives| now correctly maps capture IDs to a list of matching\r\n```", + "commit_id": "c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", + "created_at": "2024-02-04T02:17:39Z", + "diff_hunk": "@@ -116,6 +116,9 @@ The following changes may require adaptations in user config or plugins.\n upstream tree-sitter and Helix to make it easier to share queries. The full\n list is documented in |treesitter-highlight-groups|.\n \n+• The \"match\" table returned by |Query:iter_matches()| and that is used in\n+ |treesitter-predicates| now correctly maps capture IDs to a list of matching", + "html_url": "https://github.com/neovim/neovim/pull/24738#discussion_r1477163726", + "id": 1477163726, + "line": 120, + "node_id": "PRRC_kwDOAPphoM5YC7rO", + "original_commit_id": "d1eff27d6eff616481d1b044d78a5a86e13f547a", + "original_line": 120, + "original_position": 5, + "original_start_line": null, + "path": "runtime/doc/news.txt", + "position": 5, + "pull_request_review_id": 1861243910, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/24738", "reactions": { "+1": 0, "-1": 0, @@ -412,42 +554,66 @@ "laugh": 0, "rocket": 0, "total_count": 0, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680631107/reactions" + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477163726/reactions" }, - "updated_at": "2023-08-16T13:41:05Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680631107", + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T02:38:49Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477163726", "user": { - "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", - "events_url": "https://api.github.com/users/clason/events{/privacy}", - "followers_url": "https://api.github.com/users/clason/followers", - "following_url": "https://api.github.com/users/clason/following{/other_user}", - "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", "gravatar_id": "", - "html_url": "https://github.com/clason", - "id": 2361214, - "login": "clason", - "node_id": "MDQ6VXNlcjIzNjEyMTQ=", - "organizations_url": "https://api.github.com/users/clason/orgs", - "received_events_url": "https://api.github.com/users/clason/received_events", - "repos_url": "https://api.github.com/users/clason/repos", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", "site_admin": false, - "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", "type": "User", - "url": "https://api.github.com/users/clason" + "url": "https://api.github.com/users/wookayin" } }, { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/24738#discussion_r1477164045" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/24738" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477164045" + } + }, "author_association": "MEMBER", - "body": "Correction: the behavior of the predicate matching is to try to apply it on all captured nodes (see [here](https://github.com/tree-sitter/tree-sitter/blob/28b831456e2c3c1cc94d39caaee4c49533721ca9/lib/binding_web/binding.js#L833C12-L833C12))\r\n\r\nMaybe we should do the same for consistency then.", - "created_at": "2023-08-16T13:48:02Z", - "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1680645506", - "id": 1680645506, - "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", - "node_id": "IC_kwDOAPphoM5kLJ2C", - "performed_via_github_app": null, + "body": "Related question: Do we want to make `any-` a general prefix as `not-` is? In other words, would we also allow predicates like `any-has-parent?` `any-nth?` in general? (Or any other custom, user-specific predicates)\r\n\r\nWe can consider applying and allowing `any-` to certain predicates only, e.g., `any-eq?` `any-match?` `any-not-match?` `any-of?`.", + "commit_id": "c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", + "created_at": "2024-02-04T02:22:19Z", + "diff_hunk": "@@ -590,18 +639,27 @@ function Query:match_preds(match, pattern, source)\n -- continue on the other case. This way unknown predicates will not be considered,\n -- which allows some testing and easier user extensibility (#12173).\n -- Also, tree-sitter strips the leading # from predicates for us.\n- local pred_name ---@type string\n-\n- local is_not ---@type boolean\n+ local is_not = false\n+ local is_any = false\n \n -- Skip over directives... they will get processed after all the predicates.\n if not is_directive(pred[1]) then\n- if string.sub(pred[1], 1, 4) == 'not-' then\n- pred_name = string.sub(pred[1], 5)\n- is_not = true\n- else\n- pred_name = pred[1]\n- is_not = false\n+ local pred_name = pred[1] --[[@as string]]\n+ while true do\n+ if pred_name:match('^not%-') then\n+ pred_name = pred_name:sub(5)\n+ is_not = true\n+ elseif pred_name:match('^any%-') then", + "html_url": "https://github.com/neovim/neovim/pull/24738#discussion_r1477164045", + "id": 1477164045, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YC7wN", + "original_commit_id": "d1eff27d6eff616481d1b044d78a5a86e13f547a", + "original_line": 652, + "original_position": 341, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/query.lua", + "position": null, + "pull_request_review_id": 1861243910, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/24738", "reactions": { - "+1": 1, + "+1": 0, "-1": 0, "confused": 0, "eyes": 0, @@ -455,41 +621,66 @@ "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 1, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680645506/reactions" + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477164045/reactions" }, - "updated_at": "2023-08-16T13:49:47Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680645506", + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T03:07:00Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477164045", "user": { - "avatar_url": "https://avatars.githubusercontent.com/u/39092278?v=4", - "events_url": "https://api.github.com/users/vigoux/events{/privacy}", - "followers_url": "https://api.github.com/users/vigoux/followers", - "following_url": "https://api.github.com/users/vigoux/following{/other_user}", - "gists_url": "https://api.github.com/users/vigoux/gists{/gist_id}", + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", "gravatar_id": "", - "html_url": "https://github.com/vigoux", - "id": 39092278, - "login": "vigoux", - "node_id": "MDQ6VXNlcjM5MDkyMjc4", - "organizations_url": "https://api.github.com/users/vigoux/orgs", - "received_events_url": "https://api.github.com/users/vigoux/received_events", - "repos_url": "https://api.github.com/users/vigoux/repos", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", "site_admin": false, - "starred_url": "https://api.github.com/users/vigoux/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/vigoux/subscriptions", + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", "type": "User", - "url": "https://api.github.com/users/vigoux" + "url": "https://api.github.com/users/wookayin" } }, { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/24738#discussion_r1477165423" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/24738" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477165423" + } + }, "author_association": "MEMBER", - "body": "Yes (as long as they are broadly reasonable), and document it.\r\n\r\n(We could also raise this question upstream; maybe Max has changed his mind on that since then? @amaanq )", - "created_at": "2023-08-16T14:14:23Z", - "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1680699742", - "id": 1680699742, - "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", - "node_id": "IC_kwDOAPphoM5kLXFe", - "performed_via_github_app": null, + "body": "As a side note, I wonder if we could make the error message more helpful (rather than unexpected nil error) for better downstream migration experience, but it would be at the cost of small performance loss.", + "commit_id": "c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", + "created_at": "2024-02-04T02:38:16Z", + "diff_hunk": "@@ -116,6 +116,9 @@ The following changes may require adaptations in user config or plugins.\n upstream tree-sitter and Helix to make it easier to share queries. The full\n list is documented in |treesitter-highlight-groups|.\n \n+• The \"match\" table returned by |Query:iter_matches()| and that is used in\n+ |treesitter-predicates| now correctly maps capture IDs to a list of matching", + "html_url": "https://github.com/neovim/neovim/pull/24738#discussion_r1477165423", + "id": 1477165423, + "in_reply_to_id": 1477163726, + "line": 120, + "node_id": "PRRC_kwDOAPphoM5YC8Fv", + "original_commit_id": "d1eff27d6eff616481d1b044d78a5a86e13f547a", + "original_line": 120, + "original_position": 5, + "original_start_line": null, + "path": "runtime/doc/news.txt", + "position": 5, + "pull_request_review_id": 1861243910, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/24738", "reactions": { "+1": 0, "-1": 0, @@ -500,40 +691,65 @@ "laugh": 0, "rocket": 0, "total_count": 0, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680699742/reactions" + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477165423/reactions" }, - "updated_at": "2023-08-16T14:14:23Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680699742", + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T02:38:49Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477165423", "user": { - "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", - "events_url": "https://api.github.com/users/clason/events{/privacy}", - "followers_url": "https://api.github.com/users/clason/followers", - "following_url": "https://api.github.com/users/clason/following{/other_user}", - "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", "gravatar_id": "", - "html_url": "https://github.com/clason", - "id": 2361214, - "login": "clason", - "node_id": "MDQ6VXNlcjIzNjEyMTQ=", - "organizations_url": "https://api.github.com/users/clason/orgs", - "received_events_url": "https://api.github.com/users/clason/received_events", - "repos_url": "https://api.github.com/users/clason/repos", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", "site_admin": false, - "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", "type": "User", - "url": "https://api.github.com/users/clason" + "url": "https://api.github.com/users/wookayin" } }, { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/24738#discussion_r1477165782" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/24738" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477165782" + } + }, "author_association": "CONTRIBUTOR", - "body": "The query in nvim-treesitter/nvim-treesitter#5127 that I'm trying to match seems to be fixed with this PR\r\n```scheme\r\n; queries for golang\r\n(\r\n (comment)+ @injection.content \r\n .\r\n (import_declaration\r\n (import_spec path: (interpreted_string_literal) @_import_c))\r\n (#eq? @_import_c \"\\\"C\\\"\")\r\n (#lua-match? @injection.content \"^//\")\r\n (#set! injection.language \"c\")\r\n (#offset! @injection.content 0 2 0 0)\r\n (#set! injection.combined))\r\n```\r\n\r\nAlso related: tree-sitter/tree-sitter#2468, it's suggested that the problem might come from downstream, as treesitter still captures all of the nodes, but right now, only the last node of the comment chain is highlighted properly", - "created_at": "2023-08-16T14:16:44Z", - "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1680703891", - "id": 1680703891, - "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", - "node_id": "IC_kwDOAPphoM5kLYGT", - "performed_via_github_app": null, + "body": "So any-of? -> of? :D \n\nI'm not against it", + "commit_id": "c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", + "created_at": "2024-02-04T02:40:35Z", + "diff_hunk": "@@ -590,18 +639,27 @@ function Query:match_preds(match, pattern, source)\n -- continue on the other case. This way unknown predicates will not be considered,\n -- which allows some testing and easier user extensibility (#12173).\n -- Also, tree-sitter strips the leading # from predicates for us.\n- local pred_name ---@type string\n-\n- local is_not ---@type boolean\n+ local is_not = false\n+ local is_any = false\n \n -- Skip over directives... they will get processed after all the predicates.\n if not is_directive(pred[1]) then\n- if string.sub(pred[1], 1, 4) == 'not-' then\n- pred_name = string.sub(pred[1], 5)\n- is_not = true\n- else\n- pred_name = pred[1]\n- is_not = false\n+ local pred_name = pred[1] --[[@as string]]\n+ while true do\n+ if pred_name:match('^not%-') then\n+ pred_name = pred_name:sub(5)\n+ is_not = true\n+ elseif pred_name:match('^any%-') then", + "html_url": "https://github.com/neovim/neovim/pull/24738#discussion_r1477165782", + "id": 1477165782, + "in_reply_to_id": 1477164045, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YC8LW", + "original_commit_id": "d1eff27d6eff616481d1b044d78a5a86e13f547a", + "original_line": 652, + "original_position": 341, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/query.lua", + "position": null, + "pull_request_review_id": 1861245927, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/24738", "reactions": { "+1": 0, "-1": 0, @@ -541,13 +757,17 @@ "eyes": 0, "heart": 0, "hooray": 0, - "laugh": 0, + "laugh": 1, "rocket": 0, - "total_count": 0, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680703891/reactions" + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477165782/reactions" }, - "updated_at": "2023-08-16T14:16:44Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680703891", + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T02:40:35Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477165782", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/29790821?v=4", "events_url": "https://api.github.com/users/lucario387/events{/privacy}", @@ -570,14 +790,35 @@ } }, { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/24738#discussion_r1477166188" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/24738" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477166188" + } + }, "author_association": "MEMBER", - "body": "Ahh, finally a genuine use for `injection.combined`.\r\n\r\nIt seems like this would also supersede https://github.com/neovim/neovim/pull/21310 (though I don't fully understand the problem that PR is trying to solve).", - "created_at": "2023-08-16T14:19:35Z", - "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1680708843", - "id": 1680708843, - "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", - "node_id": "IC_kwDOAPphoM5kLZTr", - "performed_via_github_app": null, + "body": "Due to the colliding name, `any-of` was handled as an exception. My suggestion is that we don't add `any-` as a general *quantifier*.", + "commit_id": "c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", + "created_at": "2024-02-04T02:45:04Z", + "diff_hunk": "@@ -590,18 +639,27 @@ function Query:match_preds(match, pattern, source)\n -- continue on the other case. This way unknown predicates will not be considered,\n -- which allows some testing and easier user extensibility (#12173).\n -- Also, tree-sitter strips the leading # from predicates for us.\n- local pred_name ---@type string\n-\n- local is_not ---@type boolean\n+ local is_not = false\n+ local is_any = false\n \n -- Skip over directives... they will get processed after all the predicates.\n if not is_directive(pred[1]) then\n- if string.sub(pred[1], 1, 4) == 'not-' then\n- pred_name = string.sub(pred[1], 5)\n- is_not = true\n- else\n- pred_name = pred[1]\n- is_not = false\n+ local pred_name = pred[1] --[[@as string]]\n+ while true do\n+ if pred_name:match('^not%-') then\n+ pred_name = pred_name:sub(5)\n+ is_not = true\n+ elseif pred_name:match('^any%-') then", + "html_url": "https://github.com/neovim/neovim/pull/24738#discussion_r1477166188", + "id": 1477166188, + "in_reply_to_id": 1477164045, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YC8Rs", + "original_commit_id": "d1eff27d6eff616481d1b044d78a5a86e13f547a", + "original_line": 652, + "original_position": 341, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/query.lua", + "position": null, + "pull_request_review_id": 1861246313, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/24738", "reactions": { "+1": 0, "-1": 0, @@ -586,20 +827,438 @@ "heart": 0, "hooray": 0, "laugh": 0, - "rocket": 1, - "total_count": 1, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680708843/reactions" + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477166188/reactions" }, - "updated_at": "2023-08-16T14:25:42Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680708843", + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T02:45:23Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477166188", "user": { - "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", - "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", - "followers_url": "https://api.github.com/users/lewis6991/followers", - "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", - "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", "gravatar_id": "", - "html_url": "https://github.com/lewis6991", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/24738#discussion_r1477244308" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/24738" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477244308" + } + }, + "author_association": "MEMBER", + "body": "My suggestion is not to deviate from upstream. We worked hard to align _more_; this would be a (massive) step backward.", + "commit_id": "c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", + "created_at": "2024-02-04T09:47:42Z", + "diff_hunk": "@@ -590,18 +639,27 @@ function Query:match_preds(match, pattern, source)\n -- continue on the other case. This way unknown predicates will not be considered,\n -- which allows some testing and easier user extensibility (#12173).\n -- Also, tree-sitter strips the leading # from predicates for us.\n- local pred_name ---@type string\n-\n- local is_not ---@type boolean\n+ local is_not = false\n+ local is_any = false\n \n -- Skip over directives... they will get processed after all the predicates.\n if not is_directive(pred[1]) then\n- if string.sub(pred[1], 1, 4) == 'not-' then\n- pred_name = string.sub(pred[1], 5)\n- is_not = true\n- else\n- pred_name = pred[1]\n- is_not = false\n+ local pred_name = pred[1] --[[@as string]]\n+ while true do\n+ if pred_name:match('^not%-') then\n+ pred_name = pred_name:sub(5)\n+ is_not = true\n+ elseif pred_name:match('^any%-') then", + "html_url": "https://github.com/neovim/neovim/pull/24738#discussion_r1477244308", + "id": 1477244308, + "in_reply_to_id": 1477164045, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YDPWU", + "original_commit_id": "d1eff27d6eff616481d1b044d78a5a86e13f547a", + "original_line": 652, + "original_position": 341, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/query.lua", + "position": null, + "pull_request_review_id": 1861346499, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/24738", + "reactions": { + "+1": 3, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 3, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477244308/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T09:47:42Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477244308", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/24738#discussion_r1477343561" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/24738" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477343561" + } + }, + "author_association": "MEMBER", + "body": "Do we actually need this for anything? If not I'd suggest we'd leave this out for now.", + "commit_id": "c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", + "created_at": "2024-02-04T15:25:47Z", + "diff_hunk": "@@ -538,17 +585,19 @@ end\n --- Adds a new directive to be used in queries\n ---\n --- Handlers can set match level data by setting directly on the\n---- metadata object `metadata.key = value`, additionally, handlers\n+--- metadata object `metadata.key = value`. Additionally, handlers\n --- can set node level data by using the capture id on the\n --- metadata table `metadata[capture_id].key = value`\n ---\n ---@param name string Name of the directive, without leading #\n----@param handler function(match:table, pattern:string, bufnr:integer, predicate:string[], metadata:table)\n---- - match: see |treesitter-query|\n---- - node-level data are accessible via `match[capture_id]`\n---- - pattern: see |treesitter-query|\n+---@param handler function(match:table, pattern:integer, bufnr:integer, predicate:string[], metadata:table)\n+--- - match: A table mapping capture IDs to a list of captured nodes\n+--- - pattern: the index of the matching pattern in the query file\n --- - predicate: list of strings containing the full directive being called, e.g.\n --- `(node (#set! conceal \"-\"))` would get the predicate `{ \"#set!\", \"conceal\", \"-\" }`\n+--- - any: (only used for predicates) true if this predicate should match if ANY of the captured\n+--- nodes satisfy the predicate; otherwise, the predicate should match if ALL of the captured\n+--- nodes satsify the predicate.", + "html_url": "https://github.com/neovim/neovim/pull/24738#discussion_r1477343561", + "id": 1477343561, + "in_reply_to_id": 1477163490, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YDnlJ", + "original_commit_id": "d1eff27d6eff616481d1b044d78a5a86e13f547a", + "original_line": 600, + "original_position": 314, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/query.lua", + "position": null, + "pull_request_review_id": 1861460212, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/24738", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 1, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477343561/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T15:25:47Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477343561", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/24738#discussion_r1478307180" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/24738" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478307180" + } + }, + "author_association": "MEMBER", + "body": "> Do we want to make any- a general prefix as not- is? In other words, would we also allow predicates like any-has-parent? any-nth? in general? (Or any other custom, user-specific predicates)\r\n\r\nIt kind of is, as implemented. If the `any-` prefix is present, then we pass `true` for the `any` argument to the predicate handler. It's up to the predicate itself whether or not it supports \"any semantics\" though.", + "commit_id": "c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", + "created_at": "2024-02-05T14:04:11Z", + "diff_hunk": "@@ -590,18 +639,27 @@ function Query:match_preds(match, pattern, source)\n -- continue on the other case. This way unknown predicates will not be considered,\n -- which allows some testing and easier user extensibility (#12173).\n -- Also, tree-sitter strips the leading # from predicates for us.\n- local pred_name ---@type string\n-\n- local is_not ---@type boolean\n+ local is_not = false\n+ local is_any = false\n \n -- Skip over directives... they will get processed after all the predicates.\n if not is_directive(pred[1]) then\n- if string.sub(pred[1], 1, 4) == 'not-' then\n- pred_name = string.sub(pred[1], 5)\n- is_not = true\n- else\n- pred_name = pred[1]\n- is_not = false\n+ local pred_name = pred[1] --[[@as string]]\n+ while true do\n+ if pred_name:match('^not%-') then\n+ pred_name = pred_name:sub(5)\n+ is_not = true\n+ elseif pred_name:match('^any%-') then", + "html_url": "https://github.com/neovim/neovim/pull/24738#discussion_r1478307180", + "id": 1478307180, + "in_reply_to_id": 1477164045, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YHS1s", + "original_commit_id": "d1eff27d6eff616481d1b044d78a5a86e13f547a", + "original_line": 652, + "original_position": 341, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/query.lua", + "position": null, + "pull_request_review_id": 1862888700, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/24738", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478307180/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T14:04:11Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478307180", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/24738#discussion_r1478315894" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/24738" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478315894" + } + }, + "author_association": "MEMBER", + "body": "Need what? We don't need `any` for directives, only predicates, but the docstring on `add_predicate` just says \"see `add_directive()`\", so I put the docs here.", + "commit_id": "c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", + "created_at": "2024-02-05T14:09:24Z", + "diff_hunk": "@@ -538,17 +585,19 @@ end\n --- Adds a new directive to be used in queries\n ---\n --- Handlers can set match level data by setting directly on the\n---- metadata object `metadata.key = value`, additionally, handlers\n+--- metadata object `metadata.key = value`. Additionally, handlers\n --- can set node level data by using the capture id on the\n --- metadata table `metadata[capture_id].key = value`\n ---\n ---@param name string Name of the directive, without leading #\n----@param handler function(match:table, pattern:string, bufnr:integer, predicate:string[], metadata:table)\n---- - match: see |treesitter-query|\n---- - node-level data are accessible via `match[capture_id]`\n---- - pattern: see |treesitter-query|\n+---@param handler function(match:table, pattern:integer, bufnr:integer, predicate:string[], metadata:table)\n+--- - match: A table mapping capture IDs to a list of captured nodes\n+--- - pattern: the index of the matching pattern in the query file\n --- - predicate: list of strings containing the full directive being called, e.g.\n --- `(node (#set! conceal \"-\"))` would get the predicate `{ \"#set!\", \"conceal\", \"-\" }`\n+--- - any: (only used for predicates) true if this predicate should match if ANY of the captured\n+--- nodes satisfy the predicate; otherwise, the predicate should match if ALL of the captured\n+--- nodes satsify the predicate.", + "html_url": "https://github.com/neovim/neovim/pull/24738#discussion_r1478315894", + "id": 1478315894, + "in_reply_to_id": 1477163490, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YHU92", + "original_commit_id": "d1eff27d6eff616481d1b044d78a5a86e13f547a", + "original_line": 600, + "original_position": 314, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/query.lua", + "position": null, + "pull_request_review_id": 1862902478, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/24738", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478315894/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T14:09:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478315894", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/24738#discussion_r1478508974" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/24738" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478508974" + } + }, + "author_association": "MEMBER", + "body": "~Do we need `any` for any of our predicates? This deviates from upstream which I'd like to avoid.~", + "commit_id": "c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", + "created_at": "2024-02-05T16:19:26Z", + "diff_hunk": "@@ -538,17 +585,19 @@ end\n --- Adds a new directive to be used in queries\n ---\n --- Handlers can set match level data by setting directly on the\n---- metadata object `metadata.key = value`, additionally, handlers\n+--- metadata object `metadata.key = value`. Additionally, handlers\n --- can set node level data by using the capture id on the\n --- metadata table `metadata[capture_id].key = value`\n ---\n ---@param name string Name of the directive, without leading #\n----@param handler function(match:table, pattern:string, bufnr:integer, predicate:string[], metadata:table)\n---- - match: see |treesitter-query|\n---- - node-level data are accessible via `match[capture_id]`\n---- - pattern: see |treesitter-query|\n+---@param handler function(match:table, pattern:integer, bufnr:integer, predicate:string[], metadata:table)\n+--- - match: A table mapping capture IDs to a list of captured nodes\n+--- - pattern: the index of the matching pattern in the query file\n --- - predicate: list of strings containing the full directive being called, e.g.\n --- `(node (#set! conceal \"-\"))` would get the predicate `{ \"#set!\", \"conceal\", \"-\" }`\n+--- - any: (only used for predicates) true if this predicate should match if ANY of the captured\n+--- nodes satisfy the predicate; otherwise, the predicate should match if ALL of the captured\n+--- nodes satsify the predicate.", + "html_url": "https://github.com/neovim/neovim/pull/24738#discussion_r1478508974", + "id": 1478508974, + "in_reply_to_id": 1477163490, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YIEGu", + "original_commit_id": "d1eff27d6eff616481d1b044d78a5a86e13f547a", + "original_line": 600, + "original_position": 314, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/query.lua", + "position": null, + "pull_request_review_id": 1863221274, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/24738", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478508974/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T16:27:45Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478508974", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/24738#discussion_r1478520643" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/24738" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478520643" + } + }, + "author_association": "MEMBER", + "body": "Ok, I was just struggling to review this in the github UI, I think I get it now. @wookayin does make a good point though.", + "commit_id": "c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", + "created_at": "2024-02-05T16:27:23Z", + "diff_hunk": "@@ -538,17 +585,19 @@ end\n --- Adds a new directive to be used in queries\n ---\n --- Handlers can set match level data by setting directly on the\n---- metadata object `metadata.key = value`, additionally, handlers\n+--- metadata object `metadata.key = value`. Additionally, handlers\n --- can set node level data by using the capture id on the\n --- metadata table `metadata[capture_id].key = value`\n ---\n ---@param name string Name of the directive, without leading #\n----@param handler function(match:table, pattern:string, bufnr:integer, predicate:string[], metadata:table)\n---- - match: see |treesitter-query|\n---- - node-level data are accessible via `match[capture_id]`\n---- - pattern: see |treesitter-query|\n+---@param handler function(match:table, pattern:integer, bufnr:integer, predicate:string[], metadata:table)\n+--- - match: A table mapping capture IDs to a list of captured nodes\n+--- - pattern: the index of the matching pattern in the query file\n --- - predicate: list of strings containing the full directive being called, e.g.\n --- `(node (#set! conceal \"-\"))` would get the predicate `{ \"#set!\", \"conceal\", \"-\" }`\n+--- - any: (only used for predicates) true if this predicate should match if ANY of the captured\n+--- nodes satisfy the predicate; otherwise, the predicate should match if ALL of the captured\n+--- nodes satsify the predicate.", + "html_url": "https://github.com/neovim/neovim/pull/24738#discussion_r1478520643", + "id": 1478520643, + "in_reply_to_id": 1477163490, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YIG9D", + "original_commit_id": "d1eff27d6eff616481d1b044d78a5a86e13f547a", + "original_line": 600, + "original_position": 314, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/query.lua", + "position": null, + "pull_request_review_id": 1863239909, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/24738", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478520643/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T16:34:16Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478520643", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", "id": 7904185, "login": "lewis6991", "node_id": "MDQ6VXNlcjc5MDQxODU=", @@ -607,20 +1266,1247 @@ "received_events_url": "https://api.github.com/users/lewis6991/received_events", "repos_url": "https://api.github.com/users/lewis6991/repos", "site_admin": false, - "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/24738#discussion_r1478531105" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/24738" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478531105" + } + }, + "author_association": "MEMBER", + "body": "I'm not sure I understand @wookayin's suggestion? We are not adding a parameter to `add_directive` or `add_predicate`, the docstring here is describing the signature of the _handler_.\r\n\r\n>The handler functions would anway get the full match mapping of table rather than table, so whether to behave like any or all would be a responsibility of handler functions.\r\n\r\nYes, this is exactly what is implemented in this PR right now.\r\n\r\n>With that (i.e. not having the any parameter), we don't need to change the interface of predicates/directives\r\n\r\nYes we do, at least kind of, because now predicates have to implement the \"all\" vs \"any\" semantics themselves.\r\n\r\nAn alternate implementation approach is [here](https://github.com/neovim/neovim/pull/24738#issuecomment-1927090838).", + "commit_id": "c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", + "created_at": "2024-02-05T16:35:08Z", + "diff_hunk": "@@ -538,17 +585,19 @@ end\n --- Adds a new directive to be used in queries\n ---\n --- Handlers can set match level data by setting directly on the\n---- metadata object `metadata.key = value`, additionally, handlers\n+--- metadata object `metadata.key = value`. Additionally, handlers\n --- can set node level data by using the capture id on the\n --- metadata table `metadata[capture_id].key = value`\n ---\n ---@param name string Name of the directive, without leading #\n----@param handler function(match:table, pattern:string, bufnr:integer, predicate:string[], metadata:table)\n---- - match: see |treesitter-query|\n---- - node-level data are accessible via `match[capture_id]`\n---- - pattern: see |treesitter-query|\n+---@param handler function(match:table, pattern:integer, bufnr:integer, predicate:string[], metadata:table)\n+--- - match: A table mapping capture IDs to a list of captured nodes\n+--- - pattern: the index of the matching pattern in the query file\n --- - predicate: list of strings containing the full directive being called, e.g.\n --- `(node (#set! conceal \"-\"))` would get the predicate `{ \"#set!\", \"conceal\", \"-\" }`\n+--- - any: (only used for predicates) true if this predicate should match if ANY of the captured\n+--- nodes satisfy the predicate; otherwise, the predicate should match if ALL of the captured\n+--- nodes satsify the predicate.", + "html_url": "https://github.com/neovim/neovim/pull/24738#discussion_r1478531105", + "id": 1478531105, + "in_reply_to_id": 1477163490, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YIJgh", + "original_commit_id": "d1eff27d6eff616481d1b044d78a5a86e13f547a", + "original_line": 600, + "original_position": 314, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/query.lua", + "position": null, + "pull_request_review_id": 1863256220, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/24738", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478531105/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T16:35:08Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478531105", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/24738#discussion_r1478540846" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/24738" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478540846" + } + }, + "author_association": "MEMBER", + "body": "> Yes we do, at least kind of, because now predicates have to implement the \"all\" vs \"any\" semantics themselves.\r\n\r\nWhich I'd argue is correct, since their semantics (in the multi-capture case) depends on what comes _after_ the `any` etc.\r\n\r\n", + "commit_id": "c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", + "created_at": "2024-02-05T16:38:56Z", + "diff_hunk": "@@ -538,17 +585,19 @@ end\n --- Adds a new directive to be used in queries\n ---\n --- Handlers can set match level data by setting directly on the\n---- metadata object `metadata.key = value`, additionally, handlers\n+--- metadata object `metadata.key = value`. Additionally, handlers\n --- can set node level data by using the capture id on the\n --- metadata table `metadata[capture_id].key = value`\n ---\n ---@param name string Name of the directive, without leading #\n----@param handler function(match:table, pattern:string, bufnr:integer, predicate:string[], metadata:table)\n---- - match: see |treesitter-query|\n---- - node-level data are accessible via `match[capture_id]`\n---- - pattern: see |treesitter-query|\n+---@param handler function(match:table, pattern:integer, bufnr:integer, predicate:string[], metadata:table)\n+--- - match: A table mapping capture IDs to a list of captured nodes\n+--- - pattern: the index of the matching pattern in the query file\n --- - predicate: list of strings containing the full directive being called, e.g.\n --- `(node (#set! conceal \"-\"))` would get the predicate `{ \"#set!\", \"conceal\", \"-\" }`\n+--- - any: (only used for predicates) true if this predicate should match if ANY of the captured\n+--- nodes satisfy the predicate; otherwise, the predicate should match if ALL of the captured\n+--- nodes satsify the predicate.", + "html_url": "https://github.com/neovim/neovim/pull/24738#discussion_r1478540846", + "id": 1478540846, + "in_reply_to_id": 1477163490, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YIL4u", + "original_commit_id": "d1eff27d6eff616481d1b044d78a5a86e13f547a", + "original_line": 600, + "original_position": 314, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/query.lua", + "position": null, + "pull_request_review_id": 1863269887, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/24738", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478540846/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T16:38:56Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478540846", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/24738#discussion_r1478864844" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/24738" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478864844" + } + }, + "author_association": "MEMBER", + "body": "Let me elaborate -- sorry for some mistakes in the description and if it wasn't clear enough.\r\n\r\n> We are not adding a parameter to add_directive or add_predicate,\r\n\r\nYes you're right. I was talking about the new `any` parameter, which is actually being added to predicate handler, not to `add_{directive,predicate}` --- I said it wrong by mistake. What I was suggesting is *not* to add this new parameter to *predicate handlers*; Instead, leave the semantics (like `any-` or `all`-) decided by the predicate handlers themselves, i.e. \"*they have to implement the all vs any semantics themselves*\". It would look like:\r\n\r\n```lua\r\npredicate_handlers['eq?'] = function(match, pattern, source, predicate)\r\n return eq_impl(match, pattern, source, predicate, false) -- work like `all?`\r\nend,\r\npredicate_handlers['any-eq?'] = function(match, pattern, source, predicate)\r\n return eq_impl(match, pattern, source, predicate, true) -- work like `any?`\r\nend,\r\n```\r\n\r\nIt'd be an contrived and hypothetical example, but one could think of a predicate that is neither `all-` nor `any-`; say `at-least-three` or `exclusive-or` (if `#match == 2`), for instance. For such predicates the parameter `any` would just be an unused parameter to ignore. This idea would also apply to the directives (as @amaanq suggested in https://github.com/neovim/neovim/pull/24738#issuecomment-1926284050). We can also think of predicates/directives that would *count*; or an user/plugin might write an arbitrarily complex logic to deal with multiple nodes captured. The existing predicate API still allows that.\r\n\r\nThis design also implies that we will not have `any-` as a generic logic quantifier prefix as opposed to `not-` (which can simply negate the boolean return value); instead, we allow `any-` for only certain predicates that we know their implementation details. I think this is also closer to [what upstream tree-sitter does](https://github.com/tree-sitter/tree-sitter/pull/2532/files#diff-2af4e27edd56f326a108d99d345842f5f477fe2f933ca50cdd7c4eacfbffdf65).", + "commit_id": "c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", + "created_at": "2024-02-05T20:16:24Z", + "diff_hunk": "@@ -538,17 +585,19 @@ end\n --- Adds a new directive to be used in queries\n ---\n --- Handlers can set match level data by setting directly on the\n---- metadata object `metadata.key = value`, additionally, handlers\n+--- metadata object `metadata.key = value`. Additionally, handlers\n --- can set node level data by using the capture id on the\n --- metadata table `metadata[capture_id].key = value`\n ---\n ---@param name string Name of the directive, without leading #\n----@param handler function(match:table, pattern:string, bufnr:integer, predicate:string[], metadata:table)\n---- - match: see |treesitter-query|\n---- - node-level data are accessible via `match[capture_id]`\n---- - pattern: see |treesitter-query|\n+---@param handler function(match:table, pattern:integer, bufnr:integer, predicate:string[], metadata:table)\n+--- - match: A table mapping capture IDs to a list of captured nodes\n+--- - pattern: the index of the matching pattern in the query file\n --- - predicate: list of strings containing the full directive being called, e.g.\n --- `(node (#set! conceal \"-\"))` would get the predicate `{ \"#set!\", \"conceal\", \"-\" }`\n+--- - any: (only used for predicates) true if this predicate should match if ANY of the captured\n+--- nodes satisfy the predicate; otherwise, the predicate should match if ALL of the captured\n+--- nodes satsify the predicate.", + "html_url": "https://github.com/neovim/neovim/pull/24738#discussion_r1478864844", + "id": 1478864844, + "in_reply_to_id": 1477163490, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YJa_M", + "original_commit_id": "d1eff27d6eff616481d1b044d78a5a86e13f547a", + "original_line": 600, + "original_position": 314, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/query.lua", + "position": null, + "pull_request_review_id": 1863741484, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/24738", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478864844/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T20:35:05Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478864844", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/24738#discussion_r1478895270" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/24738" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478895270" + } + }, + "author_association": "MEMBER", + "body": "Ok that makes much more sense, thank you for explaining.\r\n\r\nI think I'm ok with that route, it does mean we have to implement some predicates effectively twice (the logic between `eq?` and `any-eq?` is basically the same), but that is not a big deal (or we can just make a helper implementation, as you hinted).", + "commit_id": "c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", + "created_at": "2024-02-05T20:50:16Z", + "diff_hunk": "@@ -538,17 +585,19 @@ end\n --- Adds a new directive to be used in queries\n ---\n --- Handlers can set match level data by setting directly on the\n---- metadata object `metadata.key = value`, additionally, handlers\n+--- metadata object `metadata.key = value`. Additionally, handlers\n --- can set node level data by using the capture id on the\n --- metadata table `metadata[capture_id].key = value`\n ---\n ---@param name string Name of the directive, without leading #\n----@param handler function(match:table, pattern:string, bufnr:integer, predicate:string[], metadata:table)\n---- - match: see |treesitter-query|\n---- - node-level data are accessible via `match[capture_id]`\n---- - pattern: see |treesitter-query|\n+---@param handler function(match:table, pattern:integer, bufnr:integer, predicate:string[], metadata:table)\n+--- - match: A table mapping capture IDs to a list of captured nodes\n+--- - pattern: the index of the matching pattern in the query file\n --- - predicate: list of strings containing the full directive being called, e.g.\n --- `(node (#set! conceal \"-\"))` would get the predicate `{ \"#set!\", \"conceal\", \"-\" }`\n+--- - any: (only used for predicates) true if this predicate should match if ANY of the captured\n+--- nodes satisfy the predicate; otherwise, the predicate should match if ALL of the captured\n+--- nodes satsify the predicate.", + "html_url": "https://github.com/neovim/neovim/pull/24738#discussion_r1478895270", + "id": 1478895270, + "in_reply_to_id": 1477163490, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YJiam", + "original_commit_id": "d1eff27d6eff616481d1b044d78a5a86e13f547a", + "original_line": 600, + "original_position": 314, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/query.lua", + "position": null, + "pull_request_review_id": 1863788936, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/24738", + "reactions": { + "+1": 2, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 2, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478895270/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T20:50:16Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478895270", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/24738#discussion_r1478936374" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/24738" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478936374" + } + }, + "author_association": "MEMBER", + "body": "I've just force pushed this change.", + "commit_id": "c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", + "created_at": "2024-02-05T21:38:21Z", + "diff_hunk": "@@ -538,17 +585,19 @@ end\n --- Adds a new directive to be used in queries\n ---\n --- Handlers can set match level data by setting directly on the\n---- metadata object `metadata.key = value`, additionally, handlers\n+--- metadata object `metadata.key = value`. Additionally, handlers\n --- can set node level data by using the capture id on the\n --- metadata table `metadata[capture_id].key = value`\n ---\n ---@param name string Name of the directive, without leading #\n----@param handler function(match:table, pattern:string, bufnr:integer, predicate:string[], metadata:table)\n---- - match: see |treesitter-query|\n---- - node-level data are accessible via `match[capture_id]`\n---- - pattern: see |treesitter-query|\n+---@param handler function(match:table, pattern:integer, bufnr:integer, predicate:string[], metadata:table)\n+--- - match: A table mapping capture IDs to a list of captured nodes\n+--- - pattern: the index of the matching pattern in the query file\n --- - predicate: list of strings containing the full directive being called, e.g.\n --- `(node (#set! conceal \"-\"))` would get the predicate `{ \"#set!\", \"conceal\", \"-\" }`\n+--- - any: (only used for predicates) true if this predicate should match if ANY of the captured\n+--- nodes satisfy the predicate; otherwise, the predicate should match if ALL of the captured\n+--- nodes satsify the predicate.", + "html_url": "https://github.com/neovim/neovim/pull/24738#discussion_r1478936374", + "id": 1478936374, + "in_reply_to_id": 1477163490, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YJsc2", + "original_commit_id": "d1eff27d6eff616481d1b044d78a5a86e13f547a", + "original_line": 600, + "original_position": 314, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/query.lua", + "position": null, + "pull_request_review_id": 1863855694, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/24738", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478936374/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T21:38:21Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478936374", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } + } + ], + "comment_regular_data": [ + { + "author_association": "MEMBER", + "body": "Regarding the predicates problem, something we can do is make that configurable as part of the predicate name:\r\n- Add a prefix (expected _before_ the `not`) that can be either `all`, `any`, or empty\r\n- Dependending on the prefix:\r\n - Empty: expect a single node, execute the predicate on this node\r\n - `any`: matches if any of the captured nodes matches the predicate\r\n - `all`: left as an exercise to the reader\r\n\r\nThe implementation is fairly straightforward: each predicate handler is wrapped in something that handles the \"iteration\" part of the matching.\r\n\r\nThat would not require changing much on the user side: quantifiers are not supported yet, and all the predicates would thus behave as before. It could thus soften the breaking change associated with this PR.", + "created_at": "2023-08-16T12:51:11Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1680547006", + "id": 1680547006, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", + "node_id": "IC_kwDOAPphoM5kKxy-", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680547006/reactions" + }, + "updated_at": "2023-08-16T12:51:11Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680547006", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/39092278?v=4", + "events_url": "https://api.github.com/users/vigoux/events{/privacy}", + "followers_url": "https://api.github.com/users/vigoux/followers", + "following_url": "https://api.github.com/users/vigoux/following{/other_user}", + "gists_url": "https://api.github.com/users/vigoux/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/vigoux", + "id": 39092278, + "login": "vigoux", + "node_id": "MDQ6VXNlcjM5MDkyMjc4", + "organizations_url": "https://api.github.com/users/vigoux/orgs", + "received_events_url": "https://api.github.com/users/vigoux/received_events", + "repos_url": "https://api.github.com/users/vigoux/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/vigoux/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/vigoux/subscriptions", + "type": "User", + "url": "https://api.github.com/users/vigoux" + } + }, + { + "author_association": "MEMBER", + "body": "What does upstream do? I worry a bit about adding (more) custom predicates that are incompatible...", + "created_at": "2023-08-16T13:09:30Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1680576759", + "id": 1680576759, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", + "node_id": "IC_kwDOAPphoM5kK5D3", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680576759/reactions" + }, + "updated_at": "2023-08-16T13:09:30Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680576759", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "MEMBER", + "body": "For now, would it make sense to just apply predicates to all? 99% of the time there is only a single node for a capture.", + "created_at": "2023-08-16T13:11:26Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1680579767", + "id": 1680579767, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", + "node_id": "IC_kwDOAPphoM5kK5y3", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680579767/reactions" + }, + "updated_at": "2023-08-16T13:12:15Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680579767", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "author_association": "MEMBER", + "body": "> What does upstream do? I worry a bit about adding (more) custom predicates that are incompatible...\r\n\r\n~I just tested in the [online playground](https://tree-sitter.github.io/tree-sitter/playground) and it seems to just not match at all.~\r\n\r\n~Maybe _not matching_ when the captures are quantified is better ? We can maybe add new predicates that combine the other predicates in the future (by building a \"fake\" match or something ?).~\r\n\r\nEDIT: I was wrong.", + "created_at": "2023-08-16T13:29:55Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1680610129", + "id": 1680610129, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", + "node_id": "IC_kwDOAPphoM5kLBNR", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680610129/reactions" + }, + "updated_at": "2023-08-16T13:50:27Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680610129", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/39092278?v=4", + "events_url": "https://api.github.com/users/vigoux/events{/privacy}", + "followers_url": "https://api.github.com/users/vigoux/followers", + "following_url": "https://api.github.com/users/vigoux/following{/other_user}", + "gists_url": "https://api.github.com/users/vigoux/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/vigoux", + "id": 39092278, + "login": "vigoux", + "node_id": "MDQ6VXNlcjM5MDkyMjc4", + "organizations_url": "https://api.github.com/users/vigoux/orgs", + "received_events_url": "https://api.github.com/users/vigoux/received_events", + "repos_url": "https://api.github.com/users/vigoux/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/vigoux/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/vigoux/subscriptions", + "type": "User", + "url": "https://api.github.com/users/vigoux" + } + }, + { + "author_association": "MEMBER", + "body": "> Maybe not matching when the captures are quantified is better ? We can maybe add new predicates that combine the other predicates in the future (by building a \"fake\" match or something ?).\r\n\r\nELI5? You mean not matching any predicated queries like: `(preproc_def)+ @test`? Wouldn't that be less elegant to implement than 'all'?", + "created_at": "2023-08-16T13:39:52Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1680628068", + "id": 1680628068, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", + "node_id": "IC_kwDOAPphoM5kLFlk", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680628068/reactions" + }, + "updated_at": "2023-08-16T13:40:44Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680628068", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "author_association": "MEMBER", + "body": "I think the most expected behavior is if the predicate is applied to all matching captures independently (as if they were independent queries).\r\n\r\n", + "created_at": "2023-08-16T13:41:05Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1680631107", + "id": 1680631107, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", + "node_id": "IC_kwDOAPphoM5kLGVD", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680631107/reactions" + }, + "updated_at": "2023-08-16T13:41:05Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680631107", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "MEMBER", + "body": "Correction: the behavior of the predicate matching is to try to apply it on all captured nodes (see [here](https://github.com/tree-sitter/tree-sitter/blob/28b831456e2c3c1cc94d39caaee4c49533721ca9/lib/binding_web/binding.js#L833C12-L833C12))\r\n\r\nMaybe we should do the same for consistency then.", + "created_at": "2023-08-16T13:48:02Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1680645506", + "id": 1680645506, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", + "node_id": "IC_kwDOAPphoM5kLJ2C", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680645506/reactions" + }, + "updated_at": "2023-08-16T13:49:47Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680645506", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/39092278?v=4", + "events_url": "https://api.github.com/users/vigoux/events{/privacy}", + "followers_url": "https://api.github.com/users/vigoux/followers", + "following_url": "https://api.github.com/users/vigoux/following{/other_user}", + "gists_url": "https://api.github.com/users/vigoux/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/vigoux", + "id": 39092278, + "login": "vigoux", + "node_id": "MDQ6VXNlcjM5MDkyMjc4", + "organizations_url": "https://api.github.com/users/vigoux/orgs", + "received_events_url": "https://api.github.com/users/vigoux/received_events", + "repos_url": "https://api.github.com/users/vigoux/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/vigoux/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/vigoux/subscriptions", + "type": "User", + "url": "https://api.github.com/users/vigoux" + } + }, + { + "author_association": "MEMBER", + "body": "Yes (as long as they are broadly reasonable), and document it.\r\n\r\n(We could also raise this question upstream; maybe Max has changed his mind on that since then? @amaanq )", + "created_at": "2023-08-16T14:14:23Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1680699742", + "id": 1680699742, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", + "node_id": "IC_kwDOAPphoM5kLXFe", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680699742/reactions" + }, + "updated_at": "2023-08-16T14:14:23Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680699742", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "The query in nvim-treesitter/nvim-treesitter#5127 that I'm trying to match seems to be fixed with this PR\r\n```scheme\r\n; queries for golang\r\n(\r\n (comment)+ @injection.content \r\n .\r\n (import_declaration\r\n (import_spec path: (interpreted_string_literal) @_import_c))\r\n (#eq? @_import_c \"\\\"C\\\"\")\r\n (#lua-match? @injection.content \"^//\")\r\n (#set! injection.language \"c\")\r\n (#offset! @injection.content 0 2 0 0)\r\n (#set! injection.combined))\r\n```\r\n\r\nAlso related: tree-sitter/tree-sitter#2468, it's suggested that the problem might come from downstream, as treesitter still captures all of the nodes, but right now, only the last node of the comment chain is highlighted properly", + "created_at": "2023-08-16T14:16:44Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1680703891", + "id": 1680703891, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", + "node_id": "IC_kwDOAPphoM5kLYGT", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680703891/reactions" + }, + "updated_at": "2023-08-16T14:16:44Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680703891", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/29790821?v=4", + "events_url": "https://api.github.com/users/lucario387/events{/privacy}", + "followers_url": "https://api.github.com/users/lucario387/followers", + "following_url": "https://api.github.com/users/lucario387/following{/other_user}", + "gists_url": "https://api.github.com/users/lucario387/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lucario387", + "id": 29790821, + "login": "lucario387", + "node_id": "MDQ6VXNlcjI5NzkwODIx", + "organizations_url": "https://api.github.com/users/lucario387/orgs", + "received_events_url": "https://api.github.com/users/lucario387/received_events", + "repos_url": "https://api.github.com/users/lucario387/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lucario387/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lucario387/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lucario387" + } + }, + { + "author_association": "MEMBER", + "body": "Ahh, finally a genuine use for `injection.combined`.\r\n\r\nIt seems like this would also supersede https://github.com/neovim/neovim/pull/21310 (though I don't fully understand the problem that PR is trying to solve).", + "created_at": "2023-08-16T14:19:35Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1680708843", + "id": 1680708843, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", + "node_id": "IC_kwDOAPphoM5kLZTr", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 1, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680708843/reactions" + }, + "updated_at": "2023-08-16T14:25:42Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1680708843", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "> Yes (as long as they are broadly reasonable), and document it.\r\n> \r\n> (We could also raise this question upstream; maybe Max has changed his mind on that since then? @amaanq )\r\n\r\nI can ask him, but yeah currently predicates are meant to apply to every capture\r\n\r\n\r\n> What does upstream do? I worry a bit about adding (more) custom predicates that are incompatible...\r\n\r\nIf they make sense and are useful upstream could also adopt it", + "created_at": "2023-08-16T17:37:05Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1681022421", + "id": 1681022421, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", + "node_id": "IC_kwDOAPphoM5kMl3V", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1681022421/reactions" + }, + "updated_at": "2023-08-16T17:37:05Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1681022421", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/29718261?v=4", + "events_url": "https://api.github.com/users/amaanq/events{/privacy}", + "followers_url": "https://api.github.com/users/amaanq/followers", + "following_url": "https://api.github.com/users/amaanq/following{/other_user}", + "gists_url": "https://api.github.com/users/amaanq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/amaanq", + "id": 29718261, + "login": "amaanq", + "node_id": "MDQ6VXNlcjI5NzE4MjYx", + "organizations_url": "https://api.github.com/users/amaanq/orgs", + "received_events_url": "https://api.github.com/users/amaanq/received_events", + "repos_url": "https://api.github.com/users/amaanq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/amaanq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amaanq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/amaanq" + } + }, + { + "author_association": "MEMBER", + "body": "I'll change all the predicates to apply to every captures then. Though I think we can be clear about the fact that matches that are predicated _and_ quantified are unstable for now.\r\n\r\nFurthermore, I can't remember if nvim-treesitter still provides predicates, but they'll have to be updated to this new interface.", + "created_at": "2023-08-17T07:37:02Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1681788993", + "id": 1681788993, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", + "node_id": "IC_kwDOAPphoM5kPhBB", + "performed_via_github_app": null, + "reactions": { + "+1": 2, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 2, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1681788993/reactions" + }, + "updated_at": "2023-08-17T07:37:02Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1681788993", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/39092278?v=4", + "events_url": "https://api.github.com/users/vigoux/events{/privacy}", + "followers_url": "https://api.github.com/users/vigoux/followers", + "following_url": "https://api.github.com/users/vigoux/following{/other_user}", + "gists_url": "https://api.github.com/users/vigoux/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/vigoux", + "id": 39092278, + "login": "vigoux", + "node_id": "MDQ6VXNlcjM5MDkyMjc4", + "organizations_url": "https://api.github.com/users/vigoux/orgs", + "received_events_url": "https://api.github.com/users/vigoux/received_events", + "repos_url": "https://api.github.com/users/vigoux/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/vigoux/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/vigoux/subscriptions", + "type": "User", + "url": "https://api.github.com/users/vigoux" + } + }, + { + "author_association": "MEMBER", + "body": "Triple checking the actual implementation of the predicated quantified matches, the predicate returns `true` whenever any of the captured nodes satisfy the predicate:\r\nhttps://github.com/tree-sitter/tree-sitter/blob/eb3c2b378a509933c4b712aceac8c9c4ae28ca1a/lib/binding_web/binding.js#L861", + "created_at": "2023-08-17T07:39:33Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1681792824", + "id": 1681792824, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", + "node_id": "IC_kwDOAPphoM5kPh84", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1681792824/reactions" + }, + "updated_at": "2023-08-17T07:39:33Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1681792824", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/39092278?v=4", + "events_url": "https://api.github.com/users/vigoux/events{/privacy}", + "followers_url": "https://api.github.com/users/vigoux/followers", + "following_url": "https://api.github.com/users/vigoux/following{/other_user}", + "gists_url": "https://api.github.com/users/vigoux/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/vigoux", + "id": 39092278, + "login": "vigoux", + "node_id": "MDQ6VXNlcjM5MDkyMjc4", + "organizations_url": "https://api.github.com/users/vigoux/orgs", + "received_events_url": "https://api.github.com/users/vigoux/received_events", + "repos_url": "https://api.github.com/users/vigoux/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/vigoux/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/vigoux/subscriptions", + "type": "User", + "url": "https://api.github.com/users/vigoux" + } + }, + { + "author_association": "MEMBER", + "body": "> I'll change all the predicates to apply to every captures then. Though I think we can be clear about the fact that matches that are predicated _and_ quantified are unstable for now.\r\n> \r\n> Furthermore, I can't remember if nvim-treesitter still provides predicates, but they'll have to be updated to this new interface.\r\n\r\nThey do, although I've been trying to get rid of them. We could upstream `#has-type?`, which is the last genuine one (used in some indents).\r\n\r\nIf the change is breaking (which is OK), could you edit the PR description to show what the new format needs to be?", + "created_at": "2023-08-17T07:42:35Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1681797665", + "id": 1681797665, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", + "node_id": "IC_kwDOAPphoM5kPjIh", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1681797665/reactions" + }, + "updated_at": "2023-08-17T07:46:27Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1681797665", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "MEMBER", + "body": "just for book keeping: supersedes #19563 #17099 #13343", + "created_at": "2023-08-29T08:12:49Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1696974850", + "id": 1696974850, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", + "node_id": "IC_kwDOAPphoM5lJcgC", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1696974850/reactions" + }, + "updated_at": "2023-08-29T08:12:49Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1696974850", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "@vigoux https://github.com/tree-sitter/tree-sitter/pull/2532 is merged, if you can follow how upstream has it done that'd be great", + "created_at": "2023-09-01T04:23:22Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1702135917", + "id": 1702135917, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", + "node_id": "IC_kwDOAPphoM5ldIht", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 1, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1702135917/reactions" + }, + "updated_at": "2023-09-01T04:23:22Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1702135917", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/29718261?v=4", + "events_url": "https://api.github.com/users/amaanq/events{/privacy}", + "followers_url": "https://api.github.com/users/amaanq/followers", + "following_url": "https://api.github.com/users/amaanq/following{/other_user}", + "gists_url": "https://api.github.com/users/amaanq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/amaanq", + "id": 29718261, + "login": "amaanq", + "node_id": "MDQ6VXNlcjI5NzE4MjYx", + "organizations_url": "https://api.github.com/users/amaanq/orgs", + "received_events_url": "https://api.github.com/users/amaanq/received_events", + "repos_url": "https://api.github.com/users/amaanq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/amaanq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amaanq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/amaanq" + } + }, + { + "author_association": "MEMBER", + "body": "Can you summarize here how upstream behaves? It wasn't fully clear to me from the docs (as evidenced by my comment).", + "created_at": "2023-09-01T07:17:01Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1702285383", + "id": 1702285383, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", + "node_id": "IC_kwDOAPphoM5ldtBH", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1702285383/reactions" + }, + "updated_at": "2023-09-01T07:17:01Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1702285383", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Yeah I tacked on a footer that was a tl;dr about it but I'll explain more here:\r\n\r\nAll is default, for any-of, match, and eq (and we can/should extend that to other captures Neovim uses)\r\n\r\nThe any- prefix is used for match and eq, (doesn't make sense for any-of imo, I can't really see a use case for it)\r\n\r\nThe predicate api itself was unchanged (yes, there was flip-flopping about if eq? should allow multiple args but that never happened)\r\n\r\n", + "created_at": "2023-09-01T10:44:41Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1702549658", + "id": 1702549658, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", + "node_id": "IC_kwDOAPphoM5letia", + "performed_via_github_app": null, + "reactions": { + "+1": 2, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 2, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1702549658/reactions" + }, + "updated_at": "2023-09-01T10:44:41Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1702549658", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/29718261?v=4", + "events_url": "https://api.github.com/users/amaanq/events{/privacy}", + "followers_url": "https://api.github.com/users/amaanq/followers", + "following_url": "https://api.github.com/users/amaanq/following{/other_user}", + "gists_url": "https://api.github.com/users/amaanq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/amaanq", + "id": 29718261, + "login": "amaanq", + "node_id": "MDQ6VXNlcjI5NzE4MjYx", + "organizations_url": "https://api.github.com/users/amaanq/orgs", + "received_events_url": "https://api.github.com/users/amaanq/received_events", + "repos_url": "https://api.github.com/users/amaanq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/amaanq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amaanq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/amaanq" + } + }, + { + "author_association": "NONE", + "body": "I'm trying to write a query for markdown which should capture multiple paragraphs, and combine them into single injection region:\r\n```\r\n(section\r\n (\r\n ((paragraph) @s (#match? @s \"^:::bib\"))\r\n .\r\n (paragraph)*\r\n .\r\n ((paragraph) @e (#match? @e \":::$\"))\r\n ) @injection.content\r\n\r\n (#set! injection.language \"bibtex\")\r\n (#set! injection.include-children)\r\n (#set! injection.combined)\r\n)\r\n```\r\nSo far every way I tried to do this only captures one of the paragraphs (usually the first one matched). Would this be possible after merging this PR?", + "created_at": "2023-11-05T09:18:17Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1793681864", + "id": 1793681864, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", + "node_id": "IC_kwDOAPphoM5q6WnI", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 1, + "rocket": 0, + "total_count": 2, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1793681864/reactions" + }, + "updated_at": "2023-11-05T09:18:17Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1793681864", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/18511281?v=4", + "events_url": "https://api.github.com/users/kamoshi/events{/privacy}", + "followers_url": "https://api.github.com/users/kamoshi/followers", + "following_url": "https://api.github.com/users/kamoshi/following{/other_user}", + "gists_url": "https://api.github.com/users/kamoshi/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/kamoshi", + "id": 18511281, + "login": "kamoshi", + "node_id": "MDQ6VXNlcjE4NTExMjgx", + "organizations_url": "https://api.github.com/users/kamoshi/orgs", + "received_events_url": "https://api.github.com/users/kamoshi/received_events", + "repos_url": "https://api.github.com/users/kamoshi/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/kamoshi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kamoshi/subscriptions", + "type": "User", + "url": "https://api.github.com/users/kamoshi" + } + }, + { + "author_association": "MEMBER", + "body": "I've just rebased on master and made a few other changes:\r\n\r\n- Builtin predicates and directives, the query linter, and some tests are updated to handle the new type of the `match` table (`table`)\r\n- Added a few more test cases", + "created_at": "2024-02-03T19:44:45Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1925439160", + "id": 1925439160, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", + "node_id": "IC_kwDOAPphoM5yw964", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925439160/reactions" + }, + "updated_at": "2024-02-03T19:44:45Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925439160", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", "type": "User", - "url": "https://api.github.com/users/lewis6991" + "url": "https://api.github.com/users/gpanders" } }, { - "author_association": "CONTRIBUTOR", - "body": "> Yes (as long as they are broadly reasonable), and document it.\r\n> \r\n> (We could also raise this question upstream; maybe Max has changed his mind on that since then? @amaanq )\r\n\r\nI can ask him, but yeah currently predicates are meant to apply to every capture\r\n\r\n\r\n> What does upstream do? I worry a bit about adding (more) custom predicates that are incompatible...\r\n\r\nIf they make sense and are useful upstream could also adopt it", - "created_at": "2023-08-16T17:37:05Z", - "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1681022421", - "id": 1681022421, + "author_association": "MEMBER", + "body": "I am not sure how best to handle metadata for directives which apply to multiple nodes. I'm thinking that for now we require directives to only be used on captures which map to only a single node.", + "created_at": "2024-02-03T19:47:40Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1925439728", + "id": 1925439728, "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", - "node_id": "IC_kwDOAPphoM5kMl3V", + "node_id": "IC_kwDOAPphoM5yw-Dw", "performed_via_github_app": null, "reactions": { "+1": 0, @@ -632,42 +2518,42 @@ "laugh": 0, "rocket": 0, "total_count": 0, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1681022421/reactions" + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925439728/reactions" }, - "updated_at": "2023-08-16T17:37:05Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1681022421", + "updated_at": "2024-02-03T19:47:40Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925439728", "user": { - "avatar_url": "https://avatars.githubusercontent.com/u/29718261?v=4", - "events_url": "https://api.github.com/users/amaanq/events{/privacy}", - "followers_url": "https://api.github.com/users/amaanq/followers", - "following_url": "https://api.github.com/users/amaanq/following{/other_user}", - "gists_url": "https://api.github.com/users/amaanq/gists{/gist_id}", + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", "gravatar_id": "", - "html_url": "https://github.com/amaanq", - "id": 29718261, - "login": "amaanq", - "node_id": "MDQ6VXNlcjI5NzE4MjYx", - "organizations_url": "https://api.github.com/users/amaanq/orgs", - "received_events_url": "https://api.github.com/users/amaanq/received_events", - "repos_url": "https://api.github.com/users/amaanq/repos", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", "site_admin": false, - "starred_url": "https://api.github.com/users/amaanq/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/amaanq/subscriptions", + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", "type": "User", - "url": "https://api.github.com/users/amaanq" + "url": "https://api.github.com/users/gpanders" } }, { "author_association": "MEMBER", - "body": "I'll change all the predicates to apply to every captures then. Though I think we can be clear about the fact that matches that are predicated _and_ quantified are unstable for now.\r\n\r\nFurthermore, I can't remember if nvim-treesitter still provides predicates, but they'll have to be updated to this new interface.", - "created_at": "2023-08-17T07:37:02Z", - "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1681788993", - "id": 1681788993, + "body": "We should follow upstream on this; they have implemented and documented this (because of this PR, actually). If there's something that is still open, we can ask them to extend this. ", + "created_at": "2024-02-03T19:55:23Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1925441180", + "id": 1925441180, "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", - "node_id": "IC_kwDOAPphoM5kPhBB", + "node_id": "IC_kwDOAPphoM5yw-ac", "performed_via_github_app": null, "reactions": { - "+1": 2, + "+1": 0, "-1": 0, "confused": 0, "eyes": 0, @@ -675,40 +2561,40 @@ "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 2, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1681788993/reactions" + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925441180/reactions" }, - "updated_at": "2023-08-17T07:37:02Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1681788993", + "updated_at": "2024-02-03T19:55:23Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925441180", "user": { - "avatar_url": "https://avatars.githubusercontent.com/u/39092278?v=4", - "events_url": "https://api.github.com/users/vigoux/events{/privacy}", - "followers_url": "https://api.github.com/users/vigoux/followers", - "following_url": "https://api.github.com/users/vigoux/following{/other_user}", - "gists_url": "https://api.github.com/users/vigoux/gists{/gist_id}", + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", "gravatar_id": "", - "html_url": "https://github.com/vigoux", - "id": 39092278, - "login": "vigoux", - "node_id": "MDQ6VXNlcjM5MDkyMjc4", - "organizations_url": "https://api.github.com/users/vigoux/orgs", - "received_events_url": "https://api.github.com/users/vigoux/received_events", - "repos_url": "https://api.github.com/users/vigoux/repos", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", "site_admin": false, - "starred_url": "https://api.github.com/users/vigoux/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/vigoux/subscriptions", + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", "type": "User", - "url": "https://api.github.com/users/vigoux" + "url": "https://api.github.com/users/clason" } }, { "author_association": "MEMBER", - "body": "Triple checking the actual implementation of the predicated quantified matches, the predicate returns `true` whenever any of the captured nodes satisfy the predicate:\r\nhttps://github.com/tree-sitter/tree-sitter/blob/eb3c2b378a509933c4b712aceac8c9c4ae28ca1a/lib/binding_web/binding.js#L861", - "created_at": "2023-08-17T07:39:33Z", - "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1681792824", - "id": 1681792824, + "body": "> We should follow upstream on this; they have implemented and documented this (because of this PR, actually). If there's something that is still open, we can ask them to extend this.\r\n\r\nI think this is just a Neovim question. For example, `#offset!` adds a \"range\" field to the metadata table for a specific capture id. But if a capture ID maps to multiple nodes, how is that \"range\" represented? This is all handled internally within Neovim so it doesn't require any support from upstream, we just need to make a decision on how we want to handle this.\r\n\r\nFor now I think it should be fine to just not allow existing directives on captures that map to multiple nodes. This wasn't supported before anyway, so nobody should be relying on this behavior.", + "created_at": "2024-02-03T20:00:25Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1925442060", + "id": 1925442060, "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", - "node_id": "IC_kwDOAPphoM5kPh84", + "node_id": "IC_kwDOAPphoM5yw-oM", "performed_via_github_app": null, "reactions": { "+1": 0, @@ -720,39 +2606,39 @@ "laugh": 0, "rocket": 0, "total_count": 0, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1681792824/reactions" + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925442060/reactions" }, - "updated_at": "2023-08-17T07:39:33Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1681792824", + "updated_at": "2024-02-03T20:00:48Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925442060", "user": { - "avatar_url": "https://avatars.githubusercontent.com/u/39092278?v=4", - "events_url": "https://api.github.com/users/vigoux/events{/privacy}", - "followers_url": "https://api.github.com/users/vigoux/followers", - "following_url": "https://api.github.com/users/vigoux/following{/other_user}", - "gists_url": "https://api.github.com/users/vigoux/gists{/gist_id}", + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", "gravatar_id": "", - "html_url": "https://github.com/vigoux", - "id": 39092278, - "login": "vigoux", - "node_id": "MDQ6VXNlcjM5MDkyMjc4", - "organizations_url": "https://api.github.com/users/vigoux/orgs", - "received_events_url": "https://api.github.com/users/vigoux/received_events", - "repos_url": "https://api.github.com/users/vigoux/repos", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", "site_admin": false, - "starred_url": "https://api.github.com/users/vigoux/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/vigoux/subscriptions", + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", "type": "User", - "url": "https://api.github.com/users/vigoux" + "url": "https://api.github.com/users/gpanders" } }, { "author_association": "MEMBER", - "body": "> I'll change all the predicates to apply to every captures then. Though I think we can be clear about the fact that matches that are predicated _and_ quantified are unstable for now.\r\n> \r\n> Furthermore, I can't remember if nvim-treesitter still provides predicates, but they'll have to be updated to this new interface.\r\n\r\nThey do, although I've been trying to get rid of them. We could upstream `#has-type?`, which is the last genuine one (used in some indents).\r\n\r\nIf the change is breaking (which is OK), could you edit the PR description to show what the new format needs to be?", - "created_at": "2023-08-17T07:42:35Z", - "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1681797665", - "id": 1681797665, + "body": "Ah, I see, upstream implemented predicates but not directives. Still, those are -- in general -- a thing upstream, so they could specify this (at least for the ones they have). \n\n@amaanq ?", + "created_at": "2024-02-03T20:25:05Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1925447106", + "id": 1925447106, "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", - "node_id": "IC_kwDOAPphoM5kPjIh", + "node_id": "IC_kwDOAPphoM5yw_3C", "performed_via_github_app": null, "reactions": { "+1": 0, @@ -764,10 +2650,10 @@ "laugh": 0, "rocket": 0, "total_count": 0, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1681797665/reactions" + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925447106/reactions" }, - "updated_at": "2023-08-17T07:46:27Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1681797665", + "updated_at": "2024-02-03T20:25:05Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925447106", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", "events_url": "https://api.github.com/users/clason/events{/privacy}", @@ -791,12 +2677,12 @@ }, { "author_association": "MEMBER", - "body": "just for book keeping: supersedes #19563 #17099 #13343", - "created_at": "2023-08-29T08:12:49Z", - "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1696974850", - "id": 1696974850, + "body": "> Overall, the semantics when it comes to multiple captures should be like \"all of the captures are ...\". \r\n\r\nThat is what is implemented here.\r\n\r\n>I don't think throwing errors when there are multiple captures is a good idea, because this can happen quite a lot often for any usual queries.\r\n\r\nWe don't do this. I'm not sure what you're referring to. We throw errors when a _directive_ is used with a single capture that matches multiple _nodes_, but I explained above why I think that's fine, for now.", + "created_at": "2024-02-04T01:24:22Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1925513385", + "id": 1925513385, "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", - "node_id": "IC_kwDOAPphoM5lJcgC", + "node_id": "IC_kwDOAPphoM5yxQCp", "performed_via_github_app": null, "reactions": { "+1": 0, @@ -808,42 +2694,86 @@ "laugh": 0, "rocket": 0, "total_count": 0, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1696974850/reactions" + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925513385/reactions" }, - "updated_at": "2023-08-29T08:12:49Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1696974850", + "updated_at": "2024-02-04T01:24:22Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925513385", "user": { - "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", - "events_url": "https://api.github.com/users/clason/events{/privacy}", - "followers_url": "https://api.github.com/users/clason/followers", - "following_url": "https://api.github.com/users/clason/following{/other_user}", - "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", "gravatar_id": "", - "html_url": "https://github.com/clason", - "id": 2361214, - "login": "clason", - "node_id": "MDQ6VXNlcjIzNjEyMTQ=", - "organizations_url": "https://api.github.com/users/clason/orgs", - "received_events_url": "https://api.github.com/users/clason/received_events", - "repos_url": "https://api.github.com/users/clason/repos", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", "site_admin": false, - "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", "type": "User", - "url": "https://api.github.com/users/clason" + "url": "https://api.github.com/users/gpanders" + } + }, + { + "author_association": "MEMBER", + "body": "One issue with this change is that every single match now allocates an extra table. I'm guessing this is why we are seeing some perf degradation that we should keep an eye on.\r\n\r\nOne way to alleviate this, which I'm not sure is a good idea, is for matches to return `Node|Node[]` instead of `Node`.\r\n\r\nAnother idea would be to give the match objects the same userdata-metatable treatmeant as TSNode, TSParser, etc.", + "created_at": "2024-02-04T15:23:00Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1925792588", + "id": 1925792588, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", + "node_id": "IC_kwDOAPphoM5yyUNM", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925792588/reactions" + }, + "updated_at": "2024-02-04T15:46:38Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925792588", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" } }, { "author_association": "CONTRIBUTOR", - "body": "@vigoux https://github.com/tree-sitter/tree-sitter/pull/2532 is merged, if you can follow how upstream has it done that'd be great", - "created_at": "2023-09-01T04:23:22Z", - "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1702135917", - "id": 1702135917, + "body": "> think this is just a Neovim question. For example, `#offset!` adds a \"range\" field to the metadata table for a specific capture id. But if a capture ID maps to multiple nodes, how is that \"range\" represented? This is all handled internally within Neovim so it doesn't require any support from upstream, we just need to make a decision on how we want to handle this.\r\n\r\nI'll throw in my 2 cents, and note it doesn't have to end up being like this at all, but I think directives should apply to all the captured nodes, as opposed to predicates where sometimes behavior depends on the prefix of the predicate (any/all). It's useful to be able to inspect for *any* or *all* nodes evaluating to true for a certain predicate, since we care about the node's content, but when it comes to directives that is typically more about attaching metadata/applying some change to the entire capture as a whole, so I'd like to say that it should apply to every matching node when it comes to quantified captures. I might be forgetting a case where it's debatable to want this behavior though, since neovim has a lot more directives than upstream :sweat_smile: ", + "created_at": "2024-02-05T05:59:01Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1926284050", + "id": 1926284050, "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", - "node_id": "IC_kwDOAPphoM5ldIht", + "node_id": "IC_kwDOAPphoM5y0MMS", "performed_via_github_app": null, "reactions": { - "+1": 0, + "+1": 1, "-1": 0, "confused": 0, "eyes": 0, @@ -851,11 +2781,11 @@ "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 0, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1702135917/reactions" + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926284050/reactions" }, - "updated_at": "2023-09-01T04:23:22Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1702135917", + "updated_at": "2024-02-05T05:59:43Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926284050", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/29718261?v=4", "events_url": "https://api.github.com/users/amaanq/events{/privacy}", @@ -879,12 +2809,12 @@ }, { "author_association": "MEMBER", - "body": "Can you summarize here how upstream behaves? It wasn't fully clear to me from the docs (as evidenced by my comment).", - "created_at": "2023-09-01T07:17:01Z", - "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1702285383", - "id": 1702285383, + "body": ">One issue with this change is that every single match now allocates an extra table. I'm guessing this is why we are seeing some perf degradation that we should keep an eye on.\r\n\r\nWe are also re-creating the `match` table itself, rather than reusing it on each iteration of `iter_captures`. @wookayin was suggesting to do something similar in https://github.com/neovim/neovim/pull/27274. I don't know what kind of performance impact that has, but it's something to bear in mind.", + "created_at": "2024-02-05T14:05:23Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1927085276", + "id": 1927085276, "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", - "node_id": "IC_kwDOAPphoM5ldtBH", + "node_id": "IC_kwDOAPphoM5y3Pzc", "performed_via_github_app": null, "reactions": { "+1": 0, @@ -896,42 +2826,42 @@ "laugh": 0, "rocket": 0, "total_count": 0, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1702285383/reactions" + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927085276/reactions" }, - "updated_at": "2023-09-01T07:17:01Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1702285383", + "updated_at": "2024-02-05T14:05:23Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927085276", "user": { - "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", - "events_url": "https://api.github.com/users/clason/events{/privacy}", - "followers_url": "https://api.github.com/users/clason/followers", - "following_url": "https://api.github.com/users/clason/following{/other_user}", - "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", "gravatar_id": "", - "html_url": "https://github.com/clason", - "id": 2361214, - "login": "clason", - "node_id": "MDQ6VXNlcjIzNjEyMTQ=", - "organizations_url": "https://api.github.com/users/clason/orgs", - "received_events_url": "https://api.github.com/users/clason/received_events", - "repos_url": "https://api.github.com/users/clason/repos", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", "site_admin": false, - "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", "type": "User", - "url": "https://api.github.com/users/clason" + "url": "https://api.github.com/users/gpanders" } }, { - "author_association": "CONTRIBUTOR", - "body": "Yeah I tacked on a footer that was a tl;dr about it but I'll explain more here:\r\n\r\nAll is default, for any-of, match, and eq (and we can/should extend that to other captures Neovim uses)\r\n\r\nThe any- prefix is used for match and eq, (doesn't make sense for any-of imo, I can't really see a use case for it)\r\n\r\nThe predicate api itself was unchanged (yes, there was flip-flopping about if eq? should allow multiple args but that never happened)\r\n\r\n", - "created_at": "2023-09-01T10:44:41Z", - "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1702549658", - "id": 1702549658, + "author_association": "MEMBER", + "body": "The current implementation punts the handling of \"any\" vs \"all\" semantics to the predicate handlers themselves by adding a new `any` argument to the predicate function signature. This is different from how `not-` is handled: the predicate handlers have no knowledge that the `not-` prefix is applied, the result of the handler is simply inverted in `match_preds`. We could do something similar for \"any\" vs \"all\", but this would require changing the implementation of all handlers to instead evaluate per _node_ (instead of per capture ID). I think this is probably the \"better\" solution overall, but is a much more severe breaking change.\r\n\r\nThoughts?", + "created_at": "2024-02-05T14:08:03Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1927090838", + "id": 1927090838, "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", - "node_id": "IC_kwDOAPphoM5letia", + "node_id": "IC_kwDOAPphoM5y3RKW", "performed_via_github_app": null, "reactions": { - "+1": 1, + "+1": 0, "-1": 0, "confused": 0, "eyes": 0, @@ -939,40 +2869,40 @@ "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 1, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1702549658/reactions" + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927090838/reactions" }, - "updated_at": "2023-09-01T10:44:41Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1702549658", + "updated_at": "2024-02-05T14:08:03Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927090838", "user": { - "avatar_url": "https://avatars.githubusercontent.com/u/29718261?v=4", - "events_url": "https://api.github.com/users/amaanq/events{/privacy}", - "followers_url": "https://api.github.com/users/amaanq/followers", - "following_url": "https://api.github.com/users/amaanq/following{/other_user}", - "gists_url": "https://api.github.com/users/amaanq/gists{/gist_id}", + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", "gravatar_id": "", - "html_url": "https://github.com/amaanq", - "id": 29718261, - "login": "amaanq", - "node_id": "MDQ6VXNlcjI5NzE4MjYx", - "organizations_url": "https://api.github.com/users/amaanq/orgs", - "received_events_url": "https://api.github.com/users/amaanq/received_events", - "repos_url": "https://api.github.com/users/amaanq/repos", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", "site_admin": false, - "starred_url": "https://api.github.com/users/amaanq/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/amaanq/subscriptions", + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", "type": "User", - "url": "https://api.github.com/users/amaanq" + "url": "https://api.github.com/users/gpanders" } }, { - "author_association": "NONE", - "body": "I'm trying to write a query for markdown which should capture multiple paragraphs, and combine them into single injection region:\r\n```\r\n(section\r\n (\r\n ((paragraph) @s (#match? @s \"^:::bib\"))\r\n .\r\n (paragraph)*\r\n .\r\n ((paragraph) @e (#match? @e \":::$\"))\r\n ) @injection.content\r\n\r\n (#set! injection.language \"bibtex\")\r\n (#set! injection.include-children)\r\n (#set! injection.combined)\r\n)\r\n```\r\nSo far every way I tried to do this only captures one of the paragraphs (usually the first one matched). Would this be possible after merging this PR?", - "created_at": "2023-11-05T09:18:17Z", - "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1793681864", - "id": 1793681864, + "author_association": "MEMBER", + "body": "> but this would require changing the implementation of all handlers to instead evaluate per node (instead of per capture ID). I think this is probably the \"better\" solution overall, but is a much more severe breaking change.\r\n\r\nWe can refactor and change the implementation of the internal logic of existing handlers in such a way, but I believe we actually don't need to change the signature of (outermost) predicate functions. After all, a predicate is a function that tells true or false for a set of nodes within a match, and I think `any-` vs `all-` semantics is something we can hide under the abstraction of predicate/directive (handler) APIs. Please see also https://github.com/neovim/neovim/pull/24738#discussion_r1478864844 for an example.\r\n\r\nThat said, it'd also be a good idea to provider a helper function to allow users to easily write `any-` or `all-` predicates (because these two would be by far the most common) by wrapping a per-node predicate, if any, into a full predicate.", + "created_at": "2024-02-05T20:31:23Z", + "html_url": "https://github.com/neovim/neovim/pull/24738#issuecomment-1928044559", + "id": 1928044559, "issue_url": "https://api.github.com/repos/neovim/neovim/issues/24738", - "node_id": "IC_kwDOAPphoM5q6WnI", + "node_id": "IC_kwDOAPphoM5y66AP", "performed_via_github_app": null, "reactions": { "+1": 0, @@ -984,29 +2914,29 @@ "laugh": 0, "rocket": 0, "total_count": 0, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1793681864/reactions" + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1928044559/reactions" }, - "updated_at": "2023-11-05T09:18:17Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1793681864", + "updated_at": "2024-02-05T20:53:43Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1928044559", "user": { - "avatar_url": "https://avatars.githubusercontent.com/u/18511281?v=4", - "events_url": "https://api.github.com/users/kamoshi/events{/privacy}", - "followers_url": "https://api.github.com/users/kamoshi/followers", - "following_url": "https://api.github.com/users/kamoshi/following{/other_user}", - "gists_url": "https://api.github.com/users/kamoshi/gists{/gist_id}", + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", "gravatar_id": "", - "html_url": "https://github.com/kamoshi", - "id": 18511281, - "login": "kamoshi", - "node_id": "MDQ6VXNlcjE4NTExMjgx", - "organizations_url": "https://api.github.com/users/kamoshi/orgs", - "received_events_url": "https://api.github.com/users/kamoshi/received_events", - "repos_url": "https://api.github.com/users/kamoshi/repos", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", "site_admin": false, - "starred_url": "https://api.github.com/users/kamoshi/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/kamoshi/subscriptions", + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", "type": "User", - "url": "https://api.github.com/users/kamoshi" + "url": "https://api.github.com/users/wookayin" } } ], @@ -1103,9 +3033,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/vigoux/neovim/pulls{/number}", - "pushed_at": "2023-08-17T09:14:41Z", + "pushed_at": "2024-02-05T21:51:20Z", "releases_url": "https://api.github.com/repos/vigoux/neovim/releases{/id}", - "size": 246293, + "size": 246910, "ssh_url": "git@github.com:vigoux/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/vigoux/neovim/stargazers", @@ -1124,7 +3054,7 @@ "watchers_count": 0, "web_commit_signoff_required": false }, - "sha": "7a3c2fb24f2d7315ef55696daa2c4a0b72efd9e1", + "sha": "c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/39092278?v=4", "events_url": "https://api.github.com/users/vigoux/events{/privacy}", @@ -1158,14 +3088,23 @@ "name": "treesitter", "node_id": "MDU6TGFiZWwxNzk5NjI2NTU3", "url": "https://api.github.com/repos/neovim/neovim/labels/treesitter" + }, + { + "color": "F9D0C4", + "default": false, + "description": "", + "id": 3968935075, + "name": "breaking-change", + "node_id": "LA_kwDOAPphoM7skSSj", + "url": "https://api.github.com/repos/neovim/neovim/labels/breaking-change" } ], "locked": false, - "merge_commit_sha": "0165fd1f48fb17361d2291bd58073f60e5e80535", + "merge_commit_sha": "ab3382769df035cfea4e76a5f08d77ad01ceba05", "merged_at": null, "milestone": { "closed_at": null, - "closed_issues": 179, + "closed_issues": 278, "created_at": "2023-02-02T14:11:43Z", "creator": { "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", @@ -1188,16 +3127,16 @@ "url": "https://api.github.com/users/bfredl" }, "description": "", - "due_on": null, + "due_on": "2024-03-01T08:00:00Z", "html_url": "https://github.com/neovim/neovim/milestone/36", "id": 8997654, "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", "node_id": "MI_kwDOAPphoM4AiUsW", "number": 36, - "open_issues": 129, + "open_issues": 138, "state": "open", "title": "0.10", - "updated_at": "2023-11-03T22:58:25Z", + "updated_at": "2024-02-05T21:59:25Z", "url": "https://api.github.com/repos/neovim/neovim/milestones/36" }, "node_id": "PR_kwDOAPphoM5YD27F", @@ -1269,9 +3208,9 @@ "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/24738/comments", "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/7a3c2fb24f2d7315ef55696daa2c4a0b72efd9e1", - "title": "fix(treesitter): proper handling of query quantifiers", - "updated_at": "2023-11-05T09:18:17Z", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/c469d32fe7ce5e3b10a4d86cdee7aae8683f0ba2", + "title": "fix(treesitter)!: correctly handle query quantifiers", + "updated_at": "2024-02-05T21:51:22Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/24738", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/39092278?v=4", diff --git a/repositories/neovim/pulls/25188.json b/repositories/neovim/pulls/25188.json index d0bb1229..6984f6c0 100644 --- a/repositories/neovim/pulls/25188.json +++ b/repositories/neovim/pulls/25188.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5174, - "forks_count": 5174, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1735, - "open_issues_count": 1735, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-30T00:09:25Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251558, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 73268, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-30T01:30:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 73268, - "watchers_count": 73268, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "091b57d766a48768ca97240a0ec8f63d2c1aaac0", @@ -2312,7 +2312,43 @@ "locked": false, "merge_commit_sha": "07080f67fe7e526576d5d50777fb122a99b3e183", "merged_at": "2023-09-16T12:52:42Z", - "milestone": null, + "milestone": { + "closed_at": null, + "closed_issues": 278, + "created_at": "2023-02-02T14:11:43Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + "description": "", + "due_on": "2024-03-01T08:00:00Z", + "html_url": "https://github.com/neovim/neovim/milestone/36", + "id": 8997654, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", + "node_id": "MI_kwDOAPphoM4AiUsW", + "number": 36, + "open_issues": 138, + "state": "open", + "title": "0.10", + "updated_at": "2024-02-05T21:59:25Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/36" + }, "node_id": "PR_kwDOAPphoM5afbAm", "number": 25188, "patch_url": "https://github.com/neovim/neovim/pull/25188.patch", @@ -2323,7 +2359,7 @@ "state": "closed", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/4bbd205b2cd428b0f237ab85b33f4d1b8824dce8", "title": "perf(treesitter): do not scan past given line for predicate match", - "updated_at": "2024-01-28T08:27:25Z", + "updated_at": "2024-02-01T23:08:14Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/25188", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/5601392?v=4", diff --git a/repositories/neovim/pulls/25193.json b/repositories/neovim/pulls/25193.json index 0af6c0bf..5660d7b0 100644 --- a/repositories/neovim/pulls/25193.json +++ b/repositories/neovim/pulls/25193.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 4893, - "forks_count": 4893, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1638, - "open_issues_count": 1638, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2023-09-25T22:25:47Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 248410, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 69666, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2023-09-26T01:27:33Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 69666, - "watchers_count": 69666, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "f40a109716d7f748dd9e9f70b57e4d0bb285518b", @@ -512,9 +512,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/lewis6991/neovim/pulls{/number}", - "pushed_at": "2023-09-25T05:18:10Z", + "pushed_at": "2024-02-05T23:34:21Z", "releases_url": "https://api.github.com/repos/lewis6991/neovim/releases{/id}", - "size": 241498, + "size": 247361, "ssh_url": "git@github.com:lewis6991/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/lewis6991/neovim/stargazers", @@ -581,43 +581,7 @@ "locked": false, "merge_commit_sha": "8b8f904fcf12b94795a0f84426b26fe9714a753b", "merged_at": null, - "milestone": { - "closed_at": null, - "closed_issues": 158, - "created_at": "2023-02-02T14:11:43Z", - "creator": { - "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", - "events_url": "https://api.github.com/users/bfredl/events{/privacy}", - "followers_url": "https://api.github.com/users/bfredl/followers", - "following_url": "https://api.github.com/users/bfredl/following{/other_user}", - "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", - "gravatar_id": "", - "html_url": "https://github.com/bfredl", - "id": 1363104, - "login": "bfredl", - "node_id": "MDQ6VXNlcjEzNjMxMDQ=", - "organizations_url": "https://api.github.com/users/bfredl/orgs", - "received_events_url": "https://api.github.com/users/bfredl/received_events", - "repos_url": "https://api.github.com/users/bfredl/repos", - "site_admin": false, - "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", - "type": "User", - "url": "https://api.github.com/users/bfredl" - }, - "description": "", - "due_on": null, - "html_url": "https://github.com/neovim/neovim/milestone/36", - "id": 8997654, - "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", - "node_id": "MI_kwDOAPphoM4AiUsW", - "number": 36, - "open_issues": 132, - "state": "open", - "title": "0.10", - "updated_at": "2023-09-25T13:07:21Z", - "url": "https://api.github.com/repos/neovim/neovim/milestones/36" - }, + "milestone": null, "node_id": "PR_kwDOAPphoM5afn_Z", "number": 25193, "patch_url": "https://github.com/neovim/neovim/pull/25193.patch", @@ -628,7 +592,7 @@ "state": "closed", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/c11fe3699487d82bd93c193963141eafae4b1cd7", "title": "fix(treesitter): add Query:captures_iterator()", - "updated_at": "2023-09-25T12:53:09Z", + "updated_at": "2024-02-01T22:32:23Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/25193", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", diff --git a/repositories/neovim/pulls/25236.json b/repositories/neovim/pulls/25236.json index 1f0959ad..b2226a84 100644 --- a/repositories/neovim/pulls/25236.json +++ b/repositories/neovim/pulls/25236.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5174, - "forks_count": 5174, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1735, - "open_issues_count": 1735, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-30T00:09:25Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251558, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 73268, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-30T01:30:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 73268, - "watchers_count": 73268, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "4e4ad4312e6b3755a2114ab81c62033e6bc616fe", @@ -1737,9 +1737,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/lsvmello/neovim/pulls{/number}", - "pushed_at": "2023-12-15T23:21:37Z", + "pushed_at": "2024-02-05T05:23:15Z", "releases_url": "https://api.github.com/repos/lsvmello/neovim/releases{/id}", - "size": 236522, + "size": 245223, "ssh_url": "git@github.com:lsvmello/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/lsvmello/neovim/stargazers", @@ -1799,7 +1799,7 @@ "merged_at": "2023-10-06T12:39:36Z", "milestone": { "closed_at": null, - "closed_issues": 266, + "closed_issues": 278, "created_at": "2023-02-02T14:11:43Z", "creator": { "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", @@ -1828,10 +1828,10 @@ "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", "node_id": "MI_kwDOAPphoM4AiUsW", "number": 36, - "open_issues": 135, + "open_issues": 138, "state": "open", "title": "0.10", - "updated_at": "2024-01-29T07:22:06Z", + "updated_at": "2024-02-05T21:59:25Z", "url": "https://api.github.com/repos/neovim/neovim/milestones/36" }, "node_id": "PR_kwDOAPphoM5am-jC", @@ -1844,7 +1844,7 @@ "state": "closed", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/133e2990efa44cadf1410a452a08843dbd8ca86e", "title": "fix: gf fails on foo/bar.txt:line:column filepath (Windows)", - "updated_at": "2024-01-24T09:35:56Z", + "updated_at": "2024-01-31T13:18:34Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/25236", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/70452831?v=4", diff --git a/repositories/neovim/pulls/25424.json b/repositories/neovim/pulls/25424.json index 1e308541..fca095e7 100644 --- a/repositories/neovim/pulls/25424.json +++ b/repositories/neovim/pulls/25424.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 4910, - "forks_count": 4910, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1655, - "open_issues_count": 1655, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2023-10-04T00:38:38Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 248518, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 69875, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2023-10-04T01:19:15Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 69875, - "watchers_count": 69875, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "b2a8a9314798e18c0685faf7463bda32f691d755", @@ -399,9 +399,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/lsvmello/neovim/pulls{/number}", - "pushed_at": "2023-10-03T20:52:32Z", + "pushed_at": "2024-02-05T05:23:15Z", "releases_url": "https://api.github.com/repos/lsvmello/neovim/releases{/id}", - "size": 242664, + "size": 245223, "ssh_url": "git@github.com:lsvmello/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/lsvmello/neovim/stargazers", @@ -479,7 +479,7 @@ "state": "closed", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/33f97c1ed2e0b4a12325871c604cd8e0f7aedb7d", "title": "fix(path): accept special characters on Windows", - "updated_at": "2023-10-03T22:05:25Z", + "updated_at": "2024-01-31T13:19:54Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/25424", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/70452831?v=4", diff --git a/repositories/neovim/pulls/25461.json b/repositories/neovim/pulls/25461.json index 3b5194f6..273125c8 100644 --- a/repositories/neovim/pulls/25461.json +++ b/repositories/neovim/pulls/25461.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5174, - "forks_count": 5174, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1735, - "open_issues_count": 1735, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-30T00:09:25Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251558, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 73268, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-30T01:30:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 73268, - "watchers_count": 73268, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "50284d07b6f020c819aeb07bfb30d88453e63b6d", @@ -1522,6 +1522,138 @@ "type": "User", "url": "https://api.github.com/users/justinmk" } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Hi all,\r\na very similar issue to this is that when deleting a buffer which used to be the alternate buffer, and then jumping to the alternate buffer (by default with with `CTRL-^` ), the deleted buffer gets loaded again.\r\nShould I open a separate issue for that or is that the intended behavior?", + "created_at": "2024-01-31T09:50:01Z", + "html_url": "https://github.com/neovim/neovim/pull/25461#issuecomment-1918753249", + "id": 1918753249, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/25461", + "node_id": "IC_kwDOAPphoM5yXdnh", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918753249/reactions" + }, + "updated_at": "2024-01-31T09:50:01Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918753249", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/10359335?v=4", + "events_url": "https://api.github.com/users/Maltimore/events{/privacy}", + "followers_url": "https://api.github.com/users/Maltimore/followers", + "following_url": "https://api.github.com/users/Maltimore/following{/other_user}", + "gists_url": "https://api.github.com/users/Maltimore/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Maltimore", + "id": 10359335, + "login": "Maltimore", + "node_id": "MDQ6VXNlcjEwMzU5MzM1", + "organizations_url": "https://api.github.com/users/Maltimore/orgs", + "received_events_url": "https://api.github.com/users/Maltimore/received_events", + "repos_url": "https://api.github.com/users/Maltimore/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Maltimore/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Maltimore/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Maltimore" + } + }, + { + "author_association": "MEMBER", + "body": "create an issue.", + "created_at": "2024-01-31T10:00:32Z", + "html_url": "https://github.com/neovim/neovim/pull/25461#issuecomment-1918772331", + "id": 1918772331, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/25461", + "node_id": "IC_kwDOAPphoM5yXiRr", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918772331/reactions" + }, + "updated_at": "2024-01-31T10:00:32Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918772331", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "I opened https://github.com/neovim/neovim/issues/27285 to report the issue with the `alternate-file`.", + "created_at": "2024-02-01T13:26:09Z", + "html_url": "https://github.com/neovim/neovim/pull/25461#issuecomment-1921321648", + "id": 1921321648, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/25461", + "node_id": "IC_kwDOAPphoM5yhQqw", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921321648/reactions" + }, + "updated_at": "2024-02-01T13:26:09Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921321648", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/10359335?v=4", + "events_url": "https://api.github.com/users/Maltimore/events{/privacy}", + "followers_url": "https://api.github.com/users/Maltimore/followers", + "following_url": "https://api.github.com/users/Maltimore/following{/other_user}", + "gists_url": "https://api.github.com/users/Maltimore/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Maltimore", + "id": 10359335, + "login": "Maltimore", + "node_id": "MDQ6VXNlcjEwMzU5MzM1", + "organizations_url": "https://api.github.com/users/Maltimore/orgs", + "received_events_url": "https://api.github.com/users/Maltimore/received_events", + "repos_url": "https://api.github.com/users/Maltimore/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Maltimore/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Maltimore/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Maltimore" + } } ], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/25461/comments", @@ -1617,9 +1749,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/vE5li/neovim/pulls{/number}", - "pushed_at": "2024-01-29T05:20:26Z", + "pushed_at": "2024-02-05T05:20:43Z", "releases_url": "https://api.github.com/repos/vE5li/neovim/releases{/id}", - "size": 242471, + "size": 242578, "ssh_url": "git@github.com:vE5li/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/vE5li/neovim/stargazers", @@ -1679,7 +1811,7 @@ "merged_at": "2024-01-29T03:08:51Z", "milestone": { "closed_at": null, - "closed_issues": 266, + "closed_issues": 278, "created_at": "2023-02-02T14:11:43Z", "creator": { "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", @@ -1708,10 +1840,10 @@ "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", "node_id": "MI_kwDOAPphoM4AiUsW", "number": 36, - "open_issues": 135, + "open_issues": 138, "state": "open", "title": "0.10", - "updated_at": "2024-01-29T07:22:06Z", + "updated_at": "2024-02-05T21:59:25Z", "url": "https://api.github.com/repos/neovim/neovim/milestones/36" }, "node_id": "PR_kwDOAPphoM5bnbbJ", @@ -1724,7 +1856,7 @@ "state": "closed", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/cebba62afc4dab185f85bc60cacbb2de44bb2bde", "title": "fix(jumplist): Ctrl+o, Ctrl+i behave unintuitively when deleting buffers", - "updated_at": "2024-01-29T06:30:55Z", + "updated_at": "2024-02-01T13:26:10Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/25461", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/24727270?v=4", diff --git a/repositories/neovim/pulls/25493.json b/repositories/neovim/pulls/25493.json index 3090c01a..0d227ccc 100644 --- a/repositories/neovim/pulls/25493.json +++ b/repositories/neovim/pulls/25493.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 4920, - "forks_count": 4920, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1659, - "open_issues_count": 1659, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2023-10-12T23:27:45Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 249239, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 70085, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2023-10-13T01:25:24Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 70085, - "watchers_count": 70085, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "6c0f900699293937435591412e4285e313703bc7", @@ -1034,9 +1034,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/lsvmello/neovim/pulls{/number}", - "pushed_at": "2023-10-12T05:21:08Z", + "pushed_at": "2024-02-05T05:23:15Z", "releases_url": "https://api.github.com/repos/lsvmello/neovim/releases{/id}", - "size": 243515, + "size": 245223, "ssh_url": "git@github.com:lsvmello/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/lsvmello/neovim/stargazers", @@ -1095,7 +1095,7 @@ "state": "closed", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/2dbee7d0b77a311ad0b80c1084b47a78729b64f9", "title": "fix(file_search): path with spaces in finddir() and findfile()", - "updated_at": "2023-10-12T13:03:47Z", + "updated_at": "2024-01-31T13:18:32Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/25493", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/70452831?v=4", diff --git a/repositories/neovim/pulls/25501.json b/repositories/neovim/pulls/25501.json index 5042cea1..52dc2d5f 100644 --- a/repositories/neovim/pulls/25501.json +++ b/repositories/neovim/pulls/25501.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 4909, - "forks_count": 4909, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1654, - "open_issues_count": 1654, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2023-10-04T23:48:38Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 248909, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 69903, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2023-10-05T01:49:45Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 69903, - "watchers_count": 69903, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "1e7e9ee91f73c62b8c5ba9dbdabba3a3b6dc0130", @@ -537,9 +537,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/lsvmello/neovim/pulls{/number}", - "pushed_at": "2023-10-04T17:18:12Z", + "pushed_at": "2024-02-05T05:23:15Z", "releases_url": "https://api.github.com/repos/lsvmello/neovim/releases{/id}", - "size": 243191, + "size": 245223, "ssh_url": "git@github.com:lsvmello/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/lsvmello/neovim/stargazers", @@ -608,7 +608,7 @@ "state": "closed", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/aa889ea78a709b49634d2bd56ec1ef72a81b03c4", "title": "fix(netrw): patch navigation", - "updated_at": "2023-10-04T16:48:17Z", + "updated_at": "2024-01-31T13:18:34Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/25501", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/70452831?v=4", diff --git a/repositories/neovim/pulls/25550.json b/repositories/neovim/pulls/25550.json index 138b485a..053edaa6 100644 --- a/repositories/neovim/pulls/25550.json +++ b/repositories/neovim/pulls/25550.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/8d00a6ef3b6db7327e4419701c9fd9c19a2de363" + "href": "https://api.github.com/repos/neovim/neovim/statuses/6b3e297820d9268d1c104a44f942f56d8748ad98" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5174, - "forks_count": 5174, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1735, - "open_issues_count": 1735, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-30T00:09:25Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251558, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 73268, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-30T01:30:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 73268, - "watchers_count": 73268, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, - "sha": "ca9f6f56949d66f0f6467fa64b215f861fe0a3bf", + "sha": "8fa67fdae539a13cf78621ab5a628da1fd745be2", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -170,7 +170,7 @@ } }, "body": "Goal: Make `nvim_open_win` and `nvim_win_set_config` support opening splits, and moving floating windows into splits.\r\n\r\nChanges to `FloatConfig`:\r\n- The `win` prop is now also used to determine which window should be split\r\n - Zero should split the current window, non-zero should split a specific window, and nil should create a top-level split.\r\n - A side-affect of this is that split windows can now be moved with `nvim_win_set_config`.\r\n- Added `vertical` and `split` props for controlling split position\r\n\r\nAdditionally, `win_split_ins` now returns the `win_T*` pointer to the newly created window on success, and `NULL` on failure, as it can initialize windows and it is useful (required for this PR) to have a pointer to the new window after creating it.\r\n\r\n**Needs Discussion**:\r\n- Removing `relative = \"\"` entirely, or leaving it for compatibility\r\n- Using `win=-1` vs `win=nil` for top-level splits (would allow for `win=nil` to split the current window) ([related](https://github.com/neovim/neovim/pull/25550#issuecomment-1756655060))\r\n\r\nTODO:\r\n- [x] Tests\r\n- [x] Docs\r\n- [x] Create `split` prop\r\n- [x] Add `vertical` boolean prop as an alias for `split=\"left\"` / `split=\"below\"`\r\n- [x] Validation for updated win configs\r\n- [x] Handle case of window already being a normal window\r\n- [x] Update `nvim_win_get_config`\r\n - [x] Add `width`, `height`, and `split` props\r\n- [x] Non-floats should use `relative=nil`, not `relative=\"\"`\r\n- [x] Apply width / height props to created splits\r\n- [x] Update current win split direction better in `set_config` ([see here](https://github.com/neovim/neovim/pull/25550#discussion_r1368034099))\r\n- [x] More tests\r\n - [x] Opening windows in non-current tabpage\r\n - [x] Moving windows to other tabpages\r\n - [x] Ensure set_config being called with the retval of get_config is a no-op\r\n\r\nhttps://github.com/neovim/neovim/assets/38540736/6a8e2d38-d0b4-4de5-bcca-e5d605f5609f\r\n\r\nfixes #14315 (maybe)", - "closed_at": null, + "closed_at": "2024-02-01T03:43:35Z", "comment_data": [ { "_links": { @@ -186,7 +186,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Should I create a `win_new_split` function instead of exposing these directly?", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-08T23:53:32Z", "diff_hunk": "@@ -1662,7 +1662,7 @@ int win_split_ins(int size, int flags, win_T *new_wp, int dir)\n // The windows will both edit the same buffer.\n // WSP_NEWLOC may be specified in flags to prevent the location list from\n // being copied.\n-static void win_init(win_T *newp, win_T *oldp, int flags)\n+void win_init(win_T *newp, win_T *oldp, int flags)", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1349799024", @@ -254,7 +254,7 @@ }, "author_association": "MEMBER", "body": "Any reason not to allow omitting `relative` (that was always what I assumed we'd do since we introduced `nvim_open_win`)? ", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-09T07:33:26Z", "diff_hunk": "@@ -3093,13 +3109,14 @@ nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*\n • {config} Map defining the window configuration. Keys:\n • relative: Sets the window layout to \"floating\", placed at\n (row,col) coordinates relative to:\n+ • \"\" Non-floating", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1349945754", @@ -322,7 +322,7 @@ }, "author_association": "CONTRIBUTOR", "body": "No, not particularly, I didn't think that through much. Should omitting `relative` resolve to a split window, the same as `relative=\"\"`?", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-09T07:34:51Z", "diff_hunk": "@@ -3093,13 +3109,14 @@ nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*\n • {config} Map defining the window configuration. Keys:\n • relative: Sets the window layout to \"floating\", placed at\n (row,col) coordinates relative to:\n+ • \"\" Non-floating", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1349946986", @@ -391,7 +391,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n • win: |window-ID| window to split, or relative window when creating a float (relative=\"win\").\r\n```", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-09T07:38:58Z", "diff_hunk": "@@ -3093,13 +3109,14 @@ nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*\n • {config} Map defining the window configuration. Keys:\n • relative: Sets the window layout to \"floating\", placed at\n (row,col) coordinates relative to:\n+ • \"\" Non-floating\n • \"editor\" The global editor grid\n • \"win\" Window given by the `win` field, or current\n window.\n • \"cursor\" Cursor position in current window.\n • \"mouse\" Mouse position\n \n- • win: |window-ID| for relative=\"win\".\n+ • win: |window-ID| for relative=\"win\" or relative=\"\".", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1349950737", @@ -459,7 +459,7 @@ }, "author_association": "MEMBER", "body": "should this be a `split: 'aboveleft' | 'belowright' | 'topleft' | 'botright'` param similar to `nvim_parse_cmd` ?\r\n\r\nI would guess that it makes sense for `nvim_open_win` to normally behave according to the user's 'splitright' and related options, unless explicitly overridden. Because the inverse would make life difficult for plugins that _want_ to respect the user's options.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-09T07:49:05Z", "diff_hunk": "@@ -3195,6 +3212,11 @@ nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*\n • fixed: If true when anchor is NW or SW, the float window\n would be kept fixed even if the window would be truncated.\n • hide: If true the floating window will be hidden.\n+ • vertical: If creating a normal (split) window, split\n+ vertically.\n+ • belowright: If creating a normal window, split to the", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1349960118", @@ -527,7 +527,7 @@ }, "author_association": "CONTRIBUTOR", "body": "I thought about that, definitely could do that if that's preferred. The reason why I ended up with two properties was so that omitting one is possible (and to mirror `splitright`/`splitbelow` options). I somewhat prefer the current implementation, but I don't have strong feelings about it and I definitely understand the appeal of minimizing the number of new properties. Happy to make the change if you want :)", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-09T07:59:08Z", "diff_hunk": "@@ -3195,6 +3212,11 @@ nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*\n • fixed: If true when anchor is NW or SW, the float window\n would be kept fixed even if the window would be truncated.\n • hide: If true the floating window will be hidden.\n+ • vertical: If creating a normal (split) window, split\n+ vertically.\n+ • belowright: If creating a normal window, split to the", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1349969978", @@ -596,7 +596,7 @@ }, "author_association": "MEMBER", "body": "I don't think `split` would eliminate the need for `vertical`. Rather it avoids the need for other, new options in the future. But I haven't thought through all the permutations so I am not certain if it's necessary. \r\n\r\nCurrently my reasoning is:\r\n\r\n- As a user, a `split` enum option as described above seems potentially more intuitive than a single `belowright` boolean.\r\n- Matching the existing `nvim_parse_cmd` interface seems like a safe choice.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-09T09:35:34Z", "diff_hunk": "@@ -3195,6 +3212,11 @@ nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*\n • fixed: If true when anchor is NW or SW, the float window\n would be kept fixed even if the window would be truncated.\n • hide: If true the floating window will be hidden.\n+ • vertical: If creating a normal (split) window, split\n+ vertically.\n+ • belowright: If creating a normal window, split to the", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1350068675", @@ -665,7 +665,7 @@ }, "author_association": "MEMBER", "body": "> Should omitting `relative` resolve to a split window, the same as `relative=\"\"`?\r\n\r\nYes. `relative` always was meant to indicate \"this is a float\". So if not given then it's not a float. I'd also say we _shouldn't_ support `relative=\"\"`. \"Relative\" is only for floats.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-09T09:36:31Z", "diff_hunk": "@@ -3093,13 +3109,14 @@ nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*\n • {config} Map defining the window configuration. Keys:\n • relative: Sets the window layout to \"floating\", placed at\n (row,col) coordinates relative to:\n+ • \"\" Non-floating", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1350069688", @@ -734,7 +734,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Why would vertical still be needed if `split` existed? Wouldn't `topleft` be the same as `vertical=true, belowright=false`, `botright` => `vertical=true, belowright=true`, etc.?\r\n\r\nOtherwise that's solid reasoning, I'll update the option to use an enum (probably tomorrow, I'm attempting to fix the tabpage issues atm).", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-09T09:41:50Z", "diff_hunk": "@@ -3195,6 +3212,11 @@ nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*\n • fixed: If true when anchor is NW or SW, the float window\n would be kept fixed even if the window would be truncated.\n • hide: If true the floating window will be hidden.\n+ • vertical: If creating a normal (split) window, split\n+ vertically.\n+ • belowright: If creating a normal window, split to the", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1350075241", @@ -803,7 +803,7 @@ }, "author_association": "MEMBER", "body": "> Wouldn't `topleft` be the same as `vertical=true, belowright=false`, `botright` => `vertical=true, belowright=true`, etc.?\r\n\r\nPresumably the same reason that `:vertical` command exists :) Can always drop the `vertical` param for now and add it later if needed.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-09T09:52:48Z", "diff_hunk": "@@ -3195,6 +3212,11 @@ nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*\n • fixed: If true when anchor is NW or SW, the float window\n would be kept fixed even if the window would be truncated.\n • hide: If true the floating window will be hidden.\n+ • vertical: If creating a normal (split) window, split\n+ vertically.\n+ • belowright: If creating a normal window, split to the", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1350088808", @@ -872,7 +872,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Ah, so `vertical=true` would essentially be the same as `topleft`, and `vertical=false` would be equivalent to `botright`? I like the idea of keeping `vertical` as a quick alias for a vertical split, using `split` for more granular control, and dropping `belowright`.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-09T09:55:48Z", "diff_hunk": "@@ -3195,6 +3212,11 @@ nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*\n • fixed: If true when anchor is NW or SW, the float window\n would be kept fixed even if the window would be truncated.\n • hide: If true the floating window will be hidden.\n+ • vertical: If creating a normal (split) window, split\n+ vertically.\n+ • belowright: If creating a normal window, split to the", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1350091931", @@ -941,7 +941,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Working on this now, and I'm realizing that the behavior of the options that match `parse_cmd` is not the same as my current implementation. The current implementation allows splitting any direction from any window, but `:belowright` / `:topleft` always create top-level splits. Imo the current functionality of this PR is more predictable and flexible than this would be. Should I use the names of the `split` options but keep the current functionality? \r\n\r\nI think a good enum option for the current implementation would be `top`/`bottom`/`left`/`right` because that more accurately describes how the window will split. \r\n\r\n| split | win | resulting action |\r\n|--------|-------|------------------------|\r\n| top | 0 | horizontal split above curwin |\r\n| left | nil | top-level left-aligned vert split |\r\n| right | 1002 | vertical split to the right of window 1002 |\r\n\r\netc... ", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-09T11:17:44Z", "diff_hunk": "@@ -3195,6 +3212,11 @@ nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*\n • fixed: If true when anchor is NW or SW, the float window\n would be kept fixed even if the window would be truncated.\n • hide: If true the floating window will be hidden.\n+ • vertical: If creating a normal (split) window, split\n+ vertically.\n+ • belowright: If creating a normal window, split to the", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1350171227", @@ -1010,7 +1010,7 @@ }, "author_association": "MEMBER", "body": "Makes sense. Though should the \"top\" case in your table be named \"above\"? Compare the `:aboveleft` command to the `:topleft` command.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-09T11:35:23Z", "diff_hunk": "@@ -3195,6 +3212,11 @@ nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*\n • fixed: If true when anchor is NW or SW, the float window\n would be kept fixed even if the window would be truncated.\n • hide: If true the floating window will be hidden.\n+ • vertical: If creating a normal (split) window, split\n+ vertically.\n+ • belowright: If creating a normal window, split to the", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1350187688", @@ -1079,7 +1079,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Yes, good idea, I'll use `above` and `below`.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-09T11:36:17Z", "diff_hunk": "@@ -3195,6 +3212,11 @@ nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*\n • fixed: If true when anchor is NW or SW, the float window\n would be kept fixed even if the window would be truncated.\n • hide: If true the floating window will be hidden.\n+ • vertical: If creating a normal (split) window, split\n+ vertically.\n+ • belowright: If creating a normal window, split to the", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1350188494", @@ -1148,7 +1148,7 @@ }, "author_association": "CONTRIBUTOR", "body": "`split` option is in, and I removed `belowright`.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-09T12:18:42Z", "diff_hunk": "@@ -3195,6 +3212,11 @@ nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*\n • fixed: If true when anchor is NW or SW, the float window\n would be kept fixed even if the window would be truncated.\n • hide: If true the floating window will be hidden.\n+ • vertical: If creating a normal (split) window, split\n+ vertically.\n+ • belowright: If creating a normal window, split to the", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1350232173", @@ -1217,7 +1217,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Maybe `win_get_config` shouldn't return anything for `relative` in split wins then? Currently it returns an empty string.\r\n\r\nEdit: Tried this, it breaks a lot of plugins since many check that `relative ~= \"\"` to determine if a window is floating. Maybe `win_get_config` shouldn't be changed? Or should we just make plugins adapt to the change?", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-09T12:22:31Z", "diff_hunk": "@@ -3093,13 +3109,14 @@ nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*\n • {config} Map defining the window configuration. Keys:\n • relative: Sets the window layout to \"floating\", placed at\n (row,col) coordinates relative to:\n+ • \"\" Non-floating", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1350236511", @@ -1286,7 +1286,7 @@ }, "author_association": "MEMBER", "body": "Nit: Use the same quote style across the example.\r\n```suggestion\r\n split = 'left',\r\n```", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-09T16:58:33Z", "diff_hunk": "@@ -3084,6 +3092,14 @@ nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*\n })\n <\n \n+ Example (Lua): vertical split to the left of the current window >lua\n+ vim.api.nvim_open_win(0, false, {\n+ relative = '',\n+ split = \"left\",", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1350560739", @@ -1354,7 +1354,7 @@ }, "author_association": "MEMBER", "body": "I would drop the \"can\" from these test names and just use `'creates a split window'`.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-09T17:01:22Z", "diff_hunk": "@@ -889,6 +889,246 @@ describe('API/win', function()\n }))\n eq(wins_before, meths.list_wins())\n end)\n+\n+ it('can create a split window', function()", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1350563932", @@ -1422,7 +1422,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Will do, thanks for the reviews!", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-09T17:47:11Z", "diff_hunk": "@@ -889,6 +889,246 @@ describe('API/win', function()\n }))\n eq(wins_before, meths.list_wins())\n end)\n+\n+ it('can create a split window', function()", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1350613967", @@ -1491,7 +1491,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Todo: fix this (accidentally replaced)", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-09T19:41:15Z", "diff_hunk": "@@ -564,7 +564,7 @@ describe('API/win', function()\n \n it('closing current (float) window of another tabpage #15313', function()\n command('tabedit')\n- command('botright split')\n+ command('belowright split')", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1350731409", @@ -1559,7 +1559,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Todo: Need to restore any properties changed here if the function fails later. I should move this as far down in the function as possible without breaking things.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-11T02:49:26Z", "diff_hunk": "@@ -2845,6 +2866,41 @@ int win_close(win_T *win, bool free_buf, bool force)\n return FAIL;\n }\n \n+ // We need to ensure that the first split in a row is marked \"left,\"\n+ // the last is marked \"right,\" and the same for columns with \"above\"\n+ // and \"below\"\n+ if (!win->w_floating && !win->w_float_config.external) {\n+ frame_T *sibling = NULL;\n+ if (win->w_frame->fr_prev != NULL && win->w_frame->fr_next == NULL) {\n+ sibling = win->w_frame->fr_prev;\n+ } else if (win->w_frame->fr_next != NULL && win->w_frame->fr_prev == NULL) {\n+ sibling = win->w_frame->fr_next;\n+ }", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1353905819", @@ -1627,7 +1627,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Also need to handle some of this logic for neighboring windows in `win_set_config`, because moving windows can lead to the `split` props being incorrect.\r\n\r\nAlso pretty much anywhere frame layout is affected. Maybe this could be done for all windows in `win_comp_pos` instead? Or for individual windows in `frame_remove`, `frame_insert`, etc.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-11T03:06:25Z", "diff_hunk": "@@ -2845,6 +2866,41 @@ int win_close(win_T *win, bool free_buf, bool force)\n return FAIL;\n }\n \n+ // We need to ensure that the first split in a row is marked \"left,\"\n+ // the last is marked \"right,\" and the same for columns with \"above\"\n+ // and \"below\"\n+ if (!win->w_floating && !win->w_float_config.external) {\n+ frame_T *sibling = NULL;\n+ if (win->w_frame->fr_prev != NULL && win->w_frame->fr_next == NULL) {\n+ sibling = win->w_frame->fr_prev;\n+ } else if (win->w_frame->fr_next != NULL && win->w_frame->fr_prev == NULL) {\n+ sibling = win->w_frame->fr_next;\n+ }", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1353945763", @@ -1696,7 +1696,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Todo: respect `'splitright'`/`'splitbelow'` with `vertical`", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-12T00:30:13Z", "diff_hunk": "@@ -185,26 +206,72 @@ Window nvim_open_win(Buffer buffer, Boolean enter, Dict(float_config) *config, E\n return 0;\n }\n \n- FloatConfig fconfig = FLOAT_CONFIG_INIT;\n+ bool is_split = !HAS_KEY(config, float_config, relative)\n+ && !HAS_KEY(config, float_config, external)\n+ && (HAS_KEY(config, float_config, split) || HAS_KEY(config, float_config,\n+ vertical));\n+ WinConfig fconfig = WIN_CONFIG_INIT;\n if (!parse_float_config(config, &fconfig, false, true, err)) {\n return 0;\n }\n- win_T *wp = win_new_float(NULL, false, fconfig, err);\n+ win_T *wp = NULL;\n+ if (is_split) {\n+ win_T *parent = NULL;\n+ if (HAS_KEY(config, float_config, win)) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ return 0;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return 0;\n+ }\n+ }\n+\n+ if (HAS_KEY(config, float_config, vertical) && !HAS_KEY(config, float_config, split)) {\n+ if (fconfig.vertical) {\n+ fconfig.split = kWinSplitLeft;", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1355912952", @@ -1764,7 +1764,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n If `relative` and `external` are omitted, a normal \"split\" window is created.\r\n```", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-12T13:45:49Z", "diff_hunk": "@@ -3051,16 +3051,23 @@ Win_Config Functions *api-win_config*\n nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*\n Open a new window.\n \n- Currently this is used to open floating and external windows. Floats are\n- windows that are drawn above the split layout, at some anchor position in\n- some other window. Floats can be drawn internally or by external GUI with\n- the |ui-multigrid| extension. External windows are only supported with\n- multigrid GUIs, and are displayed as separate top-level windows.\n+ This is used to open normal (split), floating and external windows. Floats\n+ are windows that are drawn above the split layout, at some anchor position\n+ in some other window. Floats can be drawn internally or by external GUI\n+ with the |ui-multigrid| extension. External windows are only supported\n+ with multigrid GUIs, and are displayed as separate top-level windows.\n \n For a general overview of floats, see |api-floatwin|.\n \n- Exactly one of `external` and `relative` must be specified. The `width`\n- and `height` of the new window must be specified.\n+ The `width` and `height` of the new window must be specified when opening\n+ a floating window, but are optional for normal windows.\n+\n+ If `relative` is unset, a normal window is created instea of a floating", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1356855424", @@ -1832,7 +1832,7 @@ }, "author_association": "MEMBER", "body": "delete this sentence\r\n```suggestion\r\n Floats\r\n```", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-12T13:46:06Z", "diff_hunk": "@@ -3051,16 +3051,23 @@ Win_Config Functions *api-win_config*\n nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*\n Open a new window.\n \n- Currently this is used to open floating and external windows. Floats are\n- windows that are drawn above the split layout, at some anchor position in\n- some other window. Floats can be drawn internally or by external GUI with\n- the |ui-multigrid| extension. External windows are only supported with\n- multigrid GUIs, and are displayed as separate top-level windows.\n+ This is used to open normal (split), floating and external windows. Floats", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1356855880", @@ -1900,7 +1900,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n Opens a new split window, or a floating window if `relative` is specified, or an external window (managed by the UI) if `external` is specified.\r\n```", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-12T13:48:00Z", "diff_hunk": "@@ -3051,16 +3051,23 @@ Win_Config Functions *api-win_config*\n nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*\n Open a new window.", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1356858538", @@ -1968,7 +1968,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n Example (Lua): vertical split left of the current window >lua\r\n```", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-12T13:50:51Z", "diff_hunk": "@@ -3084,6 +3091,13 @@ nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*\n })\n <\n \n+ Example (Lua): vertical split to the left of the current window >lua", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1356862637", @@ -2036,7 +2036,7 @@ }, "author_association": "MEMBER", "body": "\r\n```suggestion\r\n • vertical: Split vertically. |:vertical|\r\n```", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-12T13:53:22Z", "diff_hunk": "@@ -3195,6 +3210,10 @@ nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*\n • fixed: If true when anchor is NW or SW, the float window\n would be kept fixed even if the window would be truncated.\n • hide: If true the floating window will be hidden.\n+ • vertical: If creating a normal (split) window, split\n+ vertically.", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1356867377", @@ -2104,7 +2104,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n • split: Split direction: \"left\", \"right\", \"above\", \"below\".\r\n```", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-12T13:54:19Z", "diff_hunk": "@@ -3195,6 +3210,10 @@ nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*\n • fixed: If true when anchor is NW or SW, the float window\n would be kept fixed even if the window would be truncated.\n • hide: If true the floating window will be hidden.\n+ • vertical: If creating a normal (split) window, split\n+ vertically.\n+ • split: Split direction when creating a normal window.\n+ Value can be one of \"left,\" \"right,\" \"above,\" or \"below.\"", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1356868864", @@ -2172,7 +2172,7 @@ }, "author_association": "MEMBER", "body": "Does the reverse also work (normal => floating)?", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-12T13:54:56Z", "diff_hunk": "@@ -259,6 +259,9 @@ The following changes to existing APIs or features add new behavior.\n Note that syntax highlighting of code examples requires a matching parser\n and may be affected by custom queries.\n \n+• |nvim_open_win()| and |nvim_win_set_config()| now support opening normal (split)\n+ windows, and moving floating windows into split windows.", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1356869928", @@ -2240,7 +2240,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n it(\"respects the 'split' option\", function ()\r\n```", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-12T14:00:35Z", "diff_hunk": "@@ -889,6 +889,253 @@ describe('API/win', function()\n }))\n eq(wins_before, meths.list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = meths.open_win(0, true, {\n+ win = 0,\n+ vertical = false\n+ })\n+ eq(meths.win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local win = meths.open_win(0, true, {\n+ vertical = true,\n+ win = 0,\n+ })\n+ eq(meths.win_get_config(win).relative, '')\n+\n+ local layout = meths.call_function('winlayout', {})\n+\n+ -- walk the tree, and ensure the window is a vertical split\n+ local queue = { layout }\n+ local parent\n+ local current\n+ while true do\n+ current = table.remove(queue)\n+ if not current then break end\n+ if current[1] == 'row' or current[1] == 'col' then\n+ for _, child in ipairs(current[2]) do\n+ if child[1] == \"leaf\" then\n+ if child[2] == win.id then\n+ parent = current\n+ break\n+ end\n+ else\n+ table.insert(queue, child)\n+ end\n+ end\n+ if parent then break end\n+ end\n+ end\n+ eq(parent[1], 'row')\n+ end)\n+\n+ it('respects the \\'split\\' option', function ()", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1356878170", @@ -2308,7 +2308,7 @@ }, "author_association": "MEMBER", "body": "nit: make this a for-loop that fails after e.g. 1000 iterations, to avoid a hanging test.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-12T14:01:17Z", "diff_hunk": "@@ -889,6 +889,253 @@ describe('API/win', function()\n }))\n eq(wins_before, meths.list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = meths.open_win(0, true, {\n+ win = 0,\n+ vertical = false\n+ })\n+ eq(meths.win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local win = meths.open_win(0, true, {\n+ vertical = true,\n+ win = 0,\n+ })\n+ eq(meths.win_get_config(win).relative, '')\n+\n+ local layout = meths.call_function('winlayout', {})\n+\n+ -- walk the tree, and ensure the window is a vertical split\n+ local queue = { layout }\n+ local parent\n+ local current\n+ while true do", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1356879119", @@ -2376,7 +2376,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Yes (didn't that work before?)", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-12T14:01:27Z", "diff_hunk": "@@ -259,6 +259,9 @@ The following changes to existing APIs or features add new behavior.\n Note that syntax highlighting of code examples requires a matching parser\n and may be affected by custom queries.\n \n+• |nvim_open_win()| and |nvim_win_set_config()| now support opening normal (split)\n+ windows, and moving floating windows into split windows.", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1356879334", @@ -2445,7 +2445,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Good idea, will do", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-12T14:02:07Z", "diff_hunk": "@@ -889,6 +889,253 @@ describe('API/win', function()\n }))\n eq(wins_before, meths.list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = meths.open_win(0, true, {\n+ win = 0,\n+ vertical = false\n+ })\n+ eq(meths.win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local win = meths.open_win(0, true, {\n+ vertical = true,\n+ win = 0,\n+ })\n+ eq(meths.win_get_config(win).relative, '')\n+\n+ local layout = meths.call_function('winlayout', {})\n+\n+ -- walk the tree, and ensure the window is a vertical split\n+ local queue = { layout }\n+ local parent\n+ local current\n+ while true do", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1356880108", @@ -2514,7 +2514,7 @@ }, "author_association": "MEMBER", "body": "looks similar to the logic above, should it be extracted to a local function?", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-12T14:02:21Z", "diff_hunk": "@@ -889,6 +889,253 @@ describe('API/win', function()\n }))\n eq(wins_before, meths.list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = meths.open_win(0, true, {\n+ win = 0,\n+ vertical = false\n+ })\n+ eq(meths.win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local win = meths.open_win(0, true, {\n+ vertical = true,\n+ win = 0,\n+ })\n+ eq(meths.win_get_config(win).relative, '')\n+\n+ local layout = meths.call_function('winlayout', {})\n+\n+ -- walk the tree, and ensure the window is a vertical split\n+ local queue = { layout }\n+ local parent\n+ local current\n+ while true do\n+ current = table.remove(queue)\n+ if not current then break end\n+ if current[1] == 'row' or current[1] == 'col' then\n+ for _, child in ipairs(current[2]) do\n+ if child[1] == \"leaf\" then\n+ if child[2] == win.id then\n+ parent = current\n+ break\n+ end\n+ else\n+ table.insert(queue, child)\n+ end\n+ end\n+ if parent then break end\n+ end\n+ end\n+ eq(parent[1], 'row')\n+ end)\n+\n+ it('respects the \\'split\\' option', function ()\n+ local win = meths.open_win(0, true, {\n+ split = \"below\",\n+ win = 0,\n+ })\n+ eq(meths.win_get_config(win).relative, '')\n+\n+ local layout = meths.call_function('winlayout', {})\n+\n+ -- walk the tree, and ensure the window is a horizontal split\n+ local queue = { layout }\n+ local parent\n+ local current\n+ while true do\n+ current = table.remove(queue)\n+ if not current then break end\n+ if current[1] == 'row' or current[1] == 'col' then\n+ for _, child in ipairs(current[2]) do\n+ if child[1] == \"leaf\" then", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1356880390", @@ -2582,7 +2582,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Definitely could do, just wasn't sure if that was acceptable. Should I put that in the describe() block or in `helpers`?\r\n\r\nI may also be able to get away with just asserting the result of `vim.fn.winlayout` instead so maybe will get rid of this logic", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-12T14:39:15Z", "diff_hunk": "@@ -889,6 +889,253 @@ describe('API/win', function()\n }))\n eq(wins_before, meths.list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = meths.open_win(0, true, {\n+ win = 0,\n+ vertical = false\n+ })\n+ eq(meths.win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local win = meths.open_win(0, true, {\n+ vertical = true,\n+ win = 0,\n+ })\n+ eq(meths.win_get_config(win).relative, '')\n+\n+ local layout = meths.call_function('winlayout', {})\n+\n+ -- walk the tree, and ensure the window is a vertical split\n+ local queue = { layout }\n+ local parent\n+ local current\n+ while true do\n+ current = table.remove(queue)\n+ if not current then break end\n+ if current[1] == 'row' or current[1] == 'col' then\n+ for _, child in ipairs(current[2]) do\n+ if child[1] == \"leaf\" then\n+ if child[2] == win.id then\n+ parent = current\n+ break\n+ end\n+ else\n+ table.insert(queue, child)\n+ end\n+ end\n+ if parent then break end\n+ end\n+ end\n+ eq(parent[1], 'row')\n+ end)\n+\n+ it('respects the \\'split\\' option', function ()\n+ local win = meths.open_win(0, true, {\n+ split = \"below\",\n+ win = 0,\n+ })\n+ eq(meths.win_get_config(win).relative, '')\n+\n+ local layout = meths.call_function('winlayout', {})\n+\n+ -- walk the tree, and ensure the window is a horizontal split\n+ local queue = { layout }\n+ local parent\n+ local current\n+ while true do\n+ current = table.remove(queue)\n+ if not current then break end\n+ if current[1] == 'row' or current[1] == 'col' then\n+ for _, child in ipairs(current[2]) do\n+ if child[1] == \"leaf\" then", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1356931176", @@ -2651,7 +2651,7 @@ }, "author_association": "MEMBER", "body": "> Should I put that in the describe() block\r\n\r\nyes. helpers is for stuff that is useful for other test files.\r\n\r\n> I may also be able to get away with just asserting the result of vim.fn.winlayout instead so maybe will get rid of this logic\r\n\r\neven better :)", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-12T14:43:30Z", "diff_hunk": "@@ -889,6 +889,253 @@ describe('API/win', function()\n }))\n eq(wins_before, meths.list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = meths.open_win(0, true, {\n+ win = 0,\n+ vertical = false\n+ })\n+ eq(meths.win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local win = meths.open_win(0, true, {\n+ vertical = true,\n+ win = 0,\n+ })\n+ eq(meths.win_get_config(win).relative, '')\n+\n+ local layout = meths.call_function('winlayout', {})\n+\n+ -- walk the tree, and ensure the window is a vertical split\n+ local queue = { layout }\n+ local parent\n+ local current\n+ while true do\n+ current = table.remove(queue)\n+ if not current then break end\n+ if current[1] == 'row' or current[1] == 'col' then\n+ for _, child in ipairs(current[2]) do\n+ if child[1] == \"leaf\" then\n+ if child[2] == win.id then\n+ parent = current\n+ break\n+ end\n+ else\n+ table.insert(queue, child)\n+ end\n+ end\n+ if parent then break end\n+ end\n+ end\n+ eq(parent[1], 'row')\n+ end)\n+\n+ it('respects the \\'split\\' option', function ()\n+ local win = meths.open_win(0, true, {\n+ split = \"below\",\n+ win = 0,\n+ })\n+ eq(meths.win_get_config(win).relative, '')\n+\n+ local layout = meths.call_function('winlayout', {})\n+\n+ -- walk the tree, and ensure the window is a horizontal split\n+ local queue = { layout }\n+ local parent\n+ local current\n+ while true do\n+ current = table.remove(queue)\n+ if not current then break end\n+ if current[1] == 'row' or current[1] == 'col' then\n+ for _, child in ipairs(current[2]) do\n+ if child[1] == \"leaf\" then", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1356936844", @@ -2720,7 +2720,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Needs this logic in `win_close_othertab`", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-13T09:11:09Z", "diff_hunk": "@@ -2845,6 +2860,38 @@ int win_close(win_T *win, bool free_buf, bool force)\n return FAIL;\n }\n \n+ // We need to ensure that the first split in a row is marked \"left,\"\n+ // the last is marked \"right,\" and the same for columns with \"above\"\n+ // and \"below\"\n+ if (!win->w_floating && !win->w_config.external) {", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1357994979", @@ -2788,7 +2788,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n/// Split windows cannot have `bufpos`/`row`/`col`/`border`/`title`/`footer`\r\n```", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-15T11:18:03Z", "diff_hunk": "@@ -27,24 +28,33 @@\n #include \"nvim/pos.h\"\n #include \"nvim/syntax.h\"\n #include \"nvim/ui.h\"\n+#include \"nvim/ui_compositor.h\"\n #include \"nvim/window.h\"\n \n #ifdef INCLUDE_GENERATED_DECLARATIONS\n # include \"api/win_config.c.generated.h\"\n #endif\n \n-/// Open a new window.\n+/// Opens a new split window, or a floating window if `relative` is specified,\n+/// or an external window (managed by the UI) if `external` is specified.\n ///\n-/// Currently this is used to open floating and external windows.\n /// Floats are windows that are drawn above the split layout, at some anchor\n /// position in some other window. Floats can be drawn internally or by external\n /// GUI with the |ui-multigrid| extension. External windows are only supported\n /// with multigrid GUIs, and are displayed as separate top-level windows.\n ///\n /// For a general overview of floats, see |api-floatwin|.\n ///\n-/// Exactly one of `external` and `relative` must be specified. The `width` and\n-/// `height` of the new window must be specified.\n+/// The `width` and `height` of the new window must be specified when opening\n+/// a floating window, but are optional for normal windows.\n+///\n+/// If `relative` and `external` are omitted, a normal \"split\" window is created.\n+/// The `win` property determines which window will be split. If no `win` is\n+/// provided, a window will be created adjacent to the current window. If -1 is\n+/// provided, a top-level split will be created. `vertical` and `split` are only\n+/// valid for normal windows, and are used to control split direction.\n+/// Non-floating windows cannot have `bufpos`, `row`, `col`, or `border`/`title`", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1359856898", @@ -2856,7 +2856,7 @@ }, "author_association": "MEMBER", "body": "This doesn't look right. Why are 'splitright' and 'splitbelow' only respected when \"vertical\" is specified?", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-15T11:44:52Z", "diff_hunk": "@@ -185,26 +205,71 @@ Window nvim_open_win(Buffer buffer, Boolean enter, Dict(float_config) *config, E\n return 0;\n }\n \n- FloatConfig fconfig = FLOAT_CONFIG_INIT;\n+ WinConfig fconfig = WIN_CONFIG_INIT;\n if (!parse_float_config(config, &fconfig, false, true, err)) {\n return 0;\n }\n- win_T *wp = win_new_float(NULL, false, fconfig, err);\n+\n+ bool is_split = HAS_KEY(config, float_config, split) || HAS_KEY(config, float_config, vertical);\n+\n+ win_T *wp = NULL;\n+ if (is_split) {\n+ win_T *parent = NULL;\n+ if (HAS_KEY(config, float_config, win)) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ return 0;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return 0;\n+ }\n+ }\n+\n+ if (HAS_KEY(config, float_config, vertical) && !HAS_KEY(config, float_config, split)) {\n+ if (fconfig.vertical) {\n+ fconfig.split = p_spr ? kWinSplitRight : kWinSplitLeft;\n+ } else {\n+ fconfig.split = p_sb ? kWinSplitBelow : kWinSplitAbove;\n+ }\n+ }", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1359861907", @@ -2864,7 +2864,7 @@ "line": null, "node_id": "PRRC_kwDOAPphoM5RDdiT", "original_commit_id": "107d08921a0f11e2bef2d2079f7dea9bd2b8b250", - "original_line": 242, + "original_line": 243, "original_position": 120, "original_start_line": 228, "path": "src/nvim/api/win_config.c", @@ -2924,7 +2924,7 @@ }, "author_association": "CONTRIBUTOR", "body": "`vertical` is an alias for \"create a vertical or horizontal split in the default direction,\" mimicking `:split`/`:vsplit`, where `split` allows specifying a direction so its target direction shouldn't be modified by any options.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-15T11:52:20Z", "diff_hunk": "@@ -185,26 +205,71 @@ Window nvim_open_win(Buffer buffer, Boolean enter, Dict(float_config) *config, E\n return 0;\n }\n \n- FloatConfig fconfig = FLOAT_CONFIG_INIT;\n+ WinConfig fconfig = WIN_CONFIG_INIT;\n if (!parse_float_config(config, &fconfig, false, true, err)) {\n return 0;\n }\n- win_T *wp = win_new_float(NULL, false, fconfig, err);\n+\n+ bool is_split = HAS_KEY(config, float_config, split) || HAS_KEY(config, float_config, vertical);\n+\n+ win_T *wp = NULL;\n+ if (is_split) {\n+ win_T *parent = NULL;\n+ if (HAS_KEY(config, float_config, win)) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ return 0;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return 0;\n+ }\n+ }\n+\n+ if (HAS_KEY(config, float_config, vertical) && !HAS_KEY(config, float_config, split)) {\n+ if (fconfig.vertical) {\n+ fconfig.split = p_spr ? kWinSplitRight : kWinSplitLeft;\n+ } else {\n+ fconfig.split = p_sb ? kWinSplitBelow : kWinSplitAbove;\n+ }\n+ }", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1359862997", @@ -2933,7 +2933,7 @@ "line": null, "node_id": "PRRC_kwDOAPphoM5RDdzV", "original_commit_id": "107d08921a0f11e2bef2d2079f7dea9bd2b8b250", - "original_line": 242, + "original_line": 243, "original_position": 120, "original_start_line": 228, "path": "src/nvim/api/win_config.c", @@ -2993,7 +2993,7 @@ }, "author_association": "MEMBER", "body": "The previous naming is cleaner and more intuitive. For a normal window it only requires a few fields. I suggest separate (not sure)", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-15T11:53:00Z", "diff_hunk": "@@ -968,18 +980,20 @@ typedef struct {\n bool noautocmd;\n bool fixed;\n bool hide;\n-} FloatConfig;\n-\n-#define FLOAT_CONFIG_INIT ((FloatConfig){ .height = 0, .width = 0, \\\n- .bufpos = { -1, 0 }, \\\n- .row = 0, .col = 0, .anchor = 0, \\\n- .relative = 0, .external = false, \\\n- .focusable = true, \\\n- .zindex = kZIndexFloatDefault, \\\n- .style = kWinStyleUnused, \\\n- .noautocmd = false, \\\n- .hide = false, \\\n- .fixed = false })\n+} WinConfig;", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1359863105", @@ -3061,7 +3061,7 @@ }, "author_association": "MEMBER", "body": "Ah, I missed the `is_split` condition.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-15T11:53:16Z", "diff_hunk": "@@ -185,26 +205,71 @@ Window nvim_open_win(Buffer buffer, Boolean enter, Dict(float_config) *config, E\n return 0;\n }\n \n- FloatConfig fconfig = FLOAT_CONFIG_INIT;\n+ WinConfig fconfig = WIN_CONFIG_INIT;\n if (!parse_float_config(config, &fconfig, false, true, err)) {\n return 0;\n }\n- win_T *wp = win_new_float(NULL, false, fconfig, err);\n+\n+ bool is_split = HAS_KEY(config, float_config, split) || HAS_KEY(config, float_config, vertical);\n+\n+ win_T *wp = NULL;\n+ if (is_split) {\n+ win_T *parent = NULL;\n+ if (HAS_KEY(config, float_config, win)) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ return 0;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return 0;\n+ }\n+ }\n+\n+ if (HAS_KEY(config, float_config, vertical) && !HAS_KEY(config, float_config, split)) {\n+ if (fconfig.vertical) {\n+ fconfig.split = p_spr ? kWinSplitRight : kWinSplitLeft;\n+ } else {\n+ fconfig.split = p_sb ? kWinSplitBelow : kWinSplitAbove;\n+ }\n+ }", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1359863160", @@ -3070,7 +3070,7 @@ "line": null, "node_id": "PRRC_kwDOAPphoM5RDd14", "original_commit_id": "107d08921a0f11e2bef2d2079f7dea9bd2b8b250", - "original_line": 242, + "original_line": 243, "original_position": 120, "original_start_line": 228, "path": "src/nvim/api/win_config.c", @@ -3130,7 +3130,7 @@ }, "author_association": "MEMBER", "body": "This function name is a bit inaccurate.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-15T11:54:57Z", "diff_hunk": "@@ -415,10 +617,26 @@ static bool parse_float_relative(String relative, FloatRelative *out)\n return true;\n }\n \n+static bool parse_float_split(String split, WinSplit *out)", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1359863356", @@ -3198,7 +3198,7 @@ }, "author_association": "CONTRIBUTOR", "body": "@justinmk thoughts since you originally suggested the name change? I'm neutral on this, though I don't think a separate struct would be needed if that's what you mean.\r\n\r\nAlso, the `vertical` property may be able to be removed from here as it's not actually saved, just \"translated\" into a value of `split`.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-15T11:55:44Z", "diff_hunk": "@@ -968,18 +980,20 @@ typedef struct {\n bool noautocmd;\n bool fixed;\n bool hide;\n-} FloatConfig;\n-\n-#define FLOAT_CONFIG_INIT ((FloatConfig){ .height = 0, .width = 0, \\\n- .bufpos = { -1, 0 }, \\\n- .row = 0, .col = 0, .anchor = 0, \\\n- .relative = 0, .external = false, \\\n- .focusable = true, \\\n- .zindex = kZIndexFloatDefault, \\\n- .style = kWinStyleUnused, \\\n- .noautocmd = false, \\\n- .hide = false, \\\n- .fixed = false })\n+} WinConfig;", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1359863487", @@ -3267,7 +3267,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Yeah, agreed. Maybe `parse_config_split` or something would be better? I just copied the naming scheme of the other properties since I wasn't sure what to go with.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-15T11:57:08Z", "diff_hunk": "@@ -415,10 +617,26 @@ static bool parse_float_relative(String relative, FloatRelative *out)\n return true;\n }\n \n+static bool parse_float_split(String split, WinSplit *out)", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1359863696", @@ -3336,7 +3336,7 @@ }, "author_association": "MEMBER", "body": "this will initialize more fields when split a normal window through `nvim_open_win` :thinking: ", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-15T11:58:23Z", "diff_hunk": "@@ -968,18 +980,20 @@ typedef struct {\n bool noautocmd;\n bool fixed;\n bool hide;\n-} FloatConfig;\n-\n-#define FLOAT_CONFIG_INIT ((FloatConfig){ .height = 0, .width = 0, \\\n- .bufpos = { -1, 0 }, \\\n- .row = 0, .col = 0, .anchor = 0, \\\n- .relative = 0, .external = false, \\\n- .focusable = true, \\\n- .zindex = kZIndexFloatDefault, \\\n- .style = kWinStyleUnused, \\\n- .noautocmd = false, \\\n- .hide = false, \\\n- .fixed = false })\n+} WinConfig;", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1359863860", @@ -3405,7 +3405,7 @@ }, "author_association": "CONTRIBUTOR", "body": "The fields are initialized either way as far as I know, `win_alloc` initializes `win.w_config` to `WIN_CONFIG_INIT`", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-15T12:00:47Z", "diff_hunk": "@@ -968,18 +980,20 @@ typedef struct {\n bool noautocmd;\n bool fixed;\n bool hide;\n-} FloatConfig;\n-\n-#define FLOAT_CONFIG_INIT ((FloatConfig){ .height = 0, .width = 0, \\\n- .bufpos = { -1, 0 }, \\\n- .row = 0, .col = 0, .anchor = 0, \\\n- .relative = 0, .external = false, \\\n- .focusable = true, \\\n- .zindex = kZIndexFloatDefault, \\\n- .style = kWinStyleUnused, \\\n- .noautocmd = false, \\\n- .hide = false, \\\n- .fixed = false })\n+} WinConfig;", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1359864203", @@ -3474,7 +3474,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n```", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-15T12:02:55Z", "diff_hunk": "@@ -235,18 +315,118 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n if (!win) {\n return;\n }\n- bool new_float = !win->w_floating;\n+ bool was_normal = !win->w_floating;\n+ bool has_split = HAS_KEY(config, float_config, split);\n+ bool has_vertical = HAS_KEY(config, float_config, vertical);\n // reuse old values, if not overridden\n- FloatConfig fconfig = new_float ? FLOAT_CONFIG_INIT : win->w_float_config;\n+ WinConfig fconfig = win->w_config;\n+\n+ bool is_split = (!HAS_KEY(config, float_config, relative) || striequal(config->relative.data, \"\"))\n+ && ((!HAS_KEY(config, float_config,\n+ external) && !fconfig.external) || !config->external)\n+ && (has_split || has_vertical || was_normal);\n \n- if (!parse_float_config(config, &fconfig, !new_float, false, err)) {\n+ if (!parse_float_config(config, &fconfig, !was_normal || is_split, false, err)) {\n return;\n }\n- if (new_float) {\n+ if (was_normal && !is_split) {\n if (!win_new_float(win, false, fconfig, err)) {\n return;\n }\n redraw_later(win, UPD_NOT_VALID);\n+ } else if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ return;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return;\n+ }\n+ }\n+\n+ WinSplit old_split = win_split_dir(win);\n+ if (has_vertical && !has_split) {\n+ if (fconfig.vertical) {\n+ if (old_split == kWinSplitRight || p_spr) {\n+ fconfig.split = kWinSplitRight;\n+ } else {\n+ fconfig.split = kWinSplitLeft;\n+ }\n+ } else {\n+ if (old_split == kWinSplitBelow || p_sb) {\n+ fconfig.split = kWinSplitBelow;\n+ } else {\n+ fconfig.split = kWinSplitAbove;\n+ }\n+ }\n+ }\n+ win->w_config = fconfig;\n+\n+ // If there's no vertical or split set, or if the split is the same as the old split,\n+ // then we can just change the size of the window.\n+ if ((!has_vertical && !has_split)\n+ || (was_normal && !HAS_KEY(config, float_config, win) && old_split == fconfig.split)) {\n+ if (HAS_KEY(config, float_config, width)) {\n+ win_setwidth_win(fconfig.width, win);\n+ }\n+ if (HAS_KEY(config, float_config, height)) {\n+ win_setheight_win(fconfig.height, win);\n+ }\n+ redraw_later(win, UPD_NOT_VALID);\n+ return;\n+ }\n+\n+ if (was_normal) {\n+ // If the window is the last in the tabpage or `fconfig.win` is\n+ // a handle to itself, we can't split it.\n+ if (win->w_frame->fr_parent == NULL || (parent != NULL && parent->handle == win->handle)) {\n+ api_set_error(err, kErrorTypeValidation, \"Cannot split window into itself\");\n+ return;\n+ }\n+ int dir;\n+ winframe_remove(win, &dir, NULL);\n+ win_remove(win, NULL);\n+ } else {\n+ // Remove the old window from the tree of frames\n+ win_remove(win, NULL);\n+ // FIXME: Do I need to call this here? Seems to be the only way to close the float without\n+ // freeing the window structure.\n+ ui_comp_remove_grid(&win->w_grid_alloc);\n+ assert(first_tabpage != NULL); // suppress clang \"Dereference of NULL pointer\"", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1359864540", @@ -3542,7 +3542,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n```", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-15T12:03:18Z", "diff_hunk": "@@ -235,18 +315,118 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n if (!win) {\n return;\n }\n- bool new_float = !win->w_floating;\n+ bool was_normal = !win->w_floating;\n+ bool has_split = HAS_KEY(config, float_config, split);\n+ bool has_vertical = HAS_KEY(config, float_config, vertical);\n // reuse old values, if not overridden\n- FloatConfig fconfig = new_float ? FLOAT_CONFIG_INIT : win->w_float_config;\n+ WinConfig fconfig = win->w_config;\n+\n+ bool is_split = (!HAS_KEY(config, float_config, relative) || striequal(config->relative.data, \"\"))\n+ && ((!HAS_KEY(config, float_config,\n+ external) && !fconfig.external) || !config->external)\n+ && (has_split || has_vertical || was_normal);\n \n- if (!parse_float_config(config, &fconfig, !new_float, false, err)) {\n+ if (!parse_float_config(config, &fconfig, !was_normal || is_split, false, err)) {\n return;\n }\n- if (new_float) {\n+ if (was_normal && !is_split) {\n if (!win_new_float(win, false, fconfig, err)) {\n return;\n }\n redraw_later(win, UPD_NOT_VALID);\n+ } else if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ return;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return;\n+ }\n+ }\n+\n+ WinSplit old_split = win_split_dir(win);\n+ if (has_vertical && !has_split) {\n+ if (fconfig.vertical) {\n+ if (old_split == kWinSplitRight || p_spr) {\n+ fconfig.split = kWinSplitRight;\n+ } else {\n+ fconfig.split = kWinSplitLeft;\n+ }\n+ } else {\n+ if (old_split == kWinSplitBelow || p_sb) {\n+ fconfig.split = kWinSplitBelow;\n+ } else {\n+ fconfig.split = kWinSplitAbove;\n+ }\n+ }\n+ }\n+ win->w_config = fconfig;\n+\n+ // If there's no vertical or split set, or if the split is the same as the old split,\n+ // then we can just change the size of the window.\n+ if ((!has_vertical && !has_split)\n+ || (was_normal && !HAS_KEY(config, float_config, win) && old_split == fconfig.split)) {\n+ if (HAS_KEY(config, float_config, width)) {\n+ win_setwidth_win(fconfig.width, win);\n+ }\n+ if (HAS_KEY(config, float_config, height)) {\n+ win_setheight_win(fconfig.height, win);\n+ }\n+ redraw_later(win, UPD_NOT_VALID);\n+ return;\n+ }\n+\n+ if (was_normal) {\n+ // If the window is the last in the tabpage or `fconfig.win` is\n+ // a handle to itself, we can't split it.\n+ if (win->w_frame->fr_parent == NULL || (parent != NULL && parent->handle == win->handle)) {\n+ api_set_error(err, kErrorTypeValidation, \"Cannot split window into itself\");\n+ return;\n+ }\n+ int dir;\n+ winframe_remove(win, &dir, NULL);\n+ win_remove(win, NULL);\n+ } else {\n+ // Remove the old window from the tree of frames\n+ win_remove(win, NULL);\n+ // FIXME: Do I need to call this here? Seems to be the only way to close the float without\n+ // freeing the window structure.\n+ ui_comp_remove_grid(&win->w_grid_alloc);\n+ assert(first_tabpage != NULL); // suppress clang \"Dereference of NULL pointer\"\n+ if (win->w_config.external) {\n+ for (tabpage_T *tp = first_tabpage; tp != NULL; tp = tp->tp_next) {\n+ if (tp == curtab) {\n+ continue;\n+ }\n+ if (tp->tp_curwin == win) {\n+ // NB: an autocmd can still abort the closing of this window,\n+ // bur carring out this change anyway shouldn't be a catastrophe.", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1359864620", @@ -3610,7 +3610,7 @@ }, "author_association": "CONTRIBUTOR", "body": "I am overall unsure of the chunk below `ui_comp_remove_grid` - it is copy-pasted from `win_close`, but if it looks good I'll just remove that line :)", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-15T12:05:21Z", "diff_hunk": "@@ -235,18 +315,118 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n if (!win) {\n return;\n }\n- bool new_float = !win->w_floating;\n+ bool was_normal = !win->w_floating;\n+ bool has_split = HAS_KEY(config, float_config, split);\n+ bool has_vertical = HAS_KEY(config, float_config, vertical);\n // reuse old values, if not overridden\n- FloatConfig fconfig = new_float ? FLOAT_CONFIG_INIT : win->w_float_config;\n+ WinConfig fconfig = win->w_config;\n+\n+ bool is_split = (!HAS_KEY(config, float_config, relative) || striequal(config->relative.data, \"\"))\n+ && ((!HAS_KEY(config, float_config,\n+ external) && !fconfig.external) || !config->external)\n+ && (has_split || has_vertical || was_normal);\n \n- if (!parse_float_config(config, &fconfig, !new_float, false, err)) {\n+ if (!parse_float_config(config, &fconfig, !was_normal || is_split, false, err)) {\n return;\n }\n- if (new_float) {\n+ if (was_normal && !is_split) {\n if (!win_new_float(win, false, fconfig, err)) {\n return;\n }\n redraw_later(win, UPD_NOT_VALID);\n+ } else if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ return;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return;\n+ }\n+ }\n+\n+ WinSplit old_split = win_split_dir(win);\n+ if (has_vertical && !has_split) {\n+ if (fconfig.vertical) {\n+ if (old_split == kWinSplitRight || p_spr) {\n+ fconfig.split = kWinSplitRight;\n+ } else {\n+ fconfig.split = kWinSplitLeft;\n+ }\n+ } else {\n+ if (old_split == kWinSplitBelow || p_sb) {\n+ fconfig.split = kWinSplitBelow;\n+ } else {\n+ fconfig.split = kWinSplitAbove;\n+ }\n+ }\n+ }\n+ win->w_config = fconfig;\n+\n+ // If there's no vertical or split set, or if the split is the same as the old split,\n+ // then we can just change the size of the window.\n+ if ((!has_vertical && !has_split)\n+ || (was_normal && !HAS_KEY(config, float_config, win) && old_split == fconfig.split)) {\n+ if (HAS_KEY(config, float_config, width)) {\n+ win_setwidth_win(fconfig.width, win);\n+ }\n+ if (HAS_KEY(config, float_config, height)) {\n+ win_setheight_win(fconfig.height, win);\n+ }\n+ redraw_later(win, UPD_NOT_VALID);\n+ return;\n+ }\n+\n+ if (was_normal) {\n+ // If the window is the last in the tabpage or `fconfig.win` is\n+ // a handle to itself, we can't split it.\n+ if (win->w_frame->fr_parent == NULL || (parent != NULL && parent->handle == win->handle)) {\n+ api_set_error(err, kErrorTypeValidation, \"Cannot split window into itself\");\n+ return;\n+ }\n+ int dir;\n+ winframe_remove(win, &dir, NULL);\n+ win_remove(win, NULL);\n+ } else {\n+ // Remove the old window from the tree of frames\n+ win_remove(win, NULL);\n+ // FIXME: Do I need to call this here? Seems to be the only way to close the float without\n+ // freeing the window structure.\n+ ui_comp_remove_grid(&win->w_grid_alloc);\n+ assert(first_tabpage != NULL); // suppress clang \"Dereference of NULL pointer\"", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1359864940", @@ -3679,7 +3679,7 @@ }, "author_association": "MEMBER", "body": "oh yes.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-15T12:07:11Z", "diff_hunk": "@@ -968,18 +980,20 @@ typedef struct {\n bool noautocmd;\n bool fixed;\n bool hide;\n-} FloatConfig;\n-\n-#define FLOAT_CONFIG_INIT ((FloatConfig){ .height = 0, .width = 0, \\\n- .bufpos = { -1, 0 }, \\\n- .row = 0, .col = 0, .anchor = 0, \\\n- .relative = 0, .external = false, \\\n- .focusable = true, \\\n- .zindex = kZIndexFloatDefault, \\\n- .style = kWinStyleUnused, \\\n- .noautocmd = false, \\\n- .hide = false, \\\n- .fixed = false })\n+} WinConfig;", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1359865199", @@ -3748,7 +3748,7 @@ }, "author_association": "CONTRIBUTOR", "body": "I removed `vertical` from `WinConfig` since it doesn't need to be saved, so the only additional property being saved is the `WinSplit` enum.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-15T12:12:56Z", "diff_hunk": "@@ -968,18 +980,20 @@ typedef struct {\n bool noautocmd;\n bool fixed;\n bool hide;\n-} FloatConfig;\n-\n-#define FLOAT_CONFIG_INIT ((FloatConfig){ .height = 0, .width = 0, \\\n- .bufpos = { -1, 0 }, \\\n- .row = 0, .col = 0, .anchor = 0, \\\n- .relative = 0, .external = false, \\\n- .focusable = true, \\\n- .zindex = kZIndexFloatDefault, \\\n- .style = kWinStyleUnused, \\\n- .noautocmd = false, \\\n- .hide = false, \\\n- .fixed = false })\n+} WinConfig;", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1359866104", @@ -3817,7 +3817,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Renamed to `parse_config_split`, but feel free to reopen this if you'd prefer something else.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-15T12:28:23Z", "diff_hunk": "@@ -415,10 +617,26 @@ static bool parse_float_relative(String relative, FloatRelative *out)\n return true;\n }\n \n+static bool parse_float_split(String split, WinSplit *out)", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1359868707", @@ -3886,7 +3886,7 @@ }, "author_association": "CONTRIBUTOR", "body": "This currently throws when calling `vim.api.nvim_win_set_config(0, { vertical = true})` because `win=nil` splits the current window. `win_set_config` needs to handle this differently than `open_win` so the current window's split direction can be changed this way.\r\n\r\nBehavior for `win=nil` or `win=0` with the target window also being 0 should probably be:\r\n- If the target window is floating\r\n - Split based on `lastwin_nofloating()`\r\n - This seems to be the behavior of `:vsplit`\r\n- If the target window is the current (normal) window\r\n - If split axis has changed:\r\n - If the window is the last window, throw an error\r\n - If the window's frame contains only two windows\r\n - Rotate the frame / update `frame->fr_layout`\r\n - If the window's frame contains more than two windows\r\n - Insert a new frame and split adjacent to the frame\r\n - If split axis has not changed\r\n - Swap the window with its next/previous window, depending on split direction ", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-10-23T01:19:01Z", "diff_hunk": "@@ -235,18 +315,115 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n if (!win) {\n return;\n }\n- bool new_float = !win->w_floating;\n+ bool was_normal = !win->w_floating;\n+ bool has_split = HAS_KEY(config, float_config, split);\n+ bool has_vertical = HAS_KEY(config, float_config, vertical);\n // reuse old values, if not overridden\n- FloatConfig fconfig = new_float ? FLOAT_CONFIG_INIT : win->w_float_config;\n+ FloatConfig fconfig = win->w_float_config;\n+\n+ bool is_split = (!HAS_KEY(config, float_config, relative) || striequal(config->relative.data, \"\"))\n+ && ((!HAS_KEY(config, float_config,\n+ external) && !fconfig.external) || !config->external)\n+ && (has_split || has_vertical || was_normal);\n \n- if (!parse_float_config(config, &fconfig, !new_float, false, err)) {\n+ if (!parse_float_config(config, &fconfig, !was_normal || is_split, false, err)) {\n return;\n }\n- if (new_float) {\n+ if (was_normal && !is_split) {\n if (!win_new_float(win, false, fconfig, err)) {\n return;\n }\n redraw_later(win, UPD_NOT_VALID);\n+ } else if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ return;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return;\n+ }\n+ }\n+\n+ WinSplit old_split = win_split_dir(win);\n+ if (has_vertical && !has_split) {\n+ if (config->vertical) {\n+ if (old_split == kWinSplitRight || p_spr) {\n+ fconfig.split = kWinSplitRight;\n+ } else {\n+ fconfig.split = kWinSplitLeft;\n+ }\n+ } else {\n+ if (old_split == kWinSplitBelow || p_sb) {\n+ fconfig.split = kWinSplitBelow;\n+ } else {\n+ fconfig.split = kWinSplitAbove;\n+ }\n+ }\n+ }\n+ win->w_float_config = fconfig;\n+\n+ // If there's no vertical or split set, or if the split is the same as the old split,\n+ // then we can just change the size of the window.\n+ if ((!has_vertical && !has_split)\n+ || (was_normal\n+ && !HAS_KEY(config, float_config,\n+ win) && ((!has_split && !has_vertical) || old_split == fconfig.split))) {\n+ if (HAS_KEY(config, float_config, width)) {\n+ win_setwidth_win(fconfig.width, win);\n+ }\n+ if (HAS_KEY(config, float_config, height)) {\n+ win_setheight_win(fconfig.height, win);\n+ }\n+ redraw_later(win, UPD_NOT_VALID);\n+ return;\n+ }\n+\n+ if (was_normal) {\n+ // If the window is the last in the tabpage or `fconfig.win` is\n+ // a handle to itself, we can't split it.\n+ if (win->w_frame->fr_parent == NULL || (parent != NULL && parent->handle == win->handle)) {\n+ api_set_error(err, kErrorTypeValidation, \"Cannot split window into itself\");", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1368034099", @@ -3954,7 +3954,7 @@ }, "author_association": "MEMBER", "body": "these are normal window actions. it's better not define in winfloat", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-12-01T02:08:42Z", "diff_hunk": "@@ -14,6 +14,10 @@ EXTERN const char *const float_anchor_str[] INIT( = { \"NW\", \"NE\", \"SW\", \"SE\" });\n EXTERN const char *const float_relative_str[]\n INIT( = { \"editor\", \"win\", \"cursor\", \"mouse\" });\n \n+/// Keep in sync with WinSplit in buffer_defs.h\n+EXTERN const char *const win_split_str[] INIT( = { \"left\", \"right\",", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1411518957", @@ -4022,7 +4022,7 @@ }, "author_association": "CONTRIBUTOR", "body": "True, I was unsure about that - would `win_configs.h` be a good place to put it instead?", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-12-01T08:03:34Z", "diff_hunk": "@@ -14,6 +14,10 @@ EXTERN const char *const float_anchor_str[] INIT( = { \"NW\", \"NE\", \"SW\", \"SE\" });\n EXTERN const char *const float_relative_str[]\n INIT( = { \"editor\", \"win\", \"cursor\", \"mouse\" });\n \n+/// Keep in sync with WinSplit in buffer_defs.h\n+EXTERN const char *const win_split_str[] INIT( = { \"left\", \"right\",", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1411744813", @@ -4091,7 +4091,7 @@ }, "author_association": "MEMBER", "body": "It's only used in `win_config.c`, so it can be a static array in `win_config.c` as well (and even only scoped in `nvim_win_get_config`, the only function that uses it).", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-12-01T08:06:42Z", "diff_hunk": "@@ -14,6 +14,10 @@ EXTERN const char *const float_anchor_str[] INIT( = { \"NW\", \"NE\", \"SW\", \"SE\" });\n EXTERN const char *const float_relative_str[]\n INIT( = { \"editor\", \"win\", \"cursor\", \"mouse\" });\n \n+/// Keep in sync with WinSplit in buffer_defs.h\n+EXTERN const char *const win_split_str[] INIT( = { \"left\", \"right\",", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1411747242", @@ -4160,7 +4160,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Thanks, sounds good.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-12-01T08:13:12Z", "diff_hunk": "@@ -14,6 +14,10 @@ EXTERN const char *const float_anchor_str[] INIT( = { \"NW\", \"NE\", \"SW\", \"SE\" });\n EXTERN const char *const float_relative_str[]\n INIT( = { \"editor\", \"win\", \"cursor\", \"mouse\" });\n \n+/// Keep in sync with WinSplit in buffer_defs.h\n+EXTERN const char *const win_split_str[] INIT( = { \"left\", \"right\",", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1411752908", @@ -4229,7 +4229,7 @@ }, "author_association": "CONTRIBUTOR", "body": "One question: what does the `INIT` macro actually do? It seems to be causing tests to fail since moving the array to win_config.h, and making clangd complain about the array being assumed to contain only one element (warning goes away if I mark it extern again instead of static).\r\n\r\nI moved the definition to win_config.h but waiting to make it static because of this ", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-12-01T08:20:44Z", "diff_hunk": "@@ -14,6 +14,10 @@ EXTERN const char *const float_anchor_str[] INIT( = { \"NW\", \"NE\", \"SW\", \"SE\" });\n EXTERN const char *const float_relative_str[]\n INIT( = { \"editor\", \"win\", \"cursor\", \"mouse\" });\n \n+/// Keep in sync with WinSplit in buffer_defs.h\n+EXTERN const char *const win_split_str[] INIT( = { \"left\", \"right\",", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1411760675", @@ -4298,7 +4298,7 @@ }, "author_association": "MEMBER", "body": "See #26344 for an example. `INIT` macro is only used in headers, and it only initializes a variable in a header when it is included in `main.c`.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-12-01T08:27:04Z", "diff_hunk": "@@ -14,6 +14,10 @@ EXTERN const char *const float_anchor_str[] INIT( = { \"NW\", \"NE\", \"SW\", \"SE\" });\n EXTERN const char *const float_relative_str[]\n INIT( = { \"editor\", \"win\", \"cursor\", \"mouse\" });\n \n+/// Keep in sync with WinSplit in buffer_defs.h\n+EXTERN const char *const win_split_str[] INIT( = { \"left\", \"right\",", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1411767646", @@ -4367,7 +4367,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Gotcha, thank you!", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-12-01T08:32:34Z", "diff_hunk": "@@ -14,6 +14,10 @@ EXTERN const char *const float_anchor_str[] INIT( = { \"NW\", \"NE\", \"SW\", \"SE\" });\n EXTERN const char *const float_relative_str[]\n INIT( = { \"editor\", \"win\", \"cursor\", \"mouse\" });\n \n+/// Keep in sync with WinSplit in buffer_defs.h\n+EXTERN const char *const win_split_str[] INIT( = { \"left\", \"right\",", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1411772949", @@ -4436,7 +4436,7 @@ }, "author_association": "MEMBER", "body": "This change doesn't seem needed.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-12-03T04:58:32Z", "diff_hunk": "@@ -257,8 +434,8 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n }\n }\n \n-static Dictionary config_put_bordertext(Dictionary config, FloatConfig *fconfig,\n- BorderTextType bordertext_type)\n+Dictionary config_put_bordertext(Dictionary config, FloatConfig *fconfig,", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1413003004", @@ -4504,7 +4504,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n static const char *const win_split_str[] = { \"left\", \"right\", \"above\", \"below\" };\r\n```", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-12-03T04:58:45Z", "diff_hunk": "@@ -314,6 +491,10 @@ Dictionary nvim_win_get_config(Window window, Error *err)\n /// Keep in sync with FloatRelative in buffer_defs.h\n static const char *const float_relative_str[] = { \"editor\", \"win\", \"cursor\", \"mouse\" };\n \n+ /// Keep in sync with WinSplit in buffer_defs.h\n+ static const char *const win_split_str[] = { \"left\", \"right\",\n+ \"above\", \"below\" };", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1413003012", @@ -4572,7 +4572,7 @@ }, "author_association": "MEMBER", "body": "This change neither (after changing `config_put_bordertext()` back to static)", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-12-03T04:59:52Z", "diff_hunk": "@@ -4,6 +4,7 @@\n \n #include \"nvim/api/keysets_defs.h\" // IWYU pragma: keep\n #include \"nvim/api/private/defs.h\" // IWYU pragma: keep\n+#include \"nvim/buffer_defs.h\" // IWYU pragma: keep", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1413003129", @@ -4640,7 +4640,7 @@ }, "author_association": "MEMBER", "body": "ditto", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-12-03T05:00:03Z", "diff_hunk": "@@ -10,9 +10,10 @@\n #include \"nvim/api/win_config.h\"\n #include \"nvim/ascii_defs.h\"\n #include \"nvim/autocmd.h\"\n-#include \"nvim/buffer_defs.h\"", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1413003153", @@ -4708,7 +4708,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Ah, I don't think I touched anything related to border. That's probably from a merge, will remove. Thanks!", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-12-03T05:25:03Z", "diff_hunk": "@@ -257,8 +434,8 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n }\n }\n \n-static Dictionary config_put_bordertext(Dictionary config, FloatConfig *fconfig,\n- BorderTextType bordertext_type)\n+Dictionary config_put_bordertext(Dictionary config, FloatConfig *fconfig,", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1413005415", @@ -4777,7 +4777,7 @@ }, "author_association": "MEMBER", "body": "There's a `return FAIL` for the autocmd window that should be `return NULL` below (GitHub won't let me attach a comment there :frowning_face:)", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-12-05T13:30:44Z", "diff_hunk": "@@ -946,14 +946,14 @@ int win_split(int size, int flags)\n clear_snapshot(curtab, SNAP_HELP_IDX);\n }\n \n- return win_split_ins(size, flags, NULL, 0);\n+ return win_split_ins(size, flags, NULL, 0) == NULL ? FAIL : OK;\n }\n \n /// When \"new_wp\" is NULL: split the current window in two.\n /// When \"new_wp\" is not NULL: insert this window at the far\n /// top/left/right/bottom.\n-/// @return FAIL for failure, OK otherwise\n-int win_split_ins(int size, int flags, win_T *new_wp, int dir)\n+/// @return NULL for failure, or pointer to new window\n+win_T *win_split_ins(int size, int flags, win_T *new_wp, int dir)", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1415616751", @@ -4845,7 +4845,7 @@ }, "author_association": "MEMBER", "body": "If `win_split_ins` fails, this'll be a NULL pointer deref on `wp`:\r\n\r\n```vim\r\n\" force 'not enough room' error\r\nwhile 1 | call nvim_open_win(0, 0, #{split: 'left'}) | endw\r\n```", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-12-05T14:12:06Z", "diff_hunk": "@@ -187,22 +209,67 @@ Window nvim_open_win(Buffer buffer, Boolean enter, Dict(float_config) *config, E\n if (!parse_float_config(config, &fconfig, false, true, err)) {\n return 0;\n }\n- win_T *wp = win_new_float(NULL, false, fconfig, err);\n+\n+ bool is_split = HAS_KEY(config, float_config, split) || HAS_KEY(config, float_config, vertical);\n+\n+ win_T *wp = NULL;\n+ if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ return 0;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return 0;\n+ }\n+ }\n+\n+ if (HAS_KEY(config, float_config, vertical) && !HAS_KEY(config, float_config, split)) {\n+ if (config->vertical) {\n+ fconfig.split = p_spr ? kWinSplitRight : kWinSplitLeft;\n+ } else {\n+ fconfig.split = p_sb ? kWinSplitBelow : kWinSplitAbove;\n+ }\n+ }\n+ int flags = win_split_flags(fconfig.split, parent == NULL);\n+\n+ if (parent == NULL) {\n+ wp = win_split_ins(0, flags, NULL, 0);\n+ } else {\n+ tabpage_T *tp = win_find_tabpage(parent);\n+ tabpage_T *old_curtab = curtab;\n+ RedrawingDisabled++;\n+ if (tp->handle != curtab->handle) {\n+ goto_tabpage_tp(tp, false, false);\n+ }\n+ WIN_EXECUTE(parent, tp, {\n+ wp = win_split_ins(0, flags, NULL, 0);\n+ });\n+ if (!enter && tp->handle != old_curtab->handle) {\n+ goto_tabpage_tp(old_curtab, true, false);\n+ }\n+ RedrawingDisabled--;\n+ }\n+ wp->w_float_config = fconfig;", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1415678649", @@ -4913,7 +4913,7 @@ }, "author_association": "MEMBER", "body": "This'll be prone to autocmd trickery.\r\nE.g: we can delete `old_curtab` to cause a heap UAF:\r\n\r\n```vim\r\nlet w = win_getid()\r\ntabe\r\nau WinEnter * tabo \" runs in 1st tp, deletes 2nd tp\r\ncall nvim_open_win(0, 0, #{win: w, split: 'left'})\r\n```\r\n\r\nThe events fired here are also a bit odd:\r\n\r\n```vim\r\ntabe\r\nlet w = win_getid()\r\nsp\r\ntabN\r\nau WinEnter * echom \"WinEnter\" win_getid()\r\nau WinLeave * echom \"WinLeave\" win_getid()\r\ncall nvim_open_win(0, 1, #{split: 'left', win: w})\r\n\r\n\" output:\r\n\" WinLeave 1001 (no WinLeave 1000?)\r\n\" WinEnter 1003\r\n\" WinLeave 1002 (no WinLeave 1003 and WinEnter 1002?; this also looks like `tp->curwin`)\r\n\" WinEnter 1003 \r\n```", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-12-05T14:49:53Z", "diff_hunk": "@@ -187,22 +209,67 @@ Window nvim_open_win(Buffer buffer, Boolean enter, Dict(float_config) *config, E\n if (!parse_float_config(config, &fconfig, false, true, err)) {\n return 0;\n }\n- win_T *wp = win_new_float(NULL, false, fconfig, err);\n+\n+ bool is_split = HAS_KEY(config, float_config, split) || HAS_KEY(config, float_config, vertical);\n+\n+ win_T *wp = NULL;\n+ if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ return 0;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return 0;\n+ }\n+ }\n+\n+ if (HAS_KEY(config, float_config, vertical) && !HAS_KEY(config, float_config, split)) {\n+ if (config->vertical) {\n+ fconfig.split = p_spr ? kWinSplitRight : kWinSplitLeft;\n+ } else {\n+ fconfig.split = p_sb ? kWinSplitBelow : kWinSplitAbove;\n+ }\n+ }\n+ int flags = win_split_flags(fconfig.split, parent == NULL);\n+\n+ if (parent == NULL) {\n+ wp = win_split_ins(0, flags, NULL, 0);\n+ } else {\n+ tabpage_T *tp = win_find_tabpage(parent);\n+ tabpage_T *old_curtab = curtab;\n+ RedrawingDisabled++;\n+ if (tp->handle != curtab->handle) {\n+ goto_tabpage_tp(tp, false, false);\n+ }\n+ WIN_EXECUTE(parent, tp, {\n+ wp = win_split_ins(0, flags, NULL, 0);\n+ });\n+ if (!enter && tp->handle != old_curtab->handle) {\n+ goto_tabpage_tp(old_curtab, true, false);\n+ }\n+ RedrawingDisabled--;", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1415742168", @@ -4981,7 +4981,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Thanks for the reviews! Yeah, this is definitely part of the code I wanted to revisit. This is the only way I could find that would allow me to insert a window in a specific location though - any ideas?\r\n\r\nEspecially for the case of the window being in another tabpage, I think that complicates things a good bit.\r\n\r\nThe one thing I have not yet attempted is creating a function that implements the window creation separately from `win_split_ins`, which could be an option here if needed.\r\n\r\n", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-12-05T15:44:38Z", "diff_hunk": "@@ -187,22 +209,67 @@ Window nvim_open_win(Buffer buffer, Boolean enter, Dict(float_config) *config, E\n if (!parse_float_config(config, &fconfig, false, true, err)) {\n return 0;\n }\n- win_T *wp = win_new_float(NULL, false, fconfig, err);\n+\n+ bool is_split = HAS_KEY(config, float_config, split) || HAS_KEY(config, float_config, vertical);\n+\n+ win_T *wp = NULL;\n+ if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ return 0;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return 0;\n+ }\n+ }\n+\n+ if (HAS_KEY(config, float_config, vertical) && !HAS_KEY(config, float_config, split)) {\n+ if (config->vertical) {\n+ fconfig.split = p_spr ? kWinSplitRight : kWinSplitLeft;\n+ } else {\n+ fconfig.split = p_sb ? kWinSplitBelow : kWinSplitAbove;\n+ }\n+ }\n+ int flags = win_split_flags(fconfig.split, parent == NULL);\n+\n+ if (parent == NULL) {\n+ wp = win_split_ins(0, flags, NULL, 0);\n+ } else {\n+ tabpage_T *tp = win_find_tabpage(parent);\n+ tabpage_T *old_curtab = curtab;\n+ RedrawingDisabled++;\n+ if (tp->handle != curtab->handle) {\n+ goto_tabpage_tp(tp, false, false);\n+ }\n+ WIN_EXECUTE(parent, tp, {\n+ wp = win_split_ins(0, flags, NULL, 0);\n+ });\n+ if (!enter && tp->handle != old_curtab->handle) {\n+ goto_tabpage_tp(old_curtab, true, false);\n+ }\n+ RedrawingDisabled--;", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1415839416", @@ -5050,7 +5050,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Right, I didn't notice that I forgot to check the return of `win_split_ins`. Thanks!", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2023-12-05T15:48:42Z", "diff_hunk": "@@ -187,22 +209,67 @@ Window nvim_open_win(Buffer buffer, Boolean enter, Dict(float_config) *config, E\n if (!parse_float_config(config, &fconfig, false, true, err)) {\n return 0;\n }\n- win_T *wp = win_new_float(NULL, false, fconfig, err);\n+\n+ bool is_split = HAS_KEY(config, float_config, split) || HAS_KEY(config, float_config, vertical);\n+\n+ win_T *wp = NULL;\n+ if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ return 0;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return 0;\n+ }\n+ }\n+\n+ if (HAS_KEY(config, float_config, vertical) && !HAS_KEY(config, float_config, split)) {\n+ if (config->vertical) {\n+ fconfig.split = p_spr ? kWinSplitRight : kWinSplitLeft;\n+ } else {\n+ fconfig.split = p_sb ? kWinSplitBelow : kWinSplitAbove;\n+ }\n+ }\n+ int flags = win_split_flags(fconfig.split, parent == NULL);\n+\n+ if (parent == NULL) {\n+ wp = win_split_ins(0, flags, NULL, 0);\n+ } else {\n+ tabpage_T *tp = win_find_tabpage(parent);\n+ tabpage_T *old_curtab = curtab;\n+ RedrawingDisabled++;\n+ if (tp->handle != curtab->handle) {\n+ goto_tabpage_tp(tp, false, false);\n+ }\n+ WIN_EXECUTE(parent, tp, {\n+ wp = win_split_ins(0, flags, NULL, 0);\n+ });\n+ if (!enter && tp->handle != old_curtab->handle) {\n+ goto_tabpage_tp(old_curtab, true, false);\n+ }\n+ RedrawingDisabled--;\n+ }\n+ wp->w_float_config = fconfig;", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1415846102", @@ -5119,7 +5119,7 @@ }, "author_association": "MEMBER", "body": "Don't do this, as `assert`s are not compiled into non-debug builds.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2024-01-27T08:21:55Z", "diff_hunk": "@@ -190,22 +215,70 @@ Window nvim_open_win(Buffer buffer, Boolean enter, Dict(float_config) *config, E\n if (!parse_float_config(config, &fconfig, false, true, err)) {\n return 0;\n }\n- win_T *wp = win_new_float(NULL, false, fconfig, err);\n+\n+ bool is_split = HAS_KEY(config, float_config, split) || HAS_KEY(config, float_config, vertical);\n+\n+ win_T *wp = NULL;\n+ tabpage_T *tp = curtab;\n+ if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ // find_window_by_handle will have set the error\n+ return 0;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return 0;\n+ }\n+ }\n+\n+ if (HAS_KEY(config, float_config, vertical) && !HAS_KEY(config, float_config, split)) {\n+ if (config->vertical) {\n+ fconfig.split = p_spr ? kWinSplitRight : kWinSplitLeft;\n+ } else {\n+ fconfig.split = p_sb ? kWinSplitBelow : kWinSplitAbove;\n+ }\n+ }\n+ int flags = win_split_flags(fconfig.split, parent == NULL) | WSP_NOENTER;\n+\n+ if (parent == NULL) {\n+ wp = win_split_ins(0, flags, NULL, 0);\n+ } else {\n+ tp = win_find_tabpage(parent);\n+ switchwin_T switchwin;\n+ // `parent` is valid in `tp`, so switch_win should not fail.\n+ // Assert directly to avoid unused variable lint.\n+ assert(switch_win(&switchwin, parent, tp, true) == OK);", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1468415435", @@ -5187,7 +5187,7 @@ }, "author_association": "MEMBER", "body": "This is even worse. Instead you should add a `(void)result;`.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2024-01-27T08:22:25Z", "diff_hunk": "@@ -190,22 +215,70 @@ Window nvim_open_win(Buffer buffer, Boolean enter, Dict(float_config) *config, E\n if (!parse_float_config(config, &fconfig, false, true, err)) {\n return 0;\n }\n- win_T *wp = win_new_float(NULL, false, fconfig, err);\n+\n+ bool is_split = HAS_KEY(config, float_config, split) || HAS_KEY(config, float_config, vertical);\n+\n+ win_T *wp = NULL;\n+ tabpage_T *tp = curtab;\n+ if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ // find_window_by_handle will have set the error\n+ return 0;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return 0;\n+ }\n+ }\n+\n+ if (HAS_KEY(config, float_config, vertical) && !HAS_KEY(config, float_config, split)) {\n+ if (config->vertical) {\n+ fconfig.split = p_spr ? kWinSplitRight : kWinSplitLeft;\n+ } else {\n+ fconfig.split = p_sb ? kWinSplitBelow : kWinSplitAbove;\n+ }\n+ }\n+ int flags = win_split_flags(fconfig.split, parent == NULL) | WSP_NOENTER;\n+\n+ if (parent == NULL) {\n+ wp = win_split_ins(0, flags, NULL, 0);\n+ } else {\n+ tp = win_find_tabpage(parent);\n+ switchwin_T switchwin;\n+ // `parent` is valid in `tp`, so switch_win should not fail.\n+ // Assert directly to avoid unused variable lint.\n+ assert(switch_win(&switchwin, parent, tp, true) == OK);", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1468415492", @@ -5255,7 +5255,7 @@ }, "author_association": "MEMBER", "body": "You need to also set `no_display` to true for `switch_win_noblock` above.\r\n\r\nFor context, I made these changes as `leave_tabpage()` messes with `tp_curwin`, `tp_prevwin` and other things. That made splitting a window in a non-current tabpage without `enter` change the curwin or prevwin of that tabpage, which wasn't desirable (may be worth adding a test case for that).\r\n\r\nIt's possible this approach has other side-effects, but it seemed to work well enough. ", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2024-01-27T18:52:42Z", "diff_hunk": "@@ -733,7 +733,7 @@ void win_set_buf(win_T *win, buf_T *buf, bool noautocmd, Error *err)\n // So do it now.\n validate_cursor();\n \n- restore_win_noblock(&switchwin, false);\n+ restore_win_noblock(&switchwin, true);", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1468560733", @@ -5323,7 +5323,7 @@ }, "author_association": "MEMBER", "body": "Nice spotting! I made a few mistakes in these test changes which you've fixed. :+1:", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2024-01-27T19:07:35Z", "diff_hunk": "@@ -104,14 +104,20 @@ describe('float window', function()\n end)\n \n it('open with WinNew autocmd', function()\n- local res = exec_lua([[\n- local triggerd = false\n+ local new_triggered_before_enter, new_curwin, win = unpack(exec_lua([[\n+ local enter_triggered = false\n+ local new_triggered_before_enter = false\n+ local new_curwin\n local buf = vim.api.nvim_create_buf(true, true)\n+ vim.api.nvim_create_autocmd('WinEnter', {\n+ callback = function()\n+ enter_triggered = true\n+ end\n+ })\n vim.api.nvim_create_autocmd('WinNew', {\n- callback = function(opt)\n- if opt.buf == buf then\n- triggerd = true\n- end\n+ callback = function()\n+ new_triggered_before_enter = not enter_triggered\n+ new_curwin = vim.api.nvim_get_current_win()", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1468582905", @@ -5391,7 +5391,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Ah, gotcha. It's not clear to me exactly what `no_display` does - it seems like it avoids actually switching to the window, but I'm not sure what the effect of that is.\r\n\r\nI'll set them both to false for now (not sure if the suggestion is to set both to true or false, but it false was the previous behavior).", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2024-01-27T22:17:30Z", "diff_hunk": "@@ -733,7 +733,7 @@ void win_set_buf(win_T *win, buf_T *buf, bool noautocmd, Error *err)\n // So do it now.\n validate_cursor();\n \n- restore_win_noblock(&switchwin, false);\n+ restore_win_noblock(&switchwin, true);", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1468669926", @@ -5460,7 +5460,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Yeah haha noticed that the test was passing but the variable was never being set, so I looked into it.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2024-01-27T22:19:07Z", "diff_hunk": "@@ -104,14 +104,20 @@ describe('float window', function()\n end)\n \n it('open with WinNew autocmd', function()\n- local res = exec_lua([[\n- local triggerd = false\n+ local new_triggered_before_enter, new_curwin, win = unpack(exec_lua([[\n+ local enter_triggered = false\n+ local new_triggered_before_enter = false\n+ local new_curwin\n local buf = vim.api.nvim_create_buf(true, true)\n+ vim.api.nvim_create_autocmd('WinEnter', {\n+ callback = function()\n+ enter_triggered = true\n+ end\n+ })\n vim.api.nvim_create_autocmd('WinNew', {\n- callback = function(opt)\n- if opt.buf == buf then\n- triggerd = true\n- end\n+ callback = function()\n+ new_triggered_before_enter = not enter_triggered\n+ new_curwin = vim.api.nvim_get_current_win()", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1468670219", @@ -5529,7 +5529,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Also working on a test case for this rn", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2024-01-27T22:27:40Z", "diff_hunk": "@@ -733,7 +733,7 @@ void win_set_buf(win_T *win, buf_T *buf, bool noautocmd, Error *err)\n // So do it now.\n validate_cursor();\n \n- restore_win_noblock(&switchwin, false);\n+ restore_win_noblock(&switchwin, true);", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1468671334", @@ -5598,7 +5598,7 @@ }, "author_association": "MEMBER", "body": "Set them to true, or else `win_set_buf` on a non-current tabpage will mess with its curwin and prevwin, even without `enter`. You should probably also add test coverage for this.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2024-01-27T22:28:34Z", "diff_hunk": "@@ -733,7 +733,7 @@ void win_set_buf(win_T *win, buf_T *buf, bool noautocmd, Error *err)\n // So do it now.\n validate_cursor();\n \n- restore_win_noblock(&switchwin, false);\n+ restore_win_noblock(&switchwin, true);", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1468671446", @@ -5667,7 +5667,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Thanks, will do! \r\n\r\nAfter this and looking into `switch_win_noblock` I think I understand. I appreciate the explanations!\r\n\r\nEdit: For the test case I can check the tabpage's current win but I'm not sure how to check `tp_prevwin`... the only thing I can think of is doing FFI in the child nvim via `exec_lua`, which seems a bit ridiculous. Any ideas?", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2024-01-27T22:37:46Z", "diff_hunk": "@@ -733,7 +733,7 @@ void win_set_buf(win_T *win, buf_T *buf, bool noautocmd, Error *err)\n // So do it now.\n validate_cursor();\n \n- restore_win_noblock(&switchwin, false);\n+ restore_win_noblock(&switchwin, true);", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1468672579", @@ -5736,7 +5736,7 @@ }, "author_association": "MEMBER", "body": "Can use `tabpagewinnr()` for that.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2024-01-27T22:46:55Z", "diff_hunk": "@@ -733,7 +733,7 @@ void win_set_buf(win_T *win, buf_T *buf, bool noautocmd, Error *err)\n // So do it now.\n validate_cursor();\n \n- restore_win_noblock(&switchwin, false);\n+ restore_win_noblock(&switchwin, true);", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1468673896", @@ -5805,7 +5805,7 @@ }, "author_association": "CONTRIBUTOR", "body": "TIL (a lot)! Thanks. Lol FFI\r\n\r\nAlso c63ed5f has a test case that fails before this suggestion and passes after :+1: \r\n\r\nWill add tp_prevwin check for that.\r\n", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2024-01-27T22:48:00Z", "diff_hunk": "@@ -733,7 +733,7 @@ void win_set_buf(win_T *win, buf_T *buf, bool noautocmd, Error *err)\n // So do it now.\n validate_cursor();\n \n- restore_win_noblock(&switchwin, false);\n+ restore_win_noblock(&switchwin, true);", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1468674001", @@ -5874,7 +5874,7 @@ }, "author_association": "MEMBER", "body": "The comments used to be aligned\r\n```suggestion\r\n WSP_ROOM = 0x01, ///< require enough room\r\n WSP_VERT = 0x02, ///< split/equalize vertically\r\n WSP_HOR = 0x04, ///< equalize horizontally\r\n WSP_TOP = 0x08, ///< window at top-left of shell\r\n WSP_BOT = 0x10, ///< window at bottom-right of shell\r\n WSP_HELP = 0x20, ///< creating the help window\r\n WSP_BELOW = 0x40, ///< put new window below/right\r\n WSP_ABOVE = 0x80, ///< put new window above/left\r\n WSP_NEWLOC = 0x100, ///< don't copy location list\r\n WSP_NOENTER = 0x200, ///< don't enter the new window\r\n```", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2024-01-28T06:21:36Z", "diff_hunk": "@@ -21,15 +21,16 @@ enum {\n \n /// arguments for win_split()\n enum {\n- WSP_ROOM = 0x01, ///< require enough room\n- WSP_VERT = 0x02, ///< split/equalize vertically\n- WSP_HOR = 0x04, ///< equalize horizontally\n- WSP_TOP = 0x08, ///< window at top-left of shell\n- WSP_BOT = 0x10, ///< window at bottom-right of shell\n- WSP_HELP = 0x20, ///< creating the help window\n- WSP_BELOW = 0x40, ///< put new window below/right\n- WSP_ABOVE = 0x80, ///< put new window above/left\n- WSP_NEWLOC = 0x100, ///< don't copy location list\n+ WSP_ROOM = 0x01, ///< require enough room\n+ WSP_VERT = 0x02, ///< split/equalize vertically\n+ WSP_HOR = 0x04, ///< equalize horizontally\n+ WSP_TOP = 0x08, ///< window at top-left of shell\n+ WSP_BOT = 0x10, ///< window at bottom-right of shell\n+ WSP_HELP = 0x20, ///< creating the help window\n+ WSP_BELOW = 0x40, ///< put new window below/right\n+ WSP_ABOVE = 0x80, ///< put new window above/left\n+ WSP_NEWLOC = 0x100, ///< don't copy location list\n+ WSP_NOENTER = 0x200, ///< don't enter the new window", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1468760377", @@ -5942,7 +5942,7 @@ }, "author_association": "CONTRIBUTOR", "body": "My bad, thought I'd realigned them. I'll make sure to fix that.", - "commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", "created_at": "2024-01-28T10:46:33Z", "diff_hunk": "@@ -21,15 +21,16 @@ enum {\n \n /// arguments for win_split()\n enum {\n- WSP_ROOM = 0x01, ///< require enough room\n- WSP_VERT = 0x02, ///< split/equalize vertically\n- WSP_HOR = 0x04, ///< equalize horizontally\n- WSP_TOP = 0x08, ///< window at top-left of shell\n- WSP_BOT = 0x10, ///< window at bottom-right of shell\n- WSP_HELP = 0x20, ///< creating the help window\n- WSP_BELOW = 0x40, ///< put new window below/right\n- WSP_ABOVE = 0x80, ///< put new window above/left\n- WSP_NEWLOC = 0x100, ///< don't copy location list\n+ WSP_ROOM = 0x01, ///< require enough room\n+ WSP_VERT = 0x02, ///< split/equalize vertically\n+ WSP_HOR = 0x04, ///< equalize horizontally\n+ WSP_TOP = 0x08, ///< window at top-left of shell\n+ WSP_BOT = 0x10, ///< window at bottom-right of shell\n+ WSP_HELP = 0x20, ///< creating the help window\n+ WSP_BELOW = 0x40, ///< put new window below/right\n+ WSP_ABOVE = 0x80, ///< put new window above/left\n+ WSP_NEWLOC = 0x100, ///< don't copy location list\n+ WSP_NOENTER = 0x200, ///< don't enter the new window", "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1468818638", @@ -5996,6 +5996,4920 @@ "type": "User", "url": "https://api.github.com/users/willothy" } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1471230789" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471230789" + } + }, + "author_association": "MEMBER", + "body": "What is \"check if for NULL\"?", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-30T13:37:55Z", + "diff_hunk": "@@ -236,18 +341,203 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n if (!win) {\n return;\n }\n- bool new_float = !win->w_floating;\n+ tabpage_T *win_tp = win_find_tabpage(win);\n+ bool was_normal = !win->w_floating;\n+ bool has_split = HAS_KEY(config, float_config, split);\n+ bool has_vertical = HAS_KEY(config, float_config, vertical);\n // reuse old values, if not overridden\n- FloatConfig fconfig = new_float ? FLOAT_CONFIG_INIT : win->w_float_config;\n+ FloatConfig fconfig = win->w_float_config;\n \n- if (!parse_float_config(config, &fconfig, !new_float, false, err)) {\n+ bool is_split = (!HAS_KEY(config, float_config, relative) || striequal(config->relative.data, \"\"))\n+ && ((!HAS_KEY(config, float_config,\n+ external) && !fconfig.external) || !config->external)\n+ && (has_split || has_vertical || was_normal);\n+\n+ if (!parse_float_config(config, &fconfig, !was_normal || is_split, false, err)) {\n return;\n }\n- if (new_float) {\n+ if (was_normal && !is_split) {\n if (!win_new_float(win, false, fconfig, err)) {\n return;\n }\n redraw_later(win, UPD_NOT_VALID);\n+ } else if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ return;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return;\n+ }\n+ }\n+\n+ WinSplit old_split = win_split_dir(win);\n+ if (has_vertical && !has_split) {\n+ if (config->vertical) {\n+ if (old_split == kWinSplitRight || p_spr) {\n+ fconfig.split = kWinSplitRight;\n+ } else {\n+ fconfig.split = kWinSplitLeft;\n+ }\n+ } else {\n+ if (old_split == kWinSplitBelow || p_sb) {\n+ fconfig.split = kWinSplitBelow;\n+ } else {\n+ fconfig.split = kWinSplitAbove;\n+ }\n+ }\n+ }\n+ win->w_float_config = fconfig;\n+\n+ // If there's no vertical or split set, or if the split is the same as the old split,\n+ // then we can just change the size of the window.\n+ if ((!has_vertical && !has_split)\n+ || (was_normal\n+ && !HAS_KEY(config, float_config,\n+ win) && ((!has_split && !has_vertical) || old_split == fconfig.split))) {\n+ if (HAS_KEY(config, float_config, width)) {\n+ win_setwidth_win(fconfig.width, win);\n+ }\n+ if (HAS_KEY(config, float_config, height)) {\n+ win_setheight_win(fconfig.height, win);\n+ }\n+ redraw_later(win, UPD_NOT_VALID);\n+ return;\n+ }\n+\n+ if (was_normal) {\n+ win_T *new_curwin = NULL;\n+\n+ // If the window is the last in the tabpage or `fconfig.win` is\n+ // a handle to itself, we can't split it.\n+ if (win->w_frame->fr_parent == NULL) {\n+ // FIXME(willothy): if the window is the last in the tabpage but there is another tabpage\n+ // and the target window is in that other tabpage, should we move the window to that\n+ // tabpage and close the previous one, or just error?\n+ api_set_error(err, kErrorTypeValidation, \"Cannot move last window\");\n+ return;\n+ } else if (parent != NULL && parent->handle == win->handle) {\n+ int n_frames = 0;\n+ for (frame_T *fr = win->w_frame->fr_parent->fr_child; fr != NULL; fr = fr->fr_next) {\n+ n_frames++;\n+ }\n+\n+ win_T *neighbor = NULL;\n+\n+ if (n_frames > 2) {\n+ // There are three or more windows in the frame, we need to split a neighboring window.\n+ frame_T *frame = win->w_frame->fr_parent;\n+\n+ if (frame->fr_parent) {\n+ // ┌──────────────┐\n+ // │ A │\n+ // ├────┬────┬────┤\n+ // │ B │ C │ D │\n+ // └────┴────┴────┘\n+ // ||\n+ // \\/\n+ // ┌───────────────────┐\n+ // │ A │\n+ // ├─────────┬─────────┤\n+ // │ │ C │\n+ // │ B ├─────────┤\n+ // │ │ D │\n+ // └─────────┴─────────┘\n+ if (fconfig.split == kWinSplitAbove || fconfig.split == kWinSplitLeft) {\n+ neighbor = win->w_next;\n+ while (neighbor->w_floating) {\n+ neighbor = neighbor->w_next;\n+ }\n+ } else {\n+ neighbor = win->w_prev;\n+ while (neighbor->w_floating) {\n+ neighbor = neighbor->w_prev;\n+ }\n+ }\n+ }\n+ // If the frame doesn't have a parent, the old frame\n+ // was the root frame and we need to create a top-level split.\n+ int dir;\n+ new_curwin = winframe_remove(win, &dir, win_tp == curtab ? NULL : win_tp);\n+ } else if (n_frames == 2) {\n+ // There are two windows in the frame, we can just rotate it.\n+ int dir;\n+ neighbor = winframe_remove(win, &dir, win_tp == curtab ? NULL : win_tp);\n+ new_curwin = neighbor;\n+ } else {\n+ // There is only one window in the frame, we can't split it.\n+ api_set_error(err, kErrorTypeValidation, \"Cannot split window into itself\");\n+ return;\n+ }\n+ // Set the parent to whatever the correct\n+ // neighbor window was determined to be.\n+ parent = neighbor;\n+ } else {\n+ int dir;\n+ new_curwin = winframe_remove(win, &dir, win_tp == curtab ? NULL : win_tp);\n+ }\n+ // move to neighboring window if we're moving the current window to a new tabpage\n+ if (curwin == win && parent != NULL && new_curwin != NULL\n+ && win_tp != win_find_tabpage(parent)) {\n+ win_enter(new_curwin, true);\n+ }\n+ // Remove the old window from the tree of frames,\n+ win_remove(win, win_tp == curtab ? NULL : win_tp);\n+ } else {\n+ // Remove the old window from the tree of frames\n+ win_remove(win, win_tp == curtab ? NULL : win_tp);\n+ ui_comp_remove_grid(&win->w_grid_alloc);\n+ if (win->w_float_config.external) {\n+ for (tabpage_T *tp = first_tabpage; tp != NULL; tp = tp->tp_next) {\n+ if (tp == curtab) {\n+ continue;\n+ }\n+ if (tp->tp_curwin == win) {\n+ tp->tp_curwin = tp->tp_firstwin;\n+ }\n+ }\n+ }\n+ win->w_pos_changed = true;\n+ }\n+\n+ int flags = win_split_flags(fconfig.split, parent == NULL);\n+\n+ if (parent == NULL) {\n+ if (!win_split_ins(0, flags, win, 0)) {\n+ // TODO(willothy): What should this error message say?\n+ api_set_error(err, kErrorTypeException, \"Failed to split window\");\n+ return;\n+ }\n+ } else {\n+ win_execute_T args;\n+\n+ tabpage_T *tp = win_find_tabpage(parent);\n+ if (!win_execute_before(&args, parent, tp)) {\n+ // TODO(willothy): how should we handle this / what should the message be?\n+ api_set_error(err, kErrorTypeException, \"Failed to switch to tabpage %d\", tp->handle);\n+ win_execute_after(&args);\n+ return;\n+ }\n+ // This should be the same ptr as the old split, but we check if for", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1471230789", + "id": 1471230789, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XsTNF", + "original_commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "original_line": 523, + "original_position": 414, + "original_start_line": null, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1851298981, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471230789/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-30T13:40:50Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471230789", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1471232779" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471232779" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n // find_window_by_handle has already set the error\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-30T13:39:15Z", + "diff_hunk": "@@ -190,22 +216,71 @@ Window nvim_open_win(Buffer buffer, Boolean enter, Dict(float_config) *config, E\n if (!parse_float_config(config, &fconfig, false, true, err)) {\n return 0;\n }\n- win_T *wp = win_new_float(NULL, false, fconfig, err);\n+\n+ bool is_split = HAS_KEY(config, float_config, split) || HAS_KEY(config, float_config, vertical);\n+\n+ win_T *wp = NULL;\n+ tabpage_T *tp = curtab;\n+ if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ // find_window_by_handle will have set the error", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1471232779", + "id": 1471232779, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XsTsL", + "original_commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "original_line": 229, + "original_position": 123, + "original_start_line": null, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1851298981, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471232779/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-30T13:40:50Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471232779", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1471375023" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471375023" + } + }, + "author_association": "CONTRIBUTOR", + "body": "Typo haha, thanks for pointing that out", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-30T14:54:22Z", + "diff_hunk": "@@ -236,18 +341,203 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n if (!win) {\n return;\n }\n- bool new_float = !win->w_floating;\n+ tabpage_T *win_tp = win_find_tabpage(win);\n+ bool was_normal = !win->w_floating;\n+ bool has_split = HAS_KEY(config, float_config, split);\n+ bool has_vertical = HAS_KEY(config, float_config, vertical);\n // reuse old values, if not overridden\n- FloatConfig fconfig = new_float ? FLOAT_CONFIG_INIT : win->w_float_config;\n+ FloatConfig fconfig = win->w_float_config;\n \n- if (!parse_float_config(config, &fconfig, !new_float, false, err)) {\n+ bool is_split = (!HAS_KEY(config, float_config, relative) || striequal(config->relative.data, \"\"))\n+ && ((!HAS_KEY(config, float_config,\n+ external) && !fconfig.external) || !config->external)\n+ && (has_split || has_vertical || was_normal);\n+\n+ if (!parse_float_config(config, &fconfig, !was_normal || is_split, false, err)) {\n return;\n }\n- if (new_float) {\n+ if (was_normal && !is_split) {\n if (!win_new_float(win, false, fconfig, err)) {\n return;\n }\n redraw_later(win, UPD_NOT_VALID);\n+ } else if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ return;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return;\n+ }\n+ }\n+\n+ WinSplit old_split = win_split_dir(win);\n+ if (has_vertical && !has_split) {\n+ if (config->vertical) {\n+ if (old_split == kWinSplitRight || p_spr) {\n+ fconfig.split = kWinSplitRight;\n+ } else {\n+ fconfig.split = kWinSplitLeft;\n+ }\n+ } else {\n+ if (old_split == kWinSplitBelow || p_sb) {\n+ fconfig.split = kWinSplitBelow;\n+ } else {\n+ fconfig.split = kWinSplitAbove;\n+ }\n+ }\n+ }\n+ win->w_float_config = fconfig;\n+\n+ // If there's no vertical or split set, or if the split is the same as the old split,\n+ // then we can just change the size of the window.\n+ if ((!has_vertical && !has_split)\n+ || (was_normal\n+ && !HAS_KEY(config, float_config,\n+ win) && ((!has_split && !has_vertical) || old_split == fconfig.split))) {\n+ if (HAS_KEY(config, float_config, width)) {\n+ win_setwidth_win(fconfig.width, win);\n+ }\n+ if (HAS_KEY(config, float_config, height)) {\n+ win_setheight_win(fconfig.height, win);\n+ }\n+ redraw_later(win, UPD_NOT_VALID);\n+ return;\n+ }\n+\n+ if (was_normal) {\n+ win_T *new_curwin = NULL;\n+\n+ // If the window is the last in the tabpage or `fconfig.win` is\n+ // a handle to itself, we can't split it.\n+ if (win->w_frame->fr_parent == NULL) {\n+ // FIXME(willothy): if the window is the last in the tabpage but there is another tabpage\n+ // and the target window is in that other tabpage, should we move the window to that\n+ // tabpage and close the previous one, or just error?\n+ api_set_error(err, kErrorTypeValidation, \"Cannot move last window\");\n+ return;\n+ } else if (parent != NULL && parent->handle == win->handle) {\n+ int n_frames = 0;\n+ for (frame_T *fr = win->w_frame->fr_parent->fr_child; fr != NULL; fr = fr->fr_next) {\n+ n_frames++;\n+ }\n+\n+ win_T *neighbor = NULL;\n+\n+ if (n_frames > 2) {\n+ // There are three or more windows in the frame, we need to split a neighboring window.\n+ frame_T *frame = win->w_frame->fr_parent;\n+\n+ if (frame->fr_parent) {\n+ // ┌──────────────┐\n+ // │ A │\n+ // ├────┬────┬────┤\n+ // │ B │ C │ D │\n+ // └────┴────┴────┘\n+ // ||\n+ // \\/\n+ // ┌───────────────────┐\n+ // │ A │\n+ // ├─────────┬─────────┤\n+ // │ │ C │\n+ // │ B ├─────────┤\n+ // │ │ D │\n+ // └─────────┴─────────┘\n+ if (fconfig.split == kWinSplitAbove || fconfig.split == kWinSplitLeft) {\n+ neighbor = win->w_next;\n+ while (neighbor->w_floating) {\n+ neighbor = neighbor->w_next;\n+ }\n+ } else {\n+ neighbor = win->w_prev;\n+ while (neighbor->w_floating) {\n+ neighbor = neighbor->w_prev;\n+ }\n+ }\n+ }\n+ // If the frame doesn't have a parent, the old frame\n+ // was the root frame and we need to create a top-level split.\n+ int dir;\n+ new_curwin = winframe_remove(win, &dir, win_tp == curtab ? NULL : win_tp);\n+ } else if (n_frames == 2) {\n+ // There are two windows in the frame, we can just rotate it.\n+ int dir;\n+ neighbor = winframe_remove(win, &dir, win_tp == curtab ? NULL : win_tp);\n+ new_curwin = neighbor;\n+ } else {\n+ // There is only one window in the frame, we can't split it.\n+ api_set_error(err, kErrorTypeValidation, \"Cannot split window into itself\");\n+ return;\n+ }\n+ // Set the parent to whatever the correct\n+ // neighbor window was determined to be.\n+ parent = neighbor;\n+ } else {\n+ int dir;\n+ new_curwin = winframe_remove(win, &dir, win_tp == curtab ? NULL : win_tp);\n+ }\n+ // move to neighboring window if we're moving the current window to a new tabpage\n+ if (curwin == win && parent != NULL && new_curwin != NULL\n+ && win_tp != win_find_tabpage(parent)) {\n+ win_enter(new_curwin, true);\n+ }\n+ // Remove the old window from the tree of frames,\n+ win_remove(win, win_tp == curtab ? NULL : win_tp);\n+ } else {\n+ // Remove the old window from the tree of frames\n+ win_remove(win, win_tp == curtab ? NULL : win_tp);\n+ ui_comp_remove_grid(&win->w_grid_alloc);\n+ if (win->w_float_config.external) {\n+ for (tabpage_T *tp = first_tabpage; tp != NULL; tp = tp->tp_next) {\n+ if (tp == curtab) {\n+ continue;\n+ }\n+ if (tp->tp_curwin == win) {\n+ tp->tp_curwin = tp->tp_firstwin;\n+ }\n+ }\n+ }\n+ win->w_pos_changed = true;\n+ }\n+\n+ int flags = win_split_flags(fconfig.split, parent == NULL);\n+\n+ if (parent == NULL) {\n+ if (!win_split_ins(0, flags, win, 0)) {\n+ // TODO(willothy): What should this error message say?\n+ api_set_error(err, kErrorTypeException, \"Failed to split window\");\n+ return;\n+ }\n+ } else {\n+ win_execute_T args;\n+\n+ tabpage_T *tp = win_find_tabpage(parent);\n+ if (!win_execute_before(&args, parent, tp)) {\n+ // TODO(willothy): how should we handle this / what should the message be?\n+ api_set_error(err, kErrorTypeException, \"Failed to switch to tabpage %d\", tp->handle);\n+ win_execute_after(&args);\n+ return;\n+ }\n+ // This should be the same ptr as the old split, but we check if for", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1471375023", + "id": 1471375023, + "in_reply_to_id": 1471230789, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xs2av", + "original_commit_id": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "original_line": 523, + "original_position": 414, + "original_start_line": null, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1851508546, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471375023/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-30T14:54:22Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471375023", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472401391" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472401391" + } + }, + "author_association": "MEMBER", + "body": "I think this comment should be removed.", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T07:25:30Z", + "diff_hunk": "@@ -1095,7 +1102,8 @@ describe('float window', function()\n local expected = {anchor='NW', col=5, external=false, focusable=true, height=2, relative='editor', row=3, width=20, zindex=60, hide=false}\n eq(expected, api.nvim_win_get_config(win))\n \n- eq({relative='', external=false, focusable=true, hide=false}, api.nvim_win_get_config(0))\n+ -- eq({relative='', external=false, focusable=true, hide=false}, api.nvim_win_get_config(0))", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472401391", + "id": 1472401391, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xww_v", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1105, + "original_position": 48, + "original_start_line": null, + "path": "test/functional/ui/float_spec.lua", + "position": null, + "pull_request_review_id": 1853044077, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472401391/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T07:31:09Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472401391", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472406331" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472406331" + } + }, + "author_association": "MEMBER", + "body": "Is this necessary? Previously there was no check for failing to enter the window.", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T07:30:58Z", + "diff_hunk": "@@ -190,22 +216,71 @@ Window nvim_open_win(Buffer buffer, Boolean enter, Dict(float_config) *config, E\n if (!parse_float_config(config, &fconfig, false, true, err)) {\n return 0;\n }\n- win_T *wp = win_new_float(NULL, false, fconfig, err);\n+\n+ bool is_split = HAS_KEY(config, float_config, split) || HAS_KEY(config, float_config, vertical);\n+\n+ win_T *wp = NULL;\n+ tabpage_T *tp = curtab;\n+ if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ // find_window_by_handle has already set the error\n+ return 0;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return 0;\n+ }\n+ }\n+\n+ if (HAS_KEY(config, float_config, vertical) && !HAS_KEY(config, float_config, split)) {\n+ if (config->vertical) {\n+ fconfig.split = p_spr ? kWinSplitRight : kWinSplitLeft;\n+ } else {\n+ fconfig.split = p_sb ? kWinSplitBelow : kWinSplitAbove;\n+ }\n+ }\n+ int flags = win_split_flags(fconfig.split, parent == NULL) | WSP_NOENTER;\n+\n+ if (parent == NULL) {\n+ wp = win_split_ins(0, flags, NULL, 0);\n+ } else {\n+ tp = win_find_tabpage(parent);\n+ switchwin_T switchwin;\n+ // `parent` is valid in `tp`, so switch_win should not fail.\n+ const int result = switch_win(&switchwin, parent, tp, true);\n+ (void)result;\n+ assert(result == OK);\n+ wp = win_split_ins(0, flags, NULL, 0);\n+ restore_win(&switchwin, true);\n+ }\n+ if (wp) {\n+ wp->w_float_config = fconfig;\n+ }\n+ } else {\n+ wp = win_new_float(NULL, false, fconfig, err);\n+ }\n if (!wp) {\n+ api_set_error(err, kErrorTypeException, \"Failed to create window\");\n return 0;\n }\n- if (enter) {\n- win_enter(wp, false);\n+ switchwin_T switchwin;\n+ if (switch_win_noblock(&switchwin, wp, tp, true) == OK) {\n+ apply_autocmds(EVENT_WINNEW, NULL, NULL, false, curbuf);\n }\n- // autocmds in win_enter or win_set_buf below may close the window\n- if (win_valid(wp) && buffer > 0) {\n- Boolean noautocmd = !enter || fconfig.noautocmd;\n- win_set_buf(wp, buf, noautocmd, err);\n- if (!fconfig.noautocmd) {\n- apply_autocmds(EVENT_WINNEW, NULL, NULL, false, buf);\n+ restore_win_noblock(&switchwin, true);\n+ if (enter) {\n+ goto_tabpage_win(tp, wp);\n+ if (tabpage_win_valid(tp, wp) && curwin != wp) {\n+ api_set_error(err, kErrorTypeException, \"Failed to enter tabpage\");\n+ return 0;\n }", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472406331", + "id": 1472406331, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XwyM7", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 278, + "original_position": 180, + "original_start_line": 275, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1853044077, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472406331/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-31T07:31:09Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472406331", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472476275" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472476275" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n/// Keep in sync with win_split_str[] in nvim_win_get_config() (api/win_config.c)\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T08:40:08Z", + "diff_hunk": "@@ -889,6 +889,14 @@ typedef enum {\n kFloatRelativeMouse = 3,\n } FloatRelative;\n \n+/// Keep in sync with win_split_str in nvim_win_get_config() (api/win_config.c)", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472476275", + "id": 1472476275, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XxDRz", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 892, + "original_position": 4, + "original_start_line": null, + "path": "src/nvim/buffer_defs.h", + "position": null, + "pull_request_review_id": 1853163740, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472476275/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T08:40:08Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472476275", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472477036" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472477036" + } + }, + "author_association": "MEMBER", + "body": "This looks a bit strange.", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T08:40:44Z", + "diff_hunk": "@@ -602,12 +915,10 @@ static void parse_border_style(Object style, FloatConfig *fconfig, Error *err)\n memcpy(hl_ids + size, hl_ids, sizeof(*hl_ids) * size);\n size <<= 1;\n }\n- if ((chars[7][0] && chars[1][0] && !chars[0][0])\n- || (chars[1][0] && chars[3][0] && !chars[2][0])\n+ if ((chars[7][0] && chars[1][0] && !chars[0][0]) || (chars[1][0] && chars[3][0] && !chars[2][0])\n || (chars[3][0] && chars[5][0] && !chars[4][0])\n || (chars[5][0] && chars[7][0] && !chars[6][0])) {", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472477036", + "id": 1472477036, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XxDds", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 920, + "original_position": 545, + "original_start_line": 918, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1853164897, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472477036/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-31T08:40:45Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472477036", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472481201" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472481201" + } + }, + "author_association": "MEMBER", + "body": "`is_split` is a bit ambiguous. I think `to_split` is better.", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T08:43:56Z", + "diff_hunk": "@@ -236,18 +341,203 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n if (!win) {\n return;\n }\n- bool new_float = !win->w_floating;\n+ tabpage_T *win_tp = win_find_tabpage(win);\n+ bool was_normal = !win->w_floating;\n+ bool has_split = HAS_KEY(config, float_config, split);\n+ bool has_vertical = HAS_KEY(config, float_config, vertical);\n // reuse old values, if not overridden\n- FloatConfig fconfig = new_float ? FLOAT_CONFIG_INIT : win->w_float_config;\n+ FloatConfig fconfig = win->w_float_config;\n \n- if (!parse_float_config(config, &fconfig, !new_float, false, err)) {\n+ bool is_split = (!HAS_KEY(config, float_config, relative) || striequal(config->relative.data, \"\"))", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472481201", + "id": 1472481201, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XxEex", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 351, + "original_position": 241, + "original_start_line": null, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1853171383, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472481201/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T08:45:07Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472481201", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472482347" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472482347" + } + }, + "author_association": "MEMBER", + "body": "Change this to `was_split` maybe?", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T08:44:58Z", + "diff_hunk": "@@ -236,18 +341,203 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n if (!win) {\n return;\n }\n- bool new_float = !win->w_floating;\n+ tabpage_T *win_tp = win_find_tabpage(win);\n+ bool was_normal = !win->w_floating;", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472482347", + "id": 1472482347, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XxEwr", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 345, + "original_position": 233, + "original_start_line": null, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1853171383, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472482347/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T08:45:07Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472482347", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472531911" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472531911" + } + }, + "author_association": "MEMBER", + "body": "These `w_floating` checks shouldn't be needed, as floating windows are always at the end, so they can be simply be changed to `assert(!neighbor->w_floating)`.", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T09:24:55Z", + "diff_hunk": "@@ -236,18 +341,203 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n if (!win) {\n return;\n }\n- bool new_float = !win->w_floating;\n+ tabpage_T *win_tp = win_find_tabpage(win);\n+ bool was_normal = !win->w_floating;\n+ bool has_split = HAS_KEY(config, float_config, split);\n+ bool has_vertical = HAS_KEY(config, float_config, vertical);\n // reuse old values, if not overridden\n- FloatConfig fconfig = new_float ? FLOAT_CONFIG_INIT : win->w_float_config;\n+ FloatConfig fconfig = win->w_float_config;\n \n- if (!parse_float_config(config, &fconfig, !new_float, false, err)) {\n+ bool is_split = (!HAS_KEY(config, float_config, relative) || striequal(config->relative.data, \"\"))\n+ && ((!HAS_KEY(config, float_config,\n+ external) && !fconfig.external) || !config->external)\n+ && (has_split || has_vertical || was_normal);\n+\n+ if (!parse_float_config(config, &fconfig, !was_normal || is_split, false, err)) {\n return;\n }\n- if (new_float) {\n+ if (was_normal && !is_split) {\n if (!win_new_float(win, false, fconfig, err)) {\n return;\n }\n redraw_later(win, UPD_NOT_VALID);\n+ } else if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ return;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return;\n+ }\n+ }\n+\n+ WinSplit old_split = win_split_dir(win);\n+ if (has_vertical && !has_split) {\n+ if (config->vertical) {\n+ if (old_split == kWinSplitRight || p_spr) {\n+ fconfig.split = kWinSplitRight;\n+ } else {\n+ fconfig.split = kWinSplitLeft;\n+ }\n+ } else {\n+ if (old_split == kWinSplitBelow || p_sb) {\n+ fconfig.split = kWinSplitBelow;\n+ } else {\n+ fconfig.split = kWinSplitAbove;\n+ }\n+ }\n+ }\n+ win->w_float_config = fconfig;\n+\n+ // If there's no vertical or split set, or if the split is the same as the old split,\n+ // then we can just change the size of the window.\n+ if ((!has_vertical && !has_split)\n+ || (was_normal\n+ && !HAS_KEY(config, float_config,\n+ win) && ((!has_split && !has_vertical) || old_split == fconfig.split))) {\n+ if (HAS_KEY(config, float_config, width)) {\n+ win_setwidth_win(fconfig.width, win);\n+ }\n+ if (HAS_KEY(config, float_config, height)) {\n+ win_setheight_win(fconfig.height, win);\n+ }\n+ redraw_later(win, UPD_NOT_VALID);\n+ return;\n+ }\n+\n+ if (was_normal) {\n+ win_T *new_curwin = NULL;\n+\n+ // If the window is the last in the tabpage or `fconfig.win` is\n+ // a handle to itself, we can't split it.\n+ if (win->w_frame->fr_parent == NULL) {\n+ // FIXME(willothy): if the window is the last in the tabpage but there is another tabpage\n+ // and the target window is in that other tabpage, should we move the window to that\n+ // tabpage and close the previous one, or just error?\n+ api_set_error(err, kErrorTypeValidation, \"Cannot move last window\");\n+ return;\n+ } else if (parent != NULL && parent->handle == win->handle) {\n+ int n_frames = 0;\n+ for (frame_T *fr = win->w_frame->fr_parent->fr_child; fr != NULL; fr = fr->fr_next) {\n+ n_frames++;\n+ }\n+\n+ win_T *neighbor = NULL;\n+\n+ if (n_frames > 2) {\n+ // There are three or more windows in the frame, we need to split a neighboring window.\n+ frame_T *frame = win->w_frame->fr_parent;\n+\n+ if (frame->fr_parent) {\n+ // ┌──────────────┐\n+ // │ A │\n+ // ├────┬────┬────┤\n+ // │ B │ C │ D │\n+ // └────┴────┴────┘\n+ // ||\n+ // \\/\n+ // ┌───────────────────┐\n+ // │ A │\n+ // ├─────────┬─────────┤\n+ // │ │ C │\n+ // │ B ├─────────┤\n+ // │ │ D │\n+ // └─────────┴─────────┘\n+ if (fconfig.split == kWinSplitAbove || fconfig.split == kWinSplitLeft) {\n+ neighbor = win->w_next;\n+ while (neighbor->w_floating) {\n+ neighbor = neighbor->w_next;\n+ }\n+ } else {\n+ neighbor = win->w_prev;\n+ while (neighbor->w_floating) {\n+ neighbor = neighbor->w_prev;\n+ }", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472531911", + "id": 1472531911, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XxQ3H", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 457, + "original_position": 348, + "original_start_line": 449, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1853252644, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472531911/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-31T09:24:55Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472531911", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472536020" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472536020" + } + }, + "author_association": "MEMBER", + "body": "What does `win_remove()` have to do with \"tree of frames\"? It removes a window from the list of windows.", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T09:27:51Z", + "diff_hunk": "@@ -236,18 +341,203 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n if (!win) {\n return;\n }\n- bool new_float = !win->w_floating;\n+ tabpage_T *win_tp = win_find_tabpage(win);\n+ bool was_normal = !win->w_floating;\n+ bool has_split = HAS_KEY(config, float_config, split);\n+ bool has_vertical = HAS_KEY(config, float_config, vertical);\n // reuse old values, if not overridden\n- FloatConfig fconfig = new_float ? FLOAT_CONFIG_INIT : win->w_float_config;\n+ FloatConfig fconfig = win->w_float_config;\n \n- if (!parse_float_config(config, &fconfig, !new_float, false, err)) {\n+ bool is_split = (!HAS_KEY(config, float_config, relative) || striequal(config->relative.data, \"\"))\n+ && ((!HAS_KEY(config, float_config,\n+ external) && !fconfig.external) || !config->external)\n+ && (has_split || has_vertical || was_normal);\n+\n+ if (!parse_float_config(config, &fconfig, !was_normal || is_split, false, err)) {\n return;\n }\n- if (new_float) {\n+ if (was_normal && !is_split) {\n if (!win_new_float(win, false, fconfig, err)) {\n return;\n }\n redraw_later(win, UPD_NOT_VALID);\n+ } else if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ return;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return;\n+ }\n+ }\n+\n+ WinSplit old_split = win_split_dir(win);\n+ if (has_vertical && !has_split) {\n+ if (config->vertical) {\n+ if (old_split == kWinSplitRight || p_spr) {\n+ fconfig.split = kWinSplitRight;\n+ } else {\n+ fconfig.split = kWinSplitLeft;\n+ }\n+ } else {\n+ if (old_split == kWinSplitBelow || p_sb) {\n+ fconfig.split = kWinSplitBelow;\n+ } else {\n+ fconfig.split = kWinSplitAbove;\n+ }\n+ }\n+ }\n+ win->w_float_config = fconfig;\n+\n+ // If there's no vertical or split set, or if the split is the same as the old split,\n+ // then we can just change the size of the window.\n+ if ((!has_vertical && !has_split)\n+ || (was_normal\n+ && !HAS_KEY(config, float_config,\n+ win) && ((!has_split && !has_vertical) || old_split == fconfig.split))) {\n+ if (HAS_KEY(config, float_config, width)) {\n+ win_setwidth_win(fconfig.width, win);\n+ }\n+ if (HAS_KEY(config, float_config, height)) {\n+ win_setheight_win(fconfig.height, win);\n+ }\n+ redraw_later(win, UPD_NOT_VALID);\n+ return;\n+ }\n+\n+ if (was_normal) {\n+ win_T *new_curwin = NULL;\n+\n+ // If the window is the last in the tabpage or `fconfig.win` is\n+ // a handle to itself, we can't split it.\n+ if (win->w_frame->fr_parent == NULL) {\n+ // FIXME(willothy): if the window is the last in the tabpage but there is another tabpage\n+ // and the target window is in that other tabpage, should we move the window to that\n+ // tabpage and close the previous one, or just error?\n+ api_set_error(err, kErrorTypeValidation, \"Cannot move last window\");\n+ return;\n+ } else if (parent != NULL && parent->handle == win->handle) {\n+ int n_frames = 0;\n+ for (frame_T *fr = win->w_frame->fr_parent->fr_child; fr != NULL; fr = fr->fr_next) {\n+ n_frames++;\n+ }\n+\n+ win_T *neighbor = NULL;\n+\n+ if (n_frames > 2) {\n+ // There are three or more windows in the frame, we need to split a neighboring window.\n+ frame_T *frame = win->w_frame->fr_parent;\n+\n+ if (frame->fr_parent) {\n+ // ┌──────────────┐\n+ // │ A │\n+ // ├────┬────┬────┤\n+ // │ B │ C │ D │\n+ // └────┴────┴────┘\n+ // ||\n+ // \\/\n+ // ┌───────────────────┐\n+ // │ A │\n+ // ├─────────┬─────────┤\n+ // │ │ C │\n+ // │ B ├─────────┤\n+ // │ │ D │\n+ // └─────────┴─────────┘\n+ if (fconfig.split == kWinSplitAbove || fconfig.split == kWinSplitLeft) {\n+ neighbor = win->w_next;\n+ while (neighbor->w_floating) {\n+ neighbor = neighbor->w_next;\n+ }\n+ } else {\n+ neighbor = win->w_prev;\n+ while (neighbor->w_floating) {\n+ neighbor = neighbor->w_prev;\n+ }\n+ }\n+ }\n+ // If the frame doesn't have a parent, the old frame\n+ // was the root frame and we need to create a top-level split.\n+ int dir;\n+ new_curwin = winframe_remove(win, &dir, win_tp == curtab ? NULL : win_tp);\n+ } else if (n_frames == 2) {\n+ // There are two windows in the frame, we can just rotate it.\n+ int dir;\n+ neighbor = winframe_remove(win, &dir, win_tp == curtab ? NULL : win_tp);\n+ new_curwin = neighbor;\n+ } else {\n+ // There is only one window in the frame, we can't split it.\n+ api_set_error(err, kErrorTypeValidation, \"Cannot split window into itself\");\n+ return;\n+ }\n+ // Set the parent to whatever the correct\n+ // neighbor window was determined to be.\n+ parent = neighbor;\n+ } else {\n+ int dir;\n+ new_curwin = winframe_remove(win, &dir, win_tp == curtab ? NULL : win_tp);\n+ }\n+ // move to neighboring window if we're moving the current window to a new tabpage\n+ if (curwin == win && parent != NULL && new_curwin != NULL\n+ && win_tp != win_find_tabpage(parent)) {\n+ win_enter(new_curwin, true);\n+ }\n+ // Remove the old window from the tree of frames,\n+ win_remove(win, win_tp == curtab ? NULL : win_tp);\n+ } else {\n+ // Remove the old window from the tree of frames\n+ win_remove(win, win_tp == curtab ? NULL : win_tp);", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472536020", + "id": 1472536020, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XxR3U", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 490, + "original_position": 381, + "original_start_line": 486, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1853259031, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472536020/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-31T09:28:28Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472536020", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472555048" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472555048" + } + }, + "author_association": "CONTRIBUTOR", + "body": "Probably just formatter weirdness. I'll make sure to fix that, thanks", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T09:41:40Z", + "diff_hunk": "@@ -602,12 +915,10 @@ static void parse_border_style(Object style, FloatConfig *fconfig, Error *err)\n memcpy(hl_ids + size, hl_ids, sizeof(*hl_ids) * size);\n size <<= 1;\n }\n- if ((chars[7][0] && chars[1][0] && !chars[0][0])\n- || (chars[1][0] && chars[3][0] && !chars[2][0])\n+ if ((chars[7][0] && chars[1][0] && !chars[0][0]) || (chars[1][0] && chars[3][0] && !chars[2][0])\n || (chars[3][0] && chars[5][0] && !chars[4][0])\n || (chars[5][0] && chars[7][0] && !chars[6][0])) {", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472555048", + "id": 1472555048, + "in_reply_to_id": 1472477036, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XxWgo", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 920, + "original_position": 545, + "original_start_line": 918, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1853289158, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472555048/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-31T09:41:41Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472555048", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472556724" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472556724" + } + }, + "author_association": "CONTRIBUTOR", + "body": "Alright, good to know. Thanks!", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T09:43:00Z", + "diff_hunk": "@@ -236,18 +341,203 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n if (!win) {\n return;\n }\n- bool new_float = !win->w_floating;\n+ tabpage_T *win_tp = win_find_tabpage(win);\n+ bool was_normal = !win->w_floating;\n+ bool has_split = HAS_KEY(config, float_config, split);\n+ bool has_vertical = HAS_KEY(config, float_config, vertical);\n // reuse old values, if not overridden\n- FloatConfig fconfig = new_float ? FLOAT_CONFIG_INIT : win->w_float_config;\n+ FloatConfig fconfig = win->w_float_config;\n \n- if (!parse_float_config(config, &fconfig, !new_float, false, err)) {\n+ bool is_split = (!HAS_KEY(config, float_config, relative) || striequal(config->relative.data, \"\"))\n+ && ((!HAS_KEY(config, float_config,\n+ external) && !fconfig.external) || !config->external)\n+ && (has_split || has_vertical || was_normal);\n+\n+ if (!parse_float_config(config, &fconfig, !was_normal || is_split, false, err)) {\n return;\n }\n- if (new_float) {\n+ if (was_normal && !is_split) {\n if (!win_new_float(win, false, fconfig, err)) {\n return;\n }\n redraw_later(win, UPD_NOT_VALID);\n+ } else if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ return;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return;\n+ }\n+ }\n+\n+ WinSplit old_split = win_split_dir(win);\n+ if (has_vertical && !has_split) {\n+ if (config->vertical) {\n+ if (old_split == kWinSplitRight || p_spr) {\n+ fconfig.split = kWinSplitRight;\n+ } else {\n+ fconfig.split = kWinSplitLeft;\n+ }\n+ } else {\n+ if (old_split == kWinSplitBelow || p_sb) {\n+ fconfig.split = kWinSplitBelow;\n+ } else {\n+ fconfig.split = kWinSplitAbove;\n+ }\n+ }\n+ }\n+ win->w_float_config = fconfig;\n+\n+ // If there's no vertical or split set, or if the split is the same as the old split,\n+ // then we can just change the size of the window.\n+ if ((!has_vertical && !has_split)\n+ || (was_normal\n+ && !HAS_KEY(config, float_config,\n+ win) && ((!has_split && !has_vertical) || old_split == fconfig.split))) {\n+ if (HAS_KEY(config, float_config, width)) {\n+ win_setwidth_win(fconfig.width, win);\n+ }\n+ if (HAS_KEY(config, float_config, height)) {\n+ win_setheight_win(fconfig.height, win);\n+ }\n+ redraw_later(win, UPD_NOT_VALID);\n+ return;\n+ }\n+\n+ if (was_normal) {\n+ win_T *new_curwin = NULL;\n+\n+ // If the window is the last in the tabpage or `fconfig.win` is\n+ // a handle to itself, we can't split it.\n+ if (win->w_frame->fr_parent == NULL) {\n+ // FIXME(willothy): if the window is the last in the tabpage but there is another tabpage\n+ // and the target window is in that other tabpage, should we move the window to that\n+ // tabpage and close the previous one, or just error?\n+ api_set_error(err, kErrorTypeValidation, \"Cannot move last window\");\n+ return;\n+ } else if (parent != NULL && parent->handle == win->handle) {\n+ int n_frames = 0;\n+ for (frame_T *fr = win->w_frame->fr_parent->fr_child; fr != NULL; fr = fr->fr_next) {\n+ n_frames++;\n+ }\n+\n+ win_T *neighbor = NULL;\n+\n+ if (n_frames > 2) {\n+ // There are three or more windows in the frame, we need to split a neighboring window.\n+ frame_T *frame = win->w_frame->fr_parent;\n+\n+ if (frame->fr_parent) {\n+ // ┌──────────────┐\n+ // │ A │\n+ // ├────┬────┬────┤\n+ // │ B │ C │ D │\n+ // └────┴────┴────┘\n+ // ||\n+ // \\/\n+ // ┌───────────────────┐\n+ // │ A │\n+ // ├─────────┬─────────┤\n+ // │ │ C │\n+ // │ B ├─────────┤\n+ // │ │ D │\n+ // └─────────┴─────────┘\n+ if (fconfig.split == kWinSplitAbove || fconfig.split == kWinSplitLeft) {\n+ neighbor = win->w_next;\n+ while (neighbor->w_floating) {\n+ neighbor = neighbor->w_next;\n+ }\n+ } else {\n+ neighbor = win->w_prev;\n+ while (neighbor->w_floating) {\n+ neighbor = neighbor->w_prev;\n+ }", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472556724", + "id": 1472556724, + "in_reply_to_id": 1472531911, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XxW60", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 457, + "original_position": 348, + "original_start_line": 449, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1853291986, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472556724/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-31T09:43:00Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472556724", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472558349" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472558349" + } + }, + "author_association": "CONTRIBUTOR", + "body": "Ah I think that was just a copy paste mistake and was originally referencing `winframe_remove`.\r\n\r\nI'll remove these. There's definitely a good bit of cleanup I have to do here, sorry about that.", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T09:44:15Z", + "diff_hunk": "@@ -236,18 +341,203 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n if (!win) {\n return;\n }\n- bool new_float = !win->w_floating;\n+ tabpage_T *win_tp = win_find_tabpage(win);\n+ bool was_normal = !win->w_floating;\n+ bool has_split = HAS_KEY(config, float_config, split);\n+ bool has_vertical = HAS_KEY(config, float_config, vertical);\n // reuse old values, if not overridden\n- FloatConfig fconfig = new_float ? FLOAT_CONFIG_INIT : win->w_float_config;\n+ FloatConfig fconfig = win->w_float_config;\n \n- if (!parse_float_config(config, &fconfig, !new_float, false, err)) {\n+ bool is_split = (!HAS_KEY(config, float_config, relative) || striequal(config->relative.data, \"\"))\n+ && ((!HAS_KEY(config, float_config,\n+ external) && !fconfig.external) || !config->external)\n+ && (has_split || has_vertical || was_normal);\n+\n+ if (!parse_float_config(config, &fconfig, !was_normal || is_split, false, err)) {\n return;\n }\n- if (new_float) {\n+ if (was_normal && !is_split) {\n if (!win_new_float(win, false, fconfig, err)) {\n return;\n }\n redraw_later(win, UPD_NOT_VALID);\n+ } else if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ return;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return;\n+ }\n+ }\n+\n+ WinSplit old_split = win_split_dir(win);\n+ if (has_vertical && !has_split) {\n+ if (config->vertical) {\n+ if (old_split == kWinSplitRight || p_spr) {\n+ fconfig.split = kWinSplitRight;\n+ } else {\n+ fconfig.split = kWinSplitLeft;\n+ }\n+ } else {\n+ if (old_split == kWinSplitBelow || p_sb) {\n+ fconfig.split = kWinSplitBelow;\n+ } else {\n+ fconfig.split = kWinSplitAbove;\n+ }\n+ }\n+ }\n+ win->w_float_config = fconfig;\n+\n+ // If there's no vertical or split set, or if the split is the same as the old split,\n+ // then we can just change the size of the window.\n+ if ((!has_vertical && !has_split)\n+ || (was_normal\n+ && !HAS_KEY(config, float_config,\n+ win) && ((!has_split && !has_vertical) || old_split == fconfig.split))) {\n+ if (HAS_KEY(config, float_config, width)) {\n+ win_setwidth_win(fconfig.width, win);\n+ }\n+ if (HAS_KEY(config, float_config, height)) {\n+ win_setheight_win(fconfig.height, win);\n+ }\n+ redraw_later(win, UPD_NOT_VALID);\n+ return;\n+ }\n+\n+ if (was_normal) {\n+ win_T *new_curwin = NULL;\n+\n+ // If the window is the last in the tabpage or `fconfig.win` is\n+ // a handle to itself, we can't split it.\n+ if (win->w_frame->fr_parent == NULL) {\n+ // FIXME(willothy): if the window is the last in the tabpage but there is another tabpage\n+ // and the target window is in that other tabpage, should we move the window to that\n+ // tabpage and close the previous one, or just error?\n+ api_set_error(err, kErrorTypeValidation, \"Cannot move last window\");\n+ return;\n+ } else if (parent != NULL && parent->handle == win->handle) {\n+ int n_frames = 0;\n+ for (frame_T *fr = win->w_frame->fr_parent->fr_child; fr != NULL; fr = fr->fr_next) {\n+ n_frames++;\n+ }\n+\n+ win_T *neighbor = NULL;\n+\n+ if (n_frames > 2) {\n+ // There are three or more windows in the frame, we need to split a neighboring window.\n+ frame_T *frame = win->w_frame->fr_parent;\n+\n+ if (frame->fr_parent) {\n+ // ┌──────────────┐\n+ // │ A │\n+ // ├────┬────┬────┤\n+ // │ B │ C │ D │\n+ // └────┴────┴────┘\n+ // ||\n+ // \\/\n+ // ┌───────────────────┐\n+ // │ A │\n+ // ├─────────┬─────────┤\n+ // │ │ C │\n+ // │ B ├─────────┤\n+ // │ │ D │\n+ // └─────────┴─────────┘\n+ if (fconfig.split == kWinSplitAbove || fconfig.split == kWinSplitLeft) {\n+ neighbor = win->w_next;\n+ while (neighbor->w_floating) {\n+ neighbor = neighbor->w_next;\n+ }\n+ } else {\n+ neighbor = win->w_prev;\n+ while (neighbor->w_floating) {\n+ neighbor = neighbor->w_prev;\n+ }\n+ }\n+ }\n+ // If the frame doesn't have a parent, the old frame\n+ // was the root frame and we need to create a top-level split.\n+ int dir;\n+ new_curwin = winframe_remove(win, &dir, win_tp == curtab ? NULL : win_tp);\n+ } else if (n_frames == 2) {\n+ // There are two windows in the frame, we can just rotate it.\n+ int dir;\n+ neighbor = winframe_remove(win, &dir, win_tp == curtab ? NULL : win_tp);\n+ new_curwin = neighbor;\n+ } else {\n+ // There is only one window in the frame, we can't split it.\n+ api_set_error(err, kErrorTypeValidation, \"Cannot split window into itself\");\n+ return;\n+ }\n+ // Set the parent to whatever the correct\n+ // neighbor window was determined to be.\n+ parent = neighbor;\n+ } else {\n+ int dir;\n+ new_curwin = winframe_remove(win, &dir, win_tp == curtab ? NULL : win_tp);\n+ }\n+ // move to neighboring window if we're moving the current window to a new tabpage\n+ if (curwin == win && parent != NULL && new_curwin != NULL\n+ && win_tp != win_find_tabpage(parent)) {\n+ win_enter(new_curwin, true);\n+ }\n+ // Remove the old window from the tree of frames,\n+ win_remove(win, win_tp == curtab ? NULL : win_tp);\n+ } else {\n+ // Remove the old window from the tree of frames\n+ win_remove(win, win_tp == curtab ? NULL : win_tp);", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472558349", + "id": 1472558349, + "in_reply_to_id": 1472536020, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XxXUN", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 490, + "original_position": 381, + "original_start_line": 486, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1853294669, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472558349/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-31T09:44:16Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472558349", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472559557" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472559557" + } + }, + "author_association": "CONTRIBUTOR", + "body": "I agree, to_split makes more sense.", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T09:45:10Z", + "diff_hunk": "@@ -236,18 +341,203 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n if (!win) {\n return;\n }\n- bool new_float = !win->w_floating;\n+ tabpage_T *win_tp = win_find_tabpage(win);\n+ bool was_normal = !win->w_floating;\n+ bool has_split = HAS_KEY(config, float_config, split);\n+ bool has_vertical = HAS_KEY(config, float_config, vertical);\n // reuse old values, if not overridden\n- FloatConfig fconfig = new_float ? FLOAT_CONFIG_INIT : win->w_float_config;\n+ FloatConfig fconfig = win->w_float_config;\n \n- if (!parse_float_config(config, &fconfig, !new_float, false, err)) {\n+ bool is_split = (!HAS_KEY(config, float_config, relative) || striequal(config->relative.data, \"\"))", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472559557", + "id": 1472559557, + "in_reply_to_id": 1472481201, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XxXnF", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 351, + "original_position": 241, + "original_start_line": null, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1853296604, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472559557/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T09:45:10Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472559557", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472682171" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472682171" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n local layout = fn.winlayout()\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:21:23Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472682171", + "id": 1472682171, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx1i7", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1250, + "original_position": 19, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472682171/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472682171", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472682554" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472682554" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n local layout = fn.winlayout()\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:21:46Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472682554", + "id": 1472682554, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx1o6", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1268, + "original_position": 37, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472682554/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472682554", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472683161" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472683161" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n local layout = fn.winlayout()\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:22:18Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472683161", + "id": 1472683161, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx1yZ", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1318, + "original_position": 87, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472683161/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472683161", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472683461" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472683461" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n layout = fn.winlayout()\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:22:34Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472683461", + "id": 1472683461, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx13F", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1331, + "original_position": 100, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472683461/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472683461", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472683732" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472683732" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n layout = fn.winlayout()\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:22:49Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+\n+ -- specifying a window should create a split next to that window\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472683732", + "id": 1472683732, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx17U", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1351, + "original_position": 120, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472683732/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472683732", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472684301" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472684301" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n local layout = fn.winlayout()\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:23:22Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+\n+ -- specifying a window should create a split next to that window\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+ end)\n+ end)\n+\n+ describe('set_config', function()\n+ it('moves a split into a float', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ api.nvim_win_set_config(win, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, 'editor')\n+ end)\n+\n+ it('throws error when attempting to move the last window', function()\n+ local err = pcall_err(api.nvim_win_set_config, 0, {\n+ vertical = false,\n+ })\n+ eq('Cannot move last window', err)\n+ end)\n+\n+ it('passing retval of get_config results in no-op', function()\n+ -- simple split layout\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472684301", + "id": 1472684301, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx2EN", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1397, + "original_position": 166, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472684301/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472684301", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472684620" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472684620" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n eq(layout, fn.winlayout())\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:23:36Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+\n+ -- specifying a window should create a split next to that window\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+ end)\n+ end)\n+\n+ describe('set_config', function()\n+ it('moves a split into a float', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ api.nvim_win_set_config(win, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, 'editor')\n+ end)\n+\n+ it('throws error when attempting to move the last window', function()\n+ local err = pcall_err(api.nvim_win_set_config, 0, {\n+ vertical = false,\n+ })\n+ eq('Cannot move last window', err)\n+ end)\n+\n+ it('passing retval of get_config results in no-op', function()\n+ -- simple split layout\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ local config = api.nvim_win_get_config(win)\n+ api.nvim_win_set_config(win, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472684620", + "id": 1472684620, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx2JM", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1400, + "original_position": 169, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472684620/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472684620", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472685433" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472685433" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n layout = fn.winlayout()\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:24:20Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+\n+ -- specifying a window should create a split next to that window\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+ end)\n+ end)\n+\n+ describe('set_config', function()\n+ it('moves a split into a float', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ api.nvim_win_set_config(win, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, 'editor')\n+ end)\n+\n+ it('throws error when attempting to move the last window', function()\n+ local err = pcall_err(api.nvim_win_set_config, 0, {\n+ vertical = false,\n+ })\n+ eq('Cannot move last window', err)\n+ end)\n+\n+ it('passing retval of get_config results in no-op', function()\n+ -- simple split layout\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ local config = api.nvim_win_get_config(win)\n+ api.nvim_win_set_config(win, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ -- nested split layout\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win2,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472685433", + "id": 1472685433, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx2V5", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1410, + "original_position": 179, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472685433/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472685433", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472685681" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472685681" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n eq(layout, fn.winlayout())\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:24:35Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+\n+ -- specifying a window should create a split next to that window\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+ end)\n+ end)\n+\n+ describe('set_config', function()\n+ it('moves a split into a float', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ api.nvim_win_set_config(win, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, 'editor')\n+ end)\n+\n+ it('throws error when attempting to move the last window', function()\n+ local err = pcall_err(api.nvim_win_set_config, 0, {\n+ vertical = false,\n+ })\n+ eq('Cannot move last window', err)\n+ end)\n+\n+ it('passing retval of get_config results in no-op', function()\n+ -- simple split layout\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ local config = api.nvim_win_get_config(win)\n+ api.nvim_win_set_config(win, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ -- nested split layout\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win2,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ config = api.nvim_win_get_config(win2)\n+ api.nvim_win_set_config(win2, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472685681", + "id": 1472685681, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx2Zx", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1413, + "original_position": 182, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472685681/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472685681", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472686044" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472686044" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n eq(layout, fn.winlayout())\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:24:53Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+\n+ -- specifying a window should create a split next to that window\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+ end)\n+ end)\n+\n+ describe('set_config', function()\n+ it('moves a split into a float', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ api.nvim_win_set_config(win, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, 'editor')\n+ end)\n+\n+ it('throws error when attempting to move the last window', function()\n+ local err = pcall_err(api.nvim_win_set_config, 0, {\n+ vertical = false,\n+ })\n+ eq('Cannot move last window', err)\n+ end)\n+\n+ it('passing retval of get_config results in no-op', function()\n+ -- simple split layout\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ local config = api.nvim_win_get_config(win)\n+ api.nvim_win_set_config(win, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ -- nested split layout\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win2,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ config = api.nvim_win_get_config(win2)\n+ api.nvim_win_set_config(win2, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ config = api.nvim_win_get_config(win3)\n+ api.nvim_win_set_config(win3, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472686044", + "id": 1472686044, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx2fc", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1417, + "original_position": 186, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472686044/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472686044", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472686320" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472686320" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n local layout = fn.winlayout()\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:25:08Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+\n+ -- specifying a window should create a split next to that window\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+ end)\n+ end)\n+\n+ describe('set_config', function()\n+ it('moves a split into a float', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ api.nvim_win_set_config(win, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, 'editor')\n+ end)\n+\n+ it('throws error when attempting to move the last window', function()\n+ local err = pcall_err(api.nvim_win_set_config, 0, {\n+ vertical = false,\n+ })\n+ eq('Cannot move last window', err)\n+ end)\n+\n+ it('passing retval of get_config results in no-op', function()\n+ -- simple split layout\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ local config = api.nvim_win_get_config(win)\n+ api.nvim_win_set_config(win, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ -- nested split layout\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win2,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ config = api.nvim_win_get_config(win2)\n+ api.nvim_win_set_config(win2, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ config = api.nvim_win_get_config(win3)\n+ api.nvim_win_set_config(win3, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+ end)\n+\n+ it('moves a float into a split', function()\n+ local layout = api.nvim_call_function('winlayout', {})", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472686320", + "id": 1472686320, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx2jw", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1421, + "original_position": 190, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472686320/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472686320", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472686724" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472686724" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n layout = fn.winlayout()\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:25:29Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+\n+ -- specifying a window should create a split next to that window\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+ end)\n+ end)\n+\n+ describe('set_config', function()\n+ it('moves a split into a float', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ api.nvim_win_set_config(win, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, 'editor')\n+ end)\n+\n+ it('throws error when attempting to move the last window', function()\n+ local err = pcall_err(api.nvim_win_set_config, 0, {\n+ vertical = false,\n+ })\n+ eq('Cannot move last window', err)\n+ end)\n+\n+ it('passing retval of get_config results in no-op', function()\n+ -- simple split layout\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ local config = api.nvim_win_get_config(win)\n+ api.nvim_win_set_config(win, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ -- nested split layout\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win2,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ config = api.nvim_win_get_config(win2)\n+ api.nvim_win_set_config(win2, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ config = api.nvim_win_get_config(win3)\n+ api.nvim_win_set_config(win3, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+ end)\n+\n+ it('moves a float into a split', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ eq('', api.nvim_win_get_config(win).relative)\n+ layout = api.nvim_call_function('winlayout', {})", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472686724", + "id": 1472686724, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx2qE", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1435, + "original_position": 204, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472686724/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472686724", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472687007" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472687007" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n local layout = fn.winlayout()\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:25:44Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+\n+ -- specifying a window should create a split next to that window\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+ end)\n+ end)\n+\n+ describe('set_config', function()\n+ it('moves a split into a float', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ api.nvim_win_set_config(win, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, 'editor')\n+ end)\n+\n+ it('throws error when attempting to move the last window', function()\n+ local err = pcall_err(api.nvim_win_set_config, 0, {\n+ vertical = false,\n+ })\n+ eq('Cannot move last window', err)\n+ end)\n+\n+ it('passing retval of get_config results in no-op', function()\n+ -- simple split layout\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ local config = api.nvim_win_get_config(win)\n+ api.nvim_win_set_config(win, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ -- nested split layout\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win2,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ config = api.nvim_win_get_config(win2)\n+ api.nvim_win_set_config(win2, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ config = api.nvim_win_get_config(win3)\n+ api.nvim_win_set_config(win3, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+ end)\n+\n+ it('moves a float into a split', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ eq('', api.nvim_win_get_config(win).relative)\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ end)\n+\n+ it('respects the \"split\" option', function()\n+ local layout = api.nvim_call_function('winlayout', {})", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472687007", + "id": 1472687007, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx2uf", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1442, + "original_position": 211, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472687007/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472687007", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472687249" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472687249" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n layout = fn.winlayout()\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:25:57Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+\n+ -- specifying a window should create a split next to that window\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+ end)\n+ end)\n+\n+ describe('set_config', function()\n+ it('moves a split into a float', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ api.nvim_win_set_config(win, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, 'editor')\n+ end)\n+\n+ it('throws error when attempting to move the last window', function()\n+ local err = pcall_err(api.nvim_win_set_config, 0, {\n+ vertical = false,\n+ })\n+ eq('Cannot move last window', err)\n+ end)\n+\n+ it('passing retval of get_config results in no-op', function()\n+ -- simple split layout\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ local config = api.nvim_win_get_config(win)\n+ api.nvim_win_set_config(win, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ -- nested split layout\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win2,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ config = api.nvim_win_get_config(win2)\n+ api.nvim_win_set_config(win2, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ config = api.nvim_win_get_config(win3)\n+ api.nvim_win_set_config(win3, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+ end)\n+\n+ it('moves a float into a split', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ eq('', api.nvim_win_get_config(win).relative)\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ end)\n+\n+ it('respects the \"split\" option', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local first_win = layout[2]\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = first_win,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472687249", + "id": 1472687249, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx2yR", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1456, + "original_position": 225, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472687249/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472687249", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472687573" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472687573" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n layout = fn.winlayout()\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:26:13Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+\n+ -- specifying a window should create a split next to that window\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+ end)\n+ end)\n+\n+ describe('set_config', function()\n+ it('moves a split into a float', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ api.nvim_win_set_config(win, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, 'editor')\n+ end)\n+\n+ it('throws error when attempting to move the last window', function()\n+ local err = pcall_err(api.nvim_win_set_config, 0, {\n+ vertical = false,\n+ })\n+ eq('Cannot move last window', err)\n+ end)\n+\n+ it('passing retval of get_config results in no-op', function()\n+ -- simple split layout\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ local config = api.nvim_win_get_config(win)\n+ api.nvim_win_set_config(win, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ -- nested split layout\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win2,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ config = api.nvim_win_get_config(win2)\n+ api.nvim_win_set_config(win2, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ config = api.nvim_win_get_config(win3)\n+ api.nvim_win_set_config(win3, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+ end)\n+\n+ it('moves a float into a split', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ eq('', api.nvim_win_get_config(win).relative)\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ end)\n+\n+ it('respects the \"split\" option', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local first_win = layout[2]\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = first_win,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('row', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ local config = api.nvim_win_get_config(win)\n+ eq('', config.relative)\n+ eq('right', config.split)\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = first_win,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472687573", + "id": 1472687573, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx23V", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1467, + "original_position": 236, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472687573/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472687573", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472687860" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472687860" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n local layout = fn.winlayout()\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:26:27Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+\n+ -- specifying a window should create a split next to that window\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+ end)\n+ end)\n+\n+ describe('set_config', function()\n+ it('moves a split into a float', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ api.nvim_win_set_config(win, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, 'editor')\n+ end)\n+\n+ it('throws error when attempting to move the last window', function()\n+ local err = pcall_err(api.nvim_win_set_config, 0, {\n+ vertical = false,\n+ })\n+ eq('Cannot move last window', err)\n+ end)\n+\n+ it('passing retval of get_config results in no-op', function()\n+ -- simple split layout\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ local config = api.nvim_win_get_config(win)\n+ api.nvim_win_set_config(win, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ -- nested split layout\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win2,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ config = api.nvim_win_get_config(win2)\n+ api.nvim_win_set_config(win2, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ config = api.nvim_win_get_config(win3)\n+ api.nvim_win_set_config(win3, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+ end)\n+\n+ it('moves a float into a split', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ eq('', api.nvim_win_get_config(win).relative)\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ end)\n+\n+ it('respects the \"split\" option', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local first_win = layout[2]\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = first_win,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('row', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ local config = api.nvim_win_get_config(win)\n+ eq('', config.relative)\n+ eq('right', config.split)\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = first_win,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ config = api.nvim_win_get_config(win)\n+ eq('', config.relative)\n+ eq('below', config.split)\n+ end)\n+\n+ it('creates top-level splits', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ win = -1,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472687860", + "id": 1472687860, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx270", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1484, + "original_position": 253, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472687860/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472687860", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472688135" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472688135" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n layout = fn.winlayout()\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:26:43Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+\n+ -- specifying a window should create a split next to that window\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+ end)\n+ end)\n+\n+ describe('set_config', function()\n+ it('moves a split into a float', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ api.nvim_win_set_config(win, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, 'editor')\n+ end)\n+\n+ it('throws error when attempting to move the last window', function()\n+ local err = pcall_err(api.nvim_win_set_config, 0, {\n+ vertical = false,\n+ })\n+ eq('Cannot move last window', err)\n+ end)\n+\n+ it('passing retval of get_config results in no-op', function()\n+ -- simple split layout\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ local config = api.nvim_win_get_config(win)\n+ api.nvim_win_set_config(win, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ -- nested split layout\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win2,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ config = api.nvim_win_get_config(win2)\n+ api.nvim_win_set_config(win2, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ config = api.nvim_win_get_config(win3)\n+ api.nvim_win_set_config(win3, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+ end)\n+\n+ it('moves a float into a split', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ eq('', api.nvim_win_get_config(win).relative)\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ end)\n+\n+ it('respects the \"split\" option', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local first_win = layout[2]\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = first_win,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('row', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ local config = api.nvim_win_get_config(win)\n+ eq('', config.relative)\n+ eq('right', config.split)\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = first_win,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ config = api.nvim_win_get_config(win)\n+ eq('', config.relative)\n+ eq('below', config.split)\n+ end)\n+\n+ it('creates top-level splits', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ win = -1,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('row', layout[1])\n+ eq(2, #layout[2])\n+ eq(win2, layout[2][1][2])\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472688135", + "id": 1472688135, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx3AH", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1492, + "original_position": 261, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472688135/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472688135", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472692547" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472692547" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n local layout = fn.winlayout()\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:30:57Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+\n+ -- specifying a window should create a split next to that window\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+ end)\n+ end)\n+\n+ describe('set_config', function()\n+ it('moves a split into a float', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ api.nvim_win_set_config(win, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, 'editor')\n+ end)\n+\n+ it('throws error when attempting to move the last window', function()\n+ local err = pcall_err(api.nvim_win_set_config, 0, {\n+ vertical = false,\n+ })\n+ eq('Cannot move last window', err)\n+ end)\n+\n+ it('passing retval of get_config results in no-op', function()\n+ -- simple split layout\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ local config = api.nvim_win_get_config(win)\n+ api.nvim_win_set_config(win, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ -- nested split layout\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win2,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ config = api.nvim_win_get_config(win2)\n+ api.nvim_win_set_config(win2, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ config = api.nvim_win_get_config(win3)\n+ api.nvim_win_set_config(win3, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+ end)\n+\n+ it('moves a float into a split', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ eq('', api.nvim_win_get_config(win).relative)\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ end)\n+\n+ it('respects the \"split\" option', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local first_win = layout[2]\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = first_win,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('row', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ local config = api.nvim_win_get_config(win)\n+ eq('', config.relative)\n+ eq('right', config.split)\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = first_win,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ config = api.nvim_win_get_config(win)\n+ eq('', config.relative)\n+ eq('below', config.split)\n+ end)\n+\n+ it('creates top-level splits', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ win = -1,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('row', layout[1])\n+ eq(2, #layout[2])\n+ eq(win2, layout[2][1][2])\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq('row', layout[2][1][1])\n+ eq(win, layout[2][2][2])\n+ end)\n+\n+ it('moves splits to other tabpages', function()\n+ local curtab = api.nvim_get_current_tabpage()\n+ local win = api.nvim_open_win(0, false, { split = 'left' })\n+ command('tabnew')\n+ local tabnr = api.nvim_get_current_tabpage()\n+ command('tabprev') -- return to the initial tab\n+\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = api.nvim_tabpage_get_win(tabnr),\n+ })\n+\n+ eq(tabnr, api.nvim_win_get_tabpage(win))\n+ -- we are changing the config, the current tabpage should not change\n+ eq(curtab, api.nvim_get_current_tabpage())\n+\n+ command('tabnext') -- switch to the new tabpage so we can get the layout\n+ local layout = api.nvim_call_function('winlayout', {})", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472692547", + "id": 1472692547, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx4FD", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1516, + "original_position": 285, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472692547/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472692547", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472693788" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472693788" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n eq('', api.nvim_win_get_config(win).relative)\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:32:13Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472693788", + "id": 1472693788, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx4Yc", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1240, + "original_position": 9, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472693788/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472693788", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472694081" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472694081" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n eq('', api.nvim_win_get_config(win).relative)\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:32:29Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472694081", + "id": 1472694081, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx4dB", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1248, + "original_position": 17, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472694081/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472694081", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472694397" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472694397" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n eq('', api.nvim_win_get_config(win).relative)\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:32:46Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472694397", + "id": 1472694397, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx4h9", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1266, + "original_position": 35, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472694397/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472694397", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472694752" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472694752" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n eq(tab1_win, api.nvim_get_current_win())\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:33:07Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472694752", + "id": 1472694752, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx4ng", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1293, + "original_position": 62, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472694752/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472694752", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472695184" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472695184" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n eq(tab1_win, api.nvim_get_current_win()) -- we should still be in the first tp\r\n eq(tab1_win, api.nvim_tabpage_get_win(tab1))\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:33:31Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472695184", + "id": 1472695184, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx4uQ", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1303, + "original_position": 72, + "original_start_line": 1302, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472695184/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472695184", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472695606" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472695606" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n eq(tab2_win, api.nvim_tabpage_get_win(tab2)) -- tab2's tp_curwin should not have changed\r\n eq(tab2_prevwin, fn.tabpagewinnr(tab2, '#')) -- tab2's tp_prevwin should not have changed\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:33:57Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472695606", + "id": 1472695606, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx402", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1306, + "original_position": 75, + "original_start_line": 1305, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472695606/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472695606", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472696091" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472696091" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n eq({\r\n 'col',\r\n {\r\n { 'leaf', win },\r\n { 'leaf', first_win },\r\n },\r\n }, layout)\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:34:23Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472696091", + "id": 1472696091, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx48b", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1325, + "original_position": 94, + "original_start_line": 1319, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472696091/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472696091", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472696548" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472696548" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n eq('', api.nvim_win_get_config(win).relative)\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:34:51Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+\n+ -- specifying a window should create a split next to that window\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+ end)\n+ end)\n+\n+ describe('set_config', function()\n+ it('moves a split into a float', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472696548", + "id": 1472696548, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx5Dk", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1374, + "original_position": 143, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472696548/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472696548", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472697037" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472697037" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n eq('editor', api.nvim_win_get_config(win).relative)\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:35:18Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+\n+ -- specifying a window should create a split next to that window\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+ end)\n+ end)\n+\n+ describe('set_config', function()\n+ it('moves a split into a float', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ api.nvim_win_set_config(win, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, 'editor')", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472697037", + "id": 1472697037, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx5LN", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1382, + "original_position": 151, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472697037/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472697037", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472698968" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472698968" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n eq({\r\n 'row',\r\n {\r\n { 'leaf', api.nvim_tabpage_get_win(tabnr) },\r\n { 'leaf', win },\r\n },\r\n }, layout)\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:37:15Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+\n+ -- specifying a window should create a split next to that window\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+ end)\n+ end)\n+\n+ describe('set_config', function()\n+ it('moves a split into a float', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ api.nvim_win_set_config(win, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, 'editor')\n+ end)\n+\n+ it('throws error when attempting to move the last window', function()\n+ local err = pcall_err(api.nvim_win_set_config, 0, {\n+ vertical = false,\n+ })\n+ eq('Cannot move last window', err)\n+ end)\n+\n+ it('passing retval of get_config results in no-op', function()\n+ -- simple split layout\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ local config = api.nvim_win_get_config(win)\n+ api.nvim_win_set_config(win, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ -- nested split layout\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win2,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ config = api.nvim_win_get_config(win2)\n+ api.nvim_win_set_config(win2, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ config = api.nvim_win_get_config(win3)\n+ api.nvim_win_set_config(win3, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+ end)\n+\n+ it('moves a float into a split', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ eq('', api.nvim_win_get_config(win).relative)\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ end)\n+\n+ it('respects the \"split\" option', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local first_win = layout[2]\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = first_win,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('row', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ local config = api.nvim_win_get_config(win)\n+ eq('', config.relative)\n+ eq('right', config.split)\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = first_win,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ config = api.nvim_win_get_config(win)\n+ eq('', config.relative)\n+ eq('below', config.split)\n+ end)\n+\n+ it('creates top-level splits', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ win = -1,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('row', layout[1])\n+ eq(2, #layout[2])\n+ eq(win2, layout[2][1][2])\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq('row', layout[2][1][1])\n+ eq(win, layout[2][2][2])\n+ end)\n+\n+ it('moves splits to other tabpages', function()\n+ local curtab = api.nvim_get_current_tabpage()\n+ local win = api.nvim_open_win(0, false, { split = 'left' })\n+ command('tabnew')\n+ local tabnr = api.nvim_get_current_tabpage()\n+ command('tabprev') -- return to the initial tab\n+\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = api.nvim_tabpage_get_win(tabnr),\n+ })\n+\n+ eq(tabnr, api.nvim_win_get_tabpage(win))\n+ -- we are changing the config, the current tabpage should not change\n+ eq(curtab, api.nvim_get_current_tabpage())\n+\n+ command('tabnext') -- switch to the new tabpage so we can get the layout\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq(layout, {\n+ 'row',\n+ {\n+ { 'leaf', api.nvim_tabpage_get_win(tabnr) },\n+ { 'leaf', win },\n+ },\n+ })", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472698968", + "id": 1472698968, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx5pY", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1524, + "original_position": 293, + "original_start_line": 1518, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472698968/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472698968", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472699322" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472699322" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n eq(curtab, api.nvim_get_current_tabpage())\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:37:39Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+\n+ -- specifying a window should create a split next to that window\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+ end)\n+ end)\n+\n+ describe('set_config', function()\n+ it('moves a split into a float', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ api.nvim_win_set_config(win, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, 'editor')\n+ end)\n+\n+ it('throws error when attempting to move the last window', function()\n+ local err = pcall_err(api.nvim_win_set_config, 0, {\n+ vertical = false,\n+ })\n+ eq('Cannot move last window', err)\n+ end)\n+\n+ it('passing retval of get_config results in no-op', function()\n+ -- simple split layout\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ local config = api.nvim_win_get_config(win)\n+ api.nvim_win_set_config(win, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ -- nested split layout\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win2,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ config = api.nvim_win_get_config(win2)\n+ api.nvim_win_set_config(win2, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ config = api.nvim_win_get_config(win3)\n+ api.nvim_win_set_config(win3, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+ end)\n+\n+ it('moves a float into a split', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ eq('', api.nvim_win_get_config(win).relative)\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ end)\n+\n+ it('respects the \"split\" option', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local first_win = layout[2]\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = first_win,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('row', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ local config = api.nvim_win_get_config(win)\n+ eq('', config.relative)\n+ eq('right', config.split)\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = first_win,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ config = api.nvim_win_get_config(win)\n+ eq('', config.relative)\n+ eq('below', config.split)\n+ end)\n+\n+ it('creates top-level splits', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ win = -1,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('row', layout[1])\n+ eq(2, #layout[2])\n+ eq(win2, layout[2][1][2])\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq('row', layout[2][1][1])\n+ eq(win, layout[2][2][2])\n+ end)\n+\n+ it('moves splits to other tabpages', function()\n+ local curtab = api.nvim_get_current_tabpage()\n+ local win = api.nvim_open_win(0, false, { split = 'left' })\n+ command('tabnew')\n+ local tabnr = api.nvim_get_current_tabpage()\n+ command('tabprev') -- return to the initial tab\n+\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = api.nvim_tabpage_get_win(tabnr),\n+ })\n+\n+ eq(tabnr, api.nvim_win_get_tabpage(win))\n+ -- we are changing the config, the current tabpage should not change\n+ eq(curtab, api.nvim_get_current_tabpage())\n+\n+ command('tabnext') -- switch to the new tabpage so we can get the layout\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq(layout, {\n+ 'row',\n+ {\n+ { 'leaf', api.nvim_tabpage_get_win(tabnr) },\n+ { 'leaf', win },\n+ },\n+ })\n+ end)\n+\n+ it('correctly moves curwin when moving curwin to a different tabpage', function()\n+ local curtab = api.nvim_get_current_tabpage()\n+ command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ command('tabprev') -- return to the initial tab\n+\n+ local neighbor = api.nvim_get_current_win()\n+\n+ -- create and enter a new split\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+\n+ eq(curtab, api.nvim_win_get_tabpage(win))\n+\n+ eq({ win, neighbor }, api.nvim_tabpage_list_wins(curtab))\n+\n+ -- move the current win to a different tabpage\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = api.nvim_tabpage_get_win(tab2),\n+ })\n+\n+ eq(api.nvim_get_current_tabpage(), curtab)", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472699322", + "id": 1472699322, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx5u6", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1552, + "original_position": 321, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472699322/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472699322", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472699885" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472699885" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n eq({\r\n 'row',\r\n {\r\n { 'leaf', win2 },\r\n { 'leaf', win },\r\n { 'leaf', initial_win },\r\n },\r\n }, fn.winlayout())\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:38:08Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+\n+ -- specifying a window should create a split next to that window\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+ end)\n+ end)\n+\n+ describe('set_config', function()\n+ it('moves a split into a float', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ api.nvim_win_set_config(win, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, 'editor')\n+ end)\n+\n+ it('throws error when attempting to move the last window', function()\n+ local err = pcall_err(api.nvim_win_set_config, 0, {\n+ vertical = false,\n+ })\n+ eq('Cannot move last window', err)\n+ end)\n+\n+ it('passing retval of get_config results in no-op', function()\n+ -- simple split layout\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ local config = api.nvim_win_get_config(win)\n+ api.nvim_win_set_config(win, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ -- nested split layout\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win2,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ config = api.nvim_win_get_config(win2)\n+ api.nvim_win_set_config(win2, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ config = api.nvim_win_get_config(win3)\n+ api.nvim_win_set_config(win3, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+ end)\n+\n+ it('moves a float into a split', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ eq('', api.nvim_win_get_config(win).relative)\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ end)\n+\n+ it('respects the \"split\" option', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local first_win = layout[2]\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = first_win,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('row', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ local config = api.nvim_win_get_config(win)\n+ eq('', config.relative)\n+ eq('right', config.split)\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = first_win,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ config = api.nvim_win_get_config(win)\n+ eq('', config.relative)\n+ eq('below', config.split)\n+ end)\n+\n+ it('creates top-level splits', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ win = -1,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('row', layout[1])\n+ eq(2, #layout[2])\n+ eq(win2, layout[2][1][2])\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq('row', layout[2][1][1])\n+ eq(win, layout[2][2][2])\n+ end)\n+\n+ it('moves splits to other tabpages', function()\n+ local curtab = api.nvim_get_current_tabpage()\n+ local win = api.nvim_open_win(0, false, { split = 'left' })\n+ command('tabnew')\n+ local tabnr = api.nvim_get_current_tabpage()\n+ command('tabprev') -- return to the initial tab\n+\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = api.nvim_tabpage_get_win(tabnr),\n+ })\n+\n+ eq(tabnr, api.nvim_win_get_tabpage(win))\n+ -- we are changing the config, the current tabpage should not change\n+ eq(curtab, api.nvim_get_current_tabpage())\n+\n+ command('tabnext') -- switch to the new tabpage so we can get the layout\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq(layout, {\n+ 'row',\n+ {\n+ { 'leaf', api.nvim_tabpage_get_win(tabnr) },\n+ { 'leaf', win },\n+ },\n+ })\n+ end)\n+\n+ it('correctly moves curwin when moving curwin to a different tabpage', function()\n+ local curtab = api.nvim_get_current_tabpage()\n+ command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ command('tabprev') -- return to the initial tab\n+\n+ local neighbor = api.nvim_get_current_win()\n+\n+ -- create and enter a new split\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+\n+ eq(curtab, api.nvim_win_get_tabpage(win))\n+\n+ eq({ win, neighbor }, api.nvim_tabpage_list_wins(curtab))\n+\n+ -- move the current win to a different tabpage\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = api.nvim_tabpage_get_win(tab2),\n+ })\n+\n+ eq(api.nvim_get_current_tabpage(), curtab)\n+\n+ -- win should have moved to tab2\n+ eq(tab2, api.nvim_win_get_tabpage(win))\n+ -- tp_curwin of tab2 should not have changed\n+ eq(tab2_win, api.nvim_tabpage_get_win(tab2))\n+ -- win lists should be correct\n+ eq({ tab2_win, win }, api.nvim_tabpage_list_wins(tab2))\n+ eq({ neighbor }, api.nvim_tabpage_list_wins(curtab))\n+\n+ -- current win should have moved to neighboring win\n+ eq(neighbor, api.nvim_tabpage_get_win(curtab))\n+ end)\n+\n+ it('splits windows in non-current tabpage', function()\n+ local curtab = api.nvim_get_current_tabpage()\n+ command('tabnew')\n+ local tabnr = api.nvim_get_current_tabpage()\n+ command('tabprev') -- return to the initial tab\n+\n+ local win = api.nvim_open_win(0, false, {\n+ vertical = false,\n+ win = api.nvim_tabpage_get_win(tabnr),\n+ })\n+\n+ eq(tabnr, api.nvim_win_get_tabpage(win))\n+ -- since enter = false, the current tabpage should not change\n+ eq(curtab, api.nvim_get_current_tabpage())\n+ end)\n+\n+ it('moves the current split window', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ api.nvim_set_current_win(win)\n+ eq(api.nvim_call_function('winlayout', {}), {\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ })", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472699885", + "id": 1472699885, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx53t", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1598, + "original_position": 367, + "original_start_line": 1591, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472699885/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472699885", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472700291" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472700291" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n }, fn.winlayout())\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:38:28Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+\n+ -- specifying a window should create a split next to that window\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+ end)\n+ end)\n+\n+ describe('set_config', function()\n+ it('moves a split into a float', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ api.nvim_win_set_config(win, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, 'editor')\n+ end)\n+\n+ it('throws error when attempting to move the last window', function()\n+ local err = pcall_err(api.nvim_win_set_config, 0, {\n+ vertical = false,\n+ })\n+ eq('Cannot move last window', err)\n+ end)\n+\n+ it('passing retval of get_config results in no-op', function()\n+ -- simple split layout\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ local config = api.nvim_win_get_config(win)\n+ api.nvim_win_set_config(win, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ -- nested split layout\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win2,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ config = api.nvim_win_get_config(win2)\n+ api.nvim_win_set_config(win2, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ config = api.nvim_win_get_config(win3)\n+ api.nvim_win_set_config(win3, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+ end)\n+\n+ it('moves a float into a split', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ eq('', api.nvim_win_get_config(win).relative)\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ end)\n+\n+ it('respects the \"split\" option', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local first_win = layout[2]\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = first_win,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('row', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ local config = api.nvim_win_get_config(win)\n+ eq('', config.relative)\n+ eq('right', config.split)\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = first_win,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ config = api.nvim_win_get_config(win)\n+ eq('', config.relative)\n+ eq('below', config.split)\n+ end)\n+\n+ it('creates top-level splits', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ win = -1,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('row', layout[1])\n+ eq(2, #layout[2])\n+ eq(win2, layout[2][1][2])\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq('row', layout[2][1][1])\n+ eq(win, layout[2][2][2])\n+ end)\n+\n+ it('moves splits to other tabpages', function()\n+ local curtab = api.nvim_get_current_tabpage()\n+ local win = api.nvim_open_win(0, false, { split = 'left' })\n+ command('tabnew')\n+ local tabnr = api.nvim_get_current_tabpage()\n+ command('tabprev') -- return to the initial tab\n+\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = api.nvim_tabpage_get_win(tabnr),\n+ })\n+\n+ eq(tabnr, api.nvim_win_get_tabpage(win))\n+ -- we are changing the config, the current tabpage should not change\n+ eq(curtab, api.nvim_get_current_tabpage())\n+\n+ command('tabnext') -- switch to the new tabpage so we can get the layout\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq(layout, {\n+ 'row',\n+ {\n+ { 'leaf', api.nvim_tabpage_get_win(tabnr) },\n+ { 'leaf', win },\n+ },\n+ })\n+ end)\n+\n+ it('correctly moves curwin when moving curwin to a different tabpage', function()\n+ local curtab = api.nvim_get_current_tabpage()\n+ command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ command('tabprev') -- return to the initial tab\n+\n+ local neighbor = api.nvim_get_current_win()\n+\n+ -- create and enter a new split\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+\n+ eq(curtab, api.nvim_win_get_tabpage(win))\n+\n+ eq({ win, neighbor }, api.nvim_tabpage_list_wins(curtab))\n+\n+ -- move the current win to a different tabpage\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = api.nvim_tabpage_get_win(tab2),\n+ })\n+\n+ eq(api.nvim_get_current_tabpage(), curtab)\n+\n+ -- win should have moved to tab2\n+ eq(tab2, api.nvim_win_get_tabpage(win))\n+ -- tp_curwin of tab2 should not have changed\n+ eq(tab2_win, api.nvim_tabpage_get_win(tab2))\n+ -- win lists should be correct\n+ eq({ tab2_win, win }, api.nvim_tabpage_list_wins(tab2))\n+ eq({ neighbor }, api.nvim_tabpage_list_wins(curtab))\n+\n+ -- current win should have moved to neighboring win\n+ eq(neighbor, api.nvim_tabpage_get_win(curtab))\n+ end)\n+\n+ it('splits windows in non-current tabpage', function()\n+ local curtab = api.nvim_get_current_tabpage()\n+ command('tabnew')\n+ local tabnr = api.nvim_get_current_tabpage()\n+ command('tabprev') -- return to the initial tab\n+\n+ local win = api.nvim_open_win(0, false, {\n+ vertical = false,\n+ win = api.nvim_tabpage_get_win(tabnr),\n+ })\n+\n+ eq(tabnr, api.nvim_win_get_tabpage(win))\n+ -- since enter = false, the current tabpage should not change\n+ eq(curtab, api.nvim_get_current_tabpage())\n+ end)\n+\n+ it('moves the current split window', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ api.nvim_set_current_win(win)\n+ eq(api.nvim_call_function('winlayout', {}), {\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ })\n+\n+ api.nvim_win_set_config(0, {\n+ vertical = false,\n+ win = 0,\n+ })\n+ eq(win, api.nvim_get_current_win())\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ {\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ { 'leaf', initial_win },\n+ },\n+ },\n+ },\n+ }, api.nvim_call_function('winlayout', {}))", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472700291", + "id": 1472700291, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx5-D", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1617, + "original_position": 386, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472700291/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472700291", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472700621" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472700621" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n }, fn.winlayout())\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:38:47Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+\n+ -- specifying a window should create a split next to that window\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+ end)\n+ end)\n+\n+ describe('set_config', function()\n+ it('moves a split into a float', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ api.nvim_win_set_config(win, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, 'editor')\n+ end)\n+\n+ it('throws error when attempting to move the last window', function()\n+ local err = pcall_err(api.nvim_win_set_config, 0, {\n+ vertical = false,\n+ })\n+ eq('Cannot move last window', err)\n+ end)\n+\n+ it('passing retval of get_config results in no-op', function()\n+ -- simple split layout\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ local config = api.nvim_win_get_config(win)\n+ api.nvim_win_set_config(win, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ -- nested split layout\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win2,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ config = api.nvim_win_get_config(win2)\n+ api.nvim_win_set_config(win2, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ config = api.nvim_win_get_config(win3)\n+ api.nvim_win_set_config(win3, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+ end)\n+\n+ it('moves a float into a split', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ eq('', api.nvim_win_get_config(win).relative)\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ end)\n+\n+ it('respects the \"split\" option', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local first_win = layout[2]\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = first_win,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('row', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ local config = api.nvim_win_get_config(win)\n+ eq('', config.relative)\n+ eq('right', config.split)\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = first_win,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ config = api.nvim_win_get_config(win)\n+ eq('', config.relative)\n+ eq('below', config.split)\n+ end)\n+\n+ it('creates top-level splits', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ win = -1,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('row', layout[1])\n+ eq(2, #layout[2])\n+ eq(win2, layout[2][1][2])\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq('row', layout[2][1][1])\n+ eq(win, layout[2][2][2])\n+ end)\n+\n+ it('moves splits to other tabpages', function()\n+ local curtab = api.nvim_get_current_tabpage()\n+ local win = api.nvim_open_win(0, false, { split = 'left' })\n+ command('tabnew')\n+ local tabnr = api.nvim_get_current_tabpage()\n+ command('tabprev') -- return to the initial tab\n+\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = api.nvim_tabpage_get_win(tabnr),\n+ })\n+\n+ eq(tabnr, api.nvim_win_get_tabpage(win))\n+ -- we are changing the config, the current tabpage should not change\n+ eq(curtab, api.nvim_get_current_tabpage())\n+\n+ command('tabnext') -- switch to the new tabpage so we can get the layout\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq(layout, {\n+ 'row',\n+ {\n+ { 'leaf', api.nvim_tabpage_get_win(tabnr) },\n+ { 'leaf', win },\n+ },\n+ })\n+ end)\n+\n+ it('correctly moves curwin when moving curwin to a different tabpage', function()\n+ local curtab = api.nvim_get_current_tabpage()\n+ command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ command('tabprev') -- return to the initial tab\n+\n+ local neighbor = api.nvim_get_current_win()\n+\n+ -- create and enter a new split\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+\n+ eq(curtab, api.nvim_win_get_tabpage(win))\n+\n+ eq({ win, neighbor }, api.nvim_tabpage_list_wins(curtab))\n+\n+ -- move the current win to a different tabpage\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = api.nvim_tabpage_get_win(tab2),\n+ })\n+\n+ eq(api.nvim_get_current_tabpage(), curtab)\n+\n+ -- win should have moved to tab2\n+ eq(tab2, api.nvim_win_get_tabpage(win))\n+ -- tp_curwin of tab2 should not have changed\n+ eq(tab2_win, api.nvim_tabpage_get_win(tab2))\n+ -- win lists should be correct\n+ eq({ tab2_win, win }, api.nvim_tabpage_list_wins(tab2))\n+ eq({ neighbor }, api.nvim_tabpage_list_wins(curtab))\n+\n+ -- current win should have moved to neighboring win\n+ eq(neighbor, api.nvim_tabpage_get_win(curtab))\n+ end)\n+\n+ it('splits windows in non-current tabpage', function()\n+ local curtab = api.nvim_get_current_tabpage()\n+ command('tabnew')\n+ local tabnr = api.nvim_get_current_tabpage()\n+ command('tabprev') -- return to the initial tab\n+\n+ local win = api.nvim_open_win(0, false, {\n+ vertical = false,\n+ win = api.nvim_tabpage_get_win(tabnr),\n+ })\n+\n+ eq(tabnr, api.nvim_win_get_tabpage(win))\n+ -- since enter = false, the current tabpage should not change\n+ eq(curtab, api.nvim_get_current_tabpage())\n+ end)\n+\n+ it('moves the current split window', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ api.nvim_set_current_win(win)\n+ eq(api.nvim_call_function('winlayout', {}), {\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ })\n+\n+ api.nvim_win_set_config(0, {\n+ vertical = false,\n+ win = 0,\n+ })\n+ eq(win, api.nvim_get_current_win())\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ {\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ { 'leaf', initial_win },\n+ },\n+ },\n+ },\n+ }, api.nvim_call_function('winlayout', {}))\n+\n+ api.nvim_set_current_win(win2)\n+ local win3 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(win3, api.nvim_get_current_win())\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ {\n+ 'row',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win2 },\n+ { 'leaf', initial_win },\n+ },\n+ },\n+ },\n+ }, api.nvim_call_function('winlayout', {}))", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472700621", + "id": 1472700621, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx6DN", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1638, + "original_position": 407, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472700621/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472700621", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472700941" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472700941" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n }, fn.winlayout())\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:39:03Z", + "diff_hunk": "@@ -1232,6 +1232,437 @@ describe('API/win', function()\n )\n eq(wins_before, api.nvim_list_wins())\n end)\n+\n+ it('creates a split window', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ end)\n+\n+ it('creates split windows in the correct direction', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\"respects the 'split' option\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'below',\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', initial_win },\n+ { 'leaf', win },\n+ },\n+ }, layout)\n+ end)\n+\n+ it(\n+ \"doesn't change tp_curwin when splitting window in non-current tab with enter=false\",\n+ function()\n+ local tab1 = api.nvim_get_current_tabpage()\n+ local tab1_win = api.nvim_get_current_win()\n+\n+ helpers.command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ eq({ tab1_win, tab2_win }, api.nvim_list_wins())\n+ eq({ tab1, tab2 }, api.nvim_list_tabpages())\n+\n+ api.nvim_set_current_tabpage(tab1)\n+ eq(api.nvim_get_current_win(), tab1_win)\n+\n+ local tab2_prevwin = fn.tabpagewinnr(tab2, '#')\n+\n+ -- split in tab2 whine in tab2, with enter = false\n+ local tab2_win2 = api.nvim_open_win(api.nvim_create_buf(false, true), false, {\n+ win = tab2_win,\n+ split = 'right',\n+ })\n+ eq(api.nvim_get_current_win(), tab1_win) -- we should still be in the first tp\n+ eq(api.nvim_tabpage_get_win(tab1), tab1_win)\n+\n+ eq(api.nvim_tabpage_get_win(tab2), tab2_win) -- tab2's tp_curwin should not have changed\n+ eq(fn.tabpagewinnr(tab2, '#'), tab2_prevwin) -- tab2's tp_prevwin should not have changed\n+ eq({ tab1_win, tab2_win, tab2_win2 }, api.nvim_list_wins())\n+ eq({ tab2_win, tab2_win2 }, api.nvim_tabpage_list_wins(tab2))\n+ end\n+ )\n+\n+ it('creates splits in the correct location', function()\n+ local first_win = api.nvim_get_current_win()\n+ -- specifying window 0 should create a split next to the current window\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq(layout, {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ })\n+ -- not specifying a window should create a top-level split\n+ local win2 = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+\n+ -- specifying a window should create a split next to that window\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq({\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win },\n+ { 'leaf', first_win },\n+ },\n+ },\n+ },\n+ }, layout)\n+ end)\n+ end)\n+\n+ describe('set_config', function()\n+ it('moves a split into a float', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, '')\n+ api.nvim_win_set_config(win, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ eq(api.nvim_win_get_config(win).relative, 'editor')\n+ end)\n+\n+ it('throws error when attempting to move the last window', function()\n+ local err = pcall_err(api.nvim_win_set_config, 0, {\n+ vertical = false,\n+ })\n+ eq('Cannot move last window', err)\n+ end)\n+\n+ it('passing retval of get_config results in no-op', function()\n+ -- simple split layout\n+ local win = api.nvim_open_win(0, true, {\n+ split = 'left',\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ local config = api.nvim_win_get_config(win)\n+ api.nvim_win_set_config(win, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ -- nested split layout\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ local win3 = api.nvim_open_win(0, true, {\n+ win = win2,\n+ vertical = false,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ config = api.nvim_win_get_config(win2)\n+ api.nvim_win_set_config(win2, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+\n+ config = api.nvim_win_get_config(win3)\n+ api.nvim_win_set_config(win3, config)\n+ eq(layout, api.nvim_call_function('winlayout', {}))\n+ end)\n+\n+ it('moves a float into a split', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ eq('', api.nvim_win_get_config(win).relative)\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ end)\n+\n+ it('respects the \"split\" option', function()\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('leaf', layout[1])\n+ local first_win = layout[2]\n+ local win = api.nvim_open_win(0, true, {\n+ relative = 'editor',\n+ row = 5,\n+ col = 5,\n+ width = 5,\n+ height = 5,\n+ })\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = first_win,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('row', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ local config = api.nvim_win_get_config(win)\n+ eq('', config.relative)\n+ eq('right', config.split)\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = first_win,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq(win, layout[2][2][2])\n+ config = api.nvim_win_get_config(win)\n+ eq('', config.relative)\n+ eq('below', config.split)\n+ end)\n+\n+ it('creates top-level splits', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ win = -1,\n+ })\n+ local layout = api.nvim_call_function('winlayout', {})\n+ eq('row', layout[1])\n+ eq(2, #layout[2])\n+ eq(win2, layout[2][1][2])\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ layout = api.nvim_call_function('winlayout', {})\n+ eq('col', layout[1])\n+ eq(2, #layout[2])\n+ eq('row', layout[2][1][1])\n+ eq(win, layout[2][2][2])\n+ end)\n+\n+ it('moves splits to other tabpages', function()\n+ local curtab = api.nvim_get_current_tabpage()\n+ local win = api.nvim_open_win(0, false, { split = 'left' })\n+ command('tabnew')\n+ local tabnr = api.nvim_get_current_tabpage()\n+ command('tabprev') -- return to the initial tab\n+\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = api.nvim_tabpage_get_win(tabnr),\n+ })\n+\n+ eq(tabnr, api.nvim_win_get_tabpage(win))\n+ -- we are changing the config, the current tabpage should not change\n+ eq(curtab, api.nvim_get_current_tabpage())\n+\n+ command('tabnext') -- switch to the new tabpage so we can get the layout\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq(layout, {\n+ 'row',\n+ {\n+ { 'leaf', api.nvim_tabpage_get_win(tabnr) },\n+ { 'leaf', win },\n+ },\n+ })\n+ end)\n+\n+ it('correctly moves curwin when moving curwin to a different tabpage', function()\n+ local curtab = api.nvim_get_current_tabpage()\n+ command('tabnew')\n+ local tab2 = api.nvim_get_current_tabpage()\n+ local tab2_win = api.nvim_get_current_win()\n+\n+ command('tabprev') -- return to the initial tab\n+\n+ local neighbor = api.nvim_get_current_win()\n+\n+ -- create and enter a new split\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = false,\n+ })\n+\n+ eq(curtab, api.nvim_win_get_tabpage(win))\n+\n+ eq({ win, neighbor }, api.nvim_tabpage_list_wins(curtab))\n+\n+ -- move the current win to a different tabpage\n+ api.nvim_win_set_config(win, {\n+ split = 'right',\n+ win = api.nvim_tabpage_get_win(tab2),\n+ })\n+\n+ eq(api.nvim_get_current_tabpage(), curtab)\n+\n+ -- win should have moved to tab2\n+ eq(tab2, api.nvim_win_get_tabpage(win))\n+ -- tp_curwin of tab2 should not have changed\n+ eq(tab2_win, api.nvim_tabpage_get_win(tab2))\n+ -- win lists should be correct\n+ eq({ tab2_win, win }, api.nvim_tabpage_list_wins(tab2))\n+ eq({ neighbor }, api.nvim_tabpage_list_wins(curtab))\n+\n+ -- current win should have moved to neighboring win\n+ eq(neighbor, api.nvim_tabpage_get_win(curtab))\n+ end)\n+\n+ it('splits windows in non-current tabpage', function()\n+ local curtab = api.nvim_get_current_tabpage()\n+ command('tabnew')\n+ local tabnr = api.nvim_get_current_tabpage()\n+ command('tabprev') -- return to the initial tab\n+\n+ local win = api.nvim_open_win(0, false, {\n+ vertical = false,\n+ win = api.nvim_tabpage_get_win(tabnr),\n+ })\n+\n+ eq(tabnr, api.nvim_win_get_tabpage(win))\n+ -- since enter = false, the current tabpage should not change\n+ eq(curtab, api.nvim_get_current_tabpage())\n+ end)\n+\n+ it('moves the current split window', function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ local win2 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ api.nvim_set_current_win(win)\n+ eq(api.nvim_call_function('winlayout', {}), {\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ },\n+ })\n+\n+ api.nvim_win_set_config(0, {\n+ vertical = false,\n+ win = 0,\n+ })\n+ eq(win, api.nvim_get_current_win())\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ {\n+ 'row',\n+ {\n+ { 'leaf', win2 },\n+ { 'leaf', initial_win },\n+ },\n+ },\n+ },\n+ }, api.nvim_call_function('winlayout', {}))\n+\n+ api.nvim_set_current_win(win2)\n+ local win3 = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ })\n+ eq(win3, api.nvim_get_current_win())\n+\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ {\n+ 'row',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win2 },\n+ { 'leaf', initial_win },\n+ },\n+ },\n+ },\n+ }, api.nvim_call_function('winlayout', {}))\n+\n+ api.nvim_win_set_config(0, {\n+ vertical = false,\n+ win = 0,\n+ })\n+\n+ eq(win3, api.nvim_get_current_win())\n+ eq({\n+ 'col',\n+ {\n+ { 'leaf', win },\n+ {\n+ 'row',\n+ {\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ { 'leaf', win2 },\n+ },\n+ },\n+ { 'leaf', initial_win },\n+ },\n+ },\n+ },\n+ }, api.nvim_call_function('winlayout', {}))", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472700941", + "id": 1472700941, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx6IN", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1664, + "original_position": 433, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472700941/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472700941", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472701232" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472701232" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n eq('left', api.nvim_win_get_config(win).split)\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:39:21Z", + "diff_hunk": "@@ -1292,6 +1723,154 @@ describe('API/win', function()\n eq(title, cfg.title)\n eq(footer, cfg.footer)\n end)\n+\n+ it('includes split for normal windows', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'left')", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472701232", + "id": 1472701232, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx6Mw", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1732, + "original_position": 448, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472701232/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:25Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472701232", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472701522" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472701522" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n eq('above', api.nvim_win_get_config(win).split)\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:39:37Z", + "diff_hunk": "@@ -1292,6 +1723,154 @@ describe('API/win', function()\n eq(title, cfg.title)\n eq(footer, cfg.footer)\n end)\n+\n+ it('includes split for normal windows', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'left')\n+ api.nvim_win_set_config(win, {\n+ vertical = false,\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'above')", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472701522", + "id": 1472701522, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx6RS", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1737, + "original_position": 453, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472701522/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:25Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472701522", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472701814" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472701814" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n eq('below', api.nvim_win_get_config(win).split)\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:39:54Z", + "diff_hunk": "@@ -1292,6 +1723,154 @@ describe('API/win', function()\n eq(title, cfg.title)\n eq(footer, cfg.footer)\n end)\n+\n+ it('includes split for normal windows', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'left')\n+ api.nvim_win_set_config(win, {\n+ vertical = false,\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'above')\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'below')", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472701814", + "id": 1472701814, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx6V2", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1742, + "original_position": 458, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472701814/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:25Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472701814", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472702180" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472702180" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n eq('left', api.nvim_win_get_config(win).split)\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:40:13Z", + "diff_hunk": "@@ -1292,6 +1723,154 @@ describe('API/win', function()\n eq(title, cfg.title)\n eq(footer, cfg.footer)\n end)\n+\n+ it('includes split for normal windows', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'left')\n+ api.nvim_win_set_config(win, {\n+ vertical = false,\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'above')\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'below')\n+ end)\n+\n+ it('includes split when splitting with ex commands', function()\n+ local win = api.nvim_get_current_win()\n+ eq(api.nvim_win_get_config(win).split, 'left')", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472702180", + "id": 1472702180, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx6bk", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1747, + "original_position": 463, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472702180/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:25Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472702180", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472702790" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472702790" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n eq('right', api.nvim_win_get_config(win).split)\r\n eq('left', api.nvim_win_get_config(win2).split)\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:40:44Z", + "diff_hunk": "@@ -1292,6 +1723,154 @@ describe('API/win', function()\n eq(title, cfg.title)\n eq(footer, cfg.footer)\n end)\n+\n+ it('includes split for normal windows', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'left')\n+ api.nvim_win_set_config(win, {\n+ vertical = false,\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'above')\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'below')\n+ end)\n+\n+ it('includes split when splitting with ex commands', function()\n+ local win = api.nvim_get_current_win()\n+ eq(api.nvim_win_get_config(win).split, 'left')\n+\n+ command('vsplit')\n+ local win2 = api.nvim_get_current_win()\n+\n+ -- initial window now be marked as right split\n+ -- since it was split with a vertical split\n+ -- and 'splitright' is false by default\n+ eq(api.nvim_win_get_config(win).split, 'right')\n+ eq(api.nvim_win_get_config(win2).split, 'left')", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472702790", + "id": 1472702790, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx6lG", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1756, + "original_position": 472, + "original_start_line": 1755, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472702790/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-31T11:42:25Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472702790", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472703152" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472703152" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n eq('below', api.nvim_win_get_config(win3).split)\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:41:03Z", + "diff_hunk": "@@ -1292,6 +1723,154 @@ describe('API/win', function()\n eq(title, cfg.title)\n eq(footer, cfg.footer)\n end)\n+\n+ it('includes split for normal windows', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'left')\n+ api.nvim_win_set_config(win, {\n+ vertical = false,\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'above')\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'below')\n+ end)\n+\n+ it('includes split when splitting with ex commands', function()\n+ local win = api.nvim_get_current_win()\n+ eq(api.nvim_win_get_config(win).split, 'left')\n+\n+ command('vsplit')\n+ local win2 = api.nvim_get_current_win()\n+\n+ -- initial window now be marked as right split\n+ -- since it was split with a vertical split\n+ -- and 'splitright' is false by default\n+ eq(api.nvim_win_get_config(win).split, 'right')\n+ eq(api.nvim_win_get_config(win2).split, 'left')\n+\n+ api.nvim_set_option_value('splitbelow', true, {\n+ scope = 'global',\n+ })\n+ api.nvim_win_close(win, true)\n+ command('split')\n+ local win3 = api.nvim_get_current_win()\n+ eq(api.nvim_win_get_config(win3).split, 'below')", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472703152", + "id": 1472703152, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx6qw", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1764, + "original_position": 480, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472703152/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:25Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472703152", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472703481" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472703481" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n local layout = fn.winlayout()\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:41:22Z", + "diff_hunk": "@@ -1292,6 +1723,154 @@ describe('API/win', function()\n eq(title, cfg.title)\n eq(footer, cfg.footer)\n end)\n+\n+ it('includes split for normal windows', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'left')\n+ api.nvim_win_set_config(win, {\n+ vertical = false,\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'above')\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'below')\n+ end)\n+\n+ it('includes split when splitting with ex commands', function()\n+ local win = api.nvim_get_current_win()\n+ eq(api.nvim_win_get_config(win).split, 'left')\n+\n+ command('vsplit')\n+ local win2 = api.nvim_get_current_win()\n+\n+ -- initial window now be marked as right split\n+ -- since it was split with a vertical split\n+ -- and 'splitright' is false by default\n+ eq(api.nvim_win_get_config(win).split, 'right')\n+ eq(api.nvim_win_get_config(win2).split, 'left')\n+\n+ api.nvim_set_option_value('splitbelow', true, {\n+ scope = 'global',\n+ })\n+ api.nvim_win_close(win, true)\n+ command('split')\n+ local win3 = api.nvim_get_current_win()\n+ eq(api.nvim_win_get_config(win3).split, 'below')\n+ end)\n+\n+ it(\"includes the correct 'split' option in complex layouts\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, false, {\n+ split = 'right',\n+ win = -1,\n+ })\n+\n+ local win2 = api.nvim_open_win(0, false, {\n+ split = 'below',\n+ win = win,\n+ })\n+\n+ api.nvim_win_set_config(win2, {\n+ width = 50,\n+ })\n+\n+ api.nvim_win_set_config(win, {\n+ split = 'left',\n+ win = -1,\n+ })\n+\n+ local win3 = api.nvim_open_win(0, false, {\n+ split = 'above',\n+ win = -1,\n+ })\n+ local float = api.nvim_open_win(0, false, {\n+ relative = 'editor',\n+ width = 40,\n+ height = 20,\n+ col = 20,\n+ row = 10,\n+ })\n+ api.nvim_win_set_config(float, {\n+ split = 'right',\n+ win = -1,\n+ })\n+\n+ local layout = api.nvim_call_function('winlayout', {})", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472703481", + "id": 1472703481, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx6v5", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1804, + "original_position": 520, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472703481/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T11:42:25Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472703481", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1472704348" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472704348" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n eq('above', api.nvim_win_get_config(win3).split)\r\n eq('left', api.nvim_win_get_config(win).split)\r\n eq('left', api.nvim_win_get_config(initial_win).split)\r\n eq('right', api.nvim_win_get_config(win2).split)\r\n eq('right', api.nvim_win_get_config(float).split)\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-01-31T11:42:12Z", + "diff_hunk": "@@ -1292,6 +1723,154 @@ describe('API/win', function()\n eq(title, cfg.title)\n eq(footer, cfg.footer)\n end)\n+\n+ it('includes split for normal windows', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'left')\n+ api.nvim_win_set_config(win, {\n+ vertical = false,\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'above')\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'below')\n+ end)\n+\n+ it('includes split when splitting with ex commands', function()\n+ local win = api.nvim_get_current_win()\n+ eq(api.nvim_win_get_config(win).split, 'left')\n+\n+ command('vsplit')\n+ local win2 = api.nvim_get_current_win()\n+\n+ -- initial window now be marked as right split\n+ -- since it was split with a vertical split\n+ -- and 'splitright' is false by default\n+ eq(api.nvim_win_get_config(win).split, 'right')\n+ eq(api.nvim_win_get_config(win2).split, 'left')\n+\n+ api.nvim_set_option_value('splitbelow', true, {\n+ scope = 'global',\n+ })\n+ api.nvim_win_close(win, true)\n+ command('split')\n+ local win3 = api.nvim_get_current_win()\n+ eq(api.nvim_win_get_config(win3).split, 'below')\n+ end)\n+\n+ it(\"includes the correct 'split' option in complex layouts\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, false, {\n+ split = 'right',\n+ win = -1,\n+ })\n+\n+ local win2 = api.nvim_open_win(0, false, {\n+ split = 'below',\n+ win = win,\n+ })\n+\n+ api.nvim_win_set_config(win2, {\n+ width = 50,\n+ })\n+\n+ api.nvim_win_set_config(win, {\n+ split = 'left',\n+ win = -1,\n+ })\n+\n+ local win3 = api.nvim_open_win(0, false, {\n+ split = 'above',\n+ win = -1,\n+ })\n+ local float = api.nvim_open_win(0, false, {\n+ relative = 'editor',\n+ width = 40,\n+ height = 20,\n+ col = 20,\n+ row = 10,\n+ })\n+ api.nvim_win_set_config(float, {\n+ split = 'right',\n+ win = -1,\n+ })\n+\n+ local layout = api.nvim_call_function('winlayout', {})\n+\n+ eq({\n+ 'row',\n+ {\n+ {\n+ 'col',\n+ {\n+ { 'leaf', win3 },\n+ {\n+ 'row',\n+ {\n+ { 'leaf', win },\n+ { 'leaf', initial_win },\n+ { 'leaf', win2 },\n+ },\n+ },\n+ },\n+ },\n+ {\n+ 'leaf',\n+ float,\n+ },\n+ },\n+ }, layout)\n+\n+ eq(api.nvim_win_get_config(win3).split, 'above')\n+ eq(api.nvim_win_get_config(win).split, 'left')\n+ eq(api.nvim_win_get_config(initial_win).split, 'left')\n+ eq(api.nvim_win_get_config(win2).split, 'right')\n+ eq(api.nvim_win_get_config(float).split, 'right')", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1472704348", + "id": 1472704348, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xx69c", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1834, + "original_position": 550, + "original_start_line": 1830, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1853500923, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472704348/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-31T11:42:25Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472704348", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1473711842" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473711842" + } + }, + "author_association": "CONTRIBUTOR", + "body": "Thanks, yeah I figured out half way through writing the tests that I was putting the expected value on the wrong side lol, my bad. Thanks for pointing all of these out!", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-02-01T02:09:31Z", + "diff_hunk": "@@ -1292,6 +1723,154 @@ describe('API/win', function()\n eq(title, cfg.title)\n eq(footer, cfg.footer)\n end)\n+\n+ it('includes split for normal windows', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'left')\n+ api.nvim_win_set_config(win, {\n+ vertical = false,\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'above')\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'below')\n+ end)\n+\n+ it('includes split when splitting with ex commands', function()\n+ local win = api.nvim_get_current_win()\n+ eq(api.nvim_win_get_config(win).split, 'left')\n+\n+ command('vsplit')\n+ local win2 = api.nvim_get_current_win()\n+\n+ -- initial window now be marked as right split\n+ -- since it was split with a vertical split\n+ -- and 'splitright' is false by default\n+ eq(api.nvim_win_get_config(win).split, 'right')\n+ eq(api.nvim_win_get_config(win2).split, 'left')\n+\n+ api.nvim_set_option_value('splitbelow', true, {\n+ scope = 'global',\n+ })\n+ api.nvim_win_close(win, true)\n+ command('split')\n+ local win3 = api.nvim_get_current_win()\n+ eq(api.nvim_win_get_config(win3).split, 'below')", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1473711842", + "id": 1473711842, + "in_reply_to_id": 1472703152, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X1w7i", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1764, + "original_position": 480, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1855244192, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473711842/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T02:09:31Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473711842", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1473712306" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473712306" + } + }, + "author_association": "CONTRIBUTOR", + "body": "Is there a practical difference here or just appearance? (I have nothing against this change, just wondering so I can know for the future)", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-02-01T02:10:27Z", + "diff_hunk": "@@ -1292,6 +1723,154 @@ describe('API/win', function()\n eq(title, cfg.title)\n eq(footer, cfg.footer)\n end)\n+\n+ it('includes split for normal windows', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'left')\n+ api.nvim_win_set_config(win, {\n+ vertical = false,\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'above')\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'below')\n+ end)\n+\n+ it('includes split when splitting with ex commands', function()\n+ local win = api.nvim_get_current_win()\n+ eq(api.nvim_win_get_config(win).split, 'left')\n+\n+ command('vsplit')\n+ local win2 = api.nvim_get_current_win()\n+\n+ -- initial window now be marked as right split\n+ -- since it was split with a vertical split\n+ -- and 'splitright' is false by default\n+ eq(api.nvim_win_get_config(win).split, 'right')\n+ eq(api.nvim_win_get_config(win2).split, 'left')\n+\n+ api.nvim_set_option_value('splitbelow', true, {\n+ scope = 'global',\n+ })\n+ api.nvim_win_close(win, true)\n+ command('split')\n+ local win3 = api.nvim_get_current_win()\n+ eq(api.nvim_win_get_config(win3).split, 'below')\n+ end)\n+\n+ it(\"includes the correct 'split' option in complex layouts\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, false, {\n+ split = 'right',\n+ win = -1,\n+ })\n+\n+ local win2 = api.nvim_open_win(0, false, {\n+ split = 'below',\n+ win = win,\n+ })\n+\n+ api.nvim_win_set_config(win2, {\n+ width = 50,\n+ })\n+\n+ api.nvim_win_set_config(win, {\n+ split = 'left',\n+ win = -1,\n+ })\n+\n+ local win3 = api.nvim_open_win(0, false, {\n+ split = 'above',\n+ win = -1,\n+ })\n+ local float = api.nvim_open_win(0, false, {\n+ relative = 'editor',\n+ width = 40,\n+ height = 20,\n+ col = 20,\n+ row = 10,\n+ })\n+ api.nvim_win_set_config(float, {\n+ split = 'right',\n+ win = -1,\n+ })\n+\n+ local layout = api.nvim_call_function('winlayout', {})", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1473712306", + "id": 1473712306, + "in_reply_to_id": 1472703481, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X1xCy", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1804, + "original_position": 520, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1855244855, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473712306/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T02:10:27Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473712306", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1473716912" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473716912" + } + }, + "author_association": "MEMBER", + "body": "Just appearance.", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-02-01T02:18:54Z", + "diff_hunk": "@@ -1292,6 +1723,154 @@ describe('API/win', function()\n eq(title, cfg.title)\n eq(footer, cfg.footer)\n end)\n+\n+ it('includes split for normal windows', function()\n+ local win = api.nvim_open_win(0, true, {\n+ vertical = true,\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'left')\n+ api.nvim_win_set_config(win, {\n+ vertical = false,\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'above')\n+ api.nvim_win_set_config(win, {\n+ split = 'below',\n+ win = -1,\n+ })\n+ eq(api.nvim_win_get_config(win).split, 'below')\n+ end)\n+\n+ it('includes split when splitting with ex commands', function()\n+ local win = api.nvim_get_current_win()\n+ eq(api.nvim_win_get_config(win).split, 'left')\n+\n+ command('vsplit')\n+ local win2 = api.nvim_get_current_win()\n+\n+ -- initial window now be marked as right split\n+ -- since it was split with a vertical split\n+ -- and 'splitright' is false by default\n+ eq(api.nvim_win_get_config(win).split, 'right')\n+ eq(api.nvim_win_get_config(win2).split, 'left')\n+\n+ api.nvim_set_option_value('splitbelow', true, {\n+ scope = 'global',\n+ })\n+ api.nvim_win_close(win, true)\n+ command('split')\n+ local win3 = api.nvim_get_current_win()\n+ eq(api.nvim_win_get_config(win3).split, 'below')\n+ end)\n+\n+ it(\"includes the correct 'split' option in complex layouts\", function()\n+ local initial_win = api.nvim_get_current_win()\n+ local win = api.nvim_open_win(0, false, {\n+ split = 'right',\n+ win = -1,\n+ })\n+\n+ local win2 = api.nvim_open_win(0, false, {\n+ split = 'below',\n+ win = win,\n+ })\n+\n+ api.nvim_win_set_config(win2, {\n+ width = 50,\n+ })\n+\n+ api.nvim_win_set_config(win, {\n+ split = 'left',\n+ win = -1,\n+ })\n+\n+ local win3 = api.nvim_open_win(0, false, {\n+ split = 'above',\n+ win = -1,\n+ })\n+ local float = api.nvim_open_win(0, false, {\n+ relative = 'editor',\n+ width = 40,\n+ height = 20,\n+ col = 20,\n+ row = 10,\n+ })\n+ api.nvim_win_set_config(float, {\n+ split = 'right',\n+ win = -1,\n+ })\n+\n+ local layout = api.nvim_call_function('winlayout', {})", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1473716912", + "id": 1473716912, + "in_reply_to_id": 1472703481, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X1yKw", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 1804, + "original_position": 520, + "original_start_line": null, + "path": "test/functional/api/window_spec.lua", + "position": null, + "pull_request_review_id": 1855252225, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473716912/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T02:18:55Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473716912", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1473717310" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473717310" + } + }, + "author_association": "CONTRIBUTOR", + "body": "It's just ensuring that the window was actually moved to the other tabpage if we're opening a window in another tabpage. Maybe it could be an assert instead since it's mainly a bug check and not a necessary runtime check?", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-02-01T02:19:36Z", + "diff_hunk": "@@ -190,22 +216,71 @@ Window nvim_open_win(Buffer buffer, Boolean enter, Dict(float_config) *config, E\n if (!parse_float_config(config, &fconfig, false, true, err)) {\n return 0;\n }\n- win_T *wp = win_new_float(NULL, false, fconfig, err);\n+\n+ bool is_split = HAS_KEY(config, float_config, split) || HAS_KEY(config, float_config, vertical);\n+\n+ win_T *wp = NULL;\n+ tabpage_T *tp = curtab;\n+ if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ // find_window_by_handle has already set the error\n+ return 0;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return 0;\n+ }\n+ }\n+\n+ if (HAS_KEY(config, float_config, vertical) && !HAS_KEY(config, float_config, split)) {\n+ if (config->vertical) {\n+ fconfig.split = p_spr ? kWinSplitRight : kWinSplitLeft;\n+ } else {\n+ fconfig.split = p_sb ? kWinSplitBelow : kWinSplitAbove;\n+ }\n+ }\n+ int flags = win_split_flags(fconfig.split, parent == NULL) | WSP_NOENTER;\n+\n+ if (parent == NULL) {\n+ wp = win_split_ins(0, flags, NULL, 0);\n+ } else {\n+ tp = win_find_tabpage(parent);\n+ switchwin_T switchwin;\n+ // `parent` is valid in `tp`, so switch_win should not fail.\n+ const int result = switch_win(&switchwin, parent, tp, true);\n+ (void)result;\n+ assert(result == OK);\n+ wp = win_split_ins(0, flags, NULL, 0);\n+ restore_win(&switchwin, true);\n+ }\n+ if (wp) {\n+ wp->w_float_config = fconfig;\n+ }\n+ } else {\n+ wp = win_new_float(NULL, false, fconfig, err);\n+ }\n if (!wp) {\n+ api_set_error(err, kErrorTypeException, \"Failed to create window\");\n return 0;\n }\n- if (enter) {\n- win_enter(wp, false);\n+ switchwin_T switchwin;\n+ if (switch_win_noblock(&switchwin, wp, tp, true) == OK) {\n+ apply_autocmds(EVENT_WINNEW, NULL, NULL, false, curbuf);\n }\n- // autocmds in win_enter or win_set_buf below may close the window\n- if (win_valid(wp) && buffer > 0) {\n- Boolean noautocmd = !enter || fconfig.noautocmd;\n- win_set_buf(wp, buf, noautocmd, err);\n- if (!fconfig.noautocmd) {\n- apply_autocmds(EVENT_WINNEW, NULL, NULL, false, buf);\n+ restore_win_noblock(&switchwin, true);\n+ if (enter) {\n+ goto_tabpage_win(tp, wp);\n+ if (tabpage_win_valid(tp, wp) && curwin != wp) {\n+ api_set_error(err, kErrorTypeException, \"Failed to enter tabpage\");\n+ return 0;\n }", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1473717310", + "id": 1473717310, + "in_reply_to_id": 1472406331, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X1yQ-", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 278, + "original_position": 180, + "original_start_line": 275, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1855252758, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473717310/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-01T02:19:37Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473717310", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1473719084" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473719084" + } + }, + "author_association": "MEMBER", + "body": "No, there can be autocommands that do anything while entering the window.", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-02-01T02:23:30Z", + "diff_hunk": "@@ -190,22 +216,71 @@ Window nvim_open_win(Buffer buffer, Boolean enter, Dict(float_config) *config, E\n if (!parse_float_config(config, &fconfig, false, true, err)) {\n return 0;\n }\n- win_T *wp = win_new_float(NULL, false, fconfig, err);\n+\n+ bool is_split = HAS_KEY(config, float_config, split) || HAS_KEY(config, float_config, vertical);\n+\n+ win_T *wp = NULL;\n+ tabpage_T *tp = curtab;\n+ if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ // find_window_by_handle has already set the error\n+ return 0;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return 0;\n+ }\n+ }\n+\n+ if (HAS_KEY(config, float_config, vertical) && !HAS_KEY(config, float_config, split)) {\n+ if (config->vertical) {\n+ fconfig.split = p_spr ? kWinSplitRight : kWinSplitLeft;\n+ } else {\n+ fconfig.split = p_sb ? kWinSplitBelow : kWinSplitAbove;\n+ }\n+ }\n+ int flags = win_split_flags(fconfig.split, parent == NULL) | WSP_NOENTER;\n+\n+ if (parent == NULL) {\n+ wp = win_split_ins(0, flags, NULL, 0);\n+ } else {\n+ tp = win_find_tabpage(parent);\n+ switchwin_T switchwin;\n+ // `parent` is valid in `tp`, so switch_win should not fail.\n+ const int result = switch_win(&switchwin, parent, tp, true);\n+ (void)result;\n+ assert(result == OK);\n+ wp = win_split_ins(0, flags, NULL, 0);\n+ restore_win(&switchwin, true);\n+ }\n+ if (wp) {\n+ wp->w_float_config = fconfig;\n+ }\n+ } else {\n+ wp = win_new_float(NULL, false, fconfig, err);\n+ }\n if (!wp) {\n+ api_set_error(err, kErrorTypeException, \"Failed to create window\");\n return 0;\n }\n- if (enter) {\n- win_enter(wp, false);\n+ switchwin_T switchwin;\n+ if (switch_win_noblock(&switchwin, wp, tp, true) == OK) {\n+ apply_autocmds(EVENT_WINNEW, NULL, NULL, false, curbuf);\n }\n- // autocmds in win_enter or win_set_buf below may close the window\n- if (win_valid(wp) && buffer > 0) {\n- Boolean noautocmd = !enter || fconfig.noautocmd;\n- win_set_buf(wp, buf, noautocmd, err);\n- if (!fconfig.noautocmd) {\n- apply_autocmds(EVENT_WINNEW, NULL, NULL, false, buf);\n+ restore_win_noblock(&switchwin, true);\n+ if (enter) {\n+ goto_tabpage_win(tp, wp);\n+ if (tabpage_win_valid(tp, wp) && curwin != wp) {\n+ api_set_error(err, kErrorTypeException, \"Failed to enter tabpage\");\n+ return 0;\n }", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1473719084", + "id": 1473719084, + "in_reply_to_id": 1472406331, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X1yss", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 278, + "original_position": 180, + "original_start_line": 275, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1855255404, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473719084/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-01T02:23:30Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473719084", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1473720848" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473720848" + } + }, + "author_association": "CONTRIBUTOR", + "body": "The check below that on line 283 checks for the window being closed immediately, so we probably don't need to do both", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-02-01T02:26:21Z", + "diff_hunk": "@@ -190,22 +216,71 @@ Window nvim_open_win(Buffer buffer, Boolean enter, Dict(float_config) *config, E\n if (!parse_float_config(config, &fconfig, false, true, err)) {\n return 0;\n }\n- win_T *wp = win_new_float(NULL, false, fconfig, err);\n+\n+ bool is_split = HAS_KEY(config, float_config, split) || HAS_KEY(config, float_config, vertical);\n+\n+ win_T *wp = NULL;\n+ tabpage_T *tp = curtab;\n+ if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ // find_window_by_handle has already set the error\n+ return 0;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return 0;\n+ }\n+ }\n+\n+ if (HAS_KEY(config, float_config, vertical) && !HAS_KEY(config, float_config, split)) {\n+ if (config->vertical) {\n+ fconfig.split = p_spr ? kWinSplitRight : kWinSplitLeft;\n+ } else {\n+ fconfig.split = p_sb ? kWinSplitBelow : kWinSplitAbove;\n+ }\n+ }\n+ int flags = win_split_flags(fconfig.split, parent == NULL) | WSP_NOENTER;\n+\n+ if (parent == NULL) {\n+ wp = win_split_ins(0, flags, NULL, 0);\n+ } else {\n+ tp = win_find_tabpage(parent);\n+ switchwin_T switchwin;\n+ // `parent` is valid in `tp`, so switch_win should not fail.\n+ const int result = switch_win(&switchwin, parent, tp, true);\n+ (void)result;\n+ assert(result == OK);\n+ wp = win_split_ins(0, flags, NULL, 0);\n+ restore_win(&switchwin, true);\n+ }\n+ if (wp) {\n+ wp->w_float_config = fconfig;\n+ }\n+ } else {\n+ wp = win_new_float(NULL, false, fconfig, err);\n+ }\n if (!wp) {\n+ api_set_error(err, kErrorTypeException, \"Failed to create window\");\n return 0;\n }\n- if (enter) {\n- win_enter(wp, false);\n+ switchwin_T switchwin;\n+ if (switch_win_noblock(&switchwin, wp, tp, true) == OK) {\n+ apply_autocmds(EVENT_WINNEW, NULL, NULL, false, curbuf);\n }\n- // autocmds in win_enter or win_set_buf below may close the window\n- if (win_valid(wp) && buffer > 0) {\n- Boolean noautocmd = !enter || fconfig.noautocmd;\n- win_set_buf(wp, buf, noautocmd, err);\n- if (!fconfig.noautocmd) {\n- apply_autocmds(EVENT_WINNEW, NULL, NULL, false, buf);\n+ restore_win_noblock(&switchwin, true);\n+ if (enter) {\n+ goto_tabpage_win(tp, wp);\n+ if (tabpage_win_valid(tp, wp) && curwin != wp) {\n+ api_set_error(err, kErrorTypeException, \"Failed to enter tabpage\");\n+ return 0;\n }", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1473720848", + "id": 1473720848, + "in_reply_to_id": 1472406331, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X1zIQ", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 278, + "original_position": 180, + "original_start_line": 275, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1855258151, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473720848/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-01T02:26:21Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473720848", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1473724291" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473724291" + } + }, + "author_association": "CONTRIBUTOR", + "body": "223d6060 thoughts?", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-02-01T02:33:13Z", + "diff_hunk": "@@ -190,22 +216,71 @@ Window nvim_open_win(Buffer buffer, Boolean enter, Dict(float_config) *config, E\n if (!parse_float_config(config, &fconfig, false, true, err)) {\n return 0;\n }\n- win_T *wp = win_new_float(NULL, false, fconfig, err);\n+\n+ bool is_split = HAS_KEY(config, float_config, split) || HAS_KEY(config, float_config, vertical);\n+\n+ win_T *wp = NULL;\n+ tabpage_T *tp = curtab;\n+ if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ // find_window_by_handle has already set the error\n+ return 0;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return 0;\n+ }\n+ }\n+\n+ if (HAS_KEY(config, float_config, vertical) && !HAS_KEY(config, float_config, split)) {\n+ if (config->vertical) {\n+ fconfig.split = p_spr ? kWinSplitRight : kWinSplitLeft;\n+ } else {\n+ fconfig.split = p_sb ? kWinSplitBelow : kWinSplitAbove;\n+ }\n+ }\n+ int flags = win_split_flags(fconfig.split, parent == NULL) | WSP_NOENTER;\n+\n+ if (parent == NULL) {\n+ wp = win_split_ins(0, flags, NULL, 0);\n+ } else {\n+ tp = win_find_tabpage(parent);\n+ switchwin_T switchwin;\n+ // `parent` is valid in `tp`, so switch_win should not fail.\n+ const int result = switch_win(&switchwin, parent, tp, true);\n+ (void)result;\n+ assert(result == OK);\n+ wp = win_split_ins(0, flags, NULL, 0);\n+ restore_win(&switchwin, true);\n+ }\n+ if (wp) {\n+ wp->w_float_config = fconfig;\n+ }\n+ } else {\n+ wp = win_new_float(NULL, false, fconfig, err);\n+ }\n if (!wp) {\n+ api_set_error(err, kErrorTypeException, \"Failed to create window\");\n return 0;\n }\n- if (enter) {\n- win_enter(wp, false);\n+ switchwin_T switchwin;\n+ if (switch_win_noblock(&switchwin, wp, tp, true) == OK) {\n+ apply_autocmds(EVENT_WINNEW, NULL, NULL, false, curbuf);\n }\n- // autocmds in win_enter or win_set_buf below may close the window\n- if (win_valid(wp) && buffer > 0) {\n- Boolean noautocmd = !enter || fconfig.noautocmd;\n- win_set_buf(wp, buf, noautocmd, err);\n- if (!fconfig.noautocmd) {\n- apply_autocmds(EVENT_WINNEW, NULL, NULL, false, buf);\n+ restore_win_noblock(&switchwin, true);\n+ if (enter) {\n+ goto_tabpage_win(tp, wp);\n+ if (tabpage_win_valid(tp, wp) && curwin != wp) {\n+ api_set_error(err, kErrorTypeException, \"Failed to enter tabpage\");\n+ return 0;\n }", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1473724291", + "id": 1473724291, + "in_reply_to_id": 1472406331, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X1z-D", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 278, + "original_position": 180, + "original_start_line": 275, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1855262926, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473724291/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-01T02:36:34Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473724291", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1473725949" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473725949" + } + }, + "author_association": "CONTRIBUTOR", + "body": "Ah actually nevermind about the assert. Not sure what I was thinking, don't want to crash nvim just because it's a debug build. Also, there was actually a check before here using `win_valid` so I am going to add that one back unless you disagree. I think the check before `win_set_buf` can be removed though since it's checked right after.\r\n\r\nEdit: 2a1494448", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-02-01T02:36:11Z", + "diff_hunk": "@@ -190,22 +216,71 @@ Window nvim_open_win(Buffer buffer, Boolean enter, Dict(float_config) *config, E\n if (!parse_float_config(config, &fconfig, false, true, err)) {\n return 0;\n }\n- win_T *wp = win_new_float(NULL, false, fconfig, err);\n+\n+ bool is_split = HAS_KEY(config, float_config, split) || HAS_KEY(config, float_config, vertical);\n+\n+ win_T *wp = NULL;\n+ tabpage_T *tp = curtab;\n+ if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ // find_window_by_handle has already set the error\n+ return 0;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return 0;\n+ }\n+ }\n+\n+ if (HAS_KEY(config, float_config, vertical) && !HAS_KEY(config, float_config, split)) {\n+ if (config->vertical) {\n+ fconfig.split = p_spr ? kWinSplitRight : kWinSplitLeft;\n+ } else {\n+ fconfig.split = p_sb ? kWinSplitBelow : kWinSplitAbove;\n+ }\n+ }\n+ int flags = win_split_flags(fconfig.split, parent == NULL) | WSP_NOENTER;\n+\n+ if (parent == NULL) {\n+ wp = win_split_ins(0, flags, NULL, 0);\n+ } else {\n+ tp = win_find_tabpage(parent);\n+ switchwin_T switchwin;\n+ // `parent` is valid in `tp`, so switch_win should not fail.\n+ const int result = switch_win(&switchwin, parent, tp, true);\n+ (void)result;\n+ assert(result == OK);\n+ wp = win_split_ins(0, flags, NULL, 0);\n+ restore_win(&switchwin, true);\n+ }\n+ if (wp) {\n+ wp->w_float_config = fconfig;\n+ }\n+ } else {\n+ wp = win_new_float(NULL, false, fconfig, err);\n+ }\n if (!wp) {\n+ api_set_error(err, kErrorTypeException, \"Failed to create window\");\n return 0;\n }\n- if (enter) {\n- win_enter(wp, false);\n+ switchwin_T switchwin;\n+ if (switch_win_noblock(&switchwin, wp, tp, true) == OK) {\n+ apply_autocmds(EVENT_WINNEW, NULL, NULL, false, curbuf);\n }\n- // autocmds in win_enter or win_set_buf below may close the window\n- if (win_valid(wp) && buffer > 0) {\n- Boolean noautocmd = !enter || fconfig.noautocmd;\n- win_set_buf(wp, buf, noautocmd, err);\n- if (!fconfig.noautocmd) {\n- apply_autocmds(EVENT_WINNEW, NULL, NULL, false, buf);\n+ restore_win_noblock(&switchwin, true);\n+ if (enter) {\n+ goto_tabpage_win(tp, wp);\n+ if (tabpage_win_valid(tp, wp) && curwin != wp) {\n+ api_set_error(err, kErrorTypeException, \"Failed to enter tabpage\");\n+ return 0;\n }", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1473725949", + "id": 1473725949, + "in_reply_to_id": 1472406331, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X10X9", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 278, + "original_position": 180, + "original_start_line": 275, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1855265800, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473725949/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-01T02:41:00Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473725949", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1473730890" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473730890" + } + }, + "author_association": "MEMBER", + "body": "Actually autocommands may even close `tp` and move the window to another tabpage, so using `tabpage_win_valid(tp, wp)` is not safe. I think it should be like this:\r\n- Remove this error message as it wasn't previously present.\r\n- Use `win_valid_any_tab(wp)` in both of the two `if` statements below.", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-02-01T02:44:57Z", + "diff_hunk": "@@ -272,12 +272,12 @@ Window nvim_open_win(Buffer buffer, Boolean enter, Dict(float_config) *config, E\n restore_win_noblock(&switchwin, true);\n if (enter) {\n goto_tabpage_win(tp, wp);\n- if (tabpage_win_valid(tp, wp) && curwin != wp) {\n+ if (!tabpage_win_valid(tp, wp) || curwin != wp) {\n api_set_error(err, kErrorTypeException, \"Failed to enter tabpage\");\n return 0;\n }\n }\n- if (tabpage_win_valid(tp, wp) && buf != wp->w_buffer) {\n+ if (buf != wp->w_buffer) {\n win_set_buf(wp, buf, !enter || fconfig.noautocmd, err);\n }\n if (!tabpage_win_valid(tp, wp)) {", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1473730890", + "id": 1473730890, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X11lK", + "original_commit_id": "2a1494448294e22d9f0736dc0d470db6f53ae4d2", + "original_line": 283, + "original_position": 14, + "original_start_line": 275, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1855272395, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473730890/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-01T02:45:35Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473730890", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1473735261" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473735261" + } + }, + "author_association": "CONTRIBUTOR", + "body": "cd44d46e", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-02-01T02:53:29Z", + "diff_hunk": "@@ -236,18 +341,203 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n if (!win) {\n return;\n }\n- bool new_float = !win->w_floating;\n+ tabpage_T *win_tp = win_find_tabpage(win);\n+ bool was_normal = !win->w_floating;\n+ bool has_split = HAS_KEY(config, float_config, split);\n+ bool has_vertical = HAS_KEY(config, float_config, vertical);\n // reuse old values, if not overridden\n- FloatConfig fconfig = new_float ? FLOAT_CONFIG_INIT : win->w_float_config;\n+ FloatConfig fconfig = win->w_float_config;\n \n- if (!parse_float_config(config, &fconfig, !new_float, false, err)) {\n+ bool is_split = (!HAS_KEY(config, float_config, relative) || striequal(config->relative.data, \"\"))\n+ && ((!HAS_KEY(config, float_config,\n+ external) && !fconfig.external) || !config->external)\n+ && (has_split || has_vertical || was_normal);\n+\n+ if (!parse_float_config(config, &fconfig, !was_normal || is_split, false, err)) {\n return;\n }\n- if (new_float) {\n+ if (was_normal && !is_split) {\n if (!win_new_float(win, false, fconfig, err)) {\n return;\n }\n redraw_later(win, UPD_NOT_VALID);\n+ } else if (is_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ return;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return;\n+ }\n+ }\n+\n+ WinSplit old_split = win_split_dir(win);\n+ if (has_vertical && !has_split) {\n+ if (config->vertical) {\n+ if (old_split == kWinSplitRight || p_spr) {\n+ fconfig.split = kWinSplitRight;\n+ } else {\n+ fconfig.split = kWinSplitLeft;\n+ }\n+ } else {\n+ if (old_split == kWinSplitBelow || p_sb) {\n+ fconfig.split = kWinSplitBelow;\n+ } else {\n+ fconfig.split = kWinSplitAbove;\n+ }\n+ }\n+ }\n+ win->w_float_config = fconfig;\n+\n+ // If there's no vertical or split set, or if the split is the same as the old split,\n+ // then we can just change the size of the window.\n+ if ((!has_vertical && !has_split)\n+ || (was_normal\n+ && !HAS_KEY(config, float_config,\n+ win) && ((!has_split && !has_vertical) || old_split == fconfig.split))) {\n+ if (HAS_KEY(config, float_config, width)) {\n+ win_setwidth_win(fconfig.width, win);\n+ }\n+ if (HAS_KEY(config, float_config, height)) {\n+ win_setheight_win(fconfig.height, win);\n+ }\n+ redraw_later(win, UPD_NOT_VALID);\n+ return;\n+ }\n+\n+ if (was_normal) {\n+ win_T *new_curwin = NULL;\n+\n+ // If the window is the last in the tabpage or `fconfig.win` is\n+ // a handle to itself, we can't split it.\n+ if (win->w_frame->fr_parent == NULL) {\n+ // FIXME(willothy): if the window is the last in the tabpage but there is another tabpage\n+ // and the target window is in that other tabpage, should we move the window to that\n+ // tabpage and close the previous one, or just error?\n+ api_set_error(err, kErrorTypeValidation, \"Cannot move last window\");\n+ return;\n+ } else if (parent != NULL && parent->handle == win->handle) {\n+ int n_frames = 0;\n+ for (frame_T *fr = win->w_frame->fr_parent->fr_child; fr != NULL; fr = fr->fr_next) {\n+ n_frames++;\n+ }\n+\n+ win_T *neighbor = NULL;\n+\n+ if (n_frames > 2) {\n+ // There are three or more windows in the frame, we need to split a neighboring window.\n+ frame_T *frame = win->w_frame->fr_parent;\n+\n+ if (frame->fr_parent) {\n+ // ┌──────────────┐\n+ // │ A │\n+ // ├────┬────┬────┤\n+ // │ B │ C │ D │\n+ // └────┴────┴────┘\n+ // ||\n+ // \\/\n+ // ┌───────────────────┐\n+ // │ A │\n+ // ├─────────┬─────────┤\n+ // │ │ C │\n+ // │ B ├─────────┤\n+ // │ │ D │\n+ // └─────────┴─────────┘\n+ if (fconfig.split == kWinSplitAbove || fconfig.split == kWinSplitLeft) {\n+ neighbor = win->w_next;\n+ while (neighbor->w_floating) {\n+ neighbor = neighbor->w_next;\n+ }\n+ } else {\n+ neighbor = win->w_prev;\n+ while (neighbor->w_floating) {\n+ neighbor = neighbor->w_prev;\n+ }", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1473735261", + "id": 1473735261, + "in_reply_to_id": 1472531911, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X12pd", + "original_commit_id": "c7679db72ca8b2792ad33d495546b303879cd97b", + "original_line": 457, + "original_position": 348, + "original_start_line": 449, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1855282622, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473735261/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-01T02:53:29Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473735261", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1473740809" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473740809" + } + }, + "author_association": "CONTRIBUTOR", + "body": "Hmm alright, that makes sense. Should we still check for curwin on enter then? (assuming the autocmds can change the current window, which afaik they can)\r\n\r\nEdit: nevermind, forgot that I added that part too :)", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-02-01T03:03:56Z", + "diff_hunk": "@@ -272,12 +272,12 @@ Window nvim_open_win(Buffer buffer, Boolean enter, Dict(float_config) *config, E\n restore_win_noblock(&switchwin, true);\n if (enter) {\n goto_tabpage_win(tp, wp);\n- if (tabpage_win_valid(tp, wp) && curwin != wp) {\n+ if (!tabpage_win_valid(tp, wp) || curwin != wp) {\n api_set_error(err, kErrorTypeException, \"Failed to enter tabpage\");\n return 0;\n }\n }\n- if (tabpage_win_valid(tp, wp) && buf != wp->w_buffer) {\n+ if (buf != wp->w_buffer) {\n win_set_buf(wp, buf, !enter || fconfig.noautocmd, err);\n }\n if (!tabpage_win_valid(tp, wp)) {", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1473740809", + "id": 1473740809, + "in_reply_to_id": 1473730890, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X14AJ", + "original_commit_id": "2a1494448294e22d9f0736dc0d470db6f53ae4d2", + "original_line": 283, + "original_position": 14, + "original_start_line": 275, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1855291789, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473740809/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-01T03:07:30Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473740809", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1473742231" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473742231" + } + }, + "author_association": "MEMBER", + "body": "Previously there was no check, so I think no.", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-02-01T03:07:15Z", + "diff_hunk": "@@ -272,12 +272,12 @@ Window nvim_open_win(Buffer buffer, Boolean enter, Dict(float_config) *config, E\n restore_win_noblock(&switchwin, true);\n if (enter) {\n goto_tabpage_win(tp, wp);\n- if (tabpage_win_valid(tp, wp) && curwin != wp) {\n+ if (!tabpage_win_valid(tp, wp) || curwin != wp) {\n api_set_error(err, kErrorTypeException, \"Failed to enter tabpage\");\n return 0;\n }\n }\n- if (tabpage_win_valid(tp, wp) && buf != wp->w_buffer) {\n+ if (buf != wp->w_buffer) {\n win_set_buf(wp, buf, !enter || fconfig.noautocmd, err);\n }\n if (!tabpage_win_valid(tp, wp)) {", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1473742231", + "id": 1473742231, + "in_reply_to_id": 1473730890, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X14WX", + "original_commit_id": "2a1494448294e22d9f0736dc0d470db6f53ae4d2", + "original_line": 283, + "original_position": 14, + "original_start_line": 275, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1855294007, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473742231/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-01T03:07:15Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473742231", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1473742547" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473742547" + } + }, + "author_association": "CONTRIBUTOR", + "body": "Sounds good\r\n\r\nab763dfe", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-02-01T03:08:04Z", + "diff_hunk": "@@ -272,12 +272,12 @@ Window nvim_open_win(Buffer buffer, Boolean enter, Dict(float_config) *config, E\n restore_win_noblock(&switchwin, true);\n if (enter) {\n goto_tabpage_win(tp, wp);\n- if (tabpage_win_valid(tp, wp) && curwin != wp) {\n+ if (!tabpage_win_valid(tp, wp) || curwin != wp) {\n api_set_error(err, kErrorTypeException, \"Failed to enter tabpage\");\n return 0;\n }\n }\n- if (tabpage_win_valid(tp, wp) && buf != wp->w_buffer) {\n+ if (buf != wp->w_buffer) {\n win_set_buf(wp, buf, !enter || fconfig.noautocmd, err);\n }\n if (!tabpage_win_valid(tp, wp)) {", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1473742547", + "id": 1473742547, + "in_reply_to_id": 1473730890, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X14bT", + "original_commit_id": "2a1494448294e22d9f0736dc0d470db6f53ae4d2", + "original_line": 283, + "original_position": 14, + "original_start_line": 275, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1855294563, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473742547/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-01T03:09:30Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473742547", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1473744696" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473744696" + } + }, + "author_association": "MEMBER", + "body": "Lint failure\r\n```suggestion\r\n && ((!HAS_KEY(config, float_config, external) && !fconfig.external)\r\n || !config->external)\r\n```", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-02-01T03:11:30Z", + "diff_hunk": "@@ -236,18 +337,194 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n if (!win) {\n return;\n }\n- bool new_float = !win->w_floating;\n+ tabpage_T *win_tp = win_find_tabpage(win);\n+ bool was_split = !win->w_floating;\n+ bool has_split = HAS_KEY(config, float_config, split);\n+ bool has_vertical = HAS_KEY(config, float_config, vertical);\n // reuse old values, if not overridden\n- FloatConfig fconfig = new_float ? FLOAT_CONFIG_INIT : win->w_float_config;\n+ FloatConfig fconfig = win->w_float_config;\n+\n+ bool to_split = (!HAS_KEY(config, float_config, relative) || striequal(config->relative.data, \"\"))\n+ && ((!HAS_KEY(config, float_config, external) && !fconfig.external) || !config->external)", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1473744696", + "id": 1473744696, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X1484", + "original_commit_id": "ab763dfe5612dc35d3007d9f4048a6b92814cefc", + "original_line": 348, + "original_position": 237, + "original_start_line": null, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1855298796, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473744696/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T03:11:44Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473744696", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1474165527" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474165527" + } + }, + "author_association": "MEMBER", + "body": "This is a bit inconsistent when `split` is specified while `win` is omitted. Consider the following layout:\r\n```\r\n┌──────────────┐\r\n│ A │\r\n├────┬────┬────┤\r\n│ B │ C │ D │\r\n└────┴────┴────┘\r\n```\r\nWith `A` as the current window, `:call nvim_win_set_config(C, {'split': 'left'})` doesn't change the layout, while `:call nvim_win_set_config(C, {'split': 'right'})` changes the layout to:\r\n```\r\n┌───────┬──────┐\r\n│ A │ C │\r\n├────┬──┴──────┤\r\n│ B │ D │\r\n└────┴─────────┘\r\n```\r\nAlso the `(!has_split && !has_vertical)` is always false here as it is already checked above. I removed it in #27283.", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-02-01T10:04:49Z", + "diff_hunk": "@@ -236,18 +337,195 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n if (!win) {\n return;\n }\n- bool new_float = !win->w_floating;\n+ tabpage_T *win_tp = win_find_tabpage(win);\n+ bool was_split = !win->w_floating;\n+ bool has_split = HAS_KEY(config, float_config, split);\n+ bool has_vertical = HAS_KEY(config, float_config, vertical);\n // reuse old values, if not overridden\n- FloatConfig fconfig = new_float ? FLOAT_CONFIG_INIT : win->w_float_config;\n+ FloatConfig fconfig = win->w_float_config;\n+\n+ bool to_split = (!HAS_KEY(config, float_config, relative) || striequal(config->relative.data, \"\"))\n+ && ((!HAS_KEY(config, float_config, external) && !fconfig.external)\n+ || !config->external)\n+ && (has_split || has_vertical || was_split);\n \n- if (!parse_float_config(config, &fconfig, !new_float, false, err)) {\n+ if (!parse_float_config(config, &fconfig, !was_split || to_split, false, err)) {\n return;\n }\n- if (new_float) {\n+ if (was_split && !to_split) {\n if (!win_new_float(win, false, fconfig, err)) {\n return;\n }\n redraw_later(win, UPD_NOT_VALID);\n+ } else if (to_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ return;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return;\n+ }\n+ }\n+\n+ WinSplit old_split = win_split_dir(win);\n+ if (has_vertical && !has_split) {\n+ if (config->vertical) {\n+ if (old_split == kWinSplitRight || p_spr) {\n+ fconfig.split = kWinSplitRight;\n+ } else {\n+ fconfig.split = kWinSplitLeft;\n+ }\n+ } else {\n+ if (old_split == kWinSplitBelow || p_sb) {\n+ fconfig.split = kWinSplitBelow;\n+ } else {\n+ fconfig.split = kWinSplitAbove;\n+ }\n+ }\n+ }\n+ win->w_float_config = fconfig;\n+\n+ // If there's no vertical or split set, or if the split is the same as the old split,\n+ // then we can just change the size of the window.\n+ if ((!has_vertical && !has_split)\n+ || (was_split\n+ && !HAS_KEY(config, float_config,\n+ win) && ((!has_split && !has_vertical) || old_split == fconfig.split))) {", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1474165527", + "id": 1474165527, + "line": 395, + "node_id": "PRRC_kwDOAPphoM5X3fsX", + "original_commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "original_line": 395, + "original_position": 286, + "original_start_line": 393, + "path": "src/nvim/api/win_config.c", + "position": 286, + "pull_request_review_id": 1856075266, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474165527/reactions" + }, + "side": "RIGHT", + "start_line": 393, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-01T10:07:46Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474165527", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/25550#discussion_r1474172682" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/25550" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474172682" + } + }, + "author_association": "CONTRIBUTOR", + "body": "Hmm, I'd expect setting it to \"left\" to swap C with B and right to swap C with D. I'll look into that and make a followup PR :)\r\n\r\n> Also the (!has_split && !has_vertical) is always false here as it is already checked above. I removed it in https://github.com/neovim/neovim/pull/27283.\r\n\r\nI will make sure to remove that check in the followup. Sorry about that!\r\n^\r\nOops, didn't realize you meant you'd removed that already\r\n\r\nI think this also just needs more test cases because there are so many possible permutations of the layout, where `curwin` is, etc.", + "commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "created_at": "2024-02-01T10:09:26Z", + "diff_hunk": "@@ -236,18 +337,195 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n if (!win) {\n return;\n }\n- bool new_float = !win->w_floating;\n+ tabpage_T *win_tp = win_find_tabpage(win);\n+ bool was_split = !win->w_floating;\n+ bool has_split = HAS_KEY(config, float_config, split);\n+ bool has_vertical = HAS_KEY(config, float_config, vertical);\n // reuse old values, if not overridden\n- FloatConfig fconfig = new_float ? FLOAT_CONFIG_INIT : win->w_float_config;\n+ FloatConfig fconfig = win->w_float_config;\n+\n+ bool to_split = (!HAS_KEY(config, float_config, relative) || striequal(config->relative.data, \"\"))\n+ && ((!HAS_KEY(config, float_config, external) && !fconfig.external)\n+ || !config->external)\n+ && (has_split || has_vertical || was_split);\n \n- if (!parse_float_config(config, &fconfig, !new_float, false, err)) {\n+ if (!parse_float_config(config, &fconfig, !was_split || to_split, false, err)) {\n return;\n }\n- if (new_float) {\n+ if (was_split && !to_split) {\n if (!win_new_float(win, false, fconfig, err)) {\n return;\n }\n redraw_later(win, UPD_NOT_VALID);\n+ } else if (to_split) {\n+ win_T *parent = NULL;\n+ if (!HAS_KEY(config, float_config, win) || config->win != -1) {\n+ parent = find_window_by_handle(fconfig.window, err);\n+ if (!parent) {\n+ return;\n+ } else if (parent->w_floating) {\n+ api_set_error(err, kErrorTypeException, \"Cannot split a floating window\");\n+ return;\n+ }\n+ }\n+\n+ WinSplit old_split = win_split_dir(win);\n+ if (has_vertical && !has_split) {\n+ if (config->vertical) {\n+ if (old_split == kWinSplitRight || p_spr) {\n+ fconfig.split = kWinSplitRight;\n+ } else {\n+ fconfig.split = kWinSplitLeft;\n+ }\n+ } else {\n+ if (old_split == kWinSplitBelow || p_sb) {\n+ fconfig.split = kWinSplitBelow;\n+ } else {\n+ fconfig.split = kWinSplitAbove;\n+ }\n+ }\n+ }\n+ win->w_float_config = fconfig;\n+\n+ // If there's no vertical or split set, or if the split is the same as the old split,\n+ // then we can just change the size of the window.\n+ if ((!has_vertical && !has_split)\n+ || (was_split\n+ && !HAS_KEY(config, float_config,\n+ win) && ((!has_split && !has_vertical) || old_split == fconfig.split))) {", + "html_url": "https://github.com/neovim/neovim/pull/25550#discussion_r1474172682", + "id": 1474172682, + "in_reply_to_id": 1474165527, + "line": 395, + "node_id": "PRRC_kwDOAPphoM5X3hcK", + "original_commit_id": "6b3e297820d9268d1c104a44f942f56d8748ad98", + "original_line": 395, + "original_position": 286, + "original_start_line": 393, + "path": "src/nvim/api/win_config.c", + "position": 286, + "pull_request_review_id": 1856085178, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/25550", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474172682/reactions" + }, + "side": "RIGHT", + "start_line": 393, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-01T10:51:19Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474172682", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } } ], "comment_regular_data": [ @@ -8374,6 +13288,50 @@ "type": "User", "url": "https://api.github.com/users/zeertzjq" } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Lets gooo! Super excited about this. Thanks for working with me on this everyone!\r\n\r\nI'll keep an eye out for any related issues that pop up :)\r\n\r\nI'm not 100% on `win_set_config` being perfect but I'll fix whatever pops up in followup PRs.", + "created_at": "2024-02-01T03:51:06Z", + "html_url": "https://github.com/neovim/neovim/pull/25550#issuecomment-1920454884", + "id": 1920454884, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/25550", + "node_id": "IC_kwDOAPphoM5yd9Dk", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 7, + "laugh": 0, + "rocket": 0, + "total_count": 7, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920454884/reactions" + }, + "updated_at": "2024-02-01T04:07:38Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920454884", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } } ], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/25550/comments", @@ -8469,9 +13427,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/willothy/neovim/pulls{/number}", - "pushed_at": "2024-01-29T12:12:17Z", + "pushed_at": "2024-02-05T05:25:32Z", "releases_url": "https://api.github.com/repos/willothy/neovim/releases{/id}", - "size": 248921, + "size": 249138, "ssh_url": "git@github.com:willothy/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/willothy/neovim/stargazers", @@ -8490,7 +13448,7 @@ "watchers_count": 0, "web_commit_signoff_required": false }, - "sha": "8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "sha": "6b3e297820d9268d1c104a44f942f56d8748ad98", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", "events_url": "https://api.github.com/users/willothy/events{/privacy}", @@ -8527,14 +13485,13 @@ } ], "locked": false, - "merge_commit_sha": "2e7a608234c2d764373318a3fd6a0d8d6ef9d095", - "merged_at": null, - "milestone": null, - "node_id": "PR_kwDOAPphoM5cNO8o", - "number": 25550, - "patch_url": "https://github.com/neovim/neovim/pull/25550.patch", - "requested_reviewers": [ - { + "merge_commit_sha": "6bba4becedaea5a330c0c9d9427fb495e8092dac", + "merged_at": "2024-02-01T03:43:35Z", + "milestone": { + "closed_at": null, + "closed_issues": 278, + "created_at": "2023-02-02T14:11:43Z", + "creator": { "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", "events_url": "https://api.github.com/users/bfredl/events{/privacy}", "followers_url": "https://api.github.com/users/bfredl/followers", @@ -8554,54 +13511,30 @@ "type": "User", "url": "https://api.github.com/users/bfredl" }, - { - "avatar_url": "https://avatars.githubusercontent.com/u/29580810?v=4", - "events_url": "https://api.github.com/users/famiu/events{/privacy}", - "followers_url": "https://api.github.com/users/famiu/followers", - "following_url": "https://api.github.com/users/famiu/following{/other_user}", - "gists_url": "https://api.github.com/users/famiu/gists{/gist_id}", - "gravatar_id": "", - "html_url": "https://github.com/famiu", - "id": 29580810, - "login": "famiu", - "node_id": "MDQ6VXNlcjI5NTgwODEw", - "organizations_url": "https://api.github.com/users/famiu/orgs", - "received_events_url": "https://api.github.com/users/famiu/received_events", - "repos_url": "https://api.github.com/users/famiu/repos", - "site_admin": false, - "starred_url": "https://api.github.com/users/famiu/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/famiu/subscriptions", - "type": "User", - "url": "https://api.github.com/users/famiu" - }, - { - "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", - "events_url": "https://api.github.com/users/justinmk/events{/privacy}", - "followers_url": "https://api.github.com/users/justinmk/followers", - "following_url": "https://api.github.com/users/justinmk/following{/other_user}", - "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", - "gravatar_id": "", - "html_url": "https://github.com/justinmk", - "id": 1359421, - "login": "justinmk", - "node_id": "MDQ6VXNlcjEzNTk0MjE=", - "organizations_url": "https://api.github.com/users/justinmk/orgs", - "received_events_url": "https://api.github.com/users/justinmk/received_events", - "repos_url": "https://api.github.com/users/justinmk/repos", - "site_admin": false, - "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", - "type": "User", - "url": "https://api.github.com/users/justinmk" - } - ], + "description": "", + "due_on": "2024-03-01T08:00:00Z", + "html_url": "https://github.com/neovim/neovim/milestone/36", + "id": 8997654, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", + "node_id": "MI_kwDOAPphoM4AiUsW", + "number": 36, + "open_issues": 138, + "state": "open", + "title": "0.10", + "updated_at": "2024-02-05T21:59:25Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/36" + }, + "node_id": "PR_kwDOAPphoM5cNO8o", + "number": 25550, + "patch_url": "https://github.com/neovim/neovim/pull/25550.patch", + "requested_reviewers": [], "requested_teams": [], "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/25550/comments", - "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/8d00a6ef3b6db7327e4419701c9fd9c19a2de363", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/6b3e297820d9268d1c104a44f942f56d8748ad98", "title": "feat(api): make nvim_open_win support normal (non-floating) windows", - "updated_at": "2024-01-29T12:12:19Z", + "updated_at": "2024-02-01T10:09:27Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/25550", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", diff --git a/repositories/neovim/pulls/25582.json b/repositories/neovim/pulls/25582.json index 26b5f520..a3bc4f88 100644 --- a/repositories/neovim/pulls/25582.json +++ b/repositories/neovim/pulls/25582.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 4918, - "forks_count": 4918, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1659, - "open_issues_count": 1659, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2023-10-11T01:42:03Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 249013, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 70034, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2023-10-11T01:04:28Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 70034, - "watchers_count": 70034, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "9ff6f73f838a1f90d09922448c434033ba5e094e", @@ -399,9 +399,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/lsvmello/neovim/pulls{/number}", - "pushed_at": "2023-10-10T22:15:48Z", + "pushed_at": "2024-02-05T05:23:15Z", "releases_url": "https://api.github.com/repos/lsvmello/neovim/releases{/id}", - "size": 243475, + "size": 245223, "ssh_url": "git@github.com:lsvmello/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/lsvmello/neovim/stargazers", @@ -460,7 +460,7 @@ "state": "closed", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/1509eb1f7cfc832c522affa9ed448c7cce214935", "title": "fix(path): enable escaped space in 'name'", - "updated_at": "2023-10-10T22:50:50Z", + "updated_at": "2024-01-31T13:18:29Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/25582", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/70452831?v=4", diff --git a/repositories/neovim/pulls/25591.json b/repositories/neovim/pulls/25591.json index b20c0e40..f9382ec8 100644 --- a/repositories/neovim/pulls/25591.json +++ b/repositories/neovim/pulls/25591.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/25591" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/75850c0598b5967d4dca8073cda414958da503a3" + "href": "https://api.github.com/repos/neovim/neovim/statuses/4d6812d663313f50af20ef148c2652192046aeea" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 4920, - "forks_count": 4920, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1659, - "open_issues_count": 1659, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2023-10-12T23:27:45Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 249239, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 70085, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2023-10-13T01:25:24Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 70085, - "watchers_count": 70085, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, - "sha": "37da0bc0c63083f79d2fbf4622a9b3fd47c415df", + "sha": "4ffc20c9515294481486e81271a8edeeff203140", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -260,6 +260,50 @@ "type": "User", "url": "https://api.github.com/users/lsvmello" } + }, + { + "author_association": "MEMBER", + "body": "Oops, pushed to wrong remote :(", + "created_at": "2024-01-30T22:37:28Z", + "html_url": "https://github.com/neovim/neovim/pull/25591#issuecomment-1918030217", + "id": 1918030217, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/25591", + "node_id": "IC_kwDOAPphoM5yUtGJ", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918030217/reactions" + }, + "updated_at": "2024-01-30T22:37:28Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918030217", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } } ], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/25591/comments", @@ -355,9 +399,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/lsvmello/neovim/pulls{/number}", - "pushed_at": "2023-10-12T05:21:08Z", + "pushed_at": "2024-02-05T05:23:15Z", "releases_url": "https://api.github.com/repos/lsvmello/neovim/releases{/id}", - "size": 243515, + "size": 245223, "ssh_url": "git@github.com:lsvmello/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/lsvmello/neovim/stargazers", @@ -376,7 +420,7 @@ "watchers_count": 0, "web_commit_signoff_required": false }, - "sha": "75850c0598b5967d4dca8073cda414958da503a3", + "sha": "4d6812d663313f50af20ef148c2652192046aeea", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/70452831?v=4", "events_url": "https://api.github.com/users/lsvmello/events{/privacy}", @@ -422,7 +466,7 @@ } ], "locked": false, - "merge_commit_sha": "d5c2d53351fb83d514c82cb7f78f6bbc958923f7", + "merge_commit_sha": "6ae78a153f9c2026a93e0047e572e47b398e0b3e", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5cb_h2", @@ -433,9 +477,9 @@ "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/25591/comments", "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/75850c0598b5967d4dca8073cda414958da503a3", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/4d6812d663313f50af20ef148c2652192046aeea", "title": "feat(tui): remove vtpcon", - "updated_at": "2023-10-12T04:39:39Z", + "updated_at": "2024-01-30T22:50:38Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/25591", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/70452831?v=4", diff --git a/repositories/neovim/pulls/26052.json b/repositories/neovim/pulls/26052.json index c3e64d03..af05299d 100644 --- a/repositories/neovim/pulls/26052.json +++ b/repositories/neovim/pulls/26052.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5032, - "forks_count": 5032, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1697, - "open_issues_count": 1697, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2023-12-03T02:01:05Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 241697, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 71415, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2023-12-03T01:14:10Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 71415, - "watchers_count": 71415, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "c45d1e32a92f5027fe12038b856509efe5c158fb", @@ -604,6 +604,50 @@ "type": "User", "url": "https://api.github.com/users/BaraTudor2025" } + }, + { + "author_association": "NONE", + "body": "Would be superb for vscode-neovim to have this merged!", + "created_at": "2024-01-31T02:27:32Z", + "html_url": "https://github.com/neovim/neovim/pull/26052#issuecomment-1918254205", + "id": 1918254205, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26052", + "node_id": "IC_kwDOAPphoM5yVjx9", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918254205/reactions" + }, + "updated_at": "2024-01-31T02:27:32Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918254205", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/16546293?v=4", + "events_url": "https://api.github.com/users/theol0403/events{/privacy}", + "followers_url": "https://api.github.com/users/theol0403/followers", + "following_url": "https://api.github.com/users/theol0403/following{/other_user}", + "gists_url": "https://api.github.com/users/theol0403/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/theol0403", + "id": 16546293, + "login": "theol0403", + "node_id": "MDQ6VXNlcjE2NTQ2Mjkz", + "organizations_url": "https://api.github.com/users/theol0403/orgs", + "received_events_url": "https://api.github.com/users/theol0403/received_events", + "repos_url": "https://api.github.com/users/theol0403/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/theol0403/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/theol0403/subscriptions", + "type": "User", + "url": "https://api.github.com/users/theol0403" + } } ], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/26052/comments", @@ -699,9 +743,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/BaraTudor2025/neovim/pulls{/number}", - "pushed_at": "2023-12-02T11:33:43Z", + "pushed_at": "2023-12-20T21:46:20Z", "releases_url": "https://api.github.com/repos/BaraTudor2025/neovim/releases{/id}", - "size": 236238, + "size": 238366, "ssh_url": "git@github.com:BaraTudor2025/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/BaraTudor2025/neovim/stargazers", @@ -757,7 +801,7 @@ } ], "locked": false, - "merge_commit_sha": "f1569d9152f31306d6824ef667f80d53bda90df2", + "merge_commit_sha": "843a87acfd9c691413bc41d35d7011ba74148659", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5fiynr", @@ -791,7 +835,7 @@ "state": "open", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/b1fdedfbe844ecf1f8f2a0b0c44be74745730cb6", "title": "feat(event): add VisualChanged autocmd, visual_change ui event", - "updated_at": "2023-12-02T11:33:45Z", + "updated_at": "2024-01-31T02:27:33Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/26052", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/20646330?v=4", diff --git a/repositories/neovim/pulls/26168.json b/repositories/neovim/pulls/26168.json index ced92303..86edc0db 100644 --- a/repositories/neovim/pulls/26168.json +++ b/repositories/neovim/pulls/26168.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5077, - "forks_count": 5077, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1697, - "open_issues_count": 1697, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2023-12-26T01:26:05Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 247838, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 72074, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2023-12-26T01:14:58Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 72074, - "watchers_count": 72074, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "184f8423492f62b67b499efc53582dad4917ca5a", @@ -177,7 +177,7 @@ "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/26168/commits", "created_at": "2023-11-23T12:54:13Z", "diff_url": "https://github.com/neovim/neovim/pull/26168.diff", - "draft": false, + "draft": true, "head": { "label": "altermo:issue-14141-cmdline-global-iskeyword", "ref": "issue-14141-cmdline-global-iskeyword", @@ -196,7 +196,7 @@ "contents_url": "https://api.github.com/repos/altermo/neovim-fork/contents/{+path}", "contributors_url": "https://api.github.com/repos/altermo/neovim-fork/contributors", "created_at": "2023-09-13T06:55:17Z", - "default_branch": "master", + "default_branch": "DONT-USE-THIS-AS-SOURCE-WHEN-CREATING-NEW-BRANCH", "deployments_url": "https://api.github.com/repos/altermo/neovim-fork/deployments", "description": null, "disabled": false, @@ -242,8 +242,8 @@ "name": "neovim-fork", "node_id": "R_kgDOKS628w", "notifications_url": "https://api.github.com/repos/altermo/neovim-fork/notifications{?since,all,participating}", - "open_issues": 0, - "open_issues_count": 0, + "open_issues": 1, + "open_issues_count": 1, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", "events_url": "https://api.github.com/users/altermo/events{/privacy}", @@ -266,9 +266,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/altermo/neovim-fork/pulls{/number}", - "pushed_at": "2023-12-22T17:09:21Z", + "pushed_at": "2024-02-05T17:19:10Z", "releases_url": "https://api.github.com/repos/altermo/neovim-fork/releases{/id}", - "size": 237213, + "size": 245987, "ssh_url": "git@github.com:altermo/neovim-fork.git", "stargazers_count": 1, "stargazers_url": "https://api.github.com/repos/altermo/neovim-fork/stargazers", @@ -314,7 +314,7 @@ "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26168", "labels": [], "locked": false, - "merge_commit_sha": "83466f59755a36faefdea376658929b3fcc01e7c", + "merge_commit_sha": "3b390a40faebc604924ad0c85de65ee7fbf4be65", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5gOhhF", @@ -327,7 +327,7 @@ "state": "open", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/f2bd6ef751ccf9c1ee91b04de1c5149576c8ee6d", "title": "fix: decoupled local options from cmdline's CTRL-W", - "updated_at": "2023-12-20T11:04:40Z", + "updated_at": "2024-02-05T14:22:57Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/26168", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", diff --git a/repositories/neovim/pulls/26528.json b/repositories/neovim/pulls/26528.json index 209d4d39..d7f359db 100644 --- a/repositories/neovim/pulls/26528.json +++ b/repositories/neovim/pulls/26528.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5077, - "forks_count": 5077, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1697, - "open_issues_count": 1697, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2023-12-26T01:26:05Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 247838, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 72074, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2023-12-26T01:14:58Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 72074, - "watchers_count": 72074, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "ba0fa4fa197330687b06c74a50b2ccd4800f5881", @@ -2694,6 +2694,74 @@ "type": "User", "url": "https://api.github.com/users/bfredl" } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26528#discussion_r1477247185" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26528" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477247185" + } + }, + "author_association": "MEMBER", + "body": "I think this is inefficient when 'relativenumber' is set.", + "commit_id": "66ac327db27c8097cfa6c1f136dca96151b074f4", + "created_at": "2024-02-04T09:57:03Z", + "diff_hunk": "@@ -943,37 +931,7 @@ static void win_line_start(win_T *wp, winlinevars_T *wlv, bool save_extra)\n wlv->col = 0;\n wlv->off = 0;\n wlv->need_lbr = false;\n-\n- if (save_extra) {\n- // reset the drawing state for the start of a wrapped line\n- wlv->draw_state = WL_START;\n- wlv->saved_n_extra = wlv->n_extra;\n- wlv->saved_p_extra = wlv->p_extra;\n- wlv->saved_extra_for_extmark = wlv->extra_for_extmark;\n- wlv->saved_c_extra = wlv->c_extra;\n- wlv->saved_c_final = wlv->c_final;\n- wlv->need_lbr = true;\n- wlv->saved_char_attr = wlv->char_attr;\n-\n- wlv->n_extra = 0;\n- }\n-}\n-\n-/// Called when wlv->draw_state is set to WL_LINE.\n-static void win_line_continue(winlinevars_T *wlv)\n-{\n- if (wlv->saved_n_extra > 0) {\n- // Continue item from end of wrapped line.\n- wlv->n_extra = wlv->saved_n_extra;\n- wlv->saved_n_extra = 0;\n- wlv->c_extra = wlv->saved_c_extra;\n- wlv->c_final = wlv->saved_c_final;\n- wlv->p_extra = wlv->saved_p_extra;\n- wlv->extra_for_extmark = wlv->saved_extra_for_extmark;\n- wlv->char_attr = wlv->saved_char_attr;\n- } else {\n- wlv->char_attr = 0;\n- }\n+ memset(linebuf_vcol, -1, (size_t)wp->w_grid.cols * sizeof(*linebuf_vcol));", + "html_url": "https://github.com/neovim/neovim/pull/26528#discussion_r1477247185", + "id": 1477247185, + "line": 934, + "node_id": "PRRC_kwDOAPphoM5YDQDR", + "original_commit_id": "66ac327db27c8097cfa6c1f136dca96151b074f4", + "original_line": 934, + "original_position": 572, + "original_start_line": null, + "path": "src/nvim/drawline.c", + "position": 572, + "pull_request_review_id": 1861349808, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26528", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477247185/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T09:57:03Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477247185", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } } ], "comment_regular_data": [], @@ -2790,9 +2858,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/bfredl/neovim/pulls{/number}", - "pushed_at": "2023-12-25T13:09:25Z", + "pushed_at": "2024-02-01T11:54:02Z", "releases_url": "https://api.github.com/repos/bfredl/neovim/releases{/id}", - "size": 248438, + "size": 254912, "ssh_url": "git@github.com:bfredl/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/bfredl/neovim/stargazers", @@ -2870,7 +2938,7 @@ "state": "closed", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/66ac327db27c8097cfa6c1f136dca96151b074f4", "title": "refactor(drawline): remove LineDrawState and wlv->saved_n_extra", - "updated_at": "2023-12-22T10:52:14Z", + "updated_at": "2024-02-04T09:57:03Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/26528", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", diff --git a/repositories/neovim/pulls/26534.json b/repositories/neovim/pulls/26534.json index 0dc9506b..0e1e028e 100644 --- a/repositories/neovim/pulls/26534.json +++ b/repositories/neovim/pulls/26534.json @@ -28,7 +28,7 @@ "active_lock_reason": null, "assignee": null, "assignees": [], - "author_association": "FIRST_TIME_CONTRIBUTOR", + "author_association": "CONTRIBUTOR", "auto_merge": null, "base": { "label": "neovim:master", @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5066, - "forks_count": 5066, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1721, - "open_issues_count": 1721, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2023-12-19T00:15:23Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 246400, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 71892, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2023-12-19T01:02:33Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 71892, - "watchers_count": 71892, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "b40170f7a3ca4bd157eeb52c9d57cb2ebfe3c562", @@ -171,7 +171,214 @@ }, "body": "I am not sure if this is the best wording, but I thought it would make sense to add a comment about the lack of a `Function` type in the API. \r\n\r\n(This showed up in the discussion in #26531.)", "closed_at": null, - "comment_data": [], + "comment_data": [ + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26534#discussion_r1475498695" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26534" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475498695" + } + }, + "author_association": "CONTRIBUTOR", + "body": "I am not sure this is fully correct (wording-wise) because of the `LuaRef` type which is basically an integer but can ref a function.\r\n\r\nMaybe \"should\" would be better? I'm not sure, this might just be pedantic so feel free to ignore. I think the issue would revolve more around calling because it is correct that the RPC / C API's don't expose a Function type, but a function *could* return a LuaRef as an Object I think.", + "commit_id": "78efeed022a7599e569eebac4ef9e5d5e287a6b6", + "created_at": "2024-02-02T04:09:43Z", + "diff_hunk": "@@ -112,7 +112,9 @@ Basic types ~\n Dictionary (msgpack: map)\n Object\n <\n- Note: empty Array is accepted as a valid argument for Dictionary parameter.\n+ Note: \n+ - An empty Array is accepted as a valid argument for Dictionary parameter.\n+ - There is no Function type, so API functions cannot return Lua functions.", + "html_url": "https://github.com/neovim/neovim/pull/26534#discussion_r1475498695", + "id": 1475498695, + "line": 117, + "node_id": "PRRC_kwDOAPphoM5X8lLH", + "original_commit_id": "78efeed022a7599e569eebac4ef9e5d5e287a6b6", + "original_line": 117, + "original_position": 7, + "original_start_line": null, + "path": "runtime/doc/api.txt", + "position": 7, + "pull_request_review_id": 1858241181, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26534", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475498695/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-02T04:16:50Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475498695", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26534#discussion_r1475739511" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26534" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475739511" + } + }, + "author_association": "CONTRIBUTOR", + "body": "If I change `cannot` to `should not` (or `shouldn't` - don't really know if there is a consensus for stuff like this in neovim?), would that be better? Or would you want a more detailed explanation?\r\n\r\nI mainly wanted to add something to the docs to clarify the problem I ran into in #26531. ", + "commit_id": "78efeed022a7599e569eebac4ef9e5d5e287a6b6", + "created_at": "2024-02-02T08:44:01Z", + "diff_hunk": "@@ -112,7 +112,9 @@ Basic types ~\n Dictionary (msgpack: map)\n Object\n <\n- Note: empty Array is accepted as a valid argument for Dictionary parameter.\n+ Note: \n+ - An empty Array is accepted as a valid argument for Dictionary parameter.\n+ - There is no Function type, so API functions cannot return Lua functions.", + "html_url": "https://github.com/neovim/neovim/pull/26534#discussion_r1475739511", + "id": 1475739511, + "in_reply_to_id": 1475498695, + "line": 117, + "node_id": "PRRC_kwDOAPphoM5X9f93", + "original_commit_id": "78efeed022a7599e569eebac4ef9e5d5e287a6b6", + "original_line": 117, + "original_position": 7, + "original_start_line": null, + "path": "runtime/doc/api.txt", + "position": 7, + "pull_request_review_id": 1858683972, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26534", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475739511/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-02T08:44:01Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475739511", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7075380?v=4", + "events_url": "https://api.github.com/users/Danielkonge/events{/privacy}", + "followers_url": "https://api.github.com/users/Danielkonge/followers", + "following_url": "https://api.github.com/users/Danielkonge/following{/other_user}", + "gists_url": "https://api.github.com/users/Danielkonge/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Danielkonge", + "id": 7075380, + "login": "Danielkonge", + "node_id": "MDQ6VXNlcjcwNzUzODA=", + "organizations_url": "https://api.github.com/users/Danielkonge/orgs", + "received_events_url": "https://api.github.com/users/Danielkonge/received_events", + "repos_url": "https://api.github.com/users/Danielkonge/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Danielkonge/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Danielkonge/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Danielkonge" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26534#discussion_r1475757592" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26534" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475757592" + } + }, + "author_association": "CONTRIBUTOR", + "body": "I'm not a maintainer so I don't want to tell you what to do, just providing some more info :)\r\n\r\nDefinitely should be added to the docs as it could be confusing for new users, I agree!\r\n\r\nHonestly it could be good to add a note about API functions that take functions as arguments specifically as well, since that's the case that caused the original issue.\r\n\r\nAs for specific instructions on what would be accepted in core though, I am not the person to ask haha", + "commit_id": "78efeed022a7599e569eebac4ef9e5d5e287a6b6", + "created_at": "2024-02-02T08:59:27Z", + "diff_hunk": "@@ -112,7 +112,9 @@ Basic types ~\n Dictionary (msgpack: map)\n Object\n <\n- Note: empty Array is accepted as a valid argument for Dictionary parameter.\n+ Note: \n+ - An empty Array is accepted as a valid argument for Dictionary parameter.\n+ - There is no Function type, so API functions cannot return Lua functions.", + "html_url": "https://github.com/neovim/neovim/pull/26534#discussion_r1475757592", + "id": 1475757592, + "in_reply_to_id": 1475498695, + "line": 117, + "node_id": "PRRC_kwDOAPphoM5X9kYY", + "original_commit_id": "78efeed022a7599e569eebac4ef9e5d5e287a6b6", + "original_line": 117, + "original_position": 7, + "original_start_line": null, + "path": "runtime/doc/api.txt", + "position": 7, + "pull_request_review_id": 1858713162, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26534", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475757592/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-02T08:59:27Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475757592", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } + } + ], "comment_regular_data": [], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/26534/comments", "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/26534/commits", @@ -266,9 +473,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/Danielkonge/neovim/pulls{/number}", - "pushed_at": "2023-12-15T23:50:04Z", + "pushed_at": "2024-02-05T05:25:00Z", "releases_url": "https://api.github.com/repos/Danielkonge/neovim/releases{/id}", - "size": 236043, + "size": 244774, "ssh_url": "git@github.com:Danielkonge/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/Danielkonge/neovim/stargazers", @@ -324,7 +531,7 @@ } ], "locked": false, - "merge_commit_sha": "a7640b70386a5616aa8c54f121dfa61eefcd17c3", + "merge_commit_sha": "7601fe0dd79f9b01cbd3cbe892b6a998fc7b4212", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5hzyGA", @@ -358,7 +565,7 @@ "state": "open", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/78efeed022a7599e569eebac4ef9e5d5e287a6b6", "title": "docs: minor update (API)", - "updated_at": "2023-12-12T15:59:25Z", + "updated_at": "2024-02-02T08:59:27Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/26534", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/7075380?v=4", diff --git a/repositories/neovim/pulls/26604.json b/repositories/neovim/pulls/26604.json index 93701ef4..87448d02 100644 --- a/repositories/neovim/pulls/26604.json +++ b/repositories/neovim/pulls/26604.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5066, - "forks_count": 5066, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1721, - "open_issues_count": 1721, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2023-12-19T00:15:23Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 246400, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 71892, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2023-12-19T01:02:33Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 71892, - "watchers_count": 71892, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "5ed55ff14c8b7e346811cb6228bf63fb5106bae9", @@ -266,9 +266,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/dundargoc/neovim/pulls{/number}", - "pushed_at": "2023-12-18T23:31:15Z", + "pushed_at": "2024-02-05T23:03:30Z", "releases_url": "https://api.github.com/repos/dundargoc/neovim/releases{/id}", - "size": 243927, + "size": 249044, "ssh_url": "git@github.com:dundargoc/neovim.git", "stargazers_count": 1, "stargazers_url": "https://api.github.com/repos/dundargoc/neovim/stargazers", @@ -337,7 +337,7 @@ "state": "closed", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/77bf5b0337ceda4ec14ff444624e1e2bb251e5ce", "title": "vim-patch:9.0.1892: CI: no FreeBSD 14 support", - "updated_at": "2023-12-16T13:20:37Z", + "updated_at": "2024-02-05T04:19:52Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/26604", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", diff --git a/repositories/neovim/pulls/26666.json b/repositories/neovim/pulls/26666.json index ac90458f..0344e3fd 100644 --- a/repositories/neovim/pulls/26666.json +++ b/repositories/neovim/pulls/26666.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5121, - "forks_count": 5121, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-09T01:46:05Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 248837, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 72546, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-09T01:49:06Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 72546, - "watchers_count": 72546, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "cc6a257c8cad8051b6f7e9287249293ab0a929d9", @@ -1626,6 +1626,50 @@ "type": "User", "url": "https://api.github.com/users/UsamaHameed" } + }, + { + "author_association": "NONE", + "body": "@justinmk kind reminder. I wanna be sure that I am on the right track before spending more time on this. So, if you are happy with the test I wrote [here](https://github.com/neovim/neovim/pull/26666#issuecomment-1879083429), then I can create a list of buf methods that need `buf_ensure_loaded` ", + "created_at": "2024-01-30T09:50:58Z", + "html_url": "https://github.com/neovim/neovim/pull/26666#issuecomment-1916459746", + "id": 1916459746, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26666", + "node_id": "IC_kwDOAPphoM5yOtri", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1916459746/reactions" + }, + "updated_at": "2024-01-30T09:50:58Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1916459746", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/11444352?v=4", + "events_url": "https://api.github.com/users/UsamaHameed/events{/privacy}", + "followers_url": "https://api.github.com/users/UsamaHameed/followers", + "following_url": "https://api.github.com/users/UsamaHameed/following{/other_user}", + "gists_url": "https://api.github.com/users/UsamaHameed/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/UsamaHameed", + "id": 11444352, + "login": "UsamaHameed", + "node_id": "MDQ6VXNlcjExNDQ0MzUy", + "organizations_url": "https://api.github.com/users/UsamaHameed/orgs", + "received_events_url": "https://api.github.com/users/UsamaHameed/received_events", + "repos_url": "https://api.github.com/users/UsamaHameed/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/UsamaHameed/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/UsamaHameed/subscriptions", + "type": "User", + "url": "https://api.github.com/users/UsamaHameed" + } } ], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/26666/comments", @@ -1787,24 +1831,24 @@ "patch_url": "https://github.com/neovim/neovim/pull/26666.patch", "requested_reviewers": [ { - "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", - "events_url": "https://api.github.com/users/justinmk/events{/privacy}", - "followers_url": "https://api.github.com/users/justinmk/followers", - "following_url": "https://api.github.com/users/justinmk/following{/other_user}", - "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "avatar_url": "https://avatars.githubusercontent.com/u/29580810?v=4", + "events_url": "https://api.github.com/users/famiu/events{/privacy}", + "followers_url": "https://api.github.com/users/famiu/followers", + "following_url": "https://api.github.com/users/famiu/following{/other_user}", + "gists_url": "https://api.github.com/users/famiu/gists{/gist_id}", "gravatar_id": "", - "html_url": "https://github.com/justinmk", - "id": 1359421, - "login": "justinmk", - "node_id": "MDQ6VXNlcjEzNTk0MjE=", - "organizations_url": "https://api.github.com/users/justinmk/orgs", - "received_events_url": "https://api.github.com/users/justinmk/received_events", - "repos_url": "https://api.github.com/users/justinmk/repos", + "html_url": "https://github.com/famiu", + "id": 29580810, + "login": "famiu", + "node_id": "MDQ6VXNlcjI5NTgwODEw", + "organizations_url": "https://api.github.com/users/famiu/orgs", + "received_events_url": "https://api.github.com/users/famiu/received_events", + "repos_url": "https://api.github.com/users/famiu/repos", "site_admin": false, - "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "starred_url": "https://api.github.com/users/famiu/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/famiu/subscriptions", "type": "User", - "url": "https://api.github.com/users/justinmk" + "url": "https://api.github.com/users/famiu" }, { "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", @@ -1827,24 +1871,24 @@ "url": "https://api.github.com/users/bfredl" }, { - "avatar_url": "https://avatars.githubusercontent.com/u/29580810?v=4", - "events_url": "https://api.github.com/users/famiu/events{/privacy}", - "followers_url": "https://api.github.com/users/famiu/followers", - "following_url": "https://api.github.com/users/famiu/following{/other_user}", - "gists_url": "https://api.github.com/users/famiu/gists{/gist_id}", + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", "gravatar_id": "", - "html_url": "https://github.com/famiu", - "id": 29580810, - "login": "famiu", - "node_id": "MDQ6VXNlcjI5NTgwODEw", - "organizations_url": "https://api.github.com/users/famiu/orgs", - "received_events_url": "https://api.github.com/users/famiu/received_events", - "repos_url": "https://api.github.com/users/famiu/repos", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", "site_admin": false, - "starred_url": "https://api.github.com/users/famiu/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/famiu/subscriptions", + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", "type": "User", - "url": "https://api.github.com/users/famiu" + "url": "https://api.github.com/users/justinmk" } ], "requested_teams": [], @@ -1853,7 +1897,7 @@ "state": "open", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/a1cc63441ae34e5cdf6ddbc42a5fa030a0b7a722", "title": "fix!(api): ensure buffer is loaded in most buffer related api methods", - "updated_at": "2024-01-06T17:43:15Z", + "updated_at": "2024-01-30T09:50:59Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/26666", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/11444352?v=4", diff --git a/repositories/neovim/pulls/26714.json b/repositories/neovim/pulls/26714.json index 7f5a67f8..af7f3d98 100644 --- a/repositories/neovim/pulls/26714.json +++ b/repositories/neovim/pulls/26714.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5077, - "forks_count": 5077, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1697, - "open_issues_count": 1697, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2023-12-26T01:26:05Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 247838, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 72074, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2023-12-26T01:14:58Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 72074, - "watchers_count": 72074, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "ab2aad509d6e4fc57a6afe056275405ec6451671", @@ -449,9 +449,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/pabloariasal/neovim/pulls{/number}", - "pushed_at": "2023-12-25T10:33:28Z", + "pushed_at": "2024-01-30T19:38:19Z", "releases_url": "https://api.github.com/repos/pabloariasal/neovim/releases{/id}", - "size": 241261, + "size": 245243, "ssh_url": "git@github.com:pabloariasal/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/pabloariasal/neovim/stargazers", @@ -499,7 +499,43 @@ "locked": false, "merge_commit_sha": "2ff2785c396e66c285fecf5b151d8f8863f9d4e6", "merged_at": "2023-12-25T00:30:56Z", - "milestone": null, + "milestone": { + "closed_at": null, + "closed_issues": 278, + "created_at": "2023-02-02T14:11:43Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + "description": "", + "due_on": "2024-03-01T08:00:00Z", + "html_url": "https://github.com/neovim/neovim/milestone/36", + "id": 8997654, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", + "node_id": "MI_kwDOAPphoM4AiUsW", + "number": 36, + "open_issues": 138, + "state": "open", + "title": "0.10", + "updated_at": "2024-02-05T21:59:25Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/36" + }, "node_id": "PR_kwDOAPphoM5irtsY", "number": 26714, "patch_url": "https://github.com/neovim/neovim/pull/26714.patch", @@ -510,7 +546,7 @@ "state": "closed", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/b5de7ee666ea84e174a303f4f31925eb9cffa4db", "title": "feat(health): checkhealth buffer can be opened in a split window", - "updated_at": "2023-12-25T10:33:28Z", + "updated_at": "2024-01-31T22:46:58Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/26714", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/20794509?v=4", diff --git a/repositories/neovim/pulls/26721.json b/repositories/neovim/pulls/26721.json index 4bc45b83..339238c0 100644 --- a/repositories/neovim/pulls/26721.json +++ b/repositories/neovim/pulls/26721.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5174, - "forks_count": 5174, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1735, - "open_issues_count": 1735, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-30T00:09:25Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251558, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 73268, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-30T01:30:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 73268, - "watchers_count": 73268, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "74e695d22715e52f5561a185583b8c23d4fa0dd6", @@ -169,7 +169,7 @@ "url": "https://api.github.com/users/neovim" } }, - "body": "Rewrite docs for treesitter query predicates and directives to be more\r\nclear and comprehensive.\r\n\r\nRevise lua type annotations: `TSPredicate` and `TSDirective`.\r\n\r\nTSPredicate:\r\n- handler function: fun(match, pattern, source, predicate): boolean\r\n - fix type for pattern: string -> integer\r\n - fix: buffer (integer) -> source\r\n - fix type for predicate: -> (string|integer)[]\r\n\r\nTSDirective:\r\n- handler function: fun(match, pattern, source, directive, metadata)\r\n - fix type for pattern: string -> integer\r\n - fix: buffer (integer) -> source (integer|string)\r\n - rename: predicate -> directive\r\n - fix type for directive: -> (string|integer)[]\r\n\r\nTSQueryInfo:\r\n - rewrite docs for TSQueryInfo, explaining `info.captures` and\r\n `info.patterns`.\r\n - fix: key to table `info.patterns` (pattern) is integer, not string.\r\n\r\nImprove docs for `vim.treesitter.query.get()` and\r\n`vim.treesitter.query.set()`.\r\n\r\nAdd a test case for `vim.treesitter.query.add_directive()`.\r\n\r\nCorrect typing for `TSNode:_rawquery()`: `pattern` is integer, not\r\nstring.\r\n\r\nRevise docs for `Query:iter_captures` and `Query:iter_matches`.\r\n\r\n", + "body": "Status\r\n\r\n* Revisit after #27194 is merged\r\n* Revisit after API changes on the predicates/directives #24738 (still other docs are useful)\r\n\r\n---\r\n\r\nRewrite docs for treesitter query predicates and directives to be more\r\nclear and comprehensive.\r\n\r\nRevise lua type annotations: `TSPredicate` and `TSDirective`.\r\n\r\nTSPredicate:\r\n- handler function: fun(match, pattern, source, predicate): boolean\r\n - fix type for pattern: string -> integer\r\n - fix: buffer (integer) -> source\r\n - fix type for predicate: -> (string|integer)[]\r\n\r\nTSDirective:\r\n- handler function: fun(match, pattern, source, directive, metadata)\r\n - fix type for pattern: string -> integer\r\n - fix: buffer (integer) -> source (integer|string)\r\n - rename: predicate -> directive\r\n - fix type for directive: -> (string|integer)[]\r\n\r\nTSQueryInfo:\r\n - rewrite docs for TSQueryInfo, explaining `info.captures` and\r\n `info.patterns`.\r\n - fix: key to table `info.patterns` (pattern) is integer, not string.\r\n\r\nImprove docs for `vim.treesitter.query.get()` and\r\n`vim.treesitter.query.set()`.\r\n\r\nAdd a test case for `vim.treesitter.query.add_directive()`.\r\n\r\nCorrect typing for `TSNode:_rawquery()`: `pattern` is integer, not\r\nstring.\r\n\r\nRevise docs for `Query:iter_captures` and `Query:iter_matches`.\r\n\r\n", "closed_at": null, "comment_data": [ { @@ -1335,9 +1335,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/wookayin/neovim/pulls{/number}", - "pushed_at": "2024-01-29T22:22:15Z", + "pushed_at": "2024-02-05T22:04:28Z", "releases_url": "https://api.github.com/repos/wookayin/neovim/releases{/id}", - "size": 246972, + "size": 247830, "ssh_url": "git@github.com:wookayin/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/wookayin/neovim/stargazers", @@ -1411,9 +1411,45 @@ } ], "locked": false, - "merge_commit_sha": "483dda7901372d47fa053166297fa79dba1e0458", + "merge_commit_sha": "2f22bf1c23b74a6b6834c48aa677ea569a4dfe07", "merged_at": null, - "milestone": null, + "milestone": { + "closed_at": null, + "closed_issues": 278, + "created_at": "2023-02-02T14:11:43Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + "description": "", + "due_on": "2024-03-01T08:00:00Z", + "html_url": "https://github.com/neovim/neovim/milestone/36", + "id": 8997654, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", + "node_id": "MI_kwDOAPphoM4AiUsW", + "number": 36, + "open_issues": 138, + "state": "open", + "title": "0.10", + "updated_at": "2024-02-05T21:59:25Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/36" + }, "node_id": "PR_kwDOAPphoM5isYuJ", "number": 26721, "patch_url": "https://github.com/neovim/neovim/pull/26721.patch", @@ -1424,7 +1460,7 @@ "state": "open", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/268d6317605d591c3f1319535e3c93cffcebd8d8", "title": "docs(treesitter): docs and typing for query, predicates, and directives", - "updated_at": "2024-01-28T06:42:02Z", + "updated_at": "2024-02-04T01:52:58Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/26721", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", diff --git a/repositories/neovim/pulls/26739.json b/repositories/neovim/pulls/26739.json index 127641c7..145bead3 100644 --- a/repositories/neovim/pulls/26739.json +++ b/repositories/neovim/pulls/26739.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5142, - "forks_count": 5142, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1740, - "open_issues_count": 1740, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-16T01:33:17Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 247954, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 72793, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-16T01:52:35Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 72793, - "watchers_count": 72793, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "a767c046f4e6bff1412269d56a8edfe33857d954", @@ -169,7 +169,7 @@ "url": "https://api.github.com/users/neovim" } }, - "body": "Problem: Info float window position should recalculated because width of the pum window will be recalculated when selecting items of different lengths. so we can just create a float wp with a init float config. and calculate the width and col according the actually pum width in `pum_set_selected`. if there already have a pum_text set should free it otherwise have memory leak.\r\n\r\nSolution: recalculated the info popup window position and create info floating window with a init float config value.\r\n\r\nIn fact i do some in https://github.com/neovim/neovim/pull/26004 . but this pr seems like need review for a while. so split a part to this pr.", + "body": "Problem: Info float window position should recalculated because width of the pum window will be recalculated when selecting items of different lengths. so we can just create a float wp with a init float config. and calculate the width and col according the actually pum width in `pum_set_selected`. if there already have a pum_text set should free it otherwise have memory leak.\r\n\r\nSolution: recalculated the info popup window position and create info floating window with a init float config value.", "closed_at": null, "comment_data": [], "comment_regular_data": [], @@ -266,9 +266,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/glepnir/neovim/pulls{/number}", - "pushed_at": "2024-01-15T13:57:16Z", + "pushed_at": "2024-02-05T12:00:25Z", "releases_url": "https://api.github.com/repos/glepnir/neovim/releases{/id}", - "size": 244043, + "size": 248354, "ssh_url": "git@github.com:glepnir/neovim.git", "stargazers_count": 2, "stargazers_url": "https://api.github.com/repos/glepnir/neovim/stargazers", @@ -337,7 +337,7 @@ "state": "open", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/0ab59d7e2d349f9b0838f13b037b6dda14372989", "title": "fix(completion): reset popup position", - "updated_at": "2024-01-11T08:05:50Z", + "updated_at": "2024-02-04T11:38:33Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/26739", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", diff --git a/repositories/neovim/pulls/26741.json b/repositories/neovim/pulls/26741.json index 9f3f93d5..3f7579ec 100644 --- a/repositories/neovim/pulls/26741.json +++ b/repositories/neovim/pulls/26741.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/26741" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/bf3590ef96fc582a1146483c93fee7de44410a07" + "href": "https://api.github.com/repos/neovim/neovim/statuses/4c249b197adb87092ce466668241f5a470e5efee" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5096, - "forks_count": 5096, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1716, - "open_issues_count": 1716, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-02T01:20:52Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 248449, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 72293, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-02T00:18:48Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 72293, - "watchers_count": 72293, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, - "sha": "714b075197c02d27d5c05133759ae97bed279b50", + "sha": "1bf645918e94e7e8f770592484164f1ee303f24e", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -169,55 +169,10 @@ "url": "https://api.github.com/users/neovim" } }, - "body": "Problem: when new leader add there will invoke `ins_compl_del_pum` and rebuild a pum match array. but the `compl_curr_match` value not update to `compl_shown_match`. this will cause `completed_item` in `v:event` not same as current select item in pum when `CompleteChanged` event trigger.\r\n\r\nSolution: add `compl_add_leader` when new leader add update the `compl_curr_match`", - "closed_at": null, + "body": "Problem: when new leader add there will invoke `ins_compl_del_pum` and rebuild a pum match array. but the `compl_curr_match` value not update to `compl_shown_match`. this will cause `completed_item` in `v:event` not same as current select item in pum when `CompleteChanged` event trigger.\r\n\r\nSolution: update compl_curr_match value when new leader add", + "closed_at": "2024-02-04T03:00:15Z", "comment_data": [], - "comment_regular_data": [ - { - "author_association": "MEMBER", - "body": "@zeertzjq could you rerun test and review please.", - "created_at": "2023-12-28T09:54:25Z", - "html_url": "https://github.com/neovim/neovim/pull/26741#issuecomment-1871008264", - "id": 1871008264, - "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26741", - "node_id": "IC_kwDOAPphoM5vhVII", - "performed_via_github_app": null, - "reactions": { - "+1": 0, - "-1": 0, - "confused": 0, - "eyes": 0, - "heart": 0, - "hooray": 0, - "laugh": 0, - "rocket": 0, - "total_count": 0, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1871008264/reactions" - }, - "updated_at": "2023-12-28T09:54:25Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1871008264", - "user": { - "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", - "events_url": "https://api.github.com/users/glepnir/events{/privacy}", - "followers_url": "https://api.github.com/users/glepnir/followers", - "following_url": "https://api.github.com/users/glepnir/following{/other_user}", - "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", - "gravatar_id": "", - "html_url": "https://github.com/glepnir", - "id": 41671631, - "login": "glepnir", - "node_id": "MDQ6VXNlcjQxNjcxNjMx", - "organizations_url": "https://api.github.com/users/glepnir/orgs", - "received_events_url": "https://api.github.com/users/glepnir/received_events", - "repos_url": "https://api.github.com/users/glepnir/repos", - "site_admin": false, - "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", - "type": "User", - "url": "https://api.github.com/users/glepnir" - } - } - ], + "comment_regular_data": [], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/26741/comments", "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/26741/commits", "created_at": "2023-12-26T07:29:03Z", @@ -248,8 +203,8 @@ "downloads_url": "https://api.github.com/repos/glepnir/neovim/downloads", "events_url": "https://api.github.com/repos/glepnir/neovim/events", "fork": true, - "forks": 0, - "forks_count": 0, + "forks": 1, + "forks_count": 1, "forks_url": "https://api.github.com/repos/glepnir/neovim/forks", "full_name": "glepnir/neovim", "git_commits_url": "https://api.github.com/repos/glepnir/neovim/git/commits{/sha}", @@ -311,11 +266,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/glepnir/neovim/pulls{/number}", - "pushed_at": "2024-01-01T10:48:35Z", + "pushed_at": "2024-02-05T12:00:25Z", "releases_url": "https://api.github.com/repos/glepnir/neovim/releases{/id}", - "size": 244315, + "size": 248354, "ssh_url": "git@github.com:glepnir/neovim.git", - "stargazers_count": 1, + "stargazers_count": 2, "stargazers_url": "https://api.github.com/repos/glepnir/neovim/stargazers", "statuses_url": "https://api.github.com/repos/glepnir/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/glepnir/neovim/subscribers", @@ -325,14 +280,14 @@ "teams_url": "https://api.github.com/repos/glepnir/neovim/teams", "topics": [], "trees_url": "https://api.github.com/repos/glepnir/neovim/git/trees{/sha}", - "updated_at": "2023-06-29T15:12:56Z", + "updated_at": "2024-01-02T10:35:44Z", "url": "https://api.github.com/repos/glepnir/neovim", "visibility": "public", - "watchers": 1, - "watchers_count": 1, + "watchers": 2, + "watchers_count": 2, "web_commit_signoff_required": false }, - "sha": "bf3590ef96fc582a1146483c93fee7de44410a07", + "sha": "4c249b197adb87092ce466668241f5a470e5efee", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", "events_url": "https://api.github.com/users/glepnir/events{/privacy}", @@ -369,7 +324,7 @@ } ], "locked": false, - "merge_commit_sha": "f8d5650432a4ebe07cd70ddece33315cb513cfb3", + "merge_commit_sha": "b88083d52a7364ba3832e856d3f4cab2f4146a47", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5iw68V", @@ -379,10 +334,10 @@ "requested_teams": [], "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/26741/comments", - "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/bf3590ef96fc582a1146483c93fee7de44410a07", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/4c249b197adb87092ce466668241f5a470e5efee", "title": "fix(completion): update complete item value before event trigger", - "updated_at": "2023-12-28T09:54:26Z", + "updated_at": "2024-02-04T03:00:20Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/26741", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", diff --git a/repositories/neovim/pulls/26774.json b/repositories/neovim/pulls/26774.json index a57b5f17..d7d511ad 100644 --- a/repositories/neovim/pulls/26774.json +++ b/repositories/neovim/pulls/26774.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/26774" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/bbe7f82b193e7f06302ad46aec71de295fe5bdcc" + "href": "https://api.github.com/repos/neovim/neovim/statuses/7b8560086f5e31d2783d5f34f7f93b187a15d91c" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5096, - "forks_count": 5096, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1716, - "open_issues_count": 1716, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-02T01:20:52Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 248449, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 72293, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-02T00:18:48Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 72293, - "watchers_count": 72293, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, - "sha": "320c77fa528e96aac0931383160fa9ce3f7a3eec", + "sha": "6bba4becedaea5a330c0c9d9427fb495e8092dac", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -171,7 +171,694 @@ }, "body": "Problem: when reconfig current float win without win key in `nvim_win_set_config` will cause float win position changed when move.\r\n\r\nSolution: don't relative itself.\r\n\r\nFix #24129", "closed_at": null, - "comment_data": [], + "comment_data": [ + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26774#discussion_r1470715403" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26774" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470715403" + } + }, + "author_association": "CONTRIBUTOR", + "body": "I may be wrong but couldn't you just check that `config->win != curwin->handle` instead of fetching and comparing the pointers? That way this could still be a single statement like below and no checks for the actual window need to be done in `parse_float_config`, since validation is done in `nvim_open_win` and `nvim_win_set_config`.\r\n\r\n```lua\r\nif (!reconf || config->win != curwin->handle) {\r\n fconfig->window = curwin->handle;\r\n}\r\n```", + "commit_id": "7b8560086f5e31d2783d5f34f7f93b187a15d91c", + "created_at": "2024-01-30T07:44:20Z", + "diff_hunk": "@@ -730,7 +730,16 @@ static bool parse_float_config(Dict(float_config) *config, FloatConfig *fconfig,\n }\n \n if (relative_is_win) {\n- fconfig->window = curwin->handle;\n+ if (reconf) {\n+ win_T *wp = handle_get_window(config->win);", + "html_url": "https://github.com/neovim/neovim/pull/26774#discussion_r1470715403", + "id": 1470715403, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XqVYL", + "original_commit_id": "bbe7f82b193e7f06302ad46aec71de295fe5bdcc", + "original_line": 734, + "original_position": 6, + "original_start_line": null, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1850418875, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26774", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470715403/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-30T07:44:41Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470715403", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26774#discussion_r1470719586" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26774" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470719586" + } + }, + "author_association": "CONTRIBUTOR", + "body": "You may also need to account for `config->win = 0` (I don't think `handle_get_window` does this?)\r\n\r\nEdit: confirmed that if you set `win = 0` in `win_set_config` you can trigger this bug if you're setting the config of `curwin`. \r\n\r\nI think that setting `win = 0` while modifying the current (floating) window should throw an error because it makes no sense to do that. But omitting `win` should just not change the current value like you've done here. Thoughts?", + "commit_id": "7b8560086f5e31d2783d5f34f7f93b187a15d91c", + "created_at": "2024-01-30T07:48:18Z", + "diff_hunk": "@@ -730,7 +730,16 @@ static bool parse_float_config(Dict(float_config) *config, FloatConfig *fconfig,\n }\n \n if (relative_is_win) {\n- fconfig->window = curwin->handle;\n+ if (reconf) {\n+ win_T *wp = handle_get_window(config->win);", + "html_url": "https://github.com/neovim/neovim/pull/26774#discussion_r1470719586", + "id": 1470719586, + "in_reply_to_id": 1470715403, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XqWZi", + "original_commit_id": "bbe7f82b193e7f06302ad46aec71de295fe5bdcc", + "original_line": 734, + "original_position": 6, + "original_start_line": null, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1850426690, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26774", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470719586/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-30T07:52:20Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470719586", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26774#discussion_r1472345096" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26774" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472345096" + } + }, + "author_association": "MEMBER", + "body": "emm i guess we can do it early . ", + "commit_id": "7b8560086f5e31d2783d5f34f7f93b187a15d91c", + "created_at": "2024-01-31T06:06:23Z", + "diff_hunk": "@@ -730,7 +730,16 @@ static bool parse_float_config(Dict(float_config) *config, FloatConfig *fconfig,\n }\n \n if (relative_is_win) {\n- fconfig->window = curwin->handle;\n+ if (reconf) {\n+ win_T *wp = handle_get_window(config->win);", + "html_url": "https://github.com/neovim/neovim/pull/26774#discussion_r1472345096", + "id": 1472345096, + "in_reply_to_id": 1470715403, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XwjQI", + "original_commit_id": "bbe7f82b193e7f06302ad46aec71de295fe5bdcc", + "original_line": 734, + "original_position": 6, + "original_start_line": null, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1852951410, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26774", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472345096/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T06:06:23Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472345096", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26774#discussion_r1472774592" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26774" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472774592" + } + }, + "author_association": "MEMBER", + "body": "it's a bit weird to replicate already existing parsing logic. I'd do this check on the parsed value in `fconfig` after the call to `!parse_float_config` (or even inside it, passing in win is fine)", + "commit_id": "7b8560086f5e31d2783d5f34f7f93b187a15d91c", + "created_at": "2024-01-31T12:47:04Z", + "diff_hunk": "@@ -240,6 +240,14 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n // reuse old values, if not overridden\n FloatConfig fconfig = new_float ? FLOAT_CONFIG_INIT : win->w_float_config;\n \n+ if (!new_float && HAS_KEY(config, float_config, relative) && striequal(config->relative.data,", + "html_url": "https://github.com/neovim/neovim/pull/26774#discussion_r1472774592", + "id": 1472774592, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XyMHA", + "original_commit_id": "7f8b4b30b85f0608ce99a871768be2d97a26db3e", + "original_line": 243, + "original_position": 4, + "original_start_line": null, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1853649933, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26774", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472774592/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T12:47:04Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472774592", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26774#discussion_r1472780718" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26774" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472780718" + } + }, + "author_association": "MEMBER", + "body": "yes. i am not sure change the param of parse is a good idea before :P", + "commit_id": "7b8560086f5e31d2783d5f34f7f93b187a15d91c", + "created_at": "2024-01-31T12:52:29Z", + "diff_hunk": "@@ -240,6 +240,14 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n // reuse old values, if not overridden\n FloatConfig fconfig = new_float ? FLOAT_CONFIG_INIT : win->w_float_config;\n \n+ if (!new_float && HAS_KEY(config, float_config, relative) && striequal(config->relative.data,", + "html_url": "https://github.com/neovim/neovim/pull/26774#discussion_r1472780718", + "id": 1472780718, + "in_reply_to_id": 1472774592, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XyNmu", + "original_commit_id": "7f8b4b30b85f0608ce99a871768be2d97a26db3e", + "original_line": 243, + "original_position": 4, + "original_start_line": null, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1853659763, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26774", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472780718/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T12:52:30Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472780718", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26774#discussion_r1473900893" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26774" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473900893" + } + }, + "author_association": "MEMBER", + "body": "It seems that `new_win` is no longer needed as it can be replaced by `wp == NULL`.", + "commit_id": "7b8560086f5e31d2783d5f34f7f93b187a15d91c", + "created_at": "2024-02-01T07:17:32Z", + "diff_hunk": "@@ -938,8 +938,8 @@ static void parse_border_style(Object style, FloatConfig *fconfig, Error *err)\n }\n }\n \n-static bool parse_float_config(Dict(float_config) *config, FloatConfig *fconfig, bool reconf,\n- bool new_win, Error *err)\n+static bool parse_float_config(win_T *wp, Dict(float_config) *config, FloatConfig *fconfig,\n+ bool reconf, bool new_win, Error *err)", + "html_url": "https://github.com/neovim/neovim/pull/26774#discussion_r1473900893", + "id": 1473900893, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X2fFd", + "original_commit_id": "00a25db2109330ca66aafdcc6b7ef3ad0b134877", + "original_line": 942, + "original_position": 25, + "original_start_line": 941, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1855704533, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26774", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473900893/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-01T07:17:32Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473900893", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26774#discussion_r1473903400" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26774" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473903400" + } + }, + "author_association": "MEMBER", + "body": "I don't think this `return` is correct. It causes other keys in the config to be silently ignored.", + "commit_id": "7b8560086f5e31d2783d5f34f7f93b187a15d91c", + "created_at": "2024-02-01T07:19:44Z", + "diff_hunk": "@@ -958,6 +958,12 @@ static bool parse_float_config(Dict(float_config) *config, FloatConfig *fconfig,\n has_relative = true;\n fconfig->external = false;\n if (fconfig->relative == kFloatRelativeWindow) {\n+ if (reconf) {\n+ win_T *target_win = find_window_by_handle(config->win, err);\n+ if (!target_win || target_win == wp) {\n+ return false;", + "html_url": "https://github.com/neovim/neovim/pull/26774#discussion_r1473903400", + "id": 1473903400, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X2fso", + "original_commit_id": "00a25db2109330ca66aafdcc6b7ef3ad0b134877", + "original_line": 964, + "original_position": 36, + "original_start_line": null, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1855707665, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26774", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473903400/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T07:20:40Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473903400", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26774#discussion_r1473904724" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26774" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473904724" + } + }, + "author_association": "MEMBER", + "body": "when no target win or target is itself the other keys still need parse ? this set shouldn't execute right ? i guess there should give an error would be good.", + "commit_id": "7b8560086f5e31d2783d5f34f7f93b187a15d91c", + "created_at": "2024-02-01T07:20:58Z", + "diff_hunk": "@@ -958,6 +958,12 @@ static bool parse_float_config(Dict(float_config) *config, FloatConfig *fconfig,\n has_relative = true;\n fconfig->external = false;\n if (fconfig->relative == kFloatRelativeWindow) {\n+ if (reconf) {\n+ win_T *target_win = find_window_by_handle(config->win, err);\n+ if (!target_win || target_win == wp) {\n+ return false;", + "html_url": "https://github.com/neovim/neovim/pull/26774#discussion_r1473904724", + "id": 1473904724, + "in_reply_to_id": 1473903400, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X2gBU", + "original_commit_id": "00a25db2109330ca66aafdcc6b7ef3ad0b134877", + "original_line": 964, + "original_position": 36, + "original_start_line": null, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1855709365, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26774", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473904724/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T07:22:45Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473904724", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26774#discussion_r1473909560" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26774" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473909560" + } + }, + "author_association": "MEMBER", + "body": "That will not solve the usage mentioned in #24129", + "commit_id": "7b8560086f5e31d2783d5f34f7f93b187a15d91c", + "created_at": "2024-02-01T07:25:21Z", + "diff_hunk": "@@ -958,6 +958,12 @@ static bool parse_float_config(Dict(float_config) *config, FloatConfig *fconfig,\n has_relative = true;\n fconfig->external = false;\n if (fconfig->relative == kFloatRelativeWindow) {\n+ if (reconf) {\n+ win_T *target_win = find_window_by_handle(config->win, err);\n+ if (!target_win || target_win == wp) {\n+ return false;", + "html_url": "https://github.com/neovim/neovim/pull/26774#discussion_r1473909560", + "id": 1473909560, + "in_reply_to_id": 1473903400, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X2hM4", + "original_commit_id": "00a25db2109330ca66aafdcc6b7ef3ad0b134877", + "original_line": 964, + "original_position": 36, + "original_start_line": null, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1855715530, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26774", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473909560/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T07:25:22Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473909560", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26774#discussion_r1473919869" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26774" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473919869" + } + }, + "author_association": "MEMBER", + "body": "i test it with an error through code . when source it will through an error can not relative itself the float window still render and move jk it the position not changed.", + "commit_id": "7b8560086f5e31d2783d5f34f7f93b187a15d91c", + "created_at": "2024-02-01T07:33:02Z", + "diff_hunk": "@@ -958,6 +958,12 @@ static bool parse_float_config(Dict(float_config) *config, FloatConfig *fconfig,\n has_relative = true;\n fconfig->external = false;\n if (fconfig->relative == kFloatRelativeWindow) {\n+ if (reconf) {\n+ win_T *target_win = find_window_by_handle(config->win, err);\n+ if (!target_win || target_win == wp) {\n+ return false;", + "html_url": "https://github.com/neovim/neovim/pull/26774#discussion_r1473919869", + "id": 1473919869, + "in_reply_to_id": 1473903400, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X2jt9", + "original_commit_id": "00a25db2109330ca66aafdcc6b7ef3ad0b134877", + "original_line": 964, + "original_position": 36, + "original_start_line": null, + "path": "src/nvim/api/win_config.c", + "position": null, + "pull_request_review_id": 1855728165, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26774", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473919869/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T07:33:43Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473919869", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + } + ], "comment_regular_data": [], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/26774/comments", "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/26774/commits", @@ -203,8 +890,8 @@ "downloads_url": "https://api.github.com/repos/glepnir/neovim/downloads", "events_url": "https://api.github.com/repos/glepnir/neovim/events", "fork": true, - "forks": 0, - "forks_count": 0, + "forks": 1, + "forks_count": 1, "forks_url": "https://api.github.com/repos/glepnir/neovim/forks", "full_name": "glepnir/neovim", "git_commits_url": "https://api.github.com/repos/glepnir/neovim/git/commits{/sha}", @@ -266,11 +953,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/glepnir/neovim/pulls{/number}", - "pushed_at": "2024-01-01T10:48:35Z", + "pushed_at": "2024-02-05T12:00:25Z", "releases_url": "https://api.github.com/repos/glepnir/neovim/releases{/id}", - "size": 244315, + "size": 248354, "ssh_url": "git@github.com:glepnir/neovim.git", - "stargazers_count": 1, + "stargazers_count": 2, "stargazers_url": "https://api.github.com/repos/glepnir/neovim/stargazers", "statuses_url": "https://api.github.com/repos/glepnir/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/glepnir/neovim/subscribers", @@ -280,14 +967,14 @@ "teams_url": "https://api.github.com/repos/glepnir/neovim/teams", "topics": [], "trees_url": "https://api.github.com/repos/glepnir/neovim/git/trees{/sha}", - "updated_at": "2023-06-29T15:12:56Z", + "updated_at": "2024-01-02T10:35:44Z", "url": "https://api.github.com/repos/glepnir/neovim", "visibility": "public", - "watchers": 1, - "watchers_count": 1, + "watchers": 2, + "watchers_count": 2, "web_commit_signoff_required": false }, - "sha": "bbe7f82b193e7f06302ad46aec71de295fe5bdcc", + "sha": "7b8560086f5e31d2783d5f34f7f93b187a15d91c", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", "events_url": "https://api.github.com/users/glepnir/events{/privacy}", @@ -324,7 +1011,7 @@ } ], "locked": false, - "merge_commit_sha": "4b6a6a83e2756dd130559972b6a36ab046316cb8", + "merge_commit_sha": "1efc102c4999b11b96c7759f5de5d0492a95c2f1", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5i38NV", @@ -356,9 +1043,9 @@ "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/26774/comments", "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/bbe7f82b193e7f06302ad46aec71de295fe5bdcc", - "title": "fix(float): don't relative flaot win itself", - "updated_at": "2023-12-28T13:26:22Z", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/7b8560086f5e31d2783d5f34f7f93b187a15d91c", + "title": "fix(float): don't relative float win itself", + "updated_at": "2024-02-01T08:17:35Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/26774", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", diff --git a/repositories/neovim/pulls/26786.json b/repositories/neovim/pulls/26786.json index 624d3a26..2753aca1 100644 --- a/repositories/neovim/pulls/26786.json +++ b/repositories/neovim/pulls/26786.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5142, - "forks_count": 5142, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1740, - "open_issues_count": 1740, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-16T01:33:17Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 247954, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 72793, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-16T01:52:35Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 72793, - "watchers_count": 72793, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "beca827212b106114c371f8bb61aa1a50810062f", @@ -5795,9 +5795,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/rudiejd/neovim/pulls{/number}", - "pushed_at": "2024-01-10T14:23:50Z", + "pushed_at": "2024-01-29T14:07:10Z", "releases_url": "https://api.github.com/repos/rudiejd/neovim/releases{/id}", - "size": 239641, + "size": 241452, "ssh_url": "git@github.com:rudiejd/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/rudiejd/neovim/stargazers", @@ -5845,7 +5845,7 @@ { "color": "c5def5", "default": false, - "description": null, + "description": "stdlib", "id": 573222693, "name": "lua", "node_id": "MDU6TGFiZWw1NzMyMjI2OTM=", @@ -5855,7 +5855,43 @@ "locked": false, "merge_commit_sha": "a767c046f4e6bff1412269d56a8edfe33857d954", "merged_at": "2024-01-11T02:57:51Z", - "milestone": null, + "milestone": { + "closed_at": null, + "closed_issues": 278, + "created_at": "2023-02-02T14:11:43Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + "description": "", + "due_on": "2024-03-01T08:00:00Z", + "html_url": "https://github.com/neovim/neovim/milestone/36", + "id": 8997654, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", + "node_id": "MI_kwDOAPphoM4AiUsW", + "number": 36, + "open_issues": 138, + "state": "open", + "title": "0.10", + "updated_at": "2024-02-05T21:59:25Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/36" + }, "node_id": "PR_kwDOAPphoM5i6ObF", "number": 26786, "patch_url": "https://github.com/neovim/neovim/pull/26786.patch", @@ -5866,7 +5902,7 @@ "state": "closed", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/02e70dfd1b6fb5bd3f10180f2868b63c0823b5d1", "title": "feat(vim.iter): flattening for list-like iterators ", - "updated_at": "2024-01-11T02:58:06Z", + "updated_at": "2024-02-04T08:00:45Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/26786", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/46619169?v=4", diff --git a/repositories/neovim/pulls/26790.json b/repositories/neovim/pulls/26790.json index 4261e0fd..a4aff26d 100644 --- a/repositories/neovim/pulls/26790.json +++ b/repositories/neovim/pulls/26790.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/26790" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf" + "href": "https://api.github.com/repos/neovim/neovim/statuses/957232277477cf20c6e6020f0b17623d21454350" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5174, - "forks_count": 5174, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1735, - "open_issues_count": 1735, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-30T00:09:25Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251558, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 73268, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-30T01:30:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 73268, - "watchers_count": 73268, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, - "sha": "e35ae6fbc2ef47a7be1a787031072ba911f7e918", + "sha": "4ffc20c9515294481486e81271a8edeeff203140", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -186,7 +186,7 @@ }, "author_association": "MEMBER", "body": "Better name these `startuptime_init()` and `startuptime_finish()`", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2023-12-30T13:14:53Z", "diff_hunk": "@@ -943,3 +943,43 @@ void time_msg(const char *mesg, const proftime_T *start)\n g_prev_time = now;\n fprintf(time_fd, \": %s\\n\", mesg);\n }\n+\n+/// Initializes the time time_fd stream used to write startup times\n+///\n+/// @param startup_time_file the startuptime report file path\n+/// @param process_name the name of the current process to write in the report. Example: \"Main\" or \"TUI\"\n+void time_init(const char *startup_time_file, const char *process_name)", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1438595935", @@ -254,7 +254,7 @@ }, "author_association": "MEMBER", "body": "Update: I didn't realize there are already many other functions with `time_` prefix. Maybe `time_` prefix is fine then. (although not straightforward enough)", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2023-12-31T01:44:25Z", "diff_hunk": "@@ -943,3 +943,43 @@ void time_msg(const char *mesg, const proftime_T *start)\n g_prev_time = now;\n fprintf(time_fd, \": %s\\n\", mesg);\n }\n+\n+/// Initializes the time time_fd stream used to write startup times\n+///\n+/// @param startup_time_file the startuptime report file path\n+/// @param process_name the name of the current process to write in the report. Example: \"Main\" or \"TUI\"\n+void time_init(const char *startup_time_file, const char *process_name)", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1438773586", @@ -323,7 +323,7 @@ }, "author_association": "CONTRIBUTOR", "body": "yeah, I agree. Just reverted.", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2023-12-31T10:03:39Z", "diff_hunk": "@@ -943,3 +943,43 @@ void time_msg(const char *mesg, const proftime_T *start)\n g_prev_time = now;\n fprintf(time_fd, \": %s\\n\", mesg);\n }\n+\n+/// Initializes the time time_fd stream used to write startup times\n+///\n+/// @param startup_time_file the startuptime report file path\n+/// @param process_name the name of the current process to write in the report. Example: \"Main\" or \"TUI\"\n+void time_init(const char *startup_time_file, const char *process_name)", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1438857634", @@ -392,7 +392,7 @@ }, "author_association": "MEMBER", "body": "This will recognize a headless instance as the TUI process.", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-16T00:40:16Z", "diff_hunk": "@@ -1494,9 +1498,18 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ // check if we are currently running as the tui or the main process\n+ // the main process is always called with the --embed flag\n+ bool is_main_process = false;\n+ for (int i = 1; i < paramp->argc - 1; i++) {\n+ if (STRICMP(paramp->argv[i], \"--embed\") == 0) {\n+ is_main_process = true;\n+ break;\n+ }\n+ }", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1452823297", @@ -460,7 +460,7 @@ }, "author_association": "MEMBER", "body": "Meanwhile it's hard to decide whether Nvim will be launched in headless mode without parsing arguments, so maybe it's necessary to parse arguments earlier?", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-16T02:31:53Z", "diff_hunk": "@@ -1494,9 +1498,18 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ // check if we are currently running as the tui or the main process\n+ // the main process is always called with the --embed flag\n+ bool is_main_process = false;\n+ for (int i = 1; i < paramp->argc - 1; i++) {\n+ if (STRICMP(paramp->argv[i], \"--embed\") == 0) {\n+ is_main_process = true;\n+ break;\n+ }\n+ }", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1452866902", @@ -529,7 +529,7 @@ }, "author_association": "CONTRIBUTOR", "body": "good point. Can't we just explicitly search for the `--headless` option here?\r\n\r\n```\r\nbool is_main_process = hasFlagBeenSet(\"--headless\") || hasFlagBeedSet(\"--embed\");\r\n```", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-17T20:35:36Z", "diff_hunk": "@@ -1494,9 +1498,18 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ // check if we are currently running as the tui or the main process\n+ // the main process is always called with the --embed flag\n+ bool is_main_process = false;\n+ for (int i = 1; i < paramp->argc - 1; i++) {\n+ if (STRICMP(paramp->argv[i], \"--embed\") == 0) {\n+ is_main_process = true;\n+ break;\n+ }\n+ }", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1456450903", @@ -598,7 +598,7 @@ }, "author_association": "MEMBER", "body": "No, there are other flags that imply headless mode.", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-17T22:32:53Z", "diff_hunk": "@@ -1494,9 +1498,18 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ // check if we are currently running as the tui or the main process\n+ // the main process is always called with the --embed flag\n+ bool is_main_process = false;\n+ for (int i = 1; i < paramp->argc - 1; i++) {\n+ if (STRICMP(paramp->argv[i], \"--embed\") == 0) {\n+ is_main_process = true;\n+ break;\n+ }\n+ }", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1456571886", @@ -667,7 +667,7 @@ }, "author_association": "CONTRIBUTOR", "body": "In that case the easiest solution would probably be to rename the process in the report to something like \"Primary/TUI\". In that case in case of headless mode this will be the primary process, otherwise its the TUI process.", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-19T19:26:36Z", "diff_hunk": "@@ -1494,9 +1498,18 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ // check if we are currently running as the tui or the main process\n+ // the main process is always called with the --embed flag\n+ bool is_main_process = false;\n+ for (int i = 1; i < paramp->argc - 1; i++) {\n+ if (STRICMP(paramp->argv[i], \"--embed\") == 0) {\n+ is_main_process = true;\n+ break;\n+ }\n+ }", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1459611151", @@ -736,7 +736,7 @@ }, "author_association": "MEMBER", "body": "Then the variable should be called `is_embedded_process` instead of `is_main_process`.", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-20T01:14:15Z", "diff_hunk": "@@ -1494,9 +1498,18 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ // check if we are currently running as the tui or the main process\n+ // the main process is always called with the --embed flag\n+ bool is_main_process = false;\n+ for (int i = 1; i < paramp->argc - 1; i++) {\n+ if (STRICMP(paramp->argv[i], \"--embed\") == 0) {\n+ is_main_process = true;\n+ break;\n+ }\n+ }", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1460112981", @@ -805,7 +805,7 @@ }, "author_association": "CONTRIBUTOR", "body": "yes, agree with you", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-20T09:16:21Z", "diff_hunk": "@@ -1494,9 +1498,18 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ // check if we are currently running as the tui or the main process\n+ // the main process is always called with the --embed flag\n+ bool is_main_process = false;\n+ for (int i = 1; i < paramp->argc - 1; i++) {\n+ if (STRICMP(paramp->argv[i], \"--embed\") == 0) {\n+ is_main_process = true;\n+ break;\n+ }\n+ }", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1460317795", @@ -874,7 +874,7 @@ }, "author_association": "MEMBER", "body": "It's \"embedded\", not \"embeded\"", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-20T09:56:06Z", "diff_hunk": "@@ -1494,9 +1498,18 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ // check if we are currently running as the tui or the main process\n+ // the main process is always called with the --embed flag\n+ bool is_main_process = false;\n+ for (int i = 1; i < paramp->argc - 1; i++) {\n+ if (STRICMP(paramp->argv[i], \"--embed\") == 0) {\n+ is_main_process = true;\n+ break;\n+ }\n+ }", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1460338481", @@ -943,7 +943,7 @@ }, "author_association": "CONTRIBUTOR", "body": "oops, english is hard ;)", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-20T12:40:04Z", "diff_hunk": "@@ -1494,9 +1498,18 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ // check if we are currently running as the tui or the main process\n+ // the main process is always called with the --embed flag\n+ bool is_main_process = false;\n+ for (int i = 1; i < paramp->argc - 1; i++) {\n+ if (STRICMP(paramp->argv[i], \"--embed\") == 0) {\n+ is_main_process = true;\n+ break;\n+ }\n+ }", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1460418374", @@ -1012,7 +1012,7 @@ }, "author_association": "MEMBER", "body": "I think this comment can just be deleted. It's quite obvious what the code does.", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-20T12:53:49Z", "diff_hunk": "@@ -1494,9 +1498,18 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ // check if we are currently running as the tui or the main process\n+ // the main process is always called with the --embed flag", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1460424525", @@ -1080,7 +1080,7 @@ }, "author_association": "MEMBER", "body": "This comment now also needs change.", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-20T12:54:11Z", "diff_hunk": "@@ -944,3 +944,43 @@ void time_msg(const char *mesg, const proftime_T *start)\n g_prev_time = now;\n fprintf(time_fd, \": %s\\n\", mesg);\n }\n+\n+/// Initializes the time time_fd stream used to write startup times\n+///\n+/// @param startup_time_file the startuptime report file path\n+/// @param process_name the name of the current process to write in the report. Example: \"Main\" or \"TUI\"", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1460424739", @@ -1148,7 +1148,7 @@ }, "author_association": "CONTRIBUTOR", "body": "done", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-21T16:18:09Z", "diff_hunk": "@@ -1494,9 +1498,18 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ // check if we are currently running as the tui or the main process\n+ // the main process is always called with the --embed flag", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1460972610", @@ -1217,7 +1217,7 @@ }, "author_association": "CONTRIBUTOR", "body": "done", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-21T16:19:26Z", "diff_hunk": "@@ -944,3 +944,43 @@ void time_msg(const char *mesg, const proftime_T *start)\n g_prev_time = now;\n fprintf(time_fd, \": %s\\n\", mesg);\n }\n+\n+/// Initializes the time time_fd stream used to write startup times\n+///\n+/// @param startup_time_file the startuptime report file path\n+/// @param process_name the name of the current process to write in the report. Example: \"Main\" or \"TUI\"", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1460973272", @@ -1286,7 +1286,7 @@ }, "author_association": "MEMBER", "body": "Avoid unnecessary entropy. The option is named `--startuptime`.\r\n```suggestion\r\nEXTERN char *startuptime_buf INIT(= NULL); // --startuptime buffer\r\n```", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-21T21:38:14Z", "diff_hunk": "@@ -977,6 +977,8 @@ EXTERN const char bot_top_msg[] INIT(= N_(\"search hit BOTTOM, continuing at TOP\"\n EXTERN const char line_msg[] INIT(= N_(\" line \"));\n \n EXTERN FILE *time_fd INIT(= NULL); // where to write startup timing\n+#define STARTUP_TIME_BUF_SIZE 8192\n+EXTERN char *startup_time_buf INIT(= NULL); // startup timing buffer", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1461147772", @@ -1354,7 +1354,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n• |--startuptime| reports the startup times for both processes (TUI + server) as separate sections.\r\n```", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-21T21:38:36Z", "diff_hunk": "@@ -393,6 +393,8 @@ The following changes to existing APIs or features add new behavior.\n • |:checkhealth| buffer can now be opened in a split window using modifiers like\n |:vertical|, |:horizontal| and |:botright|.\n \n+• `--startuptime` now reports the startup times per process individually.", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1461148014", @@ -1422,7 +1422,7 @@ }, "author_association": "MEMBER", "body": "`init_startuptime` is called after `init_params`. Can you use the existing `embedded_mode` instead of re-scanning the args?", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-21T21:41:44Z", "diff_hunk": "@@ -1494,9 +1498,16 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ bool is_embedded_process = false;\n+ for (int i = 1; i < paramp->argc - 1; i++) {\n+ if (STRICMP(paramp->argv[i], \"--embed\") == 0) {\n+ is_embedded_process = true;", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1461149911", @@ -1490,7 +1490,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n time_init(paramp->argv[i + 1], embedded_mode ? \"Embedded\" : \"Primary/TUI\");\r\n```", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-21T21:42:05Z", "diff_hunk": "@@ -1494,9 +1498,16 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ bool is_embedded_process = false;\n+ for (int i = 1; i < paramp->argc - 1; i++) {\n+ if (STRICMP(paramp->argv[i], \"--embed\") == 0) {\n+ is_embedded_process = true;\n+ break;\n+ }\n+ }\n for (int i = 1; i < paramp->argc - 1; i++) {\n if (STRICMP(paramp->argv[i], \"--startuptime\") == 0) {\n- time_fd = fopen(paramp->argv[i + 1], \"a\");\n+ time_init(paramp->argv[i + 1], is_embedded_process ? \"Embedded\" : \"Primary/TUI\");", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1461150141", @@ -1558,7 +1558,7 @@ }, "author_association": "MEMBER", "body": "Is there any more insight (in the code comment) that can be given in the comment here about how `setvbuf` is being leveraged? It's somewhat subtle (and not common in the codebase).", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-21T21:44:40Z", "diff_hunk": "@@ -944,3 +944,43 @@ void time_msg(const char *mesg, const proftime_T *start)\n g_prev_time = now;\n fprintf(time_fd, \": %s\\n\", mesg);\n }\n+\n+/// Initializes the time time_fd stream used to write startup times\n+///\n+/// @param startup_time_file the startuptime report file path\n+/// @param process_name the name of the current process to write in the report.\n+void time_init(const char *startup_time_file, const char *process_name)\n+{\n+ time_fd = fopen(startup_time_file, \"a\");\n+ if (time_fd == NULL) {\n+ semsg(_(e_notopen), startup_time_file);\n+ return;\n+ }\n+ startup_time_buf = xmalloc(sizeof(char) * (STARTUP_TIME_BUF_SIZE + 1));\n+ // set a large buffer so that flushing only happens after initialization\n+ if (setvbuf(time_fd, startup_time_buf, _IOFBF, STARTUP_TIME_BUF_SIZE + 1) != 0) {", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1461151431", @@ -1626,7 +1626,7 @@ }, "author_association": "MEMBER", "body": "might as well move this into `time_finish` also? But leave the comment lines here.", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-21T21:49:18Z", "diff_hunk": "@@ -1455,9 +1455,7 @@ static int normal_check(VimState *state)\n // has been done, close any file for startup messages.\n if (time_fd != NULL) {\n TIME_MSG(\"first screen update\");", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1461156240", @@ -1694,7 +1694,7 @@ }, "author_association": "CONTRIBUTOR", "body": "just for my own understanding, `|foo|` is a link to the help, right? How can I know when I need to use `|foo|`? ", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-22T21:33:11Z", "diff_hunk": "@@ -393,6 +393,8 @@ The following changes to existing APIs or features add new behavior.\n • |:checkhealth| buffer can now be opened in a split window using modifiers like\n |:vertical|, |:horizontal| and |:botright|.\n \n+• `--startuptime` now reports the startup times per process individually.", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1462447386", @@ -1763,7 +1763,7 @@ }, "author_association": "CONTRIBUTOR", "body": "maybe I'm confused but `init_params` just initializes the `paramp` struct to default values and doesn't actually parse anything.\r\n\r\n```\r\nstatic void init_params(mparm_T *paramp, int argc, char **argv)\r\n{\r\n CLEAR_POINTER(paramp);\r\n paramp->argc = argc;\r\n paramp->argv = argv;\r\n paramp->use_debug_break_level = -1;\r\n paramp->window_count = -1;\r\n paramp->listen_addr = NULL;\r\n paramp->server_addr = NULL;\r\n paramp->remote = 0;\r\n paramp->luaf = NULL;\r\n paramp->lua_arg0 = -1;\r\n}\r\n```\r\nhttps://github.com/pabloariasal/neovim/blob/fix_startup_time/src/nvim/main.c#L1484", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-23T18:27:18Z", "diff_hunk": "@@ -1494,9 +1498,16 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ bool is_embedded_process = false;\n+ for (int i = 1; i < paramp->argc - 1; i++) {\n+ if (STRICMP(paramp->argv[i], \"--embed\") == 0) {\n+ is_embedded_process = true;", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1463781471", @@ -1832,7 +1832,7 @@ }, "author_association": "MEMBER", "body": "Ah sorry I was thinking of `command_line_scan`. \r\n\r\nI guess we can't move this down, since the profiling needs to start here. We could set `embedded_mode` here and remove the duplicate logic from `command_line_scan` ... not sure if that helps anything. \r\n\r\nCan leave this as-is for now.", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-23T18:32:49Z", "diff_hunk": "@@ -1494,9 +1498,16 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ bool is_embedded_process = false;\n+ for (int i = 1; i < paramp->argc - 1; i++) {\n+ if (STRICMP(paramp->argv[i], \"--embed\") == 0) {\n+ is_embedded_process = true;", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1463802573", @@ -1901,7 +1901,7 @@ }, "author_association": "MEMBER", "body": "Is \"primary\" used anywhere else? Don't think that will help anyone by introducing extra jargon.\r\n```suggestion\r\n time_init(paramp->argv[i + 1], embedded_mode ? \"Embedded/server\" : \"TUI/client\");\r\n```", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-23T18:33:44Z", "diff_hunk": "@@ -1494,9 +1498,16 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ bool is_embedded_process = false;\n+ for (int i = 1; i < paramp->argc - 1; i++) {\n+ if (STRICMP(paramp->argv[i], \"--embed\") == 0) {\n+ is_embedded_process = true;\n+ break;\n+ }\n+ }\n for (int i = 1; i < paramp->argc - 1; i++) {\n if (STRICMP(paramp->argv[i], \"--startuptime\") == 0) {\n- time_fd = fopen(paramp->argv[i + 1], \"a\");\n+ time_init(paramp->argv[i + 1], embedded_mode ? \"Embedded\" : \"Primary/TUI\");", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1463804653", @@ -1969,7 +1969,7 @@ }, "author_association": "MEMBER", "body": "the help docs give lots of examples :) \r\n\r\nuse `|tag|` whenever there is a `*tag*` defined somewhere.", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-23T18:35:37Z", "diff_hunk": "@@ -393,6 +393,8 @@ The following changes to existing APIs or features add new behavior.\n • |:checkhealth| buffer can now be opened in a split window using modifiers like\n |:vertical|, |:horizontal| and |:botright|.\n \n+• `--startuptime` now reports the startup times per process individually.", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1463809292", @@ -2038,7 +2038,7 @@ }, "author_association": "CONTRIBUTOR", "body": "yes, I was very unsure on how to call the processes in the report. My first approach was to name \"TUI\" the client process and \"Main\" the server, however @zeertzjq correctly realized that the name \"TUI\" breaks the moment nvim is invoked in headless mode. That's why I started to think in more general terms like, \"primary\" or \"secondary\" process, to account for the headless scenario.", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-23T18:58:15Z", "diff_hunk": "@@ -1494,9 +1498,16 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ bool is_embedded_process = false;\n+ for (int i = 1; i < paramp->argc - 1; i++) {\n+ if (STRICMP(paramp->argv[i], \"--embed\") == 0) {\n+ is_embedded_process = true;\n+ break;\n+ }\n+ }\n for (int i = 1; i < paramp->argc - 1; i++) {\n if (STRICMP(paramp->argv[i], \"--startuptime\") == 0) {\n- time_fd = fopen(paramp->argv[i + 1], \"a\");\n+ time_init(paramp->argv[i + 1], embedded_mode ? \"Embedded\" : \"Primary/TUI\");", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1463850317", @@ -2107,7 +2107,7 @@ }, "author_association": "CONTRIBUTOR", "body": "tried to give more information in the comment", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-23T19:33:25Z", "diff_hunk": "@@ -944,3 +944,43 @@ void time_msg(const char *mesg, const proftime_T *start)\n g_prev_time = now;\n fprintf(time_fd, \": %s\\n\", mesg);\n }\n+\n+/// Initializes the time time_fd stream used to write startup times\n+///\n+/// @param startup_time_file the startuptime report file path\n+/// @param process_name the name of the current process to write in the report.\n+void time_init(const char *startup_time_file, const char *process_name)\n+{\n+ time_fd = fopen(startup_time_file, \"a\");\n+ if (time_fd == NULL) {\n+ semsg(_(e_notopen), startup_time_file);\n+ return;\n+ }\n+ startup_time_buf = xmalloc(sizeof(char) * (STARTUP_TIME_BUF_SIZE + 1));\n+ // set a large buffer so that flushing only happens after initialization\n+ if (setvbuf(time_fd, startup_time_buf, _IOFBF, STARTUP_TIME_BUF_SIZE + 1) != 0) {", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1463897555", @@ -2176,7 +2176,7 @@ }, "author_association": "MEMBER", "body": "`TUI/client` addresses that edge-case.", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-26T23:59:39Z", "diff_hunk": "@@ -1494,9 +1498,16 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ bool is_embedded_process = false;\n+ for (int i = 1; i < paramp->argc - 1; i++) {\n+ if (STRICMP(paramp->argv[i], \"--embed\") == 0) {\n+ is_embedded_process = true;\n+ break;\n+ }\n+ }\n for (int i = 1; i < paramp->argc - 1; i++) {\n if (STRICMP(paramp->argv[i], \"--startuptime\") == 0) {\n- time_fd = fopen(paramp->argv[i + 1], \"a\");\n+ time_init(paramp->argv[i + 1], embedded_mode ? \"Embedded\" : \"Primary/TUI\");", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1468248707", @@ -2245,7 +2245,7 @@ }, "author_association": "MEMBER", "body": "variables in small scopes really don't need such verbose names.\r\n```suggestion\r\n bool is_embed = false;\r\n```", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-27T00:02:00Z", "diff_hunk": "@@ -1494,9 +1498,16 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ bool is_embedded_process = false;", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1468249424", @@ -2313,7 +2313,7 @@ }, "author_association": "MEMBER", "body": "I don't think it's \"client\" as headless instance are usually servers.", - "commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", "created_at": "2024-01-27T00:34:24Z", "diff_hunk": "@@ -1494,9 +1498,16 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ bool is_embedded_process = false;\n+ for (int i = 1; i < paramp->argc - 1; i++) {\n+ if (STRICMP(paramp->argv[i], \"--embed\") == 0) {\n+ is_embedded_process = true;\n+ break;\n+ }\n+ }\n for (int i = 1; i < paramp->argc - 1; i++) {\n if (STRICMP(paramp->argv[i], \"--startuptime\") == 0) {\n- time_fd = fopen(paramp->argv[i + 1], \"a\");\n+ time_init(paramp->argv[i + 1], embedded_mode ? \"Embedded\" : \"Primary/TUI\");", "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1468259927", @@ -2367,6 +2367,486 @@ "type": "User", "url": "https://api.github.com/users/zeertzjq" } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26790#discussion_r1471226436" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26790" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471226436" + } + }, + "author_association": "MEMBER", + "body": "True. I retract my request in that case. The old code LGTM:\r\n\r\n time_init(paramp->argv[i + 1], is_embed ? \"Embedded\" : \"Primary/TUI\");", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", + "created_at": "2024-01-30T13:35:12Z", + "diff_hunk": "@@ -1494,9 +1498,16 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ bool is_embedded_process = false;\n+ for (int i = 1; i < paramp->argc - 1; i++) {\n+ if (STRICMP(paramp->argv[i], \"--embed\") == 0) {\n+ is_embedded_process = true;\n+ break;\n+ }\n+ }\n for (int i = 1; i < paramp->argc - 1; i++) {\n if (STRICMP(paramp->argv[i], \"--startuptime\") == 0) {\n- time_fd = fopen(paramp->argv[i + 1], \"a\");\n+ time_init(paramp->argv[i + 1], embedded_mode ? \"Embedded\" : \"Primary/TUI\");", + "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1471226436", + "id": 1471226436, + "in_reply_to_id": 1463804653, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XsSJE", + "original_commit_id": "6c8741e65d6f72c6ee259abc3165e14302f93715", + "original_line": 1510, + "original_position": 32, + "original_start_line": null, + "path": "src/nvim/main.c", + "position": null, + "pull_request_review_id": 1851292232, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26790", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471226436/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-30T13:35:45Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471226436", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26790#discussion_r1471243470" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26790" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471243470" + } + }, + "author_association": "MEMBER", + "body": "- correct punctuation in code comments, reduces ambiguity and increases consistency, at negligible cost.\r\n- there were typos and the comment was verbose, so I condensed it (without losing information).\r\n\r\nplease consider these guidelines in the future.\r\n\r\n```suggestion\r\n // The startuptime file is (potentially) written by multiple nvim processes concurrently. So\r\n // startuptime info is buffered, and flushed to disk only after startup completed. To achieve that\r\n // we set a buffer big enough to store all startup times. The `_IOFBF` mode ensures the buffer is\r\n // not auto-flushed (\"controlled buffering\").\r\n```\r\n", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", + "created_at": "2024-01-30T13:45:48Z", + "diff_hunk": "@@ -944,3 +944,50 @@ void time_msg(const char *mesg, const proftime_T *start)\n g_prev_time = now;\n fprintf(time_fd, \": %s\\n\", mesg);\n }\n+\n+/// Initializes the time time_fd stream used to write startup times\n+///\n+/// @param startup_time_file the startuptime report file path\n+/// @param process_name the name of the current process to write in the report.\n+void time_init(const char *startup_time_file, const char *process_name)\n+{\n+ time_fd = fopen(startup_time_file, \"a\");\n+ if (time_fd == NULL) {\n+ semsg(_(e_notopen), startup_time_file);\n+ return;\n+ }\n+ startuptime_buf = xmalloc(sizeof(char) * (STARTUP_TIME_BUF_SIZE + 1));\n+ // the startuptime file is (potentially) bein written by several nvim processes concurrently.\n+ // in order to avoid messing up the file with concurrent writes all startuptimes are written\n+ // to a memory buffer first and flushed to disk only after the process is done with the\n+ // is done with the initialization.\n+ // in order to achieve this we set a large-enough buffer to the file stream, big enough to store\n+ // all startup times. The _IOFBF mode makes sure that the buffer is not automatically flushed\n+ // (\"controlled buffering\").", + "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1471243470", + "id": 1471243470, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XsWTO", + "original_commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "original_line": 966, + "original_position": 32, + "original_start_line": 960, + "path": "src/nvim/profile.c", + "position": null, + "pull_request_review_id": 1851317298, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26790", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471243470/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-30T13:45:48Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471243470", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26790#discussion_r1471259969" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26790" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471259969" + } + }, + "author_association": "MEMBER", + "body": "untested but should work:\r\n\r\n```suggestion\r\n int r = setvbuf(time_fd, startuptime_buf, _IOFBF, STARTUP_TIME_BUF_SIZE + 1);\r\n if (r != 0) {\r\n xfree(startuptime_buf);\r\n fclose(time_fd);\r\n time_fd = NULL;\r\n // Might as well ELOG also I guess.\r\n ELOG(\"time_init: setvbuf failed: %d %s\", r, uv_err_name(r));\r\n semsg(\"time_init: setvbuf failed: %d %s\", r, uv_err_name(r));\r\n return;\r\n```\r\n\r\n", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", + "created_at": "2024-01-30T13:54:36Z", + "diff_hunk": "@@ -944,3 +944,50 @@ void time_msg(const char *mesg, const proftime_T *start)\n g_prev_time = now;\n fprintf(time_fd, \": %s\\n\", mesg);\n }\n+\n+/// Initializes the time time_fd stream used to write startup times\n+///\n+/// @param startup_time_file the startuptime report file path\n+/// @param process_name the name of the current process to write in the report.\n+void time_init(const char *startup_time_file, const char *process_name)\n+{\n+ time_fd = fopen(startup_time_file, \"a\");\n+ if (time_fd == NULL) {\n+ semsg(_(e_notopen), startup_time_file);\n+ return;\n+ }\n+ startuptime_buf = xmalloc(sizeof(char) * (STARTUP_TIME_BUF_SIZE + 1));\n+ // the startuptime file is (potentially) bein written by several nvim processes concurrently.\n+ // in order to avoid messing up the file with concurrent writes all startuptimes are written\n+ // to a memory buffer first and flushed to disk only after the process is done with the\n+ // is done with the initialization.\n+ // in order to achieve this we set a large-enough buffer to the file stream, big enough to store\n+ // all startup times. The _IOFBF mode makes sure that the buffer is not automatically flushed\n+ // (\"controlled buffering\").\n+ // The times are flushed to disk manually when \"time_finish\" is called.\n+ if (setvbuf(time_fd, startuptime_buf, _IOFBF, STARTUP_TIME_BUF_SIZE + 1) != 0) {\n+ xfree(startuptime_buf);\n+ fclose(time_fd);\n+ time_fd = NULL;\n+ semsg(\"Error initializing startup time\");\n+ return;", + "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1471259969", + "id": 1471259969, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XsaVB", + "original_commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "original_line": 973, + "original_position": 39, + "original_start_line": 968, + "path": "src/nvim/profile.c", + "position": null, + "pull_request_review_id": 1851340903, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26790", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471259969/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-30T13:54:36Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471259969", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26790#discussion_r1471262226" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26790" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471262226" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n XFREE_CLEAR(startuptime_buf);\r\n```", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", + "created_at": "2024-01-30T13:56:07Z", + "diff_hunk": "@@ -944,3 +944,50 @@ void time_msg(const char *mesg, const proftime_T *start)\n g_prev_time = now;\n fprintf(time_fd, \": %s\\n\", mesg);\n }\n+\n+/// Initializes the time time_fd stream used to write startup times\n+///\n+/// @param startup_time_file the startuptime report file path\n+/// @param process_name the name of the current process to write in the report.\n+void time_init(const char *startup_time_file, const char *process_name)\n+{\n+ time_fd = fopen(startup_time_file, \"a\");\n+ if (time_fd == NULL) {\n+ semsg(_(e_notopen), startup_time_file);\n+ return;\n+ }\n+ startuptime_buf = xmalloc(sizeof(char) * (STARTUP_TIME_BUF_SIZE + 1));\n+ // the startuptime file is (potentially) bein written by several nvim processes concurrently.\n+ // in order to avoid messing up the file with concurrent writes all startuptimes are written\n+ // to a memory buffer first and flushed to disk only after the process is done with the\n+ // is done with the initialization.\n+ // in order to achieve this we set a large-enough buffer to the file stream, big enough to store\n+ // all startup times. The _IOFBF mode makes sure that the buffer is not automatically flushed\n+ // (\"controlled buffering\").\n+ // The times are flushed to disk manually when \"time_finish\" is called.\n+ if (setvbuf(time_fd, startuptime_buf, _IOFBF, STARTUP_TIME_BUF_SIZE + 1) != 0) {\n+ xfree(startuptime_buf);\n+ fclose(time_fd);\n+ time_fd = NULL;\n+ semsg(\"Error initializing startup time\");\n+ return;\n+ }\n+ fprintf(time_fd, \"--- Startup times for process: %s ---\\n\", process_name);\n+}\n+\n+/// Flushes the startuptimes to disk for the current process\n+void time_finish(void)\n+{\n+ if (time_fd == NULL) {\n+ return;\n+ }\n+ assert(startuptime_buf != NULL);\n+ TIME_MSG(\"--- NVIM STARTED ---\\n\");\n+\n+ // flush buffer to disk\n+ fclose(time_fd);\n+ time_fd = NULL;\n+\n+ xfree(startuptime_buf);\n+ startuptime_buf = NULL;", + "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1471262226", + "id": 1471262226, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xsa4S", + "original_commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "original_line": 992, + "original_position": 58, + "original_start_line": 991, + "path": "src/nvim/profile.c", + "position": null, + "pull_request_review_id": 1851344270, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26790", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471262226/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-30T13:56:07Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471262226", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26790#discussion_r1471795272" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26790" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471795272" + } + }, + "author_association": "CONTRIBUTOR", + "body": "changed", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", + "created_at": "2024-01-30T18:58:53Z", + "diff_hunk": "@@ -1494,9 +1498,16 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ bool is_embedded_process = false;\n+ for (int i = 1; i < paramp->argc - 1; i++) {\n+ if (STRICMP(paramp->argv[i], \"--embed\") == 0) {\n+ is_embedded_process = true;\n+ break;\n+ }\n+ }\n for (int i = 1; i < paramp->argc - 1; i++) {\n if (STRICMP(paramp->argv[i], \"--startuptime\") == 0) {\n- time_fd = fopen(paramp->argv[i + 1], \"a\");\n+ time_init(paramp->argv[i + 1], embedded_mode ? \"Embedded\" : \"Primary/TUI\");", + "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1471795272", + "id": 1471795272, + "in_reply_to_id": 1463804653, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XudBI", + "original_commit_id": "6c8741e65d6f72c6ee259abc3165e14302f93715", + "original_line": 1510, + "original_position": 32, + "original_start_line": null, + "path": "src/nvim/main.c", + "position": null, + "pull_request_review_id": 1852120397, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26790", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471795272/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-30T18:58:53Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471795272", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/20794509?v=4", + "events_url": "https://api.github.com/users/pabloariasal/events{/privacy}", + "followers_url": "https://api.github.com/users/pabloariasal/followers", + "following_url": "https://api.github.com/users/pabloariasal/following{/other_user}", + "gists_url": "https://api.github.com/users/pabloariasal/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/pabloariasal", + "id": 20794509, + "login": "pabloariasal", + "node_id": "MDQ6VXNlcjIwNzk0NTA5", + "organizations_url": "https://api.github.com/users/pabloariasal/orgs", + "received_events_url": "https://api.github.com/users/pabloariasal/received_events", + "repos_url": "https://api.github.com/users/pabloariasal/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/pabloariasal/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/pabloariasal/subscriptions", + "type": "User", + "url": "https://api.github.com/users/pabloariasal" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26790#discussion_r1471795442" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26790" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471795442" + } + }, + "author_association": "CONTRIBUTOR", + "body": "changed", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", + "created_at": "2024-01-30T18:58:59Z", + "diff_hunk": "@@ -1494,9 +1498,16 @@ static void init_params(mparm_T *paramp, int argc, char **argv)\n /// Initialize global startuptime file if \"--startuptime\" passed as an argument.\n static void init_startuptime(mparm_T *paramp)\n {\n+ bool is_embedded_process = false;", + "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1471795442", + "id": 1471795442, + "in_reply_to_id": 1468249424, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XudDy", + "original_commit_id": "a99be151985901300b89b36c10fa04727706f0a5", + "original_line": 1501, + "original_position": 22, + "original_start_line": null, + "path": "src/nvim/main.c", + "position": null, + "pull_request_review_id": 1852120791, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26790", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471795442/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-30T18:58:59Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471795442", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/20794509?v=4", + "events_url": "https://api.github.com/users/pabloariasal/events{/privacy}", + "followers_url": "https://api.github.com/users/pabloariasal/followers", + "following_url": "https://api.github.com/users/pabloariasal/following{/other_user}", + "gists_url": "https://api.github.com/users/pabloariasal/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/pabloariasal", + "id": 20794509, + "login": "pabloariasal", + "node_id": "MDQ6VXNlcjIwNzk0NTA5", + "organizations_url": "https://api.github.com/users/pabloariasal/orgs", + "received_events_url": "https://api.github.com/users/pabloariasal/received_events", + "repos_url": "https://api.github.com/users/pabloariasal/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/pabloariasal/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/pabloariasal/subscriptions", + "type": "User", + "url": "https://api.github.com/users/pabloariasal" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26790#discussion_r1471796544" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26790" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471796544" + } + }, + "author_association": "CONTRIBUTOR", + "body": "done", + "commit_id": "957232277477cf20c6e6020f0b17623d21454350", + "created_at": "2024-01-30T18:59:46Z", + "diff_hunk": "@@ -944,3 +944,50 @@ void time_msg(const char *mesg, const proftime_T *start)\n g_prev_time = now;\n fprintf(time_fd, \": %s\\n\", mesg);\n }\n+\n+/// Initializes the time time_fd stream used to write startup times\n+///\n+/// @param startup_time_file the startuptime report file path\n+/// @param process_name the name of the current process to write in the report.\n+void time_init(const char *startup_time_file, const char *process_name)\n+{\n+ time_fd = fopen(startup_time_file, \"a\");\n+ if (time_fd == NULL) {\n+ semsg(_(e_notopen), startup_time_file);\n+ return;\n+ }\n+ startuptime_buf = xmalloc(sizeof(char) * (STARTUP_TIME_BUF_SIZE + 1));\n+ // the startuptime file is (potentially) bein written by several nvim processes concurrently.\n+ // in order to avoid messing up the file with concurrent writes all startuptimes are written\n+ // to a memory buffer first and flushed to disk only after the process is done with the\n+ // is done with the initialization.\n+ // in order to achieve this we set a large-enough buffer to the file stream, big enough to store\n+ // all startup times. The _IOFBF mode makes sure that the buffer is not automatically flushed\n+ // (\"controlled buffering\").", + "html_url": "https://github.com/neovim/neovim/pull/26790#discussion_r1471796544", + "id": 1471796544, + "in_reply_to_id": 1471243470, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XudVA", + "original_commit_id": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "original_line": 966, + "original_position": 32, + "original_start_line": 960, + "path": "src/nvim/profile.c", + "position": null, + "pull_request_review_id": 1852123120, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26790", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471796544/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-30T18:59:46Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471796544", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/20794509?v=4", + "events_url": "https://api.github.com/users/pabloariasal/events{/privacy}", + "followers_url": "https://api.github.com/users/pabloariasal/followers", + "following_url": "https://api.github.com/users/pabloariasal/following{/other_user}", + "gists_url": "https://api.github.com/users/pabloariasal/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/pabloariasal", + "id": 20794509, + "login": "pabloariasal", + "node_id": "MDQ6VXNlcjIwNzk0NTA5", + "organizations_url": "https://api.github.com/users/pabloariasal/orgs", + "received_events_url": "https://api.github.com/users/pabloariasal/received_events", + "repos_url": "https://api.github.com/users/pabloariasal/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/pabloariasal/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/pabloariasal/subscriptions", + "type": "User", + "url": "https://api.github.com/users/pabloariasal" + } } ], "comment_regular_data": [ @@ -2508,9 +2988,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/pabloariasal/neovim/pulls{/number}", - "pushed_at": "2024-01-27T11:24:37Z", + "pushed_at": "2024-01-30T19:38:19Z", "releases_url": "https://api.github.com/repos/pabloariasal/neovim/releases{/id}", - "size": 244873, + "size": 245243, "ssh_url": "git@github.com:pabloariasal/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/pabloariasal/neovim/stargazers", @@ -2529,7 +3009,7 @@ "watchers_count": 0, "web_commit_signoff_required": false }, - "sha": "f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "sha": "957232277477cf20c6e6020f0b17623d21454350", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/20794509?v=4", "events_url": "https://api.github.com/users/pabloariasal/events{/privacy}", @@ -2566,7 +3046,7 @@ } ], "locked": false, - "merge_commit_sha": "ab80ec2e3d60a7f120b95759b4b661351e55fdb5", + "merge_commit_sha": "c0fd1f4b22c410afaf9c7bfab02ee99bf07acfdc", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5i8B6b", @@ -2598,9 +3078,9 @@ "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/26790/comments", "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/f2201fadfb1c3be93dc01875bb7fbf8d2460fcdf", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/957232277477cf20c6e6020f0b17623d21454350", "title": "fix(startuptime): multiprocess startuptime", - "updated_at": "2024-01-27T11:24:39Z", + "updated_at": "2024-01-30T19:02:52Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/26790", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/20794509?v=4", diff --git a/repositories/neovim/pulls/26799.json b/repositories/neovim/pulls/26799.json index 7cfa2d4e..d0fe19f5 100644 --- a/repositories/neovim/pulls/26799.json +++ b/repositories/neovim/pulls/26799.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/26799" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/0b8768b38cd225595b3ed4d5c499611063fa8af3" + "href": "https://api.github.com/repos/neovim/neovim/statuses/81fdb5026a57169c5ed5188019819a9c3bf96316" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5156, - "forks_count": 5156, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1738, - "open_issues_count": 1738, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-23T01:27:16Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251208, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 72998, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-23T01:05:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 72998, - "watchers_count": 72998, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, - "sha": "1233ac467de7504b277425988ef9be7f8d3a9626", + "sha": "35ffe58ea4a32719e6776f7b6ef710299f78342a", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -169,7 +169,7 @@ "url": "https://api.github.com/users/neovim" } }, - "body": "Problem: we missing the option of vim `previewpopup`.\r\n\r\nSolution: implement `previewpopup` option but our float window not same as vim. so some available keys in `previewpopup` is different from vim.\r\n\r\nrelate comment https://github.com/neovim/neovim/issues/9663#issuecomment-1755914369\r\n\r\nFix #9920 ", + "body": "Problem: We are missing the option for Vim's `previewpopup`.\r\n\r\nSolution: Implement the `previewpopup` option. However, our floating window is different from Vim's, so some available keys in the `previewpopup` differ from Vim.\r\n\r\nrelate comment https://github.com/neovim/neovim/issues/9663#issuecomment-1755914369\r\n\r\nFix #9920 ", "closed_at": null, "comment_data": [ { @@ -186,31 +186,31 @@ }, "author_association": "MEMBER", "body": "parameter in here is wired. it's better make w_float_is_info to be receive flag. then use flag here. can refactor on https://github.com/neovim/neovim/pull/26739 .", - "commit_id": "0b8768b38cd225595b3ed4d5c499611063fa8af3", + "commit_id": "81fdb5026a57169c5ed5188019819a9c3bf96316", "created_at": "2023-12-30T04:15:57Z", "diff_hunk": "@@ -291,12 +296,138 @@ bool win_float_valid(const win_T *win)\n return false;\n }\n \n-win_T *win_float_find_preview(void)\n+static void parse_title(FloatConfig *fconfig, BorderTextType bt, char *str, size_t len)\n+{\n+ Error err = ERROR_INIT;\n+ if (bt == kBorderTextTitle) {\n+ fconfig->title = true;\n+ } else {\n+ fconfig->footer = true;\n+ }\n+ Object obj = OBJECT_INIT;\n+ obj.type = kObjectTypeString;\n+ char *data = xmemdupz(str, len);\n+ obj.data.string.data = xstrdup(data);\n+ obj.data.string.size = strlen(data);\n+ parse_bordertext(obj, bt, fconfig, &err);\n+ api_free_object(obj);\n+ xfree(data);\n+}\n+\n+static void parse_title_pos(FloatConfig *fconfig, BorderTextType bt, char *s, size_t len)\n+{\n+ int start = bt == kBorderTextTitle ? 10 : 11;\n+ Error err = ERROR_INIT;\n+ String str = {\n+ .data = xmemdupz(s + start, len),\n+ .size = len + 1,\n+ };\n+ parse_bordertext_pos(str, bt, fconfig, &err);\n+ api_free_string(str);\n+}\n+\n+/// used for parse completepopup and previewpopup options\n+int parse_float_option(FloatConfig *fconfig, int *border_adj, bool preview)\n+{\n+ char *p = p_pvp;\n+ Error err = ERROR_INIT;\n+\n+ for (; *p != NUL; p += (*p == ',' ? 1 : 0)) {\n+ char *e, *dig;\n+ char *s = p;\n+\n+ e = vim_strchr(p, ':');\n+ if (e == NULL || e[1] == NUL) {\n+ return FAIL;\n+ }\n+\n+ p = vim_strchr(e, ',');\n+ if (p == NULL) {\n+ p = e + strlen(e);\n+ }\n+ dig = e + 1;\n+\n+ if (strncmp(s, \"border:\", 7) == 0) {\n+ if ((s + 7)[0] != 'd' && (s + 7)[0] != 's' && (s + 7)[0] != 'r') {\n+ return FAIL;\n+ }\n+ Object style = OBJECT_INIT;\n+ size_t len = p ? (size_t)(p - s - 7) : (size_t)(s - 7);\n+ char *data = xmemdupz(s + 7, len);\n+ style.type = kObjectTypeString;\n+ style.data.string.data = xstrdup(data);\n+ style.data.string.size = strlen(data);\n+ parse_border_style(style, fconfig, &err);\n+ int border_attr = syn_name2attr(\"FloatBorder\");\n+ for (int i = 0; i < 8; i++) {\n+ fconfig->border_attr[i] = fconfig->border_hl_ids[i]\n+ ? hl_get_ui_attr(0, HLF_BORDER, fconfig->border_hl_ids[i], false)\n+ : border_attr;\n+ if (i < 4 && fconfig->border_chars[2 * i + 1][0]) {\n+ border_adj[i] = 1;\n+ }\n+ }\n+ api_free_object(style);\n+ xfree(data);\n+ } else if (strncmp(s, \"title:\", 6) == 0) {\n+ size_t len = p ? (size_t)(p - s - 6) : (size_t)(s - 6);\n+ parse_title(fconfig, kBorderTextTitle, s + 6, len);\n+ } else if (strncmp(s, \"title_pos:\", 10) == 0) {\n+ size_t len = p ? (size_t)(p - s - 10) : (size_t)(s - 10);\n+ parse_title_pos(fconfig, kBorderTextTitle, s, len);\n+ } else if (strncmp(s, \"footer:\", 7) == 0) {\n+ size_t len = p ? (size_t)(p - s - 7) : (size_t)(s - 7);\n+ parse_title(fconfig, kBorderTextFooter, s + 7, len);\n+ } else if (strncmp(s, \"footer_pos:\", 11) == 0) {\n+ size_t len = p ? (size_t)(p - s - 11) : (size_t)(s - 11);\n+ parse_title_pos(fconfig, kBorderTextFooter, s, len);\n+ } else if (preview && strncmp(s, \"height:\", 7) == 0) {\n+ fconfig->height = getdigits_int(&dig, false, 0);\n+ } else if (preview && strncmp(s, \"width:\", 6) == 0) {\n+ fconfig->width = getdigits_int(&dig, false, 0);\n+ } else if (preview && strncmp(s, \"style:\", 6) == 0) {\n+ if ((s + 6)[0] != 'm') {\n+ return FAIL;\n+ }\n+ fconfig->style = kWinStyleMinimal;\n+ } else {\n+ return FAIL;\n+ }\n+ }\n+\n+ return OK;\n+}\n+\n+win_T *win_float_find_preview(bool find_info)", "html_url": "https://github.com/neovim/neovim/pull/26799#discussion_r1438468271", "id": 1438468271, - "line": 400, + "line": 476, "node_id": "PRRC_kwDOAPphoM5VvUiv", "original_commit_id": "1f272c83afac10bcfe4bd7c964149390daeab0b1", - "original_line": 400, + "original_line": 476, "original_position": 138, "original_start_line": null, "path": "src/nvim/winfloat.c", - "position": 134, + "position": 210, "pull_request_review_id": 1799279315, "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26799", "reactions": { "+1": 0, "-1": 0, "confused": 0, - "eyes": 0, + "eyes": 1, "heart": 0, "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 0, + "total_count": 1, "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1438468271/reactions" }, "side": "RIGHT", @@ -241,7 +241,52 @@ } } ], - "comment_regular_data": [], + "comment_regular_data": [ + { + "author_association": "MEMBER", + "body": "ready for review", + "created_at": "2024-02-05T07:04:49Z", + "html_url": "https://github.com/neovim/neovim/pull/26799#issuecomment-1926346819", + "id": 1926346819, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26799", + "node_id": "IC_kwDOAPphoM5y0bhD", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 1, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926346819/reactions" + }, + "updated_at": "2024-02-05T07:04:49Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926346819", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + } + ], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/26799/comments", "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/26799/commits", "created_at": "2023-12-30T04:13:44Z", @@ -335,9 +380,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/glepnir/neovim/pulls{/number}", - "pushed_at": "2024-01-22T11:34:10Z", + "pushed_at": "2024-02-05T12:00:25Z", "releases_url": "https://api.github.com/repos/glepnir/neovim/releases{/id}", - "size": 247035, + "size": 248354, "ssh_url": "git@github.com:glepnir/neovim.git", "stargazers_count": 2, "stargazers_url": "https://api.github.com/repos/glepnir/neovim/stargazers", @@ -356,7 +401,7 @@ "watchers_count": 2, "web_commit_signoff_required": false }, - "sha": "0b8768b38cd225595b3ed4d5c499611063fa8af3", + "sha": "81fdb5026a57169c5ed5188019819a9c3bf96316", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", "events_url": "https://api.github.com/users/glepnir/events{/privacy}", @@ -393,61 +438,20 @@ } ], "locked": false, - "merge_commit_sha": "e5af941485c9341091e508b351c772aba78cb6c3", + "merge_commit_sha": "a73eb6024aa9543b8922be6bc1bfff6b9f2101b2", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5i9mLj", "number": 26799, "patch_url": "https://github.com/neovim/neovim/pull/26799.patch", - "requested_reviewers": [ - { - "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", - "events_url": "https://api.github.com/users/justinmk/events{/privacy}", - "followers_url": "https://api.github.com/users/justinmk/followers", - "following_url": "https://api.github.com/users/justinmk/following{/other_user}", - "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", - "gravatar_id": "", - "html_url": "https://github.com/justinmk", - "id": 1359421, - "login": "justinmk", - "node_id": "MDQ6VXNlcjEzNTk0MjE=", - "organizations_url": "https://api.github.com/users/justinmk/orgs", - "received_events_url": "https://api.github.com/users/justinmk/received_events", - "repos_url": "https://api.github.com/users/justinmk/repos", - "site_admin": false, - "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", - "type": "User", - "url": "https://api.github.com/users/justinmk" - }, - { - "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", - "events_url": "https://api.github.com/users/bfredl/events{/privacy}", - "followers_url": "https://api.github.com/users/bfredl/followers", - "following_url": "https://api.github.com/users/bfredl/following{/other_user}", - "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", - "gravatar_id": "", - "html_url": "https://github.com/bfredl", - "id": 1363104, - "login": "bfredl", - "node_id": "MDQ6VXNlcjEzNjMxMDQ=", - "organizations_url": "https://api.github.com/users/bfredl/orgs", - "received_events_url": "https://api.github.com/users/bfredl/received_events", - "repos_url": "https://api.github.com/users/bfredl/repos", - "site_admin": false, - "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", - "type": "User", - "url": "https://api.github.com/users/bfredl" - } - ], + "requested_reviewers": [], "requested_teams": [], "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/26799/comments", "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/0b8768b38cd225595b3ed4d5c499611063fa8af3", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/81fdb5026a57169c5ed5188019819a9c3bf96316", "title": "feat(float): add previewpopup option like vim", - "updated_at": "2024-01-22T11:34:12Z", + "updated_at": "2024-02-05T07:04:50Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/26799", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", diff --git a/repositories/neovim/pulls/26879.json b/repositories/neovim/pulls/26879.json index 7af59444..7127074e 100644 --- a/repositories/neovim/pulls/26879.json +++ b/repositories/neovim/pulls/26879.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/26879" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/ac5a2ebc636efc60b226e75a29a512fd802dbd4a" + "href": "https://api.github.com/repos/neovim/neovim/statuses/9a7e1641e1ef683407a31e6a67c7fa60eaab2c82" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5121, - "forks_count": 5121, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-09T01:46:05Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 248837, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 72546, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-09T01:49:06Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 72546, - "watchers_count": 72546, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, - "sha": "bdfea2a8919963dfe24052635883f0213cff83e8", + "sha": "35ffe58ea4a32719e6776f7b6ef710299f78342a", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -170,14 +170,672 @@ } }, "body": "Fixes #25896", - "closed_at": null, - "comment_data": [], - "comment_regular_data": [], + "closed_at": "2024-02-05T15:03:46Z", + "comment_data": [ + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26879#discussion_r1475342410" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26879" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475342410" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n feed('10')\r\n feed('')\r\n poke_eventloop()\r\n feed(',2')\r\n```", + "commit_id": "9a7e1641e1ef683407a31e6a67c7fa60eaab2c82", + "created_at": "2024-02-02T00:01:20Z", + "diff_hunk": "@@ -216,4 +216,15 @@ describe('vim.snippet', function()\n feed('foo')\n eq({ 'public function foo() {', '\\t', '}' }, buf_lines(0))\n end)\n+\n+ it('jumps through adjacent tabstops', function ()\n+ test_expand_success(\n+ { 'for i=1,${1:to}${2:,step} do\\n\\t$3\\nend' },\n+ { 'for i=1,to,step do', '\\t', 'end' })\n+ sleep(10)\n+ feed('10')\n+ feed('')\n+ feed(',2')", + "html_url": "https://github.com/neovim/neovim/pull/26879#discussion_r1475342410", + "id": 1475342410, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X7_BK", + "original_commit_id": "53f178810a9aff8664a54c7a6f5d86e31165da3f", + "original_line": 228, + "original_position": 12, + "original_start_line": 224, + "path": "test/functional/lua/snippet_spec.lua", + "position": null, + "pull_request_review_id": 1857958094, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26879", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475342410/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-02T00:51:39Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475342410", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26879#discussion_r1475362730" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26879" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475362730" + } + }, + "author_association": "MEMBER", + "body": "Could you please explain the difference between `sleep` and `poke_eventloop`?", + "commit_id": "9a7e1641e1ef683407a31e6a67c7fa60eaab2c82", + "created_at": "2024-02-02T00:23:26Z", + "diff_hunk": "@@ -216,4 +216,15 @@ describe('vim.snippet', function()\n feed('foo')\n eq({ 'public function foo() {', '\\t', '}' }, buf_lines(0))\n end)\n+\n+ it('jumps through adjacent tabstops', function ()\n+ test_expand_success(\n+ { 'for i=1,${1:to}${2:,step} do\\n\\t$3\\nend' },\n+ { 'for i=1,to,step do', '\\t', 'end' })\n+ sleep(10)\n+ feed('10')\n+ feed('')\n+ feed(',2')", + "html_url": "https://github.com/neovim/neovim/pull/26879#discussion_r1475362730", + "id": 1475362730, + "in_reply_to_id": 1475342410, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X8D-q", + "original_commit_id": "53f178810a9aff8664a54c7a6f5d86e31165da3f", + "original_line": 228, + "original_position": 12, + "original_start_line": 224, + "path": "test/functional/lua/snippet_spec.lua", + "position": null, + "pull_request_review_id": 1858004202, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26879", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475362730/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-02T00:23:26Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475362730", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26879#discussion_r1475381489" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26879" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475381489" + } + }, + "author_association": "MEMBER", + "body": "- `sleep()` uses a hard-coded timeout.\r\n- `poke_eventloop()` waits for all the pending input to be processed.\r\n\r\nWithout either `sleep()` or `poke_eventloop()`, the next `feed()` may arrive before the `feedkeys()` in `select_tabstop()` is reached, causing incorrect ordering of input keys.", + "commit_id": "9a7e1641e1ef683407a31e6a67c7fa60eaab2c82", + "created_at": "2024-02-02T00:44:05Z", + "diff_hunk": "@@ -216,4 +216,15 @@ describe('vim.snippet', function()\n feed('foo')\n eq({ 'public function foo() {', '\\t', '}' }, buf_lines(0))\n end)\n+\n+ it('jumps through adjacent tabstops', function ()\n+ test_expand_success(\n+ { 'for i=1,${1:to}${2:,step} do\\n\\t$3\\nend' },\n+ { 'for i=1,to,step do', '\\t', 'end' })\n+ sleep(10)\n+ feed('10')\n+ feed('')\n+ feed(',2')", + "html_url": "https://github.com/neovim/neovim/pull/26879#discussion_r1475381489", + "id": 1475381489, + "in_reply_to_id": 1475342410, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X8Ijx", + "original_commit_id": "53f178810a9aff8664a54c7a6f5d86e31165da3f", + "original_line": 228, + "original_position": 12, + "original_start_line": 224, + "path": "test/functional/lua/snippet_spec.lua", + "position": null, + "pull_request_review_id": 1858034247, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26879", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475381489/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-02T00:48:54Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475381489", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26879#discussion_r1475386884" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26879" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475386884" + } + }, + "author_association": "MEMBER", + "body": "And... `poke_eventloop()` is needed after the `` because input is queued, but it is not needed after `test_expand_success()` because `exec_lua()` doesn't return until the code is fully executed.", + "commit_id": "9a7e1641e1ef683407a31e6a67c7fa60eaab2c82", + "created_at": "2024-02-02T00:53:55Z", + "diff_hunk": "@@ -216,4 +216,15 @@ describe('vim.snippet', function()\n feed('foo')\n eq({ 'public function foo() {', '\\t', '}' }, buf_lines(0))\n end)\n+\n+ it('jumps through adjacent tabstops', function ()\n+ test_expand_success(\n+ { 'for i=1,${1:to}${2:,step} do\\n\\t$3\\nend' },\n+ { 'for i=1,to,step do', '\\t', 'end' })\n+ sleep(10)\n+ feed('10')\n+ feed('')\n+ feed(',2')", + "html_url": "https://github.com/neovim/neovim/pull/26879#discussion_r1475386884", + "id": 1475386884, + "in_reply_to_id": 1475342410, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X8J4E", + "original_commit_id": "53f178810a9aff8664a54c7a6f5d86e31165da3f", + "original_line": 228, + "original_position": 12, + "original_start_line": 224, + "path": "test/functional/lua/snippet_spec.lua", + "position": null, + "pull_request_review_id": 1858043481, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26879", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475386884/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-02T00:53:55Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475386884", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26879#discussion_r1475477377" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26879" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475477377" + } + }, + "author_association": "MEMBER", + "body": "Got it, thanks for explaining!", + "commit_id": "9a7e1641e1ef683407a31e6a67c7fa60eaab2c82", + "created_at": "2024-02-02T03:26:22Z", + "diff_hunk": "@@ -216,4 +216,15 @@ describe('vim.snippet', function()\n feed('foo')\n eq({ 'public function foo() {', '\\t', '}' }, buf_lines(0))\n end)\n+\n+ it('jumps through adjacent tabstops', function ()\n+ test_expand_success(\n+ { 'for i=1,${1:to}${2:,step} do\\n\\t$3\\nend' },\n+ { 'for i=1,to,step do', '\\t', 'end' })\n+ sleep(10)\n+ feed('10')\n+ feed('')\n+ feed(',2')", + "html_url": "https://github.com/neovim/neovim/pull/26879#discussion_r1475477377", + "id": 1475477377, + "in_reply_to_id": 1475342410, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X8f-B", + "original_commit_id": "53f178810a9aff8664a54c7a6f5d86e31165da3f", + "original_line": 228, + "original_position": 12, + "original_start_line": 224, + "path": "test/functional/lua/snippet_spec.lua", + "position": null, + "pull_request_review_id": 1858197526, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26879", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475477377/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-02T03:26:22Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475477377", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26879#discussion_r1477663289" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26879" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477663289" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n it('jumps through adjacent tabstops', function()\r\n```", + "commit_id": "9a7e1641e1ef683407a31e6a67c7fa60eaab2c82", + "created_at": "2024-02-05T04:50:23Z", + "diff_hunk": "@@ -216,4 +216,15 @@ describe('vim.snippet', function()\n feed('foo')\n eq({ 'public function foo() {', '\\t', '}' }, buf_lines(0))\n end)\n+\n+ it('jumps through adjacent tabstops', function ()", + "html_url": "https://github.com/neovim/neovim/pull/26879#discussion_r1477663289", + "id": 1477663289, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YE1o5", + "original_commit_id": "2f29f07492bc3c64f27c1d620441654264c6af2e", + "original_line": 220, + "original_position": 5, + "original_start_line": null, + "path": "test/functional/lua/snippet_spec.lua", + "position": null, + "pull_request_review_id": 1861881183, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26879", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477663289/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T04:51:50Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477663289", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26879#discussion_r1477663827" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26879" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477663827" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n { 'for i=1,${1:to}${2:,step} do\\n\\t$3\\nend' },\r\n { 'for i=1,to,step do', '\\t', 'end' }\r\n```", + "commit_id": "9a7e1641e1ef683407a31e6a67c7fa60eaab2c82", + "created_at": "2024-02-05T04:51:39Z", + "diff_hunk": "@@ -216,4 +216,15 @@ describe('vim.snippet', function()\n feed('foo')\n eq({ 'public function foo() {', '\\t', '}' }, buf_lines(0))\n end)\n+\n+ it('jumps through adjacent tabstops', function ()\n+ test_expand_success(\n+ { 'for i=1,${1:to}${2:,step} do\\n\\t$3\\nend' },\n+ { 'for i=1,to,step do', '\\t', 'end' })", + "html_url": "https://github.com/neovim/neovim/pull/26879#discussion_r1477663827", + "id": 1477663827, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YE1xT", + "original_commit_id": "2f29f07492bc3c64f27c1d620441654264c6af2e", + "original_line": 223, + "original_position": 8, + "original_start_line": 222, + "path": "test/functional/lua/snippet_spec.lua", + "position": null, + "pull_request_review_id": 1861881183, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26879", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477663827/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-05T04:51:50Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477663827", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + } + ], + "comment_regular_data": [ + { + "author_association": "MEMBER", + "body": "Ehhh idk what's up with the tests, why is `sleep` undefined in some cases?", + "created_at": "2024-02-01T23:45:15Z", + "html_url": "https://github.com/neovim/neovim/pull/26879#issuecomment-1922498225", + "id": 1922498225, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26879", + "node_id": "IC_kwDOAPphoM5ylv6x", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922498225/reactions" + }, + "updated_at": "2024-02-01T23:45:15Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922498225", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "author_association": "MEMBER", + "body": "Because you never assigned any value to it?", + "created_at": "2024-02-01T23:52:18Z", + "html_url": "https://github.com/neovim/neovim/pull/26879#issuecomment-1922505672", + "id": 1922505672, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26879", + "node_id": "IC_kwDOAPphoM5ylxvI", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922505672/reactions" + }, + "updated_at": "2024-02-01T23:52:18Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922505672", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "MEMBER", + "body": "> Because you never assigned any value to it?\r\n\r\nI did.\r\nhttps://github.com/neovim/neovim/blob/066fa77a964f5effcb26bfda243337bf027f0175/test/functional/lua/snippet_spec.lua#L10\r\n\r\nAnd if that had not been the case, _all_ tests would fail wouldn't it?", + "created_at": "2024-02-01T23:54:23Z", + "html_url": "https://github.com/neovim/neovim/pull/26879#issuecomment-1922508610", + "id": 1922508610, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26879", + "node_id": "IC_kwDOAPphoM5ylydC", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922508610/reactions" + }, + "updated_at": "2024-02-01T23:54:49Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922508610", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "author_association": "MEMBER", + "body": "Oh, you need a rebase.", + "created_at": "2024-02-01T23:55:55Z", + "html_url": "https://github.com/neovim/neovim/pull/26879#issuecomment-1922509878", + "id": 1922509878, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26879", + "node_id": "IC_kwDOAPphoM5ylyw2", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922509878/reactions" + }, + "updated_at": "2024-02-01T23:55:55Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922509878", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + } + ], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/26879/comments", "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/26879/commits", "created_at": "2024-01-04T04:05:32Z", "diff_url": "https://github.com/neovim/neovim/pull/26879.diff", - "draft": true, + "draft": false, "head": { "label": "MariaSolOs:adj-tabstops", "ref": "adj-tabstops", @@ -266,9 +924,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/MariaSolOs/neovim/pulls{/number}", - "pushed_at": "2024-01-04T04:05:07Z", + "pushed_at": "2024-02-05T05:11:20Z", "releases_url": "https://api.github.com/repos/MariaSolOs/neovim/releases{/id}", - "size": 240449, + "size": 245453, "ssh_url": "git@github.com:MariaSolOs/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/MariaSolOs/neovim/stargazers", @@ -287,7 +945,7 @@ "watchers_count": 0, "web_commit_signoff_required": false }, - "sha": "ac5a2ebc636efc60b226e75a29a512fd802dbd4a", + "sha": "9a7e1641e1ef683407a31e6a67c7fa60eaab2c82", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", @@ -333,8 +991,8 @@ } ], "locked": false, - "merge_commit_sha": "115ea3204e8ce0805ef3f4bbacd3d6f61ad4ba25", - "merged_at": null, + "merge_commit_sha": "0e9a33572dc752463a0f5ad8a08a2c494d7a42e1", + "merged_at": "2024-02-05T15:03:46Z", "milestone": null, "node_id": "PR_kwDOAPphoM5jL_RL", "number": 26879, @@ -343,10 +1001,10 @@ "requested_teams": [], "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/26879/comments", - "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/ac5a2ebc636efc60b226e75a29a512fd802dbd4a", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/9a7e1641e1ef683407a31e6a67c7fa60eaab2c82", "title": "fix(lsp): handle adjacent snippet tabstops", - "updated_at": "2024-01-04T04:06:02Z", + "updated_at": "2024-02-05T15:04:01Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/26879", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", diff --git a/repositories/neovim/pulls/26914.json b/repositories/neovim/pulls/26914.json index ef03dfc1..3d29d3ed 100644 --- a/repositories/neovim/pulls/26914.json +++ b/repositories/neovim/pulls/26914.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/26914" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/83ba6c61e19c046938519d850b33f0f6ddae75fc" + "href": "https://api.github.com/repos/neovim/neovim/statuses/2bcdd871fcb71d3770d0f74cf8abed43b96210d6" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5156, - "forks_count": 5156, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1738, - "open_issues_count": 1738, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-23T01:27:16Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251208, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 72998, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-23T01:05:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 72998, - "watchers_count": 72998, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, - "sha": "ba9f86a9cee58dc32ab875da1fd7eac9bc9e88d7", + "sha": "9f15a18fa57f540cb3d0d9d2f45d872038e6f990", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -169,7 +169,7 @@ "url": "https://api.github.com/users/neovim" } }, - "body": "move `nv_cmds` from normal.c to normal_cmds.lua\r\n\r\n\r\nrelate #19918 https://github.com/neovim/neovim/issues/8029#issuecomment-1175146743", + "body": "Problem: currently don't have normal commands docstring\r\n\r\nSolution: move `nv_cmds` structs from normal.c to normal_cmds.lua and add desc\r\n\r\n\r\nrelate #19918 https://github.com/neovim/neovim/issues/8029#issuecomment-1175146743", "closed_at": null, "comment_data": [ { @@ -186,7 +186,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\nset(GENERATED_NORMAL_CMDS_DEFS ${GENERATED_DIR}/normal_cmds.generated.h)\r\n```", - "commit_id": "83ba6c61e19c046938519d850b33f0f6ddae75fc", + "commit_id": "2bcdd871fcb71d3770d0f74cf8abed43b96210d6", "created_at": "2024-01-16T00:05:42Z", "diff_hunk": "@@ -310,6 +311,7 @@ set(GENERATED_EVENTS_ENUM ${GENERATED_INCLUDES_DIR}/auevents_enum.generated.h)\n set(GENERATED_EVENTS_NAMES_MAP ${GENERATED_DIR}/auevents_name_map.generated.h)\n set(GENERATED_EX_CMDS_DEFS ${GENERATED_DIR}/ex_cmds_defs.generated.h)\n set(GENERATED_EX_CMDS_ENUM ${GENERATED_INCLUDES_DIR}/ex_cmds_enum.generated.h)\n+set(GENERATED_NORMAL_CMDS_DEFS ${GENERATED_DIR}/normal_cmds_defs.generated.h)", "html_url": "https://github.com/neovim/neovim/pull/26914#discussion_r1452812869", @@ -254,7 +254,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n \"${GENERATED_NORMAL_CMDS}\"\r\n```", - "commit_id": "83ba6c61e19c046938519d850b33f0f6ddae75fc", + "commit_id": "2bcdd871fcb71d3770d0f74cf8abed43b96210d6", "created_at": "2024-01-16T00:05:56Z", "diff_hunk": "@@ -631,6 +633,7 @@ list(APPEND NVIM_GENERATED_FOR_HEADERS\n list(APPEND NVIM_GENERATED_FOR_SOURCES\n \"${GENERATED_API_DISPATCH}\"\n \"${GENERATED_EX_CMDS_DEFS}\"\n+ \"${GENERATED_NORMAL_CMDS_DEFS}\"", "html_url": "https://github.com/neovim/neovim/pull/26914#discussion_r1452812949", @@ -322,7 +322,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\nadd_custom_command(OUTPUT ${GENERATED_NORMAL_CMDS}\r\n```", - "commit_id": "83ba6c61e19c046938519d850b33f0f6ddae75fc", + "commit_id": "2bcdd871fcb71d3770d0f74cf8abed43b96210d6", "created_at": "2024-01-16T00:06:07Z", "diff_hunk": "@@ -647,6 +650,10 @@ add_custom_command(OUTPUT ${GENERATED_EX_CMDS_ENUM} ${GENERATED_EX_CMDS_DEFS}\n DEPENDS ${LUA_GEN_DEPS} ${EX_CMDS_GENERATOR} ${CMAKE_CURRENT_LIST_DIR}/ex_cmds.lua\n )\n \n+add_custom_command(OUTPUT ${GENERATED_NORMAL_CMDS_DEFS}", "html_url": "https://github.com/neovim/neovim/pull/26914#discussion_r1452813019", @@ -390,7 +390,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\nlocal deffname = autodir .. '/normal_cmds.generated.h'\r\n```", - "commit_id": "83ba6c61e19c046938519d850b33f0f6ddae75fc", + "commit_id": "2bcdd871fcb71d3770d0f74cf8abed43b96210d6", "created_at": "2024-01-16T00:06:24Z", "diff_hunk": "@@ -0,0 +1,48 @@\n+local autodir = arg[1]\n+\n+local deffname = autodir .. '/normal_cmds_defs.generated.h'", "html_url": "https://github.com/neovim/neovim/pull/26914#discussion_r1452813095", @@ -458,7 +458,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n# include \"normal_cmds.generated.h\"\r\n```", - "commit_id": "83ba6c61e19c046938519d850b33f0f6ddae75fc", + "commit_id": "2bcdd871fcb71d3770d0f74cf8abed43b96210d6", "created_at": "2024-01-16T00:06:46Z", "diff_hunk": "@@ -102,6 +102,11 @@ static int VIsual_mode_orig = NUL; // saved Visual mode\n # include \"normal.c.generated.h\"\n #endif\n \n+// Declare nv_cmds[].\n+#ifdef INCLUDE_GENERATED_DECLARATIONS\n+# include \"normal_cmds_defs.generated.h\"", "html_url": "https://github.com/neovim/neovim/pull/26914#discussion_r1452813200", @@ -526,7 +526,7 @@ }, "author_association": "MEMBER", "body": "What does this comment mean?", - "commit_id": "83ba6c61e19c046938519d850b33f0f6ddae75fc", + "commit_id": "2bcdd871fcb71d3770d0f74cf8abed43b96210d6", "created_at": "2024-01-19T01:13:36Z", "diff_hunk": "@@ -0,0 +1,1158 @@\n+local bit = require('bit')\n+\n+-- Description the NV_ flag values for cmd_flags", "html_url": "https://github.com/neovim/neovim/pull/26914#discussion_r1458167581", @@ -594,7 +594,7 @@ }, "author_association": "MEMBER", "body": "I don't think this block should be in a generated file.", - "commit_id": "83ba6c61e19c046938519d850b33f0f6ddae75fc", + "commit_id": "2bcdd871fcb71d3770d0f74cf8abed43b96210d6", "created_at": "2024-01-19T01:14:22Z", "diff_hunk": "@@ -0,0 +1,48 @@\n+local autodir = arg[1]\n+\n+local deffname = autodir .. '/normal_cmds.generated.h'\n+local defsfile = io.open(deffname, 'w')\n+\n+defsfile:write [[\n+#include \"nvim/normal_defs.h\"\n+\n+/// Function to be called for a Normal or Visual mode command.\n+/// The argument is a cmdarg_T.\n+typedef void (*nv_func_T)(cmdarg_T *cap);\n+\n+// Generally speaking, every Normal mode command should either clear any\n+// pending operator (with *clearop*()), or set the motion type variable\n+// oap->motion_type.\n+//\n+// When a cursor motion command is made, it is marked as being a character or\n+// line oriented motion. Then, if an operator is in effect, the operation\n+// becomes character or line oriented accordingly.", "html_url": "https://github.com/neovim/neovim/pull/26914#discussion_r1458167875", @@ -662,7 +662,7 @@ }, "author_association": "MEMBER", "body": "emm before i am think also generate flag from script..so i leave this comment ..but they only used in normal.c no need in header file ..so forget delete.", - "commit_id": "83ba6c61e19c046938519d850b33f0f6ddae75fc", + "commit_id": "2bcdd871fcb71d3770d0f74cf8abed43b96210d6", "created_at": "2024-01-19T07:06:37Z", "diff_hunk": "@@ -0,0 +1,1158 @@\n+local bit = require('bit')\n+\n+-- Description the NV_ flag values for cmd_flags", "html_url": "https://github.com/neovim/neovim/pull/26914#discussion_r1458475706", @@ -731,7 +731,7 @@ }, "author_association": "MEMBER", "body": "okay .", - "commit_id": "83ba6c61e19c046938519d850b33f0f6ddae75fc", + "commit_id": "2bcdd871fcb71d3770d0f74cf8abed43b96210d6", "created_at": "2024-01-19T07:06:51Z", "diff_hunk": "@@ -0,0 +1,48 @@\n+local autodir = arg[1]\n+\n+local deffname = autodir .. '/normal_cmds.generated.h'\n+local defsfile = io.open(deffname, 'w')\n+\n+defsfile:write [[\n+#include \"nvim/normal_defs.h\"\n+\n+/// Function to be called for a Normal or Visual mode command.\n+/// The argument is a cmdarg_T.\n+typedef void (*nv_func_T)(cmdarg_T *cap);\n+\n+// Generally speaking, every Normal mode command should either clear any\n+// pending operator (with *clearop*()), or set the motion type variable\n+// oap->motion_type.\n+//\n+// When a cursor motion command is made, it is marked as being a character or\n+// line oriented motion. Then, if an operator is in effect, the operation\n+// becomes character or line oriented accordingly.", "html_url": "https://github.com/neovim/neovim/pull/26914#discussion_r1458475925", @@ -831,50 +831,6 @@ "type": "User", "url": "https://api.github.com/users/glepnir" } - }, - { - "author_association": "MEMBER", - "body": "@zeertzjq lgty ?", - "created_at": "2024-01-18T12:27:03Z", - "html_url": "https://github.com/neovim/neovim/pull/26914#issuecomment-1898386885", - "id": 1898386885, - "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26914", - "node_id": "IC_kwDOAPphoM5xJxXF", - "performed_via_github_app": null, - "reactions": { - "+1": 0, - "-1": 0, - "confused": 0, - "eyes": 0, - "heart": 0, - "hooray": 0, - "laugh": 0, - "rocket": 0, - "total_count": 0, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1898386885/reactions" - }, - "updated_at": "2024-01-18T12:27:03Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1898386885", - "user": { - "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", - "events_url": "https://api.github.com/users/glepnir/events{/privacy}", - "followers_url": "https://api.github.com/users/glepnir/followers", - "following_url": "https://api.github.com/users/glepnir/following{/other_user}", - "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", - "gravatar_id": "", - "html_url": "https://github.com/glepnir", - "id": 41671631, - "login": "glepnir", - "node_id": "MDQ6VXNlcjQxNjcxNjMx", - "organizations_url": "https://api.github.com/users/glepnir/orgs", - "received_events_url": "https://api.github.com/users/glepnir/received_events", - "repos_url": "https://api.github.com/users/glepnir/repos", - "site_admin": false, - "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", - "type": "User", - "url": "https://api.github.com/users/glepnir" - } } ], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/26914/comments", @@ -970,9 +926,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/glepnir/neovim/pulls{/number}", - "pushed_at": "2024-01-22T11:34:10Z", + "pushed_at": "2024-02-05T12:00:25Z", "releases_url": "https://api.github.com/repos/glepnir/neovim/releases{/id}", - "size": 247035, + "size": 248354, "ssh_url": "git@github.com:glepnir/neovim.git", "stargazers_count": 2, "stargazers_url": "https://api.github.com/repos/glepnir/neovim/stargazers", @@ -991,7 +947,7 @@ "watchers_count": 2, "web_commit_signoff_required": false }, - "sha": "83ba6c61e19c046938519d850b33f0f6ddae75fc", + "sha": "2bcdd871fcb71d3770d0f74cf8abed43b96210d6", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", "events_url": "https://api.github.com/users/glepnir/events{/privacy}", @@ -1037,13 +993,33 @@ } ], "locked": false, - "merge_commit_sha": "37ecab3ec9cc3cc2c7a080cc9968345499fd65d8", + "merge_commit_sha": "5477bf104096779adacbeb57a87a487aebafae57", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5jXj9K", "number": 26914, "patch_url": "https://github.com/neovim/neovim/pull/26914.patch", "requested_reviewers": [ + { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + }, { "avatar_url": "https://avatars.githubusercontent.com/u/112971?v=4", "events_url": "https://api.github.com/users/jamessan/events{/privacy}", @@ -1084,26 +1060,6 @@ "type": "User", "url": "https://api.github.com/users/justinmk" }, - { - "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", - "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", - "followers_url": "https://api.github.com/users/dundargoc/followers", - "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", - "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", - "gravatar_id": "", - "html_url": "https://github.com/dundargoc", - "id": 33953936, - "login": "dundargoc", - "node_id": "MDQ6VXNlcjMzOTUzOTM2", - "organizations_url": "https://api.github.com/users/dundargoc/orgs", - "received_events_url": "https://api.github.com/users/dundargoc/received_events", - "repos_url": "https://api.github.com/users/dundargoc/repos", - "site_admin": false, - "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", - "type": "User", - "url": "https://api.github.com/users/dundargoc" - }, { "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", @@ -1129,9 +1085,9 @@ "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/26914/comments", "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/83ba6c61e19c046938519d850b33f0f6ddae75fc", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/2bcdd871fcb71d3770d0f74cf8abed43b96210d6", "title": "refactor(normal.c): move nv_cmds to normal.lua", - "updated_at": "2024-01-19T07:33:18Z", + "updated_at": "2024-01-31T12:20:20Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/26914", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", diff --git a/repositories/neovim/pulls/26935.json b/repositories/neovim/pulls/26935.json index 52046bcf..a8604244 100644 --- a/repositories/neovim/pulls/26935.json +++ b/repositories/neovim/pulls/26935.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/26935" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/99c5f47cdda637ae5a2951fa28f917c00af01530" + "href": "https://api.github.com/repos/neovim/neovim/statuses/eeb236de7ec1da29443164955d3e18e07d742ade" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5156, - "forks_count": 5156, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1738, - "open_issues_count": 1738, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-23T01:27:16Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251208, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 72998, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-23T01:05:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 72998, - "watchers_count": 72998, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, - "sha": "b3e5587b7f1cd6206240aea38740d2205c10ae34", + "sha": "9f15a18fa57f540cb3d0d9d2f45d872038e6f990", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -311,9 +311,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/faergeek/neovim/pulls{/number}", - "pushed_at": "2024-01-17T06:06:07Z", + "pushed_at": "2024-01-31T03:49:26Z", "releases_url": "https://api.github.com/repos/faergeek/neovim/releases{/id}", - "size": 246089, + "size": 248894, "ssh_url": "git@github.com:faergeek/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/faergeek/neovim/stargazers", @@ -332,7 +332,7 @@ "watchers_count": 0, "web_commit_signoff_required": false }, - "sha": "99c5f47cdda637ae5a2951fa28f917c00af01530", + "sha": "eeb236de7ec1da29443164955d3e18e07d742ade", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/3524621?v=4", "events_url": "https://api.github.com/users/faergeek/events{/privacy}", @@ -369,7 +369,7 @@ } ], "locked": false, - "merge_commit_sha": "8726de32cf81a1af9b705128cd58f520909c5fc4", + "merge_commit_sha": "e922e527e070e1798efb08c698b6b70951134e97", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5jZa8T", @@ -421,9 +421,9 @@ "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/26935/comments", "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/99c5f47cdda637ae5a2951fa28f917c00af01530", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/eeb236de7ec1da29443164955d3e18e07d742ade", "title": "feat(api): allow lua complete fn to return a string", - "updated_at": "2024-01-17T06:08:35Z", + "updated_at": "2024-01-31T03:49:27Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/26935", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/3524621?v=4", diff --git a/repositories/neovim/pulls/26944.json b/repositories/neovim/pulls/26944.json index 4f6bb1c3..8326f087 100644 --- a/repositories/neovim/pulls/26944.json +++ b/repositories/neovim/pulls/26944.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/26944" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/c3ba2023420e4e94ab4db02f6dc7676bc593f699" + "href": "https://api.github.com/repos/neovim/neovim/statuses/1ec4a848c6dbd19cf2484cc7d586d7bb99146027" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5121, - "forks_count": 5121, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-09T01:46:05Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 248837, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 72546, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-09T01:49:06Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 72546, - "watchers_count": 72546, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, - "sha": "367e52cc79a786bbee4456b30f9ec5db7e28d6a5", + "sha": "1ed6b9cd2c04bf015b7e053ee5ea778634141b35", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -186,7 +186,7 @@ }, "author_association": "MEMBER", "body": "What is the default?", - "commit_id": "c3ba2023420e4e94ab4db02f6dc7676bc593f699", + "commit_id": "1ec4a848c6dbd19cf2484cc7d586d7bb99146027", "created_at": "2024-01-07T21:53:53Z", "diff_hunk": "@@ -719,6 +719,7 @@ inspect_tree({opts}) *vim.treesitter.inspect_tree()*\n window. If a function, it accepts the buffer number of the\n source buffer as its only argument and should return a\n string.\n+ • include_root (boolean|nil): Include the root nodes.", "html_url": "https://github.com/neovim/neovim/pull/26944#discussion_r1444079043", @@ -254,7 +254,7 @@ }, "author_association": "CONTRIBUTOR", "body": "False, should I include it in the docs?", - "commit_id": "c3ba2023420e4e94ab4db02f6dc7676bc593f699", + "commit_id": "1ec4a848c6dbd19cf2484cc7d586d7bb99146027", "created_at": "2024-01-07T21:54:57Z", "diff_hunk": "@@ -719,6 +719,7 @@ inspect_tree({opts}) *vim.treesitter.inspect_tree()*\n window. If a function, it accepts the buffer number of the\n source buffer as its only argument and should return a\n string.\n+ • include_root (boolean|nil): Include the root nodes.", "html_url": "https://github.com/neovim/neovim/pull/26944#discussion_r1444079259", @@ -323,7 +323,7 @@ }, "author_association": "MEMBER", "body": "Yes, that was my point.", - "commit_id": "c3ba2023420e4e94ab4db02f6dc7676bc593f699", + "commit_id": "1ec4a848c6dbd19cf2484cc7d586d7bb99146027", "created_at": "2024-01-07T21:55:35Z", "diff_hunk": "@@ -719,6 +719,7 @@ inspect_tree({opts}) *vim.treesitter.inspect_tree()*\n window. If a function, it accepts the buffer number of the\n source buffer as its only argument and should return a\n string.\n+ • include_root (boolean|nil): Include the root nodes.", "html_url": "https://github.com/neovim/neovim/pull/26944#discussion_r1444079368", @@ -392,7 +392,7 @@ }, "author_association": "MEMBER", "body": "Please keep `tree` as the last parameter. It acts as an “inout” parameter, its position at the end of the argument list is intentional. ", - "commit_id": "c3ba2023420e4e94ab4db02f6dc7676bc593f699", + "commit_id": "1ec4a848c6dbd19cf2484cc7d586d7bb99146027", "created_at": "2024-01-08T00:18:13Z", "diff_hunk": "@@ -43,10 +43,29 @@ local TSTreeView = {}\n ---@param injections table Mapping of node ids to root nodes\n --- of injected language trees (see explanation above)\n ---@param tree TSP.Node[] Output table containing a list of tables each representing a node in the tree\n-local function traverse(node, depth, lang, injections, tree)\n+---@param include_root? boolean Include the root nodes in the tree\n+local function traverse(node, depth, lang, injections, tree, include_root)", "html_url": "https://github.com/neovim/neovim/pull/26944#discussion_r1444101939", @@ -460,7 +460,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n---@param include_root boolean Whether to include the root nodes in the tree\r\n```", - "commit_id": "c3ba2023420e4e94ab4db02f6dc7676bc593f699", + "commit_id": "1ec4a848c6dbd19cf2484cc7d586d7bb99146027", "created_at": "2024-01-08T00:21:17Z", "diff_hunk": "@@ -67,12 +86,13 @@ end\n ---\n ---@param bufnr integer Source buffer number\n ---@param lang string|nil Language of source buffer\n+---@param include_root boolean? Include the root nodes in the tree", "html_url": "https://github.com/neovim/neovim/pull/26944#discussion_r1444102371", @@ -528,7 +528,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n--- - include_root (boolean|nil): Whether to include the root nodes. (default `false`)\r\n```", - "commit_id": "c3ba2023420e4e94ab4db02f6dc7676bc593f699", + "commit_id": "1ec4a848c6dbd19cf2484cc7d586d7bb99146027", "created_at": "2024-01-08T00:23:21Z", "diff_hunk": "@@ -500,6 +500,7 @@ end\n --- - title (string|fun(bufnr:integer):string|nil): Title of the window. If a\n --- function, it accepts the buffer number of the source buffer as its only\n --- argument and should return a string.\n+--- - include_root (boolean|nil): Include the root nodes. (default false)", "html_url": "https://github.com/neovim/neovim/pull/26944#discussion_r1444102623", @@ -596,7 +596,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n---@param include_root boolean Whether to include the root nodes in the tree\r\n```", - "commit_id": "c3ba2023420e4e94ab4db02f6dc7676bc593f699", + "commit_id": "1ec4a848c6dbd19cf2484cc7d586d7bb99146027", "created_at": "2024-01-08T00:23:41Z", "diff_hunk": "@@ -42,11 +42,30 @@ local TSTreeView = {}\n ---@param lang string Language of the tree currently being traversed\n ---@param injections table Mapping of node ids to root nodes\n --- of injected language trees (see explanation above)\n+---@param include_root? boolean Include the root nodes in the tree", "html_url": "https://github.com/neovim/neovim/pull/26944#discussion_r1444102670", @@ -664,7 +664,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n--- @field include_root boolean? Whether to include the root nodes in the tree view.\r\n```", - "commit_id": "c3ba2023420e4e94ab4db02f6dc7676bc593f699", + "commit_id": "1ec4a848c6dbd19cf2484cc7d586d7bb99146027", "created_at": "2024-01-08T00:26:23Z", "diff_hunk": "@@ -301,6 +321,7 @@ end\n --- @field title (string|fun(bufnr:integer):string|nil) Title of the window. If a\n --- function, it accepts the buffer number of the source\n --- buffer as its only argument and should return a string.\n+--- @field include_root boolean? Include the root nodes in the tree.", "html_url": "https://github.com/neovim/neovim/pull/26944#discussion_r1444103182", @@ -717,6 +717,551 @@ "type": "User", "url": "https://api.github.com/users/wookayin" } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26944#discussion_r1477163159" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26944" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477163159" + } + }, + "author_association": "MEMBER", + "body": "Let's not add extra knobs and configurations here. Just make it the default and not configurable.\r\n\r\nOne feature we could add in the future is the ability to \"reparent\" the tree at any node. So with the tree view open you press a key on any node, and a new tree view is opened that shows only nodes that are children of the node that the key was pressed on. If we had such a feature, then users could use that on the top-level root node to hide it, if they really don't want to see it.", + "commit_id": "1ec4a848c6dbd19cf2484cc7d586d7bb99146027", + "created_at": "2024-02-04T02:10:42Z", + "diff_hunk": "@@ -42,11 +42,32 @@ local TSTreeView = {}\n ---@param lang string Language of the tree currently being traversed\n ---@param injections table Mapping of node ids to root nodes\n --- of injected language trees (see explanation above)\n+---@param include_root boolean Whether to include the root nodes in the tree", + "html_url": "https://github.com/neovim/neovim/pull/26944#discussion_r1477163159", + "id": 1477163159, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YC7iX", + "original_commit_id": "c3ba2023420e4e94ab4db02f6dc7676bc593f699", + "original_line": 45, + "original_position": 4, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/dev.lua", + "position": null, + "pull_request_review_id": 1861243532, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26944", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477163159/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T02:10:42Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477163159", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26944#discussion_r1477186507" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26944" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477186507" + } + }, + "author_association": "MEMBER", + "body": "~~injection: `depth` or `depth + 1`?~~ NVM, in this implementation `depth + 1` is correct.", + "commit_id": "1ec4a848c6dbd19cf2484cc7d586d7bb99146027", + "created_at": "2024-02-04T06:23:10Z", + "diff_hunk": "@@ -44,9 +44,25 @@ local TSTreeView = {}\n --- of injected language trees (see explanation above)\n ---@param tree TSP.Node[] Output table containing a list of tables each representing a node in the tree\n local function traverse(node, depth, lang, injections, tree)\n+ if depth == 0 then\n+ table.insert(tree, {\n+ node = node,\n+ depth = depth,\n+ lang = lang,\n+ })\n+\n+ depth = depth + 1\n+ end\n+\n local injection = injections[node:id()]\n if injection then\n- traverse(injection.root, depth, injection.lang, injections, tree)\n+ table.insert(tree, {\n+ node = injection.root,\n+ depth = depth,\n+ lang = injection.lang,\n+ })\n+\n+ traverse(injection.root, depth + 1, injection.lang, injections, tree)", + "html_url": "https://github.com/neovim/neovim/pull/26944#discussion_r1477186507", + "id": 1477186507, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YDBPL", + "original_commit_id": "0ddcf3e78147666820116ca9ee02594c59bfc706", + "original_line": 65, + "original_position": 23, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/dev.lua", + "position": null, + "pull_request_review_id": 1861278384, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26944", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477186507/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T06:36:27Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477186507", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26944#discussion_r1477187440" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26944" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477187440" + } + }, + "author_association": "MEMBER", + "body": "If we want to go a little bit further, though not mandatory: now that we want to include the root node, this implementation could be simplified by unifying all the three `table.insert(tree, { ... })` statements into just one call here. This traverse function should have additional argument `field` though.", + "commit_id": "1ec4a848c6dbd19cf2484cc7d586d7bb99146027", + "created_at": "2024-02-04T06:32:43Z", + "diff_hunk": "@@ -44,9 +44,25 @@ local TSTreeView = {}\n --- of injected language trees (see explanation above)\n ---@param tree TSP.Node[] Output table containing a list of tables each representing a node in the tree\n local function traverse(node, depth, lang, injections, tree)\n+ if depth == 0 then\n+ table.insert(tree, {\n+ node = node,\n+ depth = depth,\n+ lang = lang,\n+ })", + "html_url": "https://github.com/neovim/neovim/pull/26944#discussion_r1477187440", + "id": 1477187440, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YDBdw", + "original_commit_id": "0ddcf3e78147666820116ca9ee02594c59bfc706", + "original_line": 52, + "original_position": 9, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/dev.lua", + "position": null, + "pull_request_review_id": 1861278384, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26944", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477187440/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T06:35:06Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477187440", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26944#discussion_r1477239482" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26944" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477239482" + } + }, + "author_association": "MEMBER", + "body": "+1", + "commit_id": "1ec4a848c6dbd19cf2484cc7d586d7bb99146027", + "created_at": "2024-02-04T09:43:25Z", + "diff_hunk": "@@ -42,11 +42,32 @@ local TSTreeView = {}\n ---@param lang string Language of the tree currently being traversed\n ---@param injections table Mapping of node ids to root nodes\n --- of injected language trees (see explanation above)\n+---@param include_root boolean Whether to include the root nodes in the tree", + "html_url": "https://github.com/neovim/neovim/pull/26944#discussion_r1477239482", + "id": 1477239482, + "in_reply_to_id": 1477163159, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YDOK6", + "original_commit_id": "c3ba2023420e4e94ab4db02f6dc7676bc593f699", + "original_line": 45, + "original_position": 4, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/dev.lua", + "position": null, + "pull_request_review_id": 1861340574, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26944", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477239482/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T09:43:25Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477239482", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26944#discussion_r1477432337" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26944" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477432337" + } + }, + "author_association": "MEMBER", + "body": "I'm really sorry to be picky here, but it would be even better if we can move the parameter `field` before `lang` (e.g. next to `depth`), because:\r\n\r\n- `node`, `depth`, and `field` are the parameters that represent the current context of the *node* being visited\r\n- `injections` and `tree` are for the bigger context (*tree*)\r\n- and this is a local function, so signature change is fine.", + "commit_id": "1ec4a848c6dbd19cf2484cc7d586d7bb99146027", + "created_at": "2024-02-04T20:18:52Z", + "diff_hunk": "@@ -42,22 +42,24 @@ local TSTreeView = {}\n ---@param lang string Language of the tree currently being traversed\n ---@param injections table Mapping of node ids to root nodes\n --- of injected language trees (see explanation above)\n+---@param field string|nil The field of the current node\n ---@param tree TSP.Node[] Output table containing a list of tables each representing a node in the tree\n-local function traverse(node, depth, lang, injections, tree)\n+local function traverse(node, depth, lang, injections, field, tree)", + "html_url": "https://github.com/neovim/neovim/pull/26944#discussion_r1477432337", + "id": 1477432337, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YD9QR", + "original_commit_id": "3afda479de98c256a09b59480e9ca34f39e25127", + "original_line": 47, + "original_position": 7, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/dev.lua", + "position": null, + "pull_request_review_id": 1861551722, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26944", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477432337/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T20:19:48Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477432337", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26944#discussion_r1477433009" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26944" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477433009" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n traverse(injection.root, depth + 1, injection.lang, injections, nil, tree)\r\n```", + "commit_id": "1ec4a848c6dbd19cf2484cc7d586d7bb99146027", + "created_at": "2024-02-04T20:24:51Z", + "diff_hunk": "@@ -42,22 +42,24 @@ local TSTreeView = {}\n ---@param lang string Language of the tree currently being traversed\n ---@param injections table Mapping of node ids to root nodes\n --- of injected language trees (see explanation above)\n+---@param field string|nil The field of the current node\n ---@param tree TSP.Node[] Output table containing a list of tables each representing a node in the tree\n-local function traverse(node, depth, lang, injections, tree)\n+local function traverse(node, depth, lang, injections, field, tree)\n+ table.insert(tree, {\n+ node = node,\n+ depth = depth,\n+ lang = lang,\n+ field = field,\n+ })\n+ depth = depth + 1\n+\n local injection = injections[node:id()]\n if injection then\n- traverse(injection.root, depth, injection.lang, injections, tree)\n+ traverse(injection.root, depth, injection.lang, injections, nil, tree)", + "html_url": "https://github.com/neovim/neovim/pull/26944#discussion_r1477433009", + "id": 1477433009, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YD9ax", + "original_commit_id": "3afda479de98c256a09b59480e9ca34f39e25127", + "original_line": 58, + "original_position": 19, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/dev.lua", + "position": null, + "pull_request_review_id": 1861552418, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26944", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477433009/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T20:25:14Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477433009", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26944#discussion_r1477433038" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26944" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477433038" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n```", + "commit_id": "1ec4a848c6dbd19cf2484cc7d586d7bb99146027", + "created_at": "2024-02-04T20:24:55Z", + "diff_hunk": "@@ -42,22 +42,24 @@ local TSTreeView = {}\n ---@param lang string Language of the tree currently being traversed\n ---@param injections table Mapping of node ids to root nodes\n --- of injected language trees (see explanation above)\n+---@param field string|nil The field of the current node\n ---@param tree TSP.Node[] Output table containing a list of tables each representing a node in the tree\n-local function traverse(node, depth, lang, injections, tree)\n+local function traverse(node, depth, lang, injections, field, tree)\n+ table.insert(tree, {\n+ node = node,\n+ depth = depth,\n+ lang = lang,\n+ field = field,\n+ })\n+ depth = depth + 1", + "html_url": "https://github.com/neovim/neovim/pull/26944#discussion_r1477433038", + "id": 1477433038, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YD9bO", + "original_commit_id": "3afda479de98c256a09b59480e9ca34f39e25127", + "original_line": 54, + "original_position": 14, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/dev.lua", + "position": null, + "pull_request_review_id": 1861552418, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26944", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477433038/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T20:25:14Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477433038", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/26944#discussion_r1477433073" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/26944" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477433073" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n traverse(child, depth + 1, lang, injections, child_field, tree)\r\n```", + "commit_id": "1ec4a848c6dbd19cf2484cc7d586d7bb99146027", + "created_at": "2024-02-04T20:25:08Z", + "diff_hunk": "@@ -42,22 +42,24 @@ local TSTreeView = {}\n ---@param lang string Language of the tree currently being traversed\n ---@param injections table Mapping of node ids to root nodes\n --- of injected language trees (see explanation above)\n+---@param field string|nil The field of the current node\n ---@param tree TSP.Node[] Output table containing a list of tables each representing a node in the tree\n-local function traverse(node, depth, lang, injections, tree)\n+local function traverse(node, depth, lang, injections, field, tree)\n+ table.insert(tree, {\n+ node = node,\n+ depth = depth,\n+ lang = lang,\n+ field = field,\n+ })\n+ depth = depth + 1\n+\n local injection = injections[node:id()]\n if injection then\n- traverse(injection.root, depth, injection.lang, injections, tree)\n+ traverse(injection.root, depth, injection.lang, injections, nil, tree)\n end\n \n- for child, field in node:iter_children() do\n- table.insert(tree, {\n- node = child,\n- field = field,\n- depth = depth,\n- lang = lang,\n- })\n-\n- traverse(child, depth + 1, lang, injections, tree)\n+ for child, child_field in node:iter_children() do\n+ traverse(child, depth, lang, injections, child_field, tree)", + "html_url": "https://github.com/neovim/neovim/pull/26944#discussion_r1477433073", + "id": 1477433073, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YD9bx", + "original_commit_id": "3afda479de98c256a09b59480e9ca34f39e25127", + "original_line": 62, + "original_position": 32, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/dev.lua", + "position": null, + "pull_request_review_id": 1861552418, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/26944", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477433073/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T20:25:14Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477433073", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } } ], "comment_regular_data": [ @@ -851,6 +1396,138 @@ "type": "User", "url": "https://api.github.com/users/lucario387" } + }, + { + "author_association": "MEMBER", + "body": "I rewrote test cases for `InspectTree` in #27295. Once it gets merged, please rebase to it so we can write test cases more easily.\r\n\r\nAlso questions:\r\n\r\n- Do we want to make it toggleable? If so, what key would we want? `r` or `R` might conflict with #27295.\r\n- Lua API (opts table) exists but how can we enable this option via commands?", + "created_at": "2024-02-01T20:42:58Z", + "html_url": "https://github.com/neovim/neovim/pull/26944#issuecomment-1922210986", + "id": 1922210986, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26944", + "node_id": "IC_kwDOAPphoM5ykpyq", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 1, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922210986/reactions" + }, + "updated_at": "2024-02-01T20:42:58Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922210986", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "author_association": "MEMBER", + "body": "> * Do we want to make it toggleable?\r\n\r\nNo, this can just be the default behavior. The indent in the tree view is small enough that one extra level is not a big deal.\r\n", + "created_at": "2024-02-04T02:08:09Z", + "html_url": "https://github.com/neovim/neovim/pull/26944#issuecomment-1925552110", + "id": 1925552110, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26944", + "node_id": "IC_kwDOAPphoM5yxZfu", + "performed_via_github_app": null, + "reactions": { + "+1": 3, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 3, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925552110/reactions" + }, + "updated_at": "2024-02-04T02:08:09Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925552110", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } + }, + { + "author_association": "MEMBER", + "body": "I was planning to write tests afterwards, but merging #27295 first (and write relevant tests here) sounds also fine to me. I will leave to @altermo touching the test cases once #27295 is merged, thanks in advance!", + "created_at": "2024-02-05T14:17:24Z", + "html_url": "https://github.com/neovim/neovim/pull/26944#issuecomment-1927108692", + "id": 1927108692, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/26944", + "node_id": "IC_kwDOAPphoM5y3VhU", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927108692/reactions" + }, + "updated_at": "2024-02-05T14:23:34Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927108692", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } } ], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/26944/comments", @@ -876,7 +1553,7 @@ "contents_url": "https://api.github.com/repos/altermo/neovim-fork/contents/{+path}", "contributors_url": "https://api.github.com/repos/altermo/neovim-fork/contributors", "created_at": "2023-09-13T06:55:17Z", - "default_branch": "master", + "default_branch": "DONT-USE-THIS-AS-SOURCE-WHEN-CREATING-NEW-BRANCH", "deployments_url": "https://api.github.com/repos/altermo/neovim-fork/deployments", "description": null, "disabled": false, @@ -922,8 +1599,8 @@ "name": "neovim-fork", "node_id": "R_kgDOKS628w", "notifications_url": "https://api.github.com/repos/altermo/neovim-fork/notifications{?since,all,participating}", - "open_issues": 0, - "open_issues_count": 0, + "open_issues": 1, + "open_issues_count": 1, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", "events_url": "https://api.github.com/users/altermo/events{/privacy}", @@ -946,9 +1623,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/altermo/neovim-fork/pulls{/number}", - "pushed_at": "2024-01-08T05:34:19Z", + "pushed_at": "2024-02-05T17:19:10Z", "releases_url": "https://api.github.com/repos/altermo/neovim-fork/releases{/id}", - "size": 243831, + "size": 245987, "ssh_url": "git@github.com:altermo/neovim-fork.git", "stargazers_count": 1, "stargazers_url": "https://api.github.com/repos/altermo/neovim-fork/stargazers", @@ -967,7 +1644,7 @@ "watchers_count": 1, "web_commit_signoff_required": false }, - "sha": "c3ba2023420e4e94ab4db02f6dc7676bc593f699", + "sha": "1ec4a848c6dbd19cf2484cc7d586d7bb99146027", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", "events_url": "https://api.github.com/users/altermo/events{/privacy}", @@ -1004,9 +1681,45 @@ } ], "locked": false, - "merge_commit_sha": "a81f27bb77e1d2114e410266bbacb106f3524a28", + "merge_commit_sha": "8ce762098a8c8c0b362b42528bdce5b68811a7a9", "merged_at": null, - "milestone": null, + "milestone": { + "closed_at": null, + "closed_issues": 278, + "created_at": "2023-02-02T14:11:43Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + "description": "", + "due_on": "2024-03-01T08:00:00Z", + "html_url": "https://github.com/neovim/neovim/milestone/36", + "id": 8997654, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", + "node_id": "MI_kwDOAPphoM4AiUsW", + "number": 36, + "open_issues": 138, + "state": "open", + "title": "0.10", + "updated_at": "2024-02-05T21:59:25Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/36" + }, "node_id": "PR_kwDOAPphoM5jaexM", "number": 26944, "patch_url": "https://github.com/neovim/neovim/pull/26944.patch", @@ -1076,9 +1789,9 @@ "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/26944/comments", "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/c3ba2023420e4e94ab4db02f6dc7676bc593f699", - "title": "feat(treesitter): way to show root nodes in :InspectTree", - "updated_at": "2024-01-08T04:32:55Z", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/1ec4a848c6dbd19cf2484cc7d586d7bb99146027", + "title": "feat(treesitter): show root nodes in :InspectTree", + "updated_at": "2024-02-05T14:24:59Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/26944", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", diff --git a/repositories/neovim/pulls/26970.json b/repositories/neovim/pulls/26970.json index 0bbbbcc5..0bc0c110 100644 --- a/repositories/neovim/pulls/26970.json +++ b/repositories/neovim/pulls/26970.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/26970" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/84425eea92314d720f7f631cffcc70022da63a25" + "href": "https://api.github.com/repos/neovim/neovim/statuses/152e140468944c15005699b13f8c134b22390b1b" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5142, - "forks_count": 5142, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1740, - "open_issues_count": 1740, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-16T01:33:17Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 247954, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 72793, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-16T01:52:35Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 72793, - "watchers_count": 72793, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, - "sha": "2dc439c672facaeb8e51ef6aa20efc0e7092eee2", + "sha": "6709f7f8f130377f44c36b2150a167a2afcbdff9", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -266,9 +266,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/famiu/neovim/pulls{/number}", - "pushed_at": "2024-01-15T18:17:22Z", + "pushed_at": "2024-02-03T07:24:46Z", "releases_url": "https://api.github.com/repos/famiu/neovim/releases{/id}", - "size": 242685, + "size": 246838, "ssh_url": "git@github.com:famiu/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/famiu/neovim/stargazers", @@ -287,7 +287,7 @@ "watchers_count": 0, "web_commit_signoff_required": false }, - "sha": "84425eea92314d720f7f631cffcc70022da63a25", + "sha": "152e140468944c15005699b13f8c134b22390b1b", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/29580810?v=4", "events_url": "https://api.github.com/users/famiu/events{/privacy}", @@ -333,7 +333,7 @@ } ], "locked": false, - "merge_commit_sha": "732a787f0a948723e0857ce517f35b4526772e34", + "merge_commit_sha": "61b4a3d65b1fd0b36d68f2a02f26206097750250", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5joFl4", @@ -365,9 +365,9 @@ "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/26970/comments", "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/84425eea92314d720f7f631cffcc70022da63a25", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/152e140468944c15005699b13f8c134b22390b1b", "title": "refactor(options): remove `set_string_option_direct()`", - "updated_at": "2024-01-13T10:44:44Z", + "updated_at": "2024-02-03T07:24:48Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/26970", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/29580810?v=4", diff --git a/repositories/neovim/pulls/27021.json b/repositories/neovim/pulls/27021.json index fa015ad7..4056c202 100644 --- a/repositories/neovim/pulls/27021.json +++ b/repositories/neovim/pulls/27021.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5174, - "forks_count": 5174, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1735, - "open_issues_count": 1735, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-30T00:09:25Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251558, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 73268, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-30T01:30:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 73268, - "watchers_count": 73268, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "7ed69660237bd052d11af454503a986c22c507a7", @@ -443,9 +443,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/glepnir/neovim/pulls{/number}", - "pushed_at": "2024-01-29T05:14:15Z", + "pushed_at": "2024-02-05T12:00:25Z", "releases_url": "https://api.github.com/repos/glepnir/neovim/releases{/id}", - "size": 246119, + "size": 248354, "ssh_url": "git@github.com:glepnir/neovim.git", "stargazers_count": 2, "stargazers_url": "https://api.github.com/repos/glepnir/neovim/stargazers", @@ -504,7 +504,7 @@ "state": "closed", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/ef312426f39feb66755eee957ae2601d9649508f", "title": "feat(iter): add reduce", - "updated_at": "2024-01-25T15:11:14Z", + "updated_at": "2024-02-04T03:51:20Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/27021", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", diff --git a/repositories/neovim/pulls/27025.json b/repositories/neovim/pulls/27025.json index 82904590..84112908 100644 --- a/repositories/neovim/pulls/27025.json +++ b/repositories/neovim/pulls/27025.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5156, - "forks_count": 5156, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1738, - "open_issues_count": 1738, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-23T01:27:16Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251208, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 72998, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-23T01:05:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 72998, - "watchers_count": 72998, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "ae48d965d70cc721a3165c40ba0c34d95408e229", @@ -617,7 +617,7 @@ "issues_url": "https://api.github.com/repos/wookayin/neovim/issues{/number}", "keys_url": "https://api.github.com/repos/wookayin/neovim/keys{/key_id}", "labels_url": "https://api.github.com/repos/wookayin/neovim/labels{/name}", - "language": null, + "language": "Vim Script", "languages_url": "https://api.github.com/repos/wookayin/neovim/languages", "license": { "key": "other", @@ -656,9 +656,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/wookayin/neovim/pulls{/number}", - "pushed_at": "2024-01-21T02:39:51Z", + "pushed_at": "2024-02-05T22:04:28Z", "releases_url": "https://api.github.com/repos/wookayin/neovim/releases{/id}", - "size": 247998, + "size": 247830, "ssh_url": "git@github.com:wookayin/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/wookayin/neovim/stargazers", @@ -670,7 +670,7 @@ "teams_url": "https://api.github.com/repos/wookayin/neovim/teams", "topics": [], "trees_url": "https://api.github.com/repos/wookayin/neovim/git/trees{/sha}", - "updated_at": "2022-10-30T19:25:41Z", + "updated_at": "2024-01-25T20:45:40Z", "url": "https://api.github.com/repos/wookayin/neovim", "visibility": "public", "watchers": 0, @@ -706,7 +706,7 @@ { "color": "c5def5", "default": false, - "description": null, + "description": "stdlib", "id": 573222693, "name": "lua", "node_id": "MDU6TGFiZWw1NzMyMjI2OTM=", @@ -718,7 +718,7 @@ "merged_at": "2024-01-21T10:41:51Z", "milestone": { "closed_at": null, - "closed_issues": 252, + "closed_issues": 278, "created_at": "2023-02-02T14:11:43Z", "creator": { "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", @@ -747,10 +747,10 @@ "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", "node_id": "MI_kwDOAPphoM4AiUsW", "number": 36, - "open_issues": 134, + "open_issues": 138, "state": "open", "title": "0.10", - "updated_at": "2024-01-22T22:15:07Z", + "updated_at": "2024-02-05T21:59:25Z", "url": "https://api.github.com/repos/neovim/neovim/milestones/36" }, "node_id": "PR_kwDOAPphoM5kHM07", @@ -763,7 +763,7 @@ "state": "closed", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/a071bb339d44fd35875179b11971eca9a05e9fbc", "title": "feat(vim.version): add `vim.version.le` and `vim.version.ge`", - "updated_at": "2024-01-21T10:42:06Z", + "updated_at": "2024-02-04T22:24:57Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/27025", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", diff --git a/repositories/neovim/pulls/27027.json b/repositories/neovim/pulls/27027.json index b69f85f3..5f90d8e0 100644 --- a/repositories/neovim/pulls/27027.json +++ b/repositories/neovim/pulls/27027.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5156, - "forks_count": 5156, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1738, - "open_issues_count": 1738, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-23T01:27:16Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251208, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 72998, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-23T01:05:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 72998, - "watchers_count": 72998, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "ae48d965d70cc721a3165c40ba0c34d95408e229", @@ -846,7 +846,7 @@ "issues_url": "https://api.github.com/repos/wookayin/neovim/issues{/number}", "keys_url": "https://api.github.com/repos/wookayin/neovim/keys{/key_id}", "labels_url": "https://api.github.com/repos/wookayin/neovim/labels{/name}", - "language": null, + "language": "Vim Script", "languages_url": "https://api.github.com/repos/wookayin/neovim/languages", "license": { "key": "other", @@ -885,9 +885,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/wookayin/neovim/pulls{/number}", - "pushed_at": "2024-01-21T02:39:51Z", + "pushed_at": "2024-02-05T22:04:28Z", "releases_url": "https://api.github.com/repos/wookayin/neovim/releases{/id}", - "size": 247998, + "size": 247830, "ssh_url": "git@github.com:wookayin/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/wookayin/neovim/stargazers", @@ -899,7 +899,7 @@ "teams_url": "https://api.github.com/repos/wookayin/neovim/teams", "topics": [], "trees_url": "https://api.github.com/repos/wookayin/neovim/git/trees{/sha}", - "updated_at": "2022-10-30T19:25:41Z", + "updated_at": "2024-01-25T20:45:40Z", "url": "https://api.github.com/repos/wookayin/neovim", "visibility": "public", "watchers": 0, @@ -935,7 +935,7 @@ { "color": "c5def5", "default": false, - "description": null, + "description": "stdlib", "id": 573222693, "name": "lua", "node_id": "MDU6TGFiZWw1NzMyMjI2OTM=", @@ -956,7 +956,7 @@ "merged_at": "2024-01-19T12:00:48Z", "milestone": { "closed_at": null, - "closed_issues": 252, + "closed_issues": 278, "created_at": "2023-02-02T14:11:43Z", "creator": { "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", @@ -985,10 +985,10 @@ "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", "node_id": "MI_kwDOAPphoM4AiUsW", "number": 36, - "open_issues": 134, + "open_issues": 138, "state": "open", "title": "0.10", - "updated_at": "2024-01-22T22:15:07Z", + "updated_at": "2024-02-05T21:59:25Z", "url": "https://api.github.com/repos/neovim/neovim/milestones/36" }, "node_id": "PR_kwDOAPphoM5kHrhF", @@ -1001,7 +1001,7 @@ "state": "closed", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/1708abbd4f86fd06b334a1af12aef4639dd74319", "title": "fix(vim.deprecate): show deprecation warning in devel versions as well", - "updated_at": "2024-01-19T12:01:07Z", + "updated_at": "2024-02-04T22:24:31Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/27027", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", diff --git a/repositories/neovim/pulls/27082.json b/repositories/neovim/pulls/27082.json index a1c4d420..7fd023c2 100644 --- a/repositories/neovim/pulls/27082.json +++ b/repositories/neovim/pulls/27082.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5174, - "forks_count": 5174, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1735, - "open_issues_count": 1735, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-30T00:09:25Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251558, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 73268, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-30T01:30:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 73268, - "watchers_count": 73268, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "758504ec739b70c4e2f192feb106f101024bc862", @@ -227,7 +227,7 @@ "node_id": "IC_kwDOAPphoM5x26kp", "performed_via_github_app": null, "reactions": { - "+1": 0, + "+1": 1, "-1": 0, "confused": 0, "eyes": 0, @@ -235,7 +235,7 @@ "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 0, + "total_count": 1, "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1910221097/reactions" }, "updated_at": "2024-01-25T13:27:17Z", @@ -392,6 +392,50 @@ "type": "User", "url": "https://api.github.com/users/Spxg" } + }, + { + "author_association": "NONE", + "body": "> Would it be possible to add a test case for this?\r\n\r\nI'll give it a try, but I need some time to learn how to write tests in neovim", + "created_at": "2024-02-01T11:48:57Z", + "html_url": "https://github.com/neovim/neovim/pull/27082#issuecomment-1921146784", + "id": 1921146784, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27082", + "node_id": "IC_kwDOAPphoM5ygl-g", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921146784/reactions" + }, + "updated_at": "2024-02-01T11:48:57Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921146784", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/17252397?v=4", + "events_url": "https://api.github.com/users/Spxg/events{/privacy}", + "followers_url": "https://api.github.com/users/Spxg/followers", + "following_url": "https://api.github.com/users/Spxg/following{/other_user}", + "gists_url": "https://api.github.com/users/Spxg/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Spxg", + "id": 17252397, + "login": "Spxg", + "node_id": "MDQ6VXNlcjE3MjUyMzk3", + "organizations_url": "https://api.github.com/users/Spxg/orgs", + "received_events_url": "https://api.github.com/users/Spxg/received_events", + "repos_url": "https://api.github.com/users/Spxg/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Spxg/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Spxg/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Spxg" + } } ], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27082/comments", @@ -545,7 +589,7 @@ } ], "locked": false, - "merge_commit_sha": "85be30aa46e6b2bfd8bf24b8fc1f123e4a8e8ad9", + "merge_commit_sha": "f9775ba20faa9a6d891ceee0a495e0fdd106624d", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5kclf-", @@ -591,26 +635,6 @@ "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", "type": "User", "url": "https://api.github.com/users/MariaSolOs" - }, - { - "avatar_url": "https://avatars.githubusercontent.com/u/38700?v=4", - "events_url": "https://api.github.com/users/mfussenegger/events{/privacy}", - "followers_url": "https://api.github.com/users/mfussenegger/followers", - "following_url": "https://api.github.com/users/mfussenegger/following{/other_user}", - "gists_url": "https://api.github.com/users/mfussenegger/gists{/gist_id}", - "gravatar_id": "", - "html_url": "https://github.com/mfussenegger", - "id": 38700, - "login": "mfussenegger", - "node_id": "MDQ6VXNlcjM4NzAw", - "organizations_url": "https://api.github.com/users/mfussenegger/orgs", - "received_events_url": "https://api.github.com/users/mfussenegger/received_events", - "repos_url": "https://api.github.com/users/mfussenegger/repos", - "site_admin": false, - "starred_url": "https://api.github.com/users/mfussenegger/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/mfussenegger/subscriptions", - "type": "User", - "url": "https://api.github.com/users/mfussenegger" } ], "requested_teams": [], @@ -619,7 +643,7 @@ "state": "open", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/1a4391e68c2ed7cd46e5685ec7baaf5bdd644e15", "title": "fix(lsp): reset `applied` and the events when `bufstate` is not enabled", - "updated_at": "2024-01-29T15:16:38Z", + "updated_at": "2024-02-01T11:48:58Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/27082", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/17252397?v=4", diff --git a/repositories/neovim/pulls/27091.json b/repositories/neovim/pulls/27091.json index bca6b155..7b90e849 100644 --- a/repositories/neovim/pulls/27091.json +++ b/repositories/neovim/pulls/27091.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5156, - "forks_count": 5156, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1738, - "open_issues_count": 1738, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-23T01:27:16Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251208, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 72998, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-23T01:05:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 72998, - "watchers_count": 72998, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "5a8fe0769cc9c5d8323b073d5c45ee37ce91c049", @@ -354,7 +354,7 @@ "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27091/commits", "created_at": "2024-01-19T12:37:54Z", "diff_url": "https://github.com/neovim/neovim/pull/27091.diff", - "draft": false, + "draft": true, "head": { "label": "altermo:add_doc_about_lpeg_op", "ref": "add_doc_about_lpeg_op", @@ -373,7 +373,7 @@ "contents_url": "https://api.github.com/repos/altermo/neovim-fork/contents/{+path}", "contributors_url": "https://api.github.com/repos/altermo/neovim-fork/contributors", "created_at": "2023-09-13T06:55:17Z", - "default_branch": "master", + "default_branch": "DONT-USE-THIS-AS-SOURCE-WHEN-CREATING-NEW-BRANCH", "deployments_url": "https://api.github.com/repos/altermo/neovim-fork/deployments", "description": null, "disabled": false, @@ -419,8 +419,8 @@ "name": "neovim-fork", "node_id": "R_kgDOKS628w", "notifications_url": "https://api.github.com/repos/altermo/neovim-fork/notifications{?since,all,participating}", - "open_issues": 0, - "open_issues_count": 0, + "open_issues": 1, + "open_issues_count": 1, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", "events_url": "https://api.github.com/users/altermo/events{/privacy}", @@ -443,9 +443,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/altermo/neovim-fork/pulls{/number}", - "pushed_at": "2024-01-22T13:44:20Z", + "pushed_at": "2024-02-05T17:19:10Z", "releases_url": "https://api.github.com/repos/altermo/neovim-fork/releases{/id}", - "size": 244048, + "size": 245987, "ssh_url": "git@github.com:altermo/neovim-fork.git", "stargazers_count": 1, "stargazers_url": "https://api.github.com/repos/altermo/neovim-fork/stargazers", @@ -502,7 +502,7 @@ { "color": "c5def5", "default": false, - "description": null, + "description": "stdlib", "id": 573222693, "name": "lua", "node_id": "MDU6TGFiZWw1NzMyMjI2OTM=", @@ -510,41 +510,20 @@ } ], "locked": false, - "merge_commit_sha": "7d61d9d5b21413c5d94825d261037789883e0919", + "merge_commit_sha": "afa14e0d0c8275ce0b14469b3cef113de38a7fb8", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5kiwVp", "number": 27091, "patch_url": "https://github.com/neovim/neovim/pull/27091.patch", - "requested_reviewers": [ - { - "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", - "events_url": "https://api.github.com/users/clason/events{/privacy}", - "followers_url": "https://api.github.com/users/clason/followers", - "following_url": "https://api.github.com/users/clason/following{/other_user}", - "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", - "gravatar_id": "", - "html_url": "https://github.com/clason", - "id": 2361214, - "login": "clason", - "node_id": "MDQ6VXNlcjIzNjEyMTQ=", - "organizations_url": "https://api.github.com/users/clason/orgs", - "received_events_url": "https://api.github.com/users/clason/received_events", - "repos_url": "https://api.github.com/users/clason/repos", - "site_admin": false, - "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/clason/subscriptions", - "type": "User", - "url": "https://api.github.com/users/clason" - } - ], + "requested_reviewers": [], "requested_teams": [], "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27091/comments", "state": "open", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/aecd62bfddf084da3224fa4478568c44f1511bb6", "title": "docs: add documentation about lpeg operators", - "updated_at": "2024-01-22T04:40:40Z", + "updated_at": "2024-02-05T14:25:07Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/27091", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", diff --git a/repositories/neovim/pulls/27097.json b/repositories/neovim/pulls/27097.json index e2c8992a..6739a5b7 100644 --- a/repositories/neovim/pulls/27097.json +++ b/repositories/neovim/pulls/27097.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/27097" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/a42e7ab5c557f8df9851e3bd2e3870944343f977" + "href": "https://api.github.com/repos/neovim/neovim/statuses/08e4d99e5dec99e3f7c965ba0a5915601842ea26" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5174, - "forks_count": 5174, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1735, - "open_issues_count": 1735, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-30T00:09:25Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251558, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 73268, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-30T01:30:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 73268, - "watchers_count": 73268, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, - "sha": "e35ae6fbc2ef47a7be1a787031072ba911f7e918", + "sha": "cc197d04fc36a6ee4219f20772a7b39dd976edfd", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -169,7 +169,7 @@ "url": "https://api.github.com/users/neovim" } }, - "body": "**The reasoning behind the rewrite**\r\n1. Some neovim-specific decorations (mainly extmarks and treesitter) don't get handled by TOhtml.vim.\r\n2. TOhtml.vim is written in Vim script, and to not make it slow, they needed to write some hard-to-understand code, and lua is so much faster, that there is not much need to use magic to write fast code.\r\n3. TOhtml.vim is not updated that often (typically once every few years) so there's no need to worry about rewriting every new feature of TOhtml.vim in lua.\r\n\r\n**What this rewrite is not**\r\nAs @clason described, this rewrite needs not to be a full rewrite of `TOhtml.vim` (with all the features), so it is not.\r\n\r\n**What this rewrite is**\r\nThis rewrite has the purpose of creating a plugin which can convert a vim window with all it's decorations to html.\r\n\r\n**The visual things that still don't work**\r\n+ LSP semantic tokens that are not on the screen\r\n+ Highlighted folds\r\n+ More complex internal statuscol (number+relativenumer+{foldcolumn or signcolumn})\r\n+ The following are not planned for this pull requset:\r\n + Right aligned extmarks\r\n + Extmarks' hl_mode\r\n + Spell\r\n + Priority for specific decorations\r\n\r\nRelated:\r\n+ https://github.com/neovim/neovim/issues/21629", + "body": "**The reasoning behind the rewrite**\r\n1. Some neovim-specific decorations (mainly extmarks and treesitter) don't get handled by TOhtml.vim.\r\n2. TOhtml.vim is written in Vim script, and to not make it slow, they needed to write some hard-to-understand code, and lua is so much faster, that there is not much need to use magic to write fast code.\r\n3. TOhtml.vim is not updated that often (typically once every few years) so there's no need to worry about rewriting every new feature of TOhtml.vim in lua.\r\n\r\n**What this rewrite is not**\r\nAs @clason described, this rewrite needs not to be a full rewrite of `TOhtml.vim` (with all the features), so it is not.\r\n\r\n**What this rewrite is**\r\nThis rewrite has the purpose of creating a plugin which can convert a vim window with all it's decorations to html.\r\n\r\n**The visual things that still don't work**\r\n+ LSP semantic tokens that are not on the screen\r\n+ Highlighted folds\r\n+ More complex internal statuscol (number+relativenumer+{foldcolumn or signcolumn})\r\n+ Right aligned extmarks\r\n+ Extmarks' hl_mode\r\n+ Spell\r\n+ Priority for specific decorations\r\n+ Less used highlight attributes (font, special color, reverse, underdouble, blend, ...)\r\n\r\nRelated:\r\n+ https://github.com/neovim/neovim/issues/21629", "closed_at": null, "comment_data": [ { @@ -186,7 +186,7 @@ }, "author_association": "CONTRIBUTOR", "body": "I think it's end_row + 1 here. Treesitter range is end-exclusive", - "commit_id": "a42e7ab5c557f8df9851e3bd2e3870944343f977", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", "created_at": "2024-01-20T10:36:03Z", "diff_hunk": "@@ -0,0 +1,473 @@\n+--- Neovim plugin for converting a syntax highlighted file to HTML.\n+\n+if vim.g.loaded_2html_plugin then\n+ return\n+end\n+vim.g.loaded_2html_plugin = 'nvim10.0_v1'\n+\n+---@class tohtml.state\n+---@field bufnr number\n+---@field background string\n+---@field foreground string\n+---@field title string|false\n+---@field start_row number\n+---@field end_row number\n+---@field use_css boolean\n+---@field font string\n+---@class tohtml.opt\n+---@field title? string|false\n+---@field start_row? number\n+---@field end_row? number\n+---@field use_css? boolean\n+---@class tohtml.styletable\n+---@field highlights table\n+---@field [number] tohtml.line\n+---@class tohtml.line\n+---@field [number] tohtml.cell?\n+---@class tohtml.cell\n+---@field [1] number[] start\n+---@field [2] number[] close\n+---@field [3] string[][] virt_text\n+---@field [4] number[] hide\n+---@class tohtml.highlight\n+---@field bold? boolean\n+---@field italic? boolean\n+---@field underline? boolean\n+---@field color? {fg:string?,bg:string?}\n+---@field name? string\n+\n+local M = {}\n+---@param tbl table<''|any,nil|any>\n+---@return table<''|any,any>\n+function M.trim(tbl)\n+ for k, v in pairs(tbl) do\n+ if v == '' then\n+ tbl[k] = nil\n+ end\n+ end\n+ return tbl\n+end\n+---@generic T\n+---@param tbl table\n+---@param key T\n+---@return table\n+function M.fill(tbl, key)\n+ if tbl[key] == nil then\n+ tbl[key] = { {}, {}, {}, {} }\n+ end\n+ return tbl[key]\n+end\n+---@param state tohtml.state\n+---@return tohtml.styletable\n+function M.generate_styletable(state)\n+ ---@type tohtml.styletable\n+ local styletable = { highlights = {} }\n+ for row = 1, state.end_row + 1 do\n+ styletable[row] = {}\n+ end\n+ return styletable\n+end\n+---@param styletable tohtml.styletable\n+---@param id number\n+---@param state tohtml.state\n+function M.extend_highlight(styletable, id, state)\n+ if styletable.highlights[id] then\n+ return\n+ end\n+ if not state.use_css then\n+ styletable.highlights[id] = M.trim({\n+ color = M.trim({\n+ fg = vim.fn.synIDattr(id, 'fg#'),\n+ bg = vim.fn.synIDattr(id, 'bg#'),\n+ }),\n+ underline = vim.fn.synIDattr(id, 'underline'),\n+ bold = vim.fn.synIDattr(id, 'bold'),\n+ italic = vim.fn.synIDattr(id, 'italic'),\n+ })\n+ else\n+ styletable.highlights[id] = {\n+ name = vim.fn.synIDattr(id, 'name'),\n+ }\n+ end\n+end\n+---@param styletable tohtml.styletable\n+---@param state tohtml.state\n+function M.styletable_syntax(styletable, state)\n+ local bufnr = state.bufnr\n+ vim.api.nvim_buf_call(bufnr, function()\n+ local start_row = state.start_row\n+ for row_offset, line in ipairs(styletable) do\n+ row_offset = row_offset - 1\n+ local prev_id = 0\n+ for col = 1, #line - 1 do\n+ local id = vim.fn.synID(start_row + row_offset, col, 1)\n+ id = vim.fn.synIDtrans(id)\n+ if id ~= prev_id then\n+ if prev_id ~= 0 then\n+ table.insert(line[col][2], prev_id)\n+ end\n+ prev_id = id\n+ if id ~= 0 then\n+ M.extend_highlight(styletable, id, state)\n+ table.insert(M.fill(line, col)[1], id)\n+ end\n+ end\n+ end\n+ if prev_id ~= 0 then\n+ table.insert(M.fill(line, #line)[2], prev_id)\n+ end\n+ end\n+ end)\n+end\n+---@param styletable tohtml.styletable\n+---@param state tohtml.state\n+function M.styletable_treesitter(styletable, state)\n+ ---TODO(altermo) get highlighted of injected trees after, which have not been on screen\n+ local bufnr = state.bufnr\n+ ---@diagnostic disable-next-line: undefined-field\n+ local buf_highlighter = vim.treesitter.highlighter.active[bufnr]\n+ if not buf_highlighter then\n+ return\n+ end\n+ local start_row = state.start_row - 1\n+ local end_row = state.end_row - 1\n+ buf_highlighter.tree:for_each_tree(function(tstree, tree)\n+ ---@cast tree LanguageTree\n+ if not tstree then\n+ return\n+ end\n+ local root = tstree:root()\n+ local q = buf_highlighter:get_query(tree:lang())\n+ ---@type Query?\n+ local query = q:query()\n+ if not query then\n+ return\n+ end\n+ for capture, node, metadata in\n+ query:iter_captures(root, buf_highlighter.bufnr, start_row, end_row)", "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1460359266", @@ -254,7 +254,7 @@ }, "author_association": "MEMBER", "body": "Seconding @lucario387's comment, it should be clear whether this is zero-based and/or past-to-end convention. See #26631", - "commit_id": "a42e7ab5c557f8df9851e3bd2e3870944343f977", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", "created_at": "2024-01-20T10:39:02Z", "diff_hunk": "@@ -0,0 +1,473 @@\n+--- Neovim plugin for converting a syntax highlighted file to HTML.\n+\n+if vim.g.loaded_2html_plugin then\n+ return\n+end\n+vim.g.loaded_2html_plugin = 'nvim10.0_v1'\n+\n+---@class tohtml.state\n+---@field bufnr number\n+---@field background string\n+---@field foreground string\n+---@field title string|false\n+---@field start_row number\n+---@field end_row number", "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1460360784", @@ -322,7 +322,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n\r\n---@class tohtml.opt\r\n```\r\n\r\n(and similarly for others too)", - "commit_id": "a42e7ab5c557f8df9851e3bd2e3870944343f977", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", "created_at": "2024-01-20T10:40:03Z", "diff_hunk": "@@ -0,0 +1,473 @@\n+--- Neovim plugin for converting a syntax highlighted file to HTML.\n+\n+if vim.g.loaded_2html_plugin then\n+ return\n+end\n+vim.g.loaded_2html_plugin = 'nvim10.0_v1'\n+\n+---@class tohtml.state\n+---@field bufnr number\n+---@field background string\n+---@field foreground string\n+---@field title string|false\n+---@field start_row number\n+---@field end_row number\n+---@field use_css boolean\n+---@field font string\n+---@class tohtml.opt", "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1460361346", @@ -390,7 +390,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n\r\n---@generic T\r\n```\r\netc. Please use whitespaces and blank lines appropriately everywhere. I know it's a nit comment that is *unfair* for a draft PR, but commenting this early because these aren't enforced by Stylua.", - "commit_id": "a42e7ab5c557f8df9851e3bd2e3870944343f977", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", "created_at": "2024-01-20T10:40:35Z", "diff_hunk": "@@ -0,0 +1,473 @@\n+--- Neovim plugin for converting a syntax highlighted file to HTML.\n+\n+if vim.g.loaded_2html_plugin then\n+ return\n+end\n+vim.g.loaded_2html_plugin = 'nvim10.0_v1'\n+\n+---@class tohtml.state\n+---@field bufnr number\n+---@field background string\n+---@field foreground string\n+---@field title string|false\n+---@field start_row number\n+---@field end_row number\n+---@field use_css boolean\n+---@field font string\n+---@class tohtml.opt\n+---@field title? string|false\n+---@field start_row? number\n+---@field end_row? number\n+---@field use_css? boolean\n+---@class tohtml.styletable\n+---@field highlights table\n+---@field [number] tohtml.line\n+---@class tohtml.line\n+---@field [number] tohtml.cell?\n+---@class tohtml.cell\n+---@field [1] number[] start\n+---@field [2] number[] close\n+---@field [3] string[][] virt_text\n+---@field [4] number[] hide\n+---@class tohtml.highlight\n+---@field bold? boolean\n+---@field italic? boolean\n+---@field underline? boolean\n+---@field color? {fg:string?,bg:string?}\n+---@field name? string\n+\n+local M = {}\n+---@param tbl table<''|any,nil|any>\n+---@return table<''|any,any>\n+function M.trim(tbl)\n+ for k, v in pairs(tbl) do\n+ if v == '' then\n+ tbl[k] = nil\n+ end\n+ end\n+ return tbl\n+end\n+---@generic T", "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1460361674", @@ -458,7 +458,7 @@ }, "author_association": "MEMBER", "body": "Do we use this pattern in Lua plugins? Most of the code should live in a module that is not loaded until `require()`.", - "commit_id": "a42e7ab5c557f8df9851e3bd2e3870944343f977", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", "created_at": "2024-01-21T20:11:04Z", "diff_hunk": "@@ -0,0 +1,770 @@\n+--- Neovim plugin for converting a syntax highlighted file to HTML.\n+\n+if vim.g.loaded_2html_plugin then", "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1461097769", @@ -526,7 +526,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Yeah, but I have it this way for ease of convenience. I'll move the functions to the right files when I'm done with the features.", - "commit_id": "a42e7ab5c557f8df9851e3bd2e3870944343f977", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", "created_at": "2024-01-21T20:16:15Z", "diff_hunk": "@@ -0,0 +1,770 @@\n+--- Neovim plugin for converting a syntax highlighted file to HTML.\n+\n+if vim.g.loaded_2html_plugin then", "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1461100117", @@ -595,7 +595,7 @@ }, "author_association": "MEMBER", "body": "Should live somewhere in `/lua` (which is the \"`autoload` at home\" for Lua functions). There's really no need for this to be in `/plugin` and sourced on every startup).", - "commit_id": "a42e7ab5c557f8df9851e3bd2e3870944343f977", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", "created_at": "2024-01-22T12:59:11Z", "diff_hunk": "@@ -0,0 +1,770 @@\n+--- Neovim plugin for converting a syntax highlighted file to HTML.\n+\n+if vim.g.loaded_2html_plugin then", "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1461827399", @@ -664,7 +664,7 @@ }, "author_association": "CONTRIBUTOR", "body": "Okay, I moved the functions to lua/tohtml.lua", - "commit_id": "a42e7ab5c557f8df9851e3bd2e3870944343f977", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", "created_at": "2024-01-24T16:52:21Z", "diff_hunk": "@@ -0,0 +1,770 @@\n+--- Neovim plugin for converting a syntax highlighted file to HTML.\n+\n+if vim.g.loaded_2html_plugin then", "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1465255250", @@ -733,7 +733,7 @@ }, "author_association": "MEMBER", "body": "Final location still TBD; we don't like having a lot of unrelated top-level scripts ;)\r\n\r\nBut this is much closer to how it'll have to be in the end.", - "commit_id": "a42e7ab5c557f8df9851e3bd2e3870944343f977", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", "created_at": "2024-01-24T16:58:42Z", "diff_hunk": "@@ -0,0 +1,770 @@\n+--- Neovim plugin for converting a syntax highlighted file to HTML.\n+\n+if vim.g.loaded_2html_plugin then", "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1465267205", @@ -802,7 +802,7 @@ }, "author_association": "MEMBER", "body": "Why this specific value? It should just be 0 or 1 (**if** we want to keep legacy conventions for Lua modules, which I'm not convinced about).\r\n\r\n(Note that these are just general guidances; I know this PR is still draft, and if you're incrementally converting from the legacy plugin, this is OK. I just want you to be clear as early as possible about our expectations for the final product. And to be perfectly: it is **not** a 1:1 translation of the old plugin just in Lua; it should have a much smaller API surface and be focused on the goal of providing a printable format via browsers.)", - "commit_id": "a42e7ab5c557f8df9851e3bd2e3870944343f977", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", "created_at": "2024-01-24T17:03:42Z", "diff_hunk": "@@ -0,0 +1,58 @@\n+if vim.g.loaded_2html_plugin then\n+ return\n+end\n+vim.g.loaded_2html_plugin = 'nvim10.0_v1'", "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1465275469", @@ -870,7 +870,7 @@ }, "author_association": "CONTRIBUTOR", "body": "It was that value because `TOhtml` used that format.\r\n\r\nI have updated and set it to `true` (because `plugin/man.lua` does it that way)\r\n\r\nAlso, I have removed the options that remove specific decorations (like conceal).", - "commit_id": "a42e7ab5c557f8df9851e3bd2e3870944343f977", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", "created_at": "2024-01-24T18:48:57Z", "diff_hunk": "@@ -0,0 +1,58 @@\n+if vim.g.loaded_2html_plugin then\n+ return\n+end\n+vim.g.loaded_2html_plugin = 'nvim10.0_v1'", "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1465401840", @@ -939,7 +939,7 @@ }, "author_association": "MEMBER", "body": "Right; I just want to make it clear that we don't consider `TOhtml` to be a good model for... basically, anything ;)\r\n\r\nWe'd love to have the basic functionality with none of the legacy baggage. (Which should make your job easier as well, since you can just skip any of the more byzantine parts of the code...)", - "commit_id": "a42e7ab5c557f8df9851e3bd2e3870944343f977", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", "created_at": "2024-01-24T18:52:24Z", "diff_hunk": "@@ -0,0 +1,58 @@\n+if vim.g.loaded_2html_plugin then\n+ return\n+end\n+vim.g.loaded_2html_plugin = 'nvim10.0_v1'", "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1465405282", @@ -1008,7 +1008,7 @@ }, "author_association": "CONTRIBUTOR", "body": "So, should multi-window diffs be supported? (That's basically the last major feature thing that I'm planning to add)", - "commit_id": "a42e7ab5c557f8df9851e3bd2e3870944343f977", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", "created_at": "2024-01-24T19:23:01Z", "diff_hunk": "@@ -0,0 +1,58 @@\n+if vim.g.loaded_2html_plugin then\n+ return\n+end\n+vim.g.loaded_2html_plugin = 'nvim10.0_v1'", "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1465435371", @@ -1077,7 +1077,7 @@ }, "author_association": "MEMBER", "body": "Certainly not needed for a first PR. (In fact, I would have stopped to take stock much earlier...)", - "commit_id": "a42e7ab5c557f8df9851e3bd2e3870944343f977", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", "created_at": "2024-01-24T19:36:33Z", "diff_hunk": "@@ -0,0 +1,58 @@\n+if vim.g.loaded_2html_plugin then\n+ return\n+end\n+vim.g.loaded_2html_plugin = 'nvim10.0_v1'", "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1465448515", @@ -1146,7 +1146,7 @@ }, "author_association": "MEMBER", "body": "All this makes it sound like I want to discourage you -- I don't, we really appreciate your efforts!", - "commit_id": "a42e7ab5c557f8df9851e3bd2e3870944343f977", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", "created_at": "2024-01-24T19:37:29Z", "diff_hunk": "@@ -0,0 +1,58 @@\n+if vim.g.loaded_2html_plugin then\n+ return\n+end\n+vim.g.loaded_2html_plugin = 'nvim10.0_v1'", "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1465449309", @@ -1215,7 +1215,7 @@ }, "author_association": "MEMBER", "body": "Syntax files are just normal scripts, they can be in Lua as well. So no reason for this nesting dance.\r\n\r\nBut, really, why is this file even needed? All we need is a Lua module that can be `require`d (and possibly -- but not necessarily! -- a small `plugin` file that defines a user command).\r\n\r\nAgain, the end result should (must) be significantly simpler than TOhtml's Rube Goldberg machine. So before you port _anything_, ask yourself (or us) \"is this really needed?\"", - "commit_id": "a42e7ab5c557f8df9851e3bd2e3870944343f977", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", "created_at": "2024-01-25T09:15:08Z", "diff_hunk": "@@ -1,2068 +1,5 @@\n-\" Vim syntax support file\n-\" Maintainer: Ben Fritz \n-\" Last Change: 2023 Sep 05\n-\"\n-\" Additional contributors:\n-\"\n-\" Original by Bram Moolenaar \n-\" Modified by David Ne\\v{c}as (Yeti) \n-\" XHTML support by Panagiotis Issaris \n-\" Made w3 compliant by Edd Barrett \n-\" Added html_font. Edd Barrett \n-\" Progress bar based off code from \"progressbar widget\" plugin by\n-\" Andreas Politz, heavily modified:\n-\" http://www.vim.org/scripts/script.php?script_id=2006\n-\"\n-\" See Mercurial change logs for more!\n-\n-\" Transform a file into HTML, using the current syntax highlighting.\n-\n-\" this file uses line continuations\n-let s:cpo_sav = &cpo\n-let s:ls = &ls\n-let s:ei_sav = &eventignore\n-set cpo&vim\n-\n-\" HTML filetype can take a while to load/highlight if the destination file\n-\" already exists.\n-set eventignore+=FileType\n-\n-let s:end=line('$')\n-\n-\" Font\n-if exists(\"g:html_font\")\n- if type(g:html_font) == type([])\n- let s:htmlfont = \"'\".. join(g:html_font,\"','\") .. \"', monospace\"\n- else\n- let s:htmlfont = \"'\".. g:html_font .. \"', monospace\"\n- endif\n-else\n- let s:htmlfont = \"monospace\"\n-endif\n-\n-let s:settings = tohtml#GetUserSettings()\n-\n-if s:settings.use_xhtml\n- let s:html5 = 0\n-elseif s:settings.use_css && !s:settings.no_pre\n- let s:html5 = 1\n-else\n- let s:html5 = 0\n-endif\n-\n-if !exists('s:FOLDED_ID')\n- let s:FOLDED_ID = hlID(\"Folded\") | lockvar s:FOLDED_ID\n- let s:FOLD_C_ID = hlID(\"FoldColumn\") | lockvar s:FOLD_C_ID\n- let s:LINENR_ID = hlID('LineNr') | lockvar s:LINENR_ID\n- let s:DIFF_D_ID = hlID(\"DiffDelete\") | lockvar s:DIFF_D_ID\n- let s:DIFF_A_ID = hlID(\"DiffAdd\") | lockvar s:DIFF_A_ID\n- let s:DIFF_C_ID = hlID(\"DiffChange\") | lockvar s:DIFF_C_ID\n- let s:DIFF_T_ID = hlID(\"DiffText\") | lockvar s:DIFF_T_ID\n- let s:CONCEAL_ID = hlID('Conceal') | lockvar s:CONCEAL_ID\n-endif\n-\n-\" Whitespace\n-if s:settings.pre_wrap\n- let s:whitespace = \"white-space: pre-wrap; \"\n-else\n- let s:whitespace = \"\"\n-endif\n-\n-if !empty(s:settings.prevent_copy)\n- if s:settings.no_invalid\n- \" User has decided they don't want invalid markup. Still works in\n- \" OpenOffice, and for text editors, but when pasting into Microsoft Word the\n- \" input elements get pasted too and they cannot be deleted (at least not\n- \" easily).\n- let s:unselInputType = \"\"\n- else\n- \" Prevent from copy-pasting the input elements into Microsoft Word where\n- \" they cannot be deleted easily by deliberately inserting invalid markup.\n- let s:unselInputType = \" type='invalid_input_type'\"\n- endif\n-endif\n-\n-\" When gui colors are not supported, we can only guess the colors.\n-\" TODO - is this true anymore? Is there a way to ask the terminal what colors\n-\" each number means or read them from some file?\n-if &termguicolors || has(\"gui_running\")\n- let s:whatterm = \"gui\"\n-else\n- let s:whatterm = \"cterm\"\n- if &t_Co == 8\n- let s:cterm_color = {\n-\t \\ 0: \"#808080\", 1: \"#ff6060\", 2: \"#00ff00\", 3: \"#ffff00\",\n-\t \\ 4: \"#8080ff\", 5: \"#ff40ff\", 6: \"#00ffff\", 7: \"#ffffff\"\n-\t \\ }\n- else\n- let s:cterm_color = {\n-\t \\ 0: \"#000000\", 1: \"#c00000\", 2: \"#008000\", 3: \"#804000\", \n-\t \\ 4: \"#0000c0\", 5: \"#c000c0\", 6: \"#008080\", 7: \"#c0c0c0\", \n-\t \\ 8: \"#808080\", 9: \"#ff6060\", 10: \"#00ff00\", 11: \"#ffff00\",\n-\t \\ 12: \"#8080ff\", 13: \"#ff40ff\", 14: \"#00ffff\", 15: \"#ffffff\"\n-\t \\ }\n-\n- \" Colors for 88 and 256 come from xterm.\n- if &t_Co == 88\n- call extend(s:cterm_color, {\n-\t \\ 16: \"#000000\", 17: \"#00008b\", 18: \"#0000cd\", 19: \"#0000ff\",\n-\t \\ 20: \"#008b00\", 21: \"#008b8b\", 22: \"#008bcd\", 23: \"#008bff\",\n-\t \\ 24: \"#00cd00\", 25: \"#00cd8b\", 26: \"#00cdcd\", 27: \"#00cdff\",\n-\t \\ 28: \"#00ff00\", 29: \"#00ff8b\", 30: \"#00ffcd\", 31: \"#00ffff\",\n-\t \\ 32: \"#8b0000\", 33: \"#8b008b\", 34: \"#8b00cd\", 35: \"#8b00ff\",\n-\t \\ 36: \"#8b8b00\", 37: \"#8b8b8b\", 38: \"#8b8bcd\", 39: \"#8b8bff\",\n-\t \\ 40: \"#8bcd00\", 41: \"#8bcd8b\", 42: \"#8bcdcd\", 43: \"#8bcdff\",\n-\t \\ 44: \"#8bff00\", 45: \"#8bff8b\", 46: \"#8bffcd\", 47: \"#8bffff\",\n-\t \\ 48: \"#cd0000\", 49: \"#cd008b\", 50: \"#cd00cd\", 51: \"#cd00ff\",\n-\t \\ 52: \"#cd8b00\", 53: \"#cd8b8b\", 54: \"#cd8bcd\", 55: \"#cd8bff\",\n-\t \\ 56: \"#cdcd00\", 57: \"#cdcd8b\", 58: \"#cdcdcd\", 59: \"#cdcdff\",\n-\t \\ 60: \"#cdff00\", 61: \"#cdff8b\", 62: \"#cdffcd\", 63: \"#cdffff\",\n-\t \\ 64: \"#ff0000\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 65: \"#ff008b\", 66: \"#ff00cd\", 67: \"#ff00ff\", 68: \"#ff8b00\",\n-\t \\ 69: \"#ff8b8b\", 70: \"#ff8bcd\", 71: \"#ff8bff\", 72: \"#ffcd00\",\n-\t \\ 73: \"#ffcd8b\", 74: \"#ffcdcd\", 75: \"#ffcdff\", 76: \"#ffff00\",\n-\t \\ 77: \"#ffff8b\", 78: \"#ffffcd\", 79: \"#ffffff\", 80: \"#2e2e2e\",\n-\t \\ 81: \"#5c5c5c\", 82: \"#737373\", 83: \"#8b8b8b\", 84: \"#a2a2a2\",\n-\t \\ 85: \"#b9b9b9\", 86: \"#d0d0d0\", 87: \"#e7e7e7\"\n-\t \\ })\n- elseif &t_Co == 256\n- call extend(s:cterm_color, {\n-\t \\ 16: \"#000000\", 17: \"#00005f\", 18: \"#000087\", 19: \"#0000af\",\n-\t \\ 20: \"#0000d7\", 21: \"#0000ff\", 22: \"#005f00\", 23: \"#005f5f\",\n-\t \\ 24: \"#005f87\", 25: \"#005faf\", 26: \"#005fd7\", 27: \"#005fff\",\n-\t \\ 28: \"#008700\", 29: \"#00875f\", 30: \"#008787\", 31: \"#0087af\",\n-\t \\ 32: \"#0087d7\", 33: \"#0087ff\", 34: \"#00af00\", 35: \"#00af5f\",\n-\t \\ 36: \"#00af87\", 37: \"#00afaf\", 38: \"#00afd7\", 39: \"#00afff\",\n-\t \\ 40: \"#00d700\", 41: \"#00d75f\", 42: \"#00d787\", 43: \"#00d7af\",\n-\t \\ 44: \"#00d7d7\", 45: \"#00d7ff\", 46: \"#00ff00\", 47: \"#00ff5f\",\n-\t \\ 48: \"#00ff87\", 49: \"#00ffaf\", 50: \"#00ffd7\", 51: \"#00ffff\",\n-\t \\ 52: \"#5f0000\", 53: \"#5f005f\", 54: \"#5f0087\", 55: \"#5f00af\",\n-\t \\ 56: \"#5f00d7\", 57: \"#5f00ff\", 58: \"#5f5f00\", 59: \"#5f5f5f\",\n-\t \\ 60: \"#5f5f87\", 61: \"#5f5faf\", 62: \"#5f5fd7\", 63: \"#5f5fff\",\n-\t \\ 64: \"#5f8700\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 65: \"#5f875f\", 66: \"#5f8787\", 67: \"#5f87af\", 68: \"#5f87d7\",\n-\t \\ 69: \"#5f87ff\", 70: \"#5faf00\", 71: \"#5faf5f\", 72: \"#5faf87\",\n-\t \\ 73: \"#5fafaf\", 74: \"#5fafd7\", 75: \"#5fafff\", 76: \"#5fd700\",\n-\t \\ 77: \"#5fd75f\", 78: \"#5fd787\", 79: \"#5fd7af\", 80: \"#5fd7d7\",\n-\t \\ 81: \"#5fd7ff\", 82: \"#5fff00\", 83: \"#5fff5f\", 84: \"#5fff87\",\n-\t \\ 85: \"#5fffaf\", 86: \"#5fffd7\", 87: \"#5fffff\", 88: \"#870000\",\n-\t \\ 89: \"#87005f\", 90: \"#870087\", 91: \"#8700af\", 92: \"#8700d7\",\n-\t \\ 93: \"#8700ff\", 94: \"#875f00\", 95: \"#875f5f\", 96: \"#875f87\",\n-\t \\ 97: \"#875faf\", 98: \"#875fd7\", 99: \"#875fff\", 100: \"#878700\",\n-\t \\ 101: \"#87875f\", 102: \"#878787\", 103: \"#8787af\", 104: \"#8787d7\",\n-\t \\ 105: \"#8787ff\", 106: \"#87af00\", 107: \"#87af5f\", 108: \"#87af87\",\n-\t \\ 109: \"#87afaf\", 110: \"#87afd7\", 111: \"#87afff\", 112: \"#87d700\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 113: \"#87d75f\", 114: \"#87d787\", 115: \"#87d7af\", 116: \"#87d7d7\",\n-\t \\ 117: \"#87d7ff\", 118: \"#87ff00\", 119: \"#87ff5f\", 120: \"#87ff87\",\n-\t \\ 121: \"#87ffaf\", 122: \"#87ffd7\", 123: \"#87ffff\", 124: \"#af0000\",\n-\t \\ 125: \"#af005f\", 126: \"#af0087\", 127: \"#af00af\", 128: \"#af00d7\",\n-\t \\ 129: \"#af00ff\", 130: \"#af5f00\", 131: \"#af5f5f\", 132: \"#af5f87\",\n-\t \\ 133: \"#af5faf\", 134: \"#af5fd7\", 135: \"#af5fff\", 136: \"#af8700\",\n-\t \\ 137: \"#af875f\", 138: \"#af8787\", 139: \"#af87af\", 140: \"#af87d7\",\n-\t \\ 141: \"#af87ff\", 142: \"#afaf00\", 143: \"#afaf5f\", 144: \"#afaf87\",\n-\t \\ 145: \"#afafaf\", 146: \"#afafd7\", 147: \"#afafff\", 148: \"#afd700\",\n-\t \\ 149: \"#afd75f\", 150: \"#afd787\", 151: \"#afd7af\", 152: \"#afd7d7\",\n-\t \\ 153: \"#afd7ff\", 154: \"#afff00\", 155: \"#afff5f\", 156: \"#afff87\",\n-\t \\ 157: \"#afffaf\", 158: \"#afffd7\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 159: \"#afffff\", 160: \"#d70000\", 161: \"#d7005f\", 162: \"#d70087\",\n-\t \\ 163: \"#d700af\", 164: \"#d700d7\", 165: \"#d700ff\", 166: \"#d75f00\",\n-\t \\ 167: \"#d75f5f\", 168: \"#d75f87\", 169: \"#d75faf\", 170: \"#d75fd7\",\n-\t \\ 171: \"#d75fff\", 172: \"#d78700\", 173: \"#d7875f\", 174: \"#d78787\",\n-\t \\ 175: \"#d787af\", 176: \"#d787d7\", 177: \"#d787ff\", 178: \"#d7af00\",\n-\t \\ 179: \"#d7af5f\", 180: \"#d7af87\", 181: \"#d7afaf\", 182: \"#d7afd7\",\n-\t \\ 183: \"#d7afff\", 184: \"#d7d700\", 185: \"#d7d75f\", 186: \"#d7d787\",\n-\t \\ 187: \"#d7d7af\", 188: \"#d7d7d7\", 189: \"#d7d7ff\", 190: \"#d7ff00\",\n-\t \\ 191: \"#d7ff5f\", 192: \"#d7ff87\", 193: \"#d7ffaf\", 194: \"#d7ffd7\",\n-\t \\ 195: \"#d7ffff\", 196: \"#ff0000\", 197: \"#ff005f\", 198: \"#ff0087\",\n-\t \\ 199: \"#ff00af\", 200: \"#ff00d7\", 201: \"#ff00ff\", 202: \"#ff5f00\",\n-\t \\ 203: \"#ff5f5f\", 204: \"#ff5f87\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 205: \"#ff5faf\", 206: \"#ff5fd7\", 207: \"#ff5fff\", 208: \"#ff8700\",\n-\t \\ 209: \"#ff875f\", 210: \"#ff8787\", 211: \"#ff87af\", 212: \"#ff87d7\",\n-\t \\ 213: \"#ff87ff\", 214: \"#ffaf00\", 215: \"#ffaf5f\", 216: \"#ffaf87\",\n-\t \\ 217: \"#ffafaf\", 218: \"#ffafd7\", 219: \"#ffafff\", 220: \"#ffd700\",\n-\t \\ 221: \"#ffd75f\", 222: \"#ffd787\", 223: \"#ffd7af\", 224: \"#ffd7d7\",\n-\t \\ 225: \"#ffd7ff\", 226: \"#ffff00\", 227: \"#ffff5f\", 228: \"#ffff87\",\n-\t \\ 229: \"#ffffaf\", 230: \"#ffffd7\", 231: \"#ffffff\", 232: \"#080808\",\n-\t \\ 233: \"#121212\", 234: \"#1c1c1c\", 235: \"#262626\", 236: \"#303030\",\n-\t \\ 237: \"#3a3a3a\", 238: \"#444444\", 239: \"#4e4e4e\", 240: \"#585858\",\n-\t \\ 241: \"#626262\", 242: \"#6c6c6c\", 243: \"#767676\", 244: \"#808080\",\n-\t \\ 245: \"#8a8a8a\", 246: \"#949494\", 247: \"#9e9e9e\", 248: \"#a8a8a8\",\n-\t \\ 249: \"#b2b2b2\", 250: \"#bcbcbc\", 251: \"#c6c6c6\", 252: \"#d0d0d0\",\n-\t \\ 253: \"#dadada\", 254: \"#e4e4e4\", 255: \"#eeeeee\"\n-\t \\ })\n- endif\n- endif\n-endif\n-\n-\" Return good color specification: in GUI no transformation is done, in\n-\" terminal return RGB values of known colors and empty string for unknown\n-if s:whatterm == \"gui\"\n- function! s:HtmlColor(color)\n- return a:color\n- endfun\n-else\n- function! s:HtmlColor(color)\n- if has_key(s:cterm_color, a:color)\n- return s:cterm_color[a:color]\n- else\n- return \"\"\n- endif\n- endfun\n-endif\n-\n-\" Find out the background and foreground color for use later\n-let s:fgc = s:HtmlColor(synIDattr(hlID(\"Normal\")->synIDtrans(), \"fg#\", s:whatterm))\n-let s:bgc = s:HtmlColor(synIDattr(hlID(\"Normal\")->synIDtrans(), \"bg#\", s:whatterm))\n-if s:fgc == \"\"\n- let s:fgc = ( &background == \"dark\" ? \"#ffffff\" : \"#000000\" )\n-endif\n-if s:bgc == \"\"\n- let s:bgc = ( &background == \"dark\" ? \"#000000\" : \"#ffffff\" )\n-endif\n-\n-if !s:settings.use_css\n- \" Return opening HTML tag for given highlight id\n- function! s:HtmlOpening(id, extra_attrs)\n- let a = \"\"\n- let translated_ID = synIDtrans(a:id)\n- if synIDattr(translated_ID, \"inverse\")\n- \" For inverse, we always must set both colors (and exchange them)\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- let a = a .. ''\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- let a = a .. ''\n- else\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- if x != \"\"\n-\tlet a = a .. ''\n- elseif !empty(a:extra_attrs)\n-\tlet a = a .. ''\n- endif\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- if x != \"\" | let a = a .. '' | endif\n- endif\n- if synIDattr(translated_ID, \"bold\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"italic\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"underline\") | let a = a .. \"\" | endif\n- return a\n- endfun\n-\n- \" Return closing HTML tag for given highlight id\n- function! s:HtmlClosing(id, has_extra_attrs)\n- let a = \"\"\n- let translated_ID = synIDtrans(a:id)\n- if synIDattr(translated_ID, \"underline\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"italic\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"bold\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"inverse\")\n- let a = a .. ''\n- else\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- if x != \"\" | let a = a .. '' | endif\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- if x != \"\" || a:has_extra_attrs | let a = a .. '' | endif\n- endif\n- return a\n- endfun\n-endif\n-\n-\" Use a different function for formatting based on user options. This way we\n-\" can avoid a lot of logic during the actual execution.\n-\"\n-\" Build the function line by line containing only what is needed for the options\n-\" in use for maximum code sharing with minimal branch logic for greater speed.\n-\"\n-\" Note, 'exec' commands do not recognize line continuations, so must concatenate\n-\" lines rather than continue them.\n-if s:settings.use_css\n- \" save CSS to a list of rules to add to the output at the end of processing\n-\n- \" first, get the style names we need\n- let s:wrapperfunc_lines = []\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\tfunction! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, make_unselectable, unformatted)\n-\t\n-\t let l:style_name = synIDattr(a:style_id, \"name\", s:whatterm)\n- ENDLET\n- if &diff\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t let l:diff_style_name = synIDattr(a:diff_style_id, \"name\", s:whatterm)\n- ENDLET\n-\n- \" Add normal groups and diff groups to separate lists so we can order them to\n- \" allow diff highlight to override normal highlight\n-\n- \" if primary style IS a diff style, grab it from the diff cache instead\n- \" (always succeeds because we pre-populate it)\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\n-\t if a:style_id == s:DIFF_D_ID || a:style_id == s:DIFF_A_ID || a:style_id == s:DIFF_C_ID || a:style_id == s:DIFF_T_ID\n-\t let l:saved_style = get(s:diffstylelist,a:style_id)\n-\t else\n- ENDLET\n- endif\n-\n- \" get primary style info from cache or build it on the fly if not found\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t let l:saved_style = get(s:stylelist,a:style_id)\n-\t if type(l:saved_style) == type(0)\n-\t unlet l:saved_style\n-\t let l:saved_style = s:CSS1(a:style_id)\n-\t if l:saved_style != \"\"\n-\t let l:saved_style = \".\" .. l:style_name .. \" { \" .. l:saved_style .. \"}\"\n-\t endif\n-\t let s:stylelist[a:style_id] = l:saved_style\n-\t endif\n- ENDLET\n- if &diff\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t endif\n- ENDLET\n- endif\n-\" Ignore this comment, just bypassing a highlighting issue: if\n-\n- \" Build the wrapper tags around the text. It turns out that caching these\n- \" gives pretty much zero performance gain and adds a lot of logic.\n-\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\n-\t if l:saved_style == \"\" && empty(a:extra_attrs)\n- ENDLET\n- if &diff\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t if a:diff_style_id <= 0\n- ENDLET\n- endif\n- \" no surroundings if neither primary nor diff style has any info\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t return a:text\n- ENDLET\n- if &diff\n- \" no primary style, but diff style\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t else\n-\t return ''..a:text..\"\"\n-\t endif\n- ENDLET\n- endif\n- \" Ignore this comment, just bypassing a highlighting issue: if\n-\n- \" open tag for non-empty primary style\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t else\n- ENDLET\n- \" non-empty primary style. handle either empty or non-empty diff style.\n- \"\n- \" separate the two classes by a space to apply them both if there is a diff\n- \" style name, unless the primary style is empty, then just use the diff style\n- \" name\n- let s:diffstyle =\n-\t \\ (&diff ? '(a:diff_style_id <= 0 ? \"\" : \" \" .. l:diff_style_name)..'\n-\t \\ : '')\n- if s:settings.prevent_copy == \"\"\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim eval ENDLET\n-\t return \"'..a:text..\"\"\n- ENDLET\n- else\n-\n- \" New method: use generated content in the CSS. The only thing needed here\n- \" is a span with no content, with an attribute holding the desired text.\n- \"\n- \" Old method: use an element when text is unsectable. This is still\n- \" used in conditional comments for Internet Explorer, where the new method\n- \" doesn't work.\n- \"\n- \" Wrap the in a to allow fixing the stupid bug in some fonts\n- \" which cause browsers to display a 1px gap between lines when these\n- \" s have a background color (maybe not really a bug, this isn't\n- \" well-defined)\n- \"\n- \" use strwidth, because we care only about how many character boxes are\n- \" needed to size the input, we don't care how many characters (including\n- \" separately counted composing chars, from strchars()) or bytes (from\n- \" len())the string contains. strdisplaywidth() is not needed because none of\n- \" the unselectable groups can contain tab characters (fold column, fold\n- \" text, line number).\n- \"\n- \" Note, if maxlength property needs to be added in the future, it will need\n- \" to use strchars(), because HTML specifies that the maxlength parameter\n- \" uses the number of unique codepoints for its limit.\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim eval ENDLET\n-\t if a:make_unselectable\n-\t let return_span = \"' : '>')\n- ENDLET\n- endif\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim eval ENDLET\n-\t return return_span..''\n-\t else\n-\t return \"'..a:text..\"\"\n-\t endif\n- ENDLET\n- endif\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t endif\n-\tendfun\n- ENDLET\n-else\n- \" Non-CSS method just needs the wrapper.\n- \"\n- \" Functions used to get opening/closing automatically return null strings if\n- \" no styles exist.\n- if &diff\n- let s:wrapperfunc_lines =<< trim ENDLET\n-\tfunction! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, unusedarg, unusedarg2)\n-\t if a:diff_style_id <= 0\n-\t let l:diff_opening = s:HtmlOpening(a:diff_style_id, \"\")\n-\t let l:diff_closing = s:HtmlClosing(a:diff_style_id, 0)\n-\t else\n-\t let l:diff_opening = \"\"\n-\t let l:diff_closing = \"\"\n-\t endif\n-\t return s:HtmlOpening(a:style_id, a:extra_attrs)..l:diff_opening..a:text..l:diff_closing..s:HtmlClosing(a:style_id, !empty(a:extra_attrs))\n-\tendfun\n- ENDLET\n- else\n- let s:wrapperfunc_lines =<< trim ENDLET\n-\tfunction! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, unusedarg, unusedarg2)\n-\t return s:HtmlOpening(a:style_id, a:extra_attrs)..a:text..s:HtmlClosing(a:style_id, !empty(a:extra_attrs))\n-\tendfun\n- ENDLET\n- endif\n-endif\n-\n-\" create the function we built line by line above\n-exec join(flatten(s:wrapperfunc_lines), \"\\n\")\n-\n-let s:diff_mode = &diff\n-\n-\" Return HTML valid characters enclosed in a span of class style_name with\n-\" unprintable characters expanded and double spaces replaced as necessary.\n-\"\n-\" TODO: eliminate unneeded logic like done for BuildStyleWrapper\n-function! s:HtmlFormat(text, style_id, diff_style_id, extra_attrs, make_unselectable)\n- \" Replace unprintable characters\n- let unformatted = strtrans(a:text)\n-\n- let formatted = unformatted\n-\n- \" Replace the reserved html characters\n- let formatted = substitute(formatted, '&', '\\&', 'g')\n- let formatted = substitute(formatted, '<', '\\<', 'g')\n- let formatted = substitute(formatted, '>', '\\>', 'g')\n- let formatted = substitute(formatted, '\"', '\\"', 'g')\n- \" ' is not valid in HTML but it is in XHTML, so just use the numeric\n- \" reference for it instead. Needed because it could appear in quotes\n- \" especially if unselectable regions is turned on.\n- let formatted = substitute(formatted, '\"', '\\'', 'g')\n-\n- \" Replace a \"form feed\" character with HTML to do a page break\n- \" TODO: need to prevent this in unselectable areas? Probably it should never\n- \" BE in an unselectable area...\n- let formatted = substitute(formatted, \"\\x0c\", '
', 'g')\n-\n- \" Replace double spaces, leading spaces, and trailing spaces if needed\n- if ' ' != s:HtmlSpace\n- let formatted = substitute(formatted, ' ', s:HtmlSpace .. s:HtmlSpace, 'g')\n- let formatted = substitute(formatted, '^ ', s:HtmlSpace, 'g')\n- let formatted = substitute(formatted, ' \\+$', s:HtmlSpace, 'g')\n- endif\n-\n- \" Enclose in the correct format\n- return s:BuildStyleWrapper(a:style_id, a:diff_style_id, a:extra_attrs, formatted, a:make_unselectable, unformatted)\n-endfun\n-\n-\" set up functions to call HtmlFormat in certain ways based on whether the\n-\" element is supposed to be unselectable or not\n-if s:settings.prevent_copy =~# 'n'\n- if s:settings.number_lines\n- if s:settings.line_ids\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n-\tif a:lnr > 0\n-\t return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id=\"'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : \"\")..'L'..a:lnr..s:settings.id_suffix..'\" ', 1)\n-\telse\n-\t return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n-\tendif\n- endfun\n- else\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n-\treturn s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n- endfun\n- endif\n- elseif s:settings.line_ids\n- \" if lines are not being numbered the only reason this function gets called\n- \" is to put the line IDs on each line; \"text\" will be empty but lnr will\n- \" always be non-zero, however we don't want to use the because that\n- \" won't work as nice for empty text\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id=\"'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : \"\")..'L'..a:lnr..s:settings.id_suffix..'\" ', 0)\n- endfun\n- endif\n-else\n- if s:settings.line_ids\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n- if a:lnr > 0\n-\treturn s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id=\"'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : \"\")..'L'..a:lnr..s:settings.id_suffix..'\" ', 0)\n- else\n-\treturn s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endif\n- endfun\n- else\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endfun\n- endif\n-endif\n-if s:settings.prevent_copy =~# 'd'\n- function! s:HtmlFormat_d(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n- endfun\n-else\n- function! s:HtmlFormat_d(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endfun\n-endif\n-if s:settings.prevent_copy =~# 'f'\n- if s:settings.use_input_for_pc ==# 'none'\n- \" Simply space-pad to the desired width inside the generated content (note\n- \" that the FoldColumn definition includes a whitespace:pre rule)\n- function! s:FoldColumn_build(char, len, numfill, char2, class, click)\n- return \"\"\n- endfun\n- function! s:FoldColumn_fill()\n- return s:HtmlFormat(repeat(' ', s:foldcolumn), s:FOLD_C_ID, 0, \"\", 1)\n- endfun\n- else\n- \" Note the elements for fill spaces will have a single space for\n- \" content, to allow active cursor CSS selection to work.\n- \"\n- \" Wrap the whole thing in a span for the 1px padding workaround for gaps.\n- \"\n- \" Build the function line by line containing only what is needed for the\n- \" options in use for maximum code sharing with minimal branch logic for\n- \" greater speed.\n- \"\n- \" Note, 'exec' commands do not recognize line continuations, so must\n- \" concatenate lines rather than continue them.\n- let s:build_fun_lines = []\n- call add(s:build_fun_lines, [])\n- let s:build_fun_lines[-1] =<< trim ENDLET\n-\t function! s:FoldColumn_build(char, len, numfill, char2, class, click)\n-\t let l:input_open = \"\" : \"'>\")\n-\t let l:return_span = \"\"\n-\t let l:return_span ..= l:input_open..l:common_attrs..repeat(a:char, a:len)..(a:char2)\n-\t let l:return_span ..= l:input_close\n- ENDLET\n- if s:settings.use_input_for_pc ==# 'fallback'\n- call add(s:build_fun_lines, [])\n- let s:build_fun_lines[-1] =<< trim ENDLET\n-\t let l:return_span ..= \"\"\n- ENDLET\n- endif\n- call add(s:build_fun_lines, [])\n- let s:build_fun_lines[-1] =<< trim ENDLET\n-\t let l:return_span ..= \"\"\n-\t return l:return_span\n-\t endfun\n- ENDLET\n- \" create the function we built line by line above\n- exec join(flatten(s:build_fun_lines), \"\\n\")\n-\n- function! s:FoldColumn_fill()\n- return s:FoldColumn_build(' ', s:foldcolumn, 0, '', 'FoldColumn', '')\n- endfun\n- endif\n-else\n- \" For normal fold columns, simply space-pad to the desired width (note that\n- \" the FoldColumn definition includes a whitespace:pre rule)\n- function! s:FoldColumn_build(char, len, numfill, char2, class, click)\n- return \"\".\n-\t \\ repeat(a:char, a:len)..a:char2..repeat(' ', a:numfill).\n-\t \\ \"\"\n- endfun\n- function! s:FoldColumn_fill()\n- return s:HtmlFormat(repeat(' ', s:foldcolumn), s:FOLD_C_ID, 0, \"\", 0)\n- endfun\n-endif\n-if s:settings.prevent_copy =~# 't'\n- \" put an extra empty span at the end for dynamic folds, so the linebreak can\n- \" be surrounded. Otherwise do it as normal.\n- \"\n- \" TODO: isn't there a better way to do this, than placing it here and using a\n- \" substitute later?\n- if s:settings.dynamic_folds\n- function! s:HtmlFormat_t(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1) .\n-\t \\ s:HtmlFormat(\"\", a:style_id, 0, \"\", 0)\n- endfun\n- else\n- function! s:HtmlFormat_t(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n- endfun\n- endif\n-else\n- function! s:HtmlFormat_t(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endfun\n-endif\n-\n-\" Return CSS style describing given highlight id (can be empty)\n-function! s:CSS1(id)\n- let a = \"\"\n- let translated_ID = synIDtrans(a:id)\n- if synIDattr(translated_ID, \"inverse\")\n- \" For inverse, we always must set both colors (and exchange them)\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- let a = a .. \"color: \" .. ( x != \"\" ? x : s:bgc ) .. \"; \"\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- let a = a .. \"background-color: \" .. ( x != \"\" ? x : s:fgc ) .. \"; \"\n- else\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- if x != \"\" | let a = a .. \"color: \" .. x .. \"; \" | endif\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- if x != \"\"\n- let a = a .. \"background-color: \" .. x .. \"; \"\n- \" stupid hack because almost every browser seems to have at least one font\n- \" which shows 1px gaps between lines which have background\n- let a = a .. \"padding-bottom: 1px; \"\n- elseif (translated_ID == s:FOLDED_ID || translated_ID == s:LINENR_ID || translated_ID == s:FOLD_C_ID) && !empty(s:settings.prevent_copy)\n- \" input elements default to a different color than the rest of the page\n- let a = a .. \"background-color: \" .. s:bgc .. \"; \"\n- endif\n- endif\n- if synIDattr(translated_ID, \"bold\") | let a = a .. \"font-weight: bold; \" | endif\n- if synIDattr(translated_ID, \"italic\") | let a = a .. \"font-style: italic; \" | endif\n- if synIDattr(translated_ID, \"underline\") | let a = a .. \"text-decoration: underline; \" | endif\n- return a\n-endfun\n-\n-if s:settings.dynamic_folds\n- \" compares two folds as stored in our list of folds\n- \" A fold is \"less\" than another if it starts at an earlier line number,\n- \" or ends at a later line number, ties broken by fold level\n- function! s:FoldCompare(f1, f2)\n- if a:f1.firstline != a:f2.firstline\n- \" put it before if it starts earlier\n- return a:f1.firstline - a:f2.firstline\n- elseif a:f1.lastline != a:f2.lastline\n- \" put it before if it ends later\n- return a:f2.lastline - a:f1.lastline\n- else\n- \" if folds begin and end on the same lines, put lowest fold level first\n- return a:f1.level - a:f2.level\n- endif\n- endfunction\n-\n-endif\n-\n-\n-\" Set some options to make it work faster.\n-\" Don't report changes for :substitute, there will be many of them.\n-\" Don't change other windows; turn off scroll bind temporarily\n-let s:old_title = &title\n-let s:old_icon = &icon\n-let s:old_et = &l:et\n-let s:old_bind = &l:scrollbind\n-let s:old_report = &report\n-let s:old_search = @/\n-let s:old_more = &more\n-set notitle noicon\n-setlocal et\n-set nomore\n-set report=1000000\n-setlocal noscrollbind\n-\n-if exists(':ownsyntax') && exists('w:current_syntax')\n- let s:current_syntax = w:current_syntax\n-elseif exists('b:current_syntax')\n- let s:current_syntax = b:current_syntax\n-else\n- let s:current_syntax = 'none'\n-endif\n-\n-if s:current_syntax == ''\n- let s:current_syntax = 'none'\n-endif\n-\n-\" If the user is sourcing this script directly then the plugin version isn't\n-\" known because the main plugin script didn't load. In the usual case where the\n-\" user still has the full Vim runtime installed, or has this full plugin\n-\" installed in a package or something, then we can extract the version from the\n-\" main plugin file at it's usual spot relative to this file. Otherwise the user\n-\" is assembling their runtime piecemeal and we have no idea what versions of\n-\" other files may be present so don't even try to make a guess or assume the\n-\" presence of other specific files with specific meaning.\n-\"\n-\" We don't want to actually source the main plugin file here because the user\n-\" may have a good reason not to (e.g. they define their own TOhtml command or\n-\" something).\n-\"\n-\" If this seems way too complicated and convoluted, it is. Probably I should\n-\" have put the version information in the autoload file from the start. But the\n-\" version has been in the global variable for so long that changing it could\n-\" break a lot of user scripts.\n-if exists(\"g:loaded_2html_plugin\")\n- let s:pluginversion = g:loaded_2html_plugin\n-else\n- if !exists(\"g:unloaded_tohtml_plugin\")\n- let s:main_plugin_path = expand(\":p:h:h\")..\"/plugin/tohtml.vim\"\n- if filereadable(s:main_plugin_path)\n- let s:lines = readfile(s:main_plugin_path, \"\", 20)\n- call filter(s:lines, 'v:val =~ \"loaded_2html_plugin = \"')\n- if empty(s:lines)\n-\tlet g:unloaded_tohtml_plugin = \"unknown\"\n- else\n-\tlet g:unloaded_tohtml_plugin = substitute(s:lines[0], '.*loaded_2html_plugin = \\([''\"]\\)\\(\\%(\\1\\@!.\\)\\+\\)\\1', '\\2', '')\n- endif\n- unlet s:lines\n- else\n- let g:unloaded_tohtml_plugin = \"unknown\"\n- endif\n- unlet s:main_plugin_path\n- endif\n- let s:pluginversion = g:unloaded_tohtml_plugin\n-endif\n-\n-\" Split window to create a buffer with the HTML file.\n-let s:orgbufnr = winbufnr(0)\n-let s:origwin_stl = &l:stl\n-if expand(\"%\") == \"\"\n- if exists('g:html_diff_win_num')\n- exec 'new Untitled_win'..g:html_diff_win_num..'.'.(s:settings.use_xhtml ? 'xhtml' : 'html')\n- else\n- exec 'new Untitled.'..(s:settings.use_xhtml ? 'xhtml' : 'html')\n- endif\n-else\n- exec 'new %.'..(s:settings.use_xhtml ? 'xhtml' : 'html')\n-endif\n-\n-\" Resize the new window to very small in order to make it draw faster\n-let s:old_winheight = winheight(0)\n-let s:old_winfixheight = &l:winfixheight\n-if s:old_winheight > 2\n- resize 1 \" leave enough room to view one line at a time\n- norm! G\n- norm! zt\n-endif\n-setlocal winfixheight\n-\n-let s:newwin_stl = &l:stl\n-\n-\" on the new window, set the least time-consuming fold method\n-let s:old_fen = &foldenable\n-setlocal foldmethod=manual\n-setlocal nofoldenable\n-\n-let s:newwin = winnr()\n-let s:orgwin = bufwinnr(s:orgbufnr)\n-\n-setlocal modifiable\n-%d\n-let s:old_paste = &paste\n-set paste\n-let s:old_magic = &magic\n-set magic\n-\n-\" set the fileencoding to match the charset we'll be using\n-let &l:fileencoding=s:settings.vim_encoding\n-\n-\" According to http://www.w3.org/TR/html4/charset.html#doc-char-set, the byte\n-\" order mark is highly recommend on the web when using multibyte encodings. But,\n-\" it is not a good idea to include it on UTF-8 files. Otherwise, let Vim\n-\" determine when it is actually inserted.\n-if s:settings.vim_encoding == 'utf-8'\n- setlocal nobomb\n-else\n- setlocal bomb\n-endif\n-\n-let s:lines = []\n-\n-if s:settings.use_xhtml\n- if s:settings.encoding != \"\"\n- call add(s:lines, \"\")\n- else\n- call add(s:lines, \"\")\n- endif\n- let s:tag_close = ' />'\n-else\n- let s:tag_close = '>'\n-endif\n-\n-let s:HtmlSpace = ' '\n-let s:LeadingSpace = ' '\n-let s:HtmlEndline = ''\n-if s:settings.no_pre\n- let s:HtmlEndline = '\",\n-\t\\ \"\"])\n- \" include encoding as close to the top as possible, but only if not already\n- \" contained in XML information (to avoid haggling over content type)\n- if s:settings.encoding != \"\" && !s:settings.use_xhtml\n- if s:html5\n- call add(s:lines, '\"..expand(\"%:p:~\")..\"\"),\n-\t\\ (\"\",\n-\t \\ s:settings.use_xhtml ? \"\" : \"\",\n-\t \\]\n- else\n-\t\" if we aren't doing hover_unfold, use CSS 1 only\n-\tcall extend(s:lines, [\n-\t \\ \".FoldColumn { text-decoration: none; white-space: pre; }\",\n-\t \\ \".open-fold .fulltext { display: inline; }\",\n-\t \\ \".open-fold span.Folded { display: none; }\",\n-\t \\ \".open-fold .toggle-open { display: none; }\",\n-\t \\ \".open-fold .toggle-closed { display: inline; }\",\n-\t \\ \"\",\n-\t \\ \".closed-fold .fulltext { display: none; }\",\n-\t \\ \".closed-fold span.Folded { display: inline; }\",\n-\t \\ \".closed-fold .toggle-open { display: inline; }\",\n-\t \\ \".closed-fold .toggle-closed { display: none; }\",\n-\t \\])\n- endif\n- endif\n- \" else we aren't doing any dynamic folding, no need for any special rules\n-\n- call extend(s:lines, [\n-\t \\ s:settings.use_xhtml ? \"\" : '-->',\n-\t \\ \"\",\n-\t \\])\n- call extend(s:lines, s:ieonly)\n- unlet s:ieonly\n- endif\n-\n- let s:uses_script = s:settings.dynamic_folds || s:settings.line_ids\n-\n- \" insert script tag if needed\n- if s:uses_script\n- call extend(s:lines, [\n-\t \\ \"\",\n-\t \\ \"\",\n-\t \\ s:settings.use_xhtml ? '//' : '-->',\n-\t \\ \"\"\n-\t \\ ])\n- endif\n-\n- call extend(s:lines, [\"\",\n-\t\\ \"\"])\n-endif\n-\n-if s:settings.no_pre\n- \" if we're not using CSS we use a font tag which can't have a div inside\n- if s:settings.use_css\n- call extend(s:lines, [\"
\"])\n- endif\n-else\n- call extend(s:lines, [\"
\"])\n-endif\n-\n-exe s:orgwin .. \"wincmd w\"\n-\n-\" caches of style data\n-\" initialize to include line numbers if using them\n-if s:settings.number_lines\n-  let s:stylelist = { s:LINENR_ID : \".LineNr { \" .. s:CSS1( s:LINENR_ID ) .. \"}\" }\n-else\n-  let s:stylelist = {}\n-endif\n-let s:diffstylelist = {\n-      \\   s:DIFF_A_ID : \".DiffAdd { \" .. s:CSS1( s:DIFF_A_ID ) .. \"}\",\n-      \\   s:DIFF_C_ID : \".DiffChange { \" .. s:CSS1( s:DIFF_C_ID ) .. \"}\",\n-      \\   s:DIFF_D_ID : \".DiffDelete { \" .. s:CSS1( s:DIFF_D_ID ) .. \"}\",\n-      \\   s:DIFF_T_ID : \".DiffText { \" .. s:CSS1( s:DIFF_T_ID ) .. \"}\"\n-      \\ }\n-\n-\" set up progress bar in the status line\n-if !s:settings.no_progress\n-  \" ProgressBar Indicator\n-  let s:progressbar={}\n-\n-  \" Progressbar specific functions\n-\n-  func! s:SetProgbarColor()\n-    if hlID(\"TOhtmlProgress\") != 0\n-      hi! link TOhtmlProgress_auto TOhtmlProgress\n-    elseif hlID(\"TOhtmlProgress_auto\")==0 ||\n-       \\ !exists(\"s:last_colors_name\") || !exists(\"g:colors_name\") ||\n-       \\ g:colors_name != s:last_colors_name\n-      let s:last_colors_name = exists(\"g:colors_name\") ? g:colors_name : \"none\"\n-\n-      let l:diffatr = synIDattr(hlID(\"DiffDelete\")->synIDtrans(), \"reverse\", s:whatterm) ? \"fg#\" : \"bg#\"\n-      let l:stlatr = synIDattr(hlID(\"StatusLine\")->synIDtrans(), \"reverse\", s:whatterm) ? \"fg#\" : \"bg#\"\n-\n-      let l:progbar_color = synIDattr(hlID(\"DiffDelete\")->synIDtrans(), l:diffatr, s:whatterm)\n-      let l:stl_color = synIDattr(hlID(\"StatusLine\")->synIDtrans(), l:stlatr, s:whatterm)\n-\n-      if \"\" == l:progbar_color\n-\tlet l:progbar_color = synIDattr(hlID(\"DiffDelete\")->synIDtrans(), \"reverse\", s:whatterm) ? s:fgc : s:bgc\n-      endif\n-      if \"\" == l:stl_color\n-\tlet l:stl_color = synIDattr(hlID(\"StatusLine\")->synIDtrans(), \"reverse\", s:whatterm) ? s:fgc : s:bgc\n-      endif\n-\n-      if l:progbar_color == l:stl_color\n-\tif s:whatterm == 'cterm'\n-\t  if l:progbar_color >= (&t_Co/2)\n-\t    let l:progbar_color-=1\n-\t  else\n-\t    let l:progbar_color+=1\n-\t  endif\n-\telse\n-\t  let l:rgb = map(matchlist(l:progbar_color, '#\\zs\\x\\x\\ze\\(\\x\\x\\)\\(\\x\\x\\)')[:2], 'str2nr(v:val, 16)')\n-\t  let l:avg = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3\n-\t  if l:avg >= 128\n-\t    let l:avg_new = l:avg\n-\t    while l:avg - l:avg_new < 0x15\n-\t      let l:rgb = map(l:rgb, 'v:val * 3 / 4')\n-\t      let l:avg_new = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3\n-\t    endwhile\n-\t  else\n-\t    let l:avg_new = l:avg\n-\t    while l:avg_new - l:avg < 0x15\n-\t      let l:rgb = map(l:rgb, 'min([max([v:val, 4]) * 5 / 4, 255])')\n-\t      let l:avg_new = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3\n-\t    endwhile\n-\t  endif\n-\t  let l:progbar_color = printf(\"#%02x%02x%02x\", l:rgb[0], l:rgb[1], l:rgb[2])\n-\tendif\n-\techomsg \"diff detected progbar color set to\" l:progbar_color\n-      endif\n-      exe \"hi TOhtmlProgress_auto\" s:whatterm..\"bg=\"..l:progbar_color\n-    endif\n-  endfun\n-\n-  func! s:ProgressBar(title, max_value, winnr)\n-    let pgb=copy(s:progressbar)\n-    let pgb.title = a:title..' '\n-    let pgb.max_value = a:max_value\n-    let pgb.winnr = a:winnr\n-    let pgb.cur_value = 0\n-\n-    let pgb.items = { 'title'   : { 'color' : 'Statusline' },\n-\t  \\'bar'     : { 'color' : 'Statusline' , 'fillcolor' : 'TOhtmlProgress_auto' , 'bg' : 'Statusline' } ,\n-\t  \\'counter' : { 'color' : 'Statusline' } }\n-    let pgb.last_value = 0\n-    let pgb.needs_redraw = 0\n-    \" Note that you must use len(split) instead of len() if you want to use \n-    \" unicode in title.\n-    \"\n-    \" Subtract 3 for spacing around the title.\n-    \" Subtract 4 for the percentage display.\n-    \" Subtract 2 for spacing before this.\n-    \" Subtract 2 more for the '|' on either side of the progress bar\n-    let pgb.subtractedlen=len(split(pgb.title, '\\zs'))+3+4+2+2\n-    let pgb.max_len = 0\n-    set laststatus=2\n-    return pgb\n-  endfun\n-\n-  \" Function: progressbar.calculate_ticks() {{{1\n-  func! s:progressbar.calculate_ticks(pb_len)\n-    if a:pb_len<=0\n-      let pb_len = 100\n-    else\n-      let pb_len = a:pb_len\n-    endif\n-    let self.progress_ticks = map(range(pb_len+1), \"v:val * self.max_value / pb_len\")\n-  endfun\n-\n-  \"Function: progressbar.paint()\n-  func! s:progressbar.paint()\n-    \" Recalculate widths.\n-    let max_len = winwidth(self.winnr)\n-    let pb_len = 0\n-    \" always true on first call because of initial value of self.max_len\n-    if max_len != self.max_len\n-      let self.max_len = max_len\n-\n-      \" Progressbar length\n-      let pb_len = max_len - self.subtractedlen\n-\n-      call self.calculate_ticks(pb_len)\n-\n-      let self.needs_redraw = 1\n-      let cur_value = 0\n-      let self.pb_len = pb_len\n-    else\n-      \" start searching at the last found index to make the search for the\n-      \" appropriate tick value normally take 0 or 1 comparisons\n-      let cur_value = self.last_value\n-      let pb_len = self.pb_len\n-    endif\n-\n-    let cur_val_max = pb_len > 0 ? pb_len : 100\n-\n-    \" find the current progress bar position based on precalculated thresholds\n-    while cur_value < cur_val_max && self.cur_value > self.progress_ticks[cur_value]\n-      let cur_value += 1\n-    endwhile\n-\n-    \" update progress bar\n-    if self.last_value != cur_value || self.needs_redraw || self.cur_value == self.max_value\n-      let self.needs_redraw = 1\n-      let self.last_value = cur_value\n-\n-      let t_color  = self.items.title.color\n-      let b_fcolor = self.items.bar.fillcolor\n-      let b_color  = self.items.bar.color\n-      let c_color  = self.items.counter.color\n-\n-      let stl =  \"%#\".t_color.\"#%-( \".self.title.\" %)\".\n-\t    \\\"%#\".b_color.\"#\".\n-\t    \\(pb_len>0 ?\n-\t    \\\t('|%#'.b_fcolor.\"#%-(\".repeat(\" \",cur_value).\"%)\".\n-\t    \\\t '%#'.b_color.\"#\".repeat(\" \",pb_len-cur_value).\"|\"):\n-\t    \\\t('')).\n-\t    \\\"%=%#\".c_color.\"#%( \".printf(\"%3.d \",100*self.cur_value/self.max_value).\"%% %)\"\n-      call setwinvar(self.winnr, '&stl', stl)\n-    endif\n-  endfun\n-\n-  func! s:progressbar.incr( ... )\n-    let self.cur_value += (a:0 ? a:1 : 1)\n-    \" if we were making a general-purpose progress bar, we'd need to limit to a\n-    \" lower limit as well, but since we always increment with a positive value\n-    \" in this script, we only need limit the upper value\n-    let self.cur_value = (self.cur_value > self.max_value ? self.max_value : self.cur_value)\n-    call self.paint()\n-  endfun\n-  \" }}}\n-  if s:settings.dynamic_folds\n-    \" to process folds we make two passes through each line\n-    let s:pgb = s:ProgressBar(\"Processing folds:\", line('$')*2, s:orgwin)\n-  endif\n-\n-  call s:SetProgbarColor()\n-endif\n-\n-let s:build_fun_lines = []\n-call add(s:build_fun_lines, [])\n-let s:build_fun_lines[-1] =<< trim ENDLET\n-    func! s:Add_diff_fill(lnum)\n-      let l:filler = diff_filler(a:lnum)\n-      if l:filler > 0\n-\tlet l:to_insert = l:filler\n-\twhile l:to_insert > 0\n-\t  let l:new = repeat(s:difffillchar, 3)\n-\n-\t  if l:to_insert > 2 && l:to_insert < l:filler && !s:settings.whole_filler\n-\t    let l:new = l:new .. \" \" .. l:filler .. \" inserted lines \"\n-\t    let l:to_insert = 2\n-\t  endif\n-ENDLET\n-call add(s:build_fun_lines, [])\n-if !s:settings.no_pre\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  \" HTML line wrapping is off--go ahead and fill to the margin\n-\t  \" TODO: what about when CSS wrapping is turned on?\n-\t  let l:new = l:new .. repeat(s:difffillchar, &columns - strlen(l:new) - s:margin)\n-  ENDLET\n-else\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  let l:new = l:new .. repeat(s:difffillchar, 3)\n-  ENDLET\n-endif\n-call add(s:build_fun_lines, [])\n-let s:build_fun_lines[-1] =<< trim ENDLET\n-\tlet l:new = s:HtmlFormat_d(l:new, s:DIFF_D_ID, 0)\n-ENDLET\n-if s:settings.number_lines\n-  call add(s:build_fun_lines, [])\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  \" Indent if line numbering is on. Indent gets style of line number\n-\t  \" column.\n-\t  let l:new = s:HtmlFormat_n(repeat(' ', s:margin), s:LINENR_ID, 0, 0) .. l:new\n-  ENDLET\n-endif\n-if s:settings.dynamic_folds && !s:settings.no_foldcolumn \n-  call add(s:build_fun_lines, [])\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  if s:foldcolumn > 0\n-\t    \" Indent for foldcolumn if there is one. Assume it's empty, there should\n-\t    \" not be a fold for deleted lines in diff mode.\n-\t    let l:new = s:FoldColumn_fill() .. l:new\n-\t  endif\n-  ENDLET\n-endif\n-\" Ignore this comment, just bypassing a highlighting issue: if\n-call add(s:build_fun_lines, [])\n-let s:build_fun_lines[-1] =<< trim ENDLET\n-\tcall add(s:lines, l:new..s:HtmlEndline)\n-\tlet l:to_insert = l:to_insert - 1\n-      endwhile\n-    endif\n-  endfun\n-ENDLET\n-exec join(flatten(s:build_fun_lines), \"\\n\")\n-\n-\" First do some preprocessing for dynamic folding. Do this for the entire file\n-\" so we don't accidentally start within a closed fold or something.\n-let s:allfolds = []\n-\n-if s:settings.dynamic_folds\n-  let s:lnum = 1\n-  let s:end = line('$')\n-  \" save the fold text and set it to the default so we can find fold levels\n-  let s:foldtext_save = &foldtext\n-  setlocal foldtext&\n-\n-  \" we will set the foldcolumn in the html to the greater of the maximum fold\n-  \" level and the current foldcolumn setting\n-  let s:foldcolumn = &foldcolumn\n-\n-  \" get all info needed to describe currently closed folds\n-  while s:lnum <= s:end\n-    if foldclosed(s:lnum) == s:lnum\n-      \" default fold text has '+-' and then a number of dashes equal to fold\n-      \" level, so subtract 2 from index of first non-dash after the dashes\n-      \" in order to get the fold level of the current fold\n-      let s:level = match(foldtextresult(s:lnum), '+-*\\zs[^-]') - 2\n-      \" store fold info for later use\n-      let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': \"closed-fold\"}\n-      call add(s:allfolds, s:newfold)\n-      \" open the fold so we can find any contained folds\n-      execute s:lnum..\"foldopen\"\n-    else\n-      if !s:settings.no_progress\n-\tcall s:pgb.incr()\n-\tif s:pgb.needs_redraw\n-\t  redrawstatus\n-\t  let s:pgb.needs_redraw = 0\n-\tendif\n-      endif\n-      let s:lnum = s:lnum + 1\n-    endif\n-  endwhile\n-\n-  \" close all folds to get info for originally open folds\n-  silent! %foldclose!\n-  let s:lnum = 1\n-\n-  \" the originally open folds will be all folds we encounter that aren't\n-  \" already in the list of closed folds\n-  while s:lnum <= s:end\n-    if foldclosed(s:lnum) == s:lnum\n-      \" default fold text has '+-' and then a number of dashes equal to fold\n-      \" level, so subtract 2 from index of first non-dash after the dashes\n-      \" in order to get the fold level of the current fold\n-      let s:level = match(foldtextresult(s:lnum), '+-*\\zs[^-]') - 2\n-      let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': \"closed-fold\"}\n-      \" only add the fold if we don't already have it\n-      if empty(s:allfolds) || index(s:allfolds, s:newfold) == -1\n-\tlet s:newfold.type = \"open-fold\"\n-\tcall add(s:allfolds, s:newfold)\n-      endif\n-      \" open the fold so we can find any contained folds\n-      execute s:lnum..\"foldopen\"\n-    else\n-      if !s:settings.no_progress\n-\tcall s:pgb.incr()\n-\tif s:pgb.needs_redraw\n-\t  redrawstatus\n-\t  let s:pgb.needs_redraw = 0\n-\tendif\n-      endif\n-      let s:lnum = s:lnum + 1\n-    endif\n-  endwhile\n-\n-  \" sort the folds so that we only ever need to look at the first item in the\n-  \" list of folds\n-  call sort(s:allfolds, \"s:FoldCompare\")\n-\n-  let &l:foldtext = s:foldtext_save\n-  unlet s:foldtext_save\n-\n-  \" close all folds again so we can get the fold text as we go\n-  silent! %foldclose!\n-\n-  \" Go through and remove folds we don't need to (or cannot) process in the\n-  \" current conversion range\n-  \"\n-  \" If a fold is removed which contains other folds, which are included, we need\n-  \" to adjust the level of the included folds as used by the conversion logic\n-  \" (avoiding special cases is good)\n-  \"\n-  \" Note any time we remove a fold, either all of the included folds are in it,\n-  \" or none of them, because we only remove a fold if neither its start nor its\n-  \" end are within the conversion range.\n-  let leveladjust = 0\n-  for afold in s:allfolds\n-    let removed = 0\n-    if exists(\"g:html_start_line\") && exists(\"g:html_end_line\")\n-      if afold.firstline < g:html_start_line\n-\tif afold.lastline <= g:html_end_line && afold.lastline >= g:html_start_line\n-\t  \" if a fold starts before the range to convert but stops within the\n-\t  \" range, we need to include it. Make it start on the first converted\n-\t  \" line.\n-\t  let afold.firstline = g:html_start_line\n-\telse\n-\t  \" if the fold lies outside the range or the start and stop enclose\n-\t  \" the entire range, don't bother parsing it\n-\t  call remove(s:allfolds, index(s:allfolds, afold))\n-\t  let removed = 1\n-\t  if afold.lastline > g:html_end_line\n-\t    let leveladjust += 1\n-\t  endif\n-\tendif\n-      elseif afold.firstline > g:html_end_line\n-\t\" If the entire fold lies outside the range we need to remove it.\n-\tcall remove(s:allfolds, index(s:allfolds, afold))\n-\tlet removed = 1\n-      endif\n-    elseif exists(\"g:html_start_line\")\n-      if afold.firstline < g:html_start_line\n-\t\" if there is no last line, but there is a first line, the end of the\n-\t\" fold will always lie within the region of interest, so keep it\n-\tlet afold.firstline = g:html_start_line\n-      endif\n-    elseif exists(\"g:html_end_line\")\n-      \" if there is no first line we default to the first line in the buffer so\n-      \" the fold start will always be included if the fold itself is included.\n-      \" If however the entire fold lies outside the range we need to remove it.\n-      if afold.firstline > g:html_end_line\n-\tcall remove(s:allfolds, index(s:allfolds, afold))\n-\tlet removed = 1\n-      endif\n-    endif\n-    if !removed\n-      let afold.level -= leveladjust\n-      if afold.level+1 > s:foldcolumn\n-\tlet s:foldcolumn = afold.level+1\n-      endif\n-    endif\n-  endfor\n-\n-  \" if we've removed folds containing the conversion range from processing,\n-  \" getting foldtext as we go won't know to open the removed folds, so the\n-  \" foldtext would be wrong; open them now.\n-  \"\n-  \" Note that only when a start and an end line is specified will a fold\n-  \" containing the current range ever be removed.\n-  while leveladjust > 0\n-    exe g:html_start_line..\"foldopen\"\n-    let leveladjust -= 1\n-  endwhile\n-endif\n-\n-\" Now loop over all lines in the original text to convert to html.\n-\" Use html_start_line and html_end_line if they are set.\n-if exists(\"g:html_start_line\")\n-  let s:lnum = html_start_line\n-  if s:lnum < 1 || s:lnum > line(\"$\")\n-    let s:lnum = 1\n-  endif\n-else\n-  let s:lnum = 1\n-endif\n-if exists(\"g:html_end_line\")\n-  let s:end = html_end_line\n-  if s:end < s:lnum || s:end > line(\"$\")\n-    let s:end = line(\"$\")\n-  endif\n-else\n-  let s:end = line(\"$\")\n-endif\n-\n-\" stack to keep track of all the folds containing the current line\n-let s:foldstack = []\n-\n-if !s:settings.no_progress\n-  let s:pgb = s:ProgressBar(\"Processing lines:\", s:end - s:lnum + 1, s:orgwin)\n-endif\n-\n-if s:settings.number_lines\n-  let s:margin = strlen(s:end) + 1\n-else\n-  let s:margin = 0\n-endif\n-\n-if has('folding') && !s:settings.ignore_folding\n-  let s:foldfillchar = &fillchars[matchend(&fillchars, 'fold:')]\n-  if s:foldfillchar == ''\n-    let s:foldfillchar = '-'\n-  endif\n-endif\n-let s:difffillchar = &fillchars[matchend(&fillchars, 'diff:')]\n-if s:difffillchar == ''\n-  let s:difffillchar = '-'\n-endif\n-\n-let s:foldId = 0\n-\n-if !s:settings.expand_tabs\n-  \" If keeping tabs, add them to printable characters so we keep them when\n-  \" formatting text (strtrans() doesn't replace printable chars)\n-  let s:old_isprint = &isprint\n-  setlocal isprint+=9\n-endif\n-\n-while s:lnum <= s:end\n-\n-  \" If there are filler lines for diff mode, show these above the line.\n-  call s:Add_diff_fill(s:lnum)\n-\n-  \" Start the line with the line number.\n-  if s:settings.number_lines\n-    let s:numcol = repeat(' ', s:margin - 1 - strlen(s:lnum)) .. s:lnum .. ' '\n-  endif\n-\n-  let s:new = \"\"\n-\n-  if has('folding') && !s:settings.ignore_folding && foldclosed(s:lnum) > -1 && !s:settings.dynamic_folds\n-    \"\n-    \" This is the beginning of a folded block (with no dynamic folding)\n-    let s:new = foldtextresult(s:lnum)\n-    if !s:settings.no_pre\n-      \" HTML line wrapping is off--go ahead and fill to the margin\n-      let s:new = s:new .. repeat(s:foldfillchar, &columns - strlen(s:new))\n-    endif\n-\n-    \" put numcol in a separate group for sake of unselectable text\n-    let s:new = (s:settings.number_lines ? s:HtmlFormat_n(s:numcol, s:FOLDED_ID, 0, s:lnum): \"\") .. s:HtmlFormat_t(s:new, s:FOLDED_ID, 0)\n-\n-    \" Skip to the end of the fold\n-    let s:new_lnum = foldclosedend(s:lnum)\n-\n-    if !s:settings.no_progress\n-      call s:pgb.incr(s:new_lnum - s:lnum)\n-    endif\n-\n-    let s:lnum = s:new_lnum\n-\n-  else\n-    \"\n-    \" A line that is not folded, or doing dynamic folding.\n-    \"\n-    let s:line = getline(s:lnum)\n-    let s:len = strlen(s:line)\n-\n-    if s:settings.dynamic_folds\n-      \" First insert a closing for any open folds that end on this line\n-      while !empty(s:foldstack) && get(s:foldstack,0).lastline == s:lnum-1\n-\tlet s:new = s:new..\"\"\n-\tcall remove(s:foldstack, 0)\n-      endwhile\n-\n-      \" Now insert an opening for any new folds that start on this line\n-      let s:firstfold = 1\n-      while !empty(s:allfolds) && get(s:allfolds,0).firstline == s:lnum\n-\tlet s:foldId = s:foldId + 1\n-\tlet s:new ..= \"\"\n-\n-\n-\t\" Unless disabled, add a fold column for the opening line of a fold.\n-\t\"\n-\t\" Note that dynamic folds require using css so we just use css to take\n-\t\" care of the leading spaces rather than using   in the case of\n-\t\" html_no_pre to make it easier\n-\tif !s:settings.no_foldcolumn\n-\t  \" add fold column that can open the new fold\n-\t  if s:allfolds[0].level > 1 && s:firstfold\n-\t    let s:new = s:new .. s:FoldColumn_build('|', s:allfolds[0].level - 1, 0, \"\",\n-\t\t  \\ 'toggle-open FoldColumn','javascript:toggleFold(\"fold'..s:foldstack[0].id..s:settings.id_suffix..'\");')\n-\t  endif\n-\t  \" add the filler spaces separately from the '+' char so that it can be\n-\t  \" shown/hidden separately during a hover unfold\n-\t  let s:new = s:new .. s:FoldColumn_build(\"+\", 1, 0, \"\",\n-\t\t\\ 'toggle-open FoldColumn', 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\t  \" If this is not the last fold we're opening on this line, we need\n-\t  \" to keep the filler spaces hidden if the fold is opened by mouse\n-\t  \" hover. If it is the last fold to open in the line, we shouldn't hide\n-\t  \" them, so don't apply the toggle-filler class.\n-\t  let s:new = s:new .. s:FoldColumn_build(\" \", 1, s:foldcolumn - s:allfolds[0].level - 1, \"\",\n-\t\t\\ 'toggle-open FoldColumn'.. (get(s:allfolds, 1, {'firstline': 0}).firstline == s:lnum ?\" toggle-filler\" :\"\"),\n-\t\t\\ 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\n-\t  \" add fold column that can close the new fold\n-\t  \" only add extra blank space if we aren't opening another fold on the\n-\t  \" same line\n-\t  if get(s:allfolds, 1, {'firstline': 0}).firstline != s:lnum\n-\t    let s:extra_space = s:foldcolumn - s:allfolds[0].level\n-\t  else\n-\t    let s:extra_space = 0\n-\t  endif\n-\t  if s:firstfold\n-\t    \" the first fold in a line has '|' characters from folds opened in\n-\t    \" previous lines, before the '-' for this fold\n-\t    let s:new ..= s:FoldColumn_build('|', s:allfolds[0].level - 1, s:extra_space, '-',\n-\t\t  \\ 'toggle-closed FoldColumn', 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\t  else\n-\t    \" any subsequent folds in the line only add a single '-'\n-\t    let s:new = s:new .. s:FoldColumn_build(\"-\", 1, s:extra_space, \"\",\n-\t\t  \\ 'toggle-closed FoldColumn', 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\t  endif\n-\t  let s:firstfold = 0\n-\tendif\n-\n-\t\" Add fold text, moving the span ending to the next line so collapsing\n-\t\" of folds works correctly.\n-\t\" Put numcol in a separate group for sake of unselectable text.\n-\tlet s:new = s:new .. (s:settings.number_lines ? s:HtmlFormat_n(s:numcol, s:FOLDED_ID, 0, 0) : \"\") .. substitute(s:HtmlFormat_t(foldtextresult(s:lnum), s:FOLDED_ID, 0), '', s:HtmlEndline..'\\n\\0', '')\n-\tlet s:new = s:new .. \"\"\n-\n-\t\" open the fold now that we have the fold text to allow retrieval of\n-\t\" fold text for subsequent folds\n-\texecute s:lnum..\"foldopen\"\n-\tcall insert(s:foldstack, remove(s:allfolds,0))\n-\tlet s:foldstack[0].id = s:foldId\n-      endwhile\n-\n-      \" Unless disabled, add a fold column for other lines.\n-      \"\n-      \" Note that dynamic folds require using css so we just use css to take\n-      \" care of the leading spaces rather than using   in the case of\n-      \" html_no_pre to make it easier\n-      if !s:settings.no_foldcolumn\n-\tif empty(s:foldstack)\n-\t  \" add the empty foldcolumn for unfolded lines if there is a fold\n-\t  \" column at all\n-\t  if s:foldcolumn > 0\n-\t    let s:new = s:new .. s:FoldColumn_fill()\n-\t  endif\n-\telse\n-\t  \" add the fold column for folds not on the opening line\n-\t  if get(s:foldstack, 0).firstline < s:lnum\n-\t    let s:new = s:new .. s:FoldColumn_build('|', s:foldstack[0].level, s:foldcolumn - s:foldstack[0].level, \"\",\n-\t\t  \\ 'FoldColumn', 'javascript:toggleFold(\"fold'..s:foldstack[0].id..s:settings.id_suffix..'\");')\n-\t  endif\n-\tendif\n-      endif\n-    endif\n-\n-    \" Now continue with the unfolded line text\n-    if s:settings.number_lines\n-      let s:new = s:new .. s:HtmlFormat_n(s:numcol, s:LINENR_ID, 0, s:lnum)\n-    elseif s:settings.line_ids\n-      let s:new = s:new .. s:HtmlFormat_n(\"\", s:LINENR_ID, 0, s:lnum)\n-    endif\n-\n-    \" Get the diff attribute, if any.\n-    let s:diffattr = diff_hlID(s:lnum, 1)\n-\n-    \" initialize conceal info to act like not concealed, just in case\n-    let s:concealinfo = [0, '']\n-\n-    \" Loop over each character in the line\n-    let s:col = 1\n-\n-    \" most of the time we won't use the diff_id, initialize to zero\n-    let s:diff_id = 0\n-\n-    while s:col <= s:len || (s:col == 1 && s:diffattr)\n-      let s:startcol = s:col \" The start column for processing text\n-      if !s:settings.ignore_conceal && has('conceal')\n-\tlet s:concealinfo = synconcealed(s:lnum, s:col)\n-      endif\n-      if !s:settings.ignore_conceal && s:concealinfo[0]\n-\tlet s:col = s:col + 1\n-\t\" Speed loop (it's small - that's the trick)\n-\t\" Go along till we find a change in the match sequence number (ending\n-\t\" the specific concealed region) or until there are no more concealed\n-\t\" characters.\n-\twhile s:col <= s:len && s:concealinfo == synconcealed(s:lnum, s:col) | let s:col = s:col + 1 | endwhile\n-      elseif s:diffattr\n-\tlet s:diff_id = diff_hlID(s:lnum, s:col)\n-\tlet s:id = synID(s:lnum, s:col, 1)\n-\tlet s:col = s:col + 1\n-\t\" Speed loop (it's small - that's the trick)\n-\t\" Go along till we find a change in hlID\n-\twhile s:col <= s:len && s:id == synID(s:lnum, s:col, 1)\n-\t      \\   && s:diff_id == diff_hlID(s:lnum, s:col) |\n-\t      \\     let s:col = s:col + 1 |\n-\t      \\ endwhile\n-\tif s:len < &columns && !s:settings.no_pre\n-\t  \" Add spaces at the end of the raw text line to extend the changed\n-\t  \" line to the full width.\n-\t  let s:line = s:line .. repeat(' ', &columns - virtcol([s:lnum, s:len]) - s:margin)\n-\t  let s:len = &columns\n-\tendif\n-      else\n-\tlet s:id = synID(s:lnum, s:col, 1)\n-\tlet s:col = s:col + 1\n-\t\" Speed loop (it's small - that's the trick)\n-\t\" Go along till we find a change in synID\n-\twhile s:col <= s:len && s:id == synID(s:lnum, s:col, 1) | let s:col = s:col + 1 | endwhile\n-      endif\n-\n-      if s:settings.ignore_conceal || !s:concealinfo[0]\n-\t\" Expand tabs if needed\n-\tlet s:expandedtab = strpart(s:line, s:startcol - 1, s:col - s:startcol)\n-\tif s:settings.expand_tabs\n-\t  let s:offset = 0\n-\t  let s:idx = stridx(s:expandedtab, \"\\t\")\n-\t  let s:tablist = exists(\"+vts\") ? split(&vts,',') : []\n-\t  if empty(s:tablist)\n-\t    let s:tablist = [ &ts ]\n-\t  endif\n-\t  let s:tabidx = 0\n-\t  let s:tabwidth = 0\n-\t  while s:idx >= 0\n-\t    if s:startcol + s:idx == 1\n-\t      let s:i = s:tablist[0]\n-\t    else\n-\t      \" Get the character, which could be multiple bytes, which falls\n-\t      \" immediately before the found tab. Extract it by matching a\n-\t      \" character just prior to the column where the tab matches.\n-\t      \" We'll use this to get the byte index of the character\n-\t      \" immediately preceding the tab, so we can then look up the\n-\t      \" virtual column that character appears in, to determine how\n-\t      \" much of the current tabstop has been used up.\n-\t      if s:idx == 0\n-\t\t\" if the found tab is the first character in the text being\n-\t\t\" processed, we need to get the character prior to the text,\n-\t\t\" given by startcol.\n-\t\tlet s:prevc = matchstr(s:line, '.\\%' .. (s:startcol + s:offset) .. 'c')\n-\t      else\n-\t\t\" Otherwise, the byte index of the tab into s:expandedtab is\n-\t\t\" given by s:idx.\n-\t\tlet s:prevc = matchstr(s:expandedtab, '.\\%' .. (s:idx + 1) .. 'c')\n-\t      endif\n-\t      let s:vcol = virtcol([s:lnum, s:startcol + s:idx + s:offset - len(s:prevc)])\n-\n-\t      \" find the tabstop interval to use for the tab we just found. Keep\n-\t      \" adding tabstops (which could be variable) until we would exceed\n-\t      \" the virtual screen position of the start of the found tab.\n-\t      while s:vcol >= s:tabwidth + s:tablist[s:tabidx]\n-\t\tlet s:tabwidth += s:tablist[s:tabidx]\n-\t\tif s:tabidx < len(s:tablist)-1\n-\t\t  let s:tabidx = s:tabidx+1\n-\t\tendif\n-\t      endwhile\n-\t      let s:i = s:tablist[s:tabidx] - (s:vcol - s:tabwidth)\n-\t    endif\n-\t    \" update offset to keep the index within the line corresponding to\n-\t    \" actual tab characters instead of replaced spaces; s:idx reflects\n-\t    \" replaced spaces in s:expandedtab, s:offset cancels out all but\n-\t    \" the tab character itself.\n-\t    let s:offset -= s:i - 1\n-\t    let s:expandedtab = substitute(s:expandedtab, '\\t', repeat(' ', s:i), '')\n-\t    let s:idx = stridx(s:expandedtab, \"\\t\")\n-\t  endwhile\n-\tend\n-\n-\t\" get the highlight group name to use\n-\tlet s:id = synIDtrans(s:id)\n-      else\n-\t\" use Conceal highlighting for concealed text\n-\tlet s:id = s:CONCEAL_ID\n-\tlet s:expandedtab = s:concealinfo[1]\n-      endif\n-\n-      \" Output the text with the same synID, with class set to the highlight ID\n-      \" name, unless it has been concealed completely.\n-      if strlen(s:expandedtab) > 0\n-\tlet s:new = s:new .. s:HtmlFormat(s:expandedtab,  s:id, s:diff_id, \"\", 0)\n-      endif\n-    endwhile\n-  endif\n-\n-  call extend(s:lines, split(s:new..s:HtmlEndline, '\\n', 1))\n-  if !s:settings.no_progress && s:pgb.needs_redraw\n-    redrawstatus\n-    let s:pgb.needs_redraw = 0\n-  endif\n-  let s:lnum = s:lnum + 1\n-\n-  if !s:settings.no_progress\n-    call s:pgb.incr()\n-  endif\n-endwhile\n-\n-\" Diff filler is returned based on what needs inserting *before* the given line.\n-\" So to get diff filler at the end of the buffer, we need to use last line + 1\n-call s:Add_diff_fill(s:end+1)\n-\n-if s:settings.dynamic_folds\n-  \" finish off any open folds\n-  while !empty(s:foldstack)\n-    let s:lines[-1]..=\"\"\n-    call remove(s:foldstack, 0)\n-  endwhile\n-\n-  \" add fold column to the style list if not already there\n-  let s:id = s:FOLD_C_ID\n-  if !has_key(s:stylelist, s:id)\n-    let s:stylelist[s:id] = '.FoldColumn { ' .. s:CSS1(s:id) .. '}'\n-  endif\n-endif\n-\n-if s:settings.no_pre\n-  if !s:settings.use_css\n-    \" Close off the font tag that encapsulates the whole \n-    call extend(s:lines, [\"\"])\n-  else\n-    call extend(s:lines, [\"
\"])\n- endif\n-else\n- call extend(s:lines, [\"\"])\n-endif\n-if !s:settings.no_doc\n- call extend(s:lines, [\"\", \"\"])\n-endif\n-\n-exe s:newwin .. \"wincmd w\"\n-call setline(1, s:lines)\n-unlet s:lines\n-\n-\" Mangle modelines so Vim doesn't try to use HTML text as a modeline if editing\n-\" this file in the future; need to do this after generating all the text in case\n-\" the modeline text has different highlight groups which all turn out to be\n-\" stripped from the final output.\n-%s!\\v(%(^|\\s+)%([Vv]i%(m%([<=>]?\\d+)?)?|ex)):!\\1\\:!ge\n-\n-\" The generated HTML is admittedly ugly and takes a LONG time to fold.\n-\" Make sure the user doesn't do syntax folding when loading a generated file,\n-\" using a modeline.\n-if !s:settings.no_modeline\n- call append(line('$'), \"\")\n-endif\n-\n-\" Now, when we finally know which, we define the colors and styles\n-if s:settings.use_css && !s:settings.no_doc\n- 1;//+1\n-\n- \" Normal/global attributes\n- if s:settings.no_pre\n- call append('.', \"body { color: \" .. s:fgc .. \"; background-color: \" .. s:bgc .. \"; font-family: \".. s:htmlfont ..\"; }\")\n- +\n- else\n- call append('.', \"pre { \" .. s:whitespace .. \"font-family: \".. s:htmlfont ..\"; color: \" .. s:fgc .. \"; background-color: \" .. s:bgc .. \"; }\")\n- +\n- yank\n- put\n- execute \"normal! ^cwbody\\e\"\n- \" body should not have the wrap formatting, only the pre section\n- if s:whitespace != ''\n- exec 's#'..s:whitespace\n- endif\n- endif\n- \" fix browser inconsistencies (sometimes within the same browser) of different\n- \" default font size for different elements\n- call append('.', '* { font-size: 1em; }')\n- +\n- \" if we use any input elements for unselectable content, make sure they look\n- \" like normal text\n- if !empty(s:settings.prevent_copy)\n- if s:settings.use_input_for_pc !=# \"none\"\n- call append('.', 'input { border: none; margin: 0; padding: 0; font-family: '..s:htmlfont..'; }')\n- +\n- \" ch units for browsers which support them, em units for a somewhat\n- \" reasonable fallback.\n- for w in range(1, 20, 1)\n-\tcall append('.', [\n-\t \\ \"input[size='\"..w..\"'] { width: \"..w..\"em; width: \"..w..\"ch; }\"\n-\t \\ ])\n-\t+\n- endfor\n- endif\n-\n- if s:settings.use_input_for_pc !=# 'all'\n- let s:unselectable_styles = []\n- if s:settings.prevent_copy =~# 'f'\n-\tcall add(s:unselectable_styles, 'FoldColumn')\n- endif\n- if s:settings.prevent_copy =~# 'n'\n-\tcall add(s:unselectable_styles, 'LineNr')\n- endif\n- if s:settings.prevent_copy =~# 't' && !s:settings.ignore_folding\n-\tcall add(s:unselectable_styles, 'Folded')\n- endif\n- if s:settings.prevent_copy =~# 'd'\n-\tcall add(s:unselectable_styles, 'DiffDelete')\n- endif\n- if s:settings.use_input_for_pc !=# 'none'\n-\tcall append('.', [\n-\t \\ '/* Note: IE does not support @supports conditionals, but also does not fully support',\n-\t \\ ' \"content:\" with custom content, so we *want* the check to fail */',\n-\t \\ '@supports ( content: attr(data-custom-content) ) {'\n-\t \\ ])\n-\t+3\n- endif\n- \" The line number column inside the foldtext is styled just like the fold\n- \" text in Vim, but it should use the prevent_copy settings of line number\n- \" rather than fold text. Apply the prevent_copy styles to foldtext\n- \" specifically for line numbers, which always come after the fold column,\n- \" or at the beginning of the line.\n- if s:settings.prevent_copy =~# 'n' && !s:settings.ignore_folding\n-\tcall append('.', [\n-\t \\ ' .FoldColumn + .Folded, .Folded:first-child { user-select: none; }',\n-\t \\ ' .FoldColumn + [data-Folded-content]::before, [data-Folded-content]:first-child::before { content: attr(data-Folded-content); }',\n-\t \\ ' .FoldColumn + [data-Folded-content]::before, [data-Folded-content]:first-child::before { padding-bottom: 1px; display: inline-block; /* match the 1-px padding of standard items with background */ }',\n-\t \\ ' .FoldColumn + span[data-Folded-content]::before, [data-Folded-content]:first-child::before { cursor: default; }',\n-\t \\ ])\n-\t+4\n- endif\n- for s:style_name in s:unselectable_styles\n-\tcall append('.', [\n-\t \\ ' .'..s:style_name..' { user-select: none; }',\n-\t \\ ' [data-'..s:style_name..'-content]::before { content: attr(data-'..s:style_name..'-content); }',\n-\t \\ ' [data-'..s:style_name..'-content]::before { padding-bottom: 1px; display: inline-block; /* match the 1-px padding of standard items with background */ }',\n-\t \\ ' span[data-'..s:style_name..'-content]::before { cursor: default; }',\n-\t \\ ])\n-\t+4\n- endfor\n- if s:settings.use_input_for_pc !=# 'none'\n-\t\" Note, the extra '}' is to match the \"@supports\" above\n-\tcall append('.', [\n-\t \\ ' input { display: none; }',\n-\t \\ '}'\n-\t \\ ])\n-\t+2\n- endif\n- unlet s:unselectable_styles\n- endif\n-\n- \" Fix mouse cursor shape for the fallback method of uncopyable text\n- if s:settings.use_input_for_pc !=# 'none'\n- if s:settings.prevent_copy =~# 'f'\n-\t\" Make the cursor show active fold columns as active areas, and empty fold\n-\t\" columns as not interactive.\n-\tcall append('.', ['input.FoldColumn { cursor: pointer; }',\n-\t \\ 'input.FoldColumn[value=\"'..repeat(' ', s:foldcolumn)..'\"] { cursor: default; }'\n-\t \\ ])\n-\t+2\n-\tif s:settings.use_input_for_pc !=# 'all'\n-\t call append('.', [\n-\t\t\\ 'a[data-FoldColumn-content=\"'..repeat(' ', s:foldcolumn)..'\"] { cursor: default; }'\n-\t\t\\ ])\n-\t +1\n-\tend\n- endif\n- \" make line number column show as non-interactive if not selectable\n- if s:settings.prevent_copy =~# 'n'\n-\tcall append('.', 'input.LineNr { cursor: default; }')\n-\t+\n- endif\n- \" make fold text and line number column within fold text show as\n- \" non-interactive if not selectable\n- if (s:settings.prevent_copy =~# 'n' || s:settings.prevent_copy =~# 't') && !s:settings.ignore_folding\n-\tcall append('.', 'input.Folded { cursor: default; }')\n-\t+\n- endif\n- \" make diff filler show as non-interactive if not selectable\n- if s:settings.prevent_copy =~# 'd'\n-\tcall append('.', 'input.DiffDelete { cursor: default; }')\n-\t+\n- endif\n- endif\n- endif\n-endif\n-\n-if !s:settings.use_css && !s:settings.no_doc\n- \" For Netscape 4, set attributes too, though, strictly speaking, it's\n- \" incorrect.\n- execute '%s:]*\\):\\r]\\|>\\|<\\|"\\)+\\1\\2+ge\n-endif\n-\n-\" The DTD\n-if !s:settings.no_doc\n- if s:settings.use_xhtml\n- exe \"normal! gg$a\\n\"\n- elseif s:html5\n- exe \"normal! gg0i\\n\"\n- else\n- exe \"normal! gg0i\\n\"\n- endif\n-endif\n-\n-if s:settings.use_xhtml && !s:settings.no_doc\n- exe \"normal! gg/ I think it's OK to keep the syntax file (and even preferable; makes syncing with Vim runtime slightly easier).\r\n\r\nThe reason why it's `.vim` is to make `:runtime! syntax/2html.vim` work (which is what the docs say you should use).", - "commit_id": "a42e7ab5c557f8df9851e3bd2e3870944343f977", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", "created_at": "2024-01-25T09:25:31Z", "diff_hunk": "@@ -1,2068 +1,5 @@\n-\" Vim syntax support file\n-\" Maintainer: Ben Fritz \n-\" Last Change: 2023 Sep 05\n-\"\n-\" Additional contributors:\n-\"\n-\" Original by Bram Moolenaar \n-\" Modified by David Ne\\v{c}as (Yeti) \n-\" XHTML support by Panagiotis Issaris \n-\" Made w3 compliant by Edd Barrett \n-\" Added html_font. Edd Barrett \n-\" Progress bar based off code from \"progressbar widget\" plugin by\n-\" Andreas Politz, heavily modified:\n-\" http://www.vim.org/scripts/script.php?script_id=2006\n-\"\n-\" See Mercurial change logs for more!\n-\n-\" Transform a file into HTML, using the current syntax highlighting.\n-\n-\" this file uses line continuations\n-let s:cpo_sav = &cpo\n-let s:ls = &ls\n-let s:ei_sav = &eventignore\n-set cpo&vim\n-\n-\" HTML filetype can take a while to load/highlight if the destination file\n-\" already exists.\n-set eventignore+=FileType\n-\n-let s:end=line('$')\n-\n-\" Font\n-if exists(\"g:html_font\")\n- if type(g:html_font) == type([])\n- let s:htmlfont = \"'\".. join(g:html_font,\"','\") .. \"', monospace\"\n- else\n- let s:htmlfont = \"'\".. g:html_font .. \"', monospace\"\n- endif\n-else\n- let s:htmlfont = \"monospace\"\n-endif\n-\n-let s:settings = tohtml#GetUserSettings()\n-\n-if s:settings.use_xhtml\n- let s:html5 = 0\n-elseif s:settings.use_css && !s:settings.no_pre\n- let s:html5 = 1\n-else\n- let s:html5 = 0\n-endif\n-\n-if !exists('s:FOLDED_ID')\n- let s:FOLDED_ID = hlID(\"Folded\") | lockvar s:FOLDED_ID\n- let s:FOLD_C_ID = hlID(\"FoldColumn\") | lockvar s:FOLD_C_ID\n- let s:LINENR_ID = hlID('LineNr') | lockvar s:LINENR_ID\n- let s:DIFF_D_ID = hlID(\"DiffDelete\") | lockvar s:DIFF_D_ID\n- let s:DIFF_A_ID = hlID(\"DiffAdd\") | lockvar s:DIFF_A_ID\n- let s:DIFF_C_ID = hlID(\"DiffChange\") | lockvar s:DIFF_C_ID\n- let s:DIFF_T_ID = hlID(\"DiffText\") | lockvar s:DIFF_T_ID\n- let s:CONCEAL_ID = hlID('Conceal') | lockvar s:CONCEAL_ID\n-endif\n-\n-\" Whitespace\n-if s:settings.pre_wrap\n- let s:whitespace = \"white-space: pre-wrap; \"\n-else\n- let s:whitespace = \"\"\n-endif\n-\n-if !empty(s:settings.prevent_copy)\n- if s:settings.no_invalid\n- \" User has decided they don't want invalid markup. Still works in\n- \" OpenOffice, and for text editors, but when pasting into Microsoft Word the\n- \" input elements get pasted too and they cannot be deleted (at least not\n- \" easily).\n- let s:unselInputType = \"\"\n- else\n- \" Prevent from copy-pasting the input elements into Microsoft Word where\n- \" they cannot be deleted easily by deliberately inserting invalid markup.\n- let s:unselInputType = \" type='invalid_input_type'\"\n- endif\n-endif\n-\n-\" When gui colors are not supported, we can only guess the colors.\n-\" TODO - is this true anymore? Is there a way to ask the terminal what colors\n-\" each number means or read them from some file?\n-if &termguicolors || has(\"gui_running\")\n- let s:whatterm = \"gui\"\n-else\n- let s:whatterm = \"cterm\"\n- if &t_Co == 8\n- let s:cterm_color = {\n-\t \\ 0: \"#808080\", 1: \"#ff6060\", 2: \"#00ff00\", 3: \"#ffff00\",\n-\t \\ 4: \"#8080ff\", 5: \"#ff40ff\", 6: \"#00ffff\", 7: \"#ffffff\"\n-\t \\ }\n- else\n- let s:cterm_color = {\n-\t \\ 0: \"#000000\", 1: \"#c00000\", 2: \"#008000\", 3: \"#804000\", \n-\t \\ 4: \"#0000c0\", 5: \"#c000c0\", 6: \"#008080\", 7: \"#c0c0c0\", \n-\t \\ 8: \"#808080\", 9: \"#ff6060\", 10: \"#00ff00\", 11: \"#ffff00\",\n-\t \\ 12: \"#8080ff\", 13: \"#ff40ff\", 14: \"#00ffff\", 15: \"#ffffff\"\n-\t \\ }\n-\n- \" Colors for 88 and 256 come from xterm.\n- if &t_Co == 88\n- call extend(s:cterm_color, {\n-\t \\ 16: \"#000000\", 17: \"#00008b\", 18: \"#0000cd\", 19: \"#0000ff\",\n-\t \\ 20: \"#008b00\", 21: \"#008b8b\", 22: \"#008bcd\", 23: \"#008bff\",\n-\t \\ 24: \"#00cd00\", 25: \"#00cd8b\", 26: \"#00cdcd\", 27: \"#00cdff\",\n-\t \\ 28: \"#00ff00\", 29: \"#00ff8b\", 30: \"#00ffcd\", 31: \"#00ffff\",\n-\t \\ 32: \"#8b0000\", 33: \"#8b008b\", 34: \"#8b00cd\", 35: \"#8b00ff\",\n-\t \\ 36: \"#8b8b00\", 37: \"#8b8b8b\", 38: \"#8b8bcd\", 39: \"#8b8bff\",\n-\t \\ 40: \"#8bcd00\", 41: \"#8bcd8b\", 42: \"#8bcdcd\", 43: \"#8bcdff\",\n-\t \\ 44: \"#8bff00\", 45: \"#8bff8b\", 46: \"#8bffcd\", 47: \"#8bffff\",\n-\t \\ 48: \"#cd0000\", 49: \"#cd008b\", 50: \"#cd00cd\", 51: \"#cd00ff\",\n-\t \\ 52: \"#cd8b00\", 53: \"#cd8b8b\", 54: \"#cd8bcd\", 55: \"#cd8bff\",\n-\t \\ 56: \"#cdcd00\", 57: \"#cdcd8b\", 58: \"#cdcdcd\", 59: \"#cdcdff\",\n-\t \\ 60: \"#cdff00\", 61: \"#cdff8b\", 62: \"#cdffcd\", 63: \"#cdffff\",\n-\t \\ 64: \"#ff0000\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 65: \"#ff008b\", 66: \"#ff00cd\", 67: \"#ff00ff\", 68: \"#ff8b00\",\n-\t \\ 69: \"#ff8b8b\", 70: \"#ff8bcd\", 71: \"#ff8bff\", 72: \"#ffcd00\",\n-\t \\ 73: \"#ffcd8b\", 74: \"#ffcdcd\", 75: \"#ffcdff\", 76: \"#ffff00\",\n-\t \\ 77: \"#ffff8b\", 78: \"#ffffcd\", 79: \"#ffffff\", 80: \"#2e2e2e\",\n-\t \\ 81: \"#5c5c5c\", 82: \"#737373\", 83: \"#8b8b8b\", 84: \"#a2a2a2\",\n-\t \\ 85: \"#b9b9b9\", 86: \"#d0d0d0\", 87: \"#e7e7e7\"\n-\t \\ })\n- elseif &t_Co == 256\n- call extend(s:cterm_color, {\n-\t \\ 16: \"#000000\", 17: \"#00005f\", 18: \"#000087\", 19: \"#0000af\",\n-\t \\ 20: \"#0000d7\", 21: \"#0000ff\", 22: \"#005f00\", 23: \"#005f5f\",\n-\t \\ 24: \"#005f87\", 25: \"#005faf\", 26: \"#005fd7\", 27: \"#005fff\",\n-\t \\ 28: \"#008700\", 29: \"#00875f\", 30: \"#008787\", 31: \"#0087af\",\n-\t \\ 32: \"#0087d7\", 33: \"#0087ff\", 34: \"#00af00\", 35: \"#00af5f\",\n-\t \\ 36: \"#00af87\", 37: \"#00afaf\", 38: \"#00afd7\", 39: \"#00afff\",\n-\t \\ 40: \"#00d700\", 41: \"#00d75f\", 42: \"#00d787\", 43: \"#00d7af\",\n-\t \\ 44: \"#00d7d7\", 45: \"#00d7ff\", 46: \"#00ff00\", 47: \"#00ff5f\",\n-\t \\ 48: \"#00ff87\", 49: \"#00ffaf\", 50: \"#00ffd7\", 51: \"#00ffff\",\n-\t \\ 52: \"#5f0000\", 53: \"#5f005f\", 54: \"#5f0087\", 55: \"#5f00af\",\n-\t \\ 56: \"#5f00d7\", 57: \"#5f00ff\", 58: \"#5f5f00\", 59: \"#5f5f5f\",\n-\t \\ 60: \"#5f5f87\", 61: \"#5f5faf\", 62: \"#5f5fd7\", 63: \"#5f5fff\",\n-\t \\ 64: \"#5f8700\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 65: \"#5f875f\", 66: \"#5f8787\", 67: \"#5f87af\", 68: \"#5f87d7\",\n-\t \\ 69: \"#5f87ff\", 70: \"#5faf00\", 71: \"#5faf5f\", 72: \"#5faf87\",\n-\t \\ 73: \"#5fafaf\", 74: \"#5fafd7\", 75: \"#5fafff\", 76: \"#5fd700\",\n-\t \\ 77: \"#5fd75f\", 78: \"#5fd787\", 79: \"#5fd7af\", 80: \"#5fd7d7\",\n-\t \\ 81: \"#5fd7ff\", 82: \"#5fff00\", 83: \"#5fff5f\", 84: \"#5fff87\",\n-\t \\ 85: \"#5fffaf\", 86: \"#5fffd7\", 87: \"#5fffff\", 88: \"#870000\",\n-\t \\ 89: \"#87005f\", 90: \"#870087\", 91: \"#8700af\", 92: \"#8700d7\",\n-\t \\ 93: \"#8700ff\", 94: \"#875f00\", 95: \"#875f5f\", 96: \"#875f87\",\n-\t \\ 97: \"#875faf\", 98: \"#875fd7\", 99: \"#875fff\", 100: \"#878700\",\n-\t \\ 101: \"#87875f\", 102: \"#878787\", 103: \"#8787af\", 104: \"#8787d7\",\n-\t \\ 105: \"#8787ff\", 106: \"#87af00\", 107: \"#87af5f\", 108: \"#87af87\",\n-\t \\ 109: \"#87afaf\", 110: \"#87afd7\", 111: \"#87afff\", 112: \"#87d700\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 113: \"#87d75f\", 114: \"#87d787\", 115: \"#87d7af\", 116: \"#87d7d7\",\n-\t \\ 117: \"#87d7ff\", 118: \"#87ff00\", 119: \"#87ff5f\", 120: \"#87ff87\",\n-\t \\ 121: \"#87ffaf\", 122: \"#87ffd7\", 123: \"#87ffff\", 124: \"#af0000\",\n-\t \\ 125: \"#af005f\", 126: \"#af0087\", 127: \"#af00af\", 128: \"#af00d7\",\n-\t \\ 129: \"#af00ff\", 130: \"#af5f00\", 131: \"#af5f5f\", 132: \"#af5f87\",\n-\t \\ 133: \"#af5faf\", 134: \"#af5fd7\", 135: \"#af5fff\", 136: \"#af8700\",\n-\t \\ 137: \"#af875f\", 138: \"#af8787\", 139: \"#af87af\", 140: \"#af87d7\",\n-\t \\ 141: \"#af87ff\", 142: \"#afaf00\", 143: \"#afaf5f\", 144: \"#afaf87\",\n-\t \\ 145: \"#afafaf\", 146: \"#afafd7\", 147: \"#afafff\", 148: \"#afd700\",\n-\t \\ 149: \"#afd75f\", 150: \"#afd787\", 151: \"#afd7af\", 152: \"#afd7d7\",\n-\t \\ 153: \"#afd7ff\", 154: \"#afff00\", 155: \"#afff5f\", 156: \"#afff87\",\n-\t \\ 157: \"#afffaf\", 158: \"#afffd7\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 159: \"#afffff\", 160: \"#d70000\", 161: \"#d7005f\", 162: \"#d70087\",\n-\t \\ 163: \"#d700af\", 164: \"#d700d7\", 165: \"#d700ff\", 166: \"#d75f00\",\n-\t \\ 167: \"#d75f5f\", 168: \"#d75f87\", 169: \"#d75faf\", 170: \"#d75fd7\",\n-\t \\ 171: \"#d75fff\", 172: \"#d78700\", 173: \"#d7875f\", 174: \"#d78787\",\n-\t \\ 175: \"#d787af\", 176: \"#d787d7\", 177: \"#d787ff\", 178: \"#d7af00\",\n-\t \\ 179: \"#d7af5f\", 180: \"#d7af87\", 181: \"#d7afaf\", 182: \"#d7afd7\",\n-\t \\ 183: \"#d7afff\", 184: \"#d7d700\", 185: \"#d7d75f\", 186: \"#d7d787\",\n-\t \\ 187: \"#d7d7af\", 188: \"#d7d7d7\", 189: \"#d7d7ff\", 190: \"#d7ff00\",\n-\t \\ 191: \"#d7ff5f\", 192: \"#d7ff87\", 193: \"#d7ffaf\", 194: \"#d7ffd7\",\n-\t \\ 195: \"#d7ffff\", 196: \"#ff0000\", 197: \"#ff005f\", 198: \"#ff0087\",\n-\t \\ 199: \"#ff00af\", 200: \"#ff00d7\", 201: \"#ff00ff\", 202: \"#ff5f00\",\n-\t \\ 203: \"#ff5f5f\", 204: \"#ff5f87\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 205: \"#ff5faf\", 206: \"#ff5fd7\", 207: \"#ff5fff\", 208: \"#ff8700\",\n-\t \\ 209: \"#ff875f\", 210: \"#ff8787\", 211: \"#ff87af\", 212: \"#ff87d7\",\n-\t \\ 213: \"#ff87ff\", 214: \"#ffaf00\", 215: \"#ffaf5f\", 216: \"#ffaf87\",\n-\t \\ 217: \"#ffafaf\", 218: \"#ffafd7\", 219: \"#ffafff\", 220: \"#ffd700\",\n-\t \\ 221: \"#ffd75f\", 222: \"#ffd787\", 223: \"#ffd7af\", 224: \"#ffd7d7\",\n-\t \\ 225: \"#ffd7ff\", 226: \"#ffff00\", 227: \"#ffff5f\", 228: \"#ffff87\",\n-\t \\ 229: \"#ffffaf\", 230: \"#ffffd7\", 231: \"#ffffff\", 232: \"#080808\",\n-\t \\ 233: \"#121212\", 234: \"#1c1c1c\", 235: \"#262626\", 236: \"#303030\",\n-\t \\ 237: \"#3a3a3a\", 238: \"#444444\", 239: \"#4e4e4e\", 240: \"#585858\",\n-\t \\ 241: \"#626262\", 242: \"#6c6c6c\", 243: \"#767676\", 244: \"#808080\",\n-\t \\ 245: \"#8a8a8a\", 246: \"#949494\", 247: \"#9e9e9e\", 248: \"#a8a8a8\",\n-\t \\ 249: \"#b2b2b2\", 250: \"#bcbcbc\", 251: \"#c6c6c6\", 252: \"#d0d0d0\",\n-\t \\ 253: \"#dadada\", 254: \"#e4e4e4\", 255: \"#eeeeee\"\n-\t \\ })\n- endif\n- endif\n-endif\n-\n-\" Return good color specification: in GUI no transformation is done, in\n-\" terminal return RGB values of known colors and empty string for unknown\n-if s:whatterm == \"gui\"\n- function! s:HtmlColor(color)\n- return a:color\n- endfun\n-else\n- function! s:HtmlColor(color)\n- if has_key(s:cterm_color, a:color)\n- return s:cterm_color[a:color]\n- else\n- return \"\"\n- endif\n- endfun\n-endif\n-\n-\" Find out the background and foreground color for use later\n-let s:fgc = s:HtmlColor(synIDattr(hlID(\"Normal\")->synIDtrans(), \"fg#\", s:whatterm))\n-let s:bgc = s:HtmlColor(synIDattr(hlID(\"Normal\")->synIDtrans(), \"bg#\", s:whatterm))\n-if s:fgc == \"\"\n- let s:fgc = ( &background == \"dark\" ? \"#ffffff\" : \"#000000\" )\n-endif\n-if s:bgc == \"\"\n- let s:bgc = ( &background == \"dark\" ? \"#000000\" : \"#ffffff\" )\n-endif\n-\n-if !s:settings.use_css\n- \" Return opening HTML tag for given highlight id\n- function! s:HtmlOpening(id, extra_attrs)\n- let a = \"\"\n- let translated_ID = synIDtrans(a:id)\n- if synIDattr(translated_ID, \"inverse\")\n- \" For inverse, we always must set both colors (and exchange them)\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- let a = a .. ''\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- let a = a .. ''\n- else\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- if x != \"\"\n-\tlet a = a .. ''\n- elseif !empty(a:extra_attrs)\n-\tlet a = a .. ''\n- endif\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- if x != \"\" | let a = a .. '' | endif\n- endif\n- if synIDattr(translated_ID, \"bold\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"italic\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"underline\") | let a = a .. \"\" | endif\n- return a\n- endfun\n-\n- \" Return closing HTML tag for given highlight id\n- function! s:HtmlClosing(id, has_extra_attrs)\n- let a = \"\"\n- let translated_ID = synIDtrans(a:id)\n- if synIDattr(translated_ID, \"underline\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"italic\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"bold\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"inverse\")\n- let a = a .. ''\n- else\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- if x != \"\" | let a = a .. '' | endif\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- if x != \"\" || a:has_extra_attrs | let a = a .. '' | endif\n- endif\n- return a\n- endfun\n-endif\n-\n-\" Use a different function for formatting based on user options. This way we\n-\" can avoid a lot of logic during the actual execution.\n-\"\n-\" Build the function line by line containing only what is needed for the options\n-\" in use for maximum code sharing with minimal branch logic for greater speed.\n-\"\n-\" Note, 'exec' commands do not recognize line continuations, so must concatenate\n-\" lines rather than continue them.\n-if s:settings.use_css\n- \" save CSS to a list of rules to add to the output at the end of processing\n-\n- \" first, get the style names we need\n- let s:wrapperfunc_lines = []\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\tfunction! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, make_unselectable, unformatted)\n-\t\n-\t let l:style_name = synIDattr(a:style_id, \"name\", s:whatterm)\n- ENDLET\n- if &diff\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t let l:diff_style_name = synIDattr(a:diff_style_id, \"name\", s:whatterm)\n- ENDLET\n-\n- \" Add normal groups and diff groups to separate lists so we can order them to\n- \" allow diff highlight to override normal highlight\n-\n- \" if primary style IS a diff style, grab it from the diff cache instead\n- \" (always succeeds because we pre-populate it)\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\n-\t if a:style_id == s:DIFF_D_ID || a:style_id == s:DIFF_A_ID || a:style_id == s:DIFF_C_ID || a:style_id == s:DIFF_T_ID\n-\t let l:saved_style = get(s:diffstylelist,a:style_id)\n-\t else\n- ENDLET\n- endif\n-\n- \" get primary style info from cache or build it on the fly if not found\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t let l:saved_style = get(s:stylelist,a:style_id)\n-\t if type(l:saved_style) == type(0)\n-\t unlet l:saved_style\n-\t let l:saved_style = s:CSS1(a:style_id)\n-\t if l:saved_style != \"\"\n-\t let l:saved_style = \".\" .. l:style_name .. \" { \" .. l:saved_style .. \"}\"\n-\t endif\n-\t let s:stylelist[a:style_id] = l:saved_style\n-\t endif\n- ENDLET\n- if &diff\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t endif\n- ENDLET\n- endif\n-\" Ignore this comment, just bypassing a highlighting issue: if\n-\n- \" Build the wrapper tags around the text. It turns out that caching these\n- \" gives pretty much zero performance gain and adds a lot of logic.\n-\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\n-\t if l:saved_style == \"\" && empty(a:extra_attrs)\n- ENDLET\n- if &diff\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t if a:diff_style_id <= 0\n- ENDLET\n- endif\n- \" no surroundings if neither primary nor diff style has any info\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t return a:text\n- ENDLET\n- if &diff\n- \" no primary style, but diff style\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t else\n-\t return ''..a:text..\"\"\n-\t endif\n- ENDLET\n- endif\n- \" Ignore this comment, just bypassing a highlighting issue: if\n-\n- \" open tag for non-empty primary style\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t else\n- ENDLET\n- \" non-empty primary style. handle either empty or non-empty diff style.\n- \"\n- \" separate the two classes by a space to apply them both if there is a diff\n- \" style name, unless the primary style is empty, then just use the diff style\n- \" name\n- let s:diffstyle =\n-\t \\ (&diff ? '(a:diff_style_id <= 0 ? \"\" : \" \" .. l:diff_style_name)..'\n-\t \\ : '')\n- if s:settings.prevent_copy == \"\"\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim eval ENDLET\n-\t return \"'..a:text..\"\"\n- ENDLET\n- else\n-\n- \" New method: use generated content in the CSS. The only thing needed here\n- \" is a span with no content, with an attribute holding the desired text.\n- \"\n- \" Old method: use an element when text is unsectable. This is still\n- \" used in conditional comments for Internet Explorer, where the new method\n- \" doesn't work.\n- \"\n- \" Wrap the in a to allow fixing the stupid bug in some fonts\n- \" which cause browsers to display a 1px gap between lines when these\n- \" s have a background color (maybe not really a bug, this isn't\n- \" well-defined)\n- \"\n- \" use strwidth, because we care only about how many character boxes are\n- \" needed to size the input, we don't care how many characters (including\n- \" separately counted composing chars, from strchars()) or bytes (from\n- \" len())the string contains. strdisplaywidth() is not needed because none of\n- \" the unselectable groups can contain tab characters (fold column, fold\n- \" text, line number).\n- \"\n- \" Note, if maxlength property needs to be added in the future, it will need\n- \" to use strchars(), because HTML specifies that the maxlength parameter\n- \" uses the number of unique codepoints for its limit.\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim eval ENDLET\n-\t if a:make_unselectable\n-\t let return_span = \"' : '>')\n- ENDLET\n- endif\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim eval ENDLET\n-\t return return_span..''\n-\t else\n-\t return \"'..a:text..\"\"\n-\t endif\n- ENDLET\n- endif\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t endif\n-\tendfun\n- ENDLET\n-else\n- \" Non-CSS method just needs the wrapper.\n- \"\n- \" Functions used to get opening/closing automatically return null strings if\n- \" no styles exist.\n- if &diff\n- let s:wrapperfunc_lines =<< trim ENDLET\n-\tfunction! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, unusedarg, unusedarg2)\n-\t if a:diff_style_id <= 0\n-\t let l:diff_opening = s:HtmlOpening(a:diff_style_id, \"\")\n-\t let l:diff_closing = s:HtmlClosing(a:diff_style_id, 0)\n-\t else\n-\t let l:diff_opening = \"\"\n-\t let l:diff_closing = \"\"\n-\t endif\n-\t return s:HtmlOpening(a:style_id, a:extra_attrs)..l:diff_opening..a:text..l:diff_closing..s:HtmlClosing(a:style_id, !empty(a:extra_attrs))\n-\tendfun\n- ENDLET\n- else\n- let s:wrapperfunc_lines =<< trim ENDLET\n-\tfunction! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, unusedarg, unusedarg2)\n-\t return s:HtmlOpening(a:style_id, a:extra_attrs)..a:text..s:HtmlClosing(a:style_id, !empty(a:extra_attrs))\n-\tendfun\n- ENDLET\n- endif\n-endif\n-\n-\" create the function we built line by line above\n-exec join(flatten(s:wrapperfunc_lines), \"\\n\")\n-\n-let s:diff_mode = &diff\n-\n-\" Return HTML valid characters enclosed in a span of class style_name with\n-\" unprintable characters expanded and double spaces replaced as necessary.\n-\"\n-\" TODO: eliminate unneeded logic like done for BuildStyleWrapper\n-function! s:HtmlFormat(text, style_id, diff_style_id, extra_attrs, make_unselectable)\n- \" Replace unprintable characters\n- let unformatted = strtrans(a:text)\n-\n- let formatted = unformatted\n-\n- \" Replace the reserved html characters\n- let formatted = substitute(formatted, '&', '\\&', 'g')\n- let formatted = substitute(formatted, '<', '\\<', 'g')\n- let formatted = substitute(formatted, '>', '\\>', 'g')\n- let formatted = substitute(formatted, '\"', '\\"', 'g')\n- \" ' is not valid in HTML but it is in XHTML, so just use the numeric\n- \" reference for it instead. Needed because it could appear in quotes\n- \" especially if unselectable regions is turned on.\n- let formatted = substitute(formatted, '\"', '\\'', 'g')\n-\n- \" Replace a \"form feed\" character with HTML to do a page break\n- \" TODO: need to prevent this in unselectable areas? Probably it should never\n- \" BE in an unselectable area...\n- let formatted = substitute(formatted, \"\\x0c\", '
', 'g')\n-\n- \" Replace double spaces, leading spaces, and trailing spaces if needed\n- if ' ' != s:HtmlSpace\n- let formatted = substitute(formatted, ' ', s:HtmlSpace .. s:HtmlSpace, 'g')\n- let formatted = substitute(formatted, '^ ', s:HtmlSpace, 'g')\n- let formatted = substitute(formatted, ' \\+$', s:HtmlSpace, 'g')\n- endif\n-\n- \" Enclose in the correct format\n- return s:BuildStyleWrapper(a:style_id, a:diff_style_id, a:extra_attrs, formatted, a:make_unselectable, unformatted)\n-endfun\n-\n-\" set up functions to call HtmlFormat in certain ways based on whether the\n-\" element is supposed to be unselectable or not\n-if s:settings.prevent_copy =~# 'n'\n- if s:settings.number_lines\n- if s:settings.line_ids\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n-\tif a:lnr > 0\n-\t return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id=\"'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : \"\")..'L'..a:lnr..s:settings.id_suffix..'\" ', 1)\n-\telse\n-\t return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n-\tendif\n- endfun\n- else\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n-\treturn s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n- endfun\n- endif\n- elseif s:settings.line_ids\n- \" if lines are not being numbered the only reason this function gets called\n- \" is to put the line IDs on each line; \"text\" will be empty but lnr will\n- \" always be non-zero, however we don't want to use the because that\n- \" won't work as nice for empty text\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id=\"'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : \"\")..'L'..a:lnr..s:settings.id_suffix..'\" ', 0)\n- endfun\n- endif\n-else\n- if s:settings.line_ids\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n- if a:lnr > 0\n-\treturn s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id=\"'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : \"\")..'L'..a:lnr..s:settings.id_suffix..'\" ', 0)\n- else\n-\treturn s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endif\n- endfun\n- else\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endfun\n- endif\n-endif\n-if s:settings.prevent_copy =~# 'd'\n- function! s:HtmlFormat_d(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n- endfun\n-else\n- function! s:HtmlFormat_d(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endfun\n-endif\n-if s:settings.prevent_copy =~# 'f'\n- if s:settings.use_input_for_pc ==# 'none'\n- \" Simply space-pad to the desired width inside the generated content (note\n- \" that the FoldColumn definition includes a whitespace:pre rule)\n- function! s:FoldColumn_build(char, len, numfill, char2, class, click)\n- return \"\"\n- endfun\n- function! s:FoldColumn_fill()\n- return s:HtmlFormat(repeat(' ', s:foldcolumn), s:FOLD_C_ID, 0, \"\", 1)\n- endfun\n- else\n- \" Note the elements for fill spaces will have a single space for\n- \" content, to allow active cursor CSS selection to work.\n- \"\n- \" Wrap the whole thing in a span for the 1px padding workaround for gaps.\n- \"\n- \" Build the function line by line containing only what is needed for the\n- \" options in use for maximum code sharing with minimal branch logic for\n- \" greater speed.\n- \"\n- \" Note, 'exec' commands do not recognize line continuations, so must\n- \" concatenate lines rather than continue them.\n- let s:build_fun_lines = []\n- call add(s:build_fun_lines, [])\n- let s:build_fun_lines[-1] =<< trim ENDLET\n-\t function! s:FoldColumn_build(char, len, numfill, char2, class, click)\n-\t let l:input_open = \"\" : \"'>\")\n-\t let l:return_span = \"\"\n-\t let l:return_span ..= l:input_open..l:common_attrs..repeat(a:char, a:len)..(a:char2)\n-\t let l:return_span ..= l:input_close\n- ENDLET\n- if s:settings.use_input_for_pc ==# 'fallback'\n- call add(s:build_fun_lines, [])\n- let s:build_fun_lines[-1] =<< trim ENDLET\n-\t let l:return_span ..= \"\"\n- ENDLET\n- endif\n- call add(s:build_fun_lines, [])\n- let s:build_fun_lines[-1] =<< trim ENDLET\n-\t let l:return_span ..= \"\"\n-\t return l:return_span\n-\t endfun\n- ENDLET\n- \" create the function we built line by line above\n- exec join(flatten(s:build_fun_lines), \"\\n\")\n-\n- function! s:FoldColumn_fill()\n- return s:FoldColumn_build(' ', s:foldcolumn, 0, '', 'FoldColumn', '')\n- endfun\n- endif\n-else\n- \" For normal fold columns, simply space-pad to the desired width (note that\n- \" the FoldColumn definition includes a whitespace:pre rule)\n- function! s:FoldColumn_build(char, len, numfill, char2, class, click)\n- return \"\".\n-\t \\ repeat(a:char, a:len)..a:char2..repeat(' ', a:numfill).\n-\t \\ \"\"\n- endfun\n- function! s:FoldColumn_fill()\n- return s:HtmlFormat(repeat(' ', s:foldcolumn), s:FOLD_C_ID, 0, \"\", 0)\n- endfun\n-endif\n-if s:settings.prevent_copy =~# 't'\n- \" put an extra empty span at the end for dynamic folds, so the linebreak can\n- \" be surrounded. Otherwise do it as normal.\n- \"\n- \" TODO: isn't there a better way to do this, than placing it here and using a\n- \" substitute later?\n- if s:settings.dynamic_folds\n- function! s:HtmlFormat_t(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1) .\n-\t \\ s:HtmlFormat(\"\", a:style_id, 0, \"\", 0)\n- endfun\n- else\n- function! s:HtmlFormat_t(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n- endfun\n- endif\n-else\n- function! s:HtmlFormat_t(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endfun\n-endif\n-\n-\" Return CSS style describing given highlight id (can be empty)\n-function! s:CSS1(id)\n- let a = \"\"\n- let translated_ID = synIDtrans(a:id)\n- if synIDattr(translated_ID, \"inverse\")\n- \" For inverse, we always must set both colors (and exchange them)\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- let a = a .. \"color: \" .. ( x != \"\" ? x : s:bgc ) .. \"; \"\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- let a = a .. \"background-color: \" .. ( x != \"\" ? x : s:fgc ) .. \"; \"\n- else\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- if x != \"\" | let a = a .. \"color: \" .. x .. \"; \" | endif\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- if x != \"\"\n- let a = a .. \"background-color: \" .. x .. \"; \"\n- \" stupid hack because almost every browser seems to have at least one font\n- \" which shows 1px gaps between lines which have background\n- let a = a .. \"padding-bottom: 1px; \"\n- elseif (translated_ID == s:FOLDED_ID || translated_ID == s:LINENR_ID || translated_ID == s:FOLD_C_ID) && !empty(s:settings.prevent_copy)\n- \" input elements default to a different color than the rest of the page\n- let a = a .. \"background-color: \" .. s:bgc .. \"; \"\n- endif\n- endif\n- if synIDattr(translated_ID, \"bold\") | let a = a .. \"font-weight: bold; \" | endif\n- if synIDattr(translated_ID, \"italic\") | let a = a .. \"font-style: italic; \" | endif\n- if synIDattr(translated_ID, \"underline\") | let a = a .. \"text-decoration: underline; \" | endif\n- return a\n-endfun\n-\n-if s:settings.dynamic_folds\n- \" compares two folds as stored in our list of folds\n- \" A fold is \"less\" than another if it starts at an earlier line number,\n- \" or ends at a later line number, ties broken by fold level\n- function! s:FoldCompare(f1, f2)\n- if a:f1.firstline != a:f2.firstline\n- \" put it before if it starts earlier\n- return a:f1.firstline - a:f2.firstline\n- elseif a:f1.lastline != a:f2.lastline\n- \" put it before if it ends later\n- return a:f2.lastline - a:f1.lastline\n- else\n- \" if folds begin and end on the same lines, put lowest fold level first\n- return a:f1.level - a:f2.level\n- endif\n- endfunction\n-\n-endif\n-\n-\n-\" Set some options to make it work faster.\n-\" Don't report changes for :substitute, there will be many of them.\n-\" Don't change other windows; turn off scroll bind temporarily\n-let s:old_title = &title\n-let s:old_icon = &icon\n-let s:old_et = &l:et\n-let s:old_bind = &l:scrollbind\n-let s:old_report = &report\n-let s:old_search = @/\n-let s:old_more = &more\n-set notitle noicon\n-setlocal et\n-set nomore\n-set report=1000000\n-setlocal noscrollbind\n-\n-if exists(':ownsyntax') && exists('w:current_syntax')\n- let s:current_syntax = w:current_syntax\n-elseif exists('b:current_syntax')\n- let s:current_syntax = b:current_syntax\n-else\n- let s:current_syntax = 'none'\n-endif\n-\n-if s:current_syntax == ''\n- let s:current_syntax = 'none'\n-endif\n-\n-\" If the user is sourcing this script directly then the plugin version isn't\n-\" known because the main plugin script didn't load. In the usual case where the\n-\" user still has the full Vim runtime installed, or has this full plugin\n-\" installed in a package or something, then we can extract the version from the\n-\" main plugin file at it's usual spot relative to this file. Otherwise the user\n-\" is assembling their runtime piecemeal and we have no idea what versions of\n-\" other files may be present so don't even try to make a guess or assume the\n-\" presence of other specific files with specific meaning.\n-\"\n-\" We don't want to actually source the main plugin file here because the user\n-\" may have a good reason not to (e.g. they define their own TOhtml command or\n-\" something).\n-\"\n-\" If this seems way too complicated and convoluted, it is. Probably I should\n-\" have put the version information in the autoload file from the start. But the\n-\" version has been in the global variable for so long that changing it could\n-\" break a lot of user scripts.\n-if exists(\"g:loaded_2html_plugin\")\n- let s:pluginversion = g:loaded_2html_plugin\n-else\n- if !exists(\"g:unloaded_tohtml_plugin\")\n- let s:main_plugin_path = expand(\":p:h:h\")..\"/plugin/tohtml.vim\"\n- if filereadable(s:main_plugin_path)\n- let s:lines = readfile(s:main_plugin_path, \"\", 20)\n- call filter(s:lines, 'v:val =~ \"loaded_2html_plugin = \"')\n- if empty(s:lines)\n-\tlet g:unloaded_tohtml_plugin = \"unknown\"\n- else\n-\tlet g:unloaded_tohtml_plugin = substitute(s:lines[0], '.*loaded_2html_plugin = \\([''\"]\\)\\(\\%(\\1\\@!.\\)\\+\\)\\1', '\\2', '')\n- endif\n- unlet s:lines\n- else\n- let g:unloaded_tohtml_plugin = \"unknown\"\n- endif\n- unlet s:main_plugin_path\n- endif\n- let s:pluginversion = g:unloaded_tohtml_plugin\n-endif\n-\n-\" Split window to create a buffer with the HTML file.\n-let s:orgbufnr = winbufnr(0)\n-let s:origwin_stl = &l:stl\n-if expand(\"%\") == \"\"\n- if exists('g:html_diff_win_num')\n- exec 'new Untitled_win'..g:html_diff_win_num..'.'.(s:settings.use_xhtml ? 'xhtml' : 'html')\n- else\n- exec 'new Untitled.'..(s:settings.use_xhtml ? 'xhtml' : 'html')\n- endif\n-else\n- exec 'new %.'..(s:settings.use_xhtml ? 'xhtml' : 'html')\n-endif\n-\n-\" Resize the new window to very small in order to make it draw faster\n-let s:old_winheight = winheight(0)\n-let s:old_winfixheight = &l:winfixheight\n-if s:old_winheight > 2\n- resize 1 \" leave enough room to view one line at a time\n- norm! G\n- norm! zt\n-endif\n-setlocal winfixheight\n-\n-let s:newwin_stl = &l:stl\n-\n-\" on the new window, set the least time-consuming fold method\n-let s:old_fen = &foldenable\n-setlocal foldmethod=manual\n-setlocal nofoldenable\n-\n-let s:newwin = winnr()\n-let s:orgwin = bufwinnr(s:orgbufnr)\n-\n-setlocal modifiable\n-%d\n-let s:old_paste = &paste\n-set paste\n-let s:old_magic = &magic\n-set magic\n-\n-\" set the fileencoding to match the charset we'll be using\n-let &l:fileencoding=s:settings.vim_encoding\n-\n-\" According to http://www.w3.org/TR/html4/charset.html#doc-char-set, the byte\n-\" order mark is highly recommend on the web when using multibyte encodings. But,\n-\" it is not a good idea to include it on UTF-8 files. Otherwise, let Vim\n-\" determine when it is actually inserted.\n-if s:settings.vim_encoding == 'utf-8'\n- setlocal nobomb\n-else\n- setlocal bomb\n-endif\n-\n-let s:lines = []\n-\n-if s:settings.use_xhtml\n- if s:settings.encoding != \"\"\n- call add(s:lines, \"\")\n- else\n- call add(s:lines, \"\")\n- endif\n- let s:tag_close = ' />'\n-else\n- let s:tag_close = '>'\n-endif\n-\n-let s:HtmlSpace = ' '\n-let s:LeadingSpace = ' '\n-let s:HtmlEndline = ''\n-if s:settings.no_pre\n- let s:HtmlEndline = '\",\n-\t\\ \"\"])\n- \" include encoding as close to the top as possible, but only if not already\n- \" contained in XML information (to avoid haggling over content type)\n- if s:settings.encoding != \"\" && !s:settings.use_xhtml\n- if s:html5\n- call add(s:lines, '\"..expand(\"%:p:~\")..\"\"),\n-\t\\ (\"\",\n-\t \\ s:settings.use_xhtml ? \"\" : \"\",\n-\t \\]\n- else\n-\t\" if we aren't doing hover_unfold, use CSS 1 only\n-\tcall extend(s:lines, [\n-\t \\ \".FoldColumn { text-decoration: none; white-space: pre; }\",\n-\t \\ \".open-fold .fulltext { display: inline; }\",\n-\t \\ \".open-fold span.Folded { display: none; }\",\n-\t \\ \".open-fold .toggle-open { display: none; }\",\n-\t \\ \".open-fold .toggle-closed { display: inline; }\",\n-\t \\ \"\",\n-\t \\ \".closed-fold .fulltext { display: none; }\",\n-\t \\ \".closed-fold span.Folded { display: inline; }\",\n-\t \\ \".closed-fold .toggle-open { display: inline; }\",\n-\t \\ \".closed-fold .toggle-closed { display: none; }\",\n-\t \\])\n- endif\n- endif\n- \" else we aren't doing any dynamic folding, no need for any special rules\n-\n- call extend(s:lines, [\n-\t \\ s:settings.use_xhtml ? \"\" : '-->',\n-\t \\ \"\",\n-\t \\])\n- call extend(s:lines, s:ieonly)\n- unlet s:ieonly\n- endif\n-\n- let s:uses_script = s:settings.dynamic_folds || s:settings.line_ids\n-\n- \" insert script tag if needed\n- if s:uses_script\n- call extend(s:lines, [\n-\t \\ \"\",\n-\t \\ \"\",\n-\t \\ s:settings.use_xhtml ? '//' : '-->',\n-\t \\ \"\"\n-\t \\ ])\n- endif\n-\n- call extend(s:lines, [\"\",\n-\t\\ \"\"])\n-endif\n-\n-if s:settings.no_pre\n- \" if we're not using CSS we use a font tag which can't have a div inside\n- if s:settings.use_css\n- call extend(s:lines, [\"
\"])\n- endif\n-else\n- call extend(s:lines, [\"
\"])\n-endif\n-\n-exe s:orgwin .. \"wincmd w\"\n-\n-\" caches of style data\n-\" initialize to include line numbers if using them\n-if s:settings.number_lines\n-  let s:stylelist = { s:LINENR_ID : \".LineNr { \" .. s:CSS1( s:LINENR_ID ) .. \"}\" }\n-else\n-  let s:stylelist = {}\n-endif\n-let s:diffstylelist = {\n-      \\   s:DIFF_A_ID : \".DiffAdd { \" .. s:CSS1( s:DIFF_A_ID ) .. \"}\",\n-      \\   s:DIFF_C_ID : \".DiffChange { \" .. s:CSS1( s:DIFF_C_ID ) .. \"}\",\n-      \\   s:DIFF_D_ID : \".DiffDelete { \" .. s:CSS1( s:DIFF_D_ID ) .. \"}\",\n-      \\   s:DIFF_T_ID : \".DiffText { \" .. s:CSS1( s:DIFF_T_ID ) .. \"}\"\n-      \\ }\n-\n-\" set up progress bar in the status line\n-if !s:settings.no_progress\n-  \" ProgressBar Indicator\n-  let s:progressbar={}\n-\n-  \" Progressbar specific functions\n-\n-  func! s:SetProgbarColor()\n-    if hlID(\"TOhtmlProgress\") != 0\n-      hi! link TOhtmlProgress_auto TOhtmlProgress\n-    elseif hlID(\"TOhtmlProgress_auto\")==0 ||\n-       \\ !exists(\"s:last_colors_name\") || !exists(\"g:colors_name\") ||\n-       \\ g:colors_name != s:last_colors_name\n-      let s:last_colors_name = exists(\"g:colors_name\") ? g:colors_name : \"none\"\n-\n-      let l:diffatr = synIDattr(hlID(\"DiffDelete\")->synIDtrans(), \"reverse\", s:whatterm) ? \"fg#\" : \"bg#\"\n-      let l:stlatr = synIDattr(hlID(\"StatusLine\")->synIDtrans(), \"reverse\", s:whatterm) ? \"fg#\" : \"bg#\"\n-\n-      let l:progbar_color = synIDattr(hlID(\"DiffDelete\")->synIDtrans(), l:diffatr, s:whatterm)\n-      let l:stl_color = synIDattr(hlID(\"StatusLine\")->synIDtrans(), l:stlatr, s:whatterm)\n-\n-      if \"\" == l:progbar_color\n-\tlet l:progbar_color = synIDattr(hlID(\"DiffDelete\")->synIDtrans(), \"reverse\", s:whatterm) ? s:fgc : s:bgc\n-      endif\n-      if \"\" == l:stl_color\n-\tlet l:stl_color = synIDattr(hlID(\"StatusLine\")->synIDtrans(), \"reverse\", s:whatterm) ? s:fgc : s:bgc\n-      endif\n-\n-      if l:progbar_color == l:stl_color\n-\tif s:whatterm == 'cterm'\n-\t  if l:progbar_color >= (&t_Co/2)\n-\t    let l:progbar_color-=1\n-\t  else\n-\t    let l:progbar_color+=1\n-\t  endif\n-\telse\n-\t  let l:rgb = map(matchlist(l:progbar_color, '#\\zs\\x\\x\\ze\\(\\x\\x\\)\\(\\x\\x\\)')[:2], 'str2nr(v:val, 16)')\n-\t  let l:avg = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3\n-\t  if l:avg >= 128\n-\t    let l:avg_new = l:avg\n-\t    while l:avg - l:avg_new < 0x15\n-\t      let l:rgb = map(l:rgb, 'v:val * 3 / 4')\n-\t      let l:avg_new = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3\n-\t    endwhile\n-\t  else\n-\t    let l:avg_new = l:avg\n-\t    while l:avg_new - l:avg < 0x15\n-\t      let l:rgb = map(l:rgb, 'min([max([v:val, 4]) * 5 / 4, 255])')\n-\t      let l:avg_new = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3\n-\t    endwhile\n-\t  endif\n-\t  let l:progbar_color = printf(\"#%02x%02x%02x\", l:rgb[0], l:rgb[1], l:rgb[2])\n-\tendif\n-\techomsg \"diff detected progbar color set to\" l:progbar_color\n-      endif\n-      exe \"hi TOhtmlProgress_auto\" s:whatterm..\"bg=\"..l:progbar_color\n-    endif\n-  endfun\n-\n-  func! s:ProgressBar(title, max_value, winnr)\n-    let pgb=copy(s:progressbar)\n-    let pgb.title = a:title..' '\n-    let pgb.max_value = a:max_value\n-    let pgb.winnr = a:winnr\n-    let pgb.cur_value = 0\n-\n-    let pgb.items = { 'title'   : { 'color' : 'Statusline' },\n-\t  \\'bar'     : { 'color' : 'Statusline' , 'fillcolor' : 'TOhtmlProgress_auto' , 'bg' : 'Statusline' } ,\n-\t  \\'counter' : { 'color' : 'Statusline' } }\n-    let pgb.last_value = 0\n-    let pgb.needs_redraw = 0\n-    \" Note that you must use len(split) instead of len() if you want to use \n-    \" unicode in title.\n-    \"\n-    \" Subtract 3 for spacing around the title.\n-    \" Subtract 4 for the percentage display.\n-    \" Subtract 2 for spacing before this.\n-    \" Subtract 2 more for the '|' on either side of the progress bar\n-    let pgb.subtractedlen=len(split(pgb.title, '\\zs'))+3+4+2+2\n-    let pgb.max_len = 0\n-    set laststatus=2\n-    return pgb\n-  endfun\n-\n-  \" Function: progressbar.calculate_ticks() {{{1\n-  func! s:progressbar.calculate_ticks(pb_len)\n-    if a:pb_len<=0\n-      let pb_len = 100\n-    else\n-      let pb_len = a:pb_len\n-    endif\n-    let self.progress_ticks = map(range(pb_len+1), \"v:val * self.max_value / pb_len\")\n-  endfun\n-\n-  \"Function: progressbar.paint()\n-  func! s:progressbar.paint()\n-    \" Recalculate widths.\n-    let max_len = winwidth(self.winnr)\n-    let pb_len = 0\n-    \" always true on first call because of initial value of self.max_len\n-    if max_len != self.max_len\n-      let self.max_len = max_len\n-\n-      \" Progressbar length\n-      let pb_len = max_len - self.subtractedlen\n-\n-      call self.calculate_ticks(pb_len)\n-\n-      let self.needs_redraw = 1\n-      let cur_value = 0\n-      let self.pb_len = pb_len\n-    else\n-      \" start searching at the last found index to make the search for the\n-      \" appropriate tick value normally take 0 or 1 comparisons\n-      let cur_value = self.last_value\n-      let pb_len = self.pb_len\n-    endif\n-\n-    let cur_val_max = pb_len > 0 ? pb_len : 100\n-\n-    \" find the current progress bar position based on precalculated thresholds\n-    while cur_value < cur_val_max && self.cur_value > self.progress_ticks[cur_value]\n-      let cur_value += 1\n-    endwhile\n-\n-    \" update progress bar\n-    if self.last_value != cur_value || self.needs_redraw || self.cur_value == self.max_value\n-      let self.needs_redraw = 1\n-      let self.last_value = cur_value\n-\n-      let t_color  = self.items.title.color\n-      let b_fcolor = self.items.bar.fillcolor\n-      let b_color  = self.items.bar.color\n-      let c_color  = self.items.counter.color\n-\n-      let stl =  \"%#\".t_color.\"#%-( \".self.title.\" %)\".\n-\t    \\\"%#\".b_color.\"#\".\n-\t    \\(pb_len>0 ?\n-\t    \\\t('|%#'.b_fcolor.\"#%-(\".repeat(\" \",cur_value).\"%)\".\n-\t    \\\t '%#'.b_color.\"#\".repeat(\" \",pb_len-cur_value).\"|\"):\n-\t    \\\t('')).\n-\t    \\\"%=%#\".c_color.\"#%( \".printf(\"%3.d \",100*self.cur_value/self.max_value).\"%% %)\"\n-      call setwinvar(self.winnr, '&stl', stl)\n-    endif\n-  endfun\n-\n-  func! s:progressbar.incr( ... )\n-    let self.cur_value += (a:0 ? a:1 : 1)\n-    \" if we were making a general-purpose progress bar, we'd need to limit to a\n-    \" lower limit as well, but since we always increment with a positive value\n-    \" in this script, we only need limit the upper value\n-    let self.cur_value = (self.cur_value > self.max_value ? self.max_value : self.cur_value)\n-    call self.paint()\n-  endfun\n-  \" }}}\n-  if s:settings.dynamic_folds\n-    \" to process folds we make two passes through each line\n-    let s:pgb = s:ProgressBar(\"Processing folds:\", line('$')*2, s:orgwin)\n-  endif\n-\n-  call s:SetProgbarColor()\n-endif\n-\n-let s:build_fun_lines = []\n-call add(s:build_fun_lines, [])\n-let s:build_fun_lines[-1] =<< trim ENDLET\n-    func! s:Add_diff_fill(lnum)\n-      let l:filler = diff_filler(a:lnum)\n-      if l:filler > 0\n-\tlet l:to_insert = l:filler\n-\twhile l:to_insert > 0\n-\t  let l:new = repeat(s:difffillchar, 3)\n-\n-\t  if l:to_insert > 2 && l:to_insert < l:filler && !s:settings.whole_filler\n-\t    let l:new = l:new .. \" \" .. l:filler .. \" inserted lines \"\n-\t    let l:to_insert = 2\n-\t  endif\n-ENDLET\n-call add(s:build_fun_lines, [])\n-if !s:settings.no_pre\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  \" HTML line wrapping is off--go ahead and fill to the margin\n-\t  \" TODO: what about when CSS wrapping is turned on?\n-\t  let l:new = l:new .. repeat(s:difffillchar, &columns - strlen(l:new) - s:margin)\n-  ENDLET\n-else\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  let l:new = l:new .. repeat(s:difffillchar, 3)\n-  ENDLET\n-endif\n-call add(s:build_fun_lines, [])\n-let s:build_fun_lines[-1] =<< trim ENDLET\n-\tlet l:new = s:HtmlFormat_d(l:new, s:DIFF_D_ID, 0)\n-ENDLET\n-if s:settings.number_lines\n-  call add(s:build_fun_lines, [])\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  \" Indent if line numbering is on. Indent gets style of line number\n-\t  \" column.\n-\t  let l:new = s:HtmlFormat_n(repeat(' ', s:margin), s:LINENR_ID, 0, 0) .. l:new\n-  ENDLET\n-endif\n-if s:settings.dynamic_folds && !s:settings.no_foldcolumn \n-  call add(s:build_fun_lines, [])\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  if s:foldcolumn > 0\n-\t    \" Indent for foldcolumn if there is one. Assume it's empty, there should\n-\t    \" not be a fold for deleted lines in diff mode.\n-\t    let l:new = s:FoldColumn_fill() .. l:new\n-\t  endif\n-  ENDLET\n-endif\n-\" Ignore this comment, just bypassing a highlighting issue: if\n-call add(s:build_fun_lines, [])\n-let s:build_fun_lines[-1] =<< trim ENDLET\n-\tcall add(s:lines, l:new..s:HtmlEndline)\n-\tlet l:to_insert = l:to_insert - 1\n-      endwhile\n-    endif\n-  endfun\n-ENDLET\n-exec join(flatten(s:build_fun_lines), \"\\n\")\n-\n-\" First do some preprocessing for dynamic folding. Do this for the entire file\n-\" so we don't accidentally start within a closed fold or something.\n-let s:allfolds = []\n-\n-if s:settings.dynamic_folds\n-  let s:lnum = 1\n-  let s:end = line('$')\n-  \" save the fold text and set it to the default so we can find fold levels\n-  let s:foldtext_save = &foldtext\n-  setlocal foldtext&\n-\n-  \" we will set the foldcolumn in the html to the greater of the maximum fold\n-  \" level and the current foldcolumn setting\n-  let s:foldcolumn = &foldcolumn\n-\n-  \" get all info needed to describe currently closed folds\n-  while s:lnum <= s:end\n-    if foldclosed(s:lnum) == s:lnum\n-      \" default fold text has '+-' and then a number of dashes equal to fold\n-      \" level, so subtract 2 from index of first non-dash after the dashes\n-      \" in order to get the fold level of the current fold\n-      let s:level = match(foldtextresult(s:lnum), '+-*\\zs[^-]') - 2\n-      \" store fold info for later use\n-      let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': \"closed-fold\"}\n-      call add(s:allfolds, s:newfold)\n-      \" open the fold so we can find any contained folds\n-      execute s:lnum..\"foldopen\"\n-    else\n-      if !s:settings.no_progress\n-\tcall s:pgb.incr()\n-\tif s:pgb.needs_redraw\n-\t  redrawstatus\n-\t  let s:pgb.needs_redraw = 0\n-\tendif\n-      endif\n-      let s:lnum = s:lnum + 1\n-    endif\n-  endwhile\n-\n-  \" close all folds to get info for originally open folds\n-  silent! %foldclose!\n-  let s:lnum = 1\n-\n-  \" the originally open folds will be all folds we encounter that aren't\n-  \" already in the list of closed folds\n-  while s:lnum <= s:end\n-    if foldclosed(s:lnum) == s:lnum\n-      \" default fold text has '+-' and then a number of dashes equal to fold\n-      \" level, so subtract 2 from index of first non-dash after the dashes\n-      \" in order to get the fold level of the current fold\n-      let s:level = match(foldtextresult(s:lnum), '+-*\\zs[^-]') - 2\n-      let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': \"closed-fold\"}\n-      \" only add the fold if we don't already have it\n-      if empty(s:allfolds) || index(s:allfolds, s:newfold) == -1\n-\tlet s:newfold.type = \"open-fold\"\n-\tcall add(s:allfolds, s:newfold)\n-      endif\n-      \" open the fold so we can find any contained folds\n-      execute s:lnum..\"foldopen\"\n-    else\n-      if !s:settings.no_progress\n-\tcall s:pgb.incr()\n-\tif s:pgb.needs_redraw\n-\t  redrawstatus\n-\t  let s:pgb.needs_redraw = 0\n-\tendif\n-      endif\n-      let s:lnum = s:lnum + 1\n-    endif\n-  endwhile\n-\n-  \" sort the folds so that we only ever need to look at the first item in the\n-  \" list of folds\n-  call sort(s:allfolds, \"s:FoldCompare\")\n-\n-  let &l:foldtext = s:foldtext_save\n-  unlet s:foldtext_save\n-\n-  \" close all folds again so we can get the fold text as we go\n-  silent! %foldclose!\n-\n-  \" Go through and remove folds we don't need to (or cannot) process in the\n-  \" current conversion range\n-  \"\n-  \" If a fold is removed which contains other folds, which are included, we need\n-  \" to adjust the level of the included folds as used by the conversion logic\n-  \" (avoiding special cases is good)\n-  \"\n-  \" Note any time we remove a fold, either all of the included folds are in it,\n-  \" or none of them, because we only remove a fold if neither its start nor its\n-  \" end are within the conversion range.\n-  let leveladjust = 0\n-  for afold in s:allfolds\n-    let removed = 0\n-    if exists(\"g:html_start_line\") && exists(\"g:html_end_line\")\n-      if afold.firstline < g:html_start_line\n-\tif afold.lastline <= g:html_end_line && afold.lastline >= g:html_start_line\n-\t  \" if a fold starts before the range to convert but stops within the\n-\t  \" range, we need to include it. Make it start on the first converted\n-\t  \" line.\n-\t  let afold.firstline = g:html_start_line\n-\telse\n-\t  \" if the fold lies outside the range or the start and stop enclose\n-\t  \" the entire range, don't bother parsing it\n-\t  call remove(s:allfolds, index(s:allfolds, afold))\n-\t  let removed = 1\n-\t  if afold.lastline > g:html_end_line\n-\t    let leveladjust += 1\n-\t  endif\n-\tendif\n-      elseif afold.firstline > g:html_end_line\n-\t\" If the entire fold lies outside the range we need to remove it.\n-\tcall remove(s:allfolds, index(s:allfolds, afold))\n-\tlet removed = 1\n-      endif\n-    elseif exists(\"g:html_start_line\")\n-      if afold.firstline < g:html_start_line\n-\t\" if there is no last line, but there is a first line, the end of the\n-\t\" fold will always lie within the region of interest, so keep it\n-\tlet afold.firstline = g:html_start_line\n-      endif\n-    elseif exists(\"g:html_end_line\")\n-      \" if there is no first line we default to the first line in the buffer so\n-      \" the fold start will always be included if the fold itself is included.\n-      \" If however the entire fold lies outside the range we need to remove it.\n-      if afold.firstline > g:html_end_line\n-\tcall remove(s:allfolds, index(s:allfolds, afold))\n-\tlet removed = 1\n-      endif\n-    endif\n-    if !removed\n-      let afold.level -= leveladjust\n-      if afold.level+1 > s:foldcolumn\n-\tlet s:foldcolumn = afold.level+1\n-      endif\n-    endif\n-  endfor\n-\n-  \" if we've removed folds containing the conversion range from processing,\n-  \" getting foldtext as we go won't know to open the removed folds, so the\n-  \" foldtext would be wrong; open them now.\n-  \"\n-  \" Note that only when a start and an end line is specified will a fold\n-  \" containing the current range ever be removed.\n-  while leveladjust > 0\n-    exe g:html_start_line..\"foldopen\"\n-    let leveladjust -= 1\n-  endwhile\n-endif\n-\n-\" Now loop over all lines in the original text to convert to html.\n-\" Use html_start_line and html_end_line if they are set.\n-if exists(\"g:html_start_line\")\n-  let s:lnum = html_start_line\n-  if s:lnum < 1 || s:lnum > line(\"$\")\n-    let s:lnum = 1\n-  endif\n-else\n-  let s:lnum = 1\n-endif\n-if exists(\"g:html_end_line\")\n-  let s:end = html_end_line\n-  if s:end < s:lnum || s:end > line(\"$\")\n-    let s:end = line(\"$\")\n-  endif\n-else\n-  let s:end = line(\"$\")\n-endif\n-\n-\" stack to keep track of all the folds containing the current line\n-let s:foldstack = []\n-\n-if !s:settings.no_progress\n-  let s:pgb = s:ProgressBar(\"Processing lines:\", s:end - s:lnum + 1, s:orgwin)\n-endif\n-\n-if s:settings.number_lines\n-  let s:margin = strlen(s:end) + 1\n-else\n-  let s:margin = 0\n-endif\n-\n-if has('folding') && !s:settings.ignore_folding\n-  let s:foldfillchar = &fillchars[matchend(&fillchars, 'fold:')]\n-  if s:foldfillchar == ''\n-    let s:foldfillchar = '-'\n-  endif\n-endif\n-let s:difffillchar = &fillchars[matchend(&fillchars, 'diff:')]\n-if s:difffillchar == ''\n-  let s:difffillchar = '-'\n-endif\n-\n-let s:foldId = 0\n-\n-if !s:settings.expand_tabs\n-  \" If keeping tabs, add them to printable characters so we keep them when\n-  \" formatting text (strtrans() doesn't replace printable chars)\n-  let s:old_isprint = &isprint\n-  setlocal isprint+=9\n-endif\n-\n-while s:lnum <= s:end\n-\n-  \" If there are filler lines for diff mode, show these above the line.\n-  call s:Add_diff_fill(s:lnum)\n-\n-  \" Start the line with the line number.\n-  if s:settings.number_lines\n-    let s:numcol = repeat(' ', s:margin - 1 - strlen(s:lnum)) .. s:lnum .. ' '\n-  endif\n-\n-  let s:new = \"\"\n-\n-  if has('folding') && !s:settings.ignore_folding && foldclosed(s:lnum) > -1 && !s:settings.dynamic_folds\n-    \"\n-    \" This is the beginning of a folded block (with no dynamic folding)\n-    let s:new = foldtextresult(s:lnum)\n-    if !s:settings.no_pre\n-      \" HTML line wrapping is off--go ahead and fill to the margin\n-      let s:new = s:new .. repeat(s:foldfillchar, &columns - strlen(s:new))\n-    endif\n-\n-    \" put numcol in a separate group for sake of unselectable text\n-    let s:new = (s:settings.number_lines ? s:HtmlFormat_n(s:numcol, s:FOLDED_ID, 0, s:lnum): \"\") .. s:HtmlFormat_t(s:new, s:FOLDED_ID, 0)\n-\n-    \" Skip to the end of the fold\n-    let s:new_lnum = foldclosedend(s:lnum)\n-\n-    if !s:settings.no_progress\n-      call s:pgb.incr(s:new_lnum - s:lnum)\n-    endif\n-\n-    let s:lnum = s:new_lnum\n-\n-  else\n-    \"\n-    \" A line that is not folded, or doing dynamic folding.\n-    \"\n-    let s:line = getline(s:lnum)\n-    let s:len = strlen(s:line)\n-\n-    if s:settings.dynamic_folds\n-      \" First insert a closing for any open folds that end on this line\n-      while !empty(s:foldstack) && get(s:foldstack,0).lastline == s:lnum-1\n-\tlet s:new = s:new..\"\"\n-\tcall remove(s:foldstack, 0)\n-      endwhile\n-\n-      \" Now insert an opening for any new folds that start on this line\n-      let s:firstfold = 1\n-      while !empty(s:allfolds) && get(s:allfolds,0).firstline == s:lnum\n-\tlet s:foldId = s:foldId + 1\n-\tlet s:new ..= \"\"\n-\n-\n-\t\" Unless disabled, add a fold column for the opening line of a fold.\n-\t\"\n-\t\" Note that dynamic folds require using css so we just use css to take\n-\t\" care of the leading spaces rather than using   in the case of\n-\t\" html_no_pre to make it easier\n-\tif !s:settings.no_foldcolumn\n-\t  \" add fold column that can open the new fold\n-\t  if s:allfolds[0].level > 1 && s:firstfold\n-\t    let s:new = s:new .. s:FoldColumn_build('|', s:allfolds[0].level - 1, 0, \"\",\n-\t\t  \\ 'toggle-open FoldColumn','javascript:toggleFold(\"fold'..s:foldstack[0].id..s:settings.id_suffix..'\");')\n-\t  endif\n-\t  \" add the filler spaces separately from the '+' char so that it can be\n-\t  \" shown/hidden separately during a hover unfold\n-\t  let s:new = s:new .. s:FoldColumn_build(\"+\", 1, 0, \"\",\n-\t\t\\ 'toggle-open FoldColumn', 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\t  \" If this is not the last fold we're opening on this line, we need\n-\t  \" to keep the filler spaces hidden if the fold is opened by mouse\n-\t  \" hover. If it is the last fold to open in the line, we shouldn't hide\n-\t  \" them, so don't apply the toggle-filler class.\n-\t  let s:new = s:new .. s:FoldColumn_build(\" \", 1, s:foldcolumn - s:allfolds[0].level - 1, \"\",\n-\t\t\\ 'toggle-open FoldColumn'.. (get(s:allfolds, 1, {'firstline': 0}).firstline == s:lnum ?\" toggle-filler\" :\"\"),\n-\t\t\\ 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\n-\t  \" add fold column that can close the new fold\n-\t  \" only add extra blank space if we aren't opening another fold on the\n-\t  \" same line\n-\t  if get(s:allfolds, 1, {'firstline': 0}).firstline != s:lnum\n-\t    let s:extra_space = s:foldcolumn - s:allfolds[0].level\n-\t  else\n-\t    let s:extra_space = 0\n-\t  endif\n-\t  if s:firstfold\n-\t    \" the first fold in a line has '|' characters from folds opened in\n-\t    \" previous lines, before the '-' for this fold\n-\t    let s:new ..= s:FoldColumn_build('|', s:allfolds[0].level - 1, s:extra_space, '-',\n-\t\t  \\ 'toggle-closed FoldColumn', 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\t  else\n-\t    \" any subsequent folds in the line only add a single '-'\n-\t    let s:new = s:new .. s:FoldColumn_build(\"-\", 1, s:extra_space, \"\",\n-\t\t  \\ 'toggle-closed FoldColumn', 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\t  endif\n-\t  let s:firstfold = 0\n-\tendif\n-\n-\t\" Add fold text, moving the span ending to the next line so collapsing\n-\t\" of folds works correctly.\n-\t\" Put numcol in a separate group for sake of unselectable text.\n-\tlet s:new = s:new .. (s:settings.number_lines ? s:HtmlFormat_n(s:numcol, s:FOLDED_ID, 0, 0) : \"\") .. substitute(s:HtmlFormat_t(foldtextresult(s:lnum), s:FOLDED_ID, 0), '', s:HtmlEndline..'\\n\\0', '')\n-\tlet s:new = s:new .. \"\"\n-\n-\t\" open the fold now that we have the fold text to allow retrieval of\n-\t\" fold text for subsequent folds\n-\texecute s:lnum..\"foldopen\"\n-\tcall insert(s:foldstack, remove(s:allfolds,0))\n-\tlet s:foldstack[0].id = s:foldId\n-      endwhile\n-\n-      \" Unless disabled, add a fold column for other lines.\n-      \"\n-      \" Note that dynamic folds require using css so we just use css to take\n-      \" care of the leading spaces rather than using   in the case of\n-      \" html_no_pre to make it easier\n-      if !s:settings.no_foldcolumn\n-\tif empty(s:foldstack)\n-\t  \" add the empty foldcolumn for unfolded lines if there is a fold\n-\t  \" column at all\n-\t  if s:foldcolumn > 0\n-\t    let s:new = s:new .. s:FoldColumn_fill()\n-\t  endif\n-\telse\n-\t  \" add the fold column for folds not on the opening line\n-\t  if get(s:foldstack, 0).firstline < s:lnum\n-\t    let s:new = s:new .. s:FoldColumn_build('|', s:foldstack[0].level, s:foldcolumn - s:foldstack[0].level, \"\",\n-\t\t  \\ 'FoldColumn', 'javascript:toggleFold(\"fold'..s:foldstack[0].id..s:settings.id_suffix..'\");')\n-\t  endif\n-\tendif\n-      endif\n-    endif\n-\n-    \" Now continue with the unfolded line text\n-    if s:settings.number_lines\n-      let s:new = s:new .. s:HtmlFormat_n(s:numcol, s:LINENR_ID, 0, s:lnum)\n-    elseif s:settings.line_ids\n-      let s:new = s:new .. s:HtmlFormat_n(\"\", s:LINENR_ID, 0, s:lnum)\n-    endif\n-\n-    \" Get the diff attribute, if any.\n-    let s:diffattr = diff_hlID(s:lnum, 1)\n-\n-    \" initialize conceal info to act like not concealed, just in case\n-    let s:concealinfo = [0, '']\n-\n-    \" Loop over each character in the line\n-    let s:col = 1\n-\n-    \" most of the time we won't use the diff_id, initialize to zero\n-    let s:diff_id = 0\n-\n-    while s:col <= s:len || (s:col == 1 && s:diffattr)\n-      let s:startcol = s:col \" The start column for processing text\n-      if !s:settings.ignore_conceal && has('conceal')\n-\tlet s:concealinfo = synconcealed(s:lnum, s:col)\n-      endif\n-      if !s:settings.ignore_conceal && s:concealinfo[0]\n-\tlet s:col = s:col + 1\n-\t\" Speed loop (it's small - that's the trick)\n-\t\" Go along till we find a change in the match sequence number (ending\n-\t\" the specific concealed region) or until there are no more concealed\n-\t\" characters.\n-\twhile s:col <= s:len && s:concealinfo == synconcealed(s:lnum, s:col) | let s:col = s:col + 1 | endwhile\n-      elseif s:diffattr\n-\tlet s:diff_id = diff_hlID(s:lnum, s:col)\n-\tlet s:id = synID(s:lnum, s:col, 1)\n-\tlet s:col = s:col + 1\n-\t\" Speed loop (it's small - that's the trick)\n-\t\" Go along till we find a change in hlID\n-\twhile s:col <= s:len && s:id == synID(s:lnum, s:col, 1)\n-\t      \\   && s:diff_id == diff_hlID(s:lnum, s:col) |\n-\t      \\     let s:col = s:col + 1 |\n-\t      \\ endwhile\n-\tif s:len < &columns && !s:settings.no_pre\n-\t  \" Add spaces at the end of the raw text line to extend the changed\n-\t  \" line to the full width.\n-\t  let s:line = s:line .. repeat(' ', &columns - virtcol([s:lnum, s:len]) - s:margin)\n-\t  let s:len = &columns\n-\tendif\n-      else\n-\tlet s:id = synID(s:lnum, s:col, 1)\n-\tlet s:col = s:col + 1\n-\t\" Speed loop (it's small - that's the trick)\n-\t\" Go along till we find a change in synID\n-\twhile s:col <= s:len && s:id == synID(s:lnum, s:col, 1) | let s:col = s:col + 1 | endwhile\n-      endif\n-\n-      if s:settings.ignore_conceal || !s:concealinfo[0]\n-\t\" Expand tabs if needed\n-\tlet s:expandedtab = strpart(s:line, s:startcol - 1, s:col - s:startcol)\n-\tif s:settings.expand_tabs\n-\t  let s:offset = 0\n-\t  let s:idx = stridx(s:expandedtab, \"\\t\")\n-\t  let s:tablist = exists(\"+vts\") ? split(&vts,',') : []\n-\t  if empty(s:tablist)\n-\t    let s:tablist = [ &ts ]\n-\t  endif\n-\t  let s:tabidx = 0\n-\t  let s:tabwidth = 0\n-\t  while s:idx >= 0\n-\t    if s:startcol + s:idx == 1\n-\t      let s:i = s:tablist[0]\n-\t    else\n-\t      \" Get the character, which could be multiple bytes, which falls\n-\t      \" immediately before the found tab. Extract it by matching a\n-\t      \" character just prior to the column where the tab matches.\n-\t      \" We'll use this to get the byte index of the character\n-\t      \" immediately preceding the tab, so we can then look up the\n-\t      \" virtual column that character appears in, to determine how\n-\t      \" much of the current tabstop has been used up.\n-\t      if s:idx == 0\n-\t\t\" if the found tab is the first character in the text being\n-\t\t\" processed, we need to get the character prior to the text,\n-\t\t\" given by startcol.\n-\t\tlet s:prevc = matchstr(s:line, '.\\%' .. (s:startcol + s:offset) .. 'c')\n-\t      else\n-\t\t\" Otherwise, the byte index of the tab into s:expandedtab is\n-\t\t\" given by s:idx.\n-\t\tlet s:prevc = matchstr(s:expandedtab, '.\\%' .. (s:idx + 1) .. 'c')\n-\t      endif\n-\t      let s:vcol = virtcol([s:lnum, s:startcol + s:idx + s:offset - len(s:prevc)])\n-\n-\t      \" find the tabstop interval to use for the tab we just found. Keep\n-\t      \" adding tabstops (which could be variable) until we would exceed\n-\t      \" the virtual screen position of the start of the found tab.\n-\t      while s:vcol >= s:tabwidth + s:tablist[s:tabidx]\n-\t\tlet s:tabwidth += s:tablist[s:tabidx]\n-\t\tif s:tabidx < len(s:tablist)-1\n-\t\t  let s:tabidx = s:tabidx+1\n-\t\tendif\n-\t      endwhile\n-\t      let s:i = s:tablist[s:tabidx] - (s:vcol - s:tabwidth)\n-\t    endif\n-\t    \" update offset to keep the index within the line corresponding to\n-\t    \" actual tab characters instead of replaced spaces; s:idx reflects\n-\t    \" replaced spaces in s:expandedtab, s:offset cancels out all but\n-\t    \" the tab character itself.\n-\t    let s:offset -= s:i - 1\n-\t    let s:expandedtab = substitute(s:expandedtab, '\\t', repeat(' ', s:i), '')\n-\t    let s:idx = stridx(s:expandedtab, \"\\t\")\n-\t  endwhile\n-\tend\n-\n-\t\" get the highlight group name to use\n-\tlet s:id = synIDtrans(s:id)\n-      else\n-\t\" use Conceal highlighting for concealed text\n-\tlet s:id = s:CONCEAL_ID\n-\tlet s:expandedtab = s:concealinfo[1]\n-      endif\n-\n-      \" Output the text with the same synID, with class set to the highlight ID\n-      \" name, unless it has been concealed completely.\n-      if strlen(s:expandedtab) > 0\n-\tlet s:new = s:new .. s:HtmlFormat(s:expandedtab,  s:id, s:diff_id, \"\", 0)\n-      endif\n-    endwhile\n-  endif\n-\n-  call extend(s:lines, split(s:new..s:HtmlEndline, '\\n', 1))\n-  if !s:settings.no_progress && s:pgb.needs_redraw\n-    redrawstatus\n-    let s:pgb.needs_redraw = 0\n-  endif\n-  let s:lnum = s:lnum + 1\n-\n-  if !s:settings.no_progress\n-    call s:pgb.incr()\n-  endif\n-endwhile\n-\n-\" Diff filler is returned based on what needs inserting *before* the given line.\n-\" So to get diff filler at the end of the buffer, we need to use last line + 1\n-call s:Add_diff_fill(s:end+1)\n-\n-if s:settings.dynamic_folds\n-  \" finish off any open folds\n-  while !empty(s:foldstack)\n-    let s:lines[-1]..=\"\"\n-    call remove(s:foldstack, 0)\n-  endwhile\n-\n-  \" add fold column to the style list if not already there\n-  let s:id = s:FOLD_C_ID\n-  if !has_key(s:stylelist, s:id)\n-    let s:stylelist[s:id] = '.FoldColumn { ' .. s:CSS1(s:id) .. '}'\n-  endif\n-endif\n-\n-if s:settings.no_pre\n-  if !s:settings.use_css\n-    \" Close off the font tag that encapsulates the whole \n-    call extend(s:lines, [\"\"])\n-  else\n-    call extend(s:lines, [\"
\"])\n- endif\n-else\n- call extend(s:lines, [\"\"])\n-endif\n-if !s:settings.no_doc\n- call extend(s:lines, [\"\", \"\"])\n-endif\n-\n-exe s:newwin .. \"wincmd w\"\n-call setline(1, s:lines)\n-unlet s:lines\n-\n-\" Mangle modelines so Vim doesn't try to use HTML text as a modeline if editing\n-\" this file in the future; need to do this after generating all the text in case\n-\" the modeline text has different highlight groups which all turn out to be\n-\" stripped from the final output.\n-%s!\\v(%(^|\\s+)%([Vv]i%(m%([<=>]?\\d+)?)?|ex)):!\\1\\:!ge\n-\n-\" The generated HTML is admittedly ugly and takes a LONG time to fold.\n-\" Make sure the user doesn't do syntax folding when loading a generated file,\n-\" using a modeline.\n-if !s:settings.no_modeline\n- call append(line('$'), \"\")\n-endif\n-\n-\" Now, when we finally know which, we define the colors and styles\n-if s:settings.use_css && !s:settings.no_doc\n- 1;//+1\n-\n- \" Normal/global attributes\n- if s:settings.no_pre\n- call append('.', \"body { color: \" .. s:fgc .. \"; background-color: \" .. s:bgc .. \"; font-family: \".. s:htmlfont ..\"; }\")\n- +\n- else\n- call append('.', \"pre { \" .. s:whitespace .. \"font-family: \".. s:htmlfont ..\"; color: \" .. s:fgc .. \"; background-color: \" .. s:bgc .. \"; }\")\n- +\n- yank\n- put\n- execute \"normal! ^cwbody\\e\"\n- \" body should not have the wrap formatting, only the pre section\n- if s:whitespace != ''\n- exec 's#'..s:whitespace\n- endif\n- endif\n- \" fix browser inconsistencies (sometimes within the same browser) of different\n- \" default font size for different elements\n- call append('.', '* { font-size: 1em; }')\n- +\n- \" if we use any input elements for unselectable content, make sure they look\n- \" like normal text\n- if !empty(s:settings.prevent_copy)\n- if s:settings.use_input_for_pc !=# \"none\"\n- call append('.', 'input { border: none; margin: 0; padding: 0; font-family: '..s:htmlfont..'; }')\n- +\n- \" ch units for browsers which support them, em units for a somewhat\n- \" reasonable fallback.\n- for w in range(1, 20, 1)\n-\tcall append('.', [\n-\t \\ \"input[size='\"..w..\"'] { width: \"..w..\"em; width: \"..w..\"ch; }\"\n-\t \\ ])\n-\t+\n- endfor\n- endif\n-\n- if s:settings.use_input_for_pc !=# 'all'\n- let s:unselectable_styles = []\n- if s:settings.prevent_copy =~# 'f'\n-\tcall add(s:unselectable_styles, 'FoldColumn')\n- endif\n- if s:settings.prevent_copy =~# 'n'\n-\tcall add(s:unselectable_styles, 'LineNr')\n- endif\n- if s:settings.prevent_copy =~# 't' && !s:settings.ignore_folding\n-\tcall add(s:unselectable_styles, 'Folded')\n- endif\n- if s:settings.prevent_copy =~# 'd'\n-\tcall add(s:unselectable_styles, 'DiffDelete')\n- endif\n- if s:settings.use_input_for_pc !=# 'none'\n-\tcall append('.', [\n-\t \\ '/* Note: IE does not support @supports conditionals, but also does not fully support',\n-\t \\ ' \"content:\" with custom content, so we *want* the check to fail */',\n-\t \\ '@supports ( content: attr(data-custom-content) ) {'\n-\t \\ ])\n-\t+3\n- endif\n- \" The line number column inside the foldtext is styled just like the fold\n- \" text in Vim, but it should use the prevent_copy settings of line number\n- \" rather than fold text. Apply the prevent_copy styles to foldtext\n- \" specifically for line numbers, which always come after the fold column,\n- \" or at the beginning of the line.\n- if s:settings.prevent_copy =~# 'n' && !s:settings.ignore_folding\n-\tcall append('.', [\n-\t \\ ' .FoldColumn + .Folded, .Folded:first-child { user-select: none; }',\n-\t \\ ' .FoldColumn + [data-Folded-content]::before, [data-Folded-content]:first-child::before { content: attr(data-Folded-content); }',\n-\t \\ ' .FoldColumn + [data-Folded-content]::before, [data-Folded-content]:first-child::before { padding-bottom: 1px; display: inline-block; /* match the 1-px padding of standard items with background */ }',\n-\t \\ ' .FoldColumn + span[data-Folded-content]::before, [data-Folded-content]:first-child::before { cursor: default; }',\n-\t \\ ])\n-\t+4\n- endif\n- for s:style_name in s:unselectable_styles\n-\tcall append('.', [\n-\t \\ ' .'..s:style_name..' { user-select: none; }',\n-\t \\ ' [data-'..s:style_name..'-content]::before { content: attr(data-'..s:style_name..'-content); }',\n-\t \\ ' [data-'..s:style_name..'-content]::before { padding-bottom: 1px; display: inline-block; /* match the 1-px padding of standard items with background */ }',\n-\t \\ ' span[data-'..s:style_name..'-content]::before { cursor: default; }',\n-\t \\ ])\n-\t+4\n- endfor\n- if s:settings.use_input_for_pc !=# 'none'\n-\t\" Note, the extra '}' is to match the \"@supports\" above\n-\tcall append('.', [\n-\t \\ ' input { display: none; }',\n-\t \\ '}'\n-\t \\ ])\n-\t+2\n- endif\n- unlet s:unselectable_styles\n- endif\n-\n- \" Fix mouse cursor shape for the fallback method of uncopyable text\n- if s:settings.use_input_for_pc !=# 'none'\n- if s:settings.prevent_copy =~# 'f'\n-\t\" Make the cursor show active fold columns as active areas, and empty fold\n-\t\" columns as not interactive.\n-\tcall append('.', ['input.FoldColumn { cursor: pointer; }',\n-\t \\ 'input.FoldColumn[value=\"'..repeat(' ', s:foldcolumn)..'\"] { cursor: default; }'\n-\t \\ ])\n-\t+2\n-\tif s:settings.use_input_for_pc !=# 'all'\n-\t call append('.', [\n-\t\t\\ 'a[data-FoldColumn-content=\"'..repeat(' ', s:foldcolumn)..'\"] { cursor: default; }'\n-\t\t\\ ])\n-\t +1\n-\tend\n- endif\n- \" make line number column show as non-interactive if not selectable\n- if s:settings.prevent_copy =~# 'n'\n-\tcall append('.', 'input.LineNr { cursor: default; }')\n-\t+\n- endif\n- \" make fold text and line number column within fold text show as\n- \" non-interactive if not selectable\n- if (s:settings.prevent_copy =~# 'n' || s:settings.prevent_copy =~# 't') && !s:settings.ignore_folding\n-\tcall append('.', 'input.Folded { cursor: default; }')\n-\t+\n- endif\n- \" make diff filler show as non-interactive if not selectable\n- if s:settings.prevent_copy =~# 'd'\n-\tcall append('.', 'input.DiffDelete { cursor: default; }')\n-\t+\n- endif\n- endif\n- endif\n-endif\n-\n-if !s:settings.use_css && !s:settings.no_doc\n- \" For Netscape 4, set attributes too, though, strictly speaking, it's\n- \" incorrect.\n- execute '%s:]*\\):\\r]\\|>\\|<\\|"\\)+\\1\\2+ge\n-endif\n-\n-\" The DTD\n-if !s:settings.no_doc\n- if s:settings.use_xhtml\n- exe \"normal! gg$a\\n\"\n- elseif s:html5\n- exe \"normal! gg0i\\n\"\n- else\n- exe \"normal! gg0i\\n\"\n- endif\n-endif\n-\n-if s:settings.use_xhtml && !s:settings.no_doc\n- exe \"normal! gg/\n-\" Last Change: 2023 Sep 05\n-\"\n-\" Additional contributors:\n-\"\n-\" Original by Bram Moolenaar \n-\" Modified by David Ne\\v{c}as (Yeti) \n-\" XHTML support by Panagiotis Issaris \n-\" Made w3 compliant by Edd Barrett \n-\" Added html_font. Edd Barrett \n-\" Progress bar based off code from \"progressbar widget\" plugin by\n-\" Andreas Politz, heavily modified:\n-\" http://www.vim.org/scripts/script.php?script_id=2006\n-\"\n-\" See Mercurial change logs for more!\n-\n-\" Transform a file into HTML, using the current syntax highlighting.\n-\n-\" this file uses line continuations\n-let s:cpo_sav = &cpo\n-let s:ls = &ls\n-let s:ei_sav = &eventignore\n-set cpo&vim\n-\n-\" HTML filetype can take a while to load/highlight if the destination file\n-\" already exists.\n-set eventignore+=FileType\n-\n-let s:end=line('$')\n-\n-\" Font\n-if exists(\"g:html_font\")\n- if type(g:html_font) == type([])\n- let s:htmlfont = \"'\".. join(g:html_font,\"','\") .. \"', monospace\"\n- else\n- let s:htmlfont = \"'\".. g:html_font .. \"', monospace\"\n- endif\n-else\n- let s:htmlfont = \"monospace\"\n-endif\n-\n-let s:settings = tohtml#GetUserSettings()\n-\n-if s:settings.use_xhtml\n- let s:html5 = 0\n-elseif s:settings.use_css && !s:settings.no_pre\n- let s:html5 = 1\n-else\n- let s:html5 = 0\n-endif\n-\n-if !exists('s:FOLDED_ID')\n- let s:FOLDED_ID = hlID(\"Folded\") | lockvar s:FOLDED_ID\n- let s:FOLD_C_ID = hlID(\"FoldColumn\") | lockvar s:FOLD_C_ID\n- let s:LINENR_ID = hlID('LineNr') | lockvar s:LINENR_ID\n- let s:DIFF_D_ID = hlID(\"DiffDelete\") | lockvar s:DIFF_D_ID\n- let s:DIFF_A_ID = hlID(\"DiffAdd\") | lockvar s:DIFF_A_ID\n- let s:DIFF_C_ID = hlID(\"DiffChange\") | lockvar s:DIFF_C_ID\n- let s:DIFF_T_ID = hlID(\"DiffText\") | lockvar s:DIFF_T_ID\n- let s:CONCEAL_ID = hlID('Conceal') | lockvar s:CONCEAL_ID\n-endif\n-\n-\" Whitespace\n-if s:settings.pre_wrap\n- let s:whitespace = \"white-space: pre-wrap; \"\n-else\n- let s:whitespace = \"\"\n-endif\n-\n-if !empty(s:settings.prevent_copy)\n- if s:settings.no_invalid\n- \" User has decided they don't want invalid markup. Still works in\n- \" OpenOffice, and for text editors, but when pasting into Microsoft Word the\n- \" input elements get pasted too and they cannot be deleted (at least not\n- \" easily).\n- let s:unselInputType = \"\"\n- else\n- \" Prevent from copy-pasting the input elements into Microsoft Word where\n- \" they cannot be deleted easily by deliberately inserting invalid markup.\n- let s:unselInputType = \" type='invalid_input_type'\"\n- endif\n-endif\n-\n-\" When gui colors are not supported, we can only guess the colors.\n-\" TODO - is this true anymore? Is there a way to ask the terminal what colors\n-\" each number means or read them from some file?\n-if &termguicolors || has(\"gui_running\")\n- let s:whatterm = \"gui\"\n-else\n- let s:whatterm = \"cterm\"\n- if &t_Co == 8\n- let s:cterm_color = {\n-\t \\ 0: \"#808080\", 1: \"#ff6060\", 2: \"#00ff00\", 3: \"#ffff00\",\n-\t \\ 4: \"#8080ff\", 5: \"#ff40ff\", 6: \"#00ffff\", 7: \"#ffffff\"\n-\t \\ }\n- else\n- let s:cterm_color = {\n-\t \\ 0: \"#000000\", 1: \"#c00000\", 2: \"#008000\", 3: \"#804000\", \n-\t \\ 4: \"#0000c0\", 5: \"#c000c0\", 6: \"#008080\", 7: \"#c0c0c0\", \n-\t \\ 8: \"#808080\", 9: \"#ff6060\", 10: \"#00ff00\", 11: \"#ffff00\",\n-\t \\ 12: \"#8080ff\", 13: \"#ff40ff\", 14: \"#00ffff\", 15: \"#ffffff\"\n-\t \\ }\n-\n- \" Colors for 88 and 256 come from xterm.\n- if &t_Co == 88\n- call extend(s:cterm_color, {\n-\t \\ 16: \"#000000\", 17: \"#00008b\", 18: \"#0000cd\", 19: \"#0000ff\",\n-\t \\ 20: \"#008b00\", 21: \"#008b8b\", 22: \"#008bcd\", 23: \"#008bff\",\n-\t \\ 24: \"#00cd00\", 25: \"#00cd8b\", 26: \"#00cdcd\", 27: \"#00cdff\",\n-\t \\ 28: \"#00ff00\", 29: \"#00ff8b\", 30: \"#00ffcd\", 31: \"#00ffff\",\n-\t \\ 32: \"#8b0000\", 33: \"#8b008b\", 34: \"#8b00cd\", 35: \"#8b00ff\",\n-\t \\ 36: \"#8b8b00\", 37: \"#8b8b8b\", 38: \"#8b8bcd\", 39: \"#8b8bff\",\n-\t \\ 40: \"#8bcd00\", 41: \"#8bcd8b\", 42: \"#8bcdcd\", 43: \"#8bcdff\",\n-\t \\ 44: \"#8bff00\", 45: \"#8bff8b\", 46: \"#8bffcd\", 47: \"#8bffff\",\n-\t \\ 48: \"#cd0000\", 49: \"#cd008b\", 50: \"#cd00cd\", 51: \"#cd00ff\",\n-\t \\ 52: \"#cd8b00\", 53: \"#cd8b8b\", 54: \"#cd8bcd\", 55: \"#cd8bff\",\n-\t \\ 56: \"#cdcd00\", 57: \"#cdcd8b\", 58: \"#cdcdcd\", 59: \"#cdcdff\",\n-\t \\ 60: \"#cdff00\", 61: \"#cdff8b\", 62: \"#cdffcd\", 63: \"#cdffff\",\n-\t \\ 64: \"#ff0000\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 65: \"#ff008b\", 66: \"#ff00cd\", 67: \"#ff00ff\", 68: \"#ff8b00\",\n-\t \\ 69: \"#ff8b8b\", 70: \"#ff8bcd\", 71: \"#ff8bff\", 72: \"#ffcd00\",\n-\t \\ 73: \"#ffcd8b\", 74: \"#ffcdcd\", 75: \"#ffcdff\", 76: \"#ffff00\",\n-\t \\ 77: \"#ffff8b\", 78: \"#ffffcd\", 79: \"#ffffff\", 80: \"#2e2e2e\",\n-\t \\ 81: \"#5c5c5c\", 82: \"#737373\", 83: \"#8b8b8b\", 84: \"#a2a2a2\",\n-\t \\ 85: \"#b9b9b9\", 86: \"#d0d0d0\", 87: \"#e7e7e7\"\n-\t \\ })\n- elseif &t_Co == 256\n- call extend(s:cterm_color, {\n-\t \\ 16: \"#000000\", 17: \"#00005f\", 18: \"#000087\", 19: \"#0000af\",\n-\t \\ 20: \"#0000d7\", 21: \"#0000ff\", 22: \"#005f00\", 23: \"#005f5f\",\n-\t \\ 24: \"#005f87\", 25: \"#005faf\", 26: \"#005fd7\", 27: \"#005fff\",\n-\t \\ 28: \"#008700\", 29: \"#00875f\", 30: \"#008787\", 31: \"#0087af\",\n-\t \\ 32: \"#0087d7\", 33: \"#0087ff\", 34: \"#00af00\", 35: \"#00af5f\",\n-\t \\ 36: \"#00af87\", 37: \"#00afaf\", 38: \"#00afd7\", 39: \"#00afff\",\n-\t \\ 40: \"#00d700\", 41: \"#00d75f\", 42: \"#00d787\", 43: \"#00d7af\",\n-\t \\ 44: \"#00d7d7\", 45: \"#00d7ff\", 46: \"#00ff00\", 47: \"#00ff5f\",\n-\t \\ 48: \"#00ff87\", 49: \"#00ffaf\", 50: \"#00ffd7\", 51: \"#00ffff\",\n-\t \\ 52: \"#5f0000\", 53: \"#5f005f\", 54: \"#5f0087\", 55: \"#5f00af\",\n-\t \\ 56: \"#5f00d7\", 57: \"#5f00ff\", 58: \"#5f5f00\", 59: \"#5f5f5f\",\n-\t \\ 60: \"#5f5f87\", 61: \"#5f5faf\", 62: \"#5f5fd7\", 63: \"#5f5fff\",\n-\t \\ 64: \"#5f8700\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 65: \"#5f875f\", 66: \"#5f8787\", 67: \"#5f87af\", 68: \"#5f87d7\",\n-\t \\ 69: \"#5f87ff\", 70: \"#5faf00\", 71: \"#5faf5f\", 72: \"#5faf87\",\n-\t \\ 73: \"#5fafaf\", 74: \"#5fafd7\", 75: \"#5fafff\", 76: \"#5fd700\",\n-\t \\ 77: \"#5fd75f\", 78: \"#5fd787\", 79: \"#5fd7af\", 80: \"#5fd7d7\",\n-\t \\ 81: \"#5fd7ff\", 82: \"#5fff00\", 83: \"#5fff5f\", 84: \"#5fff87\",\n-\t \\ 85: \"#5fffaf\", 86: \"#5fffd7\", 87: \"#5fffff\", 88: \"#870000\",\n-\t \\ 89: \"#87005f\", 90: \"#870087\", 91: \"#8700af\", 92: \"#8700d7\",\n-\t \\ 93: \"#8700ff\", 94: \"#875f00\", 95: \"#875f5f\", 96: \"#875f87\",\n-\t \\ 97: \"#875faf\", 98: \"#875fd7\", 99: \"#875fff\", 100: \"#878700\",\n-\t \\ 101: \"#87875f\", 102: \"#878787\", 103: \"#8787af\", 104: \"#8787d7\",\n-\t \\ 105: \"#8787ff\", 106: \"#87af00\", 107: \"#87af5f\", 108: \"#87af87\",\n-\t \\ 109: \"#87afaf\", 110: \"#87afd7\", 111: \"#87afff\", 112: \"#87d700\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 113: \"#87d75f\", 114: \"#87d787\", 115: \"#87d7af\", 116: \"#87d7d7\",\n-\t \\ 117: \"#87d7ff\", 118: \"#87ff00\", 119: \"#87ff5f\", 120: \"#87ff87\",\n-\t \\ 121: \"#87ffaf\", 122: \"#87ffd7\", 123: \"#87ffff\", 124: \"#af0000\",\n-\t \\ 125: \"#af005f\", 126: \"#af0087\", 127: \"#af00af\", 128: \"#af00d7\",\n-\t \\ 129: \"#af00ff\", 130: \"#af5f00\", 131: \"#af5f5f\", 132: \"#af5f87\",\n-\t \\ 133: \"#af5faf\", 134: \"#af5fd7\", 135: \"#af5fff\", 136: \"#af8700\",\n-\t \\ 137: \"#af875f\", 138: \"#af8787\", 139: \"#af87af\", 140: \"#af87d7\",\n-\t \\ 141: \"#af87ff\", 142: \"#afaf00\", 143: \"#afaf5f\", 144: \"#afaf87\",\n-\t \\ 145: \"#afafaf\", 146: \"#afafd7\", 147: \"#afafff\", 148: \"#afd700\",\n-\t \\ 149: \"#afd75f\", 150: \"#afd787\", 151: \"#afd7af\", 152: \"#afd7d7\",\n-\t \\ 153: \"#afd7ff\", 154: \"#afff00\", 155: \"#afff5f\", 156: \"#afff87\",\n-\t \\ 157: \"#afffaf\", 158: \"#afffd7\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 159: \"#afffff\", 160: \"#d70000\", 161: \"#d7005f\", 162: \"#d70087\",\n-\t \\ 163: \"#d700af\", 164: \"#d700d7\", 165: \"#d700ff\", 166: \"#d75f00\",\n-\t \\ 167: \"#d75f5f\", 168: \"#d75f87\", 169: \"#d75faf\", 170: \"#d75fd7\",\n-\t \\ 171: \"#d75fff\", 172: \"#d78700\", 173: \"#d7875f\", 174: \"#d78787\",\n-\t \\ 175: \"#d787af\", 176: \"#d787d7\", 177: \"#d787ff\", 178: \"#d7af00\",\n-\t \\ 179: \"#d7af5f\", 180: \"#d7af87\", 181: \"#d7afaf\", 182: \"#d7afd7\",\n-\t \\ 183: \"#d7afff\", 184: \"#d7d700\", 185: \"#d7d75f\", 186: \"#d7d787\",\n-\t \\ 187: \"#d7d7af\", 188: \"#d7d7d7\", 189: \"#d7d7ff\", 190: \"#d7ff00\",\n-\t \\ 191: \"#d7ff5f\", 192: \"#d7ff87\", 193: \"#d7ffaf\", 194: \"#d7ffd7\",\n-\t \\ 195: \"#d7ffff\", 196: \"#ff0000\", 197: \"#ff005f\", 198: \"#ff0087\",\n-\t \\ 199: \"#ff00af\", 200: \"#ff00d7\", 201: \"#ff00ff\", 202: \"#ff5f00\",\n-\t \\ 203: \"#ff5f5f\", 204: \"#ff5f87\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 205: \"#ff5faf\", 206: \"#ff5fd7\", 207: \"#ff5fff\", 208: \"#ff8700\",\n-\t \\ 209: \"#ff875f\", 210: \"#ff8787\", 211: \"#ff87af\", 212: \"#ff87d7\",\n-\t \\ 213: \"#ff87ff\", 214: \"#ffaf00\", 215: \"#ffaf5f\", 216: \"#ffaf87\",\n-\t \\ 217: \"#ffafaf\", 218: \"#ffafd7\", 219: \"#ffafff\", 220: \"#ffd700\",\n-\t \\ 221: \"#ffd75f\", 222: \"#ffd787\", 223: \"#ffd7af\", 224: \"#ffd7d7\",\n-\t \\ 225: \"#ffd7ff\", 226: \"#ffff00\", 227: \"#ffff5f\", 228: \"#ffff87\",\n-\t \\ 229: \"#ffffaf\", 230: \"#ffffd7\", 231: \"#ffffff\", 232: \"#080808\",\n-\t \\ 233: \"#121212\", 234: \"#1c1c1c\", 235: \"#262626\", 236: \"#303030\",\n-\t \\ 237: \"#3a3a3a\", 238: \"#444444\", 239: \"#4e4e4e\", 240: \"#585858\",\n-\t \\ 241: \"#626262\", 242: \"#6c6c6c\", 243: \"#767676\", 244: \"#808080\",\n-\t \\ 245: \"#8a8a8a\", 246: \"#949494\", 247: \"#9e9e9e\", 248: \"#a8a8a8\",\n-\t \\ 249: \"#b2b2b2\", 250: \"#bcbcbc\", 251: \"#c6c6c6\", 252: \"#d0d0d0\",\n-\t \\ 253: \"#dadada\", 254: \"#e4e4e4\", 255: \"#eeeeee\"\n-\t \\ })\n- endif\n- endif\n-endif\n-\n-\" Return good color specification: in GUI no transformation is done, in\n-\" terminal return RGB values of known colors and empty string for unknown\n-if s:whatterm == \"gui\"\n- function! s:HtmlColor(color)\n- return a:color\n- endfun\n-else\n- function! s:HtmlColor(color)\n- if has_key(s:cterm_color, a:color)\n- return s:cterm_color[a:color]\n- else\n- return \"\"\n- endif\n- endfun\n-endif\n-\n-\" Find out the background and foreground color for use later\n-let s:fgc = s:HtmlColor(synIDattr(hlID(\"Normal\")->synIDtrans(), \"fg#\", s:whatterm))\n-let s:bgc = s:HtmlColor(synIDattr(hlID(\"Normal\")->synIDtrans(), \"bg#\", s:whatterm))\n-if s:fgc == \"\"\n- let s:fgc = ( &background == \"dark\" ? \"#ffffff\" : \"#000000\" )\n-endif\n-if s:bgc == \"\"\n- let s:bgc = ( &background == \"dark\" ? \"#000000\" : \"#ffffff\" )\n-endif\n-\n-if !s:settings.use_css\n- \" Return opening HTML tag for given highlight id\n- function! s:HtmlOpening(id, extra_attrs)\n- let a = \"\"\n- let translated_ID = synIDtrans(a:id)\n- if synIDattr(translated_ID, \"inverse\")\n- \" For inverse, we always must set both colors (and exchange them)\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- let a = a .. ''\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- let a = a .. ''\n- else\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- if x != \"\"\n-\tlet a = a .. ''\n- elseif !empty(a:extra_attrs)\n-\tlet a = a .. ''\n- endif\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- if x != \"\" | let a = a .. '' | endif\n- endif\n- if synIDattr(translated_ID, \"bold\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"italic\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"underline\") | let a = a .. \"\" | endif\n- return a\n- endfun\n-\n- \" Return closing HTML tag for given highlight id\n- function! s:HtmlClosing(id, has_extra_attrs)\n- let a = \"\"\n- let translated_ID = synIDtrans(a:id)\n- if synIDattr(translated_ID, \"underline\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"italic\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"bold\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"inverse\")\n- let a = a .. ''\n- else\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- if x != \"\" | let a = a .. '' | endif\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- if x != \"\" || a:has_extra_attrs | let a = a .. '' | endif\n- endif\n- return a\n- endfun\n-endif\n-\n-\" Use a different function for formatting based on user options. This way we\n-\" can avoid a lot of logic during the actual execution.\n-\"\n-\" Build the function line by line containing only what is needed for the options\n-\" in use for maximum code sharing with minimal branch logic for greater speed.\n-\"\n-\" Note, 'exec' commands do not recognize line continuations, so must concatenate\n-\" lines rather than continue them.\n-if s:settings.use_css\n- \" save CSS to a list of rules to add to the output at the end of processing\n-\n- \" first, get the style names we need\n- let s:wrapperfunc_lines = []\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\tfunction! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, make_unselectable, unformatted)\n-\t\n-\t let l:style_name = synIDattr(a:style_id, \"name\", s:whatterm)\n- ENDLET\n- if &diff\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t let l:diff_style_name = synIDattr(a:diff_style_id, \"name\", s:whatterm)\n- ENDLET\n-\n- \" Add normal groups and diff groups to separate lists so we can order them to\n- \" allow diff highlight to override normal highlight\n-\n- \" if primary style IS a diff style, grab it from the diff cache instead\n- \" (always succeeds because we pre-populate it)\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\n-\t if a:style_id == s:DIFF_D_ID || a:style_id == s:DIFF_A_ID || a:style_id == s:DIFF_C_ID || a:style_id == s:DIFF_T_ID\n-\t let l:saved_style = get(s:diffstylelist,a:style_id)\n-\t else\n- ENDLET\n- endif\n-\n- \" get primary style info from cache or build it on the fly if not found\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t let l:saved_style = get(s:stylelist,a:style_id)\n-\t if type(l:saved_style) == type(0)\n-\t unlet l:saved_style\n-\t let l:saved_style = s:CSS1(a:style_id)\n-\t if l:saved_style != \"\"\n-\t let l:saved_style = \".\" .. l:style_name .. \" { \" .. l:saved_style .. \"}\"\n-\t endif\n-\t let s:stylelist[a:style_id] = l:saved_style\n-\t endif\n- ENDLET\n- if &diff\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t endif\n- ENDLET\n- endif\n-\" Ignore this comment, just bypassing a highlighting issue: if\n-\n- \" Build the wrapper tags around the text. It turns out that caching these\n- \" gives pretty much zero performance gain and adds a lot of logic.\n-\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\n-\t if l:saved_style == \"\" && empty(a:extra_attrs)\n- ENDLET\n- if &diff\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t if a:diff_style_id <= 0\n- ENDLET\n- endif\n- \" no surroundings if neither primary nor diff style has any info\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t return a:text\n- ENDLET\n- if &diff\n- \" no primary style, but diff style\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t else\n-\t return ''..a:text..\"\"\n-\t endif\n- ENDLET\n- endif\n- \" Ignore this comment, just bypassing a highlighting issue: if\n-\n- \" open tag for non-empty primary style\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t else\n- ENDLET\n- \" non-empty primary style. handle either empty or non-empty diff style.\n- \"\n- \" separate the two classes by a space to apply them both if there is a diff\n- \" style name, unless the primary style is empty, then just use the diff style\n- \" name\n- let s:diffstyle =\n-\t \\ (&diff ? '(a:diff_style_id <= 0 ? \"\" : \" \" .. l:diff_style_name)..'\n-\t \\ : '')\n- if s:settings.prevent_copy == \"\"\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim eval ENDLET\n-\t return \"'..a:text..\"\"\n- ENDLET\n- else\n-\n- \" New method: use generated content in the CSS. The only thing needed here\n- \" is a span with no content, with an attribute holding the desired text.\n- \"\n- \" Old method: use an element when text is unsectable. This is still\n- \" used in conditional comments for Internet Explorer, where the new method\n- \" doesn't work.\n- \"\n- \" Wrap the in a to allow fixing the stupid bug in some fonts\n- \" which cause browsers to display a 1px gap between lines when these\n- \" s have a background color (maybe not really a bug, this isn't\n- \" well-defined)\n- \"\n- \" use strwidth, because we care only about how many character boxes are\n- \" needed to size the input, we don't care how many characters (including\n- \" separately counted composing chars, from strchars()) or bytes (from\n- \" len())the string contains. strdisplaywidth() is not needed because none of\n- \" the unselectable groups can contain tab characters (fold column, fold\n- \" text, line number).\n- \"\n- \" Note, if maxlength property needs to be added in the future, it will need\n- \" to use strchars(), because HTML specifies that the maxlength parameter\n- \" uses the number of unique codepoints for its limit.\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim eval ENDLET\n-\t if a:make_unselectable\n-\t let return_span = \"' : '>')\n- ENDLET\n- endif\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim eval ENDLET\n-\t return return_span..''\n-\t else\n-\t return \"'..a:text..\"\"\n-\t endif\n- ENDLET\n- endif\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t endif\n-\tendfun\n- ENDLET\n-else\n- \" Non-CSS method just needs the wrapper.\n- \"\n- \" Functions used to get opening/closing automatically return null strings if\n- \" no styles exist.\n- if &diff\n- let s:wrapperfunc_lines =<< trim ENDLET\n-\tfunction! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, unusedarg, unusedarg2)\n-\t if a:diff_style_id <= 0\n-\t let l:diff_opening = s:HtmlOpening(a:diff_style_id, \"\")\n-\t let l:diff_closing = s:HtmlClosing(a:diff_style_id, 0)\n-\t else\n-\t let l:diff_opening = \"\"\n-\t let l:diff_closing = \"\"\n-\t endif\n-\t return s:HtmlOpening(a:style_id, a:extra_attrs)..l:diff_opening..a:text..l:diff_closing..s:HtmlClosing(a:style_id, !empty(a:extra_attrs))\n-\tendfun\n- ENDLET\n- else\n- let s:wrapperfunc_lines =<< trim ENDLET\n-\tfunction! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, unusedarg, unusedarg2)\n-\t return s:HtmlOpening(a:style_id, a:extra_attrs)..a:text..s:HtmlClosing(a:style_id, !empty(a:extra_attrs))\n-\tendfun\n- ENDLET\n- endif\n-endif\n-\n-\" create the function we built line by line above\n-exec join(flatten(s:wrapperfunc_lines), \"\\n\")\n-\n-let s:diff_mode = &diff\n-\n-\" Return HTML valid characters enclosed in a span of class style_name with\n-\" unprintable characters expanded and double spaces replaced as necessary.\n-\"\n-\" TODO: eliminate unneeded logic like done for BuildStyleWrapper\n-function! s:HtmlFormat(text, style_id, diff_style_id, extra_attrs, make_unselectable)\n- \" Replace unprintable characters\n- let unformatted = strtrans(a:text)\n-\n- let formatted = unformatted\n-\n- \" Replace the reserved html characters\n- let formatted = substitute(formatted, '&', '\\&', 'g')\n- let formatted = substitute(formatted, '<', '\\<', 'g')\n- let formatted = substitute(formatted, '>', '\\>', 'g')\n- let formatted = substitute(formatted, '\"', '\\"', 'g')\n- \" ' is not valid in HTML but it is in XHTML, so just use the numeric\n- \" reference for it instead. Needed because it could appear in quotes\n- \" especially if unselectable regions is turned on.\n- let formatted = substitute(formatted, '\"', '\\'', 'g')\n-\n- \" Replace a \"form feed\" character with HTML to do a page break\n- \" TODO: need to prevent this in unselectable areas? Probably it should never\n- \" BE in an unselectable area...\n- let formatted = substitute(formatted, \"\\x0c\", '
', 'g')\n-\n- \" Replace double spaces, leading spaces, and trailing spaces if needed\n- if ' ' != s:HtmlSpace\n- let formatted = substitute(formatted, ' ', s:HtmlSpace .. s:HtmlSpace, 'g')\n- let formatted = substitute(formatted, '^ ', s:HtmlSpace, 'g')\n- let formatted = substitute(formatted, ' \\+$', s:HtmlSpace, 'g')\n- endif\n-\n- \" Enclose in the correct format\n- return s:BuildStyleWrapper(a:style_id, a:diff_style_id, a:extra_attrs, formatted, a:make_unselectable, unformatted)\n-endfun\n-\n-\" set up functions to call HtmlFormat in certain ways based on whether the\n-\" element is supposed to be unselectable or not\n-if s:settings.prevent_copy =~# 'n'\n- if s:settings.number_lines\n- if s:settings.line_ids\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n-\tif a:lnr > 0\n-\t return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id=\"'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : \"\")..'L'..a:lnr..s:settings.id_suffix..'\" ', 1)\n-\telse\n-\t return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n-\tendif\n- endfun\n- else\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n-\treturn s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n- endfun\n- endif\n- elseif s:settings.line_ids\n- \" if lines are not being numbered the only reason this function gets called\n- \" is to put the line IDs on each line; \"text\" will be empty but lnr will\n- \" always be non-zero, however we don't want to use the because that\n- \" won't work as nice for empty text\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id=\"'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : \"\")..'L'..a:lnr..s:settings.id_suffix..'\" ', 0)\n- endfun\n- endif\n-else\n- if s:settings.line_ids\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n- if a:lnr > 0\n-\treturn s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id=\"'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : \"\")..'L'..a:lnr..s:settings.id_suffix..'\" ', 0)\n- else\n-\treturn s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endif\n- endfun\n- else\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endfun\n- endif\n-endif\n-if s:settings.prevent_copy =~# 'd'\n- function! s:HtmlFormat_d(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n- endfun\n-else\n- function! s:HtmlFormat_d(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endfun\n-endif\n-if s:settings.prevent_copy =~# 'f'\n- if s:settings.use_input_for_pc ==# 'none'\n- \" Simply space-pad to the desired width inside the generated content (note\n- \" that the FoldColumn definition includes a whitespace:pre rule)\n- function! s:FoldColumn_build(char, len, numfill, char2, class, click)\n- return \"\"\n- endfun\n- function! s:FoldColumn_fill()\n- return s:HtmlFormat(repeat(' ', s:foldcolumn), s:FOLD_C_ID, 0, \"\", 1)\n- endfun\n- else\n- \" Note the elements for fill spaces will have a single space for\n- \" content, to allow active cursor CSS selection to work.\n- \"\n- \" Wrap the whole thing in a span for the 1px padding workaround for gaps.\n- \"\n- \" Build the function line by line containing only what is needed for the\n- \" options in use for maximum code sharing with minimal branch logic for\n- \" greater speed.\n- \"\n- \" Note, 'exec' commands do not recognize line continuations, so must\n- \" concatenate lines rather than continue them.\n- let s:build_fun_lines = []\n- call add(s:build_fun_lines, [])\n- let s:build_fun_lines[-1] =<< trim ENDLET\n-\t function! s:FoldColumn_build(char, len, numfill, char2, class, click)\n-\t let l:input_open = \"\" : \"'>\")\n-\t let l:return_span = \"\"\n-\t let l:return_span ..= l:input_open..l:common_attrs..repeat(a:char, a:len)..(a:char2)\n-\t let l:return_span ..= l:input_close\n- ENDLET\n- if s:settings.use_input_for_pc ==# 'fallback'\n- call add(s:build_fun_lines, [])\n- let s:build_fun_lines[-1] =<< trim ENDLET\n-\t let l:return_span ..= \"\"\n- ENDLET\n- endif\n- call add(s:build_fun_lines, [])\n- let s:build_fun_lines[-1] =<< trim ENDLET\n-\t let l:return_span ..= \"\"\n-\t return l:return_span\n-\t endfun\n- ENDLET\n- \" create the function we built line by line above\n- exec join(flatten(s:build_fun_lines), \"\\n\")\n-\n- function! s:FoldColumn_fill()\n- return s:FoldColumn_build(' ', s:foldcolumn, 0, '', 'FoldColumn', '')\n- endfun\n- endif\n-else\n- \" For normal fold columns, simply space-pad to the desired width (note that\n- \" the FoldColumn definition includes a whitespace:pre rule)\n- function! s:FoldColumn_build(char, len, numfill, char2, class, click)\n- return \"\".\n-\t \\ repeat(a:char, a:len)..a:char2..repeat(' ', a:numfill).\n-\t \\ \"\"\n- endfun\n- function! s:FoldColumn_fill()\n- return s:HtmlFormat(repeat(' ', s:foldcolumn), s:FOLD_C_ID, 0, \"\", 0)\n- endfun\n-endif\n-if s:settings.prevent_copy =~# 't'\n- \" put an extra empty span at the end for dynamic folds, so the linebreak can\n- \" be surrounded. Otherwise do it as normal.\n- \"\n- \" TODO: isn't there a better way to do this, than placing it here and using a\n- \" substitute later?\n- if s:settings.dynamic_folds\n- function! s:HtmlFormat_t(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1) .\n-\t \\ s:HtmlFormat(\"\", a:style_id, 0, \"\", 0)\n- endfun\n- else\n- function! s:HtmlFormat_t(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n- endfun\n- endif\n-else\n- function! s:HtmlFormat_t(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endfun\n-endif\n-\n-\" Return CSS style describing given highlight id (can be empty)\n-function! s:CSS1(id)\n- let a = \"\"\n- let translated_ID = synIDtrans(a:id)\n- if synIDattr(translated_ID, \"inverse\")\n- \" For inverse, we always must set both colors (and exchange them)\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- let a = a .. \"color: \" .. ( x != \"\" ? x : s:bgc ) .. \"; \"\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- let a = a .. \"background-color: \" .. ( x != \"\" ? x : s:fgc ) .. \"; \"\n- else\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- if x != \"\" | let a = a .. \"color: \" .. x .. \"; \" | endif\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- if x != \"\"\n- let a = a .. \"background-color: \" .. x .. \"; \"\n- \" stupid hack because almost every browser seems to have at least one font\n- \" which shows 1px gaps between lines which have background\n- let a = a .. \"padding-bottom: 1px; \"\n- elseif (translated_ID == s:FOLDED_ID || translated_ID == s:LINENR_ID || translated_ID == s:FOLD_C_ID) && !empty(s:settings.prevent_copy)\n- \" input elements default to a different color than the rest of the page\n- let a = a .. \"background-color: \" .. s:bgc .. \"; \"\n- endif\n- endif\n- if synIDattr(translated_ID, \"bold\") | let a = a .. \"font-weight: bold; \" | endif\n- if synIDattr(translated_ID, \"italic\") | let a = a .. \"font-style: italic; \" | endif\n- if synIDattr(translated_ID, \"underline\") | let a = a .. \"text-decoration: underline; \" | endif\n- return a\n-endfun\n-\n-if s:settings.dynamic_folds\n- \" compares two folds as stored in our list of folds\n- \" A fold is \"less\" than another if it starts at an earlier line number,\n- \" or ends at a later line number, ties broken by fold level\n- function! s:FoldCompare(f1, f2)\n- if a:f1.firstline != a:f2.firstline\n- \" put it before if it starts earlier\n- return a:f1.firstline - a:f2.firstline\n- elseif a:f1.lastline != a:f2.lastline\n- \" put it before if it ends later\n- return a:f2.lastline - a:f1.lastline\n- else\n- \" if folds begin and end on the same lines, put lowest fold level first\n- return a:f1.level - a:f2.level\n- endif\n- endfunction\n-\n-endif\n-\n-\n-\" Set some options to make it work faster.\n-\" Don't report changes for :substitute, there will be many of them.\n-\" Don't change other windows; turn off scroll bind temporarily\n-let s:old_title = &title\n-let s:old_icon = &icon\n-let s:old_et = &l:et\n-let s:old_bind = &l:scrollbind\n-let s:old_report = &report\n-let s:old_search = @/\n-let s:old_more = &more\n-set notitle noicon\n-setlocal et\n-set nomore\n-set report=1000000\n-setlocal noscrollbind\n-\n-if exists(':ownsyntax') && exists('w:current_syntax')\n- let s:current_syntax = w:current_syntax\n-elseif exists('b:current_syntax')\n- let s:current_syntax = b:current_syntax\n-else\n- let s:current_syntax = 'none'\n-endif\n-\n-if s:current_syntax == ''\n- let s:current_syntax = 'none'\n-endif\n-\n-\" If the user is sourcing this script directly then the plugin version isn't\n-\" known because the main plugin script didn't load. In the usual case where the\n-\" user still has the full Vim runtime installed, or has this full plugin\n-\" installed in a package or something, then we can extract the version from the\n-\" main plugin file at it's usual spot relative to this file. Otherwise the user\n-\" is assembling their runtime piecemeal and we have no idea what versions of\n-\" other files may be present so don't even try to make a guess or assume the\n-\" presence of other specific files with specific meaning.\n-\"\n-\" We don't want to actually source the main plugin file here because the user\n-\" may have a good reason not to (e.g. they define their own TOhtml command or\n-\" something).\n-\"\n-\" If this seems way too complicated and convoluted, it is. Probably I should\n-\" have put the version information in the autoload file from the start. But the\n-\" version has been in the global variable for so long that changing it could\n-\" break a lot of user scripts.\n-if exists(\"g:loaded_2html_plugin\")\n- let s:pluginversion = g:loaded_2html_plugin\n-else\n- if !exists(\"g:unloaded_tohtml_plugin\")\n- let s:main_plugin_path = expand(\":p:h:h\")..\"/plugin/tohtml.vim\"\n- if filereadable(s:main_plugin_path)\n- let s:lines = readfile(s:main_plugin_path, \"\", 20)\n- call filter(s:lines, 'v:val =~ \"loaded_2html_plugin = \"')\n- if empty(s:lines)\n-\tlet g:unloaded_tohtml_plugin = \"unknown\"\n- else\n-\tlet g:unloaded_tohtml_plugin = substitute(s:lines[0], '.*loaded_2html_plugin = \\([''\"]\\)\\(\\%(\\1\\@!.\\)\\+\\)\\1', '\\2', '')\n- endif\n- unlet s:lines\n- else\n- let g:unloaded_tohtml_plugin = \"unknown\"\n- endif\n- unlet s:main_plugin_path\n- endif\n- let s:pluginversion = g:unloaded_tohtml_plugin\n-endif\n-\n-\" Split window to create a buffer with the HTML file.\n-let s:orgbufnr = winbufnr(0)\n-let s:origwin_stl = &l:stl\n-if expand(\"%\") == \"\"\n- if exists('g:html_diff_win_num')\n- exec 'new Untitled_win'..g:html_diff_win_num..'.'.(s:settings.use_xhtml ? 'xhtml' : 'html')\n- else\n- exec 'new Untitled.'..(s:settings.use_xhtml ? 'xhtml' : 'html')\n- endif\n-else\n- exec 'new %.'..(s:settings.use_xhtml ? 'xhtml' : 'html')\n-endif\n-\n-\" Resize the new window to very small in order to make it draw faster\n-let s:old_winheight = winheight(0)\n-let s:old_winfixheight = &l:winfixheight\n-if s:old_winheight > 2\n- resize 1 \" leave enough room to view one line at a time\n- norm! G\n- norm! zt\n-endif\n-setlocal winfixheight\n-\n-let s:newwin_stl = &l:stl\n-\n-\" on the new window, set the least time-consuming fold method\n-let s:old_fen = &foldenable\n-setlocal foldmethod=manual\n-setlocal nofoldenable\n-\n-let s:newwin = winnr()\n-let s:orgwin = bufwinnr(s:orgbufnr)\n-\n-setlocal modifiable\n-%d\n-let s:old_paste = &paste\n-set paste\n-let s:old_magic = &magic\n-set magic\n-\n-\" set the fileencoding to match the charset we'll be using\n-let &l:fileencoding=s:settings.vim_encoding\n-\n-\" According to http://www.w3.org/TR/html4/charset.html#doc-char-set, the byte\n-\" order mark is highly recommend on the web when using multibyte encodings. But,\n-\" it is not a good idea to include it on UTF-8 files. Otherwise, let Vim\n-\" determine when it is actually inserted.\n-if s:settings.vim_encoding == 'utf-8'\n- setlocal nobomb\n-else\n- setlocal bomb\n-endif\n-\n-let s:lines = []\n-\n-if s:settings.use_xhtml\n- if s:settings.encoding != \"\"\n- call add(s:lines, \"\")\n- else\n- call add(s:lines, \"\")\n- endif\n- let s:tag_close = ' />'\n-else\n- let s:tag_close = '>'\n-endif\n-\n-let s:HtmlSpace = ' '\n-let s:LeadingSpace = ' '\n-let s:HtmlEndline = ''\n-if s:settings.no_pre\n- let s:HtmlEndline = '\",\n-\t\\ \"\"])\n- \" include encoding as close to the top as possible, but only if not already\n- \" contained in XML information (to avoid haggling over content type)\n- if s:settings.encoding != \"\" && !s:settings.use_xhtml\n- if s:html5\n- call add(s:lines, '\"..expand(\"%:p:~\")..\"\"),\n-\t\\ (\"\",\n-\t \\ s:settings.use_xhtml ? \"\" : \"\",\n-\t \\]\n- else\n-\t\" if we aren't doing hover_unfold, use CSS 1 only\n-\tcall extend(s:lines, [\n-\t \\ \".FoldColumn { text-decoration: none; white-space: pre; }\",\n-\t \\ \".open-fold .fulltext { display: inline; }\",\n-\t \\ \".open-fold span.Folded { display: none; }\",\n-\t \\ \".open-fold .toggle-open { display: none; }\",\n-\t \\ \".open-fold .toggle-closed { display: inline; }\",\n-\t \\ \"\",\n-\t \\ \".closed-fold .fulltext { display: none; }\",\n-\t \\ \".closed-fold span.Folded { display: inline; }\",\n-\t \\ \".closed-fold .toggle-open { display: inline; }\",\n-\t \\ \".closed-fold .toggle-closed { display: none; }\",\n-\t \\])\n- endif\n- endif\n- \" else we aren't doing any dynamic folding, no need for any special rules\n-\n- call extend(s:lines, [\n-\t \\ s:settings.use_xhtml ? \"\" : '-->',\n-\t \\ \"\",\n-\t \\])\n- call extend(s:lines, s:ieonly)\n- unlet s:ieonly\n- endif\n-\n- let s:uses_script = s:settings.dynamic_folds || s:settings.line_ids\n-\n- \" insert script tag if needed\n- if s:uses_script\n- call extend(s:lines, [\n-\t \\ \"\",\n-\t \\ \"\",\n-\t \\ s:settings.use_xhtml ? '//' : '-->',\n-\t \\ \"\"\n-\t \\ ])\n- endif\n-\n- call extend(s:lines, [\"\",\n-\t\\ \"\"])\n-endif\n-\n-if s:settings.no_pre\n- \" if we're not using CSS we use a font tag which can't have a div inside\n- if s:settings.use_css\n- call extend(s:lines, [\"
\"])\n- endif\n-else\n- call extend(s:lines, [\"
\"])\n-endif\n-\n-exe s:orgwin .. \"wincmd w\"\n-\n-\" caches of style data\n-\" initialize to include line numbers if using them\n-if s:settings.number_lines\n-  let s:stylelist = { s:LINENR_ID : \".LineNr { \" .. s:CSS1( s:LINENR_ID ) .. \"}\" }\n-else\n-  let s:stylelist = {}\n-endif\n-let s:diffstylelist = {\n-      \\   s:DIFF_A_ID : \".DiffAdd { \" .. s:CSS1( s:DIFF_A_ID ) .. \"}\",\n-      \\   s:DIFF_C_ID : \".DiffChange { \" .. s:CSS1( s:DIFF_C_ID ) .. \"}\",\n-      \\   s:DIFF_D_ID : \".DiffDelete { \" .. s:CSS1( s:DIFF_D_ID ) .. \"}\",\n-      \\   s:DIFF_T_ID : \".DiffText { \" .. s:CSS1( s:DIFF_T_ID ) .. \"}\"\n-      \\ }\n-\n-\" set up progress bar in the status line\n-if !s:settings.no_progress\n-  \" ProgressBar Indicator\n-  let s:progressbar={}\n-\n-  \" Progressbar specific functions\n-\n-  func! s:SetProgbarColor()\n-    if hlID(\"TOhtmlProgress\") != 0\n-      hi! link TOhtmlProgress_auto TOhtmlProgress\n-    elseif hlID(\"TOhtmlProgress_auto\")==0 ||\n-       \\ !exists(\"s:last_colors_name\") || !exists(\"g:colors_name\") ||\n-       \\ g:colors_name != s:last_colors_name\n-      let s:last_colors_name = exists(\"g:colors_name\") ? g:colors_name : \"none\"\n-\n-      let l:diffatr = synIDattr(hlID(\"DiffDelete\")->synIDtrans(), \"reverse\", s:whatterm) ? \"fg#\" : \"bg#\"\n-      let l:stlatr = synIDattr(hlID(\"StatusLine\")->synIDtrans(), \"reverse\", s:whatterm) ? \"fg#\" : \"bg#\"\n-\n-      let l:progbar_color = synIDattr(hlID(\"DiffDelete\")->synIDtrans(), l:diffatr, s:whatterm)\n-      let l:stl_color = synIDattr(hlID(\"StatusLine\")->synIDtrans(), l:stlatr, s:whatterm)\n-\n-      if \"\" == l:progbar_color\n-\tlet l:progbar_color = synIDattr(hlID(\"DiffDelete\")->synIDtrans(), \"reverse\", s:whatterm) ? s:fgc : s:bgc\n-      endif\n-      if \"\" == l:stl_color\n-\tlet l:stl_color = synIDattr(hlID(\"StatusLine\")->synIDtrans(), \"reverse\", s:whatterm) ? s:fgc : s:bgc\n-      endif\n-\n-      if l:progbar_color == l:stl_color\n-\tif s:whatterm == 'cterm'\n-\t  if l:progbar_color >= (&t_Co/2)\n-\t    let l:progbar_color-=1\n-\t  else\n-\t    let l:progbar_color+=1\n-\t  endif\n-\telse\n-\t  let l:rgb = map(matchlist(l:progbar_color, '#\\zs\\x\\x\\ze\\(\\x\\x\\)\\(\\x\\x\\)')[:2], 'str2nr(v:val, 16)')\n-\t  let l:avg = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3\n-\t  if l:avg >= 128\n-\t    let l:avg_new = l:avg\n-\t    while l:avg - l:avg_new < 0x15\n-\t      let l:rgb = map(l:rgb, 'v:val * 3 / 4')\n-\t      let l:avg_new = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3\n-\t    endwhile\n-\t  else\n-\t    let l:avg_new = l:avg\n-\t    while l:avg_new - l:avg < 0x15\n-\t      let l:rgb = map(l:rgb, 'min([max([v:val, 4]) * 5 / 4, 255])')\n-\t      let l:avg_new = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3\n-\t    endwhile\n-\t  endif\n-\t  let l:progbar_color = printf(\"#%02x%02x%02x\", l:rgb[0], l:rgb[1], l:rgb[2])\n-\tendif\n-\techomsg \"diff detected progbar color set to\" l:progbar_color\n-      endif\n-      exe \"hi TOhtmlProgress_auto\" s:whatterm..\"bg=\"..l:progbar_color\n-    endif\n-  endfun\n-\n-  func! s:ProgressBar(title, max_value, winnr)\n-    let pgb=copy(s:progressbar)\n-    let pgb.title = a:title..' '\n-    let pgb.max_value = a:max_value\n-    let pgb.winnr = a:winnr\n-    let pgb.cur_value = 0\n-\n-    let pgb.items = { 'title'   : { 'color' : 'Statusline' },\n-\t  \\'bar'     : { 'color' : 'Statusline' , 'fillcolor' : 'TOhtmlProgress_auto' , 'bg' : 'Statusline' } ,\n-\t  \\'counter' : { 'color' : 'Statusline' } }\n-    let pgb.last_value = 0\n-    let pgb.needs_redraw = 0\n-    \" Note that you must use len(split) instead of len() if you want to use \n-    \" unicode in title.\n-    \"\n-    \" Subtract 3 for spacing around the title.\n-    \" Subtract 4 for the percentage display.\n-    \" Subtract 2 for spacing before this.\n-    \" Subtract 2 more for the '|' on either side of the progress bar\n-    let pgb.subtractedlen=len(split(pgb.title, '\\zs'))+3+4+2+2\n-    let pgb.max_len = 0\n-    set laststatus=2\n-    return pgb\n-  endfun\n-\n-  \" Function: progressbar.calculate_ticks() {{{1\n-  func! s:progressbar.calculate_ticks(pb_len)\n-    if a:pb_len<=0\n-      let pb_len = 100\n-    else\n-      let pb_len = a:pb_len\n-    endif\n-    let self.progress_ticks = map(range(pb_len+1), \"v:val * self.max_value / pb_len\")\n-  endfun\n-\n-  \"Function: progressbar.paint()\n-  func! s:progressbar.paint()\n-    \" Recalculate widths.\n-    let max_len = winwidth(self.winnr)\n-    let pb_len = 0\n-    \" always true on first call because of initial value of self.max_len\n-    if max_len != self.max_len\n-      let self.max_len = max_len\n-\n-      \" Progressbar length\n-      let pb_len = max_len - self.subtractedlen\n-\n-      call self.calculate_ticks(pb_len)\n-\n-      let self.needs_redraw = 1\n-      let cur_value = 0\n-      let self.pb_len = pb_len\n-    else\n-      \" start searching at the last found index to make the search for the\n-      \" appropriate tick value normally take 0 or 1 comparisons\n-      let cur_value = self.last_value\n-      let pb_len = self.pb_len\n-    endif\n-\n-    let cur_val_max = pb_len > 0 ? pb_len : 100\n-\n-    \" find the current progress bar position based on precalculated thresholds\n-    while cur_value < cur_val_max && self.cur_value > self.progress_ticks[cur_value]\n-      let cur_value += 1\n-    endwhile\n-\n-    \" update progress bar\n-    if self.last_value != cur_value || self.needs_redraw || self.cur_value == self.max_value\n-      let self.needs_redraw = 1\n-      let self.last_value = cur_value\n-\n-      let t_color  = self.items.title.color\n-      let b_fcolor = self.items.bar.fillcolor\n-      let b_color  = self.items.bar.color\n-      let c_color  = self.items.counter.color\n-\n-      let stl =  \"%#\".t_color.\"#%-( \".self.title.\" %)\".\n-\t    \\\"%#\".b_color.\"#\".\n-\t    \\(pb_len>0 ?\n-\t    \\\t('|%#'.b_fcolor.\"#%-(\".repeat(\" \",cur_value).\"%)\".\n-\t    \\\t '%#'.b_color.\"#\".repeat(\" \",pb_len-cur_value).\"|\"):\n-\t    \\\t('')).\n-\t    \\\"%=%#\".c_color.\"#%( \".printf(\"%3.d \",100*self.cur_value/self.max_value).\"%% %)\"\n-      call setwinvar(self.winnr, '&stl', stl)\n-    endif\n-  endfun\n-\n-  func! s:progressbar.incr( ... )\n-    let self.cur_value += (a:0 ? a:1 : 1)\n-    \" if we were making a general-purpose progress bar, we'd need to limit to a\n-    \" lower limit as well, but since we always increment with a positive value\n-    \" in this script, we only need limit the upper value\n-    let self.cur_value = (self.cur_value > self.max_value ? self.max_value : self.cur_value)\n-    call self.paint()\n-  endfun\n-  \" }}}\n-  if s:settings.dynamic_folds\n-    \" to process folds we make two passes through each line\n-    let s:pgb = s:ProgressBar(\"Processing folds:\", line('$')*2, s:orgwin)\n-  endif\n-\n-  call s:SetProgbarColor()\n-endif\n-\n-let s:build_fun_lines = []\n-call add(s:build_fun_lines, [])\n-let s:build_fun_lines[-1] =<< trim ENDLET\n-    func! s:Add_diff_fill(lnum)\n-      let l:filler = diff_filler(a:lnum)\n-      if l:filler > 0\n-\tlet l:to_insert = l:filler\n-\twhile l:to_insert > 0\n-\t  let l:new = repeat(s:difffillchar, 3)\n-\n-\t  if l:to_insert > 2 && l:to_insert < l:filler && !s:settings.whole_filler\n-\t    let l:new = l:new .. \" \" .. l:filler .. \" inserted lines \"\n-\t    let l:to_insert = 2\n-\t  endif\n-ENDLET\n-call add(s:build_fun_lines, [])\n-if !s:settings.no_pre\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  \" HTML line wrapping is off--go ahead and fill to the margin\n-\t  \" TODO: what about when CSS wrapping is turned on?\n-\t  let l:new = l:new .. repeat(s:difffillchar, &columns - strlen(l:new) - s:margin)\n-  ENDLET\n-else\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  let l:new = l:new .. repeat(s:difffillchar, 3)\n-  ENDLET\n-endif\n-call add(s:build_fun_lines, [])\n-let s:build_fun_lines[-1] =<< trim ENDLET\n-\tlet l:new = s:HtmlFormat_d(l:new, s:DIFF_D_ID, 0)\n-ENDLET\n-if s:settings.number_lines\n-  call add(s:build_fun_lines, [])\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  \" Indent if line numbering is on. Indent gets style of line number\n-\t  \" column.\n-\t  let l:new = s:HtmlFormat_n(repeat(' ', s:margin), s:LINENR_ID, 0, 0) .. l:new\n-  ENDLET\n-endif\n-if s:settings.dynamic_folds && !s:settings.no_foldcolumn \n-  call add(s:build_fun_lines, [])\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  if s:foldcolumn > 0\n-\t    \" Indent for foldcolumn if there is one. Assume it's empty, there should\n-\t    \" not be a fold for deleted lines in diff mode.\n-\t    let l:new = s:FoldColumn_fill() .. l:new\n-\t  endif\n-  ENDLET\n-endif\n-\" Ignore this comment, just bypassing a highlighting issue: if\n-call add(s:build_fun_lines, [])\n-let s:build_fun_lines[-1] =<< trim ENDLET\n-\tcall add(s:lines, l:new..s:HtmlEndline)\n-\tlet l:to_insert = l:to_insert - 1\n-      endwhile\n-    endif\n-  endfun\n-ENDLET\n-exec join(flatten(s:build_fun_lines), \"\\n\")\n-\n-\" First do some preprocessing for dynamic folding. Do this for the entire file\n-\" so we don't accidentally start within a closed fold or something.\n-let s:allfolds = []\n-\n-if s:settings.dynamic_folds\n-  let s:lnum = 1\n-  let s:end = line('$')\n-  \" save the fold text and set it to the default so we can find fold levels\n-  let s:foldtext_save = &foldtext\n-  setlocal foldtext&\n-\n-  \" we will set the foldcolumn in the html to the greater of the maximum fold\n-  \" level and the current foldcolumn setting\n-  let s:foldcolumn = &foldcolumn\n-\n-  \" get all info needed to describe currently closed folds\n-  while s:lnum <= s:end\n-    if foldclosed(s:lnum) == s:lnum\n-      \" default fold text has '+-' and then a number of dashes equal to fold\n-      \" level, so subtract 2 from index of first non-dash after the dashes\n-      \" in order to get the fold level of the current fold\n-      let s:level = match(foldtextresult(s:lnum), '+-*\\zs[^-]') - 2\n-      \" store fold info for later use\n-      let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': \"closed-fold\"}\n-      call add(s:allfolds, s:newfold)\n-      \" open the fold so we can find any contained folds\n-      execute s:lnum..\"foldopen\"\n-    else\n-      if !s:settings.no_progress\n-\tcall s:pgb.incr()\n-\tif s:pgb.needs_redraw\n-\t  redrawstatus\n-\t  let s:pgb.needs_redraw = 0\n-\tendif\n-      endif\n-      let s:lnum = s:lnum + 1\n-    endif\n-  endwhile\n-\n-  \" close all folds to get info for originally open folds\n-  silent! %foldclose!\n-  let s:lnum = 1\n-\n-  \" the originally open folds will be all folds we encounter that aren't\n-  \" already in the list of closed folds\n-  while s:lnum <= s:end\n-    if foldclosed(s:lnum) == s:lnum\n-      \" default fold text has '+-' and then a number of dashes equal to fold\n-      \" level, so subtract 2 from index of first non-dash after the dashes\n-      \" in order to get the fold level of the current fold\n-      let s:level = match(foldtextresult(s:lnum), '+-*\\zs[^-]') - 2\n-      let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': \"closed-fold\"}\n-      \" only add the fold if we don't already have it\n-      if empty(s:allfolds) || index(s:allfolds, s:newfold) == -1\n-\tlet s:newfold.type = \"open-fold\"\n-\tcall add(s:allfolds, s:newfold)\n-      endif\n-      \" open the fold so we can find any contained folds\n-      execute s:lnum..\"foldopen\"\n-    else\n-      if !s:settings.no_progress\n-\tcall s:pgb.incr()\n-\tif s:pgb.needs_redraw\n-\t  redrawstatus\n-\t  let s:pgb.needs_redraw = 0\n-\tendif\n-      endif\n-      let s:lnum = s:lnum + 1\n-    endif\n-  endwhile\n-\n-  \" sort the folds so that we only ever need to look at the first item in the\n-  \" list of folds\n-  call sort(s:allfolds, \"s:FoldCompare\")\n-\n-  let &l:foldtext = s:foldtext_save\n-  unlet s:foldtext_save\n-\n-  \" close all folds again so we can get the fold text as we go\n-  silent! %foldclose!\n-\n-  \" Go through and remove folds we don't need to (or cannot) process in the\n-  \" current conversion range\n-  \"\n-  \" If a fold is removed which contains other folds, which are included, we need\n-  \" to adjust the level of the included folds as used by the conversion logic\n-  \" (avoiding special cases is good)\n-  \"\n-  \" Note any time we remove a fold, either all of the included folds are in it,\n-  \" or none of them, because we only remove a fold if neither its start nor its\n-  \" end are within the conversion range.\n-  let leveladjust = 0\n-  for afold in s:allfolds\n-    let removed = 0\n-    if exists(\"g:html_start_line\") && exists(\"g:html_end_line\")\n-      if afold.firstline < g:html_start_line\n-\tif afold.lastline <= g:html_end_line && afold.lastline >= g:html_start_line\n-\t  \" if a fold starts before the range to convert but stops within the\n-\t  \" range, we need to include it. Make it start on the first converted\n-\t  \" line.\n-\t  let afold.firstline = g:html_start_line\n-\telse\n-\t  \" if the fold lies outside the range or the start and stop enclose\n-\t  \" the entire range, don't bother parsing it\n-\t  call remove(s:allfolds, index(s:allfolds, afold))\n-\t  let removed = 1\n-\t  if afold.lastline > g:html_end_line\n-\t    let leveladjust += 1\n-\t  endif\n-\tendif\n-      elseif afold.firstline > g:html_end_line\n-\t\" If the entire fold lies outside the range we need to remove it.\n-\tcall remove(s:allfolds, index(s:allfolds, afold))\n-\tlet removed = 1\n-      endif\n-    elseif exists(\"g:html_start_line\")\n-      if afold.firstline < g:html_start_line\n-\t\" if there is no last line, but there is a first line, the end of the\n-\t\" fold will always lie within the region of interest, so keep it\n-\tlet afold.firstline = g:html_start_line\n-      endif\n-    elseif exists(\"g:html_end_line\")\n-      \" if there is no first line we default to the first line in the buffer so\n-      \" the fold start will always be included if the fold itself is included.\n-      \" If however the entire fold lies outside the range we need to remove it.\n-      if afold.firstline > g:html_end_line\n-\tcall remove(s:allfolds, index(s:allfolds, afold))\n-\tlet removed = 1\n-      endif\n-    endif\n-    if !removed\n-      let afold.level -= leveladjust\n-      if afold.level+1 > s:foldcolumn\n-\tlet s:foldcolumn = afold.level+1\n-      endif\n-    endif\n-  endfor\n-\n-  \" if we've removed folds containing the conversion range from processing,\n-  \" getting foldtext as we go won't know to open the removed folds, so the\n-  \" foldtext would be wrong; open them now.\n-  \"\n-  \" Note that only when a start and an end line is specified will a fold\n-  \" containing the current range ever be removed.\n-  while leveladjust > 0\n-    exe g:html_start_line..\"foldopen\"\n-    let leveladjust -= 1\n-  endwhile\n-endif\n-\n-\" Now loop over all lines in the original text to convert to html.\n-\" Use html_start_line and html_end_line if they are set.\n-if exists(\"g:html_start_line\")\n-  let s:lnum = html_start_line\n-  if s:lnum < 1 || s:lnum > line(\"$\")\n-    let s:lnum = 1\n-  endif\n-else\n-  let s:lnum = 1\n-endif\n-if exists(\"g:html_end_line\")\n-  let s:end = html_end_line\n-  if s:end < s:lnum || s:end > line(\"$\")\n-    let s:end = line(\"$\")\n-  endif\n-else\n-  let s:end = line(\"$\")\n-endif\n-\n-\" stack to keep track of all the folds containing the current line\n-let s:foldstack = []\n-\n-if !s:settings.no_progress\n-  let s:pgb = s:ProgressBar(\"Processing lines:\", s:end - s:lnum + 1, s:orgwin)\n-endif\n-\n-if s:settings.number_lines\n-  let s:margin = strlen(s:end) + 1\n-else\n-  let s:margin = 0\n-endif\n-\n-if has('folding') && !s:settings.ignore_folding\n-  let s:foldfillchar = &fillchars[matchend(&fillchars, 'fold:')]\n-  if s:foldfillchar == ''\n-    let s:foldfillchar = '-'\n-  endif\n-endif\n-let s:difffillchar = &fillchars[matchend(&fillchars, 'diff:')]\n-if s:difffillchar == ''\n-  let s:difffillchar = '-'\n-endif\n-\n-let s:foldId = 0\n-\n-if !s:settings.expand_tabs\n-  \" If keeping tabs, add them to printable characters so we keep them when\n-  \" formatting text (strtrans() doesn't replace printable chars)\n-  let s:old_isprint = &isprint\n-  setlocal isprint+=9\n-endif\n-\n-while s:lnum <= s:end\n-\n-  \" If there are filler lines for diff mode, show these above the line.\n-  call s:Add_diff_fill(s:lnum)\n-\n-  \" Start the line with the line number.\n-  if s:settings.number_lines\n-    let s:numcol = repeat(' ', s:margin - 1 - strlen(s:lnum)) .. s:lnum .. ' '\n-  endif\n-\n-  let s:new = \"\"\n-\n-  if has('folding') && !s:settings.ignore_folding && foldclosed(s:lnum) > -1 && !s:settings.dynamic_folds\n-    \"\n-    \" This is the beginning of a folded block (with no dynamic folding)\n-    let s:new = foldtextresult(s:lnum)\n-    if !s:settings.no_pre\n-      \" HTML line wrapping is off--go ahead and fill to the margin\n-      let s:new = s:new .. repeat(s:foldfillchar, &columns - strlen(s:new))\n-    endif\n-\n-    \" put numcol in a separate group for sake of unselectable text\n-    let s:new = (s:settings.number_lines ? s:HtmlFormat_n(s:numcol, s:FOLDED_ID, 0, s:lnum): \"\") .. s:HtmlFormat_t(s:new, s:FOLDED_ID, 0)\n-\n-    \" Skip to the end of the fold\n-    let s:new_lnum = foldclosedend(s:lnum)\n-\n-    if !s:settings.no_progress\n-      call s:pgb.incr(s:new_lnum - s:lnum)\n-    endif\n-\n-    let s:lnum = s:new_lnum\n-\n-  else\n-    \"\n-    \" A line that is not folded, or doing dynamic folding.\n-    \"\n-    let s:line = getline(s:lnum)\n-    let s:len = strlen(s:line)\n-\n-    if s:settings.dynamic_folds\n-      \" First insert a closing for any open folds that end on this line\n-      while !empty(s:foldstack) && get(s:foldstack,0).lastline == s:lnum-1\n-\tlet s:new = s:new..\"\"\n-\tcall remove(s:foldstack, 0)\n-      endwhile\n-\n-      \" Now insert an opening for any new folds that start on this line\n-      let s:firstfold = 1\n-      while !empty(s:allfolds) && get(s:allfolds,0).firstline == s:lnum\n-\tlet s:foldId = s:foldId + 1\n-\tlet s:new ..= \"\"\n-\n-\n-\t\" Unless disabled, add a fold column for the opening line of a fold.\n-\t\"\n-\t\" Note that dynamic folds require using css so we just use css to take\n-\t\" care of the leading spaces rather than using   in the case of\n-\t\" html_no_pre to make it easier\n-\tif !s:settings.no_foldcolumn\n-\t  \" add fold column that can open the new fold\n-\t  if s:allfolds[0].level > 1 && s:firstfold\n-\t    let s:new = s:new .. s:FoldColumn_build('|', s:allfolds[0].level - 1, 0, \"\",\n-\t\t  \\ 'toggle-open FoldColumn','javascript:toggleFold(\"fold'..s:foldstack[0].id..s:settings.id_suffix..'\");')\n-\t  endif\n-\t  \" add the filler spaces separately from the '+' char so that it can be\n-\t  \" shown/hidden separately during a hover unfold\n-\t  let s:new = s:new .. s:FoldColumn_build(\"+\", 1, 0, \"\",\n-\t\t\\ 'toggle-open FoldColumn', 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\t  \" If this is not the last fold we're opening on this line, we need\n-\t  \" to keep the filler spaces hidden if the fold is opened by mouse\n-\t  \" hover. If it is the last fold to open in the line, we shouldn't hide\n-\t  \" them, so don't apply the toggle-filler class.\n-\t  let s:new = s:new .. s:FoldColumn_build(\" \", 1, s:foldcolumn - s:allfolds[0].level - 1, \"\",\n-\t\t\\ 'toggle-open FoldColumn'.. (get(s:allfolds, 1, {'firstline': 0}).firstline == s:lnum ?\" toggle-filler\" :\"\"),\n-\t\t\\ 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\n-\t  \" add fold column that can close the new fold\n-\t  \" only add extra blank space if we aren't opening another fold on the\n-\t  \" same line\n-\t  if get(s:allfolds, 1, {'firstline': 0}).firstline != s:lnum\n-\t    let s:extra_space = s:foldcolumn - s:allfolds[0].level\n-\t  else\n-\t    let s:extra_space = 0\n-\t  endif\n-\t  if s:firstfold\n-\t    \" the first fold in a line has '|' characters from folds opened in\n-\t    \" previous lines, before the '-' for this fold\n-\t    let s:new ..= s:FoldColumn_build('|', s:allfolds[0].level - 1, s:extra_space, '-',\n-\t\t  \\ 'toggle-closed FoldColumn', 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\t  else\n-\t    \" any subsequent folds in the line only add a single '-'\n-\t    let s:new = s:new .. s:FoldColumn_build(\"-\", 1, s:extra_space, \"\",\n-\t\t  \\ 'toggle-closed FoldColumn', 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\t  endif\n-\t  let s:firstfold = 0\n-\tendif\n-\n-\t\" Add fold text, moving the span ending to the next line so collapsing\n-\t\" of folds works correctly.\n-\t\" Put numcol in a separate group for sake of unselectable text.\n-\tlet s:new = s:new .. (s:settings.number_lines ? s:HtmlFormat_n(s:numcol, s:FOLDED_ID, 0, 0) : \"\") .. substitute(s:HtmlFormat_t(foldtextresult(s:lnum), s:FOLDED_ID, 0), '', s:HtmlEndline..'\\n\\0', '')\n-\tlet s:new = s:new .. \"\"\n-\n-\t\" open the fold now that we have the fold text to allow retrieval of\n-\t\" fold text for subsequent folds\n-\texecute s:lnum..\"foldopen\"\n-\tcall insert(s:foldstack, remove(s:allfolds,0))\n-\tlet s:foldstack[0].id = s:foldId\n-      endwhile\n-\n-      \" Unless disabled, add a fold column for other lines.\n-      \"\n-      \" Note that dynamic folds require using css so we just use css to take\n-      \" care of the leading spaces rather than using   in the case of\n-      \" html_no_pre to make it easier\n-      if !s:settings.no_foldcolumn\n-\tif empty(s:foldstack)\n-\t  \" add the empty foldcolumn for unfolded lines if there is a fold\n-\t  \" column at all\n-\t  if s:foldcolumn > 0\n-\t    let s:new = s:new .. s:FoldColumn_fill()\n-\t  endif\n-\telse\n-\t  \" add the fold column for folds not on the opening line\n-\t  if get(s:foldstack, 0).firstline < s:lnum\n-\t    let s:new = s:new .. s:FoldColumn_build('|', s:foldstack[0].level, s:foldcolumn - s:foldstack[0].level, \"\",\n-\t\t  \\ 'FoldColumn', 'javascript:toggleFold(\"fold'..s:foldstack[0].id..s:settings.id_suffix..'\");')\n-\t  endif\n-\tendif\n-      endif\n-    endif\n-\n-    \" Now continue with the unfolded line text\n-    if s:settings.number_lines\n-      let s:new = s:new .. s:HtmlFormat_n(s:numcol, s:LINENR_ID, 0, s:lnum)\n-    elseif s:settings.line_ids\n-      let s:new = s:new .. s:HtmlFormat_n(\"\", s:LINENR_ID, 0, s:lnum)\n-    endif\n-\n-    \" Get the diff attribute, if any.\n-    let s:diffattr = diff_hlID(s:lnum, 1)\n-\n-    \" initialize conceal info to act like not concealed, just in case\n-    let s:concealinfo = [0, '']\n-\n-    \" Loop over each character in the line\n-    let s:col = 1\n-\n-    \" most of the time we won't use the diff_id, initialize to zero\n-    let s:diff_id = 0\n-\n-    while s:col <= s:len || (s:col == 1 && s:diffattr)\n-      let s:startcol = s:col \" The start column for processing text\n-      if !s:settings.ignore_conceal && has('conceal')\n-\tlet s:concealinfo = synconcealed(s:lnum, s:col)\n-      endif\n-      if !s:settings.ignore_conceal && s:concealinfo[0]\n-\tlet s:col = s:col + 1\n-\t\" Speed loop (it's small - that's the trick)\n-\t\" Go along till we find a change in the match sequence number (ending\n-\t\" the specific concealed region) or until there are no more concealed\n-\t\" characters.\n-\twhile s:col <= s:len && s:concealinfo == synconcealed(s:lnum, s:col) | let s:col = s:col + 1 | endwhile\n-      elseif s:diffattr\n-\tlet s:diff_id = diff_hlID(s:lnum, s:col)\n-\tlet s:id = synID(s:lnum, s:col, 1)\n-\tlet s:col = s:col + 1\n-\t\" Speed loop (it's small - that's the trick)\n-\t\" Go along till we find a change in hlID\n-\twhile s:col <= s:len && s:id == synID(s:lnum, s:col, 1)\n-\t      \\   && s:diff_id == diff_hlID(s:lnum, s:col) |\n-\t      \\     let s:col = s:col + 1 |\n-\t      \\ endwhile\n-\tif s:len < &columns && !s:settings.no_pre\n-\t  \" Add spaces at the end of the raw text line to extend the changed\n-\t  \" line to the full width.\n-\t  let s:line = s:line .. repeat(' ', &columns - virtcol([s:lnum, s:len]) - s:margin)\n-\t  let s:len = &columns\n-\tendif\n-      else\n-\tlet s:id = synID(s:lnum, s:col, 1)\n-\tlet s:col = s:col + 1\n-\t\" Speed loop (it's small - that's the trick)\n-\t\" Go along till we find a change in synID\n-\twhile s:col <= s:len && s:id == synID(s:lnum, s:col, 1) | let s:col = s:col + 1 | endwhile\n-      endif\n-\n-      if s:settings.ignore_conceal || !s:concealinfo[0]\n-\t\" Expand tabs if needed\n-\tlet s:expandedtab = strpart(s:line, s:startcol - 1, s:col - s:startcol)\n-\tif s:settings.expand_tabs\n-\t  let s:offset = 0\n-\t  let s:idx = stridx(s:expandedtab, \"\\t\")\n-\t  let s:tablist = exists(\"+vts\") ? split(&vts,',') : []\n-\t  if empty(s:tablist)\n-\t    let s:tablist = [ &ts ]\n-\t  endif\n-\t  let s:tabidx = 0\n-\t  let s:tabwidth = 0\n-\t  while s:idx >= 0\n-\t    if s:startcol + s:idx == 1\n-\t      let s:i = s:tablist[0]\n-\t    else\n-\t      \" Get the character, which could be multiple bytes, which falls\n-\t      \" immediately before the found tab. Extract it by matching a\n-\t      \" character just prior to the column where the tab matches.\n-\t      \" We'll use this to get the byte index of the character\n-\t      \" immediately preceding the tab, so we can then look up the\n-\t      \" virtual column that character appears in, to determine how\n-\t      \" much of the current tabstop has been used up.\n-\t      if s:idx == 0\n-\t\t\" if the found tab is the first character in the text being\n-\t\t\" processed, we need to get the character prior to the text,\n-\t\t\" given by startcol.\n-\t\tlet s:prevc = matchstr(s:line, '.\\%' .. (s:startcol + s:offset) .. 'c')\n-\t      else\n-\t\t\" Otherwise, the byte index of the tab into s:expandedtab is\n-\t\t\" given by s:idx.\n-\t\tlet s:prevc = matchstr(s:expandedtab, '.\\%' .. (s:idx + 1) .. 'c')\n-\t      endif\n-\t      let s:vcol = virtcol([s:lnum, s:startcol + s:idx + s:offset - len(s:prevc)])\n-\n-\t      \" find the tabstop interval to use for the tab we just found. Keep\n-\t      \" adding tabstops (which could be variable) until we would exceed\n-\t      \" the virtual screen position of the start of the found tab.\n-\t      while s:vcol >= s:tabwidth + s:tablist[s:tabidx]\n-\t\tlet s:tabwidth += s:tablist[s:tabidx]\n-\t\tif s:tabidx < len(s:tablist)-1\n-\t\t  let s:tabidx = s:tabidx+1\n-\t\tendif\n-\t      endwhile\n-\t      let s:i = s:tablist[s:tabidx] - (s:vcol - s:tabwidth)\n-\t    endif\n-\t    \" update offset to keep the index within the line corresponding to\n-\t    \" actual tab characters instead of replaced spaces; s:idx reflects\n-\t    \" replaced spaces in s:expandedtab, s:offset cancels out all but\n-\t    \" the tab character itself.\n-\t    let s:offset -= s:i - 1\n-\t    let s:expandedtab = substitute(s:expandedtab, '\\t', repeat(' ', s:i), '')\n-\t    let s:idx = stridx(s:expandedtab, \"\\t\")\n-\t  endwhile\n-\tend\n-\n-\t\" get the highlight group name to use\n-\tlet s:id = synIDtrans(s:id)\n-      else\n-\t\" use Conceal highlighting for concealed text\n-\tlet s:id = s:CONCEAL_ID\n-\tlet s:expandedtab = s:concealinfo[1]\n-      endif\n-\n-      \" Output the text with the same synID, with class set to the highlight ID\n-      \" name, unless it has been concealed completely.\n-      if strlen(s:expandedtab) > 0\n-\tlet s:new = s:new .. s:HtmlFormat(s:expandedtab,  s:id, s:diff_id, \"\", 0)\n-      endif\n-    endwhile\n-  endif\n-\n-  call extend(s:lines, split(s:new..s:HtmlEndline, '\\n', 1))\n-  if !s:settings.no_progress && s:pgb.needs_redraw\n-    redrawstatus\n-    let s:pgb.needs_redraw = 0\n-  endif\n-  let s:lnum = s:lnum + 1\n-\n-  if !s:settings.no_progress\n-    call s:pgb.incr()\n-  endif\n-endwhile\n-\n-\" Diff filler is returned based on what needs inserting *before* the given line.\n-\" So to get diff filler at the end of the buffer, we need to use last line + 1\n-call s:Add_diff_fill(s:end+1)\n-\n-if s:settings.dynamic_folds\n-  \" finish off any open folds\n-  while !empty(s:foldstack)\n-    let s:lines[-1]..=\"\"\n-    call remove(s:foldstack, 0)\n-  endwhile\n-\n-  \" add fold column to the style list if not already there\n-  let s:id = s:FOLD_C_ID\n-  if !has_key(s:stylelist, s:id)\n-    let s:stylelist[s:id] = '.FoldColumn { ' .. s:CSS1(s:id) .. '}'\n-  endif\n-endif\n-\n-if s:settings.no_pre\n-  if !s:settings.use_css\n-    \" Close off the font tag that encapsulates the whole \n-    call extend(s:lines, [\"\"])\n-  else\n-    call extend(s:lines, [\"
\"])\n- endif\n-else\n- call extend(s:lines, [\"\"])\n-endif\n-if !s:settings.no_doc\n- call extend(s:lines, [\"\", \"\"])\n-endif\n-\n-exe s:newwin .. \"wincmd w\"\n-call setline(1, s:lines)\n-unlet s:lines\n-\n-\" Mangle modelines so Vim doesn't try to use HTML text as a modeline if editing\n-\" this file in the future; need to do this after generating all the text in case\n-\" the modeline text has different highlight groups which all turn out to be\n-\" stripped from the final output.\n-%s!\\v(%(^|\\s+)%([Vv]i%(m%([<=>]?\\d+)?)?|ex)):!\\1\\:!ge\n-\n-\" The generated HTML is admittedly ugly and takes a LONG time to fold.\n-\" Make sure the user doesn't do syntax folding when loading a generated file,\n-\" using a modeline.\n-if !s:settings.no_modeline\n- call append(line('$'), \"\")\n-endif\n-\n-\" Now, when we finally know which, we define the colors and styles\n-if s:settings.use_css && !s:settings.no_doc\n- 1;//+1\n-\n- \" Normal/global attributes\n- if s:settings.no_pre\n- call append('.', \"body { color: \" .. s:fgc .. \"; background-color: \" .. s:bgc .. \"; font-family: \".. s:htmlfont ..\"; }\")\n- +\n- else\n- call append('.', \"pre { \" .. s:whitespace .. \"font-family: \".. s:htmlfont ..\"; color: \" .. s:fgc .. \"; background-color: \" .. s:bgc .. \"; }\")\n- +\n- yank\n- put\n- execute \"normal! ^cwbody\\e\"\n- \" body should not have the wrap formatting, only the pre section\n- if s:whitespace != ''\n- exec 's#'..s:whitespace\n- endif\n- endif\n- \" fix browser inconsistencies (sometimes within the same browser) of different\n- \" default font size for different elements\n- call append('.', '* { font-size: 1em; }')\n- +\n- \" if we use any input elements for unselectable content, make sure they look\n- \" like normal text\n- if !empty(s:settings.prevent_copy)\n- if s:settings.use_input_for_pc !=# \"none\"\n- call append('.', 'input { border: none; margin: 0; padding: 0; font-family: '..s:htmlfont..'; }')\n- +\n- \" ch units for browsers which support them, em units for a somewhat\n- \" reasonable fallback.\n- for w in range(1, 20, 1)\n-\tcall append('.', [\n-\t \\ \"input[size='\"..w..\"'] { width: \"..w..\"em; width: \"..w..\"ch; }\"\n-\t \\ ])\n-\t+\n- endfor\n- endif\n-\n- if s:settings.use_input_for_pc !=# 'all'\n- let s:unselectable_styles = []\n- if s:settings.prevent_copy =~# 'f'\n-\tcall add(s:unselectable_styles, 'FoldColumn')\n- endif\n- if s:settings.prevent_copy =~# 'n'\n-\tcall add(s:unselectable_styles, 'LineNr')\n- endif\n- if s:settings.prevent_copy =~# 't' && !s:settings.ignore_folding\n-\tcall add(s:unselectable_styles, 'Folded')\n- endif\n- if s:settings.prevent_copy =~# 'd'\n-\tcall add(s:unselectable_styles, 'DiffDelete')\n- endif\n- if s:settings.use_input_for_pc !=# 'none'\n-\tcall append('.', [\n-\t \\ '/* Note: IE does not support @supports conditionals, but also does not fully support',\n-\t \\ ' \"content:\" with custom content, so we *want* the check to fail */',\n-\t \\ '@supports ( content: attr(data-custom-content) ) {'\n-\t \\ ])\n-\t+3\n- endif\n- \" The line number column inside the foldtext is styled just like the fold\n- \" text in Vim, but it should use the prevent_copy settings of line number\n- \" rather than fold text. Apply the prevent_copy styles to foldtext\n- \" specifically for line numbers, which always come after the fold column,\n- \" or at the beginning of the line.\n- if s:settings.prevent_copy =~# 'n' && !s:settings.ignore_folding\n-\tcall append('.', [\n-\t \\ ' .FoldColumn + .Folded, .Folded:first-child { user-select: none; }',\n-\t \\ ' .FoldColumn + [data-Folded-content]::before, [data-Folded-content]:first-child::before { content: attr(data-Folded-content); }',\n-\t \\ ' .FoldColumn + [data-Folded-content]::before, [data-Folded-content]:first-child::before { padding-bottom: 1px; display: inline-block; /* match the 1-px padding of standard items with background */ }',\n-\t \\ ' .FoldColumn + span[data-Folded-content]::before, [data-Folded-content]:first-child::before { cursor: default; }',\n-\t \\ ])\n-\t+4\n- endif\n- for s:style_name in s:unselectable_styles\n-\tcall append('.', [\n-\t \\ ' .'..s:style_name..' { user-select: none; }',\n-\t \\ ' [data-'..s:style_name..'-content]::before { content: attr(data-'..s:style_name..'-content); }',\n-\t \\ ' [data-'..s:style_name..'-content]::before { padding-bottom: 1px; display: inline-block; /* match the 1-px padding of standard items with background */ }',\n-\t \\ ' span[data-'..s:style_name..'-content]::before { cursor: default; }',\n-\t \\ ])\n-\t+4\n- endfor\n- if s:settings.use_input_for_pc !=# 'none'\n-\t\" Note, the extra '}' is to match the \"@supports\" above\n-\tcall append('.', [\n-\t \\ ' input { display: none; }',\n-\t \\ '}'\n-\t \\ ])\n-\t+2\n- endif\n- unlet s:unselectable_styles\n- endif\n-\n- \" Fix mouse cursor shape for the fallback method of uncopyable text\n- if s:settings.use_input_for_pc !=# 'none'\n- if s:settings.prevent_copy =~# 'f'\n-\t\" Make the cursor show active fold columns as active areas, and empty fold\n-\t\" columns as not interactive.\n-\tcall append('.', ['input.FoldColumn { cursor: pointer; }',\n-\t \\ 'input.FoldColumn[value=\"'..repeat(' ', s:foldcolumn)..'\"] { cursor: default; }'\n-\t \\ ])\n-\t+2\n-\tif s:settings.use_input_for_pc !=# 'all'\n-\t call append('.', [\n-\t\t\\ 'a[data-FoldColumn-content=\"'..repeat(' ', s:foldcolumn)..'\"] { cursor: default; }'\n-\t\t\\ ])\n-\t +1\n-\tend\n- endif\n- \" make line number column show as non-interactive if not selectable\n- if s:settings.prevent_copy =~# 'n'\n-\tcall append('.', 'input.LineNr { cursor: default; }')\n-\t+\n- endif\n- \" make fold text and line number column within fold text show as\n- \" non-interactive if not selectable\n- if (s:settings.prevent_copy =~# 'n' || s:settings.prevent_copy =~# 't') && !s:settings.ignore_folding\n-\tcall append('.', 'input.Folded { cursor: default; }')\n-\t+\n- endif\n- \" make diff filler show as non-interactive if not selectable\n- if s:settings.prevent_copy =~# 'd'\n-\tcall append('.', 'input.DiffDelete { cursor: default; }')\n-\t+\n- endif\n- endif\n- endif\n-endif\n-\n-if !s:settings.use_css && !s:settings.no_doc\n- \" For Netscape 4, set attributes too, though, strictly speaking, it's\n- \" incorrect.\n- execute '%s:]*\\):\\r]\\|>\\|<\\|"\\)+\\1\\2+ge\n-endif\n-\n-\" The DTD\n-if !s:settings.no_doc\n- if s:settings.use_xhtml\n- exe \"normal! gg$a\\n\"\n- elseif s:html5\n- exe \"normal! gg0i\\n\"\n- else\n- exe \"normal! gg0i\\n\"\n- endif\n-endif\n-\n-if s:settings.use_xhtml && !s:settings.no_doc\n- exe \"normal! gg/\n-\" Last Change: 2023 Sep 05\n-\"\n-\" Additional contributors:\n-\"\n-\" Original by Bram Moolenaar \n-\" Modified by David Ne\\v{c}as (Yeti) \n-\" XHTML support by Panagiotis Issaris \n-\" Made w3 compliant by Edd Barrett \n-\" Added html_font. Edd Barrett \n-\" Progress bar based off code from \"progressbar widget\" plugin by\n-\" Andreas Politz, heavily modified:\n-\" http://www.vim.org/scripts/script.php?script_id=2006\n-\"\n-\" See Mercurial change logs for more!\n-\n-\" Transform a file into HTML, using the current syntax highlighting.\n-\n-\" this file uses line continuations\n-let s:cpo_sav = &cpo\n-let s:ls = &ls\n-let s:ei_sav = &eventignore\n-set cpo&vim\n-\n-\" HTML filetype can take a while to load/highlight if the destination file\n-\" already exists.\n-set eventignore+=FileType\n-\n-let s:end=line('$')\n-\n-\" Font\n-if exists(\"g:html_font\")\n- if type(g:html_font) == type([])\n- let s:htmlfont = \"'\".. join(g:html_font,\"','\") .. \"', monospace\"\n- else\n- let s:htmlfont = \"'\".. g:html_font .. \"', monospace\"\n- endif\n-else\n- let s:htmlfont = \"monospace\"\n-endif\n-\n-let s:settings = tohtml#GetUserSettings()\n-\n-if s:settings.use_xhtml\n- let s:html5 = 0\n-elseif s:settings.use_css && !s:settings.no_pre\n- let s:html5 = 1\n-else\n- let s:html5 = 0\n-endif\n-\n-if !exists('s:FOLDED_ID')\n- let s:FOLDED_ID = hlID(\"Folded\") | lockvar s:FOLDED_ID\n- let s:FOLD_C_ID = hlID(\"FoldColumn\") | lockvar s:FOLD_C_ID\n- let s:LINENR_ID = hlID('LineNr') | lockvar s:LINENR_ID\n- let s:DIFF_D_ID = hlID(\"DiffDelete\") | lockvar s:DIFF_D_ID\n- let s:DIFF_A_ID = hlID(\"DiffAdd\") | lockvar s:DIFF_A_ID\n- let s:DIFF_C_ID = hlID(\"DiffChange\") | lockvar s:DIFF_C_ID\n- let s:DIFF_T_ID = hlID(\"DiffText\") | lockvar s:DIFF_T_ID\n- let s:CONCEAL_ID = hlID('Conceal') | lockvar s:CONCEAL_ID\n-endif\n-\n-\" Whitespace\n-if s:settings.pre_wrap\n- let s:whitespace = \"white-space: pre-wrap; \"\n-else\n- let s:whitespace = \"\"\n-endif\n-\n-if !empty(s:settings.prevent_copy)\n- if s:settings.no_invalid\n- \" User has decided they don't want invalid markup. Still works in\n- \" OpenOffice, and for text editors, but when pasting into Microsoft Word the\n- \" input elements get pasted too and they cannot be deleted (at least not\n- \" easily).\n- let s:unselInputType = \"\"\n- else\n- \" Prevent from copy-pasting the input elements into Microsoft Word where\n- \" they cannot be deleted easily by deliberately inserting invalid markup.\n- let s:unselInputType = \" type='invalid_input_type'\"\n- endif\n-endif\n-\n-\" When gui colors are not supported, we can only guess the colors.\n-\" TODO - is this true anymore? Is there a way to ask the terminal what colors\n-\" each number means or read them from some file?\n-if &termguicolors || has(\"gui_running\")\n- let s:whatterm = \"gui\"\n-else\n- let s:whatterm = \"cterm\"\n- if &t_Co == 8\n- let s:cterm_color = {\n-\t \\ 0: \"#808080\", 1: \"#ff6060\", 2: \"#00ff00\", 3: \"#ffff00\",\n-\t \\ 4: \"#8080ff\", 5: \"#ff40ff\", 6: \"#00ffff\", 7: \"#ffffff\"\n-\t \\ }\n- else\n- let s:cterm_color = {\n-\t \\ 0: \"#000000\", 1: \"#c00000\", 2: \"#008000\", 3: \"#804000\", \n-\t \\ 4: \"#0000c0\", 5: \"#c000c0\", 6: \"#008080\", 7: \"#c0c0c0\", \n-\t \\ 8: \"#808080\", 9: \"#ff6060\", 10: \"#00ff00\", 11: \"#ffff00\",\n-\t \\ 12: \"#8080ff\", 13: \"#ff40ff\", 14: \"#00ffff\", 15: \"#ffffff\"\n-\t \\ }\n-\n- \" Colors for 88 and 256 come from xterm.\n- if &t_Co == 88\n- call extend(s:cterm_color, {\n-\t \\ 16: \"#000000\", 17: \"#00008b\", 18: \"#0000cd\", 19: \"#0000ff\",\n-\t \\ 20: \"#008b00\", 21: \"#008b8b\", 22: \"#008bcd\", 23: \"#008bff\",\n-\t \\ 24: \"#00cd00\", 25: \"#00cd8b\", 26: \"#00cdcd\", 27: \"#00cdff\",\n-\t \\ 28: \"#00ff00\", 29: \"#00ff8b\", 30: \"#00ffcd\", 31: \"#00ffff\",\n-\t \\ 32: \"#8b0000\", 33: \"#8b008b\", 34: \"#8b00cd\", 35: \"#8b00ff\",\n-\t \\ 36: \"#8b8b00\", 37: \"#8b8b8b\", 38: \"#8b8bcd\", 39: \"#8b8bff\",\n-\t \\ 40: \"#8bcd00\", 41: \"#8bcd8b\", 42: \"#8bcdcd\", 43: \"#8bcdff\",\n-\t \\ 44: \"#8bff00\", 45: \"#8bff8b\", 46: \"#8bffcd\", 47: \"#8bffff\",\n-\t \\ 48: \"#cd0000\", 49: \"#cd008b\", 50: \"#cd00cd\", 51: \"#cd00ff\",\n-\t \\ 52: \"#cd8b00\", 53: \"#cd8b8b\", 54: \"#cd8bcd\", 55: \"#cd8bff\",\n-\t \\ 56: \"#cdcd00\", 57: \"#cdcd8b\", 58: \"#cdcdcd\", 59: \"#cdcdff\",\n-\t \\ 60: \"#cdff00\", 61: \"#cdff8b\", 62: \"#cdffcd\", 63: \"#cdffff\",\n-\t \\ 64: \"#ff0000\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 65: \"#ff008b\", 66: \"#ff00cd\", 67: \"#ff00ff\", 68: \"#ff8b00\",\n-\t \\ 69: \"#ff8b8b\", 70: \"#ff8bcd\", 71: \"#ff8bff\", 72: \"#ffcd00\",\n-\t \\ 73: \"#ffcd8b\", 74: \"#ffcdcd\", 75: \"#ffcdff\", 76: \"#ffff00\",\n-\t \\ 77: \"#ffff8b\", 78: \"#ffffcd\", 79: \"#ffffff\", 80: \"#2e2e2e\",\n-\t \\ 81: \"#5c5c5c\", 82: \"#737373\", 83: \"#8b8b8b\", 84: \"#a2a2a2\",\n-\t \\ 85: \"#b9b9b9\", 86: \"#d0d0d0\", 87: \"#e7e7e7\"\n-\t \\ })\n- elseif &t_Co == 256\n- call extend(s:cterm_color, {\n-\t \\ 16: \"#000000\", 17: \"#00005f\", 18: \"#000087\", 19: \"#0000af\",\n-\t \\ 20: \"#0000d7\", 21: \"#0000ff\", 22: \"#005f00\", 23: \"#005f5f\",\n-\t \\ 24: \"#005f87\", 25: \"#005faf\", 26: \"#005fd7\", 27: \"#005fff\",\n-\t \\ 28: \"#008700\", 29: \"#00875f\", 30: \"#008787\", 31: \"#0087af\",\n-\t \\ 32: \"#0087d7\", 33: \"#0087ff\", 34: \"#00af00\", 35: \"#00af5f\",\n-\t \\ 36: \"#00af87\", 37: \"#00afaf\", 38: \"#00afd7\", 39: \"#00afff\",\n-\t \\ 40: \"#00d700\", 41: \"#00d75f\", 42: \"#00d787\", 43: \"#00d7af\",\n-\t \\ 44: \"#00d7d7\", 45: \"#00d7ff\", 46: \"#00ff00\", 47: \"#00ff5f\",\n-\t \\ 48: \"#00ff87\", 49: \"#00ffaf\", 50: \"#00ffd7\", 51: \"#00ffff\",\n-\t \\ 52: \"#5f0000\", 53: \"#5f005f\", 54: \"#5f0087\", 55: \"#5f00af\",\n-\t \\ 56: \"#5f00d7\", 57: \"#5f00ff\", 58: \"#5f5f00\", 59: \"#5f5f5f\",\n-\t \\ 60: \"#5f5f87\", 61: \"#5f5faf\", 62: \"#5f5fd7\", 63: \"#5f5fff\",\n-\t \\ 64: \"#5f8700\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 65: \"#5f875f\", 66: \"#5f8787\", 67: \"#5f87af\", 68: \"#5f87d7\",\n-\t \\ 69: \"#5f87ff\", 70: \"#5faf00\", 71: \"#5faf5f\", 72: \"#5faf87\",\n-\t \\ 73: \"#5fafaf\", 74: \"#5fafd7\", 75: \"#5fafff\", 76: \"#5fd700\",\n-\t \\ 77: \"#5fd75f\", 78: \"#5fd787\", 79: \"#5fd7af\", 80: \"#5fd7d7\",\n-\t \\ 81: \"#5fd7ff\", 82: \"#5fff00\", 83: \"#5fff5f\", 84: \"#5fff87\",\n-\t \\ 85: \"#5fffaf\", 86: \"#5fffd7\", 87: \"#5fffff\", 88: \"#870000\",\n-\t \\ 89: \"#87005f\", 90: \"#870087\", 91: \"#8700af\", 92: \"#8700d7\",\n-\t \\ 93: \"#8700ff\", 94: \"#875f00\", 95: \"#875f5f\", 96: \"#875f87\",\n-\t \\ 97: \"#875faf\", 98: \"#875fd7\", 99: \"#875fff\", 100: \"#878700\",\n-\t \\ 101: \"#87875f\", 102: \"#878787\", 103: \"#8787af\", 104: \"#8787d7\",\n-\t \\ 105: \"#8787ff\", 106: \"#87af00\", 107: \"#87af5f\", 108: \"#87af87\",\n-\t \\ 109: \"#87afaf\", 110: \"#87afd7\", 111: \"#87afff\", 112: \"#87d700\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 113: \"#87d75f\", 114: \"#87d787\", 115: \"#87d7af\", 116: \"#87d7d7\",\n-\t \\ 117: \"#87d7ff\", 118: \"#87ff00\", 119: \"#87ff5f\", 120: \"#87ff87\",\n-\t \\ 121: \"#87ffaf\", 122: \"#87ffd7\", 123: \"#87ffff\", 124: \"#af0000\",\n-\t \\ 125: \"#af005f\", 126: \"#af0087\", 127: \"#af00af\", 128: \"#af00d7\",\n-\t \\ 129: \"#af00ff\", 130: \"#af5f00\", 131: \"#af5f5f\", 132: \"#af5f87\",\n-\t \\ 133: \"#af5faf\", 134: \"#af5fd7\", 135: \"#af5fff\", 136: \"#af8700\",\n-\t \\ 137: \"#af875f\", 138: \"#af8787\", 139: \"#af87af\", 140: \"#af87d7\",\n-\t \\ 141: \"#af87ff\", 142: \"#afaf00\", 143: \"#afaf5f\", 144: \"#afaf87\",\n-\t \\ 145: \"#afafaf\", 146: \"#afafd7\", 147: \"#afafff\", 148: \"#afd700\",\n-\t \\ 149: \"#afd75f\", 150: \"#afd787\", 151: \"#afd7af\", 152: \"#afd7d7\",\n-\t \\ 153: \"#afd7ff\", 154: \"#afff00\", 155: \"#afff5f\", 156: \"#afff87\",\n-\t \\ 157: \"#afffaf\", 158: \"#afffd7\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 159: \"#afffff\", 160: \"#d70000\", 161: \"#d7005f\", 162: \"#d70087\",\n-\t \\ 163: \"#d700af\", 164: \"#d700d7\", 165: \"#d700ff\", 166: \"#d75f00\",\n-\t \\ 167: \"#d75f5f\", 168: \"#d75f87\", 169: \"#d75faf\", 170: \"#d75fd7\",\n-\t \\ 171: \"#d75fff\", 172: \"#d78700\", 173: \"#d7875f\", 174: \"#d78787\",\n-\t \\ 175: \"#d787af\", 176: \"#d787d7\", 177: \"#d787ff\", 178: \"#d7af00\",\n-\t \\ 179: \"#d7af5f\", 180: \"#d7af87\", 181: \"#d7afaf\", 182: \"#d7afd7\",\n-\t \\ 183: \"#d7afff\", 184: \"#d7d700\", 185: \"#d7d75f\", 186: \"#d7d787\",\n-\t \\ 187: \"#d7d7af\", 188: \"#d7d7d7\", 189: \"#d7d7ff\", 190: \"#d7ff00\",\n-\t \\ 191: \"#d7ff5f\", 192: \"#d7ff87\", 193: \"#d7ffaf\", 194: \"#d7ffd7\",\n-\t \\ 195: \"#d7ffff\", 196: \"#ff0000\", 197: \"#ff005f\", 198: \"#ff0087\",\n-\t \\ 199: \"#ff00af\", 200: \"#ff00d7\", 201: \"#ff00ff\", 202: \"#ff5f00\",\n-\t \\ 203: \"#ff5f5f\", 204: \"#ff5f87\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 205: \"#ff5faf\", 206: \"#ff5fd7\", 207: \"#ff5fff\", 208: \"#ff8700\",\n-\t \\ 209: \"#ff875f\", 210: \"#ff8787\", 211: \"#ff87af\", 212: \"#ff87d7\",\n-\t \\ 213: \"#ff87ff\", 214: \"#ffaf00\", 215: \"#ffaf5f\", 216: \"#ffaf87\",\n-\t \\ 217: \"#ffafaf\", 218: \"#ffafd7\", 219: \"#ffafff\", 220: \"#ffd700\",\n-\t \\ 221: \"#ffd75f\", 222: \"#ffd787\", 223: \"#ffd7af\", 224: \"#ffd7d7\",\n-\t \\ 225: \"#ffd7ff\", 226: \"#ffff00\", 227: \"#ffff5f\", 228: \"#ffff87\",\n-\t \\ 229: \"#ffffaf\", 230: \"#ffffd7\", 231: \"#ffffff\", 232: \"#080808\",\n-\t \\ 233: \"#121212\", 234: \"#1c1c1c\", 235: \"#262626\", 236: \"#303030\",\n-\t \\ 237: \"#3a3a3a\", 238: \"#444444\", 239: \"#4e4e4e\", 240: \"#585858\",\n-\t \\ 241: \"#626262\", 242: \"#6c6c6c\", 243: \"#767676\", 244: \"#808080\",\n-\t \\ 245: \"#8a8a8a\", 246: \"#949494\", 247: \"#9e9e9e\", 248: \"#a8a8a8\",\n-\t \\ 249: \"#b2b2b2\", 250: \"#bcbcbc\", 251: \"#c6c6c6\", 252: \"#d0d0d0\",\n-\t \\ 253: \"#dadada\", 254: \"#e4e4e4\", 255: \"#eeeeee\"\n-\t \\ })\n- endif\n- endif\n-endif\n-\n-\" Return good color specification: in GUI no transformation is done, in\n-\" terminal return RGB values of known colors and empty string for unknown\n-if s:whatterm == \"gui\"\n- function! s:HtmlColor(color)\n- return a:color\n- endfun\n-else\n- function! s:HtmlColor(color)\n- if has_key(s:cterm_color, a:color)\n- return s:cterm_color[a:color]\n- else\n- return \"\"\n- endif\n- endfun\n-endif\n-\n-\" Find out the background and foreground color for use later\n-let s:fgc = s:HtmlColor(synIDattr(hlID(\"Normal\")->synIDtrans(), \"fg#\", s:whatterm))\n-let s:bgc = s:HtmlColor(synIDattr(hlID(\"Normal\")->synIDtrans(), \"bg#\", s:whatterm))\n-if s:fgc == \"\"\n- let s:fgc = ( &background == \"dark\" ? \"#ffffff\" : \"#000000\" )\n-endif\n-if s:bgc == \"\"\n- let s:bgc = ( &background == \"dark\" ? \"#000000\" : \"#ffffff\" )\n-endif\n-\n-if !s:settings.use_css\n- \" Return opening HTML tag for given highlight id\n- function! s:HtmlOpening(id, extra_attrs)\n- let a = \"\"\n- let translated_ID = synIDtrans(a:id)\n- if synIDattr(translated_ID, \"inverse\")\n- \" For inverse, we always must set both colors (and exchange them)\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- let a = a .. ''\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- let a = a .. ''\n- else\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- if x != \"\"\n-\tlet a = a .. ''\n- elseif !empty(a:extra_attrs)\n-\tlet a = a .. ''\n- endif\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- if x != \"\" | let a = a .. '' | endif\n- endif\n- if synIDattr(translated_ID, \"bold\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"italic\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"underline\") | let a = a .. \"\" | endif\n- return a\n- endfun\n-\n- \" Return closing HTML tag for given highlight id\n- function! s:HtmlClosing(id, has_extra_attrs)\n- let a = \"\"\n- let translated_ID = synIDtrans(a:id)\n- if synIDattr(translated_ID, \"underline\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"italic\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"bold\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"inverse\")\n- let a = a .. ''\n- else\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- if x != \"\" | let a = a .. '' | endif\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- if x != \"\" || a:has_extra_attrs | let a = a .. '' | endif\n- endif\n- return a\n- endfun\n-endif\n-\n-\" Use a different function for formatting based on user options. This way we\n-\" can avoid a lot of logic during the actual execution.\n-\"\n-\" Build the function line by line containing only what is needed for the options\n-\" in use for maximum code sharing with minimal branch logic for greater speed.\n-\"\n-\" Note, 'exec' commands do not recognize line continuations, so must concatenate\n-\" lines rather than continue them.\n-if s:settings.use_css\n- \" save CSS to a list of rules to add to the output at the end of processing\n-\n- \" first, get the style names we need\n- let s:wrapperfunc_lines = []\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\tfunction! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, make_unselectable, unformatted)\n-\t\n-\t let l:style_name = synIDattr(a:style_id, \"name\", s:whatterm)\n- ENDLET\n- if &diff\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t let l:diff_style_name = synIDattr(a:diff_style_id, \"name\", s:whatterm)\n- ENDLET\n-\n- \" Add normal groups and diff groups to separate lists so we can order them to\n- \" allow diff highlight to override normal highlight\n-\n- \" if primary style IS a diff style, grab it from the diff cache instead\n- \" (always succeeds because we pre-populate it)\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\n-\t if a:style_id == s:DIFF_D_ID || a:style_id == s:DIFF_A_ID || a:style_id == s:DIFF_C_ID || a:style_id == s:DIFF_T_ID\n-\t let l:saved_style = get(s:diffstylelist,a:style_id)\n-\t else\n- ENDLET\n- endif\n-\n- \" get primary style info from cache or build it on the fly if not found\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t let l:saved_style = get(s:stylelist,a:style_id)\n-\t if type(l:saved_style) == type(0)\n-\t unlet l:saved_style\n-\t let l:saved_style = s:CSS1(a:style_id)\n-\t if l:saved_style != \"\"\n-\t let l:saved_style = \".\" .. l:style_name .. \" { \" .. l:saved_style .. \"}\"\n-\t endif\n-\t let s:stylelist[a:style_id] = l:saved_style\n-\t endif\n- ENDLET\n- if &diff\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t endif\n- ENDLET\n- endif\n-\" Ignore this comment, just bypassing a highlighting issue: if\n-\n- \" Build the wrapper tags around the text. It turns out that caching these\n- \" gives pretty much zero performance gain and adds a lot of logic.\n-\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\n-\t if l:saved_style == \"\" && empty(a:extra_attrs)\n- ENDLET\n- if &diff\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t if a:diff_style_id <= 0\n- ENDLET\n- endif\n- \" no surroundings if neither primary nor diff style has any info\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t return a:text\n- ENDLET\n- if &diff\n- \" no primary style, but diff style\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t else\n-\t return ''..a:text..\"\"\n-\t endif\n- ENDLET\n- endif\n- \" Ignore this comment, just bypassing a highlighting issue: if\n-\n- \" open tag for non-empty primary style\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t else\n- ENDLET\n- \" non-empty primary style. handle either empty or non-empty diff style.\n- \"\n- \" separate the two classes by a space to apply them both if there is a diff\n- \" style name, unless the primary style is empty, then just use the diff style\n- \" name\n- let s:diffstyle =\n-\t \\ (&diff ? '(a:diff_style_id <= 0 ? \"\" : \" \" .. l:diff_style_name)..'\n-\t \\ : '')\n- if s:settings.prevent_copy == \"\"\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim eval ENDLET\n-\t return \"'..a:text..\"\"\n- ENDLET\n- else\n-\n- \" New method: use generated content in the CSS. The only thing needed here\n- \" is a span with no content, with an attribute holding the desired text.\n- \"\n- \" Old method: use an element when text is unsectable. This is still\n- \" used in conditional comments for Internet Explorer, where the new method\n- \" doesn't work.\n- \"\n- \" Wrap the in a to allow fixing the stupid bug in some fonts\n- \" which cause browsers to display a 1px gap between lines when these\n- \" s have a background color (maybe not really a bug, this isn't\n- \" well-defined)\n- \"\n- \" use strwidth, because we care only about how many character boxes are\n- \" needed to size the input, we don't care how many characters (including\n- \" separately counted composing chars, from strchars()) or bytes (from\n- \" len())the string contains. strdisplaywidth() is not needed because none of\n- \" the unselectable groups can contain tab characters (fold column, fold\n- \" text, line number).\n- \"\n- \" Note, if maxlength property needs to be added in the future, it will need\n- \" to use strchars(), because HTML specifies that the maxlength parameter\n- \" uses the number of unique codepoints for its limit.\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim eval ENDLET\n-\t if a:make_unselectable\n-\t let return_span = \"' : '>')\n- ENDLET\n- endif\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim eval ENDLET\n-\t return return_span..''\n-\t else\n-\t return \"'..a:text..\"\"\n-\t endif\n- ENDLET\n- endif\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t endif\n-\tendfun\n- ENDLET\n-else\n- \" Non-CSS method just needs the wrapper.\n- \"\n- \" Functions used to get opening/closing automatically return null strings if\n- \" no styles exist.\n- if &diff\n- let s:wrapperfunc_lines =<< trim ENDLET\n-\tfunction! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, unusedarg, unusedarg2)\n-\t if a:diff_style_id <= 0\n-\t let l:diff_opening = s:HtmlOpening(a:diff_style_id, \"\")\n-\t let l:diff_closing = s:HtmlClosing(a:diff_style_id, 0)\n-\t else\n-\t let l:diff_opening = \"\"\n-\t let l:diff_closing = \"\"\n-\t endif\n-\t return s:HtmlOpening(a:style_id, a:extra_attrs)..l:diff_opening..a:text..l:diff_closing..s:HtmlClosing(a:style_id, !empty(a:extra_attrs))\n-\tendfun\n- ENDLET\n- else\n- let s:wrapperfunc_lines =<< trim ENDLET\n-\tfunction! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, unusedarg, unusedarg2)\n-\t return s:HtmlOpening(a:style_id, a:extra_attrs)..a:text..s:HtmlClosing(a:style_id, !empty(a:extra_attrs))\n-\tendfun\n- ENDLET\n- endif\n-endif\n-\n-\" create the function we built line by line above\n-exec join(flatten(s:wrapperfunc_lines), \"\\n\")\n-\n-let s:diff_mode = &diff\n-\n-\" Return HTML valid characters enclosed in a span of class style_name with\n-\" unprintable characters expanded and double spaces replaced as necessary.\n-\"\n-\" TODO: eliminate unneeded logic like done for BuildStyleWrapper\n-function! s:HtmlFormat(text, style_id, diff_style_id, extra_attrs, make_unselectable)\n- \" Replace unprintable characters\n- let unformatted = strtrans(a:text)\n-\n- let formatted = unformatted\n-\n- \" Replace the reserved html characters\n- let formatted = substitute(formatted, '&', '\\&', 'g')\n- let formatted = substitute(formatted, '<', '\\<', 'g')\n- let formatted = substitute(formatted, '>', '\\>', 'g')\n- let formatted = substitute(formatted, '\"', '\\"', 'g')\n- \" ' is not valid in HTML but it is in XHTML, so just use the numeric\n- \" reference for it instead. Needed because it could appear in quotes\n- \" especially if unselectable regions is turned on.\n- let formatted = substitute(formatted, '\"', '\\'', 'g')\n-\n- \" Replace a \"form feed\" character with HTML to do a page break\n- \" TODO: need to prevent this in unselectable areas? Probably it should never\n- \" BE in an unselectable area...\n- let formatted = substitute(formatted, \"\\x0c\", '
', 'g')\n-\n- \" Replace double spaces, leading spaces, and trailing spaces if needed\n- if ' ' != s:HtmlSpace\n- let formatted = substitute(formatted, ' ', s:HtmlSpace .. s:HtmlSpace, 'g')\n- let formatted = substitute(formatted, '^ ', s:HtmlSpace, 'g')\n- let formatted = substitute(formatted, ' \\+$', s:HtmlSpace, 'g')\n- endif\n-\n- \" Enclose in the correct format\n- return s:BuildStyleWrapper(a:style_id, a:diff_style_id, a:extra_attrs, formatted, a:make_unselectable, unformatted)\n-endfun\n-\n-\" set up functions to call HtmlFormat in certain ways based on whether the\n-\" element is supposed to be unselectable or not\n-if s:settings.prevent_copy =~# 'n'\n- if s:settings.number_lines\n- if s:settings.line_ids\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n-\tif a:lnr > 0\n-\t return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id=\"'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : \"\")..'L'..a:lnr..s:settings.id_suffix..'\" ', 1)\n-\telse\n-\t return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n-\tendif\n- endfun\n- else\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n-\treturn s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n- endfun\n- endif\n- elseif s:settings.line_ids\n- \" if lines are not being numbered the only reason this function gets called\n- \" is to put the line IDs on each line; \"text\" will be empty but lnr will\n- \" always be non-zero, however we don't want to use the because that\n- \" won't work as nice for empty text\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id=\"'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : \"\")..'L'..a:lnr..s:settings.id_suffix..'\" ', 0)\n- endfun\n- endif\n-else\n- if s:settings.line_ids\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n- if a:lnr > 0\n-\treturn s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id=\"'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : \"\")..'L'..a:lnr..s:settings.id_suffix..'\" ', 0)\n- else\n-\treturn s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endif\n- endfun\n- else\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endfun\n- endif\n-endif\n-if s:settings.prevent_copy =~# 'd'\n- function! s:HtmlFormat_d(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n- endfun\n-else\n- function! s:HtmlFormat_d(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endfun\n-endif\n-if s:settings.prevent_copy =~# 'f'\n- if s:settings.use_input_for_pc ==# 'none'\n- \" Simply space-pad to the desired width inside the generated content (note\n- \" that the FoldColumn definition includes a whitespace:pre rule)\n- function! s:FoldColumn_build(char, len, numfill, char2, class, click)\n- return \"\"\n- endfun\n- function! s:FoldColumn_fill()\n- return s:HtmlFormat(repeat(' ', s:foldcolumn), s:FOLD_C_ID, 0, \"\", 1)\n- endfun\n- else\n- \" Note the elements for fill spaces will have a single space for\n- \" content, to allow active cursor CSS selection to work.\n- \"\n- \" Wrap the whole thing in a span for the 1px padding workaround for gaps.\n- \"\n- \" Build the function line by line containing only what is needed for the\n- \" options in use for maximum code sharing with minimal branch logic for\n- \" greater speed.\n- \"\n- \" Note, 'exec' commands do not recognize line continuations, so must\n- \" concatenate lines rather than continue them.\n- let s:build_fun_lines = []\n- call add(s:build_fun_lines, [])\n- let s:build_fun_lines[-1] =<< trim ENDLET\n-\t function! s:FoldColumn_build(char, len, numfill, char2, class, click)\n-\t let l:input_open = \"\" : \"'>\")\n-\t let l:return_span = \"\"\n-\t let l:return_span ..= l:input_open..l:common_attrs..repeat(a:char, a:len)..(a:char2)\n-\t let l:return_span ..= l:input_close\n- ENDLET\n- if s:settings.use_input_for_pc ==# 'fallback'\n- call add(s:build_fun_lines, [])\n- let s:build_fun_lines[-1] =<< trim ENDLET\n-\t let l:return_span ..= \"\"\n- ENDLET\n- endif\n- call add(s:build_fun_lines, [])\n- let s:build_fun_lines[-1] =<< trim ENDLET\n-\t let l:return_span ..= \"\"\n-\t return l:return_span\n-\t endfun\n- ENDLET\n- \" create the function we built line by line above\n- exec join(flatten(s:build_fun_lines), \"\\n\")\n-\n- function! s:FoldColumn_fill()\n- return s:FoldColumn_build(' ', s:foldcolumn, 0, '', 'FoldColumn', '')\n- endfun\n- endif\n-else\n- \" For normal fold columns, simply space-pad to the desired width (note that\n- \" the FoldColumn definition includes a whitespace:pre rule)\n- function! s:FoldColumn_build(char, len, numfill, char2, class, click)\n- return \"\".\n-\t \\ repeat(a:char, a:len)..a:char2..repeat(' ', a:numfill).\n-\t \\ \"\"\n- endfun\n- function! s:FoldColumn_fill()\n- return s:HtmlFormat(repeat(' ', s:foldcolumn), s:FOLD_C_ID, 0, \"\", 0)\n- endfun\n-endif\n-if s:settings.prevent_copy =~# 't'\n- \" put an extra empty span at the end for dynamic folds, so the linebreak can\n- \" be surrounded. Otherwise do it as normal.\n- \"\n- \" TODO: isn't there a better way to do this, than placing it here and using a\n- \" substitute later?\n- if s:settings.dynamic_folds\n- function! s:HtmlFormat_t(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1) .\n-\t \\ s:HtmlFormat(\"\", a:style_id, 0, \"\", 0)\n- endfun\n- else\n- function! s:HtmlFormat_t(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n- endfun\n- endif\n-else\n- function! s:HtmlFormat_t(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endfun\n-endif\n-\n-\" Return CSS style describing given highlight id (can be empty)\n-function! s:CSS1(id)\n- let a = \"\"\n- let translated_ID = synIDtrans(a:id)\n- if synIDattr(translated_ID, \"inverse\")\n- \" For inverse, we always must set both colors (and exchange them)\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- let a = a .. \"color: \" .. ( x != \"\" ? x : s:bgc ) .. \"; \"\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- let a = a .. \"background-color: \" .. ( x != \"\" ? x : s:fgc ) .. \"; \"\n- else\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- if x != \"\" | let a = a .. \"color: \" .. x .. \"; \" | endif\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- if x != \"\"\n- let a = a .. \"background-color: \" .. x .. \"; \"\n- \" stupid hack because almost every browser seems to have at least one font\n- \" which shows 1px gaps between lines which have background\n- let a = a .. \"padding-bottom: 1px; \"\n- elseif (translated_ID == s:FOLDED_ID || translated_ID == s:LINENR_ID || translated_ID == s:FOLD_C_ID) && !empty(s:settings.prevent_copy)\n- \" input elements default to a different color than the rest of the page\n- let a = a .. \"background-color: \" .. s:bgc .. \"; \"\n- endif\n- endif\n- if synIDattr(translated_ID, \"bold\") | let a = a .. \"font-weight: bold; \" | endif\n- if synIDattr(translated_ID, \"italic\") | let a = a .. \"font-style: italic; \" | endif\n- if synIDattr(translated_ID, \"underline\") | let a = a .. \"text-decoration: underline; \" | endif\n- return a\n-endfun\n-\n-if s:settings.dynamic_folds\n- \" compares two folds as stored in our list of folds\n- \" A fold is \"less\" than another if it starts at an earlier line number,\n- \" or ends at a later line number, ties broken by fold level\n- function! s:FoldCompare(f1, f2)\n- if a:f1.firstline != a:f2.firstline\n- \" put it before if it starts earlier\n- return a:f1.firstline - a:f2.firstline\n- elseif a:f1.lastline != a:f2.lastline\n- \" put it before if it ends later\n- return a:f2.lastline - a:f1.lastline\n- else\n- \" if folds begin and end on the same lines, put lowest fold level first\n- return a:f1.level - a:f2.level\n- endif\n- endfunction\n-\n-endif\n-\n-\n-\" Set some options to make it work faster.\n-\" Don't report changes for :substitute, there will be many of them.\n-\" Don't change other windows; turn off scroll bind temporarily\n-let s:old_title = &title\n-let s:old_icon = &icon\n-let s:old_et = &l:et\n-let s:old_bind = &l:scrollbind\n-let s:old_report = &report\n-let s:old_search = @/\n-let s:old_more = &more\n-set notitle noicon\n-setlocal et\n-set nomore\n-set report=1000000\n-setlocal noscrollbind\n-\n-if exists(':ownsyntax') && exists('w:current_syntax')\n- let s:current_syntax = w:current_syntax\n-elseif exists('b:current_syntax')\n- let s:current_syntax = b:current_syntax\n-else\n- let s:current_syntax = 'none'\n-endif\n-\n-if s:current_syntax == ''\n- let s:current_syntax = 'none'\n-endif\n-\n-\" If the user is sourcing this script directly then the plugin version isn't\n-\" known because the main plugin script didn't load. In the usual case where the\n-\" user still has the full Vim runtime installed, or has this full plugin\n-\" installed in a package or something, then we can extract the version from the\n-\" main plugin file at it's usual spot relative to this file. Otherwise the user\n-\" is assembling their runtime piecemeal and we have no idea what versions of\n-\" other files may be present so don't even try to make a guess or assume the\n-\" presence of other specific files with specific meaning.\n-\"\n-\" We don't want to actually source the main plugin file here because the user\n-\" may have a good reason not to (e.g. they define their own TOhtml command or\n-\" something).\n-\"\n-\" If this seems way too complicated and convoluted, it is. Probably I should\n-\" have put the version information in the autoload file from the start. But the\n-\" version has been in the global variable for so long that changing it could\n-\" break a lot of user scripts.\n-if exists(\"g:loaded_2html_plugin\")\n- let s:pluginversion = g:loaded_2html_plugin\n-else\n- if !exists(\"g:unloaded_tohtml_plugin\")\n- let s:main_plugin_path = expand(\":p:h:h\")..\"/plugin/tohtml.vim\"\n- if filereadable(s:main_plugin_path)\n- let s:lines = readfile(s:main_plugin_path, \"\", 20)\n- call filter(s:lines, 'v:val =~ \"loaded_2html_plugin = \"')\n- if empty(s:lines)\n-\tlet g:unloaded_tohtml_plugin = \"unknown\"\n- else\n-\tlet g:unloaded_tohtml_plugin = substitute(s:lines[0], '.*loaded_2html_plugin = \\([''\"]\\)\\(\\%(\\1\\@!.\\)\\+\\)\\1', '\\2', '')\n- endif\n- unlet s:lines\n- else\n- let g:unloaded_tohtml_plugin = \"unknown\"\n- endif\n- unlet s:main_plugin_path\n- endif\n- let s:pluginversion = g:unloaded_tohtml_plugin\n-endif\n-\n-\" Split window to create a buffer with the HTML file.\n-let s:orgbufnr = winbufnr(0)\n-let s:origwin_stl = &l:stl\n-if expand(\"%\") == \"\"\n- if exists('g:html_diff_win_num')\n- exec 'new Untitled_win'..g:html_diff_win_num..'.'.(s:settings.use_xhtml ? 'xhtml' : 'html')\n- else\n- exec 'new Untitled.'..(s:settings.use_xhtml ? 'xhtml' : 'html')\n- endif\n-else\n- exec 'new %.'..(s:settings.use_xhtml ? 'xhtml' : 'html')\n-endif\n-\n-\" Resize the new window to very small in order to make it draw faster\n-let s:old_winheight = winheight(0)\n-let s:old_winfixheight = &l:winfixheight\n-if s:old_winheight > 2\n- resize 1 \" leave enough room to view one line at a time\n- norm! G\n- norm! zt\n-endif\n-setlocal winfixheight\n-\n-let s:newwin_stl = &l:stl\n-\n-\" on the new window, set the least time-consuming fold method\n-let s:old_fen = &foldenable\n-setlocal foldmethod=manual\n-setlocal nofoldenable\n-\n-let s:newwin = winnr()\n-let s:orgwin = bufwinnr(s:orgbufnr)\n-\n-setlocal modifiable\n-%d\n-let s:old_paste = &paste\n-set paste\n-let s:old_magic = &magic\n-set magic\n-\n-\" set the fileencoding to match the charset we'll be using\n-let &l:fileencoding=s:settings.vim_encoding\n-\n-\" According to http://www.w3.org/TR/html4/charset.html#doc-char-set, the byte\n-\" order mark is highly recommend on the web when using multibyte encodings. But,\n-\" it is not a good idea to include it on UTF-8 files. Otherwise, let Vim\n-\" determine when it is actually inserted.\n-if s:settings.vim_encoding == 'utf-8'\n- setlocal nobomb\n-else\n- setlocal bomb\n-endif\n-\n-let s:lines = []\n-\n-if s:settings.use_xhtml\n- if s:settings.encoding != \"\"\n- call add(s:lines, \"\")\n- else\n- call add(s:lines, \"\")\n- endif\n- let s:tag_close = ' />'\n-else\n- let s:tag_close = '>'\n-endif\n-\n-let s:HtmlSpace = ' '\n-let s:LeadingSpace = ' '\n-let s:HtmlEndline = ''\n-if s:settings.no_pre\n- let s:HtmlEndline = '\",\n-\t\\ \"\"])\n- \" include encoding as close to the top as possible, but only if not already\n- \" contained in XML information (to avoid haggling over content type)\n- if s:settings.encoding != \"\" && !s:settings.use_xhtml\n- if s:html5\n- call add(s:lines, '\"..expand(\"%:p:~\")..\"\"),\n-\t\\ (\"\",\n-\t \\ s:settings.use_xhtml ? \"\" : \"\",\n-\t \\]\n- else\n-\t\" if we aren't doing hover_unfold, use CSS 1 only\n-\tcall extend(s:lines, [\n-\t \\ \".FoldColumn { text-decoration: none; white-space: pre; }\",\n-\t \\ \".open-fold .fulltext { display: inline; }\",\n-\t \\ \".open-fold span.Folded { display: none; }\",\n-\t \\ \".open-fold .toggle-open { display: none; }\",\n-\t \\ \".open-fold .toggle-closed { display: inline; }\",\n-\t \\ \"\",\n-\t \\ \".closed-fold .fulltext { display: none; }\",\n-\t \\ \".closed-fold span.Folded { display: inline; }\",\n-\t \\ \".closed-fold .toggle-open { display: inline; }\",\n-\t \\ \".closed-fold .toggle-closed { display: none; }\",\n-\t \\])\n- endif\n- endif\n- \" else we aren't doing any dynamic folding, no need for any special rules\n-\n- call extend(s:lines, [\n-\t \\ s:settings.use_xhtml ? \"\" : '-->',\n-\t \\ \"\",\n-\t \\])\n- call extend(s:lines, s:ieonly)\n- unlet s:ieonly\n- endif\n-\n- let s:uses_script = s:settings.dynamic_folds || s:settings.line_ids\n-\n- \" insert script tag if needed\n- if s:uses_script\n- call extend(s:lines, [\n-\t \\ \"\",\n-\t \\ \"\",\n-\t \\ s:settings.use_xhtml ? '//' : '-->',\n-\t \\ \"\"\n-\t \\ ])\n- endif\n-\n- call extend(s:lines, [\"\",\n-\t\\ \"\"])\n-endif\n-\n-if s:settings.no_pre\n- \" if we're not using CSS we use a font tag which can't have a div inside\n- if s:settings.use_css\n- call extend(s:lines, [\"
\"])\n- endif\n-else\n- call extend(s:lines, [\"
\"])\n-endif\n-\n-exe s:orgwin .. \"wincmd w\"\n-\n-\" caches of style data\n-\" initialize to include line numbers if using them\n-if s:settings.number_lines\n-  let s:stylelist = { s:LINENR_ID : \".LineNr { \" .. s:CSS1( s:LINENR_ID ) .. \"}\" }\n-else\n-  let s:stylelist = {}\n-endif\n-let s:diffstylelist = {\n-      \\   s:DIFF_A_ID : \".DiffAdd { \" .. s:CSS1( s:DIFF_A_ID ) .. \"}\",\n-      \\   s:DIFF_C_ID : \".DiffChange { \" .. s:CSS1( s:DIFF_C_ID ) .. \"}\",\n-      \\   s:DIFF_D_ID : \".DiffDelete { \" .. s:CSS1( s:DIFF_D_ID ) .. \"}\",\n-      \\   s:DIFF_T_ID : \".DiffText { \" .. s:CSS1( s:DIFF_T_ID ) .. \"}\"\n-      \\ }\n-\n-\" set up progress bar in the status line\n-if !s:settings.no_progress\n-  \" ProgressBar Indicator\n-  let s:progressbar={}\n-\n-  \" Progressbar specific functions\n-\n-  func! s:SetProgbarColor()\n-    if hlID(\"TOhtmlProgress\") != 0\n-      hi! link TOhtmlProgress_auto TOhtmlProgress\n-    elseif hlID(\"TOhtmlProgress_auto\")==0 ||\n-       \\ !exists(\"s:last_colors_name\") || !exists(\"g:colors_name\") ||\n-       \\ g:colors_name != s:last_colors_name\n-      let s:last_colors_name = exists(\"g:colors_name\") ? g:colors_name : \"none\"\n-\n-      let l:diffatr = synIDattr(hlID(\"DiffDelete\")->synIDtrans(), \"reverse\", s:whatterm) ? \"fg#\" : \"bg#\"\n-      let l:stlatr = synIDattr(hlID(\"StatusLine\")->synIDtrans(), \"reverse\", s:whatterm) ? \"fg#\" : \"bg#\"\n-\n-      let l:progbar_color = synIDattr(hlID(\"DiffDelete\")->synIDtrans(), l:diffatr, s:whatterm)\n-      let l:stl_color = synIDattr(hlID(\"StatusLine\")->synIDtrans(), l:stlatr, s:whatterm)\n-\n-      if \"\" == l:progbar_color\n-\tlet l:progbar_color = synIDattr(hlID(\"DiffDelete\")->synIDtrans(), \"reverse\", s:whatterm) ? s:fgc : s:bgc\n-      endif\n-      if \"\" == l:stl_color\n-\tlet l:stl_color = synIDattr(hlID(\"StatusLine\")->synIDtrans(), \"reverse\", s:whatterm) ? s:fgc : s:bgc\n-      endif\n-\n-      if l:progbar_color == l:stl_color\n-\tif s:whatterm == 'cterm'\n-\t  if l:progbar_color >= (&t_Co/2)\n-\t    let l:progbar_color-=1\n-\t  else\n-\t    let l:progbar_color+=1\n-\t  endif\n-\telse\n-\t  let l:rgb = map(matchlist(l:progbar_color, '#\\zs\\x\\x\\ze\\(\\x\\x\\)\\(\\x\\x\\)')[:2], 'str2nr(v:val, 16)')\n-\t  let l:avg = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3\n-\t  if l:avg >= 128\n-\t    let l:avg_new = l:avg\n-\t    while l:avg - l:avg_new < 0x15\n-\t      let l:rgb = map(l:rgb, 'v:val * 3 / 4')\n-\t      let l:avg_new = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3\n-\t    endwhile\n-\t  else\n-\t    let l:avg_new = l:avg\n-\t    while l:avg_new - l:avg < 0x15\n-\t      let l:rgb = map(l:rgb, 'min([max([v:val, 4]) * 5 / 4, 255])')\n-\t      let l:avg_new = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3\n-\t    endwhile\n-\t  endif\n-\t  let l:progbar_color = printf(\"#%02x%02x%02x\", l:rgb[0], l:rgb[1], l:rgb[2])\n-\tendif\n-\techomsg \"diff detected progbar color set to\" l:progbar_color\n-      endif\n-      exe \"hi TOhtmlProgress_auto\" s:whatterm..\"bg=\"..l:progbar_color\n-    endif\n-  endfun\n-\n-  func! s:ProgressBar(title, max_value, winnr)\n-    let pgb=copy(s:progressbar)\n-    let pgb.title = a:title..' '\n-    let pgb.max_value = a:max_value\n-    let pgb.winnr = a:winnr\n-    let pgb.cur_value = 0\n-\n-    let pgb.items = { 'title'   : { 'color' : 'Statusline' },\n-\t  \\'bar'     : { 'color' : 'Statusline' , 'fillcolor' : 'TOhtmlProgress_auto' , 'bg' : 'Statusline' } ,\n-\t  \\'counter' : { 'color' : 'Statusline' } }\n-    let pgb.last_value = 0\n-    let pgb.needs_redraw = 0\n-    \" Note that you must use len(split) instead of len() if you want to use \n-    \" unicode in title.\n-    \"\n-    \" Subtract 3 for spacing around the title.\n-    \" Subtract 4 for the percentage display.\n-    \" Subtract 2 for spacing before this.\n-    \" Subtract 2 more for the '|' on either side of the progress bar\n-    let pgb.subtractedlen=len(split(pgb.title, '\\zs'))+3+4+2+2\n-    let pgb.max_len = 0\n-    set laststatus=2\n-    return pgb\n-  endfun\n-\n-  \" Function: progressbar.calculate_ticks() {{{1\n-  func! s:progressbar.calculate_ticks(pb_len)\n-    if a:pb_len<=0\n-      let pb_len = 100\n-    else\n-      let pb_len = a:pb_len\n-    endif\n-    let self.progress_ticks = map(range(pb_len+1), \"v:val * self.max_value / pb_len\")\n-  endfun\n-\n-  \"Function: progressbar.paint()\n-  func! s:progressbar.paint()\n-    \" Recalculate widths.\n-    let max_len = winwidth(self.winnr)\n-    let pb_len = 0\n-    \" always true on first call because of initial value of self.max_len\n-    if max_len != self.max_len\n-      let self.max_len = max_len\n-\n-      \" Progressbar length\n-      let pb_len = max_len - self.subtractedlen\n-\n-      call self.calculate_ticks(pb_len)\n-\n-      let self.needs_redraw = 1\n-      let cur_value = 0\n-      let self.pb_len = pb_len\n-    else\n-      \" start searching at the last found index to make the search for the\n-      \" appropriate tick value normally take 0 or 1 comparisons\n-      let cur_value = self.last_value\n-      let pb_len = self.pb_len\n-    endif\n-\n-    let cur_val_max = pb_len > 0 ? pb_len : 100\n-\n-    \" find the current progress bar position based on precalculated thresholds\n-    while cur_value < cur_val_max && self.cur_value > self.progress_ticks[cur_value]\n-      let cur_value += 1\n-    endwhile\n-\n-    \" update progress bar\n-    if self.last_value != cur_value || self.needs_redraw || self.cur_value == self.max_value\n-      let self.needs_redraw = 1\n-      let self.last_value = cur_value\n-\n-      let t_color  = self.items.title.color\n-      let b_fcolor = self.items.bar.fillcolor\n-      let b_color  = self.items.bar.color\n-      let c_color  = self.items.counter.color\n-\n-      let stl =  \"%#\".t_color.\"#%-( \".self.title.\" %)\".\n-\t    \\\"%#\".b_color.\"#\".\n-\t    \\(pb_len>0 ?\n-\t    \\\t('|%#'.b_fcolor.\"#%-(\".repeat(\" \",cur_value).\"%)\".\n-\t    \\\t '%#'.b_color.\"#\".repeat(\" \",pb_len-cur_value).\"|\"):\n-\t    \\\t('')).\n-\t    \\\"%=%#\".c_color.\"#%( \".printf(\"%3.d \",100*self.cur_value/self.max_value).\"%% %)\"\n-      call setwinvar(self.winnr, '&stl', stl)\n-    endif\n-  endfun\n-\n-  func! s:progressbar.incr( ... )\n-    let self.cur_value += (a:0 ? a:1 : 1)\n-    \" if we were making a general-purpose progress bar, we'd need to limit to a\n-    \" lower limit as well, but since we always increment with a positive value\n-    \" in this script, we only need limit the upper value\n-    let self.cur_value = (self.cur_value > self.max_value ? self.max_value : self.cur_value)\n-    call self.paint()\n-  endfun\n-  \" }}}\n-  if s:settings.dynamic_folds\n-    \" to process folds we make two passes through each line\n-    let s:pgb = s:ProgressBar(\"Processing folds:\", line('$')*2, s:orgwin)\n-  endif\n-\n-  call s:SetProgbarColor()\n-endif\n-\n-let s:build_fun_lines = []\n-call add(s:build_fun_lines, [])\n-let s:build_fun_lines[-1] =<< trim ENDLET\n-    func! s:Add_diff_fill(lnum)\n-      let l:filler = diff_filler(a:lnum)\n-      if l:filler > 0\n-\tlet l:to_insert = l:filler\n-\twhile l:to_insert > 0\n-\t  let l:new = repeat(s:difffillchar, 3)\n-\n-\t  if l:to_insert > 2 && l:to_insert < l:filler && !s:settings.whole_filler\n-\t    let l:new = l:new .. \" \" .. l:filler .. \" inserted lines \"\n-\t    let l:to_insert = 2\n-\t  endif\n-ENDLET\n-call add(s:build_fun_lines, [])\n-if !s:settings.no_pre\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  \" HTML line wrapping is off--go ahead and fill to the margin\n-\t  \" TODO: what about when CSS wrapping is turned on?\n-\t  let l:new = l:new .. repeat(s:difffillchar, &columns - strlen(l:new) - s:margin)\n-  ENDLET\n-else\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  let l:new = l:new .. repeat(s:difffillchar, 3)\n-  ENDLET\n-endif\n-call add(s:build_fun_lines, [])\n-let s:build_fun_lines[-1] =<< trim ENDLET\n-\tlet l:new = s:HtmlFormat_d(l:new, s:DIFF_D_ID, 0)\n-ENDLET\n-if s:settings.number_lines\n-  call add(s:build_fun_lines, [])\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  \" Indent if line numbering is on. Indent gets style of line number\n-\t  \" column.\n-\t  let l:new = s:HtmlFormat_n(repeat(' ', s:margin), s:LINENR_ID, 0, 0) .. l:new\n-  ENDLET\n-endif\n-if s:settings.dynamic_folds && !s:settings.no_foldcolumn \n-  call add(s:build_fun_lines, [])\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  if s:foldcolumn > 0\n-\t    \" Indent for foldcolumn if there is one. Assume it's empty, there should\n-\t    \" not be a fold for deleted lines in diff mode.\n-\t    let l:new = s:FoldColumn_fill() .. l:new\n-\t  endif\n-  ENDLET\n-endif\n-\" Ignore this comment, just bypassing a highlighting issue: if\n-call add(s:build_fun_lines, [])\n-let s:build_fun_lines[-1] =<< trim ENDLET\n-\tcall add(s:lines, l:new..s:HtmlEndline)\n-\tlet l:to_insert = l:to_insert - 1\n-      endwhile\n-    endif\n-  endfun\n-ENDLET\n-exec join(flatten(s:build_fun_lines), \"\\n\")\n-\n-\" First do some preprocessing for dynamic folding. Do this for the entire file\n-\" so we don't accidentally start within a closed fold or something.\n-let s:allfolds = []\n-\n-if s:settings.dynamic_folds\n-  let s:lnum = 1\n-  let s:end = line('$')\n-  \" save the fold text and set it to the default so we can find fold levels\n-  let s:foldtext_save = &foldtext\n-  setlocal foldtext&\n-\n-  \" we will set the foldcolumn in the html to the greater of the maximum fold\n-  \" level and the current foldcolumn setting\n-  let s:foldcolumn = &foldcolumn\n-\n-  \" get all info needed to describe currently closed folds\n-  while s:lnum <= s:end\n-    if foldclosed(s:lnum) == s:lnum\n-      \" default fold text has '+-' and then a number of dashes equal to fold\n-      \" level, so subtract 2 from index of first non-dash after the dashes\n-      \" in order to get the fold level of the current fold\n-      let s:level = match(foldtextresult(s:lnum), '+-*\\zs[^-]') - 2\n-      \" store fold info for later use\n-      let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': \"closed-fold\"}\n-      call add(s:allfolds, s:newfold)\n-      \" open the fold so we can find any contained folds\n-      execute s:lnum..\"foldopen\"\n-    else\n-      if !s:settings.no_progress\n-\tcall s:pgb.incr()\n-\tif s:pgb.needs_redraw\n-\t  redrawstatus\n-\t  let s:pgb.needs_redraw = 0\n-\tendif\n-      endif\n-      let s:lnum = s:lnum + 1\n-    endif\n-  endwhile\n-\n-  \" close all folds to get info for originally open folds\n-  silent! %foldclose!\n-  let s:lnum = 1\n-\n-  \" the originally open folds will be all folds we encounter that aren't\n-  \" already in the list of closed folds\n-  while s:lnum <= s:end\n-    if foldclosed(s:lnum) == s:lnum\n-      \" default fold text has '+-' and then a number of dashes equal to fold\n-      \" level, so subtract 2 from index of first non-dash after the dashes\n-      \" in order to get the fold level of the current fold\n-      let s:level = match(foldtextresult(s:lnum), '+-*\\zs[^-]') - 2\n-      let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': \"closed-fold\"}\n-      \" only add the fold if we don't already have it\n-      if empty(s:allfolds) || index(s:allfolds, s:newfold) == -1\n-\tlet s:newfold.type = \"open-fold\"\n-\tcall add(s:allfolds, s:newfold)\n-      endif\n-      \" open the fold so we can find any contained folds\n-      execute s:lnum..\"foldopen\"\n-    else\n-      if !s:settings.no_progress\n-\tcall s:pgb.incr()\n-\tif s:pgb.needs_redraw\n-\t  redrawstatus\n-\t  let s:pgb.needs_redraw = 0\n-\tendif\n-      endif\n-      let s:lnum = s:lnum + 1\n-    endif\n-  endwhile\n-\n-  \" sort the folds so that we only ever need to look at the first item in the\n-  \" list of folds\n-  call sort(s:allfolds, \"s:FoldCompare\")\n-\n-  let &l:foldtext = s:foldtext_save\n-  unlet s:foldtext_save\n-\n-  \" close all folds again so we can get the fold text as we go\n-  silent! %foldclose!\n-\n-  \" Go through and remove folds we don't need to (or cannot) process in the\n-  \" current conversion range\n-  \"\n-  \" If a fold is removed which contains other folds, which are included, we need\n-  \" to adjust the level of the included folds as used by the conversion logic\n-  \" (avoiding special cases is good)\n-  \"\n-  \" Note any time we remove a fold, either all of the included folds are in it,\n-  \" or none of them, because we only remove a fold if neither its start nor its\n-  \" end are within the conversion range.\n-  let leveladjust = 0\n-  for afold in s:allfolds\n-    let removed = 0\n-    if exists(\"g:html_start_line\") && exists(\"g:html_end_line\")\n-      if afold.firstline < g:html_start_line\n-\tif afold.lastline <= g:html_end_line && afold.lastline >= g:html_start_line\n-\t  \" if a fold starts before the range to convert but stops within the\n-\t  \" range, we need to include it. Make it start on the first converted\n-\t  \" line.\n-\t  let afold.firstline = g:html_start_line\n-\telse\n-\t  \" if the fold lies outside the range or the start and stop enclose\n-\t  \" the entire range, don't bother parsing it\n-\t  call remove(s:allfolds, index(s:allfolds, afold))\n-\t  let removed = 1\n-\t  if afold.lastline > g:html_end_line\n-\t    let leveladjust += 1\n-\t  endif\n-\tendif\n-      elseif afold.firstline > g:html_end_line\n-\t\" If the entire fold lies outside the range we need to remove it.\n-\tcall remove(s:allfolds, index(s:allfolds, afold))\n-\tlet removed = 1\n-      endif\n-    elseif exists(\"g:html_start_line\")\n-      if afold.firstline < g:html_start_line\n-\t\" if there is no last line, but there is a first line, the end of the\n-\t\" fold will always lie within the region of interest, so keep it\n-\tlet afold.firstline = g:html_start_line\n-      endif\n-    elseif exists(\"g:html_end_line\")\n-      \" if there is no first line we default to the first line in the buffer so\n-      \" the fold start will always be included if the fold itself is included.\n-      \" If however the entire fold lies outside the range we need to remove it.\n-      if afold.firstline > g:html_end_line\n-\tcall remove(s:allfolds, index(s:allfolds, afold))\n-\tlet removed = 1\n-      endif\n-    endif\n-    if !removed\n-      let afold.level -= leveladjust\n-      if afold.level+1 > s:foldcolumn\n-\tlet s:foldcolumn = afold.level+1\n-      endif\n-    endif\n-  endfor\n-\n-  \" if we've removed folds containing the conversion range from processing,\n-  \" getting foldtext as we go won't know to open the removed folds, so the\n-  \" foldtext would be wrong; open them now.\n-  \"\n-  \" Note that only when a start and an end line is specified will a fold\n-  \" containing the current range ever be removed.\n-  while leveladjust > 0\n-    exe g:html_start_line..\"foldopen\"\n-    let leveladjust -= 1\n-  endwhile\n-endif\n-\n-\" Now loop over all lines in the original text to convert to html.\n-\" Use html_start_line and html_end_line if they are set.\n-if exists(\"g:html_start_line\")\n-  let s:lnum = html_start_line\n-  if s:lnum < 1 || s:lnum > line(\"$\")\n-    let s:lnum = 1\n-  endif\n-else\n-  let s:lnum = 1\n-endif\n-if exists(\"g:html_end_line\")\n-  let s:end = html_end_line\n-  if s:end < s:lnum || s:end > line(\"$\")\n-    let s:end = line(\"$\")\n-  endif\n-else\n-  let s:end = line(\"$\")\n-endif\n-\n-\" stack to keep track of all the folds containing the current line\n-let s:foldstack = []\n-\n-if !s:settings.no_progress\n-  let s:pgb = s:ProgressBar(\"Processing lines:\", s:end - s:lnum + 1, s:orgwin)\n-endif\n-\n-if s:settings.number_lines\n-  let s:margin = strlen(s:end) + 1\n-else\n-  let s:margin = 0\n-endif\n-\n-if has('folding') && !s:settings.ignore_folding\n-  let s:foldfillchar = &fillchars[matchend(&fillchars, 'fold:')]\n-  if s:foldfillchar == ''\n-    let s:foldfillchar = '-'\n-  endif\n-endif\n-let s:difffillchar = &fillchars[matchend(&fillchars, 'diff:')]\n-if s:difffillchar == ''\n-  let s:difffillchar = '-'\n-endif\n-\n-let s:foldId = 0\n-\n-if !s:settings.expand_tabs\n-  \" If keeping tabs, add them to printable characters so we keep them when\n-  \" formatting text (strtrans() doesn't replace printable chars)\n-  let s:old_isprint = &isprint\n-  setlocal isprint+=9\n-endif\n-\n-while s:lnum <= s:end\n-\n-  \" If there are filler lines for diff mode, show these above the line.\n-  call s:Add_diff_fill(s:lnum)\n-\n-  \" Start the line with the line number.\n-  if s:settings.number_lines\n-    let s:numcol = repeat(' ', s:margin - 1 - strlen(s:lnum)) .. s:lnum .. ' '\n-  endif\n-\n-  let s:new = \"\"\n-\n-  if has('folding') && !s:settings.ignore_folding && foldclosed(s:lnum) > -1 && !s:settings.dynamic_folds\n-    \"\n-    \" This is the beginning of a folded block (with no dynamic folding)\n-    let s:new = foldtextresult(s:lnum)\n-    if !s:settings.no_pre\n-      \" HTML line wrapping is off--go ahead and fill to the margin\n-      let s:new = s:new .. repeat(s:foldfillchar, &columns - strlen(s:new))\n-    endif\n-\n-    \" put numcol in a separate group for sake of unselectable text\n-    let s:new = (s:settings.number_lines ? s:HtmlFormat_n(s:numcol, s:FOLDED_ID, 0, s:lnum): \"\") .. s:HtmlFormat_t(s:new, s:FOLDED_ID, 0)\n-\n-    \" Skip to the end of the fold\n-    let s:new_lnum = foldclosedend(s:lnum)\n-\n-    if !s:settings.no_progress\n-      call s:pgb.incr(s:new_lnum - s:lnum)\n-    endif\n-\n-    let s:lnum = s:new_lnum\n-\n-  else\n-    \"\n-    \" A line that is not folded, or doing dynamic folding.\n-    \"\n-    let s:line = getline(s:lnum)\n-    let s:len = strlen(s:line)\n-\n-    if s:settings.dynamic_folds\n-      \" First insert a closing for any open folds that end on this line\n-      while !empty(s:foldstack) && get(s:foldstack,0).lastline == s:lnum-1\n-\tlet s:new = s:new..\"\"\n-\tcall remove(s:foldstack, 0)\n-      endwhile\n-\n-      \" Now insert an opening for any new folds that start on this line\n-      let s:firstfold = 1\n-      while !empty(s:allfolds) && get(s:allfolds,0).firstline == s:lnum\n-\tlet s:foldId = s:foldId + 1\n-\tlet s:new ..= \"\"\n-\n-\n-\t\" Unless disabled, add a fold column for the opening line of a fold.\n-\t\"\n-\t\" Note that dynamic folds require using css so we just use css to take\n-\t\" care of the leading spaces rather than using   in the case of\n-\t\" html_no_pre to make it easier\n-\tif !s:settings.no_foldcolumn\n-\t  \" add fold column that can open the new fold\n-\t  if s:allfolds[0].level > 1 && s:firstfold\n-\t    let s:new = s:new .. s:FoldColumn_build('|', s:allfolds[0].level - 1, 0, \"\",\n-\t\t  \\ 'toggle-open FoldColumn','javascript:toggleFold(\"fold'..s:foldstack[0].id..s:settings.id_suffix..'\");')\n-\t  endif\n-\t  \" add the filler spaces separately from the '+' char so that it can be\n-\t  \" shown/hidden separately during a hover unfold\n-\t  let s:new = s:new .. s:FoldColumn_build(\"+\", 1, 0, \"\",\n-\t\t\\ 'toggle-open FoldColumn', 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\t  \" If this is not the last fold we're opening on this line, we need\n-\t  \" to keep the filler spaces hidden if the fold is opened by mouse\n-\t  \" hover. If it is the last fold to open in the line, we shouldn't hide\n-\t  \" them, so don't apply the toggle-filler class.\n-\t  let s:new = s:new .. s:FoldColumn_build(\" \", 1, s:foldcolumn - s:allfolds[0].level - 1, \"\",\n-\t\t\\ 'toggle-open FoldColumn'.. (get(s:allfolds, 1, {'firstline': 0}).firstline == s:lnum ?\" toggle-filler\" :\"\"),\n-\t\t\\ 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\n-\t  \" add fold column that can close the new fold\n-\t  \" only add extra blank space if we aren't opening another fold on the\n-\t  \" same line\n-\t  if get(s:allfolds, 1, {'firstline': 0}).firstline != s:lnum\n-\t    let s:extra_space = s:foldcolumn - s:allfolds[0].level\n-\t  else\n-\t    let s:extra_space = 0\n-\t  endif\n-\t  if s:firstfold\n-\t    \" the first fold in a line has '|' characters from folds opened in\n-\t    \" previous lines, before the '-' for this fold\n-\t    let s:new ..= s:FoldColumn_build('|', s:allfolds[0].level - 1, s:extra_space, '-',\n-\t\t  \\ 'toggle-closed FoldColumn', 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\t  else\n-\t    \" any subsequent folds in the line only add a single '-'\n-\t    let s:new = s:new .. s:FoldColumn_build(\"-\", 1, s:extra_space, \"\",\n-\t\t  \\ 'toggle-closed FoldColumn', 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\t  endif\n-\t  let s:firstfold = 0\n-\tendif\n-\n-\t\" Add fold text, moving the span ending to the next line so collapsing\n-\t\" of folds works correctly.\n-\t\" Put numcol in a separate group for sake of unselectable text.\n-\tlet s:new = s:new .. (s:settings.number_lines ? s:HtmlFormat_n(s:numcol, s:FOLDED_ID, 0, 0) : \"\") .. substitute(s:HtmlFormat_t(foldtextresult(s:lnum), s:FOLDED_ID, 0), '', s:HtmlEndline..'\\n\\0', '')\n-\tlet s:new = s:new .. \"\"\n-\n-\t\" open the fold now that we have the fold text to allow retrieval of\n-\t\" fold text for subsequent folds\n-\texecute s:lnum..\"foldopen\"\n-\tcall insert(s:foldstack, remove(s:allfolds,0))\n-\tlet s:foldstack[0].id = s:foldId\n-      endwhile\n-\n-      \" Unless disabled, add a fold column for other lines.\n-      \"\n-      \" Note that dynamic folds require using css so we just use css to take\n-      \" care of the leading spaces rather than using   in the case of\n-      \" html_no_pre to make it easier\n-      if !s:settings.no_foldcolumn\n-\tif empty(s:foldstack)\n-\t  \" add the empty foldcolumn for unfolded lines if there is a fold\n-\t  \" column at all\n-\t  if s:foldcolumn > 0\n-\t    let s:new = s:new .. s:FoldColumn_fill()\n-\t  endif\n-\telse\n-\t  \" add the fold column for folds not on the opening line\n-\t  if get(s:foldstack, 0).firstline < s:lnum\n-\t    let s:new = s:new .. s:FoldColumn_build('|', s:foldstack[0].level, s:foldcolumn - s:foldstack[0].level, \"\",\n-\t\t  \\ 'FoldColumn', 'javascript:toggleFold(\"fold'..s:foldstack[0].id..s:settings.id_suffix..'\");')\n-\t  endif\n-\tendif\n-      endif\n-    endif\n-\n-    \" Now continue with the unfolded line text\n-    if s:settings.number_lines\n-      let s:new = s:new .. s:HtmlFormat_n(s:numcol, s:LINENR_ID, 0, s:lnum)\n-    elseif s:settings.line_ids\n-      let s:new = s:new .. s:HtmlFormat_n(\"\", s:LINENR_ID, 0, s:lnum)\n-    endif\n-\n-    \" Get the diff attribute, if any.\n-    let s:diffattr = diff_hlID(s:lnum, 1)\n-\n-    \" initialize conceal info to act like not concealed, just in case\n-    let s:concealinfo = [0, '']\n-\n-    \" Loop over each character in the line\n-    let s:col = 1\n-\n-    \" most of the time we won't use the diff_id, initialize to zero\n-    let s:diff_id = 0\n-\n-    while s:col <= s:len || (s:col == 1 && s:diffattr)\n-      let s:startcol = s:col \" The start column for processing text\n-      if !s:settings.ignore_conceal && has('conceal')\n-\tlet s:concealinfo = synconcealed(s:lnum, s:col)\n-      endif\n-      if !s:settings.ignore_conceal && s:concealinfo[0]\n-\tlet s:col = s:col + 1\n-\t\" Speed loop (it's small - that's the trick)\n-\t\" Go along till we find a change in the match sequence number (ending\n-\t\" the specific concealed region) or until there are no more concealed\n-\t\" characters.\n-\twhile s:col <= s:len && s:concealinfo == synconcealed(s:lnum, s:col) | let s:col = s:col + 1 | endwhile\n-      elseif s:diffattr\n-\tlet s:diff_id = diff_hlID(s:lnum, s:col)\n-\tlet s:id = synID(s:lnum, s:col, 1)\n-\tlet s:col = s:col + 1\n-\t\" Speed loop (it's small - that's the trick)\n-\t\" Go along till we find a change in hlID\n-\twhile s:col <= s:len && s:id == synID(s:lnum, s:col, 1)\n-\t      \\   && s:diff_id == diff_hlID(s:lnum, s:col) |\n-\t      \\     let s:col = s:col + 1 |\n-\t      \\ endwhile\n-\tif s:len < &columns && !s:settings.no_pre\n-\t  \" Add spaces at the end of the raw text line to extend the changed\n-\t  \" line to the full width.\n-\t  let s:line = s:line .. repeat(' ', &columns - virtcol([s:lnum, s:len]) - s:margin)\n-\t  let s:len = &columns\n-\tendif\n-      else\n-\tlet s:id = synID(s:lnum, s:col, 1)\n-\tlet s:col = s:col + 1\n-\t\" Speed loop (it's small - that's the trick)\n-\t\" Go along till we find a change in synID\n-\twhile s:col <= s:len && s:id == synID(s:lnum, s:col, 1) | let s:col = s:col + 1 | endwhile\n-      endif\n-\n-      if s:settings.ignore_conceal || !s:concealinfo[0]\n-\t\" Expand tabs if needed\n-\tlet s:expandedtab = strpart(s:line, s:startcol - 1, s:col - s:startcol)\n-\tif s:settings.expand_tabs\n-\t  let s:offset = 0\n-\t  let s:idx = stridx(s:expandedtab, \"\\t\")\n-\t  let s:tablist = exists(\"+vts\") ? split(&vts,',') : []\n-\t  if empty(s:tablist)\n-\t    let s:tablist = [ &ts ]\n-\t  endif\n-\t  let s:tabidx = 0\n-\t  let s:tabwidth = 0\n-\t  while s:idx >= 0\n-\t    if s:startcol + s:idx == 1\n-\t      let s:i = s:tablist[0]\n-\t    else\n-\t      \" Get the character, which could be multiple bytes, which falls\n-\t      \" immediately before the found tab. Extract it by matching a\n-\t      \" character just prior to the column where the tab matches.\n-\t      \" We'll use this to get the byte index of the character\n-\t      \" immediately preceding the tab, so we can then look up the\n-\t      \" virtual column that character appears in, to determine how\n-\t      \" much of the current tabstop has been used up.\n-\t      if s:idx == 0\n-\t\t\" if the found tab is the first character in the text being\n-\t\t\" processed, we need to get the character prior to the text,\n-\t\t\" given by startcol.\n-\t\tlet s:prevc = matchstr(s:line, '.\\%' .. (s:startcol + s:offset) .. 'c')\n-\t      else\n-\t\t\" Otherwise, the byte index of the tab into s:expandedtab is\n-\t\t\" given by s:idx.\n-\t\tlet s:prevc = matchstr(s:expandedtab, '.\\%' .. (s:idx + 1) .. 'c')\n-\t      endif\n-\t      let s:vcol = virtcol([s:lnum, s:startcol + s:idx + s:offset - len(s:prevc)])\n-\n-\t      \" find the tabstop interval to use for the tab we just found. Keep\n-\t      \" adding tabstops (which could be variable) until we would exceed\n-\t      \" the virtual screen position of the start of the found tab.\n-\t      while s:vcol >= s:tabwidth + s:tablist[s:tabidx]\n-\t\tlet s:tabwidth += s:tablist[s:tabidx]\n-\t\tif s:tabidx < len(s:tablist)-1\n-\t\t  let s:tabidx = s:tabidx+1\n-\t\tendif\n-\t      endwhile\n-\t      let s:i = s:tablist[s:tabidx] - (s:vcol - s:tabwidth)\n-\t    endif\n-\t    \" update offset to keep the index within the line corresponding to\n-\t    \" actual tab characters instead of replaced spaces; s:idx reflects\n-\t    \" replaced spaces in s:expandedtab, s:offset cancels out all but\n-\t    \" the tab character itself.\n-\t    let s:offset -= s:i - 1\n-\t    let s:expandedtab = substitute(s:expandedtab, '\\t', repeat(' ', s:i), '')\n-\t    let s:idx = stridx(s:expandedtab, \"\\t\")\n-\t  endwhile\n-\tend\n-\n-\t\" get the highlight group name to use\n-\tlet s:id = synIDtrans(s:id)\n-      else\n-\t\" use Conceal highlighting for concealed text\n-\tlet s:id = s:CONCEAL_ID\n-\tlet s:expandedtab = s:concealinfo[1]\n-      endif\n-\n-      \" Output the text with the same synID, with class set to the highlight ID\n-      \" name, unless it has been concealed completely.\n-      if strlen(s:expandedtab) > 0\n-\tlet s:new = s:new .. s:HtmlFormat(s:expandedtab,  s:id, s:diff_id, \"\", 0)\n-      endif\n-    endwhile\n-  endif\n-\n-  call extend(s:lines, split(s:new..s:HtmlEndline, '\\n', 1))\n-  if !s:settings.no_progress && s:pgb.needs_redraw\n-    redrawstatus\n-    let s:pgb.needs_redraw = 0\n-  endif\n-  let s:lnum = s:lnum + 1\n-\n-  if !s:settings.no_progress\n-    call s:pgb.incr()\n-  endif\n-endwhile\n-\n-\" Diff filler is returned based on what needs inserting *before* the given line.\n-\" So to get diff filler at the end of the buffer, we need to use last line + 1\n-call s:Add_diff_fill(s:end+1)\n-\n-if s:settings.dynamic_folds\n-  \" finish off any open folds\n-  while !empty(s:foldstack)\n-    let s:lines[-1]..=\"\"\n-    call remove(s:foldstack, 0)\n-  endwhile\n-\n-  \" add fold column to the style list if not already there\n-  let s:id = s:FOLD_C_ID\n-  if !has_key(s:stylelist, s:id)\n-    let s:stylelist[s:id] = '.FoldColumn { ' .. s:CSS1(s:id) .. '}'\n-  endif\n-endif\n-\n-if s:settings.no_pre\n-  if !s:settings.use_css\n-    \" Close off the font tag that encapsulates the whole \n-    call extend(s:lines, [\"\"])\n-  else\n-    call extend(s:lines, [\"
\"])\n- endif\n-else\n- call extend(s:lines, [\"\"])\n-endif\n-if !s:settings.no_doc\n- call extend(s:lines, [\"\", \"\"])\n-endif\n-\n-exe s:newwin .. \"wincmd w\"\n-call setline(1, s:lines)\n-unlet s:lines\n-\n-\" Mangle modelines so Vim doesn't try to use HTML text as a modeline if editing\n-\" this file in the future; need to do this after generating all the text in case\n-\" the modeline text has different highlight groups which all turn out to be\n-\" stripped from the final output.\n-%s!\\v(%(^|\\s+)%([Vv]i%(m%([<=>]?\\d+)?)?|ex)):!\\1\\:!ge\n-\n-\" The generated HTML is admittedly ugly and takes a LONG time to fold.\n-\" Make sure the user doesn't do syntax folding when loading a generated file,\n-\" using a modeline.\n-if !s:settings.no_modeline\n- call append(line('$'), \"\")\n-endif\n-\n-\" Now, when we finally know which, we define the colors and styles\n-if s:settings.use_css && !s:settings.no_doc\n- 1;//+1\n-\n- \" Normal/global attributes\n- if s:settings.no_pre\n- call append('.', \"body { color: \" .. s:fgc .. \"; background-color: \" .. s:bgc .. \"; font-family: \".. s:htmlfont ..\"; }\")\n- +\n- else\n- call append('.', \"pre { \" .. s:whitespace .. \"font-family: \".. s:htmlfont ..\"; color: \" .. s:fgc .. \"; background-color: \" .. s:bgc .. \"; }\")\n- +\n- yank\n- put\n- execute \"normal! ^cwbody\\e\"\n- \" body should not have the wrap formatting, only the pre section\n- if s:whitespace != ''\n- exec 's#'..s:whitespace\n- endif\n- endif\n- \" fix browser inconsistencies (sometimes within the same browser) of different\n- \" default font size for different elements\n- call append('.', '* { font-size: 1em; }')\n- +\n- \" if we use any input elements for unselectable content, make sure they look\n- \" like normal text\n- if !empty(s:settings.prevent_copy)\n- if s:settings.use_input_for_pc !=# \"none\"\n- call append('.', 'input { border: none; margin: 0; padding: 0; font-family: '..s:htmlfont..'; }')\n- +\n- \" ch units for browsers which support them, em units for a somewhat\n- \" reasonable fallback.\n- for w in range(1, 20, 1)\n-\tcall append('.', [\n-\t \\ \"input[size='\"..w..\"'] { width: \"..w..\"em; width: \"..w..\"ch; }\"\n-\t \\ ])\n-\t+\n- endfor\n- endif\n-\n- if s:settings.use_input_for_pc !=# 'all'\n- let s:unselectable_styles = []\n- if s:settings.prevent_copy =~# 'f'\n-\tcall add(s:unselectable_styles, 'FoldColumn')\n- endif\n- if s:settings.prevent_copy =~# 'n'\n-\tcall add(s:unselectable_styles, 'LineNr')\n- endif\n- if s:settings.prevent_copy =~# 't' && !s:settings.ignore_folding\n-\tcall add(s:unselectable_styles, 'Folded')\n- endif\n- if s:settings.prevent_copy =~# 'd'\n-\tcall add(s:unselectable_styles, 'DiffDelete')\n- endif\n- if s:settings.use_input_for_pc !=# 'none'\n-\tcall append('.', [\n-\t \\ '/* Note: IE does not support @supports conditionals, but also does not fully support',\n-\t \\ ' \"content:\" with custom content, so we *want* the check to fail */',\n-\t \\ '@supports ( content: attr(data-custom-content) ) {'\n-\t \\ ])\n-\t+3\n- endif\n- \" The line number column inside the foldtext is styled just like the fold\n- \" text in Vim, but it should use the prevent_copy settings of line number\n- \" rather than fold text. Apply the prevent_copy styles to foldtext\n- \" specifically for line numbers, which always come after the fold column,\n- \" or at the beginning of the line.\n- if s:settings.prevent_copy =~# 'n' && !s:settings.ignore_folding\n-\tcall append('.', [\n-\t \\ ' .FoldColumn + .Folded, .Folded:first-child { user-select: none; }',\n-\t \\ ' .FoldColumn + [data-Folded-content]::before, [data-Folded-content]:first-child::before { content: attr(data-Folded-content); }',\n-\t \\ ' .FoldColumn + [data-Folded-content]::before, [data-Folded-content]:first-child::before { padding-bottom: 1px; display: inline-block; /* match the 1-px padding of standard items with background */ }',\n-\t \\ ' .FoldColumn + span[data-Folded-content]::before, [data-Folded-content]:first-child::before { cursor: default; }',\n-\t \\ ])\n-\t+4\n- endif\n- for s:style_name in s:unselectable_styles\n-\tcall append('.', [\n-\t \\ ' .'..s:style_name..' { user-select: none; }',\n-\t \\ ' [data-'..s:style_name..'-content]::before { content: attr(data-'..s:style_name..'-content); }',\n-\t \\ ' [data-'..s:style_name..'-content]::before { padding-bottom: 1px; display: inline-block; /* match the 1-px padding of standard items with background */ }',\n-\t \\ ' span[data-'..s:style_name..'-content]::before { cursor: default; }',\n-\t \\ ])\n-\t+4\n- endfor\n- if s:settings.use_input_for_pc !=# 'none'\n-\t\" Note, the extra '}' is to match the \"@supports\" above\n-\tcall append('.', [\n-\t \\ ' input { display: none; }',\n-\t \\ '}'\n-\t \\ ])\n-\t+2\n- endif\n- unlet s:unselectable_styles\n- endif\n-\n- \" Fix mouse cursor shape for the fallback method of uncopyable text\n- if s:settings.use_input_for_pc !=# 'none'\n- if s:settings.prevent_copy =~# 'f'\n-\t\" Make the cursor show active fold columns as active areas, and empty fold\n-\t\" columns as not interactive.\n-\tcall append('.', ['input.FoldColumn { cursor: pointer; }',\n-\t \\ 'input.FoldColumn[value=\"'..repeat(' ', s:foldcolumn)..'\"] { cursor: default; }'\n-\t \\ ])\n-\t+2\n-\tif s:settings.use_input_for_pc !=# 'all'\n-\t call append('.', [\n-\t\t\\ 'a[data-FoldColumn-content=\"'..repeat(' ', s:foldcolumn)..'\"] { cursor: default; }'\n-\t\t\\ ])\n-\t +1\n-\tend\n- endif\n- \" make line number column show as non-interactive if not selectable\n- if s:settings.prevent_copy =~# 'n'\n-\tcall append('.', 'input.LineNr { cursor: default; }')\n-\t+\n- endif\n- \" make fold text and line number column within fold text show as\n- \" non-interactive if not selectable\n- if (s:settings.prevent_copy =~# 'n' || s:settings.prevent_copy =~# 't') && !s:settings.ignore_folding\n-\tcall append('.', 'input.Folded { cursor: default; }')\n-\t+\n- endif\n- \" make diff filler show as non-interactive if not selectable\n- if s:settings.prevent_copy =~# 'd'\n-\tcall append('.', 'input.DiffDelete { cursor: default; }')\n-\t+\n- endif\n- endif\n- endif\n-endif\n-\n-if !s:settings.use_css && !s:settings.no_doc\n- \" For Netscape 4, set attributes too, though, strictly speaking, it's\n- \" incorrect.\n- execute '%s:]*\\):\\r]\\|>\\|<\\|"\\)+\\1\\2+ge\n-endif\n-\n-\" The DTD\n-if !s:settings.no_doc\n- if s:settings.use_xhtml\n- exe \"normal! gg$a\\n\"\n- elseif s:html5\n- exe \"normal! gg0i\\n\"\n- else\n- exe \"normal! gg0i\\n\"\n- endif\n-endif\n-\n-if s:settings.use_xhtml && !s:settings.no_doc\n- exe \"normal! gg/\n-\" Last Change: 2023 Sep 05\n-\"\n-\" Additional contributors:\n-\"\n-\" Original by Bram Moolenaar \n-\" Modified by David Ne\\v{c}as (Yeti) \n-\" XHTML support by Panagiotis Issaris \n-\" Made w3 compliant by Edd Barrett \n-\" Added html_font. Edd Barrett \n-\" Progress bar based off code from \"progressbar widget\" plugin by\n-\" Andreas Politz, heavily modified:\n-\" http://www.vim.org/scripts/script.php?script_id=2006\n-\"\n-\" See Mercurial change logs for more!\n-\n-\" Transform a file into HTML, using the current syntax highlighting.\n-\n-\" this file uses line continuations\n-let s:cpo_sav = &cpo\n-let s:ls = &ls\n-let s:ei_sav = &eventignore\n-set cpo&vim\n-\n-\" HTML filetype can take a while to load/highlight if the destination file\n-\" already exists.\n-set eventignore+=FileType\n-\n-let s:end=line('$')\n-\n-\" Font\n-if exists(\"g:html_font\")\n- if type(g:html_font) == type([])\n- let s:htmlfont = \"'\".. join(g:html_font,\"','\") .. \"', monospace\"\n- else\n- let s:htmlfont = \"'\".. g:html_font .. \"', monospace\"\n- endif\n-else\n- let s:htmlfont = \"monospace\"\n-endif\n-\n-let s:settings = tohtml#GetUserSettings()\n-\n-if s:settings.use_xhtml\n- let s:html5 = 0\n-elseif s:settings.use_css && !s:settings.no_pre\n- let s:html5 = 1\n-else\n- let s:html5 = 0\n-endif\n-\n-if !exists('s:FOLDED_ID')\n- let s:FOLDED_ID = hlID(\"Folded\") | lockvar s:FOLDED_ID\n- let s:FOLD_C_ID = hlID(\"FoldColumn\") | lockvar s:FOLD_C_ID\n- let s:LINENR_ID = hlID('LineNr') | lockvar s:LINENR_ID\n- let s:DIFF_D_ID = hlID(\"DiffDelete\") | lockvar s:DIFF_D_ID\n- let s:DIFF_A_ID = hlID(\"DiffAdd\") | lockvar s:DIFF_A_ID\n- let s:DIFF_C_ID = hlID(\"DiffChange\") | lockvar s:DIFF_C_ID\n- let s:DIFF_T_ID = hlID(\"DiffText\") | lockvar s:DIFF_T_ID\n- let s:CONCEAL_ID = hlID('Conceal') | lockvar s:CONCEAL_ID\n-endif\n-\n-\" Whitespace\n-if s:settings.pre_wrap\n- let s:whitespace = \"white-space: pre-wrap; \"\n-else\n- let s:whitespace = \"\"\n-endif\n-\n-if !empty(s:settings.prevent_copy)\n- if s:settings.no_invalid\n- \" User has decided they don't want invalid markup. Still works in\n- \" OpenOffice, and for text editors, but when pasting into Microsoft Word the\n- \" input elements get pasted too and they cannot be deleted (at least not\n- \" easily).\n- let s:unselInputType = \"\"\n- else\n- \" Prevent from copy-pasting the input elements into Microsoft Word where\n- \" they cannot be deleted easily by deliberately inserting invalid markup.\n- let s:unselInputType = \" type='invalid_input_type'\"\n- endif\n-endif\n-\n-\" When gui colors are not supported, we can only guess the colors.\n-\" TODO - is this true anymore? Is there a way to ask the terminal what colors\n-\" each number means or read them from some file?\n-if &termguicolors || has(\"gui_running\")\n- let s:whatterm = \"gui\"\n-else\n- let s:whatterm = \"cterm\"\n- if &t_Co == 8\n- let s:cterm_color = {\n-\t \\ 0: \"#808080\", 1: \"#ff6060\", 2: \"#00ff00\", 3: \"#ffff00\",\n-\t \\ 4: \"#8080ff\", 5: \"#ff40ff\", 6: \"#00ffff\", 7: \"#ffffff\"\n-\t \\ }\n- else\n- let s:cterm_color = {\n-\t \\ 0: \"#000000\", 1: \"#c00000\", 2: \"#008000\", 3: \"#804000\", \n-\t \\ 4: \"#0000c0\", 5: \"#c000c0\", 6: \"#008080\", 7: \"#c0c0c0\", \n-\t \\ 8: \"#808080\", 9: \"#ff6060\", 10: \"#00ff00\", 11: \"#ffff00\",\n-\t \\ 12: \"#8080ff\", 13: \"#ff40ff\", 14: \"#00ffff\", 15: \"#ffffff\"\n-\t \\ }\n-\n- \" Colors for 88 and 256 come from xterm.\n- if &t_Co == 88\n- call extend(s:cterm_color, {\n-\t \\ 16: \"#000000\", 17: \"#00008b\", 18: \"#0000cd\", 19: \"#0000ff\",\n-\t \\ 20: \"#008b00\", 21: \"#008b8b\", 22: \"#008bcd\", 23: \"#008bff\",\n-\t \\ 24: \"#00cd00\", 25: \"#00cd8b\", 26: \"#00cdcd\", 27: \"#00cdff\",\n-\t \\ 28: \"#00ff00\", 29: \"#00ff8b\", 30: \"#00ffcd\", 31: \"#00ffff\",\n-\t \\ 32: \"#8b0000\", 33: \"#8b008b\", 34: \"#8b00cd\", 35: \"#8b00ff\",\n-\t \\ 36: \"#8b8b00\", 37: \"#8b8b8b\", 38: \"#8b8bcd\", 39: \"#8b8bff\",\n-\t \\ 40: \"#8bcd00\", 41: \"#8bcd8b\", 42: \"#8bcdcd\", 43: \"#8bcdff\",\n-\t \\ 44: \"#8bff00\", 45: \"#8bff8b\", 46: \"#8bffcd\", 47: \"#8bffff\",\n-\t \\ 48: \"#cd0000\", 49: \"#cd008b\", 50: \"#cd00cd\", 51: \"#cd00ff\",\n-\t \\ 52: \"#cd8b00\", 53: \"#cd8b8b\", 54: \"#cd8bcd\", 55: \"#cd8bff\",\n-\t \\ 56: \"#cdcd00\", 57: \"#cdcd8b\", 58: \"#cdcdcd\", 59: \"#cdcdff\",\n-\t \\ 60: \"#cdff00\", 61: \"#cdff8b\", 62: \"#cdffcd\", 63: \"#cdffff\",\n-\t \\ 64: \"#ff0000\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 65: \"#ff008b\", 66: \"#ff00cd\", 67: \"#ff00ff\", 68: \"#ff8b00\",\n-\t \\ 69: \"#ff8b8b\", 70: \"#ff8bcd\", 71: \"#ff8bff\", 72: \"#ffcd00\",\n-\t \\ 73: \"#ffcd8b\", 74: \"#ffcdcd\", 75: \"#ffcdff\", 76: \"#ffff00\",\n-\t \\ 77: \"#ffff8b\", 78: \"#ffffcd\", 79: \"#ffffff\", 80: \"#2e2e2e\",\n-\t \\ 81: \"#5c5c5c\", 82: \"#737373\", 83: \"#8b8b8b\", 84: \"#a2a2a2\",\n-\t \\ 85: \"#b9b9b9\", 86: \"#d0d0d0\", 87: \"#e7e7e7\"\n-\t \\ })\n- elseif &t_Co == 256\n- call extend(s:cterm_color, {\n-\t \\ 16: \"#000000\", 17: \"#00005f\", 18: \"#000087\", 19: \"#0000af\",\n-\t \\ 20: \"#0000d7\", 21: \"#0000ff\", 22: \"#005f00\", 23: \"#005f5f\",\n-\t \\ 24: \"#005f87\", 25: \"#005faf\", 26: \"#005fd7\", 27: \"#005fff\",\n-\t \\ 28: \"#008700\", 29: \"#00875f\", 30: \"#008787\", 31: \"#0087af\",\n-\t \\ 32: \"#0087d7\", 33: \"#0087ff\", 34: \"#00af00\", 35: \"#00af5f\",\n-\t \\ 36: \"#00af87\", 37: \"#00afaf\", 38: \"#00afd7\", 39: \"#00afff\",\n-\t \\ 40: \"#00d700\", 41: \"#00d75f\", 42: \"#00d787\", 43: \"#00d7af\",\n-\t \\ 44: \"#00d7d7\", 45: \"#00d7ff\", 46: \"#00ff00\", 47: \"#00ff5f\",\n-\t \\ 48: \"#00ff87\", 49: \"#00ffaf\", 50: \"#00ffd7\", 51: \"#00ffff\",\n-\t \\ 52: \"#5f0000\", 53: \"#5f005f\", 54: \"#5f0087\", 55: \"#5f00af\",\n-\t \\ 56: \"#5f00d7\", 57: \"#5f00ff\", 58: \"#5f5f00\", 59: \"#5f5f5f\",\n-\t \\ 60: \"#5f5f87\", 61: \"#5f5faf\", 62: \"#5f5fd7\", 63: \"#5f5fff\",\n-\t \\ 64: \"#5f8700\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 65: \"#5f875f\", 66: \"#5f8787\", 67: \"#5f87af\", 68: \"#5f87d7\",\n-\t \\ 69: \"#5f87ff\", 70: \"#5faf00\", 71: \"#5faf5f\", 72: \"#5faf87\",\n-\t \\ 73: \"#5fafaf\", 74: \"#5fafd7\", 75: \"#5fafff\", 76: \"#5fd700\",\n-\t \\ 77: \"#5fd75f\", 78: \"#5fd787\", 79: \"#5fd7af\", 80: \"#5fd7d7\",\n-\t \\ 81: \"#5fd7ff\", 82: \"#5fff00\", 83: \"#5fff5f\", 84: \"#5fff87\",\n-\t \\ 85: \"#5fffaf\", 86: \"#5fffd7\", 87: \"#5fffff\", 88: \"#870000\",\n-\t \\ 89: \"#87005f\", 90: \"#870087\", 91: \"#8700af\", 92: \"#8700d7\",\n-\t \\ 93: \"#8700ff\", 94: \"#875f00\", 95: \"#875f5f\", 96: \"#875f87\",\n-\t \\ 97: \"#875faf\", 98: \"#875fd7\", 99: \"#875fff\", 100: \"#878700\",\n-\t \\ 101: \"#87875f\", 102: \"#878787\", 103: \"#8787af\", 104: \"#8787d7\",\n-\t \\ 105: \"#8787ff\", 106: \"#87af00\", 107: \"#87af5f\", 108: \"#87af87\",\n-\t \\ 109: \"#87afaf\", 110: \"#87afd7\", 111: \"#87afff\", 112: \"#87d700\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 113: \"#87d75f\", 114: \"#87d787\", 115: \"#87d7af\", 116: \"#87d7d7\",\n-\t \\ 117: \"#87d7ff\", 118: \"#87ff00\", 119: \"#87ff5f\", 120: \"#87ff87\",\n-\t \\ 121: \"#87ffaf\", 122: \"#87ffd7\", 123: \"#87ffff\", 124: \"#af0000\",\n-\t \\ 125: \"#af005f\", 126: \"#af0087\", 127: \"#af00af\", 128: \"#af00d7\",\n-\t \\ 129: \"#af00ff\", 130: \"#af5f00\", 131: \"#af5f5f\", 132: \"#af5f87\",\n-\t \\ 133: \"#af5faf\", 134: \"#af5fd7\", 135: \"#af5fff\", 136: \"#af8700\",\n-\t \\ 137: \"#af875f\", 138: \"#af8787\", 139: \"#af87af\", 140: \"#af87d7\",\n-\t \\ 141: \"#af87ff\", 142: \"#afaf00\", 143: \"#afaf5f\", 144: \"#afaf87\",\n-\t \\ 145: \"#afafaf\", 146: \"#afafd7\", 147: \"#afafff\", 148: \"#afd700\",\n-\t \\ 149: \"#afd75f\", 150: \"#afd787\", 151: \"#afd7af\", 152: \"#afd7d7\",\n-\t \\ 153: \"#afd7ff\", 154: \"#afff00\", 155: \"#afff5f\", 156: \"#afff87\",\n-\t \\ 157: \"#afffaf\", 158: \"#afffd7\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 159: \"#afffff\", 160: \"#d70000\", 161: \"#d7005f\", 162: \"#d70087\",\n-\t \\ 163: \"#d700af\", 164: \"#d700d7\", 165: \"#d700ff\", 166: \"#d75f00\",\n-\t \\ 167: \"#d75f5f\", 168: \"#d75f87\", 169: \"#d75faf\", 170: \"#d75fd7\",\n-\t \\ 171: \"#d75fff\", 172: \"#d78700\", 173: \"#d7875f\", 174: \"#d78787\",\n-\t \\ 175: \"#d787af\", 176: \"#d787d7\", 177: \"#d787ff\", 178: \"#d7af00\",\n-\t \\ 179: \"#d7af5f\", 180: \"#d7af87\", 181: \"#d7afaf\", 182: \"#d7afd7\",\n-\t \\ 183: \"#d7afff\", 184: \"#d7d700\", 185: \"#d7d75f\", 186: \"#d7d787\",\n-\t \\ 187: \"#d7d7af\", 188: \"#d7d7d7\", 189: \"#d7d7ff\", 190: \"#d7ff00\",\n-\t \\ 191: \"#d7ff5f\", 192: \"#d7ff87\", 193: \"#d7ffaf\", 194: \"#d7ffd7\",\n-\t \\ 195: \"#d7ffff\", 196: \"#ff0000\", 197: \"#ff005f\", 198: \"#ff0087\",\n-\t \\ 199: \"#ff00af\", 200: \"#ff00d7\", 201: \"#ff00ff\", 202: \"#ff5f00\",\n-\t \\ 203: \"#ff5f5f\", 204: \"#ff5f87\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 205: \"#ff5faf\", 206: \"#ff5fd7\", 207: \"#ff5fff\", 208: \"#ff8700\",\n-\t \\ 209: \"#ff875f\", 210: \"#ff8787\", 211: \"#ff87af\", 212: \"#ff87d7\",\n-\t \\ 213: \"#ff87ff\", 214: \"#ffaf00\", 215: \"#ffaf5f\", 216: \"#ffaf87\",\n-\t \\ 217: \"#ffafaf\", 218: \"#ffafd7\", 219: \"#ffafff\", 220: \"#ffd700\",\n-\t \\ 221: \"#ffd75f\", 222: \"#ffd787\", 223: \"#ffd7af\", 224: \"#ffd7d7\",\n-\t \\ 225: \"#ffd7ff\", 226: \"#ffff00\", 227: \"#ffff5f\", 228: \"#ffff87\",\n-\t \\ 229: \"#ffffaf\", 230: \"#ffffd7\", 231: \"#ffffff\", 232: \"#080808\",\n-\t \\ 233: \"#121212\", 234: \"#1c1c1c\", 235: \"#262626\", 236: \"#303030\",\n-\t \\ 237: \"#3a3a3a\", 238: \"#444444\", 239: \"#4e4e4e\", 240: \"#585858\",\n-\t \\ 241: \"#626262\", 242: \"#6c6c6c\", 243: \"#767676\", 244: \"#808080\",\n-\t \\ 245: \"#8a8a8a\", 246: \"#949494\", 247: \"#9e9e9e\", 248: \"#a8a8a8\",\n-\t \\ 249: \"#b2b2b2\", 250: \"#bcbcbc\", 251: \"#c6c6c6\", 252: \"#d0d0d0\",\n-\t \\ 253: \"#dadada\", 254: \"#e4e4e4\", 255: \"#eeeeee\"\n-\t \\ })\n- endif\n- endif\n-endif\n-\n-\" Return good color specification: in GUI no transformation is done, in\n-\" terminal return RGB values of known colors and empty string for unknown\n-if s:whatterm == \"gui\"\n- function! s:HtmlColor(color)\n- return a:color\n- endfun\n-else\n- function! s:HtmlColor(color)\n- if has_key(s:cterm_color, a:color)\n- return s:cterm_color[a:color]\n- else\n- return \"\"\n- endif\n- endfun\n-endif\n-\n-\" Find out the background and foreground color for use later\n-let s:fgc = s:HtmlColor(synIDattr(hlID(\"Normal\")->synIDtrans(), \"fg#\", s:whatterm))\n-let s:bgc = s:HtmlColor(synIDattr(hlID(\"Normal\")->synIDtrans(), \"bg#\", s:whatterm))\n-if s:fgc == \"\"\n- let s:fgc = ( &background == \"dark\" ? \"#ffffff\" : \"#000000\" )\n-endif\n-if s:bgc == \"\"\n- let s:bgc = ( &background == \"dark\" ? \"#000000\" : \"#ffffff\" )\n-endif\n-\n-if !s:settings.use_css\n- \" Return opening HTML tag for given highlight id\n- function! s:HtmlOpening(id, extra_attrs)\n- let a = \"\"\n- let translated_ID = synIDtrans(a:id)\n- if synIDattr(translated_ID, \"inverse\")\n- \" For inverse, we always must set both colors (and exchange them)\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- let a = a .. ''\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- let a = a .. ''\n- else\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- if x != \"\"\n-\tlet a = a .. ''\n- elseif !empty(a:extra_attrs)\n-\tlet a = a .. ''\n- endif\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- if x != \"\" | let a = a .. '' | endif\n- endif\n- if synIDattr(translated_ID, \"bold\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"italic\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"underline\") | let a = a .. \"\" | endif\n- return a\n- endfun\n-\n- \" Return closing HTML tag for given highlight id\n- function! s:HtmlClosing(id, has_extra_attrs)\n- let a = \"\"\n- let translated_ID = synIDtrans(a:id)\n- if synIDattr(translated_ID, \"underline\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"italic\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"bold\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"inverse\")\n- let a = a .. ''\n- else\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- if x != \"\" | let a = a .. '' | endif\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- if x != \"\" || a:has_extra_attrs | let a = a .. '' | endif\n- endif\n- return a\n- endfun\n-endif\n-\n-\" Use a different function for formatting based on user options. This way we\n-\" can avoid a lot of logic during the actual execution.\n-\"\n-\" Build the function line by line containing only what is needed for the options\n-\" in use for maximum code sharing with minimal branch logic for greater speed.\n-\"\n-\" Note, 'exec' commands do not recognize line continuations, so must concatenate\n-\" lines rather than continue them.\n-if s:settings.use_css\n- \" save CSS to a list of rules to add to the output at the end of processing\n-\n- \" first, get the style names we need\n- let s:wrapperfunc_lines = []\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\tfunction! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, make_unselectable, unformatted)\n-\t\n-\t let l:style_name = synIDattr(a:style_id, \"name\", s:whatterm)\n- ENDLET\n- if &diff\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t let l:diff_style_name = synIDattr(a:diff_style_id, \"name\", s:whatterm)\n- ENDLET\n-\n- \" Add normal groups and diff groups to separate lists so we can order them to\n- \" allow diff highlight to override normal highlight\n-\n- \" if primary style IS a diff style, grab it from the diff cache instead\n- \" (always succeeds because we pre-populate it)\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\n-\t if a:style_id == s:DIFF_D_ID || a:style_id == s:DIFF_A_ID || a:style_id == s:DIFF_C_ID || a:style_id == s:DIFF_T_ID\n-\t let l:saved_style = get(s:diffstylelist,a:style_id)\n-\t else\n- ENDLET\n- endif\n-\n- \" get primary style info from cache or build it on the fly if not found\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t let l:saved_style = get(s:stylelist,a:style_id)\n-\t if type(l:saved_style) == type(0)\n-\t unlet l:saved_style\n-\t let l:saved_style = s:CSS1(a:style_id)\n-\t if l:saved_style != \"\"\n-\t let l:saved_style = \".\" .. l:style_name .. \" { \" .. l:saved_style .. \"}\"\n-\t endif\n-\t let s:stylelist[a:style_id] = l:saved_style\n-\t endif\n- ENDLET\n- if &diff\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t endif\n- ENDLET\n- endif\n-\" Ignore this comment, just bypassing a highlighting issue: if\n-\n- \" Build the wrapper tags around the text. It turns out that caching these\n- \" gives pretty much zero performance gain and adds a lot of logic.\n-\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\n-\t if l:saved_style == \"\" && empty(a:extra_attrs)\n- ENDLET\n- if &diff\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t if a:diff_style_id <= 0\n- ENDLET\n- endif\n- \" no surroundings if neither primary nor diff style has any info\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t return a:text\n- ENDLET\n- if &diff\n- \" no primary style, but diff style\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t else\n-\t return ''..a:text..\"\"\n-\t endif\n- ENDLET\n- endif\n- \" Ignore this comment, just bypassing a highlighting issue: if\n-\n- \" open tag for non-empty primary style\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t else\n- ENDLET\n- \" non-empty primary style. handle either empty or non-empty diff style.\n- \"\n- \" separate the two classes by a space to apply them both if there is a diff\n- \" style name, unless the primary style is empty, then just use the diff style\n- \" name\n- let s:diffstyle =\n-\t \\ (&diff ? '(a:diff_style_id <= 0 ? \"\" : \" \" .. l:diff_style_name)..'\n-\t \\ : '')\n- if s:settings.prevent_copy == \"\"\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim eval ENDLET\n-\t return \"'..a:text..\"\"\n- ENDLET\n- else\n-\n- \" New method: use generated content in the CSS. The only thing needed here\n- \" is a span with no content, with an attribute holding the desired text.\n- \"\n- \" Old method: use an element when text is unsectable. This is still\n- \" used in conditional comments for Internet Explorer, where the new method\n- \" doesn't work.\n- \"\n- \" Wrap the in a to allow fixing the stupid bug in some fonts\n- \" which cause browsers to display a 1px gap between lines when these\n- \" s have a background color (maybe not really a bug, this isn't\n- \" well-defined)\n- \"\n- \" use strwidth, because we care only about how many character boxes are\n- \" needed to size the input, we don't care how many characters (including\n- \" separately counted composing chars, from strchars()) or bytes (from\n- \" len())the string contains. strdisplaywidth() is not needed because none of\n- \" the unselectable groups can contain tab characters (fold column, fold\n- \" text, line number).\n- \"\n- \" Note, if maxlength property needs to be added in the future, it will need\n- \" to use strchars(), because HTML specifies that the maxlength parameter\n- \" uses the number of unique codepoints for its limit.\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim eval ENDLET\n-\t if a:make_unselectable\n-\t let return_span = \"' : '>')\n- ENDLET\n- endif\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim eval ENDLET\n-\t return return_span..''\n-\t else\n-\t return \"'..a:text..\"\"\n-\t endif\n- ENDLET\n- endif\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t endif\n-\tendfun\n- ENDLET\n-else\n- \" Non-CSS method just needs the wrapper.\n- \"\n- \" Functions used to get opening/closing automatically return null strings if\n- \" no styles exist.\n- if &diff\n- let s:wrapperfunc_lines =<< trim ENDLET\n-\tfunction! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, unusedarg, unusedarg2)\n-\t if a:diff_style_id <= 0\n-\t let l:diff_opening = s:HtmlOpening(a:diff_style_id, \"\")\n-\t let l:diff_closing = s:HtmlClosing(a:diff_style_id, 0)\n-\t else\n-\t let l:diff_opening = \"\"\n-\t let l:diff_closing = \"\"\n-\t endif\n-\t return s:HtmlOpening(a:style_id, a:extra_attrs)..l:diff_opening..a:text..l:diff_closing..s:HtmlClosing(a:style_id, !empty(a:extra_attrs))\n-\tendfun\n- ENDLET\n- else\n- let s:wrapperfunc_lines =<< trim ENDLET\n-\tfunction! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, unusedarg, unusedarg2)\n-\t return s:HtmlOpening(a:style_id, a:extra_attrs)..a:text..s:HtmlClosing(a:style_id, !empty(a:extra_attrs))\n-\tendfun\n- ENDLET\n- endif\n-endif\n-\n-\" create the function we built line by line above\n-exec join(flatten(s:wrapperfunc_lines), \"\\n\")\n-\n-let s:diff_mode = &diff\n-\n-\" Return HTML valid characters enclosed in a span of class style_name with\n-\" unprintable characters expanded and double spaces replaced as necessary.\n-\"\n-\" TODO: eliminate unneeded logic like done for BuildStyleWrapper\n-function! s:HtmlFormat(text, style_id, diff_style_id, extra_attrs, make_unselectable)\n- \" Replace unprintable characters\n- let unformatted = strtrans(a:text)\n-\n- let formatted = unformatted\n-\n- \" Replace the reserved html characters\n- let formatted = substitute(formatted, '&', '\\&', 'g')\n- let formatted = substitute(formatted, '<', '\\<', 'g')\n- let formatted = substitute(formatted, '>', '\\>', 'g')\n- let formatted = substitute(formatted, '\"', '\\"', 'g')\n- \" ' is not valid in HTML but it is in XHTML, so just use the numeric\n- \" reference for it instead. Needed because it could appear in quotes\n- \" especially if unselectable regions is turned on.\n- let formatted = substitute(formatted, '\"', '\\'', 'g')\n-\n- \" Replace a \"form feed\" character with HTML to do a page break\n- \" TODO: need to prevent this in unselectable areas? Probably it should never\n- \" BE in an unselectable area...\n- let formatted = substitute(formatted, \"\\x0c\", '
', 'g')\n-\n- \" Replace double spaces, leading spaces, and trailing spaces if needed\n- if ' ' != s:HtmlSpace\n- let formatted = substitute(formatted, ' ', s:HtmlSpace .. s:HtmlSpace, 'g')\n- let formatted = substitute(formatted, '^ ', s:HtmlSpace, 'g')\n- let formatted = substitute(formatted, ' \\+$', s:HtmlSpace, 'g')\n- endif\n-\n- \" Enclose in the correct format\n- return s:BuildStyleWrapper(a:style_id, a:diff_style_id, a:extra_attrs, formatted, a:make_unselectable, unformatted)\n-endfun\n-\n-\" set up functions to call HtmlFormat in certain ways based on whether the\n-\" element is supposed to be unselectable or not\n-if s:settings.prevent_copy =~# 'n'\n- if s:settings.number_lines\n- if s:settings.line_ids\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n-\tif a:lnr > 0\n-\t return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id=\"'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : \"\")..'L'..a:lnr..s:settings.id_suffix..'\" ', 1)\n-\telse\n-\t return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n-\tendif\n- endfun\n- else\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n-\treturn s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n- endfun\n- endif\n- elseif s:settings.line_ids\n- \" if lines are not being numbered the only reason this function gets called\n- \" is to put the line IDs on each line; \"text\" will be empty but lnr will\n- \" always be non-zero, however we don't want to use the because that\n- \" won't work as nice for empty text\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id=\"'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : \"\")..'L'..a:lnr..s:settings.id_suffix..'\" ', 0)\n- endfun\n- endif\n-else\n- if s:settings.line_ids\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n- if a:lnr > 0\n-\treturn s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id=\"'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : \"\")..'L'..a:lnr..s:settings.id_suffix..'\" ', 0)\n- else\n-\treturn s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endif\n- endfun\n- else\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endfun\n- endif\n-endif\n-if s:settings.prevent_copy =~# 'd'\n- function! s:HtmlFormat_d(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n- endfun\n-else\n- function! s:HtmlFormat_d(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endfun\n-endif\n-if s:settings.prevent_copy =~# 'f'\n- if s:settings.use_input_for_pc ==# 'none'\n- \" Simply space-pad to the desired width inside the generated content (note\n- \" that the FoldColumn definition includes a whitespace:pre rule)\n- function! s:FoldColumn_build(char, len, numfill, char2, class, click)\n- return \"\"\n- endfun\n- function! s:FoldColumn_fill()\n- return s:HtmlFormat(repeat(' ', s:foldcolumn), s:FOLD_C_ID, 0, \"\", 1)\n- endfun\n- else\n- \" Note the elements for fill spaces will have a single space for\n- \" content, to allow active cursor CSS selection to work.\n- \"\n- \" Wrap the whole thing in a span for the 1px padding workaround for gaps.\n- \"\n- \" Build the function line by line containing only what is needed for the\n- \" options in use for maximum code sharing with minimal branch logic for\n- \" greater speed.\n- \"\n- \" Note, 'exec' commands do not recognize line continuations, so must\n- \" concatenate lines rather than continue them.\n- let s:build_fun_lines = []\n- call add(s:build_fun_lines, [])\n- let s:build_fun_lines[-1] =<< trim ENDLET\n-\t function! s:FoldColumn_build(char, len, numfill, char2, class, click)\n-\t let l:input_open = \"\" : \"'>\")\n-\t let l:return_span = \"\"\n-\t let l:return_span ..= l:input_open..l:common_attrs..repeat(a:char, a:len)..(a:char2)\n-\t let l:return_span ..= l:input_close\n- ENDLET\n- if s:settings.use_input_for_pc ==# 'fallback'\n- call add(s:build_fun_lines, [])\n- let s:build_fun_lines[-1] =<< trim ENDLET\n-\t let l:return_span ..= \"\"\n- ENDLET\n- endif\n- call add(s:build_fun_lines, [])\n- let s:build_fun_lines[-1] =<< trim ENDLET\n-\t let l:return_span ..= \"\"\n-\t return l:return_span\n-\t endfun\n- ENDLET\n- \" create the function we built line by line above\n- exec join(flatten(s:build_fun_lines), \"\\n\")\n-\n- function! s:FoldColumn_fill()\n- return s:FoldColumn_build(' ', s:foldcolumn, 0, '', 'FoldColumn', '')\n- endfun\n- endif\n-else\n- \" For normal fold columns, simply space-pad to the desired width (note that\n- \" the FoldColumn definition includes a whitespace:pre rule)\n- function! s:FoldColumn_build(char, len, numfill, char2, class, click)\n- return \"\".\n-\t \\ repeat(a:char, a:len)..a:char2..repeat(' ', a:numfill).\n-\t \\ \"\"\n- endfun\n- function! s:FoldColumn_fill()\n- return s:HtmlFormat(repeat(' ', s:foldcolumn), s:FOLD_C_ID, 0, \"\", 0)\n- endfun\n-endif\n-if s:settings.prevent_copy =~# 't'\n- \" put an extra empty span at the end for dynamic folds, so the linebreak can\n- \" be surrounded. Otherwise do it as normal.\n- \"\n- \" TODO: isn't there a better way to do this, than placing it here and using a\n- \" substitute later?\n- if s:settings.dynamic_folds\n- function! s:HtmlFormat_t(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1) .\n-\t \\ s:HtmlFormat(\"\", a:style_id, 0, \"\", 0)\n- endfun\n- else\n- function! s:HtmlFormat_t(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n- endfun\n- endif\n-else\n- function! s:HtmlFormat_t(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endfun\n-endif\n-\n-\" Return CSS style describing given highlight id (can be empty)\n-function! s:CSS1(id)\n- let a = \"\"\n- let translated_ID = synIDtrans(a:id)\n- if synIDattr(translated_ID, \"inverse\")\n- \" For inverse, we always must set both colors (and exchange them)\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- let a = a .. \"color: \" .. ( x != \"\" ? x : s:bgc ) .. \"; \"\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- let a = a .. \"background-color: \" .. ( x != \"\" ? x : s:fgc ) .. \"; \"\n- else\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- if x != \"\" | let a = a .. \"color: \" .. x .. \"; \" | endif\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- if x != \"\"\n- let a = a .. \"background-color: \" .. x .. \"; \"\n- \" stupid hack because almost every browser seems to have at least one font\n- \" which shows 1px gaps between lines which have background\n- let a = a .. \"padding-bottom: 1px; \"\n- elseif (translated_ID == s:FOLDED_ID || translated_ID == s:LINENR_ID || translated_ID == s:FOLD_C_ID) && !empty(s:settings.prevent_copy)\n- \" input elements default to a different color than the rest of the page\n- let a = a .. \"background-color: \" .. s:bgc .. \"; \"\n- endif\n- endif\n- if synIDattr(translated_ID, \"bold\") | let a = a .. \"font-weight: bold; \" | endif\n- if synIDattr(translated_ID, \"italic\") | let a = a .. \"font-style: italic; \" | endif\n- if synIDattr(translated_ID, \"underline\") | let a = a .. \"text-decoration: underline; \" | endif\n- return a\n-endfun\n-\n-if s:settings.dynamic_folds\n- \" compares two folds as stored in our list of folds\n- \" A fold is \"less\" than another if it starts at an earlier line number,\n- \" or ends at a later line number, ties broken by fold level\n- function! s:FoldCompare(f1, f2)\n- if a:f1.firstline != a:f2.firstline\n- \" put it before if it starts earlier\n- return a:f1.firstline - a:f2.firstline\n- elseif a:f1.lastline != a:f2.lastline\n- \" put it before if it ends later\n- return a:f2.lastline - a:f1.lastline\n- else\n- \" if folds begin and end on the same lines, put lowest fold level first\n- return a:f1.level - a:f2.level\n- endif\n- endfunction\n-\n-endif\n-\n-\n-\" Set some options to make it work faster.\n-\" Don't report changes for :substitute, there will be many of them.\n-\" Don't change other windows; turn off scroll bind temporarily\n-let s:old_title = &title\n-let s:old_icon = &icon\n-let s:old_et = &l:et\n-let s:old_bind = &l:scrollbind\n-let s:old_report = &report\n-let s:old_search = @/\n-let s:old_more = &more\n-set notitle noicon\n-setlocal et\n-set nomore\n-set report=1000000\n-setlocal noscrollbind\n-\n-if exists(':ownsyntax') && exists('w:current_syntax')\n- let s:current_syntax = w:current_syntax\n-elseif exists('b:current_syntax')\n- let s:current_syntax = b:current_syntax\n-else\n- let s:current_syntax = 'none'\n-endif\n-\n-if s:current_syntax == ''\n- let s:current_syntax = 'none'\n-endif\n-\n-\" If the user is sourcing this script directly then the plugin version isn't\n-\" known because the main plugin script didn't load. In the usual case where the\n-\" user still has the full Vim runtime installed, or has this full plugin\n-\" installed in a package or something, then we can extract the version from the\n-\" main plugin file at it's usual spot relative to this file. Otherwise the user\n-\" is assembling their runtime piecemeal and we have no idea what versions of\n-\" other files may be present so don't even try to make a guess or assume the\n-\" presence of other specific files with specific meaning.\n-\"\n-\" We don't want to actually source the main plugin file here because the user\n-\" may have a good reason not to (e.g. they define their own TOhtml command or\n-\" something).\n-\"\n-\" If this seems way too complicated and convoluted, it is. Probably I should\n-\" have put the version information in the autoload file from the start. But the\n-\" version has been in the global variable for so long that changing it could\n-\" break a lot of user scripts.\n-if exists(\"g:loaded_2html_plugin\")\n- let s:pluginversion = g:loaded_2html_plugin\n-else\n- if !exists(\"g:unloaded_tohtml_plugin\")\n- let s:main_plugin_path = expand(\":p:h:h\")..\"/plugin/tohtml.vim\"\n- if filereadable(s:main_plugin_path)\n- let s:lines = readfile(s:main_plugin_path, \"\", 20)\n- call filter(s:lines, 'v:val =~ \"loaded_2html_plugin = \"')\n- if empty(s:lines)\n-\tlet g:unloaded_tohtml_plugin = \"unknown\"\n- else\n-\tlet g:unloaded_tohtml_plugin = substitute(s:lines[0], '.*loaded_2html_plugin = \\([''\"]\\)\\(\\%(\\1\\@!.\\)\\+\\)\\1', '\\2', '')\n- endif\n- unlet s:lines\n- else\n- let g:unloaded_tohtml_plugin = \"unknown\"\n- endif\n- unlet s:main_plugin_path\n- endif\n- let s:pluginversion = g:unloaded_tohtml_plugin\n-endif\n-\n-\" Split window to create a buffer with the HTML file.\n-let s:orgbufnr = winbufnr(0)\n-let s:origwin_stl = &l:stl\n-if expand(\"%\") == \"\"\n- if exists('g:html_diff_win_num')\n- exec 'new Untitled_win'..g:html_diff_win_num..'.'.(s:settings.use_xhtml ? 'xhtml' : 'html')\n- else\n- exec 'new Untitled.'..(s:settings.use_xhtml ? 'xhtml' : 'html')\n- endif\n-else\n- exec 'new %.'..(s:settings.use_xhtml ? 'xhtml' : 'html')\n-endif\n-\n-\" Resize the new window to very small in order to make it draw faster\n-let s:old_winheight = winheight(0)\n-let s:old_winfixheight = &l:winfixheight\n-if s:old_winheight > 2\n- resize 1 \" leave enough room to view one line at a time\n- norm! G\n- norm! zt\n-endif\n-setlocal winfixheight\n-\n-let s:newwin_stl = &l:stl\n-\n-\" on the new window, set the least time-consuming fold method\n-let s:old_fen = &foldenable\n-setlocal foldmethod=manual\n-setlocal nofoldenable\n-\n-let s:newwin = winnr()\n-let s:orgwin = bufwinnr(s:orgbufnr)\n-\n-setlocal modifiable\n-%d\n-let s:old_paste = &paste\n-set paste\n-let s:old_magic = &magic\n-set magic\n-\n-\" set the fileencoding to match the charset we'll be using\n-let &l:fileencoding=s:settings.vim_encoding\n-\n-\" According to http://www.w3.org/TR/html4/charset.html#doc-char-set, the byte\n-\" order mark is highly recommend on the web when using multibyte encodings. But,\n-\" it is not a good idea to include it on UTF-8 files. Otherwise, let Vim\n-\" determine when it is actually inserted.\n-if s:settings.vim_encoding == 'utf-8'\n- setlocal nobomb\n-else\n- setlocal bomb\n-endif\n-\n-let s:lines = []\n-\n-if s:settings.use_xhtml\n- if s:settings.encoding != \"\"\n- call add(s:lines, \"\")\n- else\n- call add(s:lines, \"\")\n- endif\n- let s:tag_close = ' />'\n-else\n- let s:tag_close = '>'\n-endif\n-\n-let s:HtmlSpace = ' '\n-let s:LeadingSpace = ' '\n-let s:HtmlEndline = ''\n-if s:settings.no_pre\n- let s:HtmlEndline = '\",\n-\t\\ \"\"])\n- \" include encoding as close to the top as possible, but only if not already\n- \" contained in XML information (to avoid haggling over content type)\n- if s:settings.encoding != \"\" && !s:settings.use_xhtml\n- if s:html5\n- call add(s:lines, '\"..expand(\"%:p:~\")..\"\"),\n-\t\\ (\"\",\n-\t \\ s:settings.use_xhtml ? \"\" : \"\",\n-\t \\]\n- else\n-\t\" if we aren't doing hover_unfold, use CSS 1 only\n-\tcall extend(s:lines, [\n-\t \\ \".FoldColumn { text-decoration: none; white-space: pre; }\",\n-\t \\ \".open-fold .fulltext { display: inline; }\",\n-\t \\ \".open-fold span.Folded { display: none; }\",\n-\t \\ \".open-fold .toggle-open { display: none; }\",\n-\t \\ \".open-fold .toggle-closed { display: inline; }\",\n-\t \\ \"\",\n-\t \\ \".closed-fold .fulltext { display: none; }\",\n-\t \\ \".closed-fold span.Folded { display: inline; }\",\n-\t \\ \".closed-fold .toggle-open { display: inline; }\",\n-\t \\ \".closed-fold .toggle-closed { display: none; }\",\n-\t \\])\n- endif\n- endif\n- \" else we aren't doing any dynamic folding, no need for any special rules\n-\n- call extend(s:lines, [\n-\t \\ s:settings.use_xhtml ? \"\" : '-->',\n-\t \\ \"\",\n-\t \\])\n- call extend(s:lines, s:ieonly)\n- unlet s:ieonly\n- endif\n-\n- let s:uses_script = s:settings.dynamic_folds || s:settings.line_ids\n-\n- \" insert script tag if needed\n- if s:uses_script\n- call extend(s:lines, [\n-\t \\ \"\",\n-\t \\ \"\",\n-\t \\ s:settings.use_xhtml ? '//' : '-->',\n-\t \\ \"\"\n-\t \\ ])\n- endif\n-\n- call extend(s:lines, [\"\",\n-\t\\ \"\"])\n-endif\n-\n-if s:settings.no_pre\n- \" if we're not using CSS we use a font tag which can't have a div inside\n- if s:settings.use_css\n- call extend(s:lines, [\"
\"])\n- endif\n-else\n- call extend(s:lines, [\"
\"])\n-endif\n-\n-exe s:orgwin .. \"wincmd w\"\n-\n-\" caches of style data\n-\" initialize to include line numbers if using them\n-if s:settings.number_lines\n-  let s:stylelist = { s:LINENR_ID : \".LineNr { \" .. s:CSS1( s:LINENR_ID ) .. \"}\" }\n-else\n-  let s:stylelist = {}\n-endif\n-let s:diffstylelist = {\n-      \\   s:DIFF_A_ID : \".DiffAdd { \" .. s:CSS1( s:DIFF_A_ID ) .. \"}\",\n-      \\   s:DIFF_C_ID : \".DiffChange { \" .. s:CSS1( s:DIFF_C_ID ) .. \"}\",\n-      \\   s:DIFF_D_ID : \".DiffDelete { \" .. s:CSS1( s:DIFF_D_ID ) .. \"}\",\n-      \\   s:DIFF_T_ID : \".DiffText { \" .. s:CSS1( s:DIFF_T_ID ) .. \"}\"\n-      \\ }\n-\n-\" set up progress bar in the status line\n-if !s:settings.no_progress\n-  \" ProgressBar Indicator\n-  let s:progressbar={}\n-\n-  \" Progressbar specific functions\n-\n-  func! s:SetProgbarColor()\n-    if hlID(\"TOhtmlProgress\") != 0\n-      hi! link TOhtmlProgress_auto TOhtmlProgress\n-    elseif hlID(\"TOhtmlProgress_auto\")==0 ||\n-       \\ !exists(\"s:last_colors_name\") || !exists(\"g:colors_name\") ||\n-       \\ g:colors_name != s:last_colors_name\n-      let s:last_colors_name = exists(\"g:colors_name\") ? g:colors_name : \"none\"\n-\n-      let l:diffatr = synIDattr(hlID(\"DiffDelete\")->synIDtrans(), \"reverse\", s:whatterm) ? \"fg#\" : \"bg#\"\n-      let l:stlatr = synIDattr(hlID(\"StatusLine\")->synIDtrans(), \"reverse\", s:whatterm) ? \"fg#\" : \"bg#\"\n-\n-      let l:progbar_color = synIDattr(hlID(\"DiffDelete\")->synIDtrans(), l:diffatr, s:whatterm)\n-      let l:stl_color = synIDattr(hlID(\"StatusLine\")->synIDtrans(), l:stlatr, s:whatterm)\n-\n-      if \"\" == l:progbar_color\n-\tlet l:progbar_color = synIDattr(hlID(\"DiffDelete\")->synIDtrans(), \"reverse\", s:whatterm) ? s:fgc : s:bgc\n-      endif\n-      if \"\" == l:stl_color\n-\tlet l:stl_color = synIDattr(hlID(\"StatusLine\")->synIDtrans(), \"reverse\", s:whatterm) ? s:fgc : s:bgc\n-      endif\n-\n-      if l:progbar_color == l:stl_color\n-\tif s:whatterm == 'cterm'\n-\t  if l:progbar_color >= (&t_Co/2)\n-\t    let l:progbar_color-=1\n-\t  else\n-\t    let l:progbar_color+=1\n-\t  endif\n-\telse\n-\t  let l:rgb = map(matchlist(l:progbar_color, '#\\zs\\x\\x\\ze\\(\\x\\x\\)\\(\\x\\x\\)')[:2], 'str2nr(v:val, 16)')\n-\t  let l:avg = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3\n-\t  if l:avg >= 128\n-\t    let l:avg_new = l:avg\n-\t    while l:avg - l:avg_new < 0x15\n-\t      let l:rgb = map(l:rgb, 'v:val * 3 / 4')\n-\t      let l:avg_new = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3\n-\t    endwhile\n-\t  else\n-\t    let l:avg_new = l:avg\n-\t    while l:avg_new - l:avg < 0x15\n-\t      let l:rgb = map(l:rgb, 'min([max([v:val, 4]) * 5 / 4, 255])')\n-\t      let l:avg_new = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3\n-\t    endwhile\n-\t  endif\n-\t  let l:progbar_color = printf(\"#%02x%02x%02x\", l:rgb[0], l:rgb[1], l:rgb[2])\n-\tendif\n-\techomsg \"diff detected progbar color set to\" l:progbar_color\n-      endif\n-      exe \"hi TOhtmlProgress_auto\" s:whatterm..\"bg=\"..l:progbar_color\n-    endif\n-  endfun\n-\n-  func! s:ProgressBar(title, max_value, winnr)\n-    let pgb=copy(s:progressbar)\n-    let pgb.title = a:title..' '\n-    let pgb.max_value = a:max_value\n-    let pgb.winnr = a:winnr\n-    let pgb.cur_value = 0\n-\n-    let pgb.items = { 'title'   : { 'color' : 'Statusline' },\n-\t  \\'bar'     : { 'color' : 'Statusline' , 'fillcolor' : 'TOhtmlProgress_auto' , 'bg' : 'Statusline' } ,\n-\t  \\'counter' : { 'color' : 'Statusline' } }\n-    let pgb.last_value = 0\n-    let pgb.needs_redraw = 0\n-    \" Note that you must use len(split) instead of len() if you want to use \n-    \" unicode in title.\n-    \"\n-    \" Subtract 3 for spacing around the title.\n-    \" Subtract 4 for the percentage display.\n-    \" Subtract 2 for spacing before this.\n-    \" Subtract 2 more for the '|' on either side of the progress bar\n-    let pgb.subtractedlen=len(split(pgb.title, '\\zs'))+3+4+2+2\n-    let pgb.max_len = 0\n-    set laststatus=2\n-    return pgb\n-  endfun\n-\n-  \" Function: progressbar.calculate_ticks() {{{1\n-  func! s:progressbar.calculate_ticks(pb_len)\n-    if a:pb_len<=0\n-      let pb_len = 100\n-    else\n-      let pb_len = a:pb_len\n-    endif\n-    let self.progress_ticks = map(range(pb_len+1), \"v:val * self.max_value / pb_len\")\n-  endfun\n-\n-  \"Function: progressbar.paint()\n-  func! s:progressbar.paint()\n-    \" Recalculate widths.\n-    let max_len = winwidth(self.winnr)\n-    let pb_len = 0\n-    \" always true on first call because of initial value of self.max_len\n-    if max_len != self.max_len\n-      let self.max_len = max_len\n-\n-      \" Progressbar length\n-      let pb_len = max_len - self.subtractedlen\n-\n-      call self.calculate_ticks(pb_len)\n-\n-      let self.needs_redraw = 1\n-      let cur_value = 0\n-      let self.pb_len = pb_len\n-    else\n-      \" start searching at the last found index to make the search for the\n-      \" appropriate tick value normally take 0 or 1 comparisons\n-      let cur_value = self.last_value\n-      let pb_len = self.pb_len\n-    endif\n-\n-    let cur_val_max = pb_len > 0 ? pb_len : 100\n-\n-    \" find the current progress bar position based on precalculated thresholds\n-    while cur_value < cur_val_max && self.cur_value > self.progress_ticks[cur_value]\n-      let cur_value += 1\n-    endwhile\n-\n-    \" update progress bar\n-    if self.last_value != cur_value || self.needs_redraw || self.cur_value == self.max_value\n-      let self.needs_redraw = 1\n-      let self.last_value = cur_value\n-\n-      let t_color  = self.items.title.color\n-      let b_fcolor = self.items.bar.fillcolor\n-      let b_color  = self.items.bar.color\n-      let c_color  = self.items.counter.color\n-\n-      let stl =  \"%#\".t_color.\"#%-( \".self.title.\" %)\".\n-\t    \\\"%#\".b_color.\"#\".\n-\t    \\(pb_len>0 ?\n-\t    \\\t('|%#'.b_fcolor.\"#%-(\".repeat(\" \",cur_value).\"%)\".\n-\t    \\\t '%#'.b_color.\"#\".repeat(\" \",pb_len-cur_value).\"|\"):\n-\t    \\\t('')).\n-\t    \\\"%=%#\".c_color.\"#%( \".printf(\"%3.d \",100*self.cur_value/self.max_value).\"%% %)\"\n-      call setwinvar(self.winnr, '&stl', stl)\n-    endif\n-  endfun\n-\n-  func! s:progressbar.incr( ... )\n-    let self.cur_value += (a:0 ? a:1 : 1)\n-    \" if we were making a general-purpose progress bar, we'd need to limit to a\n-    \" lower limit as well, but since we always increment with a positive value\n-    \" in this script, we only need limit the upper value\n-    let self.cur_value = (self.cur_value > self.max_value ? self.max_value : self.cur_value)\n-    call self.paint()\n-  endfun\n-  \" }}}\n-  if s:settings.dynamic_folds\n-    \" to process folds we make two passes through each line\n-    let s:pgb = s:ProgressBar(\"Processing folds:\", line('$')*2, s:orgwin)\n-  endif\n-\n-  call s:SetProgbarColor()\n-endif\n-\n-let s:build_fun_lines = []\n-call add(s:build_fun_lines, [])\n-let s:build_fun_lines[-1] =<< trim ENDLET\n-    func! s:Add_diff_fill(lnum)\n-      let l:filler = diff_filler(a:lnum)\n-      if l:filler > 0\n-\tlet l:to_insert = l:filler\n-\twhile l:to_insert > 0\n-\t  let l:new = repeat(s:difffillchar, 3)\n-\n-\t  if l:to_insert > 2 && l:to_insert < l:filler && !s:settings.whole_filler\n-\t    let l:new = l:new .. \" \" .. l:filler .. \" inserted lines \"\n-\t    let l:to_insert = 2\n-\t  endif\n-ENDLET\n-call add(s:build_fun_lines, [])\n-if !s:settings.no_pre\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  \" HTML line wrapping is off--go ahead and fill to the margin\n-\t  \" TODO: what about when CSS wrapping is turned on?\n-\t  let l:new = l:new .. repeat(s:difffillchar, &columns - strlen(l:new) - s:margin)\n-  ENDLET\n-else\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  let l:new = l:new .. repeat(s:difffillchar, 3)\n-  ENDLET\n-endif\n-call add(s:build_fun_lines, [])\n-let s:build_fun_lines[-1] =<< trim ENDLET\n-\tlet l:new = s:HtmlFormat_d(l:new, s:DIFF_D_ID, 0)\n-ENDLET\n-if s:settings.number_lines\n-  call add(s:build_fun_lines, [])\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  \" Indent if line numbering is on. Indent gets style of line number\n-\t  \" column.\n-\t  let l:new = s:HtmlFormat_n(repeat(' ', s:margin), s:LINENR_ID, 0, 0) .. l:new\n-  ENDLET\n-endif\n-if s:settings.dynamic_folds && !s:settings.no_foldcolumn \n-  call add(s:build_fun_lines, [])\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  if s:foldcolumn > 0\n-\t    \" Indent for foldcolumn if there is one. Assume it's empty, there should\n-\t    \" not be a fold for deleted lines in diff mode.\n-\t    let l:new = s:FoldColumn_fill() .. l:new\n-\t  endif\n-  ENDLET\n-endif\n-\" Ignore this comment, just bypassing a highlighting issue: if\n-call add(s:build_fun_lines, [])\n-let s:build_fun_lines[-1] =<< trim ENDLET\n-\tcall add(s:lines, l:new..s:HtmlEndline)\n-\tlet l:to_insert = l:to_insert - 1\n-      endwhile\n-    endif\n-  endfun\n-ENDLET\n-exec join(flatten(s:build_fun_lines), \"\\n\")\n-\n-\" First do some preprocessing for dynamic folding. Do this for the entire file\n-\" so we don't accidentally start within a closed fold or something.\n-let s:allfolds = []\n-\n-if s:settings.dynamic_folds\n-  let s:lnum = 1\n-  let s:end = line('$')\n-  \" save the fold text and set it to the default so we can find fold levels\n-  let s:foldtext_save = &foldtext\n-  setlocal foldtext&\n-\n-  \" we will set the foldcolumn in the html to the greater of the maximum fold\n-  \" level and the current foldcolumn setting\n-  let s:foldcolumn = &foldcolumn\n-\n-  \" get all info needed to describe currently closed folds\n-  while s:lnum <= s:end\n-    if foldclosed(s:lnum) == s:lnum\n-      \" default fold text has '+-' and then a number of dashes equal to fold\n-      \" level, so subtract 2 from index of first non-dash after the dashes\n-      \" in order to get the fold level of the current fold\n-      let s:level = match(foldtextresult(s:lnum), '+-*\\zs[^-]') - 2\n-      \" store fold info for later use\n-      let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': \"closed-fold\"}\n-      call add(s:allfolds, s:newfold)\n-      \" open the fold so we can find any contained folds\n-      execute s:lnum..\"foldopen\"\n-    else\n-      if !s:settings.no_progress\n-\tcall s:pgb.incr()\n-\tif s:pgb.needs_redraw\n-\t  redrawstatus\n-\t  let s:pgb.needs_redraw = 0\n-\tendif\n-      endif\n-      let s:lnum = s:lnum + 1\n-    endif\n-  endwhile\n-\n-  \" close all folds to get info for originally open folds\n-  silent! %foldclose!\n-  let s:lnum = 1\n-\n-  \" the originally open folds will be all folds we encounter that aren't\n-  \" already in the list of closed folds\n-  while s:lnum <= s:end\n-    if foldclosed(s:lnum) == s:lnum\n-      \" default fold text has '+-' and then a number of dashes equal to fold\n-      \" level, so subtract 2 from index of first non-dash after the dashes\n-      \" in order to get the fold level of the current fold\n-      let s:level = match(foldtextresult(s:lnum), '+-*\\zs[^-]') - 2\n-      let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': \"closed-fold\"}\n-      \" only add the fold if we don't already have it\n-      if empty(s:allfolds) || index(s:allfolds, s:newfold) == -1\n-\tlet s:newfold.type = \"open-fold\"\n-\tcall add(s:allfolds, s:newfold)\n-      endif\n-      \" open the fold so we can find any contained folds\n-      execute s:lnum..\"foldopen\"\n-    else\n-      if !s:settings.no_progress\n-\tcall s:pgb.incr()\n-\tif s:pgb.needs_redraw\n-\t  redrawstatus\n-\t  let s:pgb.needs_redraw = 0\n-\tendif\n-      endif\n-      let s:lnum = s:lnum + 1\n-    endif\n-  endwhile\n-\n-  \" sort the folds so that we only ever need to look at the first item in the\n-  \" list of folds\n-  call sort(s:allfolds, \"s:FoldCompare\")\n-\n-  let &l:foldtext = s:foldtext_save\n-  unlet s:foldtext_save\n-\n-  \" close all folds again so we can get the fold text as we go\n-  silent! %foldclose!\n-\n-  \" Go through and remove folds we don't need to (or cannot) process in the\n-  \" current conversion range\n-  \"\n-  \" If a fold is removed which contains other folds, which are included, we need\n-  \" to adjust the level of the included folds as used by the conversion logic\n-  \" (avoiding special cases is good)\n-  \"\n-  \" Note any time we remove a fold, either all of the included folds are in it,\n-  \" or none of them, because we only remove a fold if neither its start nor its\n-  \" end are within the conversion range.\n-  let leveladjust = 0\n-  for afold in s:allfolds\n-    let removed = 0\n-    if exists(\"g:html_start_line\") && exists(\"g:html_end_line\")\n-      if afold.firstline < g:html_start_line\n-\tif afold.lastline <= g:html_end_line && afold.lastline >= g:html_start_line\n-\t  \" if a fold starts before the range to convert but stops within the\n-\t  \" range, we need to include it. Make it start on the first converted\n-\t  \" line.\n-\t  let afold.firstline = g:html_start_line\n-\telse\n-\t  \" if the fold lies outside the range or the start and stop enclose\n-\t  \" the entire range, don't bother parsing it\n-\t  call remove(s:allfolds, index(s:allfolds, afold))\n-\t  let removed = 1\n-\t  if afold.lastline > g:html_end_line\n-\t    let leveladjust += 1\n-\t  endif\n-\tendif\n-      elseif afold.firstline > g:html_end_line\n-\t\" If the entire fold lies outside the range we need to remove it.\n-\tcall remove(s:allfolds, index(s:allfolds, afold))\n-\tlet removed = 1\n-      endif\n-    elseif exists(\"g:html_start_line\")\n-      if afold.firstline < g:html_start_line\n-\t\" if there is no last line, but there is a first line, the end of the\n-\t\" fold will always lie within the region of interest, so keep it\n-\tlet afold.firstline = g:html_start_line\n-      endif\n-    elseif exists(\"g:html_end_line\")\n-      \" if there is no first line we default to the first line in the buffer so\n-      \" the fold start will always be included if the fold itself is included.\n-      \" If however the entire fold lies outside the range we need to remove it.\n-      if afold.firstline > g:html_end_line\n-\tcall remove(s:allfolds, index(s:allfolds, afold))\n-\tlet removed = 1\n-      endif\n-    endif\n-    if !removed\n-      let afold.level -= leveladjust\n-      if afold.level+1 > s:foldcolumn\n-\tlet s:foldcolumn = afold.level+1\n-      endif\n-    endif\n-  endfor\n-\n-  \" if we've removed folds containing the conversion range from processing,\n-  \" getting foldtext as we go won't know to open the removed folds, so the\n-  \" foldtext would be wrong; open them now.\n-  \"\n-  \" Note that only when a start and an end line is specified will a fold\n-  \" containing the current range ever be removed.\n-  while leveladjust > 0\n-    exe g:html_start_line..\"foldopen\"\n-    let leveladjust -= 1\n-  endwhile\n-endif\n-\n-\" Now loop over all lines in the original text to convert to html.\n-\" Use html_start_line and html_end_line if they are set.\n-if exists(\"g:html_start_line\")\n-  let s:lnum = html_start_line\n-  if s:lnum < 1 || s:lnum > line(\"$\")\n-    let s:lnum = 1\n-  endif\n-else\n-  let s:lnum = 1\n-endif\n-if exists(\"g:html_end_line\")\n-  let s:end = html_end_line\n-  if s:end < s:lnum || s:end > line(\"$\")\n-    let s:end = line(\"$\")\n-  endif\n-else\n-  let s:end = line(\"$\")\n-endif\n-\n-\" stack to keep track of all the folds containing the current line\n-let s:foldstack = []\n-\n-if !s:settings.no_progress\n-  let s:pgb = s:ProgressBar(\"Processing lines:\", s:end - s:lnum + 1, s:orgwin)\n-endif\n-\n-if s:settings.number_lines\n-  let s:margin = strlen(s:end) + 1\n-else\n-  let s:margin = 0\n-endif\n-\n-if has('folding') && !s:settings.ignore_folding\n-  let s:foldfillchar = &fillchars[matchend(&fillchars, 'fold:')]\n-  if s:foldfillchar == ''\n-    let s:foldfillchar = '-'\n-  endif\n-endif\n-let s:difffillchar = &fillchars[matchend(&fillchars, 'diff:')]\n-if s:difffillchar == ''\n-  let s:difffillchar = '-'\n-endif\n-\n-let s:foldId = 0\n-\n-if !s:settings.expand_tabs\n-  \" If keeping tabs, add them to printable characters so we keep them when\n-  \" formatting text (strtrans() doesn't replace printable chars)\n-  let s:old_isprint = &isprint\n-  setlocal isprint+=9\n-endif\n-\n-while s:lnum <= s:end\n-\n-  \" If there are filler lines for diff mode, show these above the line.\n-  call s:Add_diff_fill(s:lnum)\n-\n-  \" Start the line with the line number.\n-  if s:settings.number_lines\n-    let s:numcol = repeat(' ', s:margin - 1 - strlen(s:lnum)) .. s:lnum .. ' '\n-  endif\n-\n-  let s:new = \"\"\n-\n-  if has('folding') && !s:settings.ignore_folding && foldclosed(s:lnum) > -1 && !s:settings.dynamic_folds\n-    \"\n-    \" This is the beginning of a folded block (with no dynamic folding)\n-    let s:new = foldtextresult(s:lnum)\n-    if !s:settings.no_pre\n-      \" HTML line wrapping is off--go ahead and fill to the margin\n-      let s:new = s:new .. repeat(s:foldfillchar, &columns - strlen(s:new))\n-    endif\n-\n-    \" put numcol in a separate group for sake of unselectable text\n-    let s:new = (s:settings.number_lines ? s:HtmlFormat_n(s:numcol, s:FOLDED_ID, 0, s:lnum): \"\") .. s:HtmlFormat_t(s:new, s:FOLDED_ID, 0)\n-\n-    \" Skip to the end of the fold\n-    let s:new_lnum = foldclosedend(s:lnum)\n-\n-    if !s:settings.no_progress\n-      call s:pgb.incr(s:new_lnum - s:lnum)\n-    endif\n-\n-    let s:lnum = s:new_lnum\n-\n-  else\n-    \"\n-    \" A line that is not folded, or doing dynamic folding.\n-    \"\n-    let s:line = getline(s:lnum)\n-    let s:len = strlen(s:line)\n-\n-    if s:settings.dynamic_folds\n-      \" First insert a closing for any open folds that end on this line\n-      while !empty(s:foldstack) && get(s:foldstack,0).lastline == s:lnum-1\n-\tlet s:new = s:new..\"\"\n-\tcall remove(s:foldstack, 0)\n-      endwhile\n-\n-      \" Now insert an opening for any new folds that start on this line\n-      let s:firstfold = 1\n-      while !empty(s:allfolds) && get(s:allfolds,0).firstline == s:lnum\n-\tlet s:foldId = s:foldId + 1\n-\tlet s:new ..= \"\"\n-\n-\n-\t\" Unless disabled, add a fold column for the opening line of a fold.\n-\t\"\n-\t\" Note that dynamic folds require using css so we just use css to take\n-\t\" care of the leading spaces rather than using   in the case of\n-\t\" html_no_pre to make it easier\n-\tif !s:settings.no_foldcolumn\n-\t  \" add fold column that can open the new fold\n-\t  if s:allfolds[0].level > 1 && s:firstfold\n-\t    let s:new = s:new .. s:FoldColumn_build('|', s:allfolds[0].level - 1, 0, \"\",\n-\t\t  \\ 'toggle-open FoldColumn','javascript:toggleFold(\"fold'..s:foldstack[0].id..s:settings.id_suffix..'\");')\n-\t  endif\n-\t  \" add the filler spaces separately from the '+' char so that it can be\n-\t  \" shown/hidden separately during a hover unfold\n-\t  let s:new = s:new .. s:FoldColumn_build(\"+\", 1, 0, \"\",\n-\t\t\\ 'toggle-open FoldColumn', 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\t  \" If this is not the last fold we're opening on this line, we need\n-\t  \" to keep the filler spaces hidden if the fold is opened by mouse\n-\t  \" hover. If it is the last fold to open in the line, we shouldn't hide\n-\t  \" them, so don't apply the toggle-filler class.\n-\t  let s:new = s:new .. s:FoldColumn_build(\" \", 1, s:foldcolumn - s:allfolds[0].level - 1, \"\",\n-\t\t\\ 'toggle-open FoldColumn'.. (get(s:allfolds, 1, {'firstline': 0}).firstline == s:lnum ?\" toggle-filler\" :\"\"),\n-\t\t\\ 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\n-\t  \" add fold column that can close the new fold\n-\t  \" only add extra blank space if we aren't opening another fold on the\n-\t  \" same line\n-\t  if get(s:allfolds, 1, {'firstline': 0}).firstline != s:lnum\n-\t    let s:extra_space = s:foldcolumn - s:allfolds[0].level\n-\t  else\n-\t    let s:extra_space = 0\n-\t  endif\n-\t  if s:firstfold\n-\t    \" the first fold in a line has '|' characters from folds opened in\n-\t    \" previous lines, before the '-' for this fold\n-\t    let s:new ..= s:FoldColumn_build('|', s:allfolds[0].level - 1, s:extra_space, '-',\n-\t\t  \\ 'toggle-closed FoldColumn', 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\t  else\n-\t    \" any subsequent folds in the line only add a single '-'\n-\t    let s:new = s:new .. s:FoldColumn_build(\"-\", 1, s:extra_space, \"\",\n-\t\t  \\ 'toggle-closed FoldColumn', 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\t  endif\n-\t  let s:firstfold = 0\n-\tendif\n-\n-\t\" Add fold text, moving the span ending to the next line so collapsing\n-\t\" of folds works correctly.\n-\t\" Put numcol in a separate group for sake of unselectable text.\n-\tlet s:new = s:new .. (s:settings.number_lines ? s:HtmlFormat_n(s:numcol, s:FOLDED_ID, 0, 0) : \"\") .. substitute(s:HtmlFormat_t(foldtextresult(s:lnum), s:FOLDED_ID, 0), '', s:HtmlEndline..'\\n\\0', '')\n-\tlet s:new = s:new .. \"\"\n-\n-\t\" open the fold now that we have the fold text to allow retrieval of\n-\t\" fold text for subsequent folds\n-\texecute s:lnum..\"foldopen\"\n-\tcall insert(s:foldstack, remove(s:allfolds,0))\n-\tlet s:foldstack[0].id = s:foldId\n-      endwhile\n-\n-      \" Unless disabled, add a fold column for other lines.\n-      \"\n-      \" Note that dynamic folds require using css so we just use css to take\n-      \" care of the leading spaces rather than using   in the case of\n-      \" html_no_pre to make it easier\n-      if !s:settings.no_foldcolumn\n-\tif empty(s:foldstack)\n-\t  \" add the empty foldcolumn for unfolded lines if there is a fold\n-\t  \" column at all\n-\t  if s:foldcolumn > 0\n-\t    let s:new = s:new .. s:FoldColumn_fill()\n-\t  endif\n-\telse\n-\t  \" add the fold column for folds not on the opening line\n-\t  if get(s:foldstack, 0).firstline < s:lnum\n-\t    let s:new = s:new .. s:FoldColumn_build('|', s:foldstack[0].level, s:foldcolumn - s:foldstack[0].level, \"\",\n-\t\t  \\ 'FoldColumn', 'javascript:toggleFold(\"fold'..s:foldstack[0].id..s:settings.id_suffix..'\");')\n-\t  endif\n-\tendif\n-      endif\n-    endif\n-\n-    \" Now continue with the unfolded line text\n-    if s:settings.number_lines\n-      let s:new = s:new .. s:HtmlFormat_n(s:numcol, s:LINENR_ID, 0, s:lnum)\n-    elseif s:settings.line_ids\n-      let s:new = s:new .. s:HtmlFormat_n(\"\", s:LINENR_ID, 0, s:lnum)\n-    endif\n-\n-    \" Get the diff attribute, if any.\n-    let s:diffattr = diff_hlID(s:lnum, 1)\n-\n-    \" initialize conceal info to act like not concealed, just in case\n-    let s:concealinfo = [0, '']\n-\n-    \" Loop over each character in the line\n-    let s:col = 1\n-\n-    \" most of the time we won't use the diff_id, initialize to zero\n-    let s:diff_id = 0\n-\n-    while s:col <= s:len || (s:col == 1 && s:diffattr)\n-      let s:startcol = s:col \" The start column for processing text\n-      if !s:settings.ignore_conceal && has('conceal')\n-\tlet s:concealinfo = synconcealed(s:lnum, s:col)\n-      endif\n-      if !s:settings.ignore_conceal && s:concealinfo[0]\n-\tlet s:col = s:col + 1\n-\t\" Speed loop (it's small - that's the trick)\n-\t\" Go along till we find a change in the match sequence number (ending\n-\t\" the specific concealed region) or until there are no more concealed\n-\t\" characters.\n-\twhile s:col <= s:len && s:concealinfo == synconcealed(s:lnum, s:col) | let s:col = s:col + 1 | endwhile\n-      elseif s:diffattr\n-\tlet s:diff_id = diff_hlID(s:lnum, s:col)\n-\tlet s:id = synID(s:lnum, s:col, 1)\n-\tlet s:col = s:col + 1\n-\t\" Speed loop (it's small - that's the trick)\n-\t\" Go along till we find a change in hlID\n-\twhile s:col <= s:len && s:id == synID(s:lnum, s:col, 1)\n-\t      \\   && s:diff_id == diff_hlID(s:lnum, s:col) |\n-\t      \\     let s:col = s:col + 1 |\n-\t      \\ endwhile\n-\tif s:len < &columns && !s:settings.no_pre\n-\t  \" Add spaces at the end of the raw text line to extend the changed\n-\t  \" line to the full width.\n-\t  let s:line = s:line .. repeat(' ', &columns - virtcol([s:lnum, s:len]) - s:margin)\n-\t  let s:len = &columns\n-\tendif\n-      else\n-\tlet s:id = synID(s:lnum, s:col, 1)\n-\tlet s:col = s:col + 1\n-\t\" Speed loop (it's small - that's the trick)\n-\t\" Go along till we find a change in synID\n-\twhile s:col <= s:len && s:id == synID(s:lnum, s:col, 1) | let s:col = s:col + 1 | endwhile\n-      endif\n-\n-      if s:settings.ignore_conceal || !s:concealinfo[0]\n-\t\" Expand tabs if needed\n-\tlet s:expandedtab = strpart(s:line, s:startcol - 1, s:col - s:startcol)\n-\tif s:settings.expand_tabs\n-\t  let s:offset = 0\n-\t  let s:idx = stridx(s:expandedtab, \"\\t\")\n-\t  let s:tablist = exists(\"+vts\") ? split(&vts,',') : []\n-\t  if empty(s:tablist)\n-\t    let s:tablist = [ &ts ]\n-\t  endif\n-\t  let s:tabidx = 0\n-\t  let s:tabwidth = 0\n-\t  while s:idx >= 0\n-\t    if s:startcol + s:idx == 1\n-\t      let s:i = s:tablist[0]\n-\t    else\n-\t      \" Get the character, which could be multiple bytes, which falls\n-\t      \" immediately before the found tab. Extract it by matching a\n-\t      \" character just prior to the column where the tab matches.\n-\t      \" We'll use this to get the byte index of the character\n-\t      \" immediately preceding the tab, so we can then look up the\n-\t      \" virtual column that character appears in, to determine how\n-\t      \" much of the current tabstop has been used up.\n-\t      if s:idx == 0\n-\t\t\" if the found tab is the first character in the text being\n-\t\t\" processed, we need to get the character prior to the text,\n-\t\t\" given by startcol.\n-\t\tlet s:prevc = matchstr(s:line, '.\\%' .. (s:startcol + s:offset) .. 'c')\n-\t      else\n-\t\t\" Otherwise, the byte index of the tab into s:expandedtab is\n-\t\t\" given by s:idx.\n-\t\tlet s:prevc = matchstr(s:expandedtab, '.\\%' .. (s:idx + 1) .. 'c')\n-\t      endif\n-\t      let s:vcol = virtcol([s:lnum, s:startcol + s:idx + s:offset - len(s:prevc)])\n-\n-\t      \" find the tabstop interval to use for the tab we just found. Keep\n-\t      \" adding tabstops (which could be variable) until we would exceed\n-\t      \" the virtual screen position of the start of the found tab.\n-\t      while s:vcol >= s:tabwidth + s:tablist[s:tabidx]\n-\t\tlet s:tabwidth += s:tablist[s:tabidx]\n-\t\tif s:tabidx < len(s:tablist)-1\n-\t\t  let s:tabidx = s:tabidx+1\n-\t\tendif\n-\t      endwhile\n-\t      let s:i = s:tablist[s:tabidx] - (s:vcol - s:tabwidth)\n-\t    endif\n-\t    \" update offset to keep the index within the line corresponding to\n-\t    \" actual tab characters instead of replaced spaces; s:idx reflects\n-\t    \" replaced spaces in s:expandedtab, s:offset cancels out all but\n-\t    \" the tab character itself.\n-\t    let s:offset -= s:i - 1\n-\t    let s:expandedtab = substitute(s:expandedtab, '\\t', repeat(' ', s:i), '')\n-\t    let s:idx = stridx(s:expandedtab, \"\\t\")\n-\t  endwhile\n-\tend\n-\n-\t\" get the highlight group name to use\n-\tlet s:id = synIDtrans(s:id)\n-      else\n-\t\" use Conceal highlighting for concealed text\n-\tlet s:id = s:CONCEAL_ID\n-\tlet s:expandedtab = s:concealinfo[1]\n-      endif\n-\n-      \" Output the text with the same synID, with class set to the highlight ID\n-      \" name, unless it has been concealed completely.\n-      if strlen(s:expandedtab) > 0\n-\tlet s:new = s:new .. s:HtmlFormat(s:expandedtab,  s:id, s:diff_id, \"\", 0)\n-      endif\n-    endwhile\n-  endif\n-\n-  call extend(s:lines, split(s:new..s:HtmlEndline, '\\n', 1))\n-  if !s:settings.no_progress && s:pgb.needs_redraw\n-    redrawstatus\n-    let s:pgb.needs_redraw = 0\n-  endif\n-  let s:lnum = s:lnum + 1\n-\n-  if !s:settings.no_progress\n-    call s:pgb.incr()\n-  endif\n-endwhile\n-\n-\" Diff filler is returned based on what needs inserting *before* the given line.\n-\" So to get diff filler at the end of the buffer, we need to use last line + 1\n-call s:Add_diff_fill(s:end+1)\n-\n-if s:settings.dynamic_folds\n-  \" finish off any open folds\n-  while !empty(s:foldstack)\n-    let s:lines[-1]..=\"\"\n-    call remove(s:foldstack, 0)\n-  endwhile\n-\n-  \" add fold column to the style list if not already there\n-  let s:id = s:FOLD_C_ID\n-  if !has_key(s:stylelist, s:id)\n-    let s:stylelist[s:id] = '.FoldColumn { ' .. s:CSS1(s:id) .. '}'\n-  endif\n-endif\n-\n-if s:settings.no_pre\n-  if !s:settings.use_css\n-    \" Close off the font tag that encapsulates the whole \n-    call extend(s:lines, [\"\"])\n-  else\n-    call extend(s:lines, [\"
\"])\n- endif\n-else\n- call extend(s:lines, [\"\"])\n-endif\n-if !s:settings.no_doc\n- call extend(s:lines, [\"\", \"\"])\n-endif\n-\n-exe s:newwin .. \"wincmd w\"\n-call setline(1, s:lines)\n-unlet s:lines\n-\n-\" Mangle modelines so Vim doesn't try to use HTML text as a modeline if editing\n-\" this file in the future; need to do this after generating all the text in case\n-\" the modeline text has different highlight groups which all turn out to be\n-\" stripped from the final output.\n-%s!\\v(%(^|\\s+)%([Vv]i%(m%([<=>]?\\d+)?)?|ex)):!\\1\\:!ge\n-\n-\" The generated HTML is admittedly ugly and takes a LONG time to fold.\n-\" Make sure the user doesn't do syntax folding when loading a generated file,\n-\" using a modeline.\n-if !s:settings.no_modeline\n- call append(line('$'), \"\")\n-endif\n-\n-\" Now, when we finally know which, we define the colors and styles\n-if s:settings.use_css && !s:settings.no_doc\n- 1;//+1\n-\n- \" Normal/global attributes\n- if s:settings.no_pre\n- call append('.', \"body { color: \" .. s:fgc .. \"; background-color: \" .. s:bgc .. \"; font-family: \".. s:htmlfont ..\"; }\")\n- +\n- else\n- call append('.', \"pre { \" .. s:whitespace .. \"font-family: \".. s:htmlfont ..\"; color: \" .. s:fgc .. \"; background-color: \" .. s:bgc .. \"; }\")\n- +\n- yank\n- put\n- execute \"normal! ^cwbody\\e\"\n- \" body should not have the wrap formatting, only the pre section\n- if s:whitespace != ''\n- exec 's#'..s:whitespace\n- endif\n- endif\n- \" fix browser inconsistencies (sometimes within the same browser) of different\n- \" default font size for different elements\n- call append('.', '* { font-size: 1em; }')\n- +\n- \" if we use any input elements for unselectable content, make sure they look\n- \" like normal text\n- if !empty(s:settings.prevent_copy)\n- if s:settings.use_input_for_pc !=# \"none\"\n- call append('.', 'input { border: none; margin: 0; padding: 0; font-family: '..s:htmlfont..'; }')\n- +\n- \" ch units for browsers which support them, em units for a somewhat\n- \" reasonable fallback.\n- for w in range(1, 20, 1)\n-\tcall append('.', [\n-\t \\ \"input[size='\"..w..\"'] { width: \"..w..\"em; width: \"..w..\"ch; }\"\n-\t \\ ])\n-\t+\n- endfor\n- endif\n-\n- if s:settings.use_input_for_pc !=# 'all'\n- let s:unselectable_styles = []\n- if s:settings.prevent_copy =~# 'f'\n-\tcall add(s:unselectable_styles, 'FoldColumn')\n- endif\n- if s:settings.prevent_copy =~# 'n'\n-\tcall add(s:unselectable_styles, 'LineNr')\n- endif\n- if s:settings.prevent_copy =~# 't' && !s:settings.ignore_folding\n-\tcall add(s:unselectable_styles, 'Folded')\n- endif\n- if s:settings.prevent_copy =~# 'd'\n-\tcall add(s:unselectable_styles, 'DiffDelete')\n- endif\n- if s:settings.use_input_for_pc !=# 'none'\n-\tcall append('.', [\n-\t \\ '/* Note: IE does not support @supports conditionals, but also does not fully support',\n-\t \\ ' \"content:\" with custom content, so we *want* the check to fail */',\n-\t \\ '@supports ( content: attr(data-custom-content) ) {'\n-\t \\ ])\n-\t+3\n- endif\n- \" The line number column inside the foldtext is styled just like the fold\n- \" text in Vim, but it should use the prevent_copy settings of line number\n- \" rather than fold text. Apply the prevent_copy styles to foldtext\n- \" specifically for line numbers, which always come after the fold column,\n- \" or at the beginning of the line.\n- if s:settings.prevent_copy =~# 'n' && !s:settings.ignore_folding\n-\tcall append('.', [\n-\t \\ ' .FoldColumn + .Folded, .Folded:first-child { user-select: none; }',\n-\t \\ ' .FoldColumn + [data-Folded-content]::before, [data-Folded-content]:first-child::before { content: attr(data-Folded-content); }',\n-\t \\ ' .FoldColumn + [data-Folded-content]::before, [data-Folded-content]:first-child::before { padding-bottom: 1px; display: inline-block; /* match the 1-px padding of standard items with background */ }',\n-\t \\ ' .FoldColumn + span[data-Folded-content]::before, [data-Folded-content]:first-child::before { cursor: default; }',\n-\t \\ ])\n-\t+4\n- endif\n- for s:style_name in s:unselectable_styles\n-\tcall append('.', [\n-\t \\ ' .'..s:style_name..' { user-select: none; }',\n-\t \\ ' [data-'..s:style_name..'-content]::before { content: attr(data-'..s:style_name..'-content); }',\n-\t \\ ' [data-'..s:style_name..'-content]::before { padding-bottom: 1px; display: inline-block; /* match the 1-px padding of standard items with background */ }',\n-\t \\ ' span[data-'..s:style_name..'-content]::before { cursor: default; }',\n-\t \\ ])\n-\t+4\n- endfor\n- if s:settings.use_input_for_pc !=# 'none'\n-\t\" Note, the extra '}' is to match the \"@supports\" above\n-\tcall append('.', [\n-\t \\ ' input { display: none; }',\n-\t \\ '}'\n-\t \\ ])\n-\t+2\n- endif\n- unlet s:unselectable_styles\n- endif\n-\n- \" Fix mouse cursor shape for the fallback method of uncopyable text\n- if s:settings.use_input_for_pc !=# 'none'\n- if s:settings.prevent_copy =~# 'f'\n-\t\" Make the cursor show active fold columns as active areas, and empty fold\n-\t\" columns as not interactive.\n-\tcall append('.', ['input.FoldColumn { cursor: pointer; }',\n-\t \\ 'input.FoldColumn[value=\"'..repeat(' ', s:foldcolumn)..'\"] { cursor: default; }'\n-\t \\ ])\n-\t+2\n-\tif s:settings.use_input_for_pc !=# 'all'\n-\t call append('.', [\n-\t\t\\ 'a[data-FoldColumn-content=\"'..repeat(' ', s:foldcolumn)..'\"] { cursor: default; }'\n-\t\t\\ ])\n-\t +1\n-\tend\n- endif\n- \" make line number column show as non-interactive if not selectable\n- if s:settings.prevent_copy =~# 'n'\n-\tcall append('.', 'input.LineNr { cursor: default; }')\n-\t+\n- endif\n- \" make fold text and line number column within fold text show as\n- \" non-interactive if not selectable\n- if (s:settings.prevent_copy =~# 'n' || s:settings.prevent_copy =~# 't') && !s:settings.ignore_folding\n-\tcall append('.', 'input.Folded { cursor: default; }')\n-\t+\n- endif\n- \" make diff filler show as non-interactive if not selectable\n- if s:settings.prevent_copy =~# 'd'\n-\tcall append('.', 'input.DiffDelete { cursor: default; }')\n-\t+\n- endif\n- endif\n- endif\n-endif\n-\n-if !s:settings.use_css && !s:settings.no_doc\n- \" For Netscape 4, set attributes too, though, strictly speaking, it's\n- \" incorrect.\n- execute '%s:]*\\):\\r]\\|>\\|<\\|"\\)+\\1\\2+ge\n-endif\n-\n-\" The DTD\n-if !s:settings.no_doc\n- if s:settings.use_xhtml\n- exe \"normal! gg$a\\n\"\n- elseif s:html5\n- exe \"normal! gg0i\\n\"\n- else\n- exe \"normal! gg0i\\n\"\n- endif\n-endif\n-\n-if s:settings.use_xhtml && !s:settings.no_doc\n- exe \"normal! gg/\n-\" Last Change: 2023 Sep 05\n-\"\n-\" Additional contributors:\n-\"\n-\" Original by Bram Moolenaar \n-\" Modified by David Ne\\v{c}as (Yeti) \n-\" XHTML support by Panagiotis Issaris \n-\" Made w3 compliant by Edd Barrett \n-\" Added html_font. Edd Barrett \n-\" Progress bar based off code from \"progressbar widget\" plugin by\n-\" Andreas Politz, heavily modified:\n-\" http://www.vim.org/scripts/script.php?script_id=2006\n-\"\n-\" See Mercurial change logs for more!\n-\n-\" Transform a file into HTML, using the current syntax highlighting.\n-\n-\" this file uses line continuations\n-let s:cpo_sav = &cpo\n-let s:ls = &ls\n-let s:ei_sav = &eventignore\n-set cpo&vim\n-\n-\" HTML filetype can take a while to load/highlight if the destination file\n-\" already exists.\n-set eventignore+=FileType\n-\n-let s:end=line('$')\n-\n-\" Font\n-if exists(\"g:html_font\")\n- if type(g:html_font) == type([])\n- let s:htmlfont = \"'\".. join(g:html_font,\"','\") .. \"', monospace\"\n- else\n- let s:htmlfont = \"'\".. g:html_font .. \"', monospace\"\n- endif\n-else\n- let s:htmlfont = \"monospace\"\n-endif\n-\n-let s:settings = tohtml#GetUserSettings()\n-\n-if s:settings.use_xhtml\n- let s:html5 = 0\n-elseif s:settings.use_css && !s:settings.no_pre\n- let s:html5 = 1\n-else\n- let s:html5 = 0\n-endif\n-\n-if !exists('s:FOLDED_ID')\n- let s:FOLDED_ID = hlID(\"Folded\") | lockvar s:FOLDED_ID\n- let s:FOLD_C_ID = hlID(\"FoldColumn\") | lockvar s:FOLD_C_ID\n- let s:LINENR_ID = hlID('LineNr') | lockvar s:LINENR_ID\n- let s:DIFF_D_ID = hlID(\"DiffDelete\") | lockvar s:DIFF_D_ID\n- let s:DIFF_A_ID = hlID(\"DiffAdd\") | lockvar s:DIFF_A_ID\n- let s:DIFF_C_ID = hlID(\"DiffChange\") | lockvar s:DIFF_C_ID\n- let s:DIFF_T_ID = hlID(\"DiffText\") | lockvar s:DIFF_T_ID\n- let s:CONCEAL_ID = hlID('Conceal') | lockvar s:CONCEAL_ID\n-endif\n-\n-\" Whitespace\n-if s:settings.pre_wrap\n- let s:whitespace = \"white-space: pre-wrap; \"\n-else\n- let s:whitespace = \"\"\n-endif\n-\n-if !empty(s:settings.prevent_copy)\n- if s:settings.no_invalid\n- \" User has decided they don't want invalid markup. Still works in\n- \" OpenOffice, and for text editors, but when pasting into Microsoft Word the\n- \" input elements get pasted too and they cannot be deleted (at least not\n- \" easily).\n- let s:unselInputType = \"\"\n- else\n- \" Prevent from copy-pasting the input elements into Microsoft Word where\n- \" they cannot be deleted easily by deliberately inserting invalid markup.\n- let s:unselInputType = \" type='invalid_input_type'\"\n- endif\n-endif\n-\n-\" When gui colors are not supported, we can only guess the colors.\n-\" TODO - is this true anymore? Is there a way to ask the terminal what colors\n-\" each number means or read them from some file?\n-if &termguicolors || has(\"gui_running\")\n- let s:whatterm = \"gui\"\n-else\n- let s:whatterm = \"cterm\"\n- if &t_Co == 8\n- let s:cterm_color = {\n-\t \\ 0: \"#808080\", 1: \"#ff6060\", 2: \"#00ff00\", 3: \"#ffff00\",\n-\t \\ 4: \"#8080ff\", 5: \"#ff40ff\", 6: \"#00ffff\", 7: \"#ffffff\"\n-\t \\ }\n- else\n- let s:cterm_color = {\n-\t \\ 0: \"#000000\", 1: \"#c00000\", 2: \"#008000\", 3: \"#804000\", \n-\t \\ 4: \"#0000c0\", 5: \"#c000c0\", 6: \"#008080\", 7: \"#c0c0c0\", \n-\t \\ 8: \"#808080\", 9: \"#ff6060\", 10: \"#00ff00\", 11: \"#ffff00\",\n-\t \\ 12: \"#8080ff\", 13: \"#ff40ff\", 14: \"#00ffff\", 15: \"#ffffff\"\n-\t \\ }\n-\n- \" Colors for 88 and 256 come from xterm.\n- if &t_Co == 88\n- call extend(s:cterm_color, {\n-\t \\ 16: \"#000000\", 17: \"#00008b\", 18: \"#0000cd\", 19: \"#0000ff\",\n-\t \\ 20: \"#008b00\", 21: \"#008b8b\", 22: \"#008bcd\", 23: \"#008bff\",\n-\t \\ 24: \"#00cd00\", 25: \"#00cd8b\", 26: \"#00cdcd\", 27: \"#00cdff\",\n-\t \\ 28: \"#00ff00\", 29: \"#00ff8b\", 30: \"#00ffcd\", 31: \"#00ffff\",\n-\t \\ 32: \"#8b0000\", 33: \"#8b008b\", 34: \"#8b00cd\", 35: \"#8b00ff\",\n-\t \\ 36: \"#8b8b00\", 37: \"#8b8b8b\", 38: \"#8b8bcd\", 39: \"#8b8bff\",\n-\t \\ 40: \"#8bcd00\", 41: \"#8bcd8b\", 42: \"#8bcdcd\", 43: \"#8bcdff\",\n-\t \\ 44: \"#8bff00\", 45: \"#8bff8b\", 46: \"#8bffcd\", 47: \"#8bffff\",\n-\t \\ 48: \"#cd0000\", 49: \"#cd008b\", 50: \"#cd00cd\", 51: \"#cd00ff\",\n-\t \\ 52: \"#cd8b00\", 53: \"#cd8b8b\", 54: \"#cd8bcd\", 55: \"#cd8bff\",\n-\t \\ 56: \"#cdcd00\", 57: \"#cdcd8b\", 58: \"#cdcdcd\", 59: \"#cdcdff\",\n-\t \\ 60: \"#cdff00\", 61: \"#cdff8b\", 62: \"#cdffcd\", 63: \"#cdffff\",\n-\t \\ 64: \"#ff0000\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 65: \"#ff008b\", 66: \"#ff00cd\", 67: \"#ff00ff\", 68: \"#ff8b00\",\n-\t \\ 69: \"#ff8b8b\", 70: \"#ff8bcd\", 71: \"#ff8bff\", 72: \"#ffcd00\",\n-\t \\ 73: \"#ffcd8b\", 74: \"#ffcdcd\", 75: \"#ffcdff\", 76: \"#ffff00\",\n-\t \\ 77: \"#ffff8b\", 78: \"#ffffcd\", 79: \"#ffffff\", 80: \"#2e2e2e\",\n-\t \\ 81: \"#5c5c5c\", 82: \"#737373\", 83: \"#8b8b8b\", 84: \"#a2a2a2\",\n-\t \\ 85: \"#b9b9b9\", 86: \"#d0d0d0\", 87: \"#e7e7e7\"\n-\t \\ })\n- elseif &t_Co == 256\n- call extend(s:cterm_color, {\n-\t \\ 16: \"#000000\", 17: \"#00005f\", 18: \"#000087\", 19: \"#0000af\",\n-\t \\ 20: \"#0000d7\", 21: \"#0000ff\", 22: \"#005f00\", 23: \"#005f5f\",\n-\t \\ 24: \"#005f87\", 25: \"#005faf\", 26: \"#005fd7\", 27: \"#005fff\",\n-\t \\ 28: \"#008700\", 29: \"#00875f\", 30: \"#008787\", 31: \"#0087af\",\n-\t \\ 32: \"#0087d7\", 33: \"#0087ff\", 34: \"#00af00\", 35: \"#00af5f\",\n-\t \\ 36: \"#00af87\", 37: \"#00afaf\", 38: \"#00afd7\", 39: \"#00afff\",\n-\t \\ 40: \"#00d700\", 41: \"#00d75f\", 42: \"#00d787\", 43: \"#00d7af\",\n-\t \\ 44: \"#00d7d7\", 45: \"#00d7ff\", 46: \"#00ff00\", 47: \"#00ff5f\",\n-\t \\ 48: \"#00ff87\", 49: \"#00ffaf\", 50: \"#00ffd7\", 51: \"#00ffff\",\n-\t \\ 52: \"#5f0000\", 53: \"#5f005f\", 54: \"#5f0087\", 55: \"#5f00af\",\n-\t \\ 56: \"#5f00d7\", 57: \"#5f00ff\", 58: \"#5f5f00\", 59: \"#5f5f5f\",\n-\t \\ 60: \"#5f5f87\", 61: \"#5f5faf\", 62: \"#5f5fd7\", 63: \"#5f5fff\",\n-\t \\ 64: \"#5f8700\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 65: \"#5f875f\", 66: \"#5f8787\", 67: \"#5f87af\", 68: \"#5f87d7\",\n-\t \\ 69: \"#5f87ff\", 70: \"#5faf00\", 71: \"#5faf5f\", 72: \"#5faf87\",\n-\t \\ 73: \"#5fafaf\", 74: \"#5fafd7\", 75: \"#5fafff\", 76: \"#5fd700\",\n-\t \\ 77: \"#5fd75f\", 78: \"#5fd787\", 79: \"#5fd7af\", 80: \"#5fd7d7\",\n-\t \\ 81: \"#5fd7ff\", 82: \"#5fff00\", 83: \"#5fff5f\", 84: \"#5fff87\",\n-\t \\ 85: \"#5fffaf\", 86: \"#5fffd7\", 87: \"#5fffff\", 88: \"#870000\",\n-\t \\ 89: \"#87005f\", 90: \"#870087\", 91: \"#8700af\", 92: \"#8700d7\",\n-\t \\ 93: \"#8700ff\", 94: \"#875f00\", 95: \"#875f5f\", 96: \"#875f87\",\n-\t \\ 97: \"#875faf\", 98: \"#875fd7\", 99: \"#875fff\", 100: \"#878700\",\n-\t \\ 101: \"#87875f\", 102: \"#878787\", 103: \"#8787af\", 104: \"#8787d7\",\n-\t \\ 105: \"#8787ff\", 106: \"#87af00\", 107: \"#87af5f\", 108: \"#87af87\",\n-\t \\ 109: \"#87afaf\", 110: \"#87afd7\", 111: \"#87afff\", 112: \"#87d700\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 113: \"#87d75f\", 114: \"#87d787\", 115: \"#87d7af\", 116: \"#87d7d7\",\n-\t \\ 117: \"#87d7ff\", 118: \"#87ff00\", 119: \"#87ff5f\", 120: \"#87ff87\",\n-\t \\ 121: \"#87ffaf\", 122: \"#87ffd7\", 123: \"#87ffff\", 124: \"#af0000\",\n-\t \\ 125: \"#af005f\", 126: \"#af0087\", 127: \"#af00af\", 128: \"#af00d7\",\n-\t \\ 129: \"#af00ff\", 130: \"#af5f00\", 131: \"#af5f5f\", 132: \"#af5f87\",\n-\t \\ 133: \"#af5faf\", 134: \"#af5fd7\", 135: \"#af5fff\", 136: \"#af8700\",\n-\t \\ 137: \"#af875f\", 138: \"#af8787\", 139: \"#af87af\", 140: \"#af87d7\",\n-\t \\ 141: \"#af87ff\", 142: \"#afaf00\", 143: \"#afaf5f\", 144: \"#afaf87\",\n-\t \\ 145: \"#afafaf\", 146: \"#afafd7\", 147: \"#afafff\", 148: \"#afd700\",\n-\t \\ 149: \"#afd75f\", 150: \"#afd787\", 151: \"#afd7af\", 152: \"#afd7d7\",\n-\t \\ 153: \"#afd7ff\", 154: \"#afff00\", 155: \"#afff5f\", 156: \"#afff87\",\n-\t \\ 157: \"#afffaf\", 158: \"#afffd7\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 159: \"#afffff\", 160: \"#d70000\", 161: \"#d7005f\", 162: \"#d70087\",\n-\t \\ 163: \"#d700af\", 164: \"#d700d7\", 165: \"#d700ff\", 166: \"#d75f00\",\n-\t \\ 167: \"#d75f5f\", 168: \"#d75f87\", 169: \"#d75faf\", 170: \"#d75fd7\",\n-\t \\ 171: \"#d75fff\", 172: \"#d78700\", 173: \"#d7875f\", 174: \"#d78787\",\n-\t \\ 175: \"#d787af\", 176: \"#d787d7\", 177: \"#d787ff\", 178: \"#d7af00\",\n-\t \\ 179: \"#d7af5f\", 180: \"#d7af87\", 181: \"#d7afaf\", 182: \"#d7afd7\",\n-\t \\ 183: \"#d7afff\", 184: \"#d7d700\", 185: \"#d7d75f\", 186: \"#d7d787\",\n-\t \\ 187: \"#d7d7af\", 188: \"#d7d7d7\", 189: \"#d7d7ff\", 190: \"#d7ff00\",\n-\t \\ 191: \"#d7ff5f\", 192: \"#d7ff87\", 193: \"#d7ffaf\", 194: \"#d7ffd7\",\n-\t \\ 195: \"#d7ffff\", 196: \"#ff0000\", 197: \"#ff005f\", 198: \"#ff0087\",\n-\t \\ 199: \"#ff00af\", 200: \"#ff00d7\", 201: \"#ff00ff\", 202: \"#ff5f00\",\n-\t \\ 203: \"#ff5f5f\", 204: \"#ff5f87\"\n-\t \\ })\n- call extend(s:cterm_color, {\n-\t \\ 205: \"#ff5faf\", 206: \"#ff5fd7\", 207: \"#ff5fff\", 208: \"#ff8700\",\n-\t \\ 209: \"#ff875f\", 210: \"#ff8787\", 211: \"#ff87af\", 212: \"#ff87d7\",\n-\t \\ 213: \"#ff87ff\", 214: \"#ffaf00\", 215: \"#ffaf5f\", 216: \"#ffaf87\",\n-\t \\ 217: \"#ffafaf\", 218: \"#ffafd7\", 219: \"#ffafff\", 220: \"#ffd700\",\n-\t \\ 221: \"#ffd75f\", 222: \"#ffd787\", 223: \"#ffd7af\", 224: \"#ffd7d7\",\n-\t \\ 225: \"#ffd7ff\", 226: \"#ffff00\", 227: \"#ffff5f\", 228: \"#ffff87\",\n-\t \\ 229: \"#ffffaf\", 230: \"#ffffd7\", 231: \"#ffffff\", 232: \"#080808\",\n-\t \\ 233: \"#121212\", 234: \"#1c1c1c\", 235: \"#262626\", 236: \"#303030\",\n-\t \\ 237: \"#3a3a3a\", 238: \"#444444\", 239: \"#4e4e4e\", 240: \"#585858\",\n-\t \\ 241: \"#626262\", 242: \"#6c6c6c\", 243: \"#767676\", 244: \"#808080\",\n-\t \\ 245: \"#8a8a8a\", 246: \"#949494\", 247: \"#9e9e9e\", 248: \"#a8a8a8\",\n-\t \\ 249: \"#b2b2b2\", 250: \"#bcbcbc\", 251: \"#c6c6c6\", 252: \"#d0d0d0\",\n-\t \\ 253: \"#dadada\", 254: \"#e4e4e4\", 255: \"#eeeeee\"\n-\t \\ })\n- endif\n- endif\n-endif\n-\n-\" Return good color specification: in GUI no transformation is done, in\n-\" terminal return RGB values of known colors and empty string for unknown\n-if s:whatterm == \"gui\"\n- function! s:HtmlColor(color)\n- return a:color\n- endfun\n-else\n- function! s:HtmlColor(color)\n- if has_key(s:cterm_color, a:color)\n- return s:cterm_color[a:color]\n- else\n- return \"\"\n- endif\n- endfun\n-endif\n-\n-\" Find out the background and foreground color for use later\n-let s:fgc = s:HtmlColor(synIDattr(hlID(\"Normal\")->synIDtrans(), \"fg#\", s:whatterm))\n-let s:bgc = s:HtmlColor(synIDattr(hlID(\"Normal\")->synIDtrans(), \"bg#\", s:whatterm))\n-if s:fgc == \"\"\n- let s:fgc = ( &background == \"dark\" ? \"#ffffff\" : \"#000000\" )\n-endif\n-if s:bgc == \"\"\n- let s:bgc = ( &background == \"dark\" ? \"#000000\" : \"#ffffff\" )\n-endif\n-\n-if !s:settings.use_css\n- \" Return opening HTML tag for given highlight id\n- function! s:HtmlOpening(id, extra_attrs)\n- let a = \"\"\n- let translated_ID = synIDtrans(a:id)\n- if synIDattr(translated_ID, \"inverse\")\n- \" For inverse, we always must set both colors (and exchange them)\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- let a = a .. ''\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- let a = a .. ''\n- else\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- if x != \"\"\n-\tlet a = a .. ''\n- elseif !empty(a:extra_attrs)\n-\tlet a = a .. ''\n- endif\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- if x != \"\" | let a = a .. '' | endif\n- endif\n- if synIDattr(translated_ID, \"bold\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"italic\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"underline\") | let a = a .. \"\" | endif\n- return a\n- endfun\n-\n- \" Return closing HTML tag for given highlight id\n- function! s:HtmlClosing(id, has_extra_attrs)\n- let a = \"\"\n- let translated_ID = synIDtrans(a:id)\n- if synIDattr(translated_ID, \"underline\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"italic\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"bold\") | let a = a .. \"\" | endif\n- if synIDattr(translated_ID, \"inverse\")\n- let a = a .. ''\n- else\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- if x != \"\" | let a = a .. '' | endif\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- if x != \"\" || a:has_extra_attrs | let a = a .. '' | endif\n- endif\n- return a\n- endfun\n-endif\n-\n-\" Use a different function for formatting based on user options. This way we\n-\" can avoid a lot of logic during the actual execution.\n-\"\n-\" Build the function line by line containing only what is needed for the options\n-\" in use for maximum code sharing with minimal branch logic for greater speed.\n-\"\n-\" Note, 'exec' commands do not recognize line continuations, so must concatenate\n-\" lines rather than continue them.\n-if s:settings.use_css\n- \" save CSS to a list of rules to add to the output at the end of processing\n-\n- \" first, get the style names we need\n- let s:wrapperfunc_lines = []\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\tfunction! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, make_unselectable, unformatted)\n-\t\n-\t let l:style_name = synIDattr(a:style_id, \"name\", s:whatterm)\n- ENDLET\n- if &diff\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t let l:diff_style_name = synIDattr(a:diff_style_id, \"name\", s:whatterm)\n- ENDLET\n-\n- \" Add normal groups and diff groups to separate lists so we can order them to\n- \" allow diff highlight to override normal highlight\n-\n- \" if primary style IS a diff style, grab it from the diff cache instead\n- \" (always succeeds because we pre-populate it)\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\n-\t if a:style_id == s:DIFF_D_ID || a:style_id == s:DIFF_A_ID || a:style_id == s:DIFF_C_ID || a:style_id == s:DIFF_T_ID\n-\t let l:saved_style = get(s:diffstylelist,a:style_id)\n-\t else\n- ENDLET\n- endif\n-\n- \" get primary style info from cache or build it on the fly if not found\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t let l:saved_style = get(s:stylelist,a:style_id)\n-\t if type(l:saved_style) == type(0)\n-\t unlet l:saved_style\n-\t let l:saved_style = s:CSS1(a:style_id)\n-\t if l:saved_style != \"\"\n-\t let l:saved_style = \".\" .. l:style_name .. \" { \" .. l:saved_style .. \"}\"\n-\t endif\n-\t let s:stylelist[a:style_id] = l:saved_style\n-\t endif\n- ENDLET\n- if &diff\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t endif\n- ENDLET\n- endif\n-\" Ignore this comment, just bypassing a highlighting issue: if\n-\n- \" Build the wrapper tags around the text. It turns out that caching these\n- \" gives pretty much zero performance gain and adds a lot of logic.\n-\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\n-\t if l:saved_style == \"\" && empty(a:extra_attrs)\n- ENDLET\n- if &diff\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t if a:diff_style_id <= 0\n- ENDLET\n- endif\n- \" no surroundings if neither primary nor diff style has any info\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t return a:text\n- ENDLET\n- if &diff\n- \" no primary style, but diff style\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t else\n-\t return ''..a:text..\"\"\n-\t endif\n- ENDLET\n- endif\n- \" Ignore this comment, just bypassing a highlighting issue: if\n-\n- \" open tag for non-empty primary style\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t else\n- ENDLET\n- \" non-empty primary style. handle either empty or non-empty diff style.\n- \"\n- \" separate the two classes by a space to apply them both if there is a diff\n- \" style name, unless the primary style is empty, then just use the diff style\n- \" name\n- let s:diffstyle =\n-\t \\ (&diff ? '(a:diff_style_id <= 0 ? \"\" : \" \" .. l:diff_style_name)..'\n-\t \\ : '')\n- if s:settings.prevent_copy == \"\"\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim eval ENDLET\n-\t return \"'..a:text..\"\"\n- ENDLET\n- else\n-\n- \" New method: use generated content in the CSS. The only thing needed here\n- \" is a span with no content, with an attribute holding the desired text.\n- \"\n- \" Old method: use an element when text is unsectable. This is still\n- \" used in conditional comments for Internet Explorer, where the new method\n- \" doesn't work.\n- \"\n- \" Wrap the in a to allow fixing the stupid bug in some fonts\n- \" which cause browsers to display a 1px gap between lines when these\n- \" s have a background color (maybe not really a bug, this isn't\n- \" well-defined)\n- \"\n- \" use strwidth, because we care only about how many character boxes are\n- \" needed to size the input, we don't care how many characters (including\n- \" separately counted composing chars, from strchars()) or bytes (from\n- \" len())the string contains. strdisplaywidth() is not needed because none of\n- \" the unselectable groups can contain tab characters (fold column, fold\n- \" text, line number).\n- \"\n- \" Note, if maxlength property needs to be added in the future, it will need\n- \" to use strchars(), because HTML specifies that the maxlength parameter\n- \" uses the number of unique codepoints for its limit.\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim eval ENDLET\n-\t if a:make_unselectable\n-\t let return_span = \"' : '>')\n- ENDLET\n- endif\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim eval ENDLET\n-\t return return_span..''\n-\t else\n-\t return \"'..a:text..\"\"\n-\t endif\n- ENDLET\n- endif\n- call add(s:wrapperfunc_lines, [])\n- let s:wrapperfunc_lines[-1] =<< trim ENDLET\n-\t endif\n-\tendfun\n- ENDLET\n-else\n- \" Non-CSS method just needs the wrapper.\n- \"\n- \" Functions used to get opening/closing automatically return null strings if\n- \" no styles exist.\n- if &diff\n- let s:wrapperfunc_lines =<< trim ENDLET\n-\tfunction! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, unusedarg, unusedarg2)\n-\t if a:diff_style_id <= 0\n-\t let l:diff_opening = s:HtmlOpening(a:diff_style_id, \"\")\n-\t let l:diff_closing = s:HtmlClosing(a:diff_style_id, 0)\n-\t else\n-\t let l:diff_opening = \"\"\n-\t let l:diff_closing = \"\"\n-\t endif\n-\t return s:HtmlOpening(a:style_id, a:extra_attrs)..l:diff_opening..a:text..l:diff_closing..s:HtmlClosing(a:style_id, !empty(a:extra_attrs))\n-\tendfun\n- ENDLET\n- else\n- let s:wrapperfunc_lines =<< trim ENDLET\n-\tfunction! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, unusedarg, unusedarg2)\n-\t return s:HtmlOpening(a:style_id, a:extra_attrs)..a:text..s:HtmlClosing(a:style_id, !empty(a:extra_attrs))\n-\tendfun\n- ENDLET\n- endif\n-endif\n-\n-\" create the function we built line by line above\n-exec join(flatten(s:wrapperfunc_lines), \"\\n\")\n-\n-let s:diff_mode = &diff\n-\n-\" Return HTML valid characters enclosed in a span of class style_name with\n-\" unprintable characters expanded and double spaces replaced as necessary.\n-\"\n-\" TODO: eliminate unneeded logic like done for BuildStyleWrapper\n-function! s:HtmlFormat(text, style_id, diff_style_id, extra_attrs, make_unselectable)\n- \" Replace unprintable characters\n- let unformatted = strtrans(a:text)\n-\n- let formatted = unformatted\n-\n- \" Replace the reserved html characters\n- let formatted = substitute(formatted, '&', '\\&', 'g')\n- let formatted = substitute(formatted, '<', '\\<', 'g')\n- let formatted = substitute(formatted, '>', '\\>', 'g')\n- let formatted = substitute(formatted, '\"', '\\"', 'g')\n- \" ' is not valid in HTML but it is in XHTML, so just use the numeric\n- \" reference for it instead. Needed because it could appear in quotes\n- \" especially if unselectable regions is turned on.\n- let formatted = substitute(formatted, '\"', '\\'', 'g')\n-\n- \" Replace a \"form feed\" character with HTML to do a page break\n- \" TODO: need to prevent this in unselectable areas? Probably it should never\n- \" BE in an unselectable area...\n- let formatted = substitute(formatted, \"\\x0c\", '
', 'g')\n-\n- \" Replace double spaces, leading spaces, and trailing spaces if needed\n- if ' ' != s:HtmlSpace\n- let formatted = substitute(formatted, ' ', s:HtmlSpace .. s:HtmlSpace, 'g')\n- let formatted = substitute(formatted, '^ ', s:HtmlSpace, 'g')\n- let formatted = substitute(formatted, ' \\+$', s:HtmlSpace, 'g')\n- endif\n-\n- \" Enclose in the correct format\n- return s:BuildStyleWrapper(a:style_id, a:diff_style_id, a:extra_attrs, formatted, a:make_unselectable, unformatted)\n-endfun\n-\n-\" set up functions to call HtmlFormat in certain ways based on whether the\n-\" element is supposed to be unselectable or not\n-if s:settings.prevent_copy =~# 'n'\n- if s:settings.number_lines\n- if s:settings.line_ids\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n-\tif a:lnr > 0\n-\t return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id=\"'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : \"\")..'L'..a:lnr..s:settings.id_suffix..'\" ', 1)\n-\telse\n-\t return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n-\tendif\n- endfun\n- else\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n-\treturn s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n- endfun\n- endif\n- elseif s:settings.line_ids\n- \" if lines are not being numbered the only reason this function gets called\n- \" is to put the line IDs on each line; \"text\" will be empty but lnr will\n- \" always be non-zero, however we don't want to use the because that\n- \" won't work as nice for empty text\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id=\"'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : \"\")..'L'..a:lnr..s:settings.id_suffix..'\" ', 0)\n- endfun\n- endif\n-else\n- if s:settings.line_ids\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n- if a:lnr > 0\n-\treturn s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id=\"'..(exists('g:html_diff_win_num') ? 'W'..g:html_diff_win_num : \"\")..'L'..a:lnr..s:settings.id_suffix..'\" ', 0)\n- else\n-\treturn s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endif\n- endfun\n- else\n- function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endfun\n- endif\n-endif\n-if s:settings.prevent_copy =~# 'd'\n- function! s:HtmlFormat_d(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n- endfun\n-else\n- function! s:HtmlFormat_d(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endfun\n-endif\n-if s:settings.prevent_copy =~# 'f'\n- if s:settings.use_input_for_pc ==# 'none'\n- \" Simply space-pad to the desired width inside the generated content (note\n- \" that the FoldColumn definition includes a whitespace:pre rule)\n- function! s:FoldColumn_build(char, len, numfill, char2, class, click)\n- return \"\"\n- endfun\n- function! s:FoldColumn_fill()\n- return s:HtmlFormat(repeat(' ', s:foldcolumn), s:FOLD_C_ID, 0, \"\", 1)\n- endfun\n- else\n- \" Note the elements for fill spaces will have a single space for\n- \" content, to allow active cursor CSS selection to work.\n- \"\n- \" Wrap the whole thing in a span for the 1px padding workaround for gaps.\n- \"\n- \" Build the function line by line containing only what is needed for the\n- \" options in use for maximum code sharing with minimal branch logic for\n- \" greater speed.\n- \"\n- \" Note, 'exec' commands do not recognize line continuations, so must\n- \" concatenate lines rather than continue them.\n- let s:build_fun_lines = []\n- call add(s:build_fun_lines, [])\n- let s:build_fun_lines[-1] =<< trim ENDLET\n-\t function! s:FoldColumn_build(char, len, numfill, char2, class, click)\n-\t let l:input_open = \"\" : \"'>\")\n-\t let l:return_span = \"\"\n-\t let l:return_span ..= l:input_open..l:common_attrs..repeat(a:char, a:len)..(a:char2)\n-\t let l:return_span ..= l:input_close\n- ENDLET\n- if s:settings.use_input_for_pc ==# 'fallback'\n- call add(s:build_fun_lines, [])\n- let s:build_fun_lines[-1] =<< trim ENDLET\n-\t let l:return_span ..= \"\"\n- ENDLET\n- endif\n- call add(s:build_fun_lines, [])\n- let s:build_fun_lines[-1] =<< trim ENDLET\n-\t let l:return_span ..= \"\"\n-\t return l:return_span\n-\t endfun\n- ENDLET\n- \" create the function we built line by line above\n- exec join(flatten(s:build_fun_lines), \"\\n\")\n-\n- function! s:FoldColumn_fill()\n- return s:FoldColumn_build(' ', s:foldcolumn, 0, '', 'FoldColumn', '')\n- endfun\n- endif\n-else\n- \" For normal fold columns, simply space-pad to the desired width (note that\n- \" the FoldColumn definition includes a whitespace:pre rule)\n- function! s:FoldColumn_build(char, len, numfill, char2, class, click)\n- return \"\".\n-\t \\ repeat(a:char, a:len)..a:char2..repeat(' ', a:numfill).\n-\t \\ \"\"\n- endfun\n- function! s:FoldColumn_fill()\n- return s:HtmlFormat(repeat(' ', s:foldcolumn), s:FOLD_C_ID, 0, \"\", 0)\n- endfun\n-endif\n-if s:settings.prevent_copy =~# 't'\n- \" put an extra empty span at the end for dynamic folds, so the linebreak can\n- \" be surrounded. Otherwise do it as normal.\n- \"\n- \" TODO: isn't there a better way to do this, than placing it here and using a\n- \" substitute later?\n- if s:settings.dynamic_folds\n- function! s:HtmlFormat_t(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1) .\n-\t \\ s:HtmlFormat(\"\", a:style_id, 0, \"\", 0)\n- endfun\n- else\n- function! s:HtmlFormat_t(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 1)\n- endfun\n- endif\n-else\n- function! s:HtmlFormat_t(text, style_id, diff_style_id)\n- return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, \"\", 0)\n- endfun\n-endif\n-\n-\" Return CSS style describing given highlight id (can be empty)\n-function! s:CSS1(id)\n- let a = \"\"\n- let translated_ID = synIDtrans(a:id)\n- if synIDattr(translated_ID, \"inverse\")\n- \" For inverse, we always must set both colors (and exchange them)\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- let a = a .. \"color: \" .. ( x != \"\" ? x : s:bgc ) .. \"; \"\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- let a = a .. \"background-color: \" .. ( x != \"\" ? x : s:fgc ) .. \"; \"\n- else\n- let x = s:HtmlColor(synIDattr(translated_ID, \"fg#\", s:whatterm))\n- if x != \"\" | let a = a .. \"color: \" .. x .. \"; \" | endif\n- let x = s:HtmlColor(synIDattr(translated_ID, \"bg#\", s:whatterm))\n- if x != \"\"\n- let a = a .. \"background-color: \" .. x .. \"; \"\n- \" stupid hack because almost every browser seems to have at least one font\n- \" which shows 1px gaps between lines which have background\n- let a = a .. \"padding-bottom: 1px; \"\n- elseif (translated_ID == s:FOLDED_ID || translated_ID == s:LINENR_ID || translated_ID == s:FOLD_C_ID) && !empty(s:settings.prevent_copy)\n- \" input elements default to a different color than the rest of the page\n- let a = a .. \"background-color: \" .. s:bgc .. \"; \"\n- endif\n- endif\n- if synIDattr(translated_ID, \"bold\") | let a = a .. \"font-weight: bold; \" | endif\n- if synIDattr(translated_ID, \"italic\") | let a = a .. \"font-style: italic; \" | endif\n- if synIDattr(translated_ID, \"underline\") | let a = a .. \"text-decoration: underline; \" | endif\n- return a\n-endfun\n-\n-if s:settings.dynamic_folds\n- \" compares two folds as stored in our list of folds\n- \" A fold is \"less\" than another if it starts at an earlier line number,\n- \" or ends at a later line number, ties broken by fold level\n- function! s:FoldCompare(f1, f2)\n- if a:f1.firstline != a:f2.firstline\n- \" put it before if it starts earlier\n- return a:f1.firstline - a:f2.firstline\n- elseif a:f1.lastline != a:f2.lastline\n- \" put it before if it ends later\n- return a:f2.lastline - a:f1.lastline\n- else\n- \" if folds begin and end on the same lines, put lowest fold level first\n- return a:f1.level - a:f2.level\n- endif\n- endfunction\n-\n-endif\n-\n-\n-\" Set some options to make it work faster.\n-\" Don't report changes for :substitute, there will be many of them.\n-\" Don't change other windows; turn off scroll bind temporarily\n-let s:old_title = &title\n-let s:old_icon = &icon\n-let s:old_et = &l:et\n-let s:old_bind = &l:scrollbind\n-let s:old_report = &report\n-let s:old_search = @/\n-let s:old_more = &more\n-set notitle noicon\n-setlocal et\n-set nomore\n-set report=1000000\n-setlocal noscrollbind\n-\n-if exists(':ownsyntax') && exists('w:current_syntax')\n- let s:current_syntax = w:current_syntax\n-elseif exists('b:current_syntax')\n- let s:current_syntax = b:current_syntax\n-else\n- let s:current_syntax = 'none'\n-endif\n-\n-if s:current_syntax == ''\n- let s:current_syntax = 'none'\n-endif\n-\n-\" If the user is sourcing this script directly then the plugin version isn't\n-\" known because the main plugin script didn't load. In the usual case where the\n-\" user still has the full Vim runtime installed, or has this full plugin\n-\" installed in a package or something, then we can extract the version from the\n-\" main plugin file at it's usual spot relative to this file. Otherwise the user\n-\" is assembling their runtime piecemeal and we have no idea what versions of\n-\" other files may be present so don't even try to make a guess or assume the\n-\" presence of other specific files with specific meaning.\n-\"\n-\" We don't want to actually source the main plugin file here because the user\n-\" may have a good reason not to (e.g. they define their own TOhtml command or\n-\" something).\n-\"\n-\" If this seems way too complicated and convoluted, it is. Probably I should\n-\" have put the version information in the autoload file from the start. But the\n-\" version has been in the global variable for so long that changing it could\n-\" break a lot of user scripts.\n-if exists(\"g:loaded_2html_plugin\")\n- let s:pluginversion = g:loaded_2html_plugin\n-else\n- if !exists(\"g:unloaded_tohtml_plugin\")\n- let s:main_plugin_path = expand(\":p:h:h\")..\"/plugin/tohtml.vim\"\n- if filereadable(s:main_plugin_path)\n- let s:lines = readfile(s:main_plugin_path, \"\", 20)\n- call filter(s:lines, 'v:val =~ \"loaded_2html_plugin = \"')\n- if empty(s:lines)\n-\tlet g:unloaded_tohtml_plugin = \"unknown\"\n- else\n-\tlet g:unloaded_tohtml_plugin = substitute(s:lines[0], '.*loaded_2html_plugin = \\([''\"]\\)\\(\\%(\\1\\@!.\\)\\+\\)\\1', '\\2', '')\n- endif\n- unlet s:lines\n- else\n- let g:unloaded_tohtml_plugin = \"unknown\"\n- endif\n- unlet s:main_plugin_path\n- endif\n- let s:pluginversion = g:unloaded_tohtml_plugin\n-endif\n-\n-\" Split window to create a buffer with the HTML file.\n-let s:orgbufnr = winbufnr(0)\n-let s:origwin_stl = &l:stl\n-if expand(\"%\") == \"\"\n- if exists('g:html_diff_win_num')\n- exec 'new Untitled_win'..g:html_diff_win_num..'.'.(s:settings.use_xhtml ? 'xhtml' : 'html')\n- else\n- exec 'new Untitled.'..(s:settings.use_xhtml ? 'xhtml' : 'html')\n- endif\n-else\n- exec 'new %.'..(s:settings.use_xhtml ? 'xhtml' : 'html')\n-endif\n-\n-\" Resize the new window to very small in order to make it draw faster\n-let s:old_winheight = winheight(0)\n-let s:old_winfixheight = &l:winfixheight\n-if s:old_winheight > 2\n- resize 1 \" leave enough room to view one line at a time\n- norm! G\n- norm! zt\n-endif\n-setlocal winfixheight\n-\n-let s:newwin_stl = &l:stl\n-\n-\" on the new window, set the least time-consuming fold method\n-let s:old_fen = &foldenable\n-setlocal foldmethod=manual\n-setlocal nofoldenable\n-\n-let s:newwin = winnr()\n-let s:orgwin = bufwinnr(s:orgbufnr)\n-\n-setlocal modifiable\n-%d\n-let s:old_paste = &paste\n-set paste\n-let s:old_magic = &magic\n-set magic\n-\n-\" set the fileencoding to match the charset we'll be using\n-let &l:fileencoding=s:settings.vim_encoding\n-\n-\" According to http://www.w3.org/TR/html4/charset.html#doc-char-set, the byte\n-\" order mark is highly recommend on the web when using multibyte encodings. But,\n-\" it is not a good idea to include it on UTF-8 files. Otherwise, let Vim\n-\" determine when it is actually inserted.\n-if s:settings.vim_encoding == 'utf-8'\n- setlocal nobomb\n-else\n- setlocal bomb\n-endif\n-\n-let s:lines = []\n-\n-if s:settings.use_xhtml\n- if s:settings.encoding != \"\"\n- call add(s:lines, \"\")\n- else\n- call add(s:lines, \"\")\n- endif\n- let s:tag_close = ' />'\n-else\n- let s:tag_close = '>'\n-endif\n-\n-let s:HtmlSpace = ' '\n-let s:LeadingSpace = ' '\n-let s:HtmlEndline = ''\n-if s:settings.no_pre\n- let s:HtmlEndline = '\",\n-\t\\ \"\"])\n- \" include encoding as close to the top as possible, but only if not already\n- \" contained in XML information (to avoid haggling over content type)\n- if s:settings.encoding != \"\" && !s:settings.use_xhtml\n- if s:html5\n- call add(s:lines, '\"..expand(\"%:p:~\")..\"\"),\n-\t\\ (\"\",\n-\t \\ s:settings.use_xhtml ? \"\" : \"\",\n-\t \\]\n- else\n-\t\" if we aren't doing hover_unfold, use CSS 1 only\n-\tcall extend(s:lines, [\n-\t \\ \".FoldColumn { text-decoration: none; white-space: pre; }\",\n-\t \\ \".open-fold .fulltext { display: inline; }\",\n-\t \\ \".open-fold span.Folded { display: none; }\",\n-\t \\ \".open-fold .toggle-open { display: none; }\",\n-\t \\ \".open-fold .toggle-closed { display: inline; }\",\n-\t \\ \"\",\n-\t \\ \".closed-fold .fulltext { display: none; }\",\n-\t \\ \".closed-fold span.Folded { display: inline; }\",\n-\t \\ \".closed-fold .toggle-open { display: inline; }\",\n-\t \\ \".closed-fold .toggle-closed { display: none; }\",\n-\t \\])\n- endif\n- endif\n- \" else we aren't doing any dynamic folding, no need for any special rules\n-\n- call extend(s:lines, [\n-\t \\ s:settings.use_xhtml ? \"\" : '-->',\n-\t \\ \"\",\n-\t \\])\n- call extend(s:lines, s:ieonly)\n- unlet s:ieonly\n- endif\n-\n- let s:uses_script = s:settings.dynamic_folds || s:settings.line_ids\n-\n- \" insert script tag if needed\n- if s:uses_script\n- call extend(s:lines, [\n-\t \\ \"\",\n-\t \\ \"\",\n-\t \\ s:settings.use_xhtml ? '//' : '-->',\n-\t \\ \"\"\n-\t \\ ])\n- endif\n-\n- call extend(s:lines, [\"\",\n-\t\\ \"\"])\n-endif\n-\n-if s:settings.no_pre\n- \" if we're not using CSS we use a font tag which can't have a div inside\n- if s:settings.use_css\n- call extend(s:lines, [\"
\"])\n- endif\n-else\n- call extend(s:lines, [\"
\"])\n-endif\n-\n-exe s:orgwin .. \"wincmd w\"\n-\n-\" caches of style data\n-\" initialize to include line numbers if using them\n-if s:settings.number_lines\n-  let s:stylelist = { s:LINENR_ID : \".LineNr { \" .. s:CSS1( s:LINENR_ID ) .. \"}\" }\n-else\n-  let s:stylelist = {}\n-endif\n-let s:diffstylelist = {\n-      \\   s:DIFF_A_ID : \".DiffAdd { \" .. s:CSS1( s:DIFF_A_ID ) .. \"}\",\n-      \\   s:DIFF_C_ID : \".DiffChange { \" .. s:CSS1( s:DIFF_C_ID ) .. \"}\",\n-      \\   s:DIFF_D_ID : \".DiffDelete { \" .. s:CSS1( s:DIFF_D_ID ) .. \"}\",\n-      \\   s:DIFF_T_ID : \".DiffText { \" .. s:CSS1( s:DIFF_T_ID ) .. \"}\"\n-      \\ }\n-\n-\" set up progress bar in the status line\n-if !s:settings.no_progress\n-  \" ProgressBar Indicator\n-  let s:progressbar={}\n-\n-  \" Progressbar specific functions\n-\n-  func! s:SetProgbarColor()\n-    if hlID(\"TOhtmlProgress\") != 0\n-      hi! link TOhtmlProgress_auto TOhtmlProgress\n-    elseif hlID(\"TOhtmlProgress_auto\")==0 ||\n-       \\ !exists(\"s:last_colors_name\") || !exists(\"g:colors_name\") ||\n-       \\ g:colors_name != s:last_colors_name\n-      let s:last_colors_name = exists(\"g:colors_name\") ? g:colors_name : \"none\"\n-\n-      let l:diffatr = synIDattr(hlID(\"DiffDelete\")->synIDtrans(), \"reverse\", s:whatterm) ? \"fg#\" : \"bg#\"\n-      let l:stlatr = synIDattr(hlID(\"StatusLine\")->synIDtrans(), \"reverse\", s:whatterm) ? \"fg#\" : \"bg#\"\n-\n-      let l:progbar_color = synIDattr(hlID(\"DiffDelete\")->synIDtrans(), l:diffatr, s:whatterm)\n-      let l:stl_color = synIDattr(hlID(\"StatusLine\")->synIDtrans(), l:stlatr, s:whatterm)\n-\n-      if \"\" == l:progbar_color\n-\tlet l:progbar_color = synIDattr(hlID(\"DiffDelete\")->synIDtrans(), \"reverse\", s:whatterm) ? s:fgc : s:bgc\n-      endif\n-      if \"\" == l:stl_color\n-\tlet l:stl_color = synIDattr(hlID(\"StatusLine\")->synIDtrans(), \"reverse\", s:whatterm) ? s:fgc : s:bgc\n-      endif\n-\n-      if l:progbar_color == l:stl_color\n-\tif s:whatterm == 'cterm'\n-\t  if l:progbar_color >= (&t_Co/2)\n-\t    let l:progbar_color-=1\n-\t  else\n-\t    let l:progbar_color+=1\n-\t  endif\n-\telse\n-\t  let l:rgb = map(matchlist(l:progbar_color, '#\\zs\\x\\x\\ze\\(\\x\\x\\)\\(\\x\\x\\)')[:2], 'str2nr(v:val, 16)')\n-\t  let l:avg = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3\n-\t  if l:avg >= 128\n-\t    let l:avg_new = l:avg\n-\t    while l:avg - l:avg_new < 0x15\n-\t      let l:rgb = map(l:rgb, 'v:val * 3 / 4')\n-\t      let l:avg_new = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3\n-\t    endwhile\n-\t  else\n-\t    let l:avg_new = l:avg\n-\t    while l:avg_new - l:avg < 0x15\n-\t      let l:rgb = map(l:rgb, 'min([max([v:val, 4]) * 5 / 4, 255])')\n-\t      let l:avg_new = (l:rgb[0] + l:rgb[1] + l:rgb[2])/3\n-\t    endwhile\n-\t  endif\n-\t  let l:progbar_color = printf(\"#%02x%02x%02x\", l:rgb[0], l:rgb[1], l:rgb[2])\n-\tendif\n-\techomsg \"diff detected progbar color set to\" l:progbar_color\n-      endif\n-      exe \"hi TOhtmlProgress_auto\" s:whatterm..\"bg=\"..l:progbar_color\n-    endif\n-  endfun\n-\n-  func! s:ProgressBar(title, max_value, winnr)\n-    let pgb=copy(s:progressbar)\n-    let pgb.title = a:title..' '\n-    let pgb.max_value = a:max_value\n-    let pgb.winnr = a:winnr\n-    let pgb.cur_value = 0\n-\n-    let pgb.items = { 'title'   : { 'color' : 'Statusline' },\n-\t  \\'bar'     : { 'color' : 'Statusline' , 'fillcolor' : 'TOhtmlProgress_auto' , 'bg' : 'Statusline' } ,\n-\t  \\'counter' : { 'color' : 'Statusline' } }\n-    let pgb.last_value = 0\n-    let pgb.needs_redraw = 0\n-    \" Note that you must use len(split) instead of len() if you want to use \n-    \" unicode in title.\n-    \"\n-    \" Subtract 3 for spacing around the title.\n-    \" Subtract 4 for the percentage display.\n-    \" Subtract 2 for spacing before this.\n-    \" Subtract 2 more for the '|' on either side of the progress bar\n-    let pgb.subtractedlen=len(split(pgb.title, '\\zs'))+3+4+2+2\n-    let pgb.max_len = 0\n-    set laststatus=2\n-    return pgb\n-  endfun\n-\n-  \" Function: progressbar.calculate_ticks() {{{1\n-  func! s:progressbar.calculate_ticks(pb_len)\n-    if a:pb_len<=0\n-      let pb_len = 100\n-    else\n-      let pb_len = a:pb_len\n-    endif\n-    let self.progress_ticks = map(range(pb_len+1), \"v:val * self.max_value / pb_len\")\n-  endfun\n-\n-  \"Function: progressbar.paint()\n-  func! s:progressbar.paint()\n-    \" Recalculate widths.\n-    let max_len = winwidth(self.winnr)\n-    let pb_len = 0\n-    \" always true on first call because of initial value of self.max_len\n-    if max_len != self.max_len\n-      let self.max_len = max_len\n-\n-      \" Progressbar length\n-      let pb_len = max_len - self.subtractedlen\n-\n-      call self.calculate_ticks(pb_len)\n-\n-      let self.needs_redraw = 1\n-      let cur_value = 0\n-      let self.pb_len = pb_len\n-    else\n-      \" start searching at the last found index to make the search for the\n-      \" appropriate tick value normally take 0 or 1 comparisons\n-      let cur_value = self.last_value\n-      let pb_len = self.pb_len\n-    endif\n-\n-    let cur_val_max = pb_len > 0 ? pb_len : 100\n-\n-    \" find the current progress bar position based on precalculated thresholds\n-    while cur_value < cur_val_max && self.cur_value > self.progress_ticks[cur_value]\n-      let cur_value += 1\n-    endwhile\n-\n-    \" update progress bar\n-    if self.last_value != cur_value || self.needs_redraw || self.cur_value == self.max_value\n-      let self.needs_redraw = 1\n-      let self.last_value = cur_value\n-\n-      let t_color  = self.items.title.color\n-      let b_fcolor = self.items.bar.fillcolor\n-      let b_color  = self.items.bar.color\n-      let c_color  = self.items.counter.color\n-\n-      let stl =  \"%#\".t_color.\"#%-( \".self.title.\" %)\".\n-\t    \\\"%#\".b_color.\"#\".\n-\t    \\(pb_len>0 ?\n-\t    \\\t('|%#'.b_fcolor.\"#%-(\".repeat(\" \",cur_value).\"%)\".\n-\t    \\\t '%#'.b_color.\"#\".repeat(\" \",pb_len-cur_value).\"|\"):\n-\t    \\\t('')).\n-\t    \\\"%=%#\".c_color.\"#%( \".printf(\"%3.d \",100*self.cur_value/self.max_value).\"%% %)\"\n-      call setwinvar(self.winnr, '&stl', stl)\n-    endif\n-  endfun\n-\n-  func! s:progressbar.incr( ... )\n-    let self.cur_value += (a:0 ? a:1 : 1)\n-    \" if we were making a general-purpose progress bar, we'd need to limit to a\n-    \" lower limit as well, but since we always increment with a positive value\n-    \" in this script, we only need limit the upper value\n-    let self.cur_value = (self.cur_value > self.max_value ? self.max_value : self.cur_value)\n-    call self.paint()\n-  endfun\n-  \" }}}\n-  if s:settings.dynamic_folds\n-    \" to process folds we make two passes through each line\n-    let s:pgb = s:ProgressBar(\"Processing folds:\", line('$')*2, s:orgwin)\n-  endif\n-\n-  call s:SetProgbarColor()\n-endif\n-\n-let s:build_fun_lines = []\n-call add(s:build_fun_lines, [])\n-let s:build_fun_lines[-1] =<< trim ENDLET\n-    func! s:Add_diff_fill(lnum)\n-      let l:filler = diff_filler(a:lnum)\n-      if l:filler > 0\n-\tlet l:to_insert = l:filler\n-\twhile l:to_insert > 0\n-\t  let l:new = repeat(s:difffillchar, 3)\n-\n-\t  if l:to_insert > 2 && l:to_insert < l:filler && !s:settings.whole_filler\n-\t    let l:new = l:new .. \" \" .. l:filler .. \" inserted lines \"\n-\t    let l:to_insert = 2\n-\t  endif\n-ENDLET\n-call add(s:build_fun_lines, [])\n-if !s:settings.no_pre\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  \" HTML line wrapping is off--go ahead and fill to the margin\n-\t  \" TODO: what about when CSS wrapping is turned on?\n-\t  let l:new = l:new .. repeat(s:difffillchar, &columns - strlen(l:new) - s:margin)\n-  ENDLET\n-else\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  let l:new = l:new .. repeat(s:difffillchar, 3)\n-  ENDLET\n-endif\n-call add(s:build_fun_lines, [])\n-let s:build_fun_lines[-1] =<< trim ENDLET\n-\tlet l:new = s:HtmlFormat_d(l:new, s:DIFF_D_ID, 0)\n-ENDLET\n-if s:settings.number_lines\n-  call add(s:build_fun_lines, [])\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  \" Indent if line numbering is on. Indent gets style of line number\n-\t  \" column.\n-\t  let l:new = s:HtmlFormat_n(repeat(' ', s:margin), s:LINENR_ID, 0, 0) .. l:new\n-  ENDLET\n-endif\n-if s:settings.dynamic_folds && !s:settings.no_foldcolumn \n-  call add(s:build_fun_lines, [])\n-  let s:build_fun_lines[-1] =<< trim ENDLET\n-\t  if s:foldcolumn > 0\n-\t    \" Indent for foldcolumn if there is one. Assume it's empty, there should\n-\t    \" not be a fold for deleted lines in diff mode.\n-\t    let l:new = s:FoldColumn_fill() .. l:new\n-\t  endif\n-  ENDLET\n-endif\n-\" Ignore this comment, just bypassing a highlighting issue: if\n-call add(s:build_fun_lines, [])\n-let s:build_fun_lines[-1] =<< trim ENDLET\n-\tcall add(s:lines, l:new..s:HtmlEndline)\n-\tlet l:to_insert = l:to_insert - 1\n-      endwhile\n-    endif\n-  endfun\n-ENDLET\n-exec join(flatten(s:build_fun_lines), \"\\n\")\n-\n-\" First do some preprocessing for dynamic folding. Do this for the entire file\n-\" so we don't accidentally start within a closed fold or something.\n-let s:allfolds = []\n-\n-if s:settings.dynamic_folds\n-  let s:lnum = 1\n-  let s:end = line('$')\n-  \" save the fold text and set it to the default so we can find fold levels\n-  let s:foldtext_save = &foldtext\n-  setlocal foldtext&\n-\n-  \" we will set the foldcolumn in the html to the greater of the maximum fold\n-  \" level and the current foldcolumn setting\n-  let s:foldcolumn = &foldcolumn\n-\n-  \" get all info needed to describe currently closed folds\n-  while s:lnum <= s:end\n-    if foldclosed(s:lnum) == s:lnum\n-      \" default fold text has '+-' and then a number of dashes equal to fold\n-      \" level, so subtract 2 from index of first non-dash after the dashes\n-      \" in order to get the fold level of the current fold\n-      let s:level = match(foldtextresult(s:lnum), '+-*\\zs[^-]') - 2\n-      \" store fold info for later use\n-      let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': \"closed-fold\"}\n-      call add(s:allfolds, s:newfold)\n-      \" open the fold so we can find any contained folds\n-      execute s:lnum..\"foldopen\"\n-    else\n-      if !s:settings.no_progress\n-\tcall s:pgb.incr()\n-\tif s:pgb.needs_redraw\n-\t  redrawstatus\n-\t  let s:pgb.needs_redraw = 0\n-\tendif\n-      endif\n-      let s:lnum = s:lnum + 1\n-    endif\n-  endwhile\n-\n-  \" close all folds to get info for originally open folds\n-  silent! %foldclose!\n-  let s:lnum = 1\n-\n-  \" the originally open folds will be all folds we encounter that aren't\n-  \" already in the list of closed folds\n-  while s:lnum <= s:end\n-    if foldclosed(s:lnum) == s:lnum\n-      \" default fold text has '+-' and then a number of dashes equal to fold\n-      \" level, so subtract 2 from index of first non-dash after the dashes\n-      \" in order to get the fold level of the current fold\n-      let s:level = match(foldtextresult(s:lnum), '+-*\\zs[^-]') - 2\n-      let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': \"closed-fold\"}\n-      \" only add the fold if we don't already have it\n-      if empty(s:allfolds) || index(s:allfolds, s:newfold) == -1\n-\tlet s:newfold.type = \"open-fold\"\n-\tcall add(s:allfolds, s:newfold)\n-      endif\n-      \" open the fold so we can find any contained folds\n-      execute s:lnum..\"foldopen\"\n-    else\n-      if !s:settings.no_progress\n-\tcall s:pgb.incr()\n-\tif s:pgb.needs_redraw\n-\t  redrawstatus\n-\t  let s:pgb.needs_redraw = 0\n-\tendif\n-      endif\n-      let s:lnum = s:lnum + 1\n-    endif\n-  endwhile\n-\n-  \" sort the folds so that we only ever need to look at the first item in the\n-  \" list of folds\n-  call sort(s:allfolds, \"s:FoldCompare\")\n-\n-  let &l:foldtext = s:foldtext_save\n-  unlet s:foldtext_save\n-\n-  \" close all folds again so we can get the fold text as we go\n-  silent! %foldclose!\n-\n-  \" Go through and remove folds we don't need to (or cannot) process in the\n-  \" current conversion range\n-  \"\n-  \" If a fold is removed which contains other folds, which are included, we need\n-  \" to adjust the level of the included folds as used by the conversion logic\n-  \" (avoiding special cases is good)\n-  \"\n-  \" Note any time we remove a fold, either all of the included folds are in it,\n-  \" or none of them, because we only remove a fold if neither its start nor its\n-  \" end are within the conversion range.\n-  let leveladjust = 0\n-  for afold in s:allfolds\n-    let removed = 0\n-    if exists(\"g:html_start_line\") && exists(\"g:html_end_line\")\n-      if afold.firstline < g:html_start_line\n-\tif afold.lastline <= g:html_end_line && afold.lastline >= g:html_start_line\n-\t  \" if a fold starts before the range to convert but stops within the\n-\t  \" range, we need to include it. Make it start on the first converted\n-\t  \" line.\n-\t  let afold.firstline = g:html_start_line\n-\telse\n-\t  \" if the fold lies outside the range or the start and stop enclose\n-\t  \" the entire range, don't bother parsing it\n-\t  call remove(s:allfolds, index(s:allfolds, afold))\n-\t  let removed = 1\n-\t  if afold.lastline > g:html_end_line\n-\t    let leveladjust += 1\n-\t  endif\n-\tendif\n-      elseif afold.firstline > g:html_end_line\n-\t\" If the entire fold lies outside the range we need to remove it.\n-\tcall remove(s:allfolds, index(s:allfolds, afold))\n-\tlet removed = 1\n-      endif\n-    elseif exists(\"g:html_start_line\")\n-      if afold.firstline < g:html_start_line\n-\t\" if there is no last line, but there is a first line, the end of the\n-\t\" fold will always lie within the region of interest, so keep it\n-\tlet afold.firstline = g:html_start_line\n-      endif\n-    elseif exists(\"g:html_end_line\")\n-      \" if there is no first line we default to the first line in the buffer so\n-      \" the fold start will always be included if the fold itself is included.\n-      \" If however the entire fold lies outside the range we need to remove it.\n-      if afold.firstline > g:html_end_line\n-\tcall remove(s:allfolds, index(s:allfolds, afold))\n-\tlet removed = 1\n-      endif\n-    endif\n-    if !removed\n-      let afold.level -= leveladjust\n-      if afold.level+1 > s:foldcolumn\n-\tlet s:foldcolumn = afold.level+1\n-      endif\n-    endif\n-  endfor\n-\n-  \" if we've removed folds containing the conversion range from processing,\n-  \" getting foldtext as we go won't know to open the removed folds, so the\n-  \" foldtext would be wrong; open them now.\n-  \"\n-  \" Note that only when a start and an end line is specified will a fold\n-  \" containing the current range ever be removed.\n-  while leveladjust > 0\n-    exe g:html_start_line..\"foldopen\"\n-    let leveladjust -= 1\n-  endwhile\n-endif\n-\n-\" Now loop over all lines in the original text to convert to html.\n-\" Use html_start_line and html_end_line if they are set.\n-if exists(\"g:html_start_line\")\n-  let s:lnum = html_start_line\n-  if s:lnum < 1 || s:lnum > line(\"$\")\n-    let s:lnum = 1\n-  endif\n-else\n-  let s:lnum = 1\n-endif\n-if exists(\"g:html_end_line\")\n-  let s:end = html_end_line\n-  if s:end < s:lnum || s:end > line(\"$\")\n-    let s:end = line(\"$\")\n-  endif\n-else\n-  let s:end = line(\"$\")\n-endif\n-\n-\" stack to keep track of all the folds containing the current line\n-let s:foldstack = []\n-\n-if !s:settings.no_progress\n-  let s:pgb = s:ProgressBar(\"Processing lines:\", s:end - s:lnum + 1, s:orgwin)\n-endif\n-\n-if s:settings.number_lines\n-  let s:margin = strlen(s:end) + 1\n-else\n-  let s:margin = 0\n-endif\n-\n-if has('folding') && !s:settings.ignore_folding\n-  let s:foldfillchar = &fillchars[matchend(&fillchars, 'fold:')]\n-  if s:foldfillchar == ''\n-    let s:foldfillchar = '-'\n-  endif\n-endif\n-let s:difffillchar = &fillchars[matchend(&fillchars, 'diff:')]\n-if s:difffillchar == ''\n-  let s:difffillchar = '-'\n-endif\n-\n-let s:foldId = 0\n-\n-if !s:settings.expand_tabs\n-  \" If keeping tabs, add them to printable characters so we keep them when\n-  \" formatting text (strtrans() doesn't replace printable chars)\n-  let s:old_isprint = &isprint\n-  setlocal isprint+=9\n-endif\n-\n-while s:lnum <= s:end\n-\n-  \" If there are filler lines for diff mode, show these above the line.\n-  call s:Add_diff_fill(s:lnum)\n-\n-  \" Start the line with the line number.\n-  if s:settings.number_lines\n-    let s:numcol = repeat(' ', s:margin - 1 - strlen(s:lnum)) .. s:lnum .. ' '\n-  endif\n-\n-  let s:new = \"\"\n-\n-  if has('folding') && !s:settings.ignore_folding && foldclosed(s:lnum) > -1 && !s:settings.dynamic_folds\n-    \"\n-    \" This is the beginning of a folded block (with no dynamic folding)\n-    let s:new = foldtextresult(s:lnum)\n-    if !s:settings.no_pre\n-      \" HTML line wrapping is off--go ahead and fill to the margin\n-      let s:new = s:new .. repeat(s:foldfillchar, &columns - strlen(s:new))\n-    endif\n-\n-    \" put numcol in a separate group for sake of unselectable text\n-    let s:new = (s:settings.number_lines ? s:HtmlFormat_n(s:numcol, s:FOLDED_ID, 0, s:lnum): \"\") .. s:HtmlFormat_t(s:new, s:FOLDED_ID, 0)\n-\n-    \" Skip to the end of the fold\n-    let s:new_lnum = foldclosedend(s:lnum)\n-\n-    if !s:settings.no_progress\n-      call s:pgb.incr(s:new_lnum - s:lnum)\n-    endif\n-\n-    let s:lnum = s:new_lnum\n-\n-  else\n-    \"\n-    \" A line that is not folded, or doing dynamic folding.\n-    \"\n-    let s:line = getline(s:lnum)\n-    let s:len = strlen(s:line)\n-\n-    if s:settings.dynamic_folds\n-      \" First insert a closing for any open folds that end on this line\n-      while !empty(s:foldstack) && get(s:foldstack,0).lastline == s:lnum-1\n-\tlet s:new = s:new..\"\"\n-\tcall remove(s:foldstack, 0)\n-      endwhile\n-\n-      \" Now insert an opening for any new folds that start on this line\n-      let s:firstfold = 1\n-      while !empty(s:allfolds) && get(s:allfolds,0).firstline == s:lnum\n-\tlet s:foldId = s:foldId + 1\n-\tlet s:new ..= \"\"\n-\n-\n-\t\" Unless disabled, add a fold column for the opening line of a fold.\n-\t\"\n-\t\" Note that dynamic folds require using css so we just use css to take\n-\t\" care of the leading spaces rather than using   in the case of\n-\t\" html_no_pre to make it easier\n-\tif !s:settings.no_foldcolumn\n-\t  \" add fold column that can open the new fold\n-\t  if s:allfolds[0].level > 1 && s:firstfold\n-\t    let s:new = s:new .. s:FoldColumn_build('|', s:allfolds[0].level - 1, 0, \"\",\n-\t\t  \\ 'toggle-open FoldColumn','javascript:toggleFold(\"fold'..s:foldstack[0].id..s:settings.id_suffix..'\");')\n-\t  endif\n-\t  \" add the filler spaces separately from the '+' char so that it can be\n-\t  \" shown/hidden separately during a hover unfold\n-\t  let s:new = s:new .. s:FoldColumn_build(\"+\", 1, 0, \"\",\n-\t\t\\ 'toggle-open FoldColumn', 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\t  \" If this is not the last fold we're opening on this line, we need\n-\t  \" to keep the filler spaces hidden if the fold is opened by mouse\n-\t  \" hover. If it is the last fold to open in the line, we shouldn't hide\n-\t  \" them, so don't apply the toggle-filler class.\n-\t  let s:new = s:new .. s:FoldColumn_build(\" \", 1, s:foldcolumn - s:allfolds[0].level - 1, \"\",\n-\t\t\\ 'toggle-open FoldColumn'.. (get(s:allfolds, 1, {'firstline': 0}).firstline == s:lnum ?\" toggle-filler\" :\"\"),\n-\t\t\\ 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\n-\t  \" add fold column that can close the new fold\n-\t  \" only add extra blank space if we aren't opening another fold on the\n-\t  \" same line\n-\t  if get(s:allfolds, 1, {'firstline': 0}).firstline != s:lnum\n-\t    let s:extra_space = s:foldcolumn - s:allfolds[0].level\n-\t  else\n-\t    let s:extra_space = 0\n-\t  endif\n-\t  if s:firstfold\n-\t    \" the first fold in a line has '|' characters from folds opened in\n-\t    \" previous lines, before the '-' for this fold\n-\t    let s:new ..= s:FoldColumn_build('|', s:allfolds[0].level - 1, s:extra_space, '-',\n-\t\t  \\ 'toggle-closed FoldColumn', 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\t  else\n-\t    \" any subsequent folds in the line only add a single '-'\n-\t    let s:new = s:new .. s:FoldColumn_build(\"-\", 1, s:extra_space, \"\",\n-\t\t  \\ 'toggle-closed FoldColumn', 'javascript:toggleFold(\"fold'..s:foldId..s:settings.id_suffix..'\");')\n-\t  endif\n-\t  let s:firstfold = 0\n-\tendif\n-\n-\t\" Add fold text, moving the span ending to the next line so collapsing\n-\t\" of folds works correctly.\n-\t\" Put numcol in a separate group for sake of unselectable text.\n-\tlet s:new = s:new .. (s:settings.number_lines ? s:HtmlFormat_n(s:numcol, s:FOLDED_ID, 0, 0) : \"\") .. substitute(s:HtmlFormat_t(foldtextresult(s:lnum), s:FOLDED_ID, 0), '', s:HtmlEndline..'\\n\\0', '')\n-\tlet s:new = s:new .. \"\"\n-\n-\t\" open the fold now that we have the fold text to allow retrieval of\n-\t\" fold text for subsequent folds\n-\texecute s:lnum..\"foldopen\"\n-\tcall insert(s:foldstack, remove(s:allfolds,0))\n-\tlet s:foldstack[0].id = s:foldId\n-      endwhile\n-\n-      \" Unless disabled, add a fold column for other lines.\n-      \"\n-      \" Note that dynamic folds require using css so we just use css to take\n-      \" care of the leading spaces rather than using   in the case of\n-      \" html_no_pre to make it easier\n-      if !s:settings.no_foldcolumn\n-\tif empty(s:foldstack)\n-\t  \" add the empty foldcolumn for unfolded lines if there is a fold\n-\t  \" column at all\n-\t  if s:foldcolumn > 0\n-\t    let s:new = s:new .. s:FoldColumn_fill()\n-\t  endif\n-\telse\n-\t  \" add the fold column for folds not on the opening line\n-\t  if get(s:foldstack, 0).firstline < s:lnum\n-\t    let s:new = s:new .. s:FoldColumn_build('|', s:foldstack[0].level, s:foldcolumn - s:foldstack[0].level, \"\",\n-\t\t  \\ 'FoldColumn', 'javascript:toggleFold(\"fold'..s:foldstack[0].id..s:settings.id_suffix..'\");')\n-\t  endif\n-\tendif\n-      endif\n-    endif\n-\n-    \" Now continue with the unfolded line text\n-    if s:settings.number_lines\n-      let s:new = s:new .. s:HtmlFormat_n(s:numcol, s:LINENR_ID, 0, s:lnum)\n-    elseif s:settings.line_ids\n-      let s:new = s:new .. s:HtmlFormat_n(\"\", s:LINENR_ID, 0, s:lnum)\n-    endif\n-\n-    \" Get the diff attribute, if any.\n-    let s:diffattr = diff_hlID(s:lnum, 1)\n-\n-    \" initialize conceal info to act like not concealed, just in case\n-    let s:concealinfo = [0, '']\n-\n-    \" Loop over each character in the line\n-    let s:col = 1\n-\n-    \" most of the time we won't use the diff_id, initialize to zero\n-    let s:diff_id = 0\n-\n-    while s:col <= s:len || (s:col == 1 && s:diffattr)\n-      let s:startcol = s:col \" The start column for processing text\n-      if !s:settings.ignore_conceal && has('conceal')\n-\tlet s:concealinfo = synconcealed(s:lnum, s:col)\n-      endif\n-      if !s:settings.ignore_conceal && s:concealinfo[0]\n-\tlet s:col = s:col + 1\n-\t\" Speed loop (it's small - that's the trick)\n-\t\" Go along till we find a change in the match sequence number (ending\n-\t\" the specific concealed region) or until there are no more concealed\n-\t\" characters.\n-\twhile s:col <= s:len && s:concealinfo == synconcealed(s:lnum, s:col) | let s:col = s:col + 1 | endwhile\n-      elseif s:diffattr\n-\tlet s:diff_id = diff_hlID(s:lnum, s:col)\n-\tlet s:id = synID(s:lnum, s:col, 1)\n-\tlet s:col = s:col + 1\n-\t\" Speed loop (it's small - that's the trick)\n-\t\" Go along till we find a change in hlID\n-\twhile s:col <= s:len && s:id == synID(s:lnum, s:col, 1)\n-\t      \\   && s:diff_id == diff_hlID(s:lnum, s:col) |\n-\t      \\     let s:col = s:col + 1 |\n-\t      \\ endwhile\n-\tif s:len < &columns && !s:settings.no_pre\n-\t  \" Add spaces at the end of the raw text line to extend the changed\n-\t  \" line to the full width.\n-\t  let s:line = s:line .. repeat(' ', &columns - virtcol([s:lnum, s:len]) - s:margin)\n-\t  let s:len = &columns\n-\tendif\n-      else\n-\tlet s:id = synID(s:lnum, s:col, 1)\n-\tlet s:col = s:col + 1\n-\t\" Speed loop (it's small - that's the trick)\n-\t\" Go along till we find a change in synID\n-\twhile s:col <= s:len && s:id == synID(s:lnum, s:col, 1) | let s:col = s:col + 1 | endwhile\n-      endif\n-\n-      if s:settings.ignore_conceal || !s:concealinfo[0]\n-\t\" Expand tabs if needed\n-\tlet s:expandedtab = strpart(s:line, s:startcol - 1, s:col - s:startcol)\n-\tif s:settings.expand_tabs\n-\t  let s:offset = 0\n-\t  let s:idx = stridx(s:expandedtab, \"\\t\")\n-\t  let s:tablist = exists(\"+vts\") ? split(&vts,',') : []\n-\t  if empty(s:tablist)\n-\t    let s:tablist = [ &ts ]\n-\t  endif\n-\t  let s:tabidx = 0\n-\t  let s:tabwidth = 0\n-\t  while s:idx >= 0\n-\t    if s:startcol + s:idx == 1\n-\t      let s:i = s:tablist[0]\n-\t    else\n-\t      \" Get the character, which could be multiple bytes, which falls\n-\t      \" immediately before the found tab. Extract it by matching a\n-\t      \" character just prior to the column where the tab matches.\n-\t      \" We'll use this to get the byte index of the character\n-\t      \" immediately preceding the tab, so we can then look up the\n-\t      \" virtual column that character appears in, to determine how\n-\t      \" much of the current tabstop has been used up.\n-\t      if s:idx == 0\n-\t\t\" if the found tab is the first character in the text being\n-\t\t\" processed, we need to get the character prior to the text,\n-\t\t\" given by startcol.\n-\t\tlet s:prevc = matchstr(s:line, '.\\%' .. (s:startcol + s:offset) .. 'c')\n-\t      else\n-\t\t\" Otherwise, the byte index of the tab into s:expandedtab is\n-\t\t\" given by s:idx.\n-\t\tlet s:prevc = matchstr(s:expandedtab, '.\\%' .. (s:idx + 1) .. 'c')\n-\t      endif\n-\t      let s:vcol = virtcol([s:lnum, s:startcol + s:idx + s:offset - len(s:prevc)])\n-\n-\t      \" find the tabstop interval to use for the tab we just found. Keep\n-\t      \" adding tabstops (which could be variable) until we would exceed\n-\t      \" the virtual screen position of the start of the found tab.\n-\t      while s:vcol >= s:tabwidth + s:tablist[s:tabidx]\n-\t\tlet s:tabwidth += s:tablist[s:tabidx]\n-\t\tif s:tabidx < len(s:tablist)-1\n-\t\t  let s:tabidx = s:tabidx+1\n-\t\tendif\n-\t      endwhile\n-\t      let s:i = s:tablist[s:tabidx] - (s:vcol - s:tabwidth)\n-\t    endif\n-\t    \" update offset to keep the index within the line corresponding to\n-\t    \" actual tab characters instead of replaced spaces; s:idx reflects\n-\t    \" replaced spaces in s:expandedtab, s:offset cancels out all but\n-\t    \" the tab character itself.\n-\t    let s:offset -= s:i - 1\n-\t    let s:expandedtab = substitute(s:expandedtab, '\\t', repeat(' ', s:i), '')\n-\t    let s:idx = stridx(s:expandedtab, \"\\t\")\n-\t  endwhile\n-\tend\n-\n-\t\" get the highlight group name to use\n-\tlet s:id = synIDtrans(s:id)\n-      else\n-\t\" use Conceal highlighting for concealed text\n-\tlet s:id = s:CONCEAL_ID\n-\tlet s:expandedtab = s:concealinfo[1]\n-      endif\n-\n-      \" Output the text with the same synID, with class set to the highlight ID\n-      \" name, unless it has been concealed completely.\n-      if strlen(s:expandedtab) > 0\n-\tlet s:new = s:new .. s:HtmlFormat(s:expandedtab,  s:id, s:diff_id, \"\", 0)\n-      endif\n-    endwhile\n-  endif\n-\n-  call extend(s:lines, split(s:new..s:HtmlEndline, '\\n', 1))\n-  if !s:settings.no_progress && s:pgb.needs_redraw\n-    redrawstatus\n-    let s:pgb.needs_redraw = 0\n-  endif\n-  let s:lnum = s:lnum + 1\n-\n-  if !s:settings.no_progress\n-    call s:pgb.incr()\n-  endif\n-endwhile\n-\n-\" Diff filler is returned based on what needs inserting *before* the given line.\n-\" So to get diff filler at the end of the buffer, we need to use last line + 1\n-call s:Add_diff_fill(s:end+1)\n-\n-if s:settings.dynamic_folds\n-  \" finish off any open folds\n-  while !empty(s:foldstack)\n-    let s:lines[-1]..=\"\"\n-    call remove(s:foldstack, 0)\n-  endwhile\n-\n-  \" add fold column to the style list if not already there\n-  let s:id = s:FOLD_C_ID\n-  if !has_key(s:stylelist, s:id)\n-    let s:stylelist[s:id] = '.FoldColumn { ' .. s:CSS1(s:id) .. '}'\n-  endif\n-endif\n-\n-if s:settings.no_pre\n-  if !s:settings.use_css\n-    \" Close off the font tag that encapsulates the whole \n-    call extend(s:lines, [\"\"])\n-  else\n-    call extend(s:lines, [\"
\"])\n- endif\n-else\n- call extend(s:lines, [\"\"])\n-endif\n-if !s:settings.no_doc\n- call extend(s:lines, [\"\", \"\"])\n-endif\n-\n-exe s:newwin .. \"wincmd w\"\n-call setline(1, s:lines)\n-unlet s:lines\n-\n-\" Mangle modelines so Vim doesn't try to use HTML text as a modeline if editing\n-\" this file in the future; need to do this after generating all the text in case\n-\" the modeline text has different highlight groups which all turn out to be\n-\" stripped from the final output.\n-%s!\\v(%(^|\\s+)%([Vv]i%(m%([<=>]?\\d+)?)?|ex)):!\\1\\:!ge\n-\n-\" The generated HTML is admittedly ugly and takes a LONG time to fold.\n-\" Make sure the user doesn't do syntax folding when loading a generated file,\n-\" using a modeline.\n-if !s:settings.no_modeline\n- call append(line('$'), \"\")\n-endif\n-\n-\" Now, when we finally know which, we define the colors and styles\n-if s:settings.use_css && !s:settings.no_doc\n- 1;//+1\n-\n- \" Normal/global attributes\n- if s:settings.no_pre\n- call append('.', \"body { color: \" .. s:fgc .. \"; background-color: \" .. s:bgc .. \"; font-family: \".. s:htmlfont ..\"; }\")\n- +\n- else\n- call append('.', \"pre { \" .. s:whitespace .. \"font-family: \".. s:htmlfont ..\"; color: \" .. s:fgc .. \"; background-color: \" .. s:bgc .. \"; }\")\n- +\n- yank\n- put\n- execute \"normal! ^cwbody\\e\"\n- \" body should not have the wrap formatting, only the pre section\n- if s:whitespace != ''\n- exec 's#'..s:whitespace\n- endif\n- endif\n- \" fix browser inconsistencies (sometimes within the same browser) of different\n- \" default font size for different elements\n- call append('.', '* { font-size: 1em; }')\n- +\n- \" if we use any input elements for unselectable content, make sure they look\n- \" like normal text\n- if !empty(s:settings.prevent_copy)\n- if s:settings.use_input_for_pc !=# \"none\"\n- call append('.', 'input { border: none; margin: 0; padding: 0; font-family: '..s:htmlfont..'; }')\n- +\n- \" ch units for browsers which support them, em units for a somewhat\n- \" reasonable fallback.\n- for w in range(1, 20, 1)\n-\tcall append('.', [\n-\t \\ \"input[size='\"..w..\"'] { width: \"..w..\"em; width: \"..w..\"ch; }\"\n-\t \\ ])\n-\t+\n- endfor\n- endif\n-\n- if s:settings.use_input_for_pc !=# 'all'\n- let s:unselectable_styles = []\n- if s:settings.prevent_copy =~# 'f'\n-\tcall add(s:unselectable_styles, 'FoldColumn')\n- endif\n- if s:settings.prevent_copy =~# 'n'\n-\tcall add(s:unselectable_styles, 'LineNr')\n- endif\n- if s:settings.prevent_copy =~# 't' && !s:settings.ignore_folding\n-\tcall add(s:unselectable_styles, 'Folded')\n- endif\n- if s:settings.prevent_copy =~# 'd'\n-\tcall add(s:unselectable_styles, 'DiffDelete')\n- endif\n- if s:settings.use_input_for_pc !=# 'none'\n-\tcall append('.', [\n-\t \\ '/* Note: IE does not support @supports conditionals, but also does not fully support',\n-\t \\ ' \"content:\" with custom content, so we *want* the check to fail */',\n-\t \\ '@supports ( content: attr(data-custom-content) ) {'\n-\t \\ ])\n-\t+3\n- endif\n- \" The line number column inside the foldtext is styled just like the fold\n- \" text in Vim, but it should use the prevent_copy settings of line number\n- \" rather than fold text. Apply the prevent_copy styles to foldtext\n- \" specifically for line numbers, which always come after the fold column,\n- \" or at the beginning of the line.\n- if s:settings.prevent_copy =~# 'n' && !s:settings.ignore_folding\n-\tcall append('.', [\n-\t \\ ' .FoldColumn + .Folded, .Folded:first-child { user-select: none; }',\n-\t \\ ' .FoldColumn + [data-Folded-content]::before, [data-Folded-content]:first-child::before { content: attr(data-Folded-content); }',\n-\t \\ ' .FoldColumn + [data-Folded-content]::before, [data-Folded-content]:first-child::before { padding-bottom: 1px; display: inline-block; /* match the 1-px padding of standard items with background */ }',\n-\t \\ ' .FoldColumn + span[data-Folded-content]::before, [data-Folded-content]:first-child::before { cursor: default; }',\n-\t \\ ])\n-\t+4\n- endif\n- for s:style_name in s:unselectable_styles\n-\tcall append('.', [\n-\t \\ ' .'..s:style_name..' { user-select: none; }',\n-\t \\ ' [data-'..s:style_name..'-content]::before { content: attr(data-'..s:style_name..'-content); }',\n-\t \\ ' [data-'..s:style_name..'-content]::before { padding-bottom: 1px; display: inline-block; /* match the 1-px padding of standard items with background */ }',\n-\t \\ ' span[data-'..s:style_name..'-content]::before { cursor: default; }',\n-\t \\ ])\n-\t+4\n- endfor\n- if s:settings.use_input_for_pc !=# 'none'\n-\t\" Note, the extra '}' is to match the \"@supports\" above\n-\tcall append('.', [\n-\t \\ ' input { display: none; }',\n-\t \\ '}'\n-\t \\ ])\n-\t+2\n- endif\n- unlet s:unselectable_styles\n- endif\n-\n- \" Fix mouse cursor shape for the fallback method of uncopyable text\n- if s:settings.use_input_for_pc !=# 'none'\n- if s:settings.prevent_copy =~# 'f'\n-\t\" Make the cursor show active fold columns as active areas, and empty fold\n-\t\" columns as not interactive.\n-\tcall append('.', ['input.FoldColumn { cursor: pointer; }',\n-\t \\ 'input.FoldColumn[value=\"'..repeat(' ', s:foldcolumn)..'\"] { cursor: default; }'\n-\t \\ ])\n-\t+2\n-\tif s:settings.use_input_for_pc !=# 'all'\n-\t call append('.', [\n-\t\t\\ 'a[data-FoldColumn-content=\"'..repeat(' ', s:foldcolumn)..'\"] { cursor: default; }'\n-\t\t\\ ])\n-\t +1\n-\tend\n- endif\n- \" make line number column show as non-interactive if not selectable\n- if s:settings.prevent_copy =~# 'n'\n-\tcall append('.', 'input.LineNr { cursor: default; }')\n-\t+\n- endif\n- \" make fold text and line number column within fold text show as\n- \" non-interactive if not selectable\n- if (s:settings.prevent_copy =~# 'n' || s:settings.prevent_copy =~# 't') && !s:settings.ignore_folding\n-\tcall append('.', 'input.Folded { cursor: default; }')\n-\t+\n- endif\n- \" make diff filler show as non-interactive if not selectable\n- if s:settings.prevent_copy =~# 'd'\n-\tcall append('.', 'input.DiffDelete { cursor: default; }')\n-\t+\n- endif\n- endif\n- endif\n-endif\n-\n-if !s:settings.use_css && !s:settings.no_doc\n- \" For Netscape 4, set attributes too, though, strictly speaking, it's\n- \" incorrect.\n- execute '%s:]*\\):\\r]\\|>\\|<\\|"\\)+\\1\\2+ge\n-endif\n-\n-\" The DTD\n-if !s:settings.no_doc\n- if s:settings.use_xhtml\n- exe \"normal! gg$a\\n\"\n- elseif s:html5\n- exe \"normal! gg0i\\n\"\n- else\n- exe \"normal! gg0i\\n\"\n- endif\n-endif\n-\n-if s:settings.use_xhtml && !s:settings.no_doc\n- exe \"normal! gg/\n+--- @field conf vim.tohtml.opt\n+--- @class vim.tohtml.state:vim.tohtml.state.global", + "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1473089500", + "id": 1473089500, + "line": 41, + "node_id": "PRRC_kwDOAPphoM5XzY_c", + "original_commit_id": "55affa23d4e7d3adaec6a89b071d7c8de9f7ce9d", + "original_line": 41, + "original_position": 34, + "original_start_line": null, + "path": "runtime/lua/tohtml.lua", + "position": 41, + "pull_request_review_id": 1854202924, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27097", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473089500/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T16:24:00Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473089500", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27097#discussion_r1473091159" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27097" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473091159" + } + }, + "author_association": "MEMBER", + "body": "What are the type of these?", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", + "created_at": "2024-01-31T16:13:50Z", + "diff_hunk": "@@ -0,0 +1,1263 @@\n+---@defgroup vim.tohtml\n+\n+-- The HTML conversion script is different from Vim's one. If you want to use\n+-- Vim's TOhtml converter, download it from the vim GitHub repo.\n+-- Here are the Vim files related to this functionality:\n+-- - https://github.com/vim/vim/blob/master/runtime/syntax/2html.vim\n+-- - https://github.com/vim/vim/blob/master/runtime/autoload/tohtml.vim\n+-- - https://github.com/vim/vim/blob/master/runtime/plugin/tohtml.vim\n+--\n+-- Main differences between this and the vim version:\n+-- - No \"ignore some visual thing\" settings (just set the right Vim option)\n+-- - No support for legacy web engines\n+-- - No support for legacy encoding (supports only UTF-8)\n+-- - No interactive webpage\n+-- - No specifying the internal html (no XHTML, no use_css=false)\n+-- - No multiwindow diffs\n+-- - No ranges\n+--\n+-- Remarks:\n+-- - Not all visuals are supported, so it may differ.\n+\n+--- @class vim.tohtml.opt\n+--- @field title? string|false\n+--- @field number_lines? boolean\n+--- @field font? string[]|string\n+--- @field width? number\n+--- @class vim.tohtml.state.global\n+--- @field background string\n+--- @field foreground string\n+--- @field title string|false\n+--- @field font string\n+--- @field highlights_name table\n+--- @field conf vim.tohtml.opt\n+--- @class vim.tohtml.state:vim.tohtml.state.global\n+--- @field style vim.tohtml.styletable\n+--- @field tabstop string|false\n+--- @field opt vim.wo\n+--- @field winnr number\n+--- @field bufnr number\n+--- @field width number\n+--- @field buflen number\n+--- @class vim.tohtml.styletable\n+--- @field [number] vim.tohtml.line (number: (1-index, exclusive))\n+--- @class vim.tohtml.line\n+--- @field virt_lines {[number]:{[1]:string,[2]:number}[]}\n+--- @field pre_text string[][]\n+--- @field hide? boolean\n+--- @field [number] vim.tohtml.cell? (number: (1-index, exclusive))\n+--- @class vim.tohtml.cell\n+--- @field [1] number[] start\n+--- @field [2] number[] close\n+--- @field [3] any[][] virt_text\n+--- @field [4] any[][] overlay_text\n+\n+local HIDE_ID = -1\n+\n+--- @type table\n+local cterm_color_cache = {}\n+local background_color_cache = nil\n+local foreground_color_cache = nil", + "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1473091159", + "id": 1473091159, + "line": 174, + "node_id": "PRRC_kwDOAPphoM5XzZZX", + "original_commit_id": "55affa23d4e7d3adaec6a89b071d7c8de9f7ce9d", + "original_line": 174, + "original_position": 60, + "original_start_line": null, + "path": "runtime/lua/tohtml.lua", + "position": 174, + "pull_request_review_id": 1854202924, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27097", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473091159/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T16:24:00Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473091159", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27097#discussion_r1473094527" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27097" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473094527" + } + }, + "author_association": "MEMBER", + "body": "I think it might be better to pull these tables out as named constants.", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", + "created_at": "2024-01-31T16:14:59Z", + "diff_hunk": "@@ -0,0 +1,1263 @@\n+---@defgroup vim.tohtml\n+\n+-- The HTML conversion script is different from Vim's one. If you want to use\n+-- Vim's TOhtml converter, download it from the vim GitHub repo.\n+-- Here are the Vim files related to this functionality:\n+-- - https://github.com/vim/vim/blob/master/runtime/syntax/2html.vim\n+-- - https://github.com/vim/vim/blob/master/runtime/autoload/tohtml.vim\n+-- - https://github.com/vim/vim/blob/master/runtime/plugin/tohtml.vim\n+--\n+-- Main differences between this and the vim version:\n+-- - No \"ignore some visual thing\" settings (just set the right Vim option)\n+-- - No support for legacy web engines\n+-- - No support for legacy encoding (supports only UTF-8)\n+-- - No interactive webpage\n+-- - No specifying the internal html (no XHTML, no use_css=false)\n+-- - No multiwindow diffs\n+-- - No ranges\n+--\n+-- Remarks:\n+-- - Not all visuals are supported, so it may differ.\n+\n+--- @class vim.tohtml.opt\n+--- @field title? string|false\n+--- @field number_lines? boolean\n+--- @field font? string[]|string\n+--- @field width? number\n+--- @class vim.tohtml.state.global\n+--- @field background string\n+--- @field foreground string\n+--- @field title string|false\n+--- @field font string\n+--- @field highlights_name table\n+--- @field conf vim.tohtml.opt\n+--- @class vim.tohtml.state:vim.tohtml.state.global\n+--- @field style vim.tohtml.styletable\n+--- @field tabstop string|false\n+--- @field opt vim.wo\n+--- @field winnr number\n+--- @field bufnr number\n+--- @field width number\n+--- @field buflen number\n+--- @class vim.tohtml.styletable\n+--- @field [number] vim.tohtml.line (number: (1-index, exclusive))\n+--- @class vim.tohtml.line\n+--- @field virt_lines {[number]:{[1]:string,[2]:number}[]}\n+--- @field pre_text string[][]\n+--- @field hide? boolean\n+--- @field [number] vim.tohtml.cell? (number: (1-index, exclusive))\n+--- @class vim.tohtml.cell\n+--- @field [1] number[] start\n+--- @field [2] number[] close\n+--- @field [3] any[][] virt_text\n+--- @field [4] any[][] overlay_text\n+\n+local HIDE_ID = -1\n+\n+--- @type table\n+local cterm_color_cache = {}\n+local background_color_cache = nil\n+local foreground_color_cache = nil\n+\n+--- @param colorstr string\n+--- @return string\n+local function cterm_to_hex(colorstr)\n+ if colorstr:sub(1, 1) == '#' then\n+ return colorstr\n+ end\n+ assert(colorstr ~= '')\n+ local color = tonumber(colorstr)\n+ assert(color and 0 <= color and color <= 255)\n+ if cterm_color_cache[color] then\n+ return cterm_color_cache[color]\n+ end\n+ --- @type string?\n+ local hex\n+ vim.api.nvim_create_autocmd('TermResponse', {\n+ once = true,\n+ callback = function(args)\n+ --- @type string\n+ hex = '#'\n+ .. table.concat({ args.data:match('\\027%]4;%d*;rgb:(%w%w)%w%w/(%w%w)%w%w/(%w%w)%w%w') })\n+ end,\n+ })\n+ --- @see https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Operating-System-Commands\n+ io.stdout:write(('\\027]4;%s;?\\027\\\\'):format(color))\n+ vim.wait(100, function()\n+ return hex and true or false\n+ end)\n+ if hex then\n+ cterm_color_cache[color] = hex\n+ else\n+ --If the terminal didn't respond, set the colors to a fallback value\n+ vim.notify_once(\"Info(TOhtml): Couldn't get terminal colors, using fallback\")\n+ local t_Co = tonumber(vim.api.nvim_eval('&t_Co'))\n+ if t_Co == 8 then\n+ -- stylua: ignore\n+ cterm_color_cache = {\n+ [0] = \"#808080\", \"#ff6060\", \"#00ff00\", \"#ffff00\",\n+ \"#8080ff\", \"#ff40ff\", \"#00ffff\", \"#ffffff\",\n+ }\n+ else\n+ -- stylua: ignore\n+ cterm_color_cache = {\n+ [0] = \"#000000\", \"#c00000\", \"#008000\", \"#804000\",\n+ \"#0000c0\", \"#c000c0\", \"#008080\", \"#c0c0c0\",\n+ \"#808080\", \"#ff6060\", \"#00ff00\", \"#ffff00\",\n+ \"#8080ff\", \"#ff40ff\", \"#00ffff\", \"#ffffff\",\n+ }\n+ if t_Co == 88 then\n+ -- stylua: ignore\n+ vim.list_extend(cterm_color_cache, {\n+ \"#000000\", \"#00008b\", \"#0000cd\", \"#0000ff\",", + "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1473094527", + "id": 1473094527, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XzaN_", + "original_commit_id": "55affa23d4e7d3adaec6a89b071d7c8de9f7ce9d", + "original_line": 119, + "original_position": 112, + "original_start_line": null, + "path": "runtime/lua/tohtml.lua", + "position": null, + "pull_request_review_id": 1854202924, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27097", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473094527/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T16:24:00Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473094527", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27097#discussion_r1473097925" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27097" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473097925" + } + }, + "author_association": "MEMBER", + "body": "Can this be pulled out into a more generic function like `query_terminal()`?", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", + "created_at": "2024-01-31T16:16:48Z", + "diff_hunk": "@@ -0,0 +1,1263 @@\n+---@defgroup vim.tohtml\n+\n+-- The HTML conversion script is different from Vim's one. If you want to use\n+-- Vim's TOhtml converter, download it from the vim GitHub repo.\n+-- Here are the Vim files related to this functionality:\n+-- - https://github.com/vim/vim/blob/master/runtime/syntax/2html.vim\n+-- - https://github.com/vim/vim/blob/master/runtime/autoload/tohtml.vim\n+-- - https://github.com/vim/vim/blob/master/runtime/plugin/tohtml.vim\n+--\n+-- Main differences between this and the vim version:\n+-- - No \"ignore some visual thing\" settings (just set the right Vim option)\n+-- - No support for legacy web engines\n+-- - No support for legacy encoding (supports only UTF-8)\n+-- - No interactive webpage\n+-- - No specifying the internal html (no XHTML, no use_css=false)\n+-- - No multiwindow diffs\n+-- - No ranges\n+--\n+-- Remarks:\n+-- - Not all visuals are supported, so it may differ.\n+\n+--- @class vim.tohtml.opt\n+--- @field title? string|false\n+--- @field number_lines? boolean\n+--- @field font? string[]|string\n+--- @field width? number\n+--- @class vim.tohtml.state.global\n+--- @field background string\n+--- @field foreground string\n+--- @field title string|false\n+--- @field font string\n+--- @field highlights_name table\n+--- @field conf vim.tohtml.opt\n+--- @class vim.tohtml.state:vim.tohtml.state.global\n+--- @field style vim.tohtml.styletable\n+--- @field tabstop string|false\n+--- @field opt vim.wo\n+--- @field winnr number\n+--- @field bufnr number\n+--- @field width number\n+--- @field buflen number\n+--- @class vim.tohtml.styletable\n+--- @field [number] vim.tohtml.line (number: (1-index, exclusive))\n+--- @class vim.tohtml.line\n+--- @field virt_lines {[number]:{[1]:string,[2]:number}[]}\n+--- @field pre_text string[][]\n+--- @field hide? boolean\n+--- @field [number] vim.tohtml.cell? (number: (1-index, exclusive))\n+--- @class vim.tohtml.cell\n+--- @field [1] number[] start\n+--- @field [2] number[] close\n+--- @field [3] any[][] virt_text\n+--- @field [4] any[][] overlay_text\n+\n+local HIDE_ID = -1\n+\n+--- @type table\n+local cterm_color_cache = {}\n+local background_color_cache = nil\n+local foreground_color_cache = nil\n+\n+--- @param colorstr string\n+--- @return string\n+local function cterm_to_hex(colorstr)\n+ if colorstr:sub(1, 1) == '#' then\n+ return colorstr\n+ end\n+ assert(colorstr ~= '')\n+ local color = tonumber(colorstr)\n+ assert(color and 0 <= color and color <= 255)\n+ if cterm_color_cache[color] then\n+ return cterm_color_cache[color]\n+ end\n+ --- @type string?\n+ local hex\n+ vim.api.nvim_create_autocmd('TermResponse', {\n+ once = true,\n+ callback = function(args)\n+ --- @type string\n+ hex = '#'\n+ .. table.concat({ args.data:match('\\027%]4;%d*;rgb:(%w%w)%w%w/(%w%w)%w%w/(%w%w)%w%w') })\n+ end,\n+ })\n+ --- @see https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Operating-System-Commands\n+ io.stdout:write(('\\027]4;%s;?\\027\\\\'):format(color))\n+ vim.wait(100, function()\n+ return hex and true or false\n+ end)\n+ if hex then\n+ cterm_color_cache[color] = hex\n+ else\n+ --If the terminal didn't respond, set the colors to a fallback value\n+ vim.notify_once(\"Info(TOhtml): Couldn't get terminal colors, using fallback\")\n+ local t_Co = tonumber(vim.api.nvim_eval('&t_Co'))\n+ if t_Co == 8 then\n+ -- stylua: ignore\n+ cterm_color_cache = {\n+ [0] = \"#808080\", \"#ff6060\", \"#00ff00\", \"#ffff00\",\n+ \"#8080ff\", \"#ff40ff\", \"#00ffff\", \"#ffffff\",\n+ }\n+ else\n+ -- stylua: ignore\n+ cterm_color_cache = {\n+ [0] = \"#000000\", \"#c00000\", \"#008000\", \"#804000\",\n+ \"#0000c0\", \"#c000c0\", \"#008080\", \"#c0c0c0\",\n+ \"#808080\", \"#ff6060\", \"#00ff00\", \"#ffff00\",\n+ \"#8080ff\", \"#ff40ff\", \"#00ffff\", \"#ffffff\",\n+ }\n+ if t_Co == 88 then\n+ -- stylua: ignore\n+ vim.list_extend(cterm_color_cache, {\n+ \"#000000\", \"#00008b\", \"#0000cd\", \"#0000ff\",\n+ \"#008b00\", \"#008b8b\", \"#008bcd\", \"#008bff\",\n+ \"#00cd00\", \"#00cd8b\", \"#00cdcd\", \"#00cdff\",\n+ \"#00ff00\", \"#00ff8b\", \"#00ffcd\", \"#00ffff\",\n+ \"#8b0000\", \"#8b008b\", \"#8b00cd\", \"#8b00ff\",\n+ \"#8b8b00\", \"#8b8b8b\", \"#8b8bcd\", \"#8b8bff\",\n+ \"#8bcd00\", \"#8bcd8b\", \"#8bcdcd\", \"#8bcdff\",\n+ \"#8bff00\", \"#8bff8b\", \"#8bffcd\", \"#8bffff\",\n+ \"#cd0000\", \"#cd008b\", \"#cd00cd\", \"#cd00ff\",\n+ \"#cd8b00\", \"#cd8b8b\", \"#cd8bcd\", \"#cd8bff\",\n+ \"#cdcd00\", \"#cdcd8b\", \"#cdcdcd\", \"#cdcdff\",\n+ \"#cdff00\", \"#cdff8b\", \"#cdffcd\", \"#cdffff\",\n+ \"#ff0000\", \"#ff008b\", \"#ff00cd\", \"#ff00ff\",\n+ \"#ff8b00\", \"#ff8b8b\", \"#ff8bcd\", \"#ff8bff\",\n+ \"#ffcd00\", \"#ffcd8b\", \"#ffcdcd\", \"#ffcdff\",\n+ \"#ffff00\", \"#ffff8b\", \"#ffffcd\", \"#ffffff\",\n+ \"#2e2e2e\", \"#5c5c5c\", \"#737373\", \"#8b8b8b\",\n+ \"#a2a2a2\", \"#b9b9b9\", \"#d0d0d0\", \"#e7e7e7\",\n+ })\n+ elseif t_Co == 256 then\n+ -- stylua: ignore\n+ vim.list_extend(cterm_color_cache, {\n+ \"#000000\", \"#00005f\", \"#000087\", \"#0000af\",\n+ \"#0000d7\", \"#0000ff\", \"#005f00\", \"#005f5f\",\n+ \"#005f87\", \"#005faf\", \"#005fd7\", \"#005fff\",\n+ \"#008700\", \"#00875f\", \"#008787\", \"#0087af\",\n+ \"#0087d7\", \"#0087ff\", \"#00af00\", \"#00af5f\",\n+ \"#00af87\", \"#00afaf\", \"#00afd7\", \"#00afff\",\n+ \"#00d700\", \"#00d75f\", \"#00d787\", \"#00d7af\",\n+ \"#00d7d7\", \"#00d7ff\", \"#00ff00\", \"#00ff5f\",\n+ \"#00ff87\", \"#00ffaf\", \"#00ffd7\", \"#00ffff\",\n+ \"#5f0000\", \"#5f005f\", \"#5f0087\", \"#5f00af\",\n+ \"#5f00d7\", \"#5f00ff\", \"#5f5f00\", \"#5f5f5f\",\n+ \"#5f5f87\", \"#5f5faf\", \"#5f5fd7\", \"#5f5fff\",\n+ \"#5f8700\", \"#5f875f\", \"#5f8787\", \"#5f87af\",\n+ \"#5f87d7\", \"#5f87ff\", \"#5faf00\", \"#5faf5f\",\n+ \"#5faf87\", \"#5fafaf\", \"#5fafd7\", \"#5fafff\",\n+ \"#5fd700\", \"#5fd75f\", \"#5fd787\", \"#5fd7af\",\n+ \"#5fd7d7\", \"#5fd7ff\", \"#5fff00\", \"#5fff5f\",\n+ \"#5fff87\", \"#5fffaf\", \"#5fffd7\", \"#5fffff\",\n+ \"#870000\", \"#87005f\", \"#870087\", \"#8700af\",\n+ \"#8700d7\", \"#8700ff\", \"#875f00\", \"#875f5f\",\n+ \"#875f87\", \"#875faf\", \"#875fd7\", \"#875fff\",\n+ \"#878700\", \"#87875f\", \"#878787\", \"#8787af\",\n+ \"#8787d7\", \"#8787ff\", \"#87af00\", \"#87af5f\",\n+ \"#87af87\", \"#87afaf\", \"#87afd7\", \"#87afff\",\n+ \"#87d700\", \"#87d75f\", \"#87d787\", \"#87d7af\",\n+ \"#87d7d7\", \"#87d7ff\", \"#87ff00\", \"#87ff5f\",\n+ \"#87ff87\", \"#87ffaf\", \"#87ffd7\", \"#87ffff\",\n+ \"#af0000\", \"#af005f\", \"#af0087\", \"#af00af\",\n+ \"#af00d7\", \"#af00ff\", \"#af5f00\", \"#af5f5f\",\n+ \"#af5f87\", \"#af5faf\", \"#af5fd7\", \"#af5fff\",\n+ \"#af8700\", \"#af875f\", \"#af8787\", \"#af87af\",\n+ \"#af87d7\", \"#af87ff\", \"#afaf00\", \"#afaf5f\",\n+ \"#afaf87\", \"#afafaf\", \"#afafd7\", \"#afafff\",\n+ \"#afd700\", \"#afd75f\", \"#afd787\", \"#afd7af\",\n+ \"#afd7d7\", \"#afd7ff\", \"#afff00\", \"#afff5f\",\n+ \"#afff87\", \"#afffaf\", \"#afffd7\", \"#afffff\",\n+ \"#d70000\", \"#d7005f\", \"#d70087\", \"#d700af\",\n+ \"#d700d7\", \"#d700ff\", \"#d75f00\", \"#d75f5f\",\n+ \"#d75f87\", \"#d75faf\", \"#d75fd7\", \"#d75fff\",\n+ \"#d78700\", \"#d7875f\", \"#d78787\", \"#d787af\",\n+ \"#d787d7\", \"#d787ff\", \"#d7af00\", \"#d7af5f\",\n+ \"#d7af87\", \"#d7afaf\", \"#d7afd7\", \"#d7afff\",\n+ \"#d7d700\", \"#d7d75f\", \"#d7d787\", \"#d7d7af\",\n+ \"#d7d7d7\", \"#d7d7ff\", \"#d7ff00\", \"#d7ff5f\",\n+ \"#d7ff87\", \"#d7ffaf\", \"#d7ffd7\", \"#d7ffff\",\n+ \"#ff0000\", \"#ff005f\", \"#ff0087\", \"#ff00af\",\n+ \"#ff00d7\", \"#ff00ff\", \"#ff5f00\", \"#ff5f5f\",\n+ \"#ff5f87\", \"#ff5faf\", \"#ff5fd7\", \"#ff5fff\",\n+ \"#ff8700\", \"#ff875f\", \"#ff8787\", \"#ff87af\",\n+ \"#ff87d7\", \"#ff87ff\", \"#ffaf00\", \"#ffaf5f\",\n+ \"#ffaf87\", \"#ffafaf\", \"#ffafd7\", \"#ffafff\",\n+ \"#ffd700\", \"#ffd75f\", \"#ffd787\", \"#ffd7af\",\n+ \"#ffd7d7\", \"#ffd7ff\", \"#ffff00\", \"#ffff5f\",\n+ \"#ffff87\", \"#ffffaf\", \"#ffffd7\", \"#ffffff\",\n+ \"#080808\", \"#121212\", \"#1c1c1c\", \"#262626\",\n+ \"#303030\", \"#3a3a3a\", \"#444444\", \"#4e4e4e\",\n+ \"#585858\", \"#626262\", \"#6c6c6c\", \"#767676\",\n+ \"#808080\", \"#8a8a8a\", \"#949494\", \"#9e9e9e\",\n+ \"#a8a8a8\", \"#b2b2b2\", \"#bcbcbc\", \"#c6c6c6\",\n+ \"#d0d0d0\", \"#dadada\", \"#e4e4e4\", \"#eeeeee\",\n+ })\n+ end\n+ end\n+ end\n+ return cterm_color_cache[color]\n+end\n+\n+--- @return string\n+local function get_background_color()\n+ local bg = vim.fn.synIDattr(vim.fn.hlID('Normal'), 'bg#')\n+ if bg ~= '' then\n+ return cterm_to_hex(bg)\n+ end\n+ if background_color_cache then\n+ return background_color_cache\n+ end\n+ --- @type string?\n+ local hex\n+ vim.api.nvim_create_autocmd('TermResponse', {\n+ once = true,\n+ callback = function(args)\n+ --- @type string\n+ hex = '#'\n+ .. table.concat({ args.data:match('\\027%]11;rgb:(%w%w)%w%w/(%w%w)%w%w/(%w%w)%w%w') })\n+ end,\n+ })\n+ --- @see https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Operating-System-Commands\n+ io.stdout:write('\\027]11;?\\027\\\\')\n+ vim.wait(100, function()\n+ return hex and true or false\n+ end)", + "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1473097925", + "id": 1473097925, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XzbDF", + "original_commit_id": "55affa23d4e7d3adaec6a89b071d7c8de9f7ce9d", + "original_line": 240, + "original_position": 224, + "original_start_line": 212, + "path": "runtime/lua/tohtml.lua", + "position": null, + "pull_request_review_id": 1854202924, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27097", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473097925/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-31T16:24:00Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473097925", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27097#discussion_r1473101162" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27097" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473101162" + } + }, + "author_association": "MEMBER", + "body": "This function is quite a handful. Can it be broken down.", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", + "created_at": "2024-01-31T16:19:08Z", + "diff_hunk": "@@ -0,0 +1,1263 @@\n+---@defgroup vim.tohtml\n+\n+-- The HTML conversion script is different from Vim's one. If you want to use\n+-- Vim's TOhtml converter, download it from the vim GitHub repo.\n+-- Here are the Vim files related to this functionality:\n+-- - https://github.com/vim/vim/blob/master/runtime/syntax/2html.vim\n+-- - https://github.com/vim/vim/blob/master/runtime/autoload/tohtml.vim\n+-- - https://github.com/vim/vim/blob/master/runtime/plugin/tohtml.vim\n+--\n+-- Main differences between this and the vim version:\n+-- - No \"ignore some visual thing\" settings (just set the right Vim option)\n+-- - No support for legacy web engines\n+-- - No support for legacy encoding (supports only UTF-8)\n+-- - No interactive webpage\n+-- - No specifying the internal html (no XHTML, no use_css=false)\n+-- - No multiwindow diffs\n+-- - No ranges\n+--\n+-- Remarks:\n+-- - Not all visuals are supported, so it may differ.\n+\n+--- @class vim.tohtml.opt\n+--- @field title? string|false\n+--- @field number_lines? boolean\n+--- @field font? string[]|string\n+--- @field width? number\n+--- @class vim.tohtml.state.global\n+--- @field background string\n+--- @field foreground string\n+--- @field title string|false\n+--- @field font string\n+--- @field highlights_name table\n+--- @field conf vim.tohtml.opt\n+--- @class vim.tohtml.state:vim.tohtml.state.global\n+--- @field style vim.tohtml.styletable\n+--- @field tabstop string|false\n+--- @field opt vim.wo\n+--- @field winnr number\n+--- @field bufnr number\n+--- @field width number\n+--- @field buflen number\n+--- @class vim.tohtml.styletable\n+--- @field [number] vim.tohtml.line (number: (1-index, exclusive))\n+--- @class vim.tohtml.line\n+--- @field virt_lines {[number]:{[1]:string,[2]:number}[]}\n+--- @field pre_text string[][]\n+--- @field hide? boolean\n+--- @field [number] vim.tohtml.cell? (number: (1-index, exclusive))\n+--- @class vim.tohtml.cell\n+--- @field [1] number[] start\n+--- @field [2] number[] close\n+--- @field [3] any[][] virt_text\n+--- @field [4] any[][] overlay_text\n+\n+local HIDE_ID = -1\n+\n+--- @type table\n+local cterm_color_cache = {}\n+local background_color_cache = nil\n+local foreground_color_cache = nil\n+\n+--- @param colorstr string\n+--- @return string\n+local function cterm_to_hex(colorstr)\n+ if colorstr:sub(1, 1) == '#' then\n+ return colorstr\n+ end\n+ assert(colorstr ~= '')\n+ local color = tonumber(colorstr)\n+ assert(color and 0 <= color and color <= 255)\n+ if cterm_color_cache[color] then\n+ return cterm_color_cache[color]\n+ end\n+ --- @type string?\n+ local hex\n+ vim.api.nvim_create_autocmd('TermResponse', {\n+ once = true,\n+ callback = function(args)\n+ --- @type string\n+ hex = '#'\n+ .. table.concat({ args.data:match('\\027%]4;%d*;rgb:(%w%w)%w%w/(%w%w)%w%w/(%w%w)%w%w') })\n+ end,\n+ })\n+ --- @see https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Operating-System-Commands\n+ io.stdout:write(('\\027]4;%s;?\\027\\\\'):format(color))\n+ vim.wait(100, function()\n+ return hex and true or false\n+ end)\n+ if hex then\n+ cterm_color_cache[color] = hex\n+ else\n+ --If the terminal didn't respond, set the colors to a fallback value\n+ vim.notify_once(\"Info(TOhtml): Couldn't get terminal colors, using fallback\")\n+ local t_Co = tonumber(vim.api.nvim_eval('&t_Co'))\n+ if t_Co == 8 then\n+ -- stylua: ignore\n+ cterm_color_cache = {\n+ [0] = \"#808080\", \"#ff6060\", \"#00ff00\", \"#ffff00\",\n+ \"#8080ff\", \"#ff40ff\", \"#00ffff\", \"#ffffff\",\n+ }\n+ else\n+ -- stylua: ignore\n+ cterm_color_cache = {\n+ [0] = \"#000000\", \"#c00000\", \"#008000\", \"#804000\",\n+ \"#0000c0\", \"#c000c0\", \"#008080\", \"#c0c0c0\",\n+ \"#808080\", \"#ff6060\", \"#00ff00\", \"#ffff00\",\n+ \"#8080ff\", \"#ff40ff\", \"#00ffff\", \"#ffffff\",\n+ }\n+ if t_Co == 88 then\n+ -- stylua: ignore\n+ vim.list_extend(cterm_color_cache, {\n+ \"#000000\", \"#00008b\", \"#0000cd\", \"#0000ff\",\n+ \"#008b00\", \"#008b8b\", \"#008bcd\", \"#008bff\",\n+ \"#00cd00\", \"#00cd8b\", \"#00cdcd\", \"#00cdff\",\n+ \"#00ff00\", \"#00ff8b\", \"#00ffcd\", \"#00ffff\",\n+ \"#8b0000\", \"#8b008b\", \"#8b00cd\", \"#8b00ff\",\n+ \"#8b8b00\", \"#8b8b8b\", \"#8b8bcd\", \"#8b8bff\",\n+ \"#8bcd00\", \"#8bcd8b\", \"#8bcdcd\", \"#8bcdff\",\n+ \"#8bff00\", \"#8bff8b\", \"#8bffcd\", \"#8bffff\",\n+ \"#cd0000\", \"#cd008b\", \"#cd00cd\", \"#cd00ff\",\n+ \"#cd8b00\", \"#cd8b8b\", \"#cd8bcd\", \"#cd8bff\",\n+ \"#cdcd00\", \"#cdcd8b\", \"#cdcdcd\", \"#cdcdff\",\n+ \"#cdff00\", \"#cdff8b\", \"#cdffcd\", \"#cdffff\",\n+ \"#ff0000\", \"#ff008b\", \"#ff00cd\", \"#ff00ff\",\n+ \"#ff8b00\", \"#ff8b8b\", \"#ff8bcd\", \"#ff8bff\",\n+ \"#ffcd00\", \"#ffcd8b\", \"#ffcdcd\", \"#ffcdff\",\n+ \"#ffff00\", \"#ffff8b\", \"#ffffcd\", \"#ffffff\",\n+ \"#2e2e2e\", \"#5c5c5c\", \"#737373\", \"#8b8b8b\",\n+ \"#a2a2a2\", \"#b9b9b9\", \"#d0d0d0\", \"#e7e7e7\",\n+ })\n+ elseif t_Co == 256 then\n+ -- stylua: ignore\n+ vim.list_extend(cterm_color_cache, {\n+ \"#000000\", \"#00005f\", \"#000087\", \"#0000af\",\n+ \"#0000d7\", \"#0000ff\", \"#005f00\", \"#005f5f\",\n+ \"#005f87\", \"#005faf\", \"#005fd7\", \"#005fff\",\n+ \"#008700\", \"#00875f\", \"#008787\", \"#0087af\",\n+ \"#0087d7\", \"#0087ff\", \"#00af00\", \"#00af5f\",\n+ \"#00af87\", \"#00afaf\", \"#00afd7\", \"#00afff\",\n+ \"#00d700\", \"#00d75f\", \"#00d787\", \"#00d7af\",\n+ \"#00d7d7\", \"#00d7ff\", \"#00ff00\", \"#00ff5f\",\n+ \"#00ff87\", \"#00ffaf\", \"#00ffd7\", \"#00ffff\",\n+ \"#5f0000\", \"#5f005f\", \"#5f0087\", \"#5f00af\",\n+ \"#5f00d7\", \"#5f00ff\", \"#5f5f00\", \"#5f5f5f\",\n+ \"#5f5f87\", \"#5f5faf\", \"#5f5fd7\", \"#5f5fff\",\n+ \"#5f8700\", \"#5f875f\", \"#5f8787\", \"#5f87af\",\n+ \"#5f87d7\", \"#5f87ff\", \"#5faf00\", \"#5faf5f\",\n+ \"#5faf87\", \"#5fafaf\", \"#5fafd7\", \"#5fafff\",\n+ \"#5fd700\", \"#5fd75f\", \"#5fd787\", \"#5fd7af\",\n+ \"#5fd7d7\", \"#5fd7ff\", \"#5fff00\", \"#5fff5f\",\n+ \"#5fff87\", \"#5fffaf\", \"#5fffd7\", \"#5fffff\",\n+ \"#870000\", \"#87005f\", \"#870087\", \"#8700af\",\n+ \"#8700d7\", \"#8700ff\", \"#875f00\", \"#875f5f\",\n+ \"#875f87\", \"#875faf\", \"#875fd7\", \"#875fff\",\n+ \"#878700\", \"#87875f\", \"#878787\", \"#8787af\",\n+ \"#8787d7\", \"#8787ff\", \"#87af00\", \"#87af5f\",\n+ \"#87af87\", \"#87afaf\", \"#87afd7\", \"#87afff\",\n+ \"#87d700\", \"#87d75f\", \"#87d787\", \"#87d7af\",\n+ \"#87d7d7\", \"#87d7ff\", \"#87ff00\", \"#87ff5f\",\n+ \"#87ff87\", \"#87ffaf\", \"#87ffd7\", \"#87ffff\",\n+ \"#af0000\", \"#af005f\", \"#af0087\", \"#af00af\",\n+ \"#af00d7\", \"#af00ff\", \"#af5f00\", \"#af5f5f\",\n+ \"#af5f87\", \"#af5faf\", \"#af5fd7\", \"#af5fff\",\n+ \"#af8700\", \"#af875f\", \"#af8787\", \"#af87af\",\n+ \"#af87d7\", \"#af87ff\", \"#afaf00\", \"#afaf5f\",\n+ \"#afaf87\", \"#afafaf\", \"#afafd7\", \"#afafff\",\n+ \"#afd700\", \"#afd75f\", \"#afd787\", \"#afd7af\",\n+ \"#afd7d7\", \"#afd7ff\", \"#afff00\", \"#afff5f\",\n+ \"#afff87\", \"#afffaf\", \"#afffd7\", \"#afffff\",\n+ \"#d70000\", \"#d7005f\", \"#d70087\", \"#d700af\",\n+ \"#d700d7\", \"#d700ff\", \"#d75f00\", \"#d75f5f\",\n+ \"#d75f87\", \"#d75faf\", \"#d75fd7\", \"#d75fff\",\n+ \"#d78700\", \"#d7875f\", \"#d78787\", \"#d787af\",\n+ \"#d787d7\", \"#d787ff\", \"#d7af00\", \"#d7af5f\",\n+ \"#d7af87\", \"#d7afaf\", \"#d7afd7\", \"#d7afff\",\n+ \"#d7d700\", \"#d7d75f\", \"#d7d787\", \"#d7d7af\",\n+ \"#d7d7d7\", \"#d7d7ff\", \"#d7ff00\", \"#d7ff5f\",\n+ \"#d7ff87\", \"#d7ffaf\", \"#d7ffd7\", \"#d7ffff\",\n+ \"#ff0000\", \"#ff005f\", \"#ff0087\", \"#ff00af\",\n+ \"#ff00d7\", \"#ff00ff\", \"#ff5f00\", \"#ff5f5f\",\n+ \"#ff5f87\", \"#ff5faf\", \"#ff5fd7\", \"#ff5fff\",\n+ \"#ff8700\", \"#ff875f\", \"#ff8787\", \"#ff87af\",\n+ \"#ff87d7\", \"#ff87ff\", \"#ffaf00\", \"#ffaf5f\",\n+ \"#ffaf87\", \"#ffafaf\", \"#ffafd7\", \"#ffafff\",\n+ \"#ffd700\", \"#ffd75f\", \"#ffd787\", \"#ffd7af\",\n+ \"#ffd7d7\", \"#ffd7ff\", \"#ffff00\", \"#ffff5f\",\n+ \"#ffff87\", \"#ffffaf\", \"#ffffd7\", \"#ffffff\",\n+ \"#080808\", \"#121212\", \"#1c1c1c\", \"#262626\",\n+ \"#303030\", \"#3a3a3a\", \"#444444\", \"#4e4e4e\",\n+ \"#585858\", \"#626262\", \"#6c6c6c\", \"#767676\",\n+ \"#808080\", \"#8a8a8a\", \"#949494\", \"#9e9e9e\",\n+ \"#a8a8a8\", \"#b2b2b2\", \"#bcbcbc\", \"#c6c6c6\",\n+ \"#d0d0d0\", \"#dadada\", \"#e4e4e4\", \"#eeeeee\",\n+ })\n+ end\n+ end\n+ end\n+ return cterm_color_cache[color]\n+end\n+\n+--- @return string\n+local function get_background_color()\n+ local bg = vim.fn.synIDattr(vim.fn.hlID('Normal'), 'bg#')\n+ if bg ~= '' then\n+ return cterm_to_hex(bg)\n+ end\n+ if background_color_cache then\n+ return background_color_cache\n+ end\n+ --- @type string?\n+ local hex\n+ vim.api.nvim_create_autocmd('TermResponse', {\n+ once = true,\n+ callback = function(args)\n+ --- @type string\n+ hex = '#'\n+ .. table.concat({ args.data:match('\\027%]11;rgb:(%w%w)%w%w/(%w%w)%w%w/(%w%w)%w%w') })\n+ end,\n+ })\n+ --- @see https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Operating-System-Commands\n+ io.stdout:write('\\027]11;?\\027\\\\')\n+ vim.wait(100, function()\n+ return hex and true or false\n+ end)\n+ if not hex or not hex:match('#%x%x%x%x%x%x') then\n+ vim.notify_once(\"Info(TOhtml): Couldn't get terminal background colors, using fallback\")\n+ hex = vim.o.background == 'light' and '#ffffff' or '#000000'\n+ end\n+ background_color_cache = hex\n+ return hex\n+end\n+\n+--- @return string\n+local function get_foreground_color()\n+ local fg = vim.fn.synIDattr(vim.fn.hlID('Normal'), 'fg#')\n+ if fg ~= '' then\n+ return cterm_to_hex(fg)\n+ end\n+ if foreground_color_cache then\n+ return foreground_color_cache\n+ end\n+ --- @type string?\n+ local hex\n+ vim.api.nvim_create_autocmd('TermResponse', {\n+ once = true,\n+ callback = function(args)\n+ --- @type string\n+ hex = '#'\n+ .. table.concat({ args.data:match('\\027%]10;rgb:(%w%w)%w%w/(%w%w)%w%w/(%w%w)%w%w') })\n+ end,\n+ })\n+ --- @see https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Operating-System-Commands\n+ io.stdout:write('\\027]10;?\\027\\\\')\n+ vim.wait(100, function()\n+ return hex and true or false\n+ end)\n+ if not hex or not hex:match('#%x%x%x%x%x%x') then\n+ vim.notify_once(\"Info(TOhtml): Couldn't get terminal foreground colors, using fallback\")\n+ hex = vim.o.background == 'light' and '#000000' or '#ffffff'\n+ end\n+ foreground_color_cache = hex\n+ return hex\n+end\n+\n+--- @param style_line vim.tohtml.line\n+--- @param col number (1-index)\n+--- @param field number\n+--- @param val any\n+local function _style_line_insert(style_line, col, field, val)\n+ if style_line[col] == nil then\n+ style_line[col] = { {}, {}, {}, {} }\n+ end\n+ table.insert(style_line[col][field], val)\n+end\n+\n+--- @param style_line vim.tohtml.line\n+--- @param col number (1-index)\n+--- @param val any[]\n+local function style_line_insert_overlay_char(style_line, col, val)\n+ _style_line_insert(style_line, col, 4, val)\n+end\n+\n+--- @param style_line vim.tohtml.line\n+--- @param col number (1-index)\n+--- @param val any[]\n+local function style_line_insert_virt_text(style_line, col, val)\n+ _style_line_insert(style_line, col, 3, val)\n+end\n+\n+--- @param state vim.tohtml.state\n+--- @param hl string|number|nil\n+--- @return nil|number\n+local function register_hl(state, hl)\n+ if type(hl) == 'nil' then\n+ return\n+ elseif type(hl) == 'string' then\n+ hl = vim.fn.hlID(hl)\n+ assert(hl ~= 0)\n+ end\n+ hl = vim.fn.synIDtrans(hl)\n+ if not state.highlights_name[hl] then\n+ local name = vim.fn.synIDattr(hl, 'name')\n+ assert(name ~= '')\n+ state.highlights_name[hl] = name\n+ end\n+ return hl\n+end\n+\n+--- @param state vim.tohtml.state\n+--- @param start_row number (1-index)\n+--- @param start_col number (1-index)\n+--- @param end_row number (1-index)\n+--- @param end_col number (1-index)\n+--- @param conceal_text string\n+--- @param hl_group string|number?\n+local function styletable_insert_conceal(\n+ state,\n+ start_row,\n+ start_col,\n+ end_row,\n+ end_col,\n+ conceal_text,\n+ hl_group\n+)\n+ assert(state.opt.conceallevel > 0)\n+ local styletable = state.style\n+ if start_col == end_col and start_row == end_row then\n+ return\n+ end\n+ if state.opt.conceallevel == 1 and conceal_text == '' then\n+ conceal_text = vim.opt_local.listchars:get().conceal or ' '\n+ end\n+ local hlid = register_hl(state, hl_group)\n+ if vim.wo[state.winnr].conceallevel ~= 3 then\n+ _style_line_insert(styletable[start_row], start_col, 3, { conceal_text, hlid })\n+ end\n+ _style_line_insert(styletable[start_row], start_col, 1, HIDE_ID)\n+ _style_line_insert(styletable[end_row], end_col, 2, HIDE_ID)\n+end\n+\n+--- @param state vim.tohtml.state\n+--- @param start_row number (1-index)\n+--- @param start_col number (1-index)\n+--- @param end_row number (1-index)\n+--- @param end_col number (1-index)\n+--- @param hl_group string|number|nil\n+local function styletable_insert_range(state, start_row, start_col, end_row, end_col, hl_group)\n+ if start_col == end_col and start_row == end_row or not hl_group then\n+ return\n+ end\n+ local styletable = state.style\n+ _style_line_insert(styletable[start_row], start_col, 1, hl_group)\n+ _style_line_insert(styletable[end_row], end_col, 2, hl_group)\n+end\n+\n+--- @param bufnr number\n+--- @return vim.tohtml.styletable\n+local function generate_styletable(bufnr)\n+ --- @type vim.tohtml.styletable\n+ local styletable = {}\n+ for row = 1, vim.api.nvim_buf_line_count(bufnr) + 1 do\n+ styletable[row] = { virt_lines = {}, pre_text = {} }\n+ end\n+ return styletable\n+end\n+\n+--- @param state vim.tohtml.state\n+local function styletable_syntax(state)\n+ for row = 1, state.buflen do\n+ local prev_id = 0\n+ local prev_col = nil\n+ for col = 1, #vim.fn.getline(row) + 1 do\n+ local hlid = vim.fn.synID(row, col, 1)\n+ hlid = hlid == 0 and 0 or assert(register_hl(state, hlid))\n+ if hlid ~= prev_id then\n+ if prev_id ~= 0 then\n+ styletable_insert_range(state, row, assert(prev_col), row, col, prev_id)\n+ end\n+ prev_col = col\n+ prev_id = hlid\n+ end\n+ end\n+ end\n+end\n+\n+--- @param state vim.tohtml.state\n+local function styletable_diff(state)\n+ local styletable = state.style\n+ for row = 1, state.buflen do\n+ local style_line = styletable[row]\n+ local filler = vim.fn.diff_filler(row)\n+ if filler ~= 0 then\n+ local fill = (vim.opt_local.fillchars:get().diff or '-')\n+ table.insert(\n+ style_line.virt_lines,\n+ { { fill:rep(state.width), register_hl(state, 'DiffDelete') } }\n+ )\n+ end\n+ if row == state.buflen + 1 then\n+ break\n+ end\n+ local prev_id = 0\n+ local prev_col = nil\n+ for col = 1, #vim.fn.getline(row) do\n+ local hlid = vim.fn.diff_hlID(row, col)\n+ hlid = hlid == 0 and 0 or assert(register_hl(state, hlid))\n+ if hlid ~= prev_id then\n+ if prev_id ~= 0 then\n+ styletable_insert_range(state, row, assert(prev_col), row, col, prev_id)\n+ end\n+ prev_col = col\n+ prev_id = hlid\n+ end\n+ end\n+ if prev_id ~= 0 then\n+ styletable_insert_range(state, row, assert(prev_col), row, #vim.fn.getline(row) + 1, prev_id)\n+ end\n+ end\n+end\n+\n+--- @param state vim.tohtml.state\n+local function styletable_treesitter(state)\n+ local bufnr = state.bufnr\n+ local buf_highlighter = vim.treesitter.highlighter.active[bufnr]\n+ if not buf_highlighter then\n+ return\n+ end\n+ buf_highlighter.tree:parse(true)\n+ buf_highlighter.tree:for_each_tree(function(tstree, tree)\n+ --- @cast tree LanguageTree\n+ if not tstree then\n+ return\n+ end\n+ local root = tstree:root()\n+ local q = buf_highlighter:get_query(tree:lang())\n+ --- @type Query?\n+ local query = q:query()\n+ if not query then\n+ return\n+ end\n+ for capture, node, metadata in query:iter_captures(root, buf_highlighter.bufnr, 0, state.buflen) do\n+ local srow, scol, erow, ecol = node:range()\n+ --- @diagnostic disable-next-line: invisible\n+ local c = q._query.captures[capture]\n+ if c ~= nil then\n+ local hlid = register_hl(state, '@' .. c .. '.' .. tree:lang())\n+ if metadata.conceal and state.opt.conceallevel ~= 0 then\n+ styletable_insert_conceal(state, srow + 1, scol + 1, erow + 1, ecol + 1, metadata.conceal)\n+ end\n+ styletable_insert_range(state, srow + 1, scol + 1, erow + 1, ecol + 1, hlid)\n+ end\n+ end\n+ end)\n+end\n+\n+--- @param state vim.tohtml.state\n+--- @param extmark {[1]:number,[2]:number,[3]:number,[4]:vim.api.keyset.set_extmark|any}\n+--- @param namespaces table\n+local function _styletable_extmarks_highlight(state, extmark, namespaces)\n+ if not extmark[4].hl_group then\n+ return\n+ end\n+ ---TODO(altermo) LSP semantic tokens (and some other extmarks) are only\n+ ---generated in visible lines, and not in the whole buffer.\n+ if (namespaces[extmark[4].ns_id] or ''):find('vim_lsp_semantic_tokens') then\n+ vim.notify_once('Info(TOhtml): lsp semantic tokens are not supported, html may be incorrect')\n+ return\n+ end\n+ local srow, scol, erow, ecol =\n+ extmark[2], extmark[3], extmark[4].end_row or extmark[2], extmark[4].end_col or extmark[3]\n+ if scol == ecol and srow == erow then\n+ return\n+ end\n+ local hlid = register_hl(state, extmark[4].hl_group)\n+ styletable_insert_range(state, srow + 1, scol + 1, erow + 1, ecol + 1, hlid)\n+end\n+\n+--- @param state vim.tohtml.state\n+--- @param extmark {[1]:number,[2]:number,[3]:number,[4]:vim.api.keyset.set_extmark|any}\n+local function _styletable_extmarks_virt_text(state, extmark)\n+ if not extmark[4].virt_text then\n+ return\n+ end\n+ local styletable = state.style\n+ --- @type number,number\n+ local row, col = extmark[2], extmark[3]\n+ if\n+ extmark[4].virt_text_pos == 'inline'\n+ or extmark[4].virt_text_pos == 'eol'\n+ or extmark[4].virt_text_pos == 'overlay'\n+ then\n+ if extmark[4].virt_text_pos == 'eol' then\n+ style_line_insert_virt_text(styletable[row + 1], #vim.fn.getline(row + 1) + 1, { ' ' })\n+ end\n+ local virt_text_len = 0\n+ for _, i in\n+ ipairs(extmark[4].virt_text --[[@as (string[][])]])\n+ do\n+ local hlid = register_hl(state, i[2])\n+ if extmark[4].virt_text_pos == 'eol' then\n+ style_line_insert_virt_text(\n+ styletable[row + 1],\n+ #vim.fn.getline(row + 1) + 1,\n+ { i[1], hlid }\n+ )\n+ else\n+ style_line_insert_virt_text(styletable[row + 1], col + 1, { i[1], hlid })\n+ end\n+ virt_text_len = virt_text_len + #i[1]\n+ end\n+ if extmark[4].virt_text_pos == 'overlay' then\n+ styletable_insert_range(state, row + 1, col + 1, row + 1, col + virt_text_len + 1, HIDE_ID)\n+ end\n+ end\n+ local not_supported = {\n+ virt_text_pos = 'right_align',\n+ hl_mode = 'blend',\n+ hl_group = 'combine',\n+ }\n+ for opt, val in ipairs(not_supported) do\n+ if extmark[4][opt] == val then\n+ vim.notify_once(\n+ ('Info(TOhtml): extmark.%s=\"%s\" is not supported, html may be incorrect'):format(opt, val)\n+ )\n+ end\n+ end\n+end\n+\n+--- @param state vim.tohtml.state\n+--- @param extmark {[1]:number,[2]:number,[3]:number,[4]:vim.api.keyset.set_extmark|any}\n+local function _styletable_extmarks_virt_lines(state, extmark)\n+ ---TODO(altermo) if the fold start is equal to virt_line start then the fold hides the virt_line\n+ if not extmark[4].virt_lines then\n+ return\n+ end\n+ --- @type number\n+ local row = extmark[2] + (extmark[4].virt_lines_above and 1 or 2)\n+ for _, line in\n+ ipairs(extmark[4].virt_lines --[[@as (string[][][])]])\n+ do\n+ local virt_line = {}\n+ for _, i in ipairs(line) do\n+ local hlid = register_hl(state, i[2])\n+ table.insert(virt_line, { i[1], hlid })\n+ end\n+ table.insert(state.style[row].virt_lines, virt_line)\n+ end\n+end\n+\n+--- @param state vim.tohtml.state\n+--- @param extmark {[1]:number,[2]:number,[3]:number,[4]:vim.api.keyset.set_extmark|any}\n+local function _styletable_extmarks_conceal(state, extmark)\n+ if not extmark[4].conceal or state.opt.conceallevel == 0 then\n+ return\n+ end\n+ local srow, scol, erow, ecol =\n+ extmark[2], extmark[3], extmark[4].end_row or extmark[2], extmark[4].end_col or extmark[3]\n+ styletable_insert_conceal(\n+ state,\n+ srow + 1,\n+ scol + 1,\n+ erow + 1,\n+ ecol + 1,\n+ extmark[4].conceal,\n+ extmark[4].hl_group or 'Conceal'\n+ )\n+end\n+\n+--- @param state vim.tohtml.state\n+local function styletable_extmarks(state)\n+ --TODO(altermo) extmarks may have col/row which is outside of the buffer, which could cause an error\n+ local bufnr = state.bufnr\n+ local extmarks = vim.api.nvim_buf_get_extmarks(bufnr, -1, 0, -1, { details = true })\n+ local namespaces = vim.tbl_add_reverse_lookup(vim.api.nvim_get_namespaces())\n+ for _, v in ipairs(extmarks) do\n+ _styletable_extmarks_highlight(state, v, namespaces)\n+ end\n+ for _, v in ipairs(extmarks) do\n+ _styletable_extmarks_conceal(state, v)\n+ end\n+ for _, v in ipairs(extmarks) do\n+ _styletable_extmarks_virt_text(state, v)\n+ end\n+ for _, v in ipairs(extmarks) do\n+ _styletable_extmarks_virt_lines(state, v)\n+ end\n+end\n+\n+--- @param state vim.tohtml.state\n+local function styletable_folds(state)\n+ local styletable = state.style\n+ local has_folded = false\n+ for row = 1, state.buflen do\n+ if vim.fn.foldclosed(row) > 0 then\n+ has_folded = true\n+ styletable[row].hide = true\n+ end\n+ if vim.fn.foldclosed(row) == row then\n+ local hlid = register_hl(state, 'Folded')\n+ ---TODO(altermo): Is there a way to get highlighted foldtext?\n+ local foldtext = vim.fn.foldtextresult(row)\n+ foldtext = foldtext .. (vim.opt.fillchars:get().fold or '·'):rep(state.width - #foldtext)\n+ table.insert(styletable[row].virt_lines, { { foldtext, hlid } })\n+ end\n+ end\n+ if has_folded and type(({ pcall(vim.api.nvim_eval, vim.o.foldtext) })[2]) == 'table' then\n+ vim.notify_once(\n+ 'Info(TOhtml): foldtext returning a table is half supported, html may be incorrect'\n+ )\n+ end\n+end\n+\n+--- @param state vim.tohtml.state\n+local function styletable_conceal(state)\n+ local bufnr = state.bufnr\n+ vim.api.nvim_buf_call(bufnr, function()\n+ for row = 1, state.buflen do\n+ --- @type table\n+ local conceals = {}\n+ local line_len_exclusive = #vim.fn.getline(row) + 1\n+ for col = 1, line_len_exclusive do\n+ --- @type number,string,number\n+ local is_concealed, conceal, hlid = unpack(vim.fn.synconcealed(row, col) --[[@as table]])\n+ if is_concealed == 0 then\n+ assert(true)\n+ elseif not conceals[hlid] then\n+ conceals[hlid] = { col, math.min(col + 1, line_len_exclusive), conceal }\n+ else\n+ conceals[hlid][2] = math.min(col + 1, line_len_exclusive)\n+ end\n+ end\n+ for _, v in pairs(conceals) do\n+ styletable_insert_conceal(state, row, v[1], row, v[2], v[3], 'Conceal')\n+ end\n+ end\n+ end)\n+end\n+\n+--- @param state vim.tohtml.state\n+local function styletable_match(state)\n+ for _, match in\n+ ipairs(vim.fn.getmatches(state.winnr) --[[@as (table[])]])\n+ do\n+ local hlid = register_hl(state, match.group)\n+ local function range(srow, scol, erow, ecol)\n+ if match.group == 'Conceal' and state.opt.conceallevel ~= 0 then\n+ styletable_insert_conceal(state, srow, scol, erow, ecol, match.conceal or '', hlid)\n+ else\n+ styletable_insert_range(state, srow, scol, erow, ecol, hlid)\n+ end\n+ end\n+ if match.pos1 then\n+ for key, v in\n+ pairs(match --[[@as (table)]])\n+ do\n+ if not key:match('^pos(%d+)$') then\n+ assert(true)\n+ elseif #v == 1 then\n+ range(v[1], 1, v[1], #vim.fn.getline(v[1]) + 1)\n+ else\n+ range(v[1], v[2], v[1], v[3] + v[2])\n+ end\n+ end\n+ else\n+ for _, v in\n+ ipairs(vim.fn.matchbufline(state.bufnr, match.pattern, 1, '$') --[[@as (table[])]])\n+ do\n+ range(v.lnum, v.byteidx + 1, v.lnum, v.byteidx + 1 + #v.text)\n+ end\n+ end\n+ end\n+end\n+\n+--- Requires state.conf.number_lines to be set to true\n+--- @param state vim.tohtml.state\n+local function styletable_statuscolumn(state)\n+ if not state.conf.number_lines then\n+ return\n+ end\n+ local statuscolumn = state.opt.statuscolumn\n+ if statuscolumn == '' then\n+ --TODO(altermo): This is wrong, if for example if 'number' and 'foldcolumn=2' then it\n+ --wont have the correct whitespace in the correct location\n+ --The task: figure out the internal algorithm for the statuscolumn and rewrite it to\n+ --the 'statuscolum' format\n+ if state.opt.relativenumber then\n+ if state.opt.number then\n+ statuscolumn =\n+ '%C%s%{v:lnum!=line(\".\")?repeat(\" \",&numberwidth-len(v:relnum)).v:relnum:v:lnum}'\n+ else\n+ statuscolumn = '%C%s%{repeat(\" \",&numberwidth-len(v:relnum)).v:relnum}'\n+ end\n+ else\n+ statuscolumn = '%C%s%{repeat(\" \",&numberwidth-len(v:lnum)).v:lnum}'\n+ end\n+ end\n+ local minwidth = 0\n+ local signcolumn = state.opt.signcolumn\n+ if state.opt.number or state.opt.relativenumber then\n+ minwidth = minwidth + state.opt.numberwidth\n+ if signcolumn == 'number' then\n+ signcolumn = 'no'\n+ end\n+ end\n+ if signcolumn == 'number' then\n+ signcolumn = 'auto'\n+ end\n+ if signcolumn ~= 'no' then\n+ local max = tonumber(signcolumn:match('^%w-:(%d)')) or 1\n+ if signcolumn:match('^auto') then\n+ --- @type table\n+ local signcount = {}\n+ for _, extmark in\n+ ipairs(vim.api.nvim_buf_get_extmarks(state.bufnr, -1, 0, -1, { details = true }))\n+ do\n+ if extmark[4].sign_text then\n+ signcount[extmark[2]] = (signcount[extmark[2]] or 0) + 1\n+ end\n+ end\n+ local maxsigns = 0\n+ for _, v in pairs(signcount) do\n+ if v > maxsigns then\n+ maxsigns = v\n+ end\n+ end\n+ minwidth = minwidth + math.min(maxsigns, max) * 2\n+ else\n+ minwidth = minwidth + max * 2\n+ end\n+ end\n+ local foldcolumn = state.opt.foldcolumn\n+ if foldcolumn ~= '0' then\n+ if foldcolumn:match('^auto') then\n+ local max = tonumber(foldcolumn:match('^%w-:(%d)')) or 1\n+ local maxfold = 0\n+ vim.api.nvim_buf_call(state.bufnr, function()\n+ for row = 1, vim.api.nvim_buf_line_count(state.bufnr) do\n+ local foldlevel = vim.fn.foldlevel(row)\n+ if foldlevel > maxfold then\n+ maxfold = foldlevel\n+ end\n+ end\n+ end)\n+ minwidth = minwidth + math.min(maxfold, max)\n+ else\n+ minwidth = minwidth + tonumber(foldcolumn)\n+ end\n+ end\n+ --- @type table\n+ local statuses = {}\n+ for row = 1, state.buflen do\n+ local status = vim.api.nvim_eval_statusline(\n+ statuscolumn,\n+ { winid = state.winnr, use_statuscol_lnum = row, highlights = true }\n+ )\n+ local width = vim.api.nvim_strwidth(status.str)\n+ if width > minwidth then\n+ minwidth = width\n+ end\n+ table.insert(statuses, status)\n+ --- @type string\n+ end\n+ for row, status in pairs(statuses) do\n+ --- @type string\n+ local str = status.str\n+ --- @type table[]\n+ local hls = status.highlights\n+ for k, v in ipairs(hls) do\n+ local text = str:sub(v.start + 1, hls[k + 1] and hls[k + 1].start or nil)\n+ if k == #hls then\n+ text = text .. (' '):rep(minwidth - vim.api.nvim_strwidth(str))\n+ end\n+ if text ~= '' then\n+ local hlid = register_hl(state, v.group)\n+ local virt_text = { text, hlid }\n+ table.insert(state.style[row].pre_text, virt_text)\n+ end\n+ end\n+ end\n+end\n+\n+--- @param state vim.tohtml.state\n+local function styletable_listchars(state)\n+ if not state.opt.list then\n+ return\n+ end\n+ --- @return string\n+ local function utf8_sub(str, i, j)\n+ return vim.fn.strcharpart(str, i - 1, j and j - i + 1 or nil)\n+ end\n+ local len = vim.api.nvim_strwidth\n+ --- @type table\n+ local listchars = vim.opt_local.listchars:get()\n+ local ids = setmetatable({}, {\n+ __index = function(t, k)\n+ rawset(t, k, register_hl(state, k))\n+ return rawget(t, k)\n+ end,\n+ })\n+ if listchars.eol then\n+ for row = 1, state.buflen do\n+ local style_line = state.style[row]\n+ style_line_insert_overlay_char(\n+ style_line,\n+ #vim.fn.getline(row) + 1,\n+ { listchars.eol, ids.NonText }\n+ )\n+ end\n+ end\n+ if listchars.tab and state.tabstop then\n+ for _, match in\n+ ipairs(vim.fn.matchbufline(state.bufnr, '\\t', 1, '$') --[[@as (table[])]])\n+ do\n+ --- @type number\n+ local tablen = #state.tabstop\n+ - ((vim.fn.virtcol({ match.lnum, match.byteidx }, false, state.winnr)) % #state.tabstop)\n+ --- @type string?\n+ local text\n+ if len(listchars.tab) == 3 then\n+ if tablen == 1 then\n+ text = utf8_sub(listchars.tab, 3, 3)\n+ else\n+ text = utf8_sub(listchars.tab, 1, 1)\n+ .. utf8_sub(listchars.tab, 2, 2):rep(tablen - 2)\n+ .. utf8_sub(listchars.tab, 3, 3)\n+ end\n+ else\n+ text = utf8_sub(listchars.tab, 1, 1) .. utf8_sub(listchars.tab, 2, 2):rep(tablen - 1)\n+ end\n+ style_line_insert_overlay_char(\n+ state.style[match.lnum],\n+ match.byteidx + 1,\n+ { text, ids.Whitespace }\n+ )\n+ end\n+ end\n+ if listchars.space then\n+ for _, match in\n+ ipairs(vim.fn.matchbufline(state.bufnr, ' ', 1, '$') --[[@as (table[])]])\n+ do\n+ style_line_insert_overlay_char(\n+ state.style[match.lnum],\n+ match.byteidx + 1,\n+ { listchars.space, ids.Whitespace }\n+ )\n+ end\n+ end\n+ if listchars.multispace then\n+ for _, match in\n+ ipairs(vim.fn.matchbufline(state.bufnr, [[ \\+]], 1, '$') --[[@as (table[])]])\n+ do\n+ local text = utf8_sub(listchars.multispace:rep(len(match.text)), 1, len(match.text))\n+ for i = 1, len(text) do\n+ style_line_insert_overlay_char(\n+ state.style[match.lnum],\n+ match.byteidx + i,\n+ { utf8_sub(text, i, i), ids.Whitespace }\n+ )\n+ end\n+ end\n+ end\n+ if listchars.lead or listchars.leadmultispace then\n+ for _, match in\n+ ipairs(vim.fn.matchbufline(state.bufnr, [[^ \\+]], 1, '$') --[[@as (table[])]])\n+ do\n+ local text = ''\n+ if len(match.text) == 1 or not listchars.leadmultispace then\n+ if listchars.lead then\n+ text = listchars.lead:rep(len(match.text))\n+ end\n+ elseif listchars.leadmultispace then\n+ text = utf8_sub(listchars.leadmultispace:rep(len(match.text)), 1, len(match.text))\n+ end\n+ for i = 1, len(text) do\n+ style_line_insert_overlay_char(\n+ state.style[match.lnum],\n+ match.byteidx + i,\n+ { utf8_sub(text, i, i), ids.Whitespace }\n+ )\n+ end\n+ end\n+ end\n+ if listchars.trail then\n+ for _, match in\n+ ipairs(vim.fn.matchbufline(state.bufnr, [[ \\+$]], 1, '$') --[[@as (table[])]])\n+ do\n+ local text = listchars.trail:rep(len(match.text))\n+ for i = 1, len(text) do\n+ style_line_insert_overlay_char(\n+ state.style[match.lnum],\n+ match.byteidx + i,\n+ { utf8_sub(text, i, i), ids.Whitespace }\n+ )\n+ end\n+ end\n+ end\n+ if listchars.nbsp then\n+ for _, match in\n+ ipairs(vim.fn.matchbufline(state.bufnr, '\\xe2\\x80\\xaf\\\\|\\xa0', 1, '$') --[[@as (table[])]])\n+ do\n+ style_line_insert_overlay_char(\n+ state.style[match.lnum],\n+ match.byteidx + 1,\n+ { listchars.nbsp, ids.Whitespace }\n+ )\n+ for i = 2, #match.text do\n+ style_line_insert_overlay_char(\n+ state.style[match.lnum],\n+ match.byteidx + i,\n+ { '', ids.Whitespace }\n+ )\n+ end\n+ end\n+ end\n+end\n+\n+--- @param name string\n+--- @return string\n+local function highlight_name_to_class_name(name)\n+ return (name:gsub('%.', '-'):gsub('@', '-'))\n+end\n+\n+--- @param name string\n+--- @return string\n+local function name_to_tag(name)\n+ return ''\n+end\n+\n+--- @param _ string\n+--- @return string\n+local function name_to_closetag(_)\n+ return ''\n+end\n+\n+--- @param str string\n+--- @param tabstop string|false?\n+--- @return string\n+local function html_escape(str, tabstop)\n+ str = str:gsub('&', '&'):gsub('<', '<'):gsub('>', '>'):gsub('\"', '"')\n+ if tabstop then\n+ --- @type string\n+ str = str:gsub('\\t', tabstop)\n+ end\n+ return str\n+end\n+\n+--- @param out string[]\n+--- @param state vim.tohtml.state.global\n+local function extend_style(out, state)\n+ table.insert(out, '')\n+end\n+\n+--- @param out string[]\n+--- @param state vim.tohtml.state.global\n+local function extend_head(out, state)\n+ table.insert(out, '')\n+ table.insert(out, '')\n+ if state.title ~= false then\n+ table.insert(out, ('%s'):format(state.title))\n+ end\n+ local colorscheme = vim.api.nvim_exec2('colorscheme', { output = true }).output\n+ table.insert(\n+ out,\n+ (''):format(html_escape(colorscheme))\n+ )\n+ extend_style(out, state)\n+ table.insert(out, '')\n+end\n+\n+--- @param out string[]\n+--- @param state vim.tohtml.state\n+local function extend_pre(out, state)", + "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1473101162", + "id": 1473101162, + "line": 1104, + "node_id": "PRRC_kwDOAPphoM5Xzb1q", + "original_commit_id": "55affa23d4e7d3adaec6a89b071d7c8de9f7ce9d", + "original_line": 1104, + "original_position": 998, + "original_start_line": null, + "path": "runtime/lua/tohtml.lua", + "position": 1104, + "pull_request_review_id": 1854202924, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27097", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473101162/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T16:24:00Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473101162", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27097#discussion_r1473104900" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27097" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473104900" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n--- @type fun(state: vim.tohtml.state)[]\r\n```\r\n\r\nIt looks like all these functions have the same signature.", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", + "created_at": "2024-01-31T16:20:56Z", + "diff_hunk": "@@ -0,0 +1,1263 @@\n+---@defgroup vim.tohtml\n+\n+-- The HTML conversion script is different from Vim's one. If you want to use\n+-- Vim's TOhtml converter, download it from the vim GitHub repo.\n+-- Here are the Vim files related to this functionality:\n+-- - https://github.com/vim/vim/blob/master/runtime/syntax/2html.vim\n+-- - https://github.com/vim/vim/blob/master/runtime/autoload/tohtml.vim\n+-- - https://github.com/vim/vim/blob/master/runtime/plugin/tohtml.vim\n+--\n+-- Main differences between this and the vim version:\n+-- - No \"ignore some visual thing\" settings (just set the right Vim option)\n+-- - No support for legacy web engines\n+-- - No support for legacy encoding (supports only UTF-8)\n+-- - No interactive webpage\n+-- - No specifying the internal html (no XHTML, no use_css=false)\n+-- - No multiwindow diffs\n+-- - No ranges\n+--\n+-- Remarks:\n+-- - Not all visuals are supported, so it may differ.\n+\n+--- @class vim.tohtml.opt\n+--- @field title? string|false\n+--- @field number_lines? boolean\n+--- @field font? string[]|string\n+--- @field width? number\n+--- @class vim.tohtml.state.global\n+--- @field background string\n+--- @field foreground string\n+--- @field title string|false\n+--- @field font string\n+--- @field highlights_name table\n+--- @field conf vim.tohtml.opt\n+--- @class vim.tohtml.state:vim.tohtml.state.global\n+--- @field style vim.tohtml.styletable\n+--- @field tabstop string|false\n+--- @field opt vim.wo\n+--- @field winnr number\n+--- @field bufnr number\n+--- @field width number\n+--- @field buflen number\n+--- @class vim.tohtml.styletable\n+--- @field [number] vim.tohtml.line (number: (1-index, exclusive))\n+--- @class vim.tohtml.line\n+--- @field virt_lines {[number]:{[1]:string,[2]:number}[]}\n+--- @field pre_text string[][]\n+--- @field hide? boolean\n+--- @field [number] vim.tohtml.cell? (number: (1-index, exclusive))\n+--- @class vim.tohtml.cell\n+--- @field [1] number[] start\n+--- @field [2] number[] close\n+--- @field [3] any[][] virt_text\n+--- @field [4] any[][] overlay_text\n+\n+local HIDE_ID = -1\n+\n+--- @type table\n+local cterm_color_cache = {}\n+local background_color_cache = nil\n+local foreground_color_cache = nil\n+\n+--- @param colorstr string\n+--- @return string\n+local function cterm_to_hex(colorstr)\n+ if colorstr:sub(1, 1) == '#' then\n+ return colorstr\n+ end\n+ assert(colorstr ~= '')\n+ local color = tonumber(colorstr)\n+ assert(color and 0 <= color and color <= 255)\n+ if cterm_color_cache[color] then\n+ return cterm_color_cache[color]\n+ end\n+ --- @type string?\n+ local hex\n+ vim.api.nvim_create_autocmd('TermResponse', {\n+ once = true,\n+ callback = function(args)\n+ --- @type string\n+ hex = '#'\n+ .. table.concat({ args.data:match('\\027%]4;%d*;rgb:(%w%w)%w%w/(%w%w)%w%w/(%w%w)%w%w') })\n+ end,\n+ })\n+ --- @see https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Operating-System-Commands\n+ io.stdout:write(('\\027]4;%s;?\\027\\\\'):format(color))\n+ vim.wait(100, function()\n+ return hex and true or false\n+ end)\n+ if hex then\n+ cterm_color_cache[color] = hex\n+ else\n+ --If the terminal didn't respond, set the colors to a fallback value\n+ vim.notify_once(\"Info(TOhtml): Couldn't get terminal colors, using fallback\")\n+ local t_Co = tonumber(vim.api.nvim_eval('&t_Co'))\n+ if t_Co == 8 then\n+ -- stylua: ignore\n+ cterm_color_cache = {\n+ [0] = \"#808080\", \"#ff6060\", \"#00ff00\", \"#ffff00\",\n+ \"#8080ff\", \"#ff40ff\", \"#00ffff\", \"#ffffff\",\n+ }\n+ else\n+ -- stylua: ignore\n+ cterm_color_cache = {\n+ [0] = \"#000000\", \"#c00000\", \"#008000\", \"#804000\",\n+ \"#0000c0\", \"#c000c0\", \"#008080\", \"#c0c0c0\",\n+ \"#808080\", \"#ff6060\", \"#00ff00\", \"#ffff00\",\n+ \"#8080ff\", \"#ff40ff\", \"#00ffff\", \"#ffffff\",\n+ }\n+ if t_Co == 88 then\n+ -- stylua: ignore\n+ vim.list_extend(cterm_color_cache, {\n+ \"#000000\", \"#00008b\", \"#0000cd\", \"#0000ff\",\n+ \"#008b00\", \"#008b8b\", \"#008bcd\", \"#008bff\",\n+ \"#00cd00\", \"#00cd8b\", \"#00cdcd\", \"#00cdff\",\n+ \"#00ff00\", \"#00ff8b\", \"#00ffcd\", \"#00ffff\",\n+ \"#8b0000\", \"#8b008b\", \"#8b00cd\", \"#8b00ff\",\n+ \"#8b8b00\", \"#8b8b8b\", \"#8b8bcd\", \"#8b8bff\",\n+ \"#8bcd00\", \"#8bcd8b\", \"#8bcdcd\", \"#8bcdff\",\n+ \"#8bff00\", \"#8bff8b\", \"#8bffcd\", \"#8bffff\",\n+ \"#cd0000\", \"#cd008b\", \"#cd00cd\", \"#cd00ff\",\n+ \"#cd8b00\", \"#cd8b8b\", \"#cd8bcd\", \"#cd8bff\",\n+ \"#cdcd00\", \"#cdcd8b\", \"#cdcdcd\", \"#cdcdff\",\n+ \"#cdff00\", \"#cdff8b\", \"#cdffcd\", \"#cdffff\",\n+ \"#ff0000\", \"#ff008b\", \"#ff00cd\", \"#ff00ff\",\n+ \"#ff8b00\", \"#ff8b8b\", \"#ff8bcd\", \"#ff8bff\",\n+ \"#ffcd00\", \"#ffcd8b\", \"#ffcdcd\", \"#ffcdff\",\n+ \"#ffff00\", \"#ffff8b\", \"#ffffcd\", \"#ffffff\",\n+ \"#2e2e2e\", \"#5c5c5c\", \"#737373\", \"#8b8b8b\",\n+ \"#a2a2a2\", \"#b9b9b9\", \"#d0d0d0\", \"#e7e7e7\",\n+ })\n+ elseif t_Co == 256 then\n+ -- stylua: ignore\n+ vim.list_extend(cterm_color_cache, {\n+ \"#000000\", \"#00005f\", \"#000087\", \"#0000af\",\n+ \"#0000d7\", \"#0000ff\", \"#005f00\", \"#005f5f\",\n+ \"#005f87\", \"#005faf\", \"#005fd7\", \"#005fff\",\n+ \"#008700\", \"#00875f\", \"#008787\", \"#0087af\",\n+ \"#0087d7\", \"#0087ff\", \"#00af00\", \"#00af5f\",\n+ \"#00af87\", \"#00afaf\", \"#00afd7\", \"#00afff\",\n+ \"#00d700\", \"#00d75f\", \"#00d787\", \"#00d7af\",\n+ \"#00d7d7\", \"#00d7ff\", \"#00ff00\", \"#00ff5f\",\n+ \"#00ff87\", \"#00ffaf\", \"#00ffd7\", \"#00ffff\",\n+ \"#5f0000\", \"#5f005f\", \"#5f0087\", \"#5f00af\",\n+ \"#5f00d7\", \"#5f00ff\", \"#5f5f00\", \"#5f5f5f\",\n+ \"#5f5f87\", \"#5f5faf\", \"#5f5fd7\", \"#5f5fff\",\n+ \"#5f8700\", \"#5f875f\", \"#5f8787\", \"#5f87af\",\n+ \"#5f87d7\", \"#5f87ff\", \"#5faf00\", \"#5faf5f\",\n+ \"#5faf87\", \"#5fafaf\", \"#5fafd7\", \"#5fafff\",\n+ \"#5fd700\", \"#5fd75f\", \"#5fd787\", \"#5fd7af\",\n+ \"#5fd7d7\", \"#5fd7ff\", \"#5fff00\", \"#5fff5f\",\n+ \"#5fff87\", \"#5fffaf\", \"#5fffd7\", \"#5fffff\",\n+ \"#870000\", \"#87005f\", \"#870087\", \"#8700af\",\n+ \"#8700d7\", \"#8700ff\", \"#875f00\", \"#875f5f\",\n+ \"#875f87\", \"#875faf\", \"#875fd7\", \"#875fff\",\n+ \"#878700\", \"#87875f\", \"#878787\", \"#8787af\",\n+ \"#8787d7\", \"#8787ff\", \"#87af00\", \"#87af5f\",\n+ \"#87af87\", \"#87afaf\", \"#87afd7\", \"#87afff\",\n+ \"#87d700\", \"#87d75f\", \"#87d787\", \"#87d7af\",\n+ \"#87d7d7\", \"#87d7ff\", \"#87ff00\", \"#87ff5f\",\n+ \"#87ff87\", \"#87ffaf\", \"#87ffd7\", \"#87ffff\",\n+ \"#af0000\", \"#af005f\", \"#af0087\", \"#af00af\",\n+ \"#af00d7\", \"#af00ff\", \"#af5f00\", \"#af5f5f\",\n+ \"#af5f87\", \"#af5faf\", \"#af5fd7\", \"#af5fff\",\n+ \"#af8700\", \"#af875f\", \"#af8787\", \"#af87af\",\n+ \"#af87d7\", \"#af87ff\", \"#afaf00\", \"#afaf5f\",\n+ \"#afaf87\", \"#afafaf\", \"#afafd7\", \"#afafff\",\n+ \"#afd700\", \"#afd75f\", \"#afd787\", \"#afd7af\",\n+ \"#afd7d7\", \"#afd7ff\", \"#afff00\", \"#afff5f\",\n+ \"#afff87\", \"#afffaf\", \"#afffd7\", \"#afffff\",\n+ \"#d70000\", \"#d7005f\", \"#d70087\", \"#d700af\",\n+ \"#d700d7\", \"#d700ff\", \"#d75f00\", \"#d75f5f\",\n+ \"#d75f87\", \"#d75faf\", \"#d75fd7\", \"#d75fff\",\n+ \"#d78700\", \"#d7875f\", \"#d78787\", \"#d787af\",\n+ \"#d787d7\", \"#d787ff\", \"#d7af00\", \"#d7af5f\",\n+ \"#d7af87\", \"#d7afaf\", \"#d7afd7\", \"#d7afff\",\n+ \"#d7d700\", \"#d7d75f\", \"#d7d787\", \"#d7d7af\",\n+ \"#d7d7d7\", \"#d7d7ff\", \"#d7ff00\", \"#d7ff5f\",\n+ \"#d7ff87\", \"#d7ffaf\", \"#d7ffd7\", \"#d7ffff\",\n+ \"#ff0000\", \"#ff005f\", \"#ff0087\", \"#ff00af\",\n+ \"#ff00d7\", \"#ff00ff\", \"#ff5f00\", \"#ff5f5f\",\n+ \"#ff5f87\", \"#ff5faf\", \"#ff5fd7\", \"#ff5fff\",\n+ \"#ff8700\", \"#ff875f\", \"#ff8787\", \"#ff87af\",\n+ \"#ff87d7\", \"#ff87ff\", \"#ffaf00\", \"#ffaf5f\",\n+ \"#ffaf87\", \"#ffafaf\", \"#ffafd7\", \"#ffafff\",\n+ \"#ffd700\", \"#ffd75f\", \"#ffd787\", \"#ffd7af\",\n+ \"#ffd7d7\", \"#ffd7ff\", \"#ffff00\", \"#ffff5f\",\n+ \"#ffff87\", \"#ffffaf\", \"#ffffd7\", \"#ffffff\",\n+ \"#080808\", \"#121212\", \"#1c1c1c\", \"#262626\",\n+ \"#303030\", \"#3a3a3a\", \"#444444\", \"#4e4e4e\",\n+ \"#585858\", \"#626262\", \"#6c6c6c\", \"#767676\",\n+ \"#808080\", \"#8a8a8a\", \"#949494\", \"#9e9e9e\",\n+ \"#a8a8a8\", \"#b2b2b2\", \"#bcbcbc\", \"#c6c6c6\",\n+ \"#d0d0d0\", \"#dadada\", \"#e4e4e4\", \"#eeeeee\",\n+ })\n+ end\n+ end\n+ end\n+ return cterm_color_cache[color]\n+end\n+\n+--- @return string\n+local function get_background_color()\n+ local bg = vim.fn.synIDattr(vim.fn.hlID('Normal'), 'bg#')\n+ if bg ~= '' then\n+ return cterm_to_hex(bg)\n+ end\n+ if background_color_cache then\n+ return background_color_cache\n+ end\n+ --- @type string?\n+ local hex\n+ vim.api.nvim_create_autocmd('TermResponse', {\n+ once = true,\n+ callback = function(args)\n+ --- @type string\n+ hex = '#'\n+ .. table.concat({ args.data:match('\\027%]11;rgb:(%w%w)%w%w/(%w%w)%w%w/(%w%w)%w%w') })\n+ end,\n+ })\n+ --- @see https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Operating-System-Commands\n+ io.stdout:write('\\027]11;?\\027\\\\')\n+ vim.wait(100, function()\n+ return hex and true or false\n+ end)\n+ if not hex or not hex:match('#%x%x%x%x%x%x') then\n+ vim.notify_once(\"Info(TOhtml): Couldn't get terminal background colors, using fallback\")\n+ hex = vim.o.background == 'light' and '#ffffff' or '#000000'\n+ end\n+ background_color_cache = hex\n+ return hex\n+end\n+\n+--- @return string\n+local function get_foreground_color()\n+ local fg = vim.fn.synIDattr(vim.fn.hlID('Normal'), 'fg#')\n+ if fg ~= '' then\n+ return cterm_to_hex(fg)\n+ end\n+ if foreground_color_cache then\n+ return foreground_color_cache\n+ end\n+ --- @type string?\n+ local hex\n+ vim.api.nvim_create_autocmd('TermResponse', {\n+ once = true,\n+ callback = function(args)\n+ --- @type string\n+ hex = '#'\n+ .. table.concat({ args.data:match('\\027%]10;rgb:(%w%w)%w%w/(%w%w)%w%w/(%w%w)%w%w') })\n+ end,\n+ })\n+ --- @see https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Operating-System-Commands\n+ io.stdout:write('\\027]10;?\\027\\\\')\n+ vim.wait(100, function()\n+ return hex and true or false\n+ end)\n+ if not hex or not hex:match('#%x%x%x%x%x%x') then\n+ vim.notify_once(\"Info(TOhtml): Couldn't get terminal foreground colors, using fallback\")\n+ hex = vim.o.background == 'light' and '#000000' or '#ffffff'\n+ end\n+ foreground_color_cache = hex\n+ return hex\n+end\n+\n+--- @param style_line vim.tohtml.line\n+--- @param col number (1-index)\n+--- @param field number\n+--- @param val any\n+local function _style_line_insert(style_line, col, field, val)\n+ if style_line[col] == nil then\n+ style_line[col] = { {}, {}, {}, {} }\n+ end\n+ table.insert(style_line[col][field], val)\n+end\n+\n+--- @param style_line vim.tohtml.line\n+--- @param col number (1-index)\n+--- @param val any[]\n+local function style_line_insert_overlay_char(style_line, col, val)\n+ _style_line_insert(style_line, col, 4, val)\n+end\n+\n+--- @param style_line vim.tohtml.line\n+--- @param col number (1-index)\n+--- @param val any[]\n+local function style_line_insert_virt_text(style_line, col, val)\n+ _style_line_insert(style_line, col, 3, val)\n+end\n+\n+--- @param state vim.tohtml.state\n+--- @param hl string|number|nil\n+--- @return nil|number\n+local function register_hl(state, hl)\n+ if type(hl) == 'nil' then\n+ return\n+ elseif type(hl) == 'string' then\n+ hl = vim.fn.hlID(hl)\n+ assert(hl ~= 0)\n+ end\n+ hl = vim.fn.synIDtrans(hl)\n+ if not state.highlights_name[hl] then\n+ local name = vim.fn.synIDattr(hl, 'name')\n+ assert(name ~= '')\n+ state.highlights_name[hl] = name\n+ end\n+ return hl\n+end\n+\n+--- @param state vim.tohtml.state\n+--- @param start_row number (1-index)\n+--- @param start_col number (1-index)\n+--- @param end_row number (1-index)\n+--- @param end_col number (1-index)\n+--- @param conceal_text string\n+--- @param hl_group string|number?\n+local function styletable_insert_conceal(\n+ state,\n+ start_row,\n+ start_col,\n+ end_row,\n+ end_col,\n+ conceal_text,\n+ hl_group\n+)\n+ assert(state.opt.conceallevel > 0)\n+ local styletable = state.style\n+ if start_col == end_col and start_row == end_row then\n+ return\n+ end\n+ if state.opt.conceallevel == 1 and conceal_text == '' then\n+ conceal_text = vim.opt_local.listchars:get().conceal or ' '\n+ end\n+ local hlid = register_hl(state, hl_group)\n+ if vim.wo[state.winnr].conceallevel ~= 3 then\n+ _style_line_insert(styletable[start_row], start_col, 3, { conceal_text, hlid })\n+ end\n+ _style_line_insert(styletable[start_row], start_col, 1, HIDE_ID)\n+ _style_line_insert(styletable[end_row], end_col, 2, HIDE_ID)\n+end\n+\n+--- @param state vim.tohtml.state\n+--- @param start_row number (1-index)\n+--- @param start_col number (1-index)\n+--- @param end_row number (1-index)\n+--- @param end_col number (1-index)\n+--- @param hl_group string|number|nil\n+local function styletable_insert_range(state, start_row, start_col, end_row, end_col, hl_group)\n+ if start_col == end_col and start_row == end_row or not hl_group then\n+ return\n+ end\n+ local styletable = state.style\n+ _style_line_insert(styletable[start_row], start_col, 1, hl_group)\n+ _style_line_insert(styletable[end_row], end_col, 2, hl_group)\n+end\n+\n+--- @param bufnr number\n+--- @return vim.tohtml.styletable\n+local function generate_styletable(bufnr)\n+ --- @type vim.tohtml.styletable\n+ local styletable = {}\n+ for row = 1, vim.api.nvim_buf_line_count(bufnr) + 1 do\n+ styletable[row] = { virt_lines = {}, pre_text = {} }\n+ end\n+ return styletable\n+end\n+\n+--- @param state vim.tohtml.state\n+local function styletable_syntax(state)\n+ for row = 1, state.buflen do\n+ local prev_id = 0\n+ local prev_col = nil\n+ for col = 1, #vim.fn.getline(row) + 1 do\n+ local hlid = vim.fn.synID(row, col, 1)\n+ hlid = hlid == 0 and 0 or assert(register_hl(state, hlid))\n+ if hlid ~= prev_id then\n+ if prev_id ~= 0 then\n+ styletable_insert_range(state, row, assert(prev_col), row, col, prev_id)\n+ end\n+ prev_col = col\n+ prev_id = hlid\n+ end\n+ end\n+ end\n+end\n+\n+--- @param state vim.tohtml.state\n+local function styletable_diff(state)\n+ local styletable = state.style\n+ for row = 1, state.buflen do\n+ local style_line = styletable[row]\n+ local filler = vim.fn.diff_filler(row)\n+ if filler ~= 0 then\n+ local fill = (vim.opt_local.fillchars:get().diff or '-')\n+ table.insert(\n+ style_line.virt_lines,\n+ { { fill:rep(state.width), register_hl(state, 'DiffDelete') } }\n+ )\n+ end\n+ if row == state.buflen + 1 then\n+ break\n+ end\n+ local prev_id = 0\n+ local prev_col = nil\n+ for col = 1, #vim.fn.getline(row) do\n+ local hlid = vim.fn.diff_hlID(row, col)\n+ hlid = hlid == 0 and 0 or assert(register_hl(state, hlid))\n+ if hlid ~= prev_id then\n+ if prev_id ~= 0 then\n+ styletable_insert_range(state, row, assert(prev_col), row, col, prev_id)\n+ end\n+ prev_col = col\n+ prev_id = hlid\n+ end\n+ end\n+ if prev_id ~= 0 then\n+ styletable_insert_range(state, row, assert(prev_col), row, #vim.fn.getline(row) + 1, prev_id)\n+ end\n+ end\n+end\n+\n+--- @param state vim.tohtml.state\n+local function styletable_treesitter(state)\n+ local bufnr = state.bufnr\n+ local buf_highlighter = vim.treesitter.highlighter.active[bufnr]\n+ if not buf_highlighter then\n+ return\n+ end\n+ buf_highlighter.tree:parse(true)\n+ buf_highlighter.tree:for_each_tree(function(tstree, tree)\n+ --- @cast tree LanguageTree\n+ if not tstree then\n+ return\n+ end\n+ local root = tstree:root()\n+ local q = buf_highlighter:get_query(tree:lang())\n+ --- @type Query?\n+ local query = q:query()\n+ if not query then\n+ return\n+ end\n+ for capture, node, metadata in query:iter_captures(root, buf_highlighter.bufnr, 0, state.buflen) do\n+ local srow, scol, erow, ecol = node:range()\n+ --- @diagnostic disable-next-line: invisible\n+ local c = q._query.captures[capture]\n+ if c ~= nil then\n+ local hlid = register_hl(state, '@' .. c .. '.' .. tree:lang())\n+ if metadata.conceal and state.opt.conceallevel ~= 0 then\n+ styletable_insert_conceal(state, srow + 1, scol + 1, erow + 1, ecol + 1, metadata.conceal)\n+ end\n+ styletable_insert_range(state, srow + 1, scol + 1, erow + 1, ecol + 1, hlid)\n+ end\n+ end\n+ end)\n+end\n+\n+--- @param state vim.tohtml.state\n+--- @param extmark {[1]:number,[2]:number,[3]:number,[4]:vim.api.keyset.set_extmark|any}\n+--- @param namespaces table\n+local function _styletable_extmarks_highlight(state, extmark, namespaces)\n+ if not extmark[4].hl_group then\n+ return\n+ end\n+ ---TODO(altermo) LSP semantic tokens (and some other extmarks) are only\n+ ---generated in visible lines, and not in the whole buffer.\n+ if (namespaces[extmark[4].ns_id] or ''):find('vim_lsp_semantic_tokens') then\n+ vim.notify_once('Info(TOhtml): lsp semantic tokens are not supported, html may be incorrect')\n+ return\n+ end\n+ local srow, scol, erow, ecol =\n+ extmark[2], extmark[3], extmark[4].end_row or extmark[2], extmark[4].end_col or extmark[3]\n+ if scol == ecol and srow == erow then\n+ return\n+ end\n+ local hlid = register_hl(state, extmark[4].hl_group)\n+ styletable_insert_range(state, srow + 1, scol + 1, erow + 1, ecol + 1, hlid)\n+end\n+\n+--- @param state vim.tohtml.state\n+--- @param extmark {[1]:number,[2]:number,[3]:number,[4]:vim.api.keyset.set_extmark|any}\n+local function _styletable_extmarks_virt_text(state, extmark)\n+ if not extmark[4].virt_text then\n+ return\n+ end\n+ local styletable = state.style\n+ --- @type number,number\n+ local row, col = extmark[2], extmark[3]\n+ if\n+ extmark[4].virt_text_pos == 'inline'\n+ or extmark[4].virt_text_pos == 'eol'\n+ or extmark[4].virt_text_pos == 'overlay'\n+ then\n+ if extmark[4].virt_text_pos == 'eol' then\n+ style_line_insert_virt_text(styletable[row + 1], #vim.fn.getline(row + 1) + 1, { ' ' })\n+ end\n+ local virt_text_len = 0\n+ for _, i in\n+ ipairs(extmark[4].virt_text --[[@as (string[][])]])\n+ do\n+ local hlid = register_hl(state, i[2])\n+ if extmark[4].virt_text_pos == 'eol' then\n+ style_line_insert_virt_text(\n+ styletable[row + 1],\n+ #vim.fn.getline(row + 1) + 1,\n+ { i[1], hlid }\n+ )\n+ else\n+ style_line_insert_virt_text(styletable[row + 1], col + 1, { i[1], hlid })\n+ end\n+ virt_text_len = virt_text_len + #i[1]\n+ end\n+ if extmark[4].virt_text_pos == 'overlay' then\n+ styletable_insert_range(state, row + 1, col + 1, row + 1, col + virt_text_len + 1, HIDE_ID)\n+ end\n+ end\n+ local not_supported = {\n+ virt_text_pos = 'right_align',\n+ hl_mode = 'blend',\n+ hl_group = 'combine',\n+ }\n+ for opt, val in ipairs(not_supported) do\n+ if extmark[4][opt] == val then\n+ vim.notify_once(\n+ ('Info(TOhtml): extmark.%s=\"%s\" is not supported, html may be incorrect'):format(opt, val)\n+ )\n+ end\n+ end\n+end\n+\n+--- @param state vim.tohtml.state\n+--- @param extmark {[1]:number,[2]:number,[3]:number,[4]:vim.api.keyset.set_extmark|any}\n+local function _styletable_extmarks_virt_lines(state, extmark)\n+ ---TODO(altermo) if the fold start is equal to virt_line start then the fold hides the virt_line\n+ if not extmark[4].virt_lines then\n+ return\n+ end\n+ --- @type number\n+ local row = extmark[2] + (extmark[4].virt_lines_above and 1 or 2)\n+ for _, line in\n+ ipairs(extmark[4].virt_lines --[[@as (string[][][])]])\n+ do\n+ local virt_line = {}\n+ for _, i in ipairs(line) do\n+ local hlid = register_hl(state, i[2])\n+ table.insert(virt_line, { i[1], hlid })\n+ end\n+ table.insert(state.style[row].virt_lines, virt_line)\n+ end\n+end\n+\n+--- @param state vim.tohtml.state\n+--- @param extmark {[1]:number,[2]:number,[3]:number,[4]:vim.api.keyset.set_extmark|any}\n+local function _styletable_extmarks_conceal(state, extmark)\n+ if not extmark[4].conceal or state.opt.conceallevel == 0 then\n+ return\n+ end\n+ local srow, scol, erow, ecol =\n+ extmark[2], extmark[3], extmark[4].end_row or extmark[2], extmark[4].end_col or extmark[3]\n+ styletable_insert_conceal(\n+ state,\n+ srow + 1,\n+ scol + 1,\n+ erow + 1,\n+ ecol + 1,\n+ extmark[4].conceal,\n+ extmark[4].hl_group or 'Conceal'\n+ )\n+end\n+\n+--- @param state vim.tohtml.state\n+local function styletable_extmarks(state)\n+ --TODO(altermo) extmarks may have col/row which is outside of the buffer, which could cause an error\n+ local bufnr = state.bufnr\n+ local extmarks = vim.api.nvim_buf_get_extmarks(bufnr, -1, 0, -1, { details = true })\n+ local namespaces = vim.tbl_add_reverse_lookup(vim.api.nvim_get_namespaces())\n+ for _, v in ipairs(extmarks) do\n+ _styletable_extmarks_highlight(state, v, namespaces)\n+ end\n+ for _, v in ipairs(extmarks) do\n+ _styletable_extmarks_conceal(state, v)\n+ end\n+ for _, v in ipairs(extmarks) do\n+ _styletable_extmarks_virt_text(state, v)\n+ end\n+ for _, v in ipairs(extmarks) do\n+ _styletable_extmarks_virt_lines(state, v)\n+ end\n+end\n+\n+--- @param state vim.tohtml.state\n+local function styletable_folds(state)\n+ local styletable = state.style\n+ local has_folded = false\n+ for row = 1, state.buflen do\n+ if vim.fn.foldclosed(row) > 0 then\n+ has_folded = true\n+ styletable[row].hide = true\n+ end\n+ if vim.fn.foldclosed(row) == row then\n+ local hlid = register_hl(state, 'Folded')\n+ ---TODO(altermo): Is there a way to get highlighted foldtext?\n+ local foldtext = vim.fn.foldtextresult(row)\n+ foldtext = foldtext .. (vim.opt.fillchars:get().fold or '·'):rep(state.width - #foldtext)\n+ table.insert(styletable[row].virt_lines, { { foldtext, hlid } })\n+ end\n+ end\n+ if has_folded and type(({ pcall(vim.api.nvim_eval, vim.o.foldtext) })[2]) == 'table' then\n+ vim.notify_once(\n+ 'Info(TOhtml): foldtext returning a table is half supported, html may be incorrect'\n+ )\n+ end\n+end\n+\n+--- @param state vim.tohtml.state\n+local function styletable_conceal(state)\n+ local bufnr = state.bufnr\n+ vim.api.nvim_buf_call(bufnr, function()\n+ for row = 1, state.buflen do\n+ --- @type table\n+ local conceals = {}\n+ local line_len_exclusive = #vim.fn.getline(row) + 1\n+ for col = 1, line_len_exclusive do\n+ --- @type number,string,number\n+ local is_concealed, conceal, hlid = unpack(vim.fn.synconcealed(row, col) --[[@as table]])\n+ if is_concealed == 0 then\n+ assert(true)\n+ elseif not conceals[hlid] then\n+ conceals[hlid] = { col, math.min(col + 1, line_len_exclusive), conceal }\n+ else\n+ conceals[hlid][2] = math.min(col + 1, line_len_exclusive)\n+ end\n+ end\n+ for _, v in pairs(conceals) do\n+ styletable_insert_conceal(state, row, v[1], row, v[2], v[3], 'Conceal')\n+ end\n+ end\n+ end)\n+end\n+\n+--- @param state vim.tohtml.state\n+local function styletable_match(state)\n+ for _, match in\n+ ipairs(vim.fn.getmatches(state.winnr) --[[@as (table[])]])\n+ do\n+ local hlid = register_hl(state, match.group)\n+ local function range(srow, scol, erow, ecol)\n+ if match.group == 'Conceal' and state.opt.conceallevel ~= 0 then\n+ styletable_insert_conceal(state, srow, scol, erow, ecol, match.conceal or '', hlid)\n+ else\n+ styletable_insert_range(state, srow, scol, erow, ecol, hlid)\n+ end\n+ end\n+ if match.pos1 then\n+ for key, v in\n+ pairs(match --[[@as (table)]])\n+ do\n+ if not key:match('^pos(%d+)$') then\n+ assert(true)\n+ elseif #v == 1 then\n+ range(v[1], 1, v[1], #vim.fn.getline(v[1]) + 1)\n+ else\n+ range(v[1], v[2], v[1], v[3] + v[2])\n+ end\n+ end\n+ else\n+ for _, v in\n+ ipairs(vim.fn.matchbufline(state.bufnr, match.pattern, 1, '$') --[[@as (table[])]])\n+ do\n+ range(v.lnum, v.byteidx + 1, v.lnum, v.byteidx + 1 + #v.text)\n+ end\n+ end\n+ end\n+end\n+\n+--- Requires state.conf.number_lines to be set to true\n+--- @param state vim.tohtml.state\n+local function styletable_statuscolumn(state)\n+ if not state.conf.number_lines then\n+ return\n+ end\n+ local statuscolumn = state.opt.statuscolumn\n+ if statuscolumn == '' then\n+ --TODO(altermo): This is wrong, if for example if 'number' and 'foldcolumn=2' then it\n+ --wont have the correct whitespace in the correct location\n+ --The task: figure out the internal algorithm for the statuscolumn and rewrite it to\n+ --the 'statuscolum' format\n+ if state.opt.relativenumber then\n+ if state.opt.number then\n+ statuscolumn =\n+ '%C%s%{v:lnum!=line(\".\")?repeat(\" \",&numberwidth-len(v:relnum)).v:relnum:v:lnum}'\n+ else\n+ statuscolumn = '%C%s%{repeat(\" \",&numberwidth-len(v:relnum)).v:relnum}'\n+ end\n+ else\n+ statuscolumn = '%C%s%{repeat(\" \",&numberwidth-len(v:lnum)).v:lnum}'\n+ end\n+ end\n+ local minwidth = 0\n+ local signcolumn = state.opt.signcolumn\n+ if state.opt.number or state.opt.relativenumber then\n+ minwidth = minwidth + state.opt.numberwidth\n+ if signcolumn == 'number' then\n+ signcolumn = 'no'\n+ end\n+ end\n+ if signcolumn == 'number' then\n+ signcolumn = 'auto'\n+ end\n+ if signcolumn ~= 'no' then\n+ local max = tonumber(signcolumn:match('^%w-:(%d)')) or 1\n+ if signcolumn:match('^auto') then\n+ --- @type table\n+ local signcount = {}\n+ for _, extmark in\n+ ipairs(vim.api.nvim_buf_get_extmarks(state.bufnr, -1, 0, -1, { details = true }))\n+ do\n+ if extmark[4].sign_text then\n+ signcount[extmark[2]] = (signcount[extmark[2]] or 0) + 1\n+ end\n+ end\n+ local maxsigns = 0\n+ for _, v in pairs(signcount) do\n+ if v > maxsigns then\n+ maxsigns = v\n+ end\n+ end\n+ minwidth = minwidth + math.min(maxsigns, max) * 2\n+ else\n+ minwidth = minwidth + max * 2\n+ end\n+ end\n+ local foldcolumn = state.opt.foldcolumn\n+ if foldcolumn ~= '0' then\n+ if foldcolumn:match('^auto') then\n+ local max = tonumber(foldcolumn:match('^%w-:(%d)')) or 1\n+ local maxfold = 0\n+ vim.api.nvim_buf_call(state.bufnr, function()\n+ for row = 1, vim.api.nvim_buf_line_count(state.bufnr) do\n+ local foldlevel = vim.fn.foldlevel(row)\n+ if foldlevel > maxfold then\n+ maxfold = foldlevel\n+ end\n+ end\n+ end)\n+ minwidth = minwidth + math.min(maxfold, max)\n+ else\n+ minwidth = minwidth + tonumber(foldcolumn)\n+ end\n+ end\n+ --- @type table\n+ local statuses = {}\n+ for row = 1, state.buflen do\n+ local status = vim.api.nvim_eval_statusline(\n+ statuscolumn,\n+ { winid = state.winnr, use_statuscol_lnum = row, highlights = true }\n+ )\n+ local width = vim.api.nvim_strwidth(status.str)\n+ if width > minwidth then\n+ minwidth = width\n+ end\n+ table.insert(statuses, status)\n+ --- @type string\n+ end\n+ for row, status in pairs(statuses) do\n+ --- @type string\n+ local str = status.str\n+ --- @type table[]\n+ local hls = status.highlights\n+ for k, v in ipairs(hls) do\n+ local text = str:sub(v.start + 1, hls[k + 1] and hls[k + 1].start or nil)\n+ if k == #hls then\n+ text = text .. (' '):rep(minwidth - vim.api.nvim_strwidth(str))\n+ end\n+ if text ~= '' then\n+ local hlid = register_hl(state, v.group)\n+ local virt_text = { text, hlid }\n+ table.insert(state.style[row].pre_text, virt_text)\n+ end\n+ end\n+ end\n+end\n+\n+--- @param state vim.tohtml.state\n+local function styletable_listchars(state)\n+ if not state.opt.list then\n+ return\n+ end\n+ --- @return string\n+ local function utf8_sub(str, i, j)\n+ return vim.fn.strcharpart(str, i - 1, j and j - i + 1 or nil)\n+ end\n+ local len = vim.api.nvim_strwidth\n+ --- @type table\n+ local listchars = vim.opt_local.listchars:get()\n+ local ids = setmetatable({}, {\n+ __index = function(t, k)\n+ rawset(t, k, register_hl(state, k))\n+ return rawget(t, k)\n+ end,\n+ })\n+ if listchars.eol then\n+ for row = 1, state.buflen do\n+ local style_line = state.style[row]\n+ style_line_insert_overlay_char(\n+ style_line,\n+ #vim.fn.getline(row) + 1,\n+ { listchars.eol, ids.NonText }\n+ )\n+ end\n+ end\n+ if listchars.tab and state.tabstop then\n+ for _, match in\n+ ipairs(vim.fn.matchbufline(state.bufnr, '\\t', 1, '$') --[[@as (table[])]])\n+ do\n+ --- @type number\n+ local tablen = #state.tabstop\n+ - ((vim.fn.virtcol({ match.lnum, match.byteidx }, false, state.winnr)) % #state.tabstop)\n+ --- @type string?\n+ local text\n+ if len(listchars.tab) == 3 then\n+ if tablen == 1 then\n+ text = utf8_sub(listchars.tab, 3, 3)\n+ else\n+ text = utf8_sub(listchars.tab, 1, 1)\n+ .. utf8_sub(listchars.tab, 2, 2):rep(tablen - 2)\n+ .. utf8_sub(listchars.tab, 3, 3)\n+ end\n+ else\n+ text = utf8_sub(listchars.tab, 1, 1) .. utf8_sub(listchars.tab, 2, 2):rep(tablen - 1)\n+ end\n+ style_line_insert_overlay_char(\n+ state.style[match.lnum],\n+ match.byteidx + 1,\n+ { text, ids.Whitespace }\n+ )\n+ end\n+ end\n+ if listchars.space then\n+ for _, match in\n+ ipairs(vim.fn.matchbufline(state.bufnr, ' ', 1, '$') --[[@as (table[])]])\n+ do\n+ style_line_insert_overlay_char(\n+ state.style[match.lnum],\n+ match.byteidx + 1,\n+ { listchars.space, ids.Whitespace }\n+ )\n+ end\n+ end\n+ if listchars.multispace then\n+ for _, match in\n+ ipairs(vim.fn.matchbufline(state.bufnr, [[ \\+]], 1, '$') --[[@as (table[])]])\n+ do\n+ local text = utf8_sub(listchars.multispace:rep(len(match.text)), 1, len(match.text))\n+ for i = 1, len(text) do\n+ style_line_insert_overlay_char(\n+ state.style[match.lnum],\n+ match.byteidx + i,\n+ { utf8_sub(text, i, i), ids.Whitespace }\n+ )\n+ end\n+ end\n+ end\n+ if listchars.lead or listchars.leadmultispace then\n+ for _, match in\n+ ipairs(vim.fn.matchbufline(state.bufnr, [[^ \\+]], 1, '$') --[[@as (table[])]])\n+ do\n+ local text = ''\n+ if len(match.text) == 1 or not listchars.leadmultispace then\n+ if listchars.lead then\n+ text = listchars.lead:rep(len(match.text))\n+ end\n+ elseif listchars.leadmultispace then\n+ text = utf8_sub(listchars.leadmultispace:rep(len(match.text)), 1, len(match.text))\n+ end\n+ for i = 1, len(text) do\n+ style_line_insert_overlay_char(\n+ state.style[match.lnum],\n+ match.byteidx + i,\n+ { utf8_sub(text, i, i), ids.Whitespace }\n+ )\n+ end\n+ end\n+ end\n+ if listchars.trail then\n+ for _, match in\n+ ipairs(vim.fn.matchbufline(state.bufnr, [[ \\+$]], 1, '$') --[[@as (table[])]])\n+ do\n+ local text = listchars.trail:rep(len(match.text))\n+ for i = 1, len(text) do\n+ style_line_insert_overlay_char(\n+ state.style[match.lnum],\n+ match.byteidx + i,\n+ { utf8_sub(text, i, i), ids.Whitespace }\n+ )\n+ end\n+ end\n+ end\n+ if listchars.nbsp then\n+ for _, match in\n+ ipairs(vim.fn.matchbufline(state.bufnr, '\\xe2\\x80\\xaf\\\\|\\xa0', 1, '$') --[[@as (table[])]])\n+ do\n+ style_line_insert_overlay_char(\n+ state.style[match.lnum],\n+ match.byteidx + 1,\n+ { listchars.nbsp, ids.Whitespace }\n+ )\n+ for i = 2, #match.text do\n+ style_line_insert_overlay_char(\n+ state.style[match.lnum],\n+ match.byteidx + i,\n+ { '', ids.Whitespace }\n+ )\n+ end\n+ end\n+ end\n+end\n+\n+--- @param name string\n+--- @return string\n+local function highlight_name_to_class_name(name)\n+ return (name:gsub('%.', '-'):gsub('@', '-'))\n+end\n+\n+--- @param name string\n+--- @return string\n+local function name_to_tag(name)\n+ return ''\n+end\n+\n+--- @param _ string\n+--- @return string\n+local function name_to_closetag(_)\n+ return ''\n+end\n+\n+--- @param str string\n+--- @param tabstop string|false?\n+--- @return string\n+local function html_escape(str, tabstop)\n+ str = str:gsub('&', '&'):gsub('<', '<'):gsub('>', '>'):gsub('\"', '"')\n+ if tabstop then\n+ --- @type string\n+ str = str:gsub('\\t', tabstop)\n+ end\n+ return str\n+end\n+\n+--- @param out string[]\n+--- @param state vim.tohtml.state.global\n+local function extend_style(out, state)\n+ table.insert(out, '')\n+end\n+\n+--- @param out string[]\n+--- @param state vim.tohtml.state.global\n+local function extend_head(out, state)\n+ table.insert(out, '')\n+ table.insert(out, '')\n+ if state.title ~= false then\n+ table.insert(out, ('%s'):format(state.title))\n+ end\n+ local colorscheme = vim.api.nvim_exec2('colorscheme', { output = true }).output\n+ table.insert(\n+ out,\n+ (''):format(html_escape(colorscheme))\n+ )\n+ extend_style(out, state)\n+ table.insert(out, '')\n+end\n+\n+--- @param out string[]\n+--- @param state vim.tohtml.state\n+local function extend_pre(out, state)\n+ local styletable = state.style\n+ table.insert(out, '
')\n+  local hide_count = 0\n+  --- @type number[]\n+  local stack = {}\n+  local function loop(row)\n+    local style_line = styletable[row]\n+    if style_line.hide and (styletable[row - 1] or {}).hide then\n+      return\n+    end\n+    --Possible improvement (altermo):\n+    --Instead of looping over all the buffer characters per line,\n+    --why not loop over all the style_line cells,\n+    --and then calculating the amount of text.\n+    for _, virt_line in ipairs(style_line.virt_lines) do\n+      local virt_s = ''\n+      for _, v in ipairs(virt_line) do\n+        if v[2] then\n+          virt_s = virt_s .. (name_to_tag(state.highlights_name[v[2]]))\n+        end\n+        virt_s = virt_s .. v[1]\n+        if v[2] then\n+          --- @type string\n+          virt_s = virt_s .. (name_to_closetag(state.highlights_name[v[2]]))\n+        end\n+      end\n+      table.insert(out, virt_s)\n+    end\n+    if style_line.hide then\n+      return\n+    end\n+    local line = vim.api.nvim_buf_get_lines(state.bufnr, row - 1, row, false)[1] or ''\n+    local s = ''\n+    for _, pre_text in ipairs(style_line.pre_text) do\n+      if pre_text[2] then\n+        s = s .. (name_to_tag(state.highlights_name[pre_text[2]]))\n+      end\n+      s = s .. (html_escape(pre_text[1], state.tabstop))\n+      if pre_text[2] then\n+        --- @type string\n+        s = s .. (name_to_closetag(state.highlights_name[pre_text[2]]))\n+      end\n+    end\n+    for col = 1, #line + 1 do\n+      local cell = style_line[col]\n+      --- @type table\n+      local char\n+      if cell then\n+        for i = #cell[2], 1, -1 do\n+          local hlid = cell[2][i]\n+          if hlid < 0 then\n+            if hlid == HIDE_ID then\n+              hide_count = hide_count - 1\n+            end\n+          else\n+            --- @type number?\n+            local index\n+            for idx = #stack, 1, -1 do\n+              s = s .. (name_to_closetag(state.highlights_name[stack[idx]]))\n+              if stack[idx] == hlid then\n+                index = idx\n+                break\n+              end\n+            end\n+            assert(index, 'a coles tag which has no corresponding open tag')\n+            for idx = index + 1, #stack do\n+              s = s .. (name_to_tag(state.highlights_name[stack[idx]]))\n+            end\n+            table.remove(stack, index)\n+          end\n+        end\n+        for _, hlid in ipairs(cell[1]) do\n+          if hlid < 0 then\n+            if hlid == HIDE_ID then\n+              hide_count = hide_count + 1\n+            end\n+          else\n+            table.insert(stack, hlid)\n+            s = s .. (name_to_tag(state.highlights_name[hlid]))\n+          end\n+        end\n+        for _, v in ipairs(cell[3]) do\n+          if v[2] then\n+            s = s .. (name_to_tag(state.highlights_name[v[2]]))\n+          end\n+          s = s .. (html_escape(v[1], state.tabstop))\n+          if v[2] then\n+            s = s .. (name_to_closetag(state.highlights_name[v[2]]))\n+          end\n+        end\n+        char = cell[4][#cell[4]]\n+      end\n+      if col == #line + 1 and not char then\n+        break\n+      end\n+      if hide_count == 0 then\n+        char = char\n+          or { vim.api.nvim_buf_get_text(state.bufnr, row - 1, col - 1, row - 1, col, {})[1] }\n+        if char[2] then\n+          s = s .. name_to_tag(state.highlights_name[char[2]])\n+        end\n+        s = s .. html_escape(char[1], state.tabstop)\n+        if char[2] then\n+          s = s .. name_to_closetag(state.highlights_name[char[2]])\n+        end\n+      end\n+    end\n+    table.insert(out, s)\n+  end\n+  for row = 1, state.buflen + 1 do\n+    loop(row)\n+  end\n+  assert(#stack == 0, 'an open html tag was never closed')\n+  table.insert(out, '
')\n+end\n+\n+--- @param out string[]\n+--- @param fn fun()\n+local function extend_body(out, fn)\n+ table.insert(out, '')\n+ fn()\n+ table.insert(out, '')\n+end\n+\n+--- @param out string[]\n+--- @param fn fun()\n+local function extend_html(out, fn)\n+ table.insert(out, '')\n+ table.insert(out, '')\n+ fn()\n+ table.insert(out, '')\n+end\n+\n+--- @param winnr number\n+--- @param global_state vim.tohtml.state.global\n+--- @return vim.tohtml.state\n+local function global_state_to_state(winnr, global_state)\n+ local bufnr = vim.api.nvim_win_get_buf(winnr)\n+ local opt = global_state.conf\n+ local width = opt.width or vim.bo[bufnr].textwidth\n+ if not width or width < 1 then\n+ width = vim.api.nvim_win_get_width(winnr)\n+ end\n+ local state = setmetatable({\n+ winnr = winnr == 0 and vim.api.nvim_get_current_win() or winnr,\n+ opt = vim.wo[winnr],\n+ style = generate_styletable(bufnr),\n+ bufnr = bufnr,\n+ tabstop = (' '):rep(vim.bo[bufnr].tabstop),\n+ width = width,\n+ buflen = vim.api.nvim_buf_line_count(bufnr),\n+ }, { __index = global_state })\n+ return state --[[@as vim.tohtml.state]]\n+end\n+\n+--- @param opt vim.tohtml.opt\n+--- @param title? string\n+--- @return vim.tohtml.state.global\n+local function opt_to_global_state(opt, title)\n+ local fonts = {}\n+ if opt.font then\n+ fonts = type(opt.font) == 'string' and { opt.font } or opt.font --[[@as (string[])]]\n+ elseif vim.o.guifont:match('^[^:]+') then\n+ table.insert(fonts, vim.o.guifont:match('^[^:]+'))\n+ end\n+ table.insert(fonts, 'monospace')\n+ --- @type vim.tohtml.state.global\n+ local state = {\n+ background = get_background_color(),\n+ foreground = get_foreground_color(),\n+ title = opt.title or title or false,\n+ font = table.concat(fonts, ','),\n+ highlights_name = {},\n+ conf = opt,\n+ }\n+ return state\n+end\n+\n+--- @type function[]", + "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1473104900", + "id": 1473104900, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XzcwE", + "original_commit_id": "55affa23d4e7d3adaec6a89b071d7c8de9f7ce9d", + "original_line": 1184, + "original_position": 1177, + "original_start_line": null, + "path": "runtime/lua/tohtml.lua", + "position": null, + "pull_request_review_id": 1854202924, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27097", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473104900/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T16:24:00Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473104900", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27097#discussion_r1473133154" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27097" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473133154" + } + }, + "author_association": "CONTRIBUTOR", + "body": "`string?`\r\nAdded the type hints to code. (If it's that you're after)", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", + "created_at": "2024-01-31T16:39:45Z", + "diff_hunk": "@@ -0,0 +1,1263 @@\n+---@defgroup vim.tohtml\n+\n+-- The HTML conversion script is different from Vim's one. If you want to use\n+-- Vim's TOhtml converter, download it from the vim GitHub repo.\n+-- Here are the Vim files related to this functionality:\n+-- - https://github.com/vim/vim/blob/master/runtime/syntax/2html.vim\n+-- - https://github.com/vim/vim/blob/master/runtime/autoload/tohtml.vim\n+-- - https://github.com/vim/vim/blob/master/runtime/plugin/tohtml.vim\n+--\n+-- Main differences between this and the vim version:\n+-- - No \"ignore some visual thing\" settings (just set the right Vim option)\n+-- - No support for legacy web engines\n+-- - No support for legacy encoding (supports only UTF-8)\n+-- - No interactive webpage\n+-- - No specifying the internal html (no XHTML, no use_css=false)\n+-- - No multiwindow diffs\n+-- - No ranges\n+--\n+-- Remarks:\n+-- - Not all visuals are supported, so it may differ.\n+\n+--- @class vim.tohtml.opt\n+--- @field title? string|false\n+--- @field number_lines? boolean\n+--- @field font? string[]|string\n+--- @field width? number\n+--- @class vim.tohtml.state.global\n+--- @field background string\n+--- @field foreground string\n+--- @field title string|false\n+--- @field font string\n+--- @field highlights_name table\n+--- @field conf vim.tohtml.opt\n+--- @class vim.tohtml.state:vim.tohtml.state.global\n+--- @field style vim.tohtml.styletable\n+--- @field tabstop string|false\n+--- @field opt vim.wo\n+--- @field winnr number\n+--- @field bufnr number\n+--- @field width number\n+--- @field buflen number\n+--- @class vim.tohtml.styletable\n+--- @field [number] vim.tohtml.line (number: (1-index, exclusive))\n+--- @class vim.tohtml.line\n+--- @field virt_lines {[number]:{[1]:string,[2]:number}[]}\n+--- @field pre_text string[][]\n+--- @field hide? boolean\n+--- @field [number] vim.tohtml.cell? (number: (1-index, exclusive))\n+--- @class vim.tohtml.cell\n+--- @field [1] number[] start\n+--- @field [2] number[] close\n+--- @field [3] any[][] virt_text\n+--- @field [4] any[][] overlay_text\n+\n+local HIDE_ID = -1\n+\n+--- @type table\n+local cterm_color_cache = {}\n+local background_color_cache = nil\n+local foreground_color_cache = nil", + "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1473133154", + "id": 1473133154, + "in_reply_to_id": 1473091159, + "line": 174, + "node_id": "PRRC_kwDOAPphoM5Xzjpi", + "original_commit_id": "55affa23d4e7d3adaec6a89b071d7c8de9f7ce9d", + "original_line": 174, + "original_position": 60, + "original_start_line": null, + "path": "runtime/lua/tohtml.lua", + "position": 174, + "pull_request_review_id": 1854282559, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27097", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473133154/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T16:39:45Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473133154", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", + "events_url": "https://api.github.com/users/altermo/events{/privacy}", + "followers_url": "https://api.github.com/users/altermo/followers", + "following_url": "https://api.github.com/users/altermo/following{/other_user}", + "gists_url": "https://api.github.com/users/altermo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/altermo", + "id": 107814000, + "login": "altermo", + "node_id": "U_kgDOBm0ccA", + "organizations_url": "https://api.github.com/users/altermo/orgs", + "received_events_url": "https://api.github.com/users/altermo/received_events", + "repos_url": "https://api.github.com/users/altermo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/altermo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/altermo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/altermo" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27097#discussion_r1473138659" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27097" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473138659" + } + }, + "author_association": "CONTRIBUTOR", + "body": "That should then be another function, as this function is designed to be the same as `:TOhtml`.\r\n\r\nSo I added another function that does this (but it returns a list of strings).", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", + "created_at": "2024-01-31T16:43:40Z", + "diff_hunk": "@@ -4308,4 +4308,29 @@ vim.text.hexencode({str}) *vim.text.hexencode()*\n Return: ~\n (`string`) Hex encoded string\n \n+\n+==============================================================================\n+Lua module: vim.tohtml *vim.tohtml*\n+\n+tohtml({winnr}, {outfile}, {opt}) *require\"tohtml\".tohtml()*", + "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1473138659", + "id": 1473138659, + "in_reply_to_id": 1473083677, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xzk_j", + "original_commit_id": "55affa23d4e7d3adaec6a89b071d7c8de9f7ce9d", + "original_line": 4315, + "original_position": 8, + "original_start_line": null, + "path": "runtime/doc/lua.txt", + "position": null, + "pull_request_review_id": 1854291015, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27097", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473138659/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T17:07:11Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473138659", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", + "events_url": "https://api.github.com/users/altermo/events{/privacy}", + "followers_url": "https://api.github.com/users/altermo/followers", + "following_url": "https://api.github.com/users/altermo/following{/other_user}", + "gists_url": "https://api.github.com/users/altermo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/altermo", + "id": 107814000, + "login": "altermo", + "node_id": "U_kgDOBm0ccA", + "organizations_url": "https://api.github.com/users/altermo/orgs", + "received_events_url": "https://api.github.com/users/altermo/received_events", + "repos_url": "https://api.github.com/users/altermo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/altermo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/altermo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/altermo" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27097#discussion_r1474028649" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27097" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474028649" + } + }, + "author_association": "MEMBER", + "body": "This is not a proper tag. Can we do `vim.tohtml.tohtml()`? Also, `vim.tohtml` or `tohtml`?", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", + "created_at": "2024-02-01T08:44:59Z", + "diff_hunk": "@@ -4308,4 +4308,46 @@ vim.text.hexencode({str}) *vim.text.hexencode()*\n Return: ~\n (`string`) Hex encoded string\n \n+\n+==============================================================================\n+Lua module: vim.tohtml *vim.tohtml*\n+\n+tohtml({winid}, {outfile}, {opt}) *require\"tohtml\".tohtml()*", + "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1474028649", + "id": 1474028649, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X2-Rp", + "original_commit_id": "5f75ef4b3d210582d019652c58b875a9e971d336", + "original_line": 4315, + "original_position": 8, + "original_start_line": null, + "path": "runtime/doc/lua.txt", + "position": null, + "pull_request_review_id": 1855868398, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27097", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474028649/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T08:52:17Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474028649", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27097#discussion_r1474029605" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27097" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474029605" + } + }, + "author_association": "MEMBER", + "body": "also here", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", + "created_at": "2024-02-01T08:45:31Z", + "diff_hunk": "@@ -4308,4 +4308,46 @@ vim.text.hexencode({str}) *vim.text.hexencode()*\n Return: ~\n (`string`) Hex encoded string\n \n+\n+==============================================================================\n+Lua module: vim.tohtml *vim.tohtml*\n+\n+tohtml({winid}, {outfile}, {opt}) *require\"tohtml\".tohtml()*\n+ Converts a window to HTML.\n+\n+ Converts a window to HTML, including diffs and folds. Opens a slit window\n+ containing the converted HTML. *convert-to-HTML*\n+\n+ Can also be converted with `:TOhtml` . *:TOhtml*\n+\n+ Parameters: ~\n+ • {winid} (`integer?`) Defaults to current window.\n+ • {outfile} (`string?`) Defaults to a temp file.\n+ • {opt} (`table?`) Optional parameters.\n+ • title (string): Title of the html (defaults to buffer\n+ name)\n+ • number_lines (boolean): Show line numbers (defaults to\n+ `false`)\n+ • font (string|string[]): Fonts to use (defaults to\n+ `guifont`)\n+ • width (integer): Width of the html (defaults to\n+ 'textwidth' or window width)\n+\n+tohtml_lines({winid}, {opt}) *require\"tohtml\".tohtml_lines()*", + "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1474029605", + "id": 1474029605, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X2-gl", + "original_commit_id": "5f75ef4b3d210582d019652c58b875a9e971d336", + "original_line": 4336, + "original_position": 29, + "original_start_line": null, + "path": "runtime/doc/lua.txt", + "position": null, + "pull_request_review_id": 1855868398, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27097", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474029605/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T08:52:17Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474029605", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27097#discussion_r1474030821" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27097" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474030821" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n have been removed. Some Nvim-specific features were added, such as treesitter support.\r\n```\r\n(with linewrap & whitespace changes)", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", + "created_at": "2024-02-01T08:46:14Z", + "diff_hunk": "@@ -116,6 +116,9 @@ The following changes may require adaptations in user config or plugins.\n upstream tree-sitter and Helix to make it easier to share queries. The full\n list is documented in |treesitter-highlight-groups|.\n \n+• |:TOhtml| has been totally rewritten in Lua. Many legacy and (what we deem)\n+ unnecessary options have been removed and some of the less used features\n+ have been removed. Some features were adder like treesitter support.", + "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1474030821", + "id": 1474030821, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X2-zl", + "original_commit_id": "5f75ef4b3d210582d019652c58b875a9e971d336", + "original_line": 121, + "original_position": 6, + "original_start_line": null, + "path": "runtime/doc/news.txt", + "position": null, + "pull_request_review_id": 1855868398, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27097", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474030821/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T08:52:17Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474030821", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27097#discussion_r1474034787" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27097" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474034787" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n it('highlight attributes generated', function()\r\n```", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", + "created_at": "2024-02-01T08:48:28Z", + "diff_hunk": "@@ -0,0 +1,349 @@\n+local Screen = require('test.functional.ui.screen')\n+local helpers = require('test.functional.helpers')(after_each)\n+\n+local clear = helpers.clear\n+local exec = helpers.exec\n+local exec_lua = helpers.exec_lua\n+local eq = helpers.eq\n+local fn = helpers.fn\n+local api = helpers.api\n+local insert = helpers.insert\n+\n+local function html_syntax_match()\n+ local styles =\n+ vim.split(api.nvim_exec2([[/',\n+ '',\n+ '',\n+ '
',\n+      'line',\n+      '',\n+      '
',\n+ '',\n+ '',\n+ }, fn.readfile(out_file))\n+ end)\n+\n+ it('highlgith attributes generated', function()", + "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1474034787", + "id": 1474034787, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X2_xj", + "original_commit_id": "5f75ef4b3d210582d019652c58b875a9e971d336", + "original_line": 166, + "original_position": 166, + "original_start_line": null, + "path": "test/functional/plugin/tohtml_spec.lua", + "position": null, + "pull_request_review_id": 1855868398, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27097", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474034787/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T08:52:17Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474034787", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27097#discussion_r1474044842" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27097" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474044842" + } + }, + "author_association": "MEMBER", + "body": "I think this text can be significantly shortened; no need to give rationale here.", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", + "created_at": "2024-02-01T08:53:42Z", + "diff_hunk": "@@ -116,6 +116,9 @@ The following changes may require adaptations in user config or plugins.\n upstream tree-sitter and Helix to make it easier to share queries. The full\n list is documented in |treesitter-highlight-groups|.\n \n+• |:TOhtml| has been totally rewritten in Lua. Many legacy and (what we deem)\n+ unnecessary options have been removed and some of the less used features\n+ have been removed. Some features were adder like treesitter support.", + "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1474044842", + "id": 1474044842, + "in_reply_to_id": 1474030821, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X3COq", + "original_commit_id": "5f75ef4b3d210582d019652c58b875a9e971d336", + "original_line": 121, + "original_position": 6, + "original_start_line": null, + "path": "runtime/doc/news.txt", + "position": null, + "pull_request_review_id": 1855897239, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27097", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474044842/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T08:53:42Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474044842", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27097#discussion_r1474084409" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27097" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474084409" + } + }, + "author_association": "CONTRIBUTOR", + "body": "tohtml is more of an external plugin so `tohtml` instead of `vim.tohtml`.", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", + "created_at": "2024-02-01T09:17:08Z", + "diff_hunk": "@@ -4308,4 +4308,46 @@ vim.text.hexencode({str}) *vim.text.hexencode()*\n Return: ~\n (`string`) Hex encoded string\n \n+\n+==============================================================================\n+Lua module: vim.tohtml *vim.tohtml*\n+\n+tohtml({winid}, {outfile}, {opt}) *require\"tohtml\".tohtml()*", + "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1474084409", + "id": 1474084409, + "in_reply_to_id": 1474028649, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X3L45", + "original_commit_id": "5f75ef4b3d210582d019652c58b875a9e971d336", + "original_line": 4315, + "original_position": 8, + "original_start_line": null, + "path": "runtime/doc/lua.txt", + "position": null, + "pull_request_review_id": 1855960050, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27097", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474084409/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T09:17:08Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474084409", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", + "events_url": "https://api.github.com/users/altermo/events{/privacy}", + "followers_url": "https://api.github.com/users/altermo/followers", + "following_url": "https://api.github.com/users/altermo/following{/other_user}", + "gists_url": "https://api.github.com/users/altermo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/altermo", + "id": 107814000, + "login": "altermo", + "node_id": "U_kgDOBm0ccA", + "organizations_url": "https://api.github.com/users/altermo/orgs", + "received_events_url": "https://api.github.com/users/altermo/received_events", + "repos_url": "https://api.github.com/users/altermo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/altermo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/altermo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/altermo" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27097#discussion_r1474137219" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27097" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474137219" + } + }, + "author_association": "MEMBER", + "body": "I don't think we need two functions here, one should be enough. Adding a light wrapper that just writes to a file isn't worth extra surface area IMO.\r\n\r\nFrom what I understand, the goal is provide a `:Tohtml` ex command. If so, the ex command should take an output file name as an argument, and internally use `vim.tohtml()` which just outputs a string.", + "commit_id": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", + "created_at": "2024-02-01T09:47:30Z", + "diff_hunk": "@@ -4308,4 +4308,46 @@ vim.text.hexencode({str}) *vim.text.hexencode()*\n Return: ~\n (`string`) Hex encoded string\n \n+\n+==============================================================================\n+Lua module: tohtml *tohtml*\n+\n+tohtml({winid}, {outfile}, {opt}) *tohtml.tohtml()*\n+ Converts a window to HTML.\n+\n+ Converts a window to HTML, including diffs and folds. Opens a slit window\n+ containing the converted HTML. *convert-to-HTML*\n+\n+ Can also be converted with `:TOhtml` . *:TOhtml*\n+\n+ Parameters: ~\n+ • {winid} (`integer?`) Defaults to current window.\n+ • {outfile} (`string?`) Defaults to a temp file.\n+ • {opt} (`table?`) Optional parameters.\n+ • title (string): Title of the html (defaults to buffer\n+ name)\n+ • number_lines (boolean): Show line numbers (defaults to\n+ `false`)\n+ • font (string|string[]): Fonts to use (defaults to\n+ `guifont`)\n+ • width (integer): Width of the html (defaults to\n+ 'textwidth' or window width)\n+\n+tohtml_lines({winid}, {opt}) *tohtml.tohtml_lines()*", + "html_url": "https://github.com/neovim/neovim/pull/27097#discussion_r1474137219", + "id": 1474137219, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X3YyD", + "original_commit_id": "7c7080cc4c8912adc7126e71eea28406c93e834a", + "original_line": 4336, + "original_position": 29, + "original_start_line": null, + "path": "runtime/doc/lua.txt", + "position": null, + "pull_request_review_id": 1856031918, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27097", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474137219/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T09:47:35Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474137219", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } } ], "comment_regular_data": [ @@ -2016,7 +3244,7 @@ "contents_url": "https://api.github.com/repos/altermo/neovim-fork/contents/{+path}", "contributors_url": "https://api.github.com/repos/altermo/neovim-fork/contributors", "created_at": "2023-09-13T06:55:17Z", - "default_branch": "master", + "default_branch": "DONT-USE-THIS-AS-SOURCE-WHEN-CREATING-NEW-BRANCH", "deployments_url": "https://api.github.com/repos/altermo/neovim-fork/deployments", "description": null, "disabled": false, @@ -2062,8 +3290,8 @@ "name": "neovim-fork", "node_id": "R_kgDOKS628w", "notifications_url": "https://api.github.com/repos/altermo/neovim-fork/notifications{?since,all,participating}", - "open_issues": 0, - "open_issues_count": 0, + "open_issues": 1, + "open_issues_count": 1, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", "events_url": "https://api.github.com/users/altermo/events{/privacy}", @@ -2086,9 +3314,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/altermo/neovim-fork/pulls{/number}", - "pushed_at": "2024-01-27T14:09:03Z", + "pushed_at": "2024-02-05T17:19:10Z", "releases_url": "https://api.github.com/repos/altermo/neovim-fork/releases{/id}", - "size": 244772, + "size": 245987, "ssh_url": "git@github.com:altermo/neovim-fork.git", "stargazers_count": 1, "stargazers_url": "https://api.github.com/repos/altermo/neovim-fork/stargazers", @@ -2107,7 +3335,7 @@ "watchers_count": 1, "web_commit_signoff_required": false }, - "sha": "a42e7ab5c557f8df9851e3bd2e3870944343f977", + "sha": "08e4d99e5dec99e3f7c965ba0a5915601842ea26", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", "events_url": "https://api.github.com/users/altermo/events{/privacy}", @@ -2132,9 +3360,19 @@ "html_url": "https://github.com/neovim/neovim/pull/27097", "id": 1688162680, "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27097", - "labels": [], + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "funtime", + "id": 120251370, + "name": "runtime", + "node_id": "MDU6TGFiZWwxMjAyNTEzNzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/runtime" + } + ], "locked": false, - "merge_commit_sha": "fc222ad925341e3dd5e3e08b3dbf704aeed46e07", + "merge_commit_sha": "894dc7a7994353796041429d8aa2ac9ed4e9f4da", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5kn1F4", @@ -2145,9 +3383,9 @@ "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27097/comments", "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/a42e7ab5c557f8df9851e3bd2e3870944343f977", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/08e4d99e5dec99e3f7c965ba0a5915601842ea26", "title": "feat!: rewrite TOhtml in lua", - "updated_at": "2024-01-27T14:21:40Z", + "updated_at": "2024-02-02T22:29:45Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/27097", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", diff --git a/repositories/neovim/pulls/27122.json b/repositories/neovim/pulls/27122.json index 3e53689b..65514d3d 100644 --- a/repositories/neovim/pulls/27122.json +++ b/repositories/neovim/pulls/27122.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5174, - "forks_count": 5174, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1735, - "open_issues_count": 1735, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-30T00:09:25Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251558, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 73268, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-30T01:30:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 73268, - "watchers_count": 73268, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "e35ae6fbc2ef47a7be1a787031072ba911f7e918", @@ -170,7 +170,7 @@ } }, "body": "Problem: Marks moved by undo may be lost to \"b_signcols.count\".\r\nSolution: Count signs for each undo object separately instead of\r\n once for the entire undo.", - "closed_at": null, + "closed_at": "2024-02-01T17:52:12Z", "comment_data": [ { "_links": { @@ -468,9 +468,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/luukvbaal/neovim/pulls{/number}", - "pushed_at": "2024-01-27T12:07:36Z", + "pushed_at": "2024-02-03T03:21:13Z", "releases_url": "https://api.github.com/repos/luukvbaal/neovim/releases{/id}", - "size": 247515, + "size": 248082, "ssh_url": "git@github.com:luukvbaal/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/luukvbaal/neovim/stargazers", @@ -526,61 +526,20 @@ } ], "locked": false, - "merge_commit_sha": "44908c8ef288856104334f029daa6e638a0cfc67", - "merged_at": null, + "merge_commit_sha": "05fd70f19b39519985000141d022971e37d66189", + "merged_at": "2024-02-01T17:52:12Z", "milestone": null, "node_id": "PR_kwDOAPphoM5kq3EJ", "number": 27122, "patch_url": "https://github.com/neovim/neovim/pull/27122.patch", - "requested_reviewers": [ - { - "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", - "events_url": "https://api.github.com/users/bfredl/events{/privacy}", - "followers_url": "https://api.github.com/users/bfredl/followers", - "following_url": "https://api.github.com/users/bfredl/following{/other_user}", - "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", - "gravatar_id": "", - "html_url": "https://github.com/bfredl", - "id": 1363104, - "login": "bfredl", - "node_id": "MDQ6VXNlcjEzNjMxMDQ=", - "organizations_url": "https://api.github.com/users/bfredl/orgs", - "received_events_url": "https://api.github.com/users/bfredl/received_events", - "repos_url": "https://api.github.com/users/bfredl/repos", - "site_admin": false, - "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", - "type": "User", - "url": "https://api.github.com/users/bfredl" - }, - { - "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", - "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", - "followers_url": "https://api.github.com/users/lewis6991/followers", - "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", - "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", - "gravatar_id": "", - "html_url": "https://github.com/lewis6991", - "id": 7904185, - "login": "lewis6991", - "node_id": "MDQ6VXNlcjc5MDQxODU=", - "organizations_url": "https://api.github.com/users/lewis6991/orgs", - "received_events_url": "https://api.github.com/users/lewis6991/received_events", - "repos_url": "https://api.github.com/users/lewis6991/repos", - "site_admin": false, - "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", - "type": "User", - "url": "https://api.github.com/users/lewis6991" - } - ], + "requested_reviewers": [], "requested_teams": [], "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27122/comments", - "state": "open", + "state": "closed", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/b50fdcba4a1dadda5db7cfb527471b9956768ac2", "title": "fix(column): clear \"b_signcols\" before moving saved marks", - "updated_at": "2024-01-27T19:25:59Z", + "updated_at": "2024-02-01T17:52:27Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/27122", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/31730729?v=4", diff --git a/repositories/neovim/pulls/27132.json b/repositories/neovim/pulls/27132.json index 70a8c37c..46400c35 100644 --- a/repositories/neovim/pulls/27132.json +++ b/repositories/neovim/pulls/27132.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/27132" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/d9966e8a56ad974f0a11d999f08a8489ed31bfe7" + "href": "https://api.github.com/repos/neovim/neovim/statuses/1d3c988e5d96d8be8b1190e4d6566d101a6b26a5" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5174, - "forks_count": 5174, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1735, - "open_issues_count": 1735, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-30T00:09:25Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251558, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 73268, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-30T01:30:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 73268, - "watchers_count": 73268, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, - "sha": "15e77a56b711102fdc123e15b3f37d49bc0b1df1", + "sha": "9f15a18fa57f540cb3d0d9d2f45d872038e6f990", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -169,9 +169,78 @@ "url": "https://api.github.com/users/neovim" } }, - "body": "Tree-sitter queries can add URLs to a capture using the `#set!` directive, e.g.\r\n\r\n (inline_link\r\n (link_text) @text.reference\r\n (link_destination) @text.uri\r\n (#set! @text.reference \"url\" @text.uri))\r\n\r\nIn the example above, using `@text.uri` as the value of the `#set!` directive places the capture index of `@text.uri` in the metadata table. In order to get the URL text we must get the node text from the given capture index. To support this the treesitter highlighter must be updated to use `iter_matches` instead of `iter_captures`.\r\n\r\n---\r\n\r\nBlocked by:\r\n\r\n- [x] https://github.com/neovim/neovim/pull/27131\r\n- [x] https://github.com/neovim/neovim/pull/27109\r\n- [ ] https://github.com/neovim/neovim/pull/17099 or https://github.com/neovim/neovim/pull/24738\r\n", + "body": "Tree-sitter queries can add URLs to a capture using the `#set!` directive, e.g.\r\n\r\n (inline_link\r\n (link_text) @text.reference\r\n (link_destination) @text.uri\r\n (#set! @text.reference \"url\" @text.uri))\r\n\r\nIn the example above, using `@text.uri` as the value of the `#set!` directive places the capture index of `@text.uri` in the metadata table. In order to get the URL text we must get the node text from the given capture index. To support this the treesitter highlighter must be updated to use `iter_matches` instead of `iter_captures`.\r\n\r\n---\r\n\r\nBlocked by:\r\n\r\n- [x] https://github.com/neovim/neovim/pull/27131\r\n- [x] https://github.com/neovim/neovim/pull/27109\r\n- [X] ~~https://github.com/neovim/neovim/pull/17099 or https://github.com/neovim/neovim/pull/24738~~ No longer needed\r\n", "closed_at": null, - "comment_data": [], + "comment_data": [ + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27132#discussion_r1470590334" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27132" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470590334" + } + }, + "author_association": "MEMBER", + "body": "Are we sure `state.highlighter_query:query()` won't be nil?", + "commit_id": "1d3c988e5d96d8be8b1190e4d6566d101a6b26a5", + "created_at": "2024-01-30T04:55:34Z", + "diff_hunk": "@@ -259,19 +259,21 @@ local function on_line_impl(self, buf, line, is_spell_nav)\n \n if state.iter == nil or state.next_row < line then\n state.iter =\n- state.highlighter_query:query():iter_captures(root_node, self.bufnr, line, root_end_row + 1)\n+ state.highlighter_query:query():iter_matches(root_node, self.bufnr, line, root_end_row + 1)", + "html_url": "https://github.com/neovim/neovim/pull/27132#discussion_r1470590334", + "id": 1470590334, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xp21-", + "original_commit_id": "d9966e8a56ad974f0a11d999f08a8489ed31bfe7", + "original_line": 262, + "original_position": 5, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/highlighter.lua", + "position": null, + "pull_request_review_id": 1850227084, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27132", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470590334/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-30T04:56:57Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470590334", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + } + ], "comment_regular_data": [ { "author_association": "CONTRIBUTOR", @@ -260,6 +329,50 @@ "type": "User", "url": "https://api.github.com/users/gpanders" } + }, + { + "author_association": "MEMBER", + "body": "In discussion on Matrix @wookayin brought up a very good point: can we use the `match` table in `iter_captures` and avoid moving to `iter_matches`?\r\n\r\nIt turns out, we can! `iter_captures` already includes the `match` table which maps capture ids to nodes, which is exactly what we need to support directives that use captures as values (as `#set!` does to set URLs). All we have to do is return it from the `iter_captures` iterator.\r\n\r\nThis is a much simpler change and makes the path forward for this PR clear (and we can probably also revert https://github.com/neovim/neovim/pull/27131 now, since it is no longer needed).", + "created_at": "2024-01-31T02:07:55Z", + "html_url": "https://github.com/neovim/neovim/pull/27132#issuecomment-1918238282", + "id": 1918238282, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27132", + "node_id": "IC_kwDOAPphoM5yVf5K", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 1, + "laugh": 0, + "rocket": 1, + "total_count": 2, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918238282/reactions" + }, + "updated_at": "2024-01-31T02:07:55Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918238282", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } } ], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27132/comments", @@ -355,9 +468,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/gpanders/neovim/pulls{/number}", - "pushed_at": "2024-01-29T03:14:56Z", + "pushed_at": "2024-02-03T03:47:01Z", "releases_url": "https://api.github.com/repos/gpanders/neovim/releases{/id}", - "size": 246430, + "size": 246409, "ssh_url": "git@github.com:gpanders/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/gpanders/neovim/stargazers", @@ -376,7 +489,7 @@ "watchers_count": 0, "web_commit_signoff_required": false }, - "sha": "d9966e8a56ad974f0a11d999f08a8489ed31bfe7", + "sha": "1d3c988e5d96d8be8b1190e4d6566d101a6b26a5", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", "events_url": "https://api.github.com/users/gpanders/events{/privacy}", @@ -413,7 +526,7 @@ } ], "locked": false, - "merge_commit_sha": "d90c3b33e6389c0dc0c7dc0928ca880b79861ffb", + "merge_commit_sha": "93483c38711151894431020cd0a2b184b570f3a2", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5ku8-t", @@ -485,9 +598,9 @@ "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27132/comments", "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/d9966e8a56ad974f0a11d999f08a8489ed31bfe7", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/1d3c988e5d96d8be8b1190e4d6566d101a6b26a5", "title": "feat(treesitter): support URLs", - "updated_at": "2024-01-29T03:25:04Z", + "updated_at": "2024-01-31T02:33:47Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/27132", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", diff --git a/repositories/neovim/pulls/27180.json b/repositories/neovim/pulls/27180.json index c489e81c..629b821f 100644 --- a/repositories/neovim/pulls/27180.json +++ b/repositories/neovim/pulls/27180.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/27180" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/4d70122844d3a138710691ccc137e64956e93cda" + "href": "https://api.github.com/repos/neovim/neovim/statuses/6095c5fab80ee8c9c6af365afad950268cca4e5d" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5174, - "forks_count": 5174, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1735, - "open_issues_count": 1735, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-30T00:09:25Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251558, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 73268, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-30T01:30:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 73268, - "watchers_count": 73268, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "47cd532bf15d81c913e2c29b4c9a14c3654f85d2", @@ -216,6 +216,50 @@ "type": "User", "url": "https://api.github.com/users/VanaIgr" } + }, + { + "author_association": "CONTRIBUTOR", + "body": "I added a check that creates a line break only if the following screen row has more space that the current row.\r\n\r\nI also kept the code that checks for a line break before the current position, since there are multiple places that start iterating from the middle of the line, and I don't know what to do with them. I renamed `skip_next_linebreak` to `lbr_skip_count`.", + "created_at": "2024-02-05T05:35:40Z", + "html_url": "https://github.com/neovim/neovim/pull/27180#issuecomment-1926265207", + "id": 1926265207, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27180", + "node_id": "IC_kwDOAPphoM5y0Hl3", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926265207/reactions" + }, + "updated_at": "2024-02-05T05:35:40Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926265207", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/65824523?v=4", + "events_url": "https://api.github.com/users/VanaIgr/events{/privacy}", + "followers_url": "https://api.github.com/users/VanaIgr/followers", + "following_url": "https://api.github.com/users/VanaIgr/following{/other_user}", + "gists_url": "https://api.github.com/users/VanaIgr/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/VanaIgr", + "id": 65824523, + "login": "VanaIgr", + "node_id": "MDQ6VXNlcjY1ODI0NTIz", + "organizations_url": "https://api.github.com/users/VanaIgr/orgs", + "received_events_url": "https://api.github.com/users/VanaIgr/received_events", + "repos_url": "https://api.github.com/users/VanaIgr/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/VanaIgr/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/VanaIgr/subscriptions", + "type": "User", + "url": "https://api.github.com/users/VanaIgr" + } } ], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27180/comments", @@ -248,8 +292,8 @@ "downloads_url": "https://api.github.com/repos/VanaIgr/neovim/downloads", "events_url": "https://api.github.com/repos/VanaIgr/neovim/events", "fork": true, - "forks": 0, - "forks_count": 0, + "forks": 1, + "forks_count": 1, "forks_url": "https://api.github.com/repos/VanaIgr/neovim/forks", "full_name": "VanaIgr/neovim", "git_commits_url": "https://api.github.com/repos/VanaIgr/neovim/git/commits{/sha}", @@ -311,9 +355,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/VanaIgr/neovim/pulls{/number}", - "pushed_at": "2024-01-29T05:25:01Z", + "pushed_at": "2024-02-05T20:36:32Z", "releases_url": "https://api.github.com/repos/VanaIgr/neovim/releases{/id}", - "size": 245009, + "size": 245977, "ssh_url": "git@github.com:VanaIgr/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/VanaIgr/neovim/stargazers", @@ -332,7 +376,7 @@ "watchers_count": 0, "web_commit_signoff_required": false }, - "sha": "4d70122844d3a138710691ccc137e64956e93cda", + "sha": "6095c5fab80ee8c9c6af365afad950268cca4e5d", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/65824523?v=4", "events_url": "https://api.github.com/users/VanaIgr/events{/privacy}", @@ -359,7 +403,7 @@ "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27180", "labels": [], "locked": false, - "merge_commit_sha": "490c0a8e2aac34aef8ac28539f4cb7266a0d2593", + "merge_commit_sha": "3f343231e2f272ac5e7bad51b7ac89334c4ac965", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5k-6Rv", @@ -370,9 +414,9 @@ "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27180/comments", "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/4d70122844d3a138710691ccc137e64956e93cda", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/6095c5fab80ee8c9c6af365afad950268cca4e5d", "title": "fix(linebreak): fix extra line breaks with tabs", - "updated_at": "2024-01-28T21:53:34Z", + "updated_at": "2024-02-05T05:35:42Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/27180", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/65824523?v=4", diff --git a/repositories/neovim/pulls/27194.json b/repositories/neovim/pulls/27194.json index b39d2fcd..1330ba05 100644 --- a/repositories/neovim/pulls/27194.json +++ b/repositories/neovim/pulls/27194.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/27194" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/f9ea73bad3e383e0f971c8131cd55d758e2f5ccb" + "href": "https://api.github.com/repos/neovim/neovim/statuses/535eff8a305921e6bce1dcb6d1b2878f01e4c712" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5174, - "forks_count": 5174, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1735, - "open_issues_count": 1735, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-30T00:09:25Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251558, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 73268, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-30T01:30:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 73268, - "watchers_count": 73268, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, - "sha": "be5cf338362244a944cdeebf07520f85d7d93226", + "sha": "43661a0abf6e1698516d78e6dbf9dfdbf76720bc", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -186,7 +186,7 @@ }, "author_association": "MEMBER", "body": "We can also consider changing the name of the class this time, prefixing it like `vim.treesitter.query.Query`. It was introduced in #20142 (v0.8.0).", - "commit_id": "f9ea73bad3e383e0f971c8131cd55d758e2f5ccb", + "commit_id": "535eff8a305921e6bce1dcb6d1b2878f01e4c712", "created_at": "2024-01-25T19:11:39Z", "diff_hunk": "@@ -1,17 +1,14 @@\n local api = vim.api\n local language = require('vim.treesitter.language')\n \n+---Parsed query, see |vim.treesitter.query.parse()|\n ---@class Query", "html_url": "https://github.com/neovim/neovim/pull/27194#discussion_r1466812895", @@ -254,7 +254,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n • `info.patterns` contains information about predicates. See TSQueryInfo.\r\n```", - "commit_id": "f9ea73bad3e383e0f971c8131cd55d758e2f5ccb", + "commit_id": "535eff8a305921e6bce1dcb6d1b2878f01e4c712", "created_at": "2024-01-27T03:12:02Z", "diff_hunk": "@@ -1054,8 +1054,8 @@ parse({lang}, {query}) *vim.treesitter.query.parse()*\n \n Exposes `info` and `captures` with additional context about {query}.\n • `captures` contains the list of unique capture names defined in {query}.\n- -`info.captures` also points to `captures`.\n- • `info.patterns` contains information about predicates.\n+ • `info.captures` also points to `captures`.\n+ • `info.patterns` contains information about predicates. see TSQueryInfo.", "html_url": "https://github.com/neovim/neovim/pull/27194#discussion_r1468288530", @@ -322,7 +322,7 @@ }, "author_association": "MEMBER", "body": "Might sound obvious, but I think it's worth it to also mention that a string represents a predicate.", - "commit_id": "f9ea73bad3e383e0f971c8131cd55d758e2f5ccb", + "commit_id": "535eff8a305921e6bce1dcb6d1b2878f01e4c712", "created_at": "2024-01-27T03:13:25Z", "diff_hunk": "@@ -62,19 +63,38 @@ function TSNode:_rawquery(query, captures, start, end_, opts) end\n ---@field _set_logger fun(self: TSParser, lex: boolean, parse: boolean, cb: TSLoggerCallback)\n ---@field _logger fun(self: TSParser): TSLoggerCallback\n \n----@class TSTree\n+---@class TSTree: userdata\n ---@field root fun(self: TSTree): TSNode\n ---@field edit fun(self: TSTree, _: integer, _: integer, _: integer, _: integer, _: integer, _: integer, _: integer, _: integer, _:integer)\n ---@field copy fun(self: TSTree): TSTree\n ---@field included_ranges fun(self: TSTree, include_bytes: true): Range6[]\n ---@field included_ranges fun(self: TSTree, include_bytes: false): Range4[]\n \n+---@class TSQuery: userdata\n+---@field inspect fun(self: TSQuery): TSQueryInfo\n+\n+---Information for Query, see |vim.treesitter.query.parse()|\n+---@class TSQueryInfo\n+---\n+---List of (unique) capture names defined in query.\n+---@field captures string[]\n+---\n+---Contains information about predicates and directives.\n+---Key is pattern id, and value is list of predicates or directives defined in the pattern.\n+---A predicate or directive is a list of (integer|string); integer represents `capture_id`.", "html_url": "https://github.com/neovim/neovim/pull/27194#discussion_r1468288664", @@ -390,7 +390,7 @@ }, "author_association": "MEMBER", "body": "I added them, thanks for the suggestion. This is not currently exported to vimdoc (class, not a function; maybe in some day it could :D), but would be still useful for developers with Lua LSP.\r\n\r\nMore docs about predicates/directives will be added in #26721.", - "commit_id": "f9ea73bad3e383e0f971c8131cd55d758e2f5ccb", + "commit_id": "535eff8a305921e6bce1dcb6d1b2878f01e4c712", "created_at": "2024-01-27T03:29:00Z", "diff_hunk": "@@ -62,19 +63,38 @@ function TSNode:_rawquery(query, captures, start, end_, opts) end\n ---@field _set_logger fun(self: TSParser, lex: boolean, parse: boolean, cb: TSLoggerCallback)\n ---@field _logger fun(self: TSParser): TSLoggerCallback\n \n----@class TSTree\n+---@class TSTree: userdata\n ---@field root fun(self: TSTree): TSNode\n ---@field edit fun(self: TSTree, _: integer, _: integer, _: integer, _: integer, _: integer, _: integer, _: integer, _: integer, _:integer)\n ---@field copy fun(self: TSTree): TSTree\n ---@field included_ranges fun(self: TSTree, include_bytes: true): Range6[]\n ---@field included_ranges fun(self: TSTree, include_bytes: false): Range4[]\n \n+---@class TSQuery: userdata\n+---@field inspect fun(self: TSQuery): TSQueryInfo\n+\n+---Information for Query, see |vim.treesitter.query.parse()|\n+---@class TSQueryInfo\n+---\n+---List of (unique) capture names defined in query.\n+---@field captures string[]\n+---\n+---Contains information about predicates and directives.\n+---Key is pattern id, and value is list of predicates or directives defined in the pattern.\n+---A predicate or directive is a list of (integer|string); integer represents `capture_id`.", "html_url": "https://github.com/neovim/neovim/pull/27194#discussion_r1468294995", @@ -459,7 +459,7 @@ }, "author_association": "MEMBER", "body": "Got it, thanks for the link :)", - "commit_id": "f9ea73bad3e383e0f971c8131cd55d758e2f5ccb", + "commit_id": "535eff8a305921e6bce1dcb6d1b2878f01e4c712", "created_at": "2024-01-27T03:46:50Z", "diff_hunk": "@@ -62,19 +63,38 @@ function TSNode:_rawquery(query, captures, start, end_, opts) end\n ---@field _set_logger fun(self: TSParser, lex: boolean, parse: boolean, cb: TSLoggerCallback)\n ---@field _logger fun(self: TSParser): TSLoggerCallback\n \n----@class TSTree\n+---@class TSTree: userdata\n ---@field root fun(self: TSTree): TSNode\n ---@field edit fun(self: TSTree, _: integer, _: integer, _: integer, _: integer, _: integer, _: integer, _: integer, _: integer, _:integer)\n ---@field copy fun(self: TSTree): TSTree\n ---@field included_ranges fun(self: TSTree, include_bytes: true): Range6[]\n ---@field included_ranges fun(self: TSTree, include_bytes: false): Range4[]\n \n+---@class TSQuery: userdata\n+---@field inspect fun(self: TSQuery): TSQueryInfo\n+\n+---Information for Query, see |vim.treesitter.query.parse()|\n+---@class TSQueryInfo\n+---\n+---List of (unique) capture names defined in query.\n+---@field captures string[]\n+---\n+---Contains information about predicates and directives.\n+---Key is pattern id, and value is list of predicates or directives defined in the pattern.\n+---A predicate or directive is a list of (integer|string); integer represents `capture_id`.", "html_url": "https://github.com/neovim/neovim/pull/27194#discussion_r1468298798", @@ -513,6 +513,485 @@ "type": "User", "url": "https://api.github.com/users/MariaSolOs" } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27194#discussion_r1470586432" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27194" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470586432" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n search nodes in the syntax tree for the patterns defined in {query} using the\r\n```", + "commit_id": "535eff8a305921e6bce1dcb6d1b2878f01e4c712", + "created_at": "2024-01-30T04:48:36Z", + "diff_hunk": "@@ -1040,20 +1041,23 @@ parse({lang}, {query}) *vim.treesitter.query.parse()*\n read the contents into a string before calling).\n \n Returns a `Query` (see |lua-treesitter-query|) object which can be used to\n- search nodes in the syntax tree for the patterns defined in {query} using `iter_*` methods\n- below.\n+ search nodes in the syntax tree for the patterns defined in {query} using", + "html_url": "https://github.com/neovim/neovim/pull/27194#discussion_r1470586432", + "id": 1470586432, + "line": 1044, + "node_id": "PRRC_kwDOAPphoM5Xp15A", + "original_commit_id": "f9ea73bad3e383e0f971c8131cd55d758e2f5ccb", + "original_line": 1044, + "original_position": 16, + "original_start_line": null, + "path": "runtime/doc/treesitter.txt", + "position": 16, + "pull_request_review_id": 1850221642, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27194", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470586432/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-30T04:53:44Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470586432", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27194#discussion_r1470587336" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27194" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470587336" + } + }, + "author_association": "MEMBER", + "body": "What does `(exact)` mean?", + "commit_id": "535eff8a305921e6bce1dcb6d1b2878f01e4c712", + "created_at": "2024-01-30T04:50:21Z", + "diff_hunk": "@@ -62,19 +63,31 @@ function TSNode:_rawquery(query, captures, start, end_, opts) end\n ---@field _set_logger fun(self: TSParser, lex: boolean, parse: boolean, cb: TSLoggerCallback)\n ---@field _logger fun(self: TSParser): TSLoggerCallback\n \n----@class TSTree\n+---@class TSTree: userdata\n ---@field root fun(self: TSTree): TSNode\n ---@field edit fun(self: TSTree, _: integer, _: integer, _: integer, _: integer, _: integer, _: integer, _: integer, _: integer, _:integer)\n ---@field copy fun(self: TSTree): TSTree\n ---@field included_ranges fun(self: TSTree, include_bytes: true): Range6[]\n ---@field included_ranges fun(self: TSTree, include_bytes: false): Range4[]\n \n+---@class TSQuery: userdata\n+---@field inspect fun(self: TSQuery): TSQueryInfo\n+\n+---@class (exact) TSQueryInfo", + "html_url": "https://github.com/neovim/neovim/pull/27194#discussion_r1470587336", + "id": 1470587336, + "line": 76, + "node_id": "PRRC_kwDOAPphoM5Xp2HI", + "original_commit_id": "f9ea73bad3e383e0f971c8131cd55d758e2f5ccb", + "original_line": 76, + "original_position": 51, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/_meta.lua", + "position": 51, + "pull_request_review_id": 1850221642, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27194", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470587336/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-30T04:53:44Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470587336", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27194#discussion_r1470587735" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27194" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470587735" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n---@field info vim.treesitter.query.QueryInfo Contains information used in the query (e.g. captures, predicates, directives)\r\n```", + "commit_id": "535eff8a305921e6bce1dcb6d1b2878f01e4c712", + "created_at": "2024-01-30T04:51:08Z", + "diff_hunk": "@@ -1,19 +1,49 @@\n local api = vim.api\n local language = require('vim.treesitter.language')\n \n----@class Query\n----@field captures string[] List of captures used in query\n----@field info TSQueryInfo Contains used queries, predicates, directives\n----@field query userdata Parsed query\n+---@class vim.treesitter.query\n+local M = {}\n+\n+---Parsed query, see |vim.treesitter.query.parse()|\n+---\n+---@class vim.treesitter.query.Query\n+---@field lang string name of the language for this parser\n+---@field captures string[] List of (unique) capture names defined in query\n+---@field info vim.treesitter.query.QueryInfo Contains information used in the query (e.g., captures, predicates, directives)", + "html_url": "https://github.com/neovim/neovim/pull/27194#discussion_r1470587735", + "id": 1470587735, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xp2NX", + "original_commit_id": "f9ea73bad3e383e0f971c8131cd55d758e2f5ccb", + "original_line": 12, + "original_position": 16, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/query.lua", + "position": null, + "pull_request_review_id": 1850221642, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27194", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470587735/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-30T04:53:44Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470587735", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27194#discussion_r1470639304" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27194" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470639304" + } + }, + "author_association": "MEMBER", + "body": "https://luals.github.io/wiki/annotations/#class\r\n\r\nThis is a type owned by C, so no additional fields are not allowed to be written. It doesn't matter to have `(exact)` or not, I just wanted to make it more ensured.", + "commit_id": "535eff8a305921e6bce1dcb6d1b2878f01e4c712", + "created_at": "2024-01-30T06:12:48Z", + "diff_hunk": "@@ -62,19 +63,31 @@ function TSNode:_rawquery(query, captures, start, end_, opts) end\n ---@field _set_logger fun(self: TSParser, lex: boolean, parse: boolean, cb: TSLoggerCallback)\n ---@field _logger fun(self: TSParser): TSLoggerCallback\n \n----@class TSTree\n+---@class TSTree: userdata\n ---@field root fun(self: TSTree): TSNode\n ---@field edit fun(self: TSTree, _: integer, _: integer, _: integer, _: integer, _: integer, _: integer, _: integer, _: integer, _:integer)\n ---@field copy fun(self: TSTree): TSTree\n ---@field included_ranges fun(self: TSTree, include_bytes: true): Range6[]\n ---@field included_ranges fun(self: TSTree, include_bytes: false): Range4[]\n \n+---@class TSQuery: userdata\n+---@field inspect fun(self: TSQuery): TSQueryInfo\n+\n+---@class (exact) TSQueryInfo", + "html_url": "https://github.com/neovim/neovim/pull/27194#discussion_r1470639304", + "id": 1470639304, + "in_reply_to_id": 1470587336, + "line": 76, + "node_id": "PRRC_kwDOAPphoM5XqCzI", + "original_commit_id": "f9ea73bad3e383e0f971c8131cd55d758e2f5ccb", + "original_line": 76, + "original_position": 51, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/_meta.lua", + "position": 51, + "pull_request_review_id": 1850300784, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27194", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470639304/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-30T06:12:48Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470639304", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27194#discussion_r1470654926" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27194" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470654926" + } + }, + "author_association": "MEMBER", + "body": "Oh nice! Didn't know about it :)", + "commit_id": "535eff8a305921e6bce1dcb6d1b2878f01e4c712", + "created_at": "2024-01-30T06:33:33Z", + "diff_hunk": "@@ -62,19 +63,31 @@ function TSNode:_rawquery(query, captures, start, end_, opts) end\n ---@field _set_logger fun(self: TSParser, lex: boolean, parse: boolean, cb: TSLoggerCallback)\n ---@field _logger fun(self: TSParser): TSLoggerCallback\n \n----@class TSTree\n+---@class TSTree: userdata\n ---@field root fun(self: TSTree): TSNode\n ---@field edit fun(self: TSTree, _: integer, _: integer, _: integer, _: integer, _: integer, _: integer, _: integer, _: integer, _:integer)\n ---@field copy fun(self: TSTree): TSTree\n ---@field included_ranges fun(self: TSTree, include_bytes: true): Range6[]\n ---@field included_ranges fun(self: TSTree, include_bytes: false): Range4[]\n \n+---@class TSQuery: userdata\n+---@field inspect fun(self: TSQuery): TSQueryInfo\n+\n+---@class (exact) TSQueryInfo", + "html_url": "https://github.com/neovim/neovim/pull/27194#discussion_r1470654926", + "id": 1470654926, + "in_reply_to_id": 1470587336, + "line": 76, + "node_id": "PRRC_kwDOAPphoM5XqGnO", + "original_commit_id": "f9ea73bad3e383e0f971c8131cd55d758e2f5ccb", + "original_line": 76, + "original_position": 51, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/_meta.lua", + "position": 51, + "pull_request_review_id": 1850324702, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27194", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470654926/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-30T06:33:33Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1470654926", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27194#discussion_r1475644901" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27194" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475644901" + } + }, + "author_association": "CONTRIBUTOR", + "body": "We also don't need this line anymore, since treesitter 0.20.9 is released", + "commit_id": "535eff8a305921e6bce1dcb6d1b2878f01e4c712", + "created_at": "2024-02-02T07:09:40Z", + "diff_hunk": "@@ -1119,9 +1121,11 @@ Query:iter_matches({node}, {source}, {start}, {stop}, {opts})\n Parameters: ~\n • {node} (`TSNode`) under which the search will occur\n • {source} (`integer|string`) Source buffer or string to search\n- • {start} (`integer`) Starting line for the search\n- • {stop} (`integer`) Stopping line for the search (end-exclusive)\n- • {opts} (`table?`) Options:\n+ • {start} (`integer?`) Starting line for the search. Defaults to\n+ `node:start()`.\n+ • {stop} (`integer?`) Stopping line for the search (end-exclusive).\n+ Defaults to `node:end_()`.\n+ • {opts} (`table?`) Optional keyword arguments:\n • max_start_depth (integer) if non-zero, sets the maximum\n start depth for each match. This is used to prevent\n traversing too deep into a tree. Requires treesitter >=", + "html_url": "https://github.com/neovim/neovim/pull/27194#discussion_r1475644901", + "id": 1475644901, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X9I3l", + "original_commit_id": "2baa4dff41340c54dff647d2d4de0a404c192b76", + "original_line": 1127, + "original_position": 27, + "original_start_line": null, + "path": "runtime/doc/treesitter.txt", + "position": null, + "pull_request_review_id": 1858519784, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27194", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475644901/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-02T07:09:41Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475644901", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/29790821?v=4", + "events_url": "https://api.github.com/users/lucario387/events{/privacy}", + "followers_url": "https://api.github.com/users/lucario387/followers", + "following_url": "https://api.github.com/users/lucario387/following{/other_user}", + "gists_url": "https://api.github.com/users/lucario387/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lucario387", + "id": 29790821, + "login": "lucario387", + "node_id": "MDQ6VXNlcjI5NzkwODIx", + "organizations_url": "https://api.github.com/users/lucario387/orgs", + "received_events_url": "https://api.github.com/users/lucario387/received_events", + "repos_url": "https://api.github.com/users/lucario387/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lucario387/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lucario387/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lucario387" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27194#discussion_r1475650432" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27194" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475650432" + } + }, + "author_association": "MEMBER", + "body": "Right. #27198 was merged. Thanks!", + "commit_id": "535eff8a305921e6bce1dcb6d1b2878f01e4c712", + "created_at": "2024-02-02T07:14:17Z", + "diff_hunk": "@@ -1119,9 +1121,11 @@ Query:iter_matches({node}, {source}, {start}, {stop}, {opts})\n Parameters: ~\n • {node} (`TSNode`) under which the search will occur\n • {source} (`integer|string`) Source buffer or string to search\n- • {start} (`integer`) Starting line for the search\n- • {stop} (`integer`) Stopping line for the search (end-exclusive)\n- • {opts} (`table?`) Options:\n+ • {start} (`integer?`) Starting line for the search. Defaults to\n+ `node:start()`.\n+ • {stop} (`integer?`) Stopping line for the search (end-exclusive).\n+ Defaults to `node:end_()`.\n+ • {opts} (`table?`) Optional keyword arguments:\n • max_start_depth (integer) if non-zero, sets the maximum\n start depth for each match. This is used to prevent\n traversing too deep into a tree. Requires treesitter >=", + "html_url": "https://github.com/neovim/neovim/pull/27194#discussion_r1475650432", + "id": 1475650432, + "in_reply_to_id": 1475644901, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X9KOA", + "original_commit_id": "2baa4dff41340c54dff647d2d4de0a404c192b76", + "original_line": 1127, + "original_position": 27, + "original_start_line": null, + "path": "runtime/doc/treesitter.txt", + "position": null, + "pull_request_review_id": 1858528355, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27194", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475650432/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-02T07:14:17Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475650432", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } } ], "comment_regular_data": [ @@ -533,8 +1012,8 @@ "heart": 0, "hooray": 0, "laugh": 0, - "rocket": 0, - "total_count": 0, + "rocket": 1, + "total_count": 1, "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1915679942/reactions" }, "updated_at": "2024-01-29T22:22:57Z", @@ -559,6 +1038,94 @@ "type": "User", "url": "https://api.github.com/users/wookayin" } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Can I ask for some typing changes for `iter_captures` and `iter_matches` as well? `start` and `stop` parameters are optional but currently marked as required.\r\nhttps://github.com/neovim/neovim/blob/617d1b28d6d3241199a9ea4f7e68b650549d3251/runtime/lua/vim/treesitter/query.lua#L684-L696", + "created_at": "2024-02-02T06:23:16Z", + "html_url": "https://github.com/neovim/neovim/pull/27194#issuecomment-1922969528", + "id": 1922969528, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27194", + "node_id": "IC_kwDOAPphoM5yni-4", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922969528/reactions" + }, + "updated_at": "2024-02-02T06:23:16Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922969528", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/29790821?v=4", + "events_url": "https://api.github.com/users/lucario387/events{/privacy}", + "followers_url": "https://api.github.com/users/lucario387/followers", + "following_url": "https://api.github.com/users/lucario387/following{/other_user}", + "gists_url": "https://api.github.com/users/lucario387/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lucario387", + "id": 29790821, + "login": "lucario387", + "node_id": "MDQ6VXNlcjI5NzkwODIx", + "organizations_url": "https://api.github.com/users/lucario387/orgs", + "received_events_url": "https://api.github.com/users/lucario387/received_events", + "repos_url": "https://api.github.com/users/lucario387/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lucario387/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lucario387/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lucario387" + } + }, + { + "author_association": "MEMBER", + "body": "@lucario387 Thanks for the suggestion. I think it's a good one to include in this PR (should be already good to merge but also better to fix that together as it's relevant).", + "created_at": "2024-02-02T06:54:30Z", + "html_url": "https://github.com/neovim/neovim/pull/27194#issuecomment-1923072693", + "id": 1923072693, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27194", + "node_id": "IC_kwDOAPphoM5yn8K1", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1923072693/reactions" + }, + "updated_at": "2024-02-05T11:03:45Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1923072693", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } } ], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27194/comments", @@ -654,9 +1221,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/wookayin/neovim/pulls{/number}", - "pushed_at": "2024-01-29T22:22:15Z", + "pushed_at": "2024-02-05T22:04:28Z", "releases_url": "https://api.github.com/repos/wookayin/neovim/releases{/id}", - "size": 246972, + "size": 247830, "ssh_url": "git@github.com:wookayin/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/wookayin/neovim/stargazers", @@ -675,7 +1242,7 @@ "watchers_count": 0, "web_commit_signoff_required": false }, - "sha": "f9ea73bad3e383e0f971c8131cd55d758e2f5ccb", + "sha": "535eff8a305921e6bce1dcb6d1b2878f01e4c712", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", "events_url": "https://api.github.com/users/wookayin/events{/privacy}", @@ -730,9 +1297,45 @@ } ], "locked": false, - "merge_commit_sha": "74d8eda5679e1e71a10ee2de6e9ad70832effd88", + "merge_commit_sha": "cfe0a9c36ad479483d9ae5f94030aa9e4fdf06fe", "merged_at": null, - "milestone": null, + "milestone": { + "closed_at": null, + "closed_issues": 278, + "created_at": "2023-02-02T14:11:43Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + "description": "", + "due_on": "2024-03-01T08:00:00Z", + "html_url": "https://github.com/neovim/neovim/milestone/36", + "id": 8997654, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", + "node_id": "MI_kwDOAPphoM4AiUsW", + "number": 36, + "open_issues": 138, + "state": "open", + "title": "0.10", + "updated_at": "2024-02-05T21:59:25Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/36" + }, "node_id": "PR_kwDOAPphoM5lGPim", "number": 27194, "patch_url": "https://github.com/neovim/neovim/pull/27194.patch", @@ -802,9 +1405,9 @@ "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27194/comments", "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/f9ea73bad3e383e0f971c8131cd55d758e2f5ccb", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/535eff8a305921e6bce1dcb6d1b2878f01e4c712", "title": "refactor(treesitter): add typing for Query, TSQuery, and TSQueryInfo", - "updated_at": "2024-01-29T22:25:57Z", + "updated_at": "2024-02-05T11:03:45Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/27194", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", diff --git a/repositories/neovim/pulls/27195.json b/repositories/neovim/pulls/27195.json index dd207611..3ccebd9b 100644 --- a/repositories/neovim/pulls/27195.json +++ b/repositories/neovim/pulls/27195.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/27195" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/7d675852e1b77cd4a0d1b9dbbd0d9ab848943456" + "href": "https://api.github.com/repos/neovim/neovim/statuses/5bf627a8e0043393ae96d3692d3c190fb52bc166" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5174, - "forks_count": 5174, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1735, - "open_issues_count": 1735, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-30T00:09:25Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251558, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 73268, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-30T01:30:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 73268, - "watchers_count": 73268, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, - "sha": "2cd76a758b4511748d9482e5af58162a608516b4", + "sha": "8fa67fdae539a13cf78621ab5a628da1fd745be2", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -524,6 +524,50 @@ "type": "User", "url": "https://api.github.com/users/justinmk" } + }, + { + "author_association": "NONE", + "body": "Without any changes to the API it is possible to get the value of the exit code. The channel is not destroyed until the terminal is closed.\r\n\r\nThe current API passes the following test:\r\n```\r\nit('get exit status from terminal channel after channel is already closed #14986', function()\r\n command(([[terminal \"%s\" REP 5000 xxx]]):format(testprg('shell-test')))\r\n local exitstatus = -1\r\n while exitstatus < 0 do\r\n local handle = api.nvim_get_current_buf()\r\n local chan_id = api.nvim_get_option_value('channel', { buf = handle })\r\n local channel = api.nvim_get_chan_info(chan_id)\r\n assert(channel['id'] == chan_id)\r\n exitstatus = channel['exitstatus']\r\n sleep(10)\r\n end\r\n sleep(60)\r\n eq(exitstatus, 0)\r\n end)\r\n```", + "created_at": "2024-01-31T02:47:34Z", + "html_url": "https://github.com/neovim/neovim/pull/27195#issuecomment-1918272748", + "id": 1918272748, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27195", + "node_id": "IC_kwDOAPphoM5yVoTs", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918272748/reactions" + }, + "updated_at": "2024-02-01T01:21:56Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918272748", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/51178807?v=4", + "events_url": "https://api.github.com/users/cesar-guibo/events{/privacy}", + "followers_url": "https://api.github.com/users/cesar-guibo/followers", + "following_url": "https://api.github.com/users/cesar-guibo/following{/other_user}", + "gists_url": "https://api.github.com/users/cesar-guibo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/cesar-guibo", + "id": 51178807, + "login": "cesar-guibo", + "node_id": "MDQ6VXNlcjUxMTc4ODA3", + "organizations_url": "https://api.github.com/users/cesar-guibo/orgs", + "received_events_url": "https://api.github.com/users/cesar-guibo/received_events", + "repos_url": "https://api.github.com/users/cesar-guibo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/cesar-guibo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/cesar-guibo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/cesar-guibo" + } } ], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27195/comments", @@ -619,9 +663,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/cesar-guibo/neovim/pulls{/number}", - "pushed_at": "2024-01-29T00:08:56Z", + "pushed_at": "2024-02-01T01:58:01Z", "releases_url": "https://api.github.com/repos/cesar-guibo/neovim/releases{/id}", - "size": 244873, + "size": 247817, "ssh_url": "git@github.com:cesar-guibo/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/cesar-guibo/neovim/stargazers", @@ -640,7 +684,7 @@ "watchers_count": 0, "web_commit_signoff_required": false }, - "sha": "7d675852e1b77cd4a0d1b9dbbd0d9ab848943456", + "sha": "5bf627a8e0043393ae96d3692d3c190fb52bc166", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/51178807?v=4", "events_url": "https://api.github.com/users/cesar-guibo/events{/privacy}", @@ -677,7 +721,7 @@ } ], "locked": false, - "merge_commit_sha": "104d5e403838ec1f6158c6a73841bf5cfbfb5b21", + "merge_commit_sha": "cf0a9d2bdafd3389eda0e50646fe63f861ba8d59", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5lGR_Y", @@ -688,9 +732,9 @@ "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27195/comments", "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/7d675852e1b77cd4a0d1b9dbbd0d9ab848943456", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/5bf627a8e0043393ae96d3692d3c190fb52bc166", "title": "feat(terminal): show [Process exited] message in the statusline", - "updated_at": "2024-01-30T00:40:37Z", + "updated_at": "2024-02-01T01:59:36Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/27195", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/51178807?v=4", diff --git a/repositories/neovim/pulls/27202.json b/repositories/neovim/pulls/27202.json index d175a3a4..cdb1ad1a 100644 --- a/repositories/neovim/pulls/27202.json +++ b/repositories/neovim/pulls/27202.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/0a3876aa9852671900bff35f0a35dcbc5db43a38" + "href": "https://api.github.com/repos/neovim/neovim/statuses/1c7a03f7a878d2723420a1832128478660f06051" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5174, - "forks_count": 5174, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1735, - "open_issues_count": 1735, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-30T00:09:25Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251558, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 73268, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-30T01:30:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 73268, - "watchers_count": 73268, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "6116495e6e6d3508eb99720faad7e55ba7cbe978", @@ -186,7 +186,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n--- - expand_env: (boolean) Expand environment variables (default: true)\r\n--- - unique_slash: (boolean) Remove duplicated slashes (default: true)\r\n```", - "commit_id": "0a3876aa9852671900bff35f0a35dcbc5db43a38", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", "created_at": "2024-01-26T01:19:20Z", "diff_hunk": "@@ -339,13 +339,15 @@ end\n ---@param path (string) Path to normalize\n ---@param opts table|nil Options:\n --- - expand_env: boolean Expand environment variables (default: true)\n+--- - unique_slash: boolean Remove duplicated slashes (default: true)", "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1467136389", @@ -254,7 +254,7 @@ }, "author_association": "MEMBER", "body": "The parameter name `unique_slash` sounds a bit awkward. I can suggest:\r\n- `normalize_slash` (or `normalize_slashes`)\r\n- `collapse_slash` (or `collapse_slashes`)\r\n\r\nNormalize slash would be a more common term used in other programming languages' stdlib. But feels a bit redundant verb because the method name itself is `vim.fs.normalize`. I don't yet have a strong opinion here, haven't thought about it enough.", - "commit_id": "0a3876aa9852671900bff35f0a35dcbc5db43a38", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", "created_at": "2024-01-26T01:24:15Z", "diff_hunk": "@@ -2926,6 +2926,8 @@ vim.fs.normalize({path}, {opts}) *vim.fs.normalize()*\n • {opts} (`table?`) Options:\n • expand_env: boolean Expand environment variables (default:\n true)\n+ • unique_slash: boolean Remove duplicated slashes (default:", "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1467138517", @@ -322,7 +322,7 @@ }, "author_association": "NONE", "body": "Thanks. The `expand_env` line is not a line I added but can I edit this line in my PR (or is it not a big deal)?", - "commit_id": "0a3876aa9852671900bff35f0a35dcbc5db43a38", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", "created_at": "2024-01-26T02:21:18Z", "diff_hunk": "@@ -339,13 +339,15 @@ end\n ---@param path (string) Path to normalize\n ---@param opts table|nil Options:\n --- - expand_env: boolean Expand environment variables (default: true)\n+--- - unique_slash: boolean Remove duplicated slashes (default: true)", "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1467163767", @@ -391,7 +391,7 @@ }, "author_association": "NONE", "body": "Nice one. I like `collapse_slash`.", - "commit_id": "0a3876aa9852671900bff35f0a35dcbc5db43a38", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", "created_at": "2024-01-26T02:23:06Z", "diff_hunk": "@@ -2926,6 +2926,8 @@ vim.fs.normalize({path}, {opts}) *vim.fs.normalize()*\n • {opts} (`table?`) Options:\n • expand_env: boolean Expand environment variables (default:\n true)\n+ • unique_slash: boolean Remove duplicated slashes (default:", "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1467164503", @@ -460,7 +460,7 @@ }, "author_association": "NONE", "body": "Fixed in [`0a3876a` (#27202)](https://github.com/neovim/neovim/pull/27202/commits/0a3876aa9852671900bff35f0a35dcbc5db43a38)", - "commit_id": "0a3876aa9852671900bff35f0a35dcbc5db43a38", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", "created_at": "2024-01-26T02:28:42Z", "diff_hunk": "@@ -339,13 +339,15 @@ end\n ---@param path (string) Path to normalize\n ---@param opts table|nil Options:\n --- - expand_env: boolean Expand environment variables (default: true)\n+--- - unique_slash: boolean Remove duplicated slashes (default: true)", "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1467167089", @@ -514,9 +514,1998 @@ "type": "User", "url": "https://api.github.com/users/pysan3" } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1472166672" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472166672" + } + }, + "author_association": "MEMBER", + "body": "This makes no sense. If `normalize()` doesn't trim the last slashes, like this:\r\n\r\n //home/user/\r\n\r\nthen its result won't be the same for these inputs:\r\n\r\n //home//user//\r\n //home/user/\r\n\r\nwhich defeats the purpose of normalizing. The normalized result should always be the same.", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-01-31T00:40:43Z", + "diff_hunk": "@@ -291,9 +291,18 @@ describe('vim.fs', function()\n it('works with /', function()\n eq('/', vim.fs.normalize('/'))\n end)\n+ it('works with / (opts.collapse_slash = false)', function()\n+ eq('///', vim.fs.normalize('///', { collapse_slash = false }))\n+ end)\n it('works with ~', function()\n eq(vim.fs.normalize(vim.uv.os_homedir()) .. '/src/foo', vim.fs.normalize('~/src/foo'))\n end)\n+ it('removes duplicated slashes (opts.collapse_slash = true)', function()\n+ eq('/home/user', vim.fs.normalize('//home//user//'))\n+ end)\n+ it('do not remove duplicated slashes (opts.collapse_slash = false)', function()\n+ eq('//home//user', vim.fs.normalize('//home//user//', { collapse_slash = false })) -- does remove trailing slashes", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1472166672", + "id": 1472166672, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xv3sQ", + "original_commit_id": "0a3876aa9852671900bff35f0a35dcbc5db43a38", + "original_line": 304, + "original_position": 14, + "original_start_line": null, + "path": "test/functional/lua/fs_spec.lua", + "position": null, + "pull_request_review_id": 1852686541, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472166672/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T00:40:43Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472166672", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1472168786" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472168786" + } + }, + "author_association": "NONE", + "body": "It **does** remove any amount of trailing slashes, and keeps any duplicated slashes before the end of the path. Does that make sense?", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-01-31T00:44:32Z", + "diff_hunk": "@@ -291,9 +291,18 @@ describe('vim.fs', function()\n it('works with /', function()\n eq('/', vim.fs.normalize('/'))\n end)\n+ it('works with / (opts.collapse_slash = false)', function()\n+ eq('///', vim.fs.normalize('///', { collapse_slash = false }))\n+ end)\n it('works with ~', function()\n eq(vim.fs.normalize(vim.uv.os_homedir()) .. '/src/foo', vim.fs.normalize('~/src/foo'))\n end)\n+ it('removes duplicated slashes (opts.collapse_slash = true)', function()\n+ eq('/home/user', vim.fs.normalize('//home//user//'))\n+ end)\n+ it('do not remove duplicated slashes (opts.collapse_slash = false)', function()\n+ eq('//home//user', vim.fs.normalize('//home//user//', { collapse_slash = false })) -- does remove trailing slashes", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1472168786", + "id": 1472168786, + "in_reply_to_id": 1472166672, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xv4NS", + "original_commit_id": "0a3876aa9852671900bff35f0a35dcbc5db43a38", + "original_line": 304, + "original_position": 14, + "original_start_line": null, + "path": "test/functional/lua/fs_spec.lua", + "position": null, + "pull_request_review_id": 1852689952, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472168786/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T00:44:33Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472168786", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41065736?v=4", + "events_url": "https://api.github.com/users/pysan3/events{/privacy}", + "followers_url": "https://api.github.com/users/pysan3/followers", + "following_url": "https://api.github.com/users/pysan3/following{/other_user}", + "gists_url": "https://api.github.com/users/pysan3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/pysan3", + "id": 41065736, + "login": "pysan3", + "node_id": "MDQ6VXNlcjQxMDY1NzM2", + "organizations_url": "https://api.github.com/users/pysan3/orgs", + "received_events_url": "https://api.github.com/users/pysan3/received_events", + "repos_url": "https://api.github.com/users/pysan3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/pysan3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/pysan3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/pysan3" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1472172628" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472172628" + } + }, + "author_association": "MEMBER", + "body": "No. `//home//user//` and `//home/user/` are equivalent paths, yet `normalize({collapse_slash=false})` would return different results. Why can't it return `//home/user` if the input is `//home//user//`?", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-01-31T00:50:22Z", + "diff_hunk": "@@ -291,9 +291,18 @@ describe('vim.fs', function()\n it('works with /', function()\n eq('/', vim.fs.normalize('/'))\n end)\n+ it('works with / (opts.collapse_slash = false)', function()\n+ eq('///', vim.fs.normalize('///', { collapse_slash = false }))\n+ end)\n it('works with ~', function()\n eq(vim.fs.normalize(vim.uv.os_homedir()) .. '/src/foo', vim.fs.normalize('~/src/foo'))\n end)\n+ it('removes duplicated slashes (opts.collapse_slash = true)', function()\n+ eq('/home/user', vim.fs.normalize('//home//user//'))\n+ end)\n+ it('do not remove duplicated slashes (opts.collapse_slash = false)', function()\n+ eq('//home//user', vim.fs.normalize('//home//user//', { collapse_slash = false })) -- does remove trailing slashes", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1472172628", + "id": 1472172628, + "in_reply_to_id": 1472166672, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xv5JU", + "original_commit_id": "0a3876aa9852671900bff35f0a35dcbc5db43a38", + "original_line": 304, + "original_position": 14, + "original_start_line": null, + "path": "test/functional/lua/fs_spec.lua", + "position": null, + "pull_request_review_id": 1852696351, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472172628/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T00:50:22Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472172628", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1472261122" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472261122" + } + }, + "author_association": "NONE", + "body": "As the literal option name suggests, this PR was intended to toggle whether to collapse multiple slashes into one. \n\nI didn't want to talk about any particular file system but more from a programming perspective and stop `gsub(\"/+\", ...)` since it is an irreversible operation. \n\nI think fs.normalize has three missions. \n\n1. Change all `\\` to `/`\n2. Expand envvars (eg $HOME)\n3. Shrink duplicated slashes. \n\nAs we do have an option to toggle `2.`, I thought why couldn't there be an option to toggle `3.`?\n\nEDIT:\nAdd\n4. Remove trailing slashes", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-01-31T03:24:19Z", + "diff_hunk": "@@ -291,9 +291,18 @@ describe('vim.fs', function()\n it('works with /', function()\n eq('/', vim.fs.normalize('/'))\n end)\n+ it('works with / (opts.collapse_slash = false)', function()\n+ eq('///', vim.fs.normalize('///', { collapse_slash = false }))\n+ end)\n it('works with ~', function()\n eq(vim.fs.normalize(vim.uv.os_homedir()) .. '/src/foo', vim.fs.normalize('~/src/foo'))\n end)\n+ it('removes duplicated slashes (opts.collapse_slash = true)', function()\n+ eq('/home/user', vim.fs.normalize('//home//user//'))\n+ end)\n+ it('do not remove duplicated slashes (opts.collapse_slash = false)', function()\n+ eq('//home//user', vim.fs.normalize('//home//user//', { collapse_slash = false })) -- does remove trailing slashes", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1472261122", + "id": 1472261122, + "in_reply_to_id": 1472166672, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XwOwC", + "original_commit_id": "0a3876aa9852671900bff35f0a35dcbc5db43a38", + "original_line": 304, + "original_position": 14, + "original_start_line": null, + "path": "test/functional/lua/fs_spec.lua", + "position": null, + "pull_request_review_id": 1852828315, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472261122/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T03:26:22Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472261122", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41065736?v=4", + "events_url": "https://api.github.com/users/pysan3/events{/privacy}", + "followers_url": "https://api.github.com/users/pysan3/followers", + "following_url": "https://api.github.com/users/pysan3/following{/other_user}", + "gists_url": "https://api.github.com/users/pysan3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/pysan3", + "id": 41065736, + "login": "pysan3", + "node_id": "MDQ6VXNlcjQxMDY1NzM2", + "organizations_url": "https://api.github.com/users/pysan3/orgs", + "received_events_url": "https://api.github.com/users/pysan3/received_events", + "repos_url": "https://api.github.com/users/pysan3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/pysan3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/pysan3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/pysan3" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1472897840" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472897840" + } + }, + "author_association": "MEMBER", + "body": "> I think fs.normalize has three missions.\r\n\r\nNo, its mission is to produce a canonical result for all equivalent forms of any kind of path. That means it should also consistently set drive-letter to uppercase or lowercase (doesn't matter which I guess, but it should choose one).", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-01-31T14:22:28Z", + "diff_hunk": "@@ -291,9 +291,18 @@ describe('vim.fs', function()\n it('works with /', function()\n eq('/', vim.fs.normalize('/'))\n end)\n+ it('works with / (opts.collapse_slash = false)', function()\n+ eq('///', vim.fs.normalize('///', { collapse_slash = false }))\n+ end)\n it('works with ~', function()\n eq(vim.fs.normalize(vim.uv.os_homedir()) .. '/src/foo', vim.fs.normalize('~/src/foo'))\n end)\n+ it('removes duplicated slashes (opts.collapse_slash = true)', function()\n+ eq('/home/user', vim.fs.normalize('//home//user//'))\n+ end)\n+ it('do not remove duplicated slashes (opts.collapse_slash = false)', function()\n+ eq('//home//user', vim.fs.normalize('//home//user//', { collapse_slash = false })) -- does remove trailing slashes", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1472897840", + "id": 1472897840, + "in_reply_to_id": 1472166672, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XyqMw", + "original_commit_id": "0a3876aa9852671900bff35f0a35dcbc5db43a38", + "original_line": 304, + "original_position": 14, + "original_start_line": null, + "path": "test/functional/lua/fs_spec.lua", + "position": null, + "pull_request_review_id": 1853863259, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472897840/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T14:23:38Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472897840", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1473154372" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473154372" + } + }, + "author_association": "NONE", + "body": "This is a nice idea. Added!", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-01-31T16:54:26Z", + "diff_hunk": "@@ -291,9 +291,18 @@ describe('vim.fs', function()\n it('works with /', function()\n eq('/', vim.fs.normalize('/'))\n end)\n+ it('works with / (opts.collapse_slash = false)', function()\n+ eq('///', vim.fs.normalize('///', { collapse_slash = false }))\n+ end)\n it('works with ~', function()\n eq(vim.fs.normalize(vim.uv.os_homedir()) .. '/src/foo', vim.fs.normalize('~/src/foo'))\n end)\n+ it('removes duplicated slashes (opts.collapse_slash = true)', function()\n+ eq('/home/user', vim.fs.normalize('//home//user//'))\n+ end)\n+ it('do not remove duplicated slashes (opts.collapse_slash = false)', function()\n+ eq('//home//user', vim.fs.normalize('//home//user//', { collapse_slash = false })) -- does remove trailing slashes", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1473154372", + "id": 1473154372, + "in_reply_to_id": 1472166672, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xzo1E", + "original_commit_id": "0a3876aa9852671900bff35f0a35dcbc5db43a38", + "original_line": 304, + "original_position": 14, + "original_start_line": null, + "path": "test/functional/lua/fs_spec.lua", + "position": null, + "pull_request_review_id": 1854318398, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473154372/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T16:54:26Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473154372", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41065736?v=4", + "events_url": "https://api.github.com/users/pysan3/events{/privacy}", + "followers_url": "https://api.github.com/users/pysan3/followers", + "following_url": "https://api.github.com/users/pysan3/following{/other_user}", + "gists_url": "https://api.github.com/users/pysan3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/pysan3", + "id": 41065736, + "login": "pysan3", + "node_id": "MDQ6VXNlcjQxMDY1NzM2", + "organizations_url": "https://api.github.com/users/pysan3/orgs", + "received_events_url": "https://api.github.com/users/pysan3/received_events", + "repos_url": "https://api.github.com/users/pysan3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/pysan3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/pysan3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/pysan3" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1473738728" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473738728" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n--- - expand_env: (boolean) Expand environment variables. Defaults to true.\r\n```", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-02-01T02:59:51Z", + "diff_hunk": "@@ -338,7 +338,7 @@ end\n ---\n ---@param path (string) Path to normalize\n ---@param opts table|nil Options:\n---- - expand_env: boolean Expand environment variables (default: true)\n+--- - expand_env: (boolean, default true) Expand environment variables", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1473738728", + "id": 1473738728, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X13fo", + "original_commit_id": "21db99402001147d59cfb10814617862cf8c1b54", + "original_line": 341, + "original_position": 5, + "original_start_line": null, + "path": "runtime/lua/vim/fs.lua", + "position": null, + "pull_request_review_id": 1855287753, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473738728/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T03:03:10Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473738728", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1473739163" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473739163" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n it('works with UNC paths #27068 #27202', function()\r\n```", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-02-01T03:00:34Z", + "diff_hunk": "@@ -307,10 +313,26 @@ describe('vim.fs', function()\n )\n )\n end)\n+ it('works with UNC paths', function()\n+ -- See https://github.com/neovim/neovim/issues/27068 for more detail", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1473739163", + "id": 1473739163, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X13mb", + "original_commit_id": "21db99402001147d59cfb10814617862cf8c1b54", + "original_line": 317, + "original_position": 24, + "original_start_line": 316, + "path": "test/functional/lua/fs_spec.lua", + "position": null, + "pull_request_review_id": 1855287753, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473739163/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-01T03:03:10Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473739163", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1473740389" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473740389" + } + }, + "author_association": "MEMBER", + "body": "The single-letter string represented as `\\\\` instead of `\\` due to escaping is quite confusing given that we now want to deal with double slashes. Can you change `'...\\\\...'` with `[[...\\...]]` (including existing test cases)? This will make tests more readable.", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-02-01T03:02:59Z", + "diff_hunk": "@@ -285,12 +285,18 @@ describe('vim.fs', function()\n it('works with backward slashes', function()\n eq('C:/Users/jdoe', vim.fs.normalize('C:\\\\Users\\\\jdoe'))\n end)\n+ it('works with mixed forward and backward slashes', function()\n+ eq('C:/Users/jdoe', vim.fs.normalize('C:\\\\//Users//\\\\jdoe//\\\\'))", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1473740389", + "id": 1473740389, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X135l", + "original_commit_id": "21db99402001147d59cfb10814617862cf8c1b54", + "original_line": 289, + "original_position": 5, + "original_start_line": null, + "path": "test/functional/lua/fs_spec.lua", + "position": null, + "pull_request_review_id": 1855287753, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473740389/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T03:03:10Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473740389", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1473768495" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473768495" + } + }, + "author_association": "NONE", + "body": "Fair enough. I'll change all of them into raw string notation.", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-02-01T04:03:49Z", + "diff_hunk": "@@ -285,12 +285,18 @@ describe('vim.fs', function()\n it('works with backward slashes', function()\n eq('C:/Users/jdoe', vim.fs.normalize('C:\\\\Users\\\\jdoe'))\n end)\n+ it('works with mixed forward and backward slashes', function()\n+ eq('C:/Users/jdoe', vim.fs.normalize('C:\\\\//Users//\\\\jdoe//\\\\'))", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1473768495", + "id": 1473768495, + "in_reply_to_id": 1473740389, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X1-wv", + "original_commit_id": "21db99402001147d59cfb10814617862cf8c1b54", + "original_line": 289, + "original_position": 5, + "original_start_line": null, + "path": "test/functional/lua/fs_spec.lua", + "position": null, + "pull_request_review_id": 1855337788, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473768495/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T04:03:49Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473768495", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41065736?v=4", + "events_url": "https://api.github.com/users/pysan3/events{/privacy}", + "followers_url": "https://api.github.com/users/pysan3/followers", + "following_url": "https://api.github.com/users/pysan3/following{/other_user}", + "gists_url": "https://api.github.com/users/pysan3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/pysan3", + "id": 41065736, + "login": "pysan3", + "node_id": "MDQ6VXNlcjQxMDY1NzM2", + "organizations_url": "https://api.github.com/users/pysan3/orgs", + "received_events_url": "https://api.github.com/users/pysan3/received_events", + "repos_url": "https://api.github.com/users/pysan3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/pysan3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/pysan3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/pysan3" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1474141088" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474141088" + } + }, + "author_association": "MEMBER", + "body": "Should probably check the first char is `[a-zA-Z]`\n\nDoesn't this also assume that `path[3]` is `/` which it might not be?", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-02-01T09:49:56Z", + "diff_hunk": "@@ -349,22 +349,24 @@ function M.normalize(path, opts)\n })\n \n if path:sub(1, 1) == '~' then\n- local home = vim.uv.os_homedir() or '~'\n- if home:sub(-1) == '\\\\' or home:sub(-1) == '/' then\n- home = home:sub(1, -2)\n- end\n- path = home .. path:sub(2)\n+ path = (vim.uv.os_homedir() or '~') .. '/' .. path:sub(2)\n end\n \n if opts.expand_env == nil or opts.expand_env then\n path = path:gsub('%$([%w_]+)', vim.uv.os_getenv)\n end\n \n- path = path:gsub('\\\\', '/'):gsub('/+', '/')\n- if iswin and path:match('^%w:/$') then\n- return path\n+ local first = path:sub(1, 1)\n+ path = (first == '\\\\' and '/' or first) .. path:sub(2):gsub('[\\\\/]+', '/'):gsub('/$', '')\n+ -- UNC path starts with double (or more) slash, followed by more than one character.\n+ -- Therefore ignore first letter from `:gsub('[\\\\/]+', '/')`.\n+ -- `//` is not a valid UNC path, hence converted to `/` with `:gsub('/$', '')`.\n+ -- This also keeps traling slash in the case of root `/`, but removes it otherwise.\n+\n+ if iswin and path:sub(2, 2) == ':' then -- capitalize windows drive name", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1474141088", + "id": 1474141088, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X3Zug", + "original_commit_id": "ad69d6597c87d69261971bd6909fa95739e0bcf4", + "original_line": 366, + "original_position": 35, + "original_start_line": null, + "path": "runtime/lua/vim/fs.lua", + "position": null, + "pull_request_review_id": 1856041780, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474141088/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T09:59:00Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474141088", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1474149537" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474149537" + } + }, + "author_association": "MEMBER", + "body": "This seems a bit cleaner\r\n\r\n```suggestion\r\n path = path:gsub('\\\\', '/')\r\n path = path:sub(1, 1) .. path:sub(2):gsub('/+', '/')\r\n```", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-02-01T09:55:07Z", + "diff_hunk": "@@ -349,22 +349,24 @@ function M.normalize(path, opts)\n })\n \n if path:sub(1, 1) == '~' then\n- local home = vim.uv.os_homedir() or '~'\n- if home:sub(-1) == '\\\\' or home:sub(-1) == '/' then\n- home = home:sub(1, -2)\n- end\n- path = home .. path:sub(2)\n+ path = (vim.uv.os_homedir() or '~') .. '/' .. path:sub(2)\n end\n \n if opts.expand_env == nil or opts.expand_env then\n path = path:gsub('%$([%w_]+)', vim.uv.os_getenv)\n end\n \n- path = path:gsub('\\\\', '/'):gsub('/+', '/')\n- if iswin and path:match('^%w:/$') then\n- return path\n+ local first = path:sub(1, 1)\n+ path = (first == '\\\\' and '/' or first) .. path:sub(2):gsub('[\\\\/]+', '/'):gsub('/$', '')", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1474149537", + "id": 1474149537, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X3byh", + "original_commit_id": "ad69d6597c87d69261971bd6909fa95739e0bcf4", + "original_line": 360, + "original_position": 29, + "original_start_line": 359, + "path": "runtime/lua/vim/fs.lua", + "position": null, + "pull_request_review_id": 1856054087, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474149537/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-01T09:55:24Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474149537", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1474158890" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474158890" + } + }, + "author_association": "NONE", + "body": "I don't think so. Colon is not a valid character for a path string except right after the device name.\n\nAnd even if it is true, I'm just doing `string.upper(first)` which does nothing when `first` is not an alphabet in the first place. ", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-02-01T10:00:38Z", + "diff_hunk": "@@ -349,22 +349,24 @@ function M.normalize(path, opts)\n })\n \n if path:sub(1, 1) == '~' then\n- local home = vim.uv.os_homedir() or '~'\n- if home:sub(-1) == '\\\\' or home:sub(-1) == '/' then\n- home = home:sub(1, -2)\n- end\n- path = home .. path:sub(2)\n+ path = (vim.uv.os_homedir() or '~') .. '/' .. path:sub(2)\n end\n \n if opts.expand_env == nil or opts.expand_env then\n path = path:gsub('%$([%w_]+)', vim.uv.os_getenv)\n end\n \n- path = path:gsub('\\\\', '/'):gsub('/+', '/')\n- if iswin and path:match('^%w:/$') then\n- return path\n+ local first = path:sub(1, 1)\n+ path = (first == '\\\\' and '/' or first) .. path:sub(2):gsub('[\\\\/]+', '/'):gsub('/$', '')\n+ -- UNC path starts with double (or more) slash, followed by more than one character.\n+ -- Therefore ignore first letter from `:gsub('[\\\\/]+', '/')`.\n+ -- `//` is not a valid UNC path, hence converted to `/` with `:gsub('/$', '')`.\n+ -- This also keeps traling slash in the case of root `/`, but removes it otherwise.\n+\n+ if iswin and path:sub(2, 2) == ':' then -- capitalize windows drive name", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1474158890", + "id": 1474158890, + "in_reply_to_id": 1474141088, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X3eEq", + "original_commit_id": "ad69d6597c87d69261971bd6909fa95739e0bcf4", + "original_line": 366, + "original_position": 35, + "original_start_line": null, + "path": "runtime/lua/vim/fs.lua", + "position": null, + "pull_request_review_id": 1856066564, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474158890/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T10:01:11Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474158890", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41065736?v=4", + "events_url": "https://api.github.com/users/pysan3/events{/privacy}", + "followers_url": "https://api.github.com/users/pysan3/followers", + "following_url": "https://api.github.com/users/pysan3/following{/other_user}", + "gists_url": "https://api.github.com/users/pysan3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/pysan3", + "id": 41065736, + "login": "pysan3", + "node_id": "MDQ6VXNlcjQxMDY1NzM2", + "organizations_url": "https://api.github.com/users/pysan3/orgs", + "received_events_url": "https://api.github.com/users/pysan3/received_events", + "repos_url": "https://api.github.com/users/pysan3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/pysan3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/pysan3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/pysan3" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1474163700" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474163700" + } + }, + "author_association": "MEMBER", + "body": "This function needs to gracefully handle any old junk that's passed to it, so it needs to be sensible with invalid paths. So we should only mangle if the path matches `^[a-zA-Z]:/`, otherwise we just leave it alone.", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-02-01T10:03:38Z", + "diff_hunk": "@@ -349,22 +349,24 @@ function M.normalize(path, opts)\n })\n \n if path:sub(1, 1) == '~' then\n- local home = vim.uv.os_homedir() or '~'\n- if home:sub(-1) == '\\\\' or home:sub(-1) == '/' then\n- home = home:sub(1, -2)\n- end\n- path = home .. path:sub(2)\n+ path = (vim.uv.os_homedir() or '~') .. '/' .. path:sub(2)\n end\n \n if opts.expand_env == nil or opts.expand_env then\n path = path:gsub('%$([%w_]+)', vim.uv.os_getenv)\n end\n \n- path = path:gsub('\\\\', '/'):gsub('/+', '/')\n- if iswin and path:match('^%w:/$') then\n- return path\n+ local first = path:sub(1, 1)\n+ path = (first == '\\\\' and '/' or first) .. path:sub(2):gsub('[\\\\/]+', '/'):gsub('/$', '')\n+ -- UNC path starts with double (or more) slash, followed by more than one character.\n+ -- Therefore ignore first letter from `:gsub('[\\\\/]+', '/')`.\n+ -- `//` is not a valid UNC path, hence converted to `/` with `:gsub('/$', '')`.\n+ -- This also keeps traling slash in the case of root `/`, but removes it otherwise.\n+\n+ if iswin and path:sub(2, 2) == ':' then -- capitalize windows drive name", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1474163700", + "id": 1474163700, + "in_reply_to_id": 1474141088, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X3fP0", + "original_commit_id": "ad69d6597c87d69261971bd6909fa95739e0bcf4", + "original_line": 366, + "original_position": 35, + "original_start_line": null, + "path": "runtime/lua/vim/fs.lua", + "position": null, + "pull_request_review_id": 1856072860, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474163700/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T10:03:39Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474163700", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1474168112" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474168112" + } + }, + "author_association": "NONE", + "body": "This is wrong. We must have `:gsub('/$', '')` to strip the trailing slash (eg `foo/bar/`)\r\n\r\nYour solution will then require to call `gsub` 3 times, which is not efficient.\r\n\r\nIiuc, we should assume this function will be called _a lot_ of times, so we should take performance over code readability, and tbh, I think my solution is quite clean ngl.", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-02-01T10:06:34Z", + "diff_hunk": "@@ -349,22 +349,24 @@ function M.normalize(path, opts)\n })\n \n if path:sub(1, 1) == '~' then\n- local home = vim.uv.os_homedir() or '~'\n- if home:sub(-1) == '\\\\' or home:sub(-1) == '/' then\n- home = home:sub(1, -2)\n- end\n- path = home .. path:sub(2)\n+ path = (vim.uv.os_homedir() or '~') .. '/' .. path:sub(2)\n end\n \n if opts.expand_env == nil or opts.expand_env then\n path = path:gsub('%$([%w_]+)', vim.uv.os_getenv)\n end\n \n- path = path:gsub('\\\\', '/'):gsub('/+', '/')\n- if iswin and path:match('^%w:/$') then\n- return path\n+ local first = path:sub(1, 1)\n+ path = (first == '\\\\' and '/' or first) .. path:sub(2):gsub('[\\\\/]+', '/'):gsub('/$', '')", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1474168112", + "id": 1474168112, + "in_reply_to_id": 1474149537, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X3gUw", + "original_commit_id": "ad69d6597c87d69261971bd6909fa95739e0bcf4", + "original_line": 360, + "original_position": 29, + "original_start_line": 359, + "path": "runtime/lua/vim/fs.lua", + "position": null, + "pull_request_review_id": 1856078800, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474168112/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-01T10:06:35Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474168112", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41065736?v=4", + "events_url": "https://api.github.com/users/pysan3/events{/privacy}", + "followers_url": "https://api.github.com/users/pysan3/followers", + "following_url": "https://api.github.com/users/pysan3/following{/other_user}", + "gists_url": "https://api.github.com/users/pysan3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/pysan3", + "id": 41065736, + "login": "pysan3", + "node_id": "MDQ6VXNlcjQxMDY1NzM2", + "organizations_url": "https://api.github.com/users/pysan3/orgs", + "received_events_url": "https://api.github.com/users/pysan3/received_events", + "repos_url": "https://api.github.com/users/pysan3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/pysan3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/pysan3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/pysan3" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1474170436" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474170436" + } + }, + "author_association": "NONE", + "body": "I mean that `string.upper` will do nothing if the first letter is not an alphabet. Am I right?", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-02-01T10:08:06Z", + "diff_hunk": "@@ -349,22 +349,24 @@ function M.normalize(path, opts)\n })\n \n if path:sub(1, 1) == '~' then\n- local home = vim.uv.os_homedir() or '~'\n- if home:sub(-1) == '\\\\' or home:sub(-1) == '/' then\n- home = home:sub(1, -2)\n- end\n- path = home .. path:sub(2)\n+ path = (vim.uv.os_homedir() or '~') .. '/' .. path:sub(2)\n end\n \n if opts.expand_env == nil or opts.expand_env then\n path = path:gsub('%$([%w_]+)', vim.uv.os_getenv)\n end\n \n- path = path:gsub('\\\\', '/'):gsub('/+', '/')\n- if iswin and path:match('^%w:/$') then\n- return path\n+ local first = path:sub(1, 1)\n+ path = (first == '\\\\' and '/' or first) .. path:sub(2):gsub('[\\\\/]+', '/'):gsub('/$', '')\n+ -- UNC path starts with double (or more) slash, followed by more than one character.\n+ -- Therefore ignore first letter from `:gsub('[\\\\/]+', '/')`.\n+ -- `//` is not a valid UNC path, hence converted to `/` with `:gsub('/$', '')`.\n+ -- This also keeps traling slash in the case of root `/`, but removes it otherwise.\n+\n+ if iswin and path:sub(2, 2) == ':' then -- capitalize windows drive name", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1474170436", + "id": 1474170436, + "in_reply_to_id": 1474141088, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X3g5E", + "original_commit_id": "ad69d6597c87d69261971bd6909fa95739e0bcf4", + "original_line": 366, + "original_position": 35, + "original_start_line": null, + "path": "runtime/lua/vim/fs.lua", + "position": null, + "pull_request_review_id": 1856081901, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474170436/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T10:08:06Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474170436", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41065736?v=4", + "events_url": "https://api.github.com/users/pysan3/events{/privacy}", + "followers_url": "https://api.github.com/users/pysan3/followers", + "following_url": "https://api.github.com/users/pysan3/following{/other_user}", + "gists_url": "https://api.github.com/users/pysan3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/pysan3", + "id": 41065736, + "login": "pysan3", + "node_id": "MDQ6VXNlcjQxMDY1NzM2", + "organizations_url": "https://api.github.com/users/pysan3/orgs", + "received_events_url": "https://api.github.com/users/pysan3/received_events", + "repos_url": "https://api.github.com/users/pysan3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/pysan3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/pysan3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/pysan3" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1474203045" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474203045" + } + }, + "author_association": "MEMBER", + "body": "If you want to avoid another gsub then I suggest not doing `:gsub('/$', '')` and instead do \r\n\r\n```lua\r\nif path:sub(-1) == '/' then\r\n path = path:sub(1, -2)\r\nend\r\n```\r\n\r\n> so we should take performance over code readability, and tbh, I think my solution is quite clean ngl.\r\n\r\nNothing indicates this function is a bottleneck in any code path. And if you're dealing with the file system any `gsub`'s are going to be completely dwarfed by calls out to the system.\r\n\r\n", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-02-01T10:29:12Z", + "diff_hunk": "@@ -349,22 +349,24 @@ function M.normalize(path, opts)\n })\n \n if path:sub(1, 1) == '~' then\n- local home = vim.uv.os_homedir() or '~'\n- if home:sub(-1) == '\\\\' or home:sub(-1) == '/' then\n- home = home:sub(1, -2)\n- end\n- path = home .. path:sub(2)\n+ path = (vim.uv.os_homedir() or '~') .. '/' .. path:sub(2)\n end\n \n if opts.expand_env == nil or opts.expand_env then\n path = path:gsub('%$([%w_]+)', vim.uv.os_getenv)\n end\n \n- path = path:gsub('\\\\', '/'):gsub('/+', '/')\n- if iswin and path:match('^%w:/$') then\n- return path\n+ local first = path:sub(1, 1)\n+ path = (first == '\\\\' and '/' or first) .. path:sub(2):gsub('[\\\\/]+', '/'):gsub('/$', '')", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1474203045", + "id": 1474203045, + "in_reply_to_id": 1474149537, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X3o2l", + "original_commit_id": "ad69d6597c87d69261971bd6909fa95739e0bcf4", + "original_line": 360, + "original_position": 29, + "original_start_line": 359, + "path": "runtime/lua/vim/fs.lua", + "position": null, + "pull_request_review_id": 1856124124, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474203045/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-01T10:29:12Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474203045", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1474239541" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474239541" + } + }, + "author_association": "NONE", + "body": "I don't think this is clean and I think it makes the code less readable. So I see no reason to change my code.\r\n\r\n> Nothing indicates this function is a bottleneck in any code path. And if you're dealing with the file system any `gsub`'s are going to be completely dwarfed by calls out to the system.\r\n\r\nI see.", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-02-01T10:52:15Z", + "diff_hunk": "@@ -349,22 +349,24 @@ function M.normalize(path, opts)\n })\n \n if path:sub(1, 1) == '~' then\n- local home = vim.uv.os_homedir() or '~'\n- if home:sub(-1) == '\\\\' or home:sub(-1) == '/' then\n- home = home:sub(1, -2)\n- end\n- path = home .. path:sub(2)\n+ path = (vim.uv.os_homedir() or '~') .. '/' .. path:sub(2)\n end\n \n if opts.expand_env == nil or opts.expand_env then\n path = path:gsub('%$([%w_]+)', vim.uv.os_getenv)\n end\n \n- path = path:gsub('\\\\', '/'):gsub('/+', '/')\n- if iswin and path:match('^%w:/$') then\n- return path\n+ local first = path:sub(1, 1)\n+ path = (first == '\\\\' and '/' or first) .. path:sub(2):gsub('[\\\\/]+', '/'):gsub('/$', '')", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1474239541", + "id": 1474239541, + "in_reply_to_id": 1474149537, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X3xw1", + "original_commit_id": "ad69d6597c87d69261971bd6909fa95739e0bcf4", + "original_line": 360, + "original_position": 29, + "original_start_line": 359, + "path": "runtime/lua/vim/fs.lua", + "position": null, + "pull_request_review_id": 1856172827, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474239541/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-01T10:52:16Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474239541", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41065736?v=4", + "events_url": "https://api.github.com/users/pysan3/events{/privacy}", + "followers_url": "https://api.github.com/users/pysan3/followers", + "following_url": "https://api.github.com/users/pysan3/following{/other_user}", + "gists_url": "https://api.github.com/users/pysan3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/pysan3", + "id": 41065736, + "login": "pysan3", + "node_id": "MDQ6VXNlcjQxMDY1NzM2", + "organizations_url": "https://api.github.com/users/pysan3/orgs", + "received_events_url": "https://api.github.com/users/pysan3/received_events", + "repos_url": "https://api.github.com/users/pysan3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/pysan3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/pysan3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/pysan3" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1474262585" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474262585" + } + }, + "author_association": "MEMBER", + "body": "That's unfortunate. Personally, I don't think squashing many terms into a single line that do multiple things is clean at all. It's short, but it isn't clean or easy to understand. By breaking it down into multiple independent operations, the reader can comprehend each distinct step separately.\r\n\r\nAnd if we keep the additional `gsub`, because realistically this isn't going meaningfully affect performance, then I fail to see how:\r\n\r\n```lua\r\nlocal first = path:sub(1, 1)\r\npath = (first == '\\\\' and '/' or first) .. path:sub(2):gsub('[\\\\/]+', '/'):gsub('/$', '')\r\n```\r\n\r\nIs cleaner than:\r\n```lua\r\npath = path:gsub('\\\\', '/') -- Normalize slashes\r\npath = path:sub(1, 1) .. path:sub(2):gsub('/+', '/'):gsub('/$', '') -- Remove redundant slashes\r\n```", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-02-01T11:08:29Z", + "diff_hunk": "@@ -349,22 +349,24 @@ function M.normalize(path, opts)\n })\n \n if path:sub(1, 1) == '~' then\n- local home = vim.uv.os_homedir() or '~'\n- if home:sub(-1) == '\\\\' or home:sub(-1) == '/' then\n- home = home:sub(1, -2)\n- end\n- path = home .. path:sub(2)\n+ path = (vim.uv.os_homedir() or '~') .. '/' .. path:sub(2)\n end\n \n if opts.expand_env == nil or opts.expand_env then\n path = path:gsub('%$([%w_]+)', vim.uv.os_getenv)\n end\n \n- path = path:gsub('\\\\', '/'):gsub('/+', '/')\n- if iswin and path:match('^%w:/$') then\n- return path\n+ local first = path:sub(1, 1)\n+ path = (first == '\\\\' and '/' or first) .. path:sub(2):gsub('[\\\\/]+', '/'):gsub('/$', '')", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1474262585", + "id": 1474262585, + "in_reply_to_id": 1474149537, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X33Y5", + "original_commit_id": "ad69d6597c87d69261971bd6909fa95739e0bcf4", + "original_line": 360, + "original_position": 29, + "original_start_line": 359, + "path": "runtime/lua/vim/fs.lua", + "position": null, + "pull_request_review_id": 1856203492, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474262585/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-01T11:08:29Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474262585", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1474286115" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474286115" + } + }, + "author_association": "NONE", + "body": "I don't think your code explains it well enough because _Remove redundant slashes_ does not explain `sub(1, 1)` and its quite unclear anyways.\r\n\r\nIt doesn't document that `//` will result in `/` but `//foo` will be `//foo`, and `///foo` will be `//foo`.\r\n\r\nI didn't want to say that my code is cleaner, but I meant any code will not be clear anyways, and didn't find a reason to introduce another gsub for little benifit.", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-02-01T11:25:13Z", + "diff_hunk": "@@ -349,22 +349,24 @@ function M.normalize(path, opts)\n })\n \n if path:sub(1, 1) == '~' then\n- local home = vim.uv.os_homedir() or '~'\n- if home:sub(-1) == '\\\\' or home:sub(-1) == '/' then\n- home = home:sub(1, -2)\n- end\n- path = home .. path:sub(2)\n+ path = (vim.uv.os_homedir() or '~') .. '/' .. path:sub(2)\n end\n \n if opts.expand_env == nil or opts.expand_env then\n path = path:gsub('%$([%w_]+)', vim.uv.os_getenv)\n end\n \n- path = path:gsub('\\\\', '/'):gsub('/+', '/')\n- if iswin and path:match('^%w:/$') then\n- return path\n+ local first = path:sub(1, 1)\n+ path = (first == '\\\\' and '/' or first) .. path:sub(2):gsub('[\\\\/]+', '/'):gsub('/$', '')", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1474286115", + "id": 1474286115, + "in_reply_to_id": 1474149537, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X39Ij", + "original_commit_id": "ad69d6597c87d69261971bd6909fa95739e0bcf4", + "original_line": 360, + "original_position": 29, + "original_start_line": 359, + "path": "runtime/lua/vim/fs.lua", + "position": null, + "pull_request_review_id": 1856236262, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474286115/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-01T11:25:13Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474286115", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41065736?v=4", + "events_url": "https://api.github.com/users/pysan3/events{/privacy}", + "followers_url": "https://api.github.com/users/pysan3/followers", + "following_url": "https://api.github.com/users/pysan3/following{/other_user}", + "gists_url": "https://api.github.com/users/pysan3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/pysan3", + "id": 41065736, + "login": "pysan3", + "node_id": "MDQ6VXNlcjQxMDY1NzM2", + "organizations_url": "https://api.github.com/users/pysan3/orgs", + "received_events_url": "https://api.github.com/users/pysan3/received_events", + "repos_url": "https://api.github.com/users/pysan3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/pysan3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/pysan3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/pysan3" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1474302248" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474302248" + } + }, + "author_association": "NONE", + "body": "@lewis6991 Do I need to change anything here?", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-02-01T11:33:46Z", + "diff_hunk": "@@ -349,22 +349,24 @@ function M.normalize(path, opts)\n })\n \n if path:sub(1, 1) == '~' then\n- local home = vim.uv.os_homedir() or '~'\n- if home:sub(-1) == '\\\\' or home:sub(-1) == '/' then\n- home = home:sub(1, -2)\n- end\n- path = home .. path:sub(2)\n+ path = (vim.uv.os_homedir() or '~') .. '/' .. path:sub(2)\n end\n \n if opts.expand_env == nil or opts.expand_env then\n path = path:gsub('%$([%w_]+)', vim.uv.os_getenv)\n end\n \n- path = path:gsub('\\\\', '/'):gsub('/+', '/')\n- if iswin and path:match('^%w:/$') then\n- return path\n+ local first = path:sub(1, 1)\n+ path = (first == '\\\\' and '/' or first) .. path:sub(2):gsub('[\\\\/]+', '/'):gsub('/$', '')\n+ -- UNC path starts with double (or more) slash, followed by more than one character.\n+ -- Therefore ignore first letter from `:gsub('[\\\\/]+', '/')`.\n+ -- `//` is not a valid UNC path, hence converted to `/` with `:gsub('/$', '')`.\n+ -- This also keeps traling slash in the case of root `/`, but removes it otherwise.\n+\n+ if iswin and path:sub(2, 2) == ':' then -- capitalize windows drive name", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1474302248", + "id": 1474302248, + "in_reply_to_id": 1474141088, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X4BEo", + "original_commit_id": "ad69d6597c87d69261971bd6909fa95739e0bcf4", + "original_line": 366, + "original_position": 35, + "original_start_line": null, + "path": "runtime/lua/vim/fs.lua", + "position": null, + "pull_request_review_id": 1856257263, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474302248/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T11:33:47Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474302248", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41065736?v=4", + "events_url": "https://api.github.com/users/pysan3/events{/privacy}", + "followers_url": "https://api.github.com/users/pysan3/followers", + "following_url": "https://api.github.com/users/pysan3/following{/other_user}", + "gists_url": "https://api.github.com/users/pysan3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/pysan3", + "id": 41065736, + "login": "pysan3", + "node_id": "MDQ6VXNlcjQxMDY1NzM2", + "organizations_url": "https://api.github.com/users/pysan3/orgs", + "received_events_url": "https://api.github.com/users/pysan3/received_events", + "repos_url": "https://api.github.com/users/pysan3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/pysan3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/pysan3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/pysan3" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1474323526" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474323526" + } + }, + "author_association": "MEMBER", + "body": "Yes, this code assumes `path[3] == '/'` which it might not be. I think we need to match `^[a-zA-Z]:/` exactly here so we only mangle if we absolutely need to.", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-02-01T11:46:46Z", + "diff_hunk": "@@ -349,22 +349,24 @@ function M.normalize(path, opts)\n })\n \n if path:sub(1, 1) == '~' then\n- local home = vim.uv.os_homedir() or '~'\n- if home:sub(-1) == '\\\\' or home:sub(-1) == '/' then\n- home = home:sub(1, -2)\n- end\n- path = home .. path:sub(2)\n+ path = (vim.uv.os_homedir() or '~') .. '/' .. path:sub(2)\n end\n \n if opts.expand_env == nil or opts.expand_env then\n path = path:gsub('%$([%w_]+)', vim.uv.os_getenv)\n end\n \n- path = path:gsub('\\\\', '/'):gsub('/+', '/')\n- if iswin and path:match('^%w:/$') then\n- return path\n+ local first = path:sub(1, 1)\n+ path = (first == '\\\\' and '/' or first) .. path:sub(2):gsub('[\\\\/]+', '/'):gsub('/$', '')\n+ -- UNC path starts with double (or more) slash, followed by more than one character.\n+ -- Therefore ignore first letter from `:gsub('[\\\\/]+', '/')`.\n+ -- `//` is not a valid UNC path, hence converted to `/` with `:gsub('/$', '')`.\n+ -- This also keeps traling slash in the case of root `/`, but removes it otherwise.\n+\n+ if iswin and path:sub(2, 2) == ':' then -- capitalize windows drive name", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1474323526", + "id": 1474323526, + "in_reply_to_id": 1474141088, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X4GRG", + "original_commit_id": "ad69d6597c87d69261971bd6909fa95739e0bcf4", + "original_line": 366, + "original_position": 35, + "original_start_line": null, + "path": "runtime/lua/vim/fs.lua", + "position": null, + "pull_request_review_id": 1856288564, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474323526/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T11:46:46Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474323526", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1474325097" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474325097" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n if iswin and path:match('^[a-zA-Z]:/') then -- Capitalize Windows drive name\r\n```", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-02-01T11:47:53Z", + "diff_hunk": "@@ -349,22 +349,26 @@ function M.normalize(path, opts)\n })\n \n if path:sub(1, 1) == '~' then\n- local home = vim.uv.os_homedir() or '~'\n- if home:sub(-1) == '\\\\' or home:sub(-1) == '/' then\n- home = home:sub(1, -2)\n- end\n- path = home .. path:sub(2)\n+ path = (vim.uv.os_homedir() or '~') .. '/' .. path:sub(2)\n end\n \n if opts.expand_env == nil or opts.expand_env then\n path = path:gsub('%$([%w_]+)', vim.uv.os_getenv)\n end\n \n- path = path:gsub('\\\\', '/'):gsub('/+', '/')\n- if iswin and path:match('^%w:/$') then\n- return path\n+ path = path:gsub([[\\]], '/') -- Normalize slashes\n+\n+ local first = path:sub(1, 1)\n+ path = first .. path:sub(2):gsub('/+', '/'):gsub('/$', '') -- Remove redundant slashes\n+ -- UNC path starts with double (or more) slashes, followed by more than one character.\n+ -- Therefore ignore first letter from `:gsub('/+', '/')`.\n+ -- `//` is not a valid UNC path, hence converted to `/` with `:gsub('/$', '')`.\n+ -- This also keeps traling slash in the case of root `/`, but removes it otherwise.\n+\n+ if iswin and path:sub(2, 2) == ':' then -- Capitalize Windows drive name", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1474325097", + "id": 1474325097, + "line": 368, + "node_id": "PRRC_kwDOAPphoM5X4Gpp", + "original_commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "original_line": 368, + "original_position": 37, + "original_start_line": null, + "path": "runtime/lua/vim/fs.lua", + "position": 37, + "pull_request_review_id": 1856290521, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474325097/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T11:47:53Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474325097", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1474327434" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474327434" + } + }, + "author_association": "NONE", + "body": "No. Due to `path:sub(2):...:gsub('/$', '')`, `C:/` will be converted to `C:` temporary and a slash must be added afterwards to negate this behavior.\r\n\r\nPlease read the code.", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-02-01T11:49:34Z", + "diff_hunk": "@@ -349,22 +349,24 @@ function M.normalize(path, opts)\n })\n \n if path:sub(1, 1) == '~' then\n- local home = vim.uv.os_homedir() or '~'\n- if home:sub(-1) == '\\\\' or home:sub(-1) == '/' then\n- home = home:sub(1, -2)\n- end\n- path = home .. path:sub(2)\n+ path = (vim.uv.os_homedir() or '~') .. '/' .. path:sub(2)\n end\n \n if opts.expand_env == nil or opts.expand_env then\n path = path:gsub('%$([%w_]+)', vim.uv.os_getenv)\n end\n \n- path = path:gsub('\\\\', '/'):gsub('/+', '/')\n- if iswin and path:match('^%w:/$') then\n- return path\n+ local first = path:sub(1, 1)\n+ path = (first == '\\\\' and '/' or first) .. path:sub(2):gsub('[\\\\/]+', '/'):gsub('/$', '')\n+ -- UNC path starts with double (or more) slash, followed by more than one character.\n+ -- Therefore ignore first letter from `:gsub('[\\\\/]+', '/')`.\n+ -- `//` is not a valid UNC path, hence converted to `/` with `:gsub('/$', '')`.\n+ -- This also keeps traling slash in the case of root `/`, but removes it otherwise.\n+\n+ if iswin and path:sub(2, 2) == ':' then -- capitalize windows drive name", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1474327434", + "id": 1474327434, + "in_reply_to_id": 1474141088, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X4HOK", + "original_commit_id": "ad69d6597c87d69261971bd6909fa95739e0bcf4", + "original_line": 366, + "original_position": 35, + "original_start_line": null, + "path": "runtime/lua/vim/fs.lua", + "position": null, + "pull_request_review_id": 1856293440, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474327434/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T11:49:34Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474327434", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41065736?v=4", + "events_url": "https://api.github.com/users/pysan3/events{/privacy}", + "followers_url": "https://api.github.com/users/pysan3/followers", + "following_url": "https://api.github.com/users/pysan3/following{/other_user}", + "gists_url": "https://api.github.com/users/pysan3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/pysan3", + "id": 41065736, + "login": "pysan3", + "node_id": "MDQ6VXNlcjQxMDY1NzM2", + "organizations_url": "https://api.github.com/users/pysan3/orgs", + "received_events_url": "https://api.github.com/users/pysan3/received_events", + "repos_url": "https://api.github.com/users/pysan3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/pysan3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/pysan3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/pysan3" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1474333106" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474333106" + } + }, + "author_association": "MEMBER", + "body": "> Please read the code.\r\n\r\nPlease be polite. I don't have to review this.\r\n\r\n> Due to path:sub(2):...:gsub('/$', ''), C:/ will be converted to C: temporary and a slash must be added afterwards to negate this behavior.\r\n\r\nThis is not obvious at all. And despite this, it still assumes `path[3] == '/'` for cases other than `C:/`", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-02-01T11:53:39Z", + "diff_hunk": "@@ -349,22 +349,24 @@ function M.normalize(path, opts)\n })\n \n if path:sub(1, 1) == '~' then\n- local home = vim.uv.os_homedir() or '~'\n- if home:sub(-1) == '\\\\' or home:sub(-1) == '/' then\n- home = home:sub(1, -2)\n- end\n- path = home .. path:sub(2)\n+ path = (vim.uv.os_homedir() or '~') .. '/' .. path:sub(2)\n end\n \n if opts.expand_env == nil or opts.expand_env then\n path = path:gsub('%$([%w_]+)', vim.uv.os_getenv)\n end\n \n- path = path:gsub('\\\\', '/'):gsub('/+', '/')\n- if iswin and path:match('^%w:/$') then\n- return path\n+ local first = path:sub(1, 1)\n+ path = (first == '\\\\' and '/' or first) .. path:sub(2):gsub('[\\\\/]+', '/'):gsub('/$', '')\n+ -- UNC path starts with double (or more) slash, followed by more than one character.\n+ -- Therefore ignore first letter from `:gsub('[\\\\/]+', '/')`.\n+ -- `//` is not a valid UNC path, hence converted to `/` with `:gsub('/$', '')`.\n+ -- This also keeps traling slash in the case of root `/`, but removes it otherwise.\n+\n+ if iswin and path:sub(2, 2) == ':' then -- capitalize windows drive name", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1474333106", + "id": 1474333106, + "in_reply_to_id": 1474141088, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X4Imy", + "original_commit_id": "ad69d6597c87d69261971bd6909fa95739e0bcf4", + "original_line": 366, + "original_position": 35, + "original_start_line": null, + "path": "runtime/lua/vim/fs.lua", + "position": null, + "pull_request_review_id": 1856301818, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474333106/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T11:53:39Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474333106", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1474356661" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474356661" + } + }, + "author_association": "NONE", + "body": "I thought you understood this while writing https://github.com/neovim/neovim/pull/27202#discussion_r1474262585? \r\nIt is the exact behavior you wrote in the comments.\r\n\r\n> And despite this, it still assumes `path[3] == '/'` for cases other than `C:/`\r\n\r\nIn [this issue](https://github.com/neovim/neovim/issues/27068) you refused to bring UNC paths because it is not supported by the Unix path standard. And now I feel like you are trying to support all edge cases for every file system. May I ask what direction you are towards right now?\r\n\r\nBesides that, is there an edge case where `iswin and path:sub(2, 2) == ':'` but `path[3] ~= '/'`?", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-02-01T12:10:05Z", + "diff_hunk": "@@ -349,22 +349,24 @@ function M.normalize(path, opts)\n })\n \n if path:sub(1, 1) == '~' then\n- local home = vim.uv.os_homedir() or '~'\n- if home:sub(-1) == '\\\\' or home:sub(-1) == '/' then\n- home = home:sub(1, -2)\n- end\n- path = home .. path:sub(2)\n+ path = (vim.uv.os_homedir() or '~') .. '/' .. path:sub(2)\n end\n \n if opts.expand_env == nil or opts.expand_env then\n path = path:gsub('%$([%w_]+)', vim.uv.os_getenv)\n end\n \n- path = path:gsub('\\\\', '/'):gsub('/+', '/')\n- if iswin and path:match('^%w:/$') then\n- return path\n+ local first = path:sub(1, 1)\n+ path = (first == '\\\\' and '/' or first) .. path:sub(2):gsub('[\\\\/]+', '/'):gsub('/$', '')\n+ -- UNC path starts with double (or more) slash, followed by more than one character.\n+ -- Therefore ignore first letter from `:gsub('[\\\\/]+', '/')`.\n+ -- `//` is not a valid UNC path, hence converted to `/` with `:gsub('/$', '')`.\n+ -- This also keeps traling slash in the case of root `/`, but removes it otherwise.\n+\n+ if iswin and path:sub(2, 2) == ':' then -- capitalize windows drive name", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1474356661", + "id": 1474356661, + "in_reply_to_id": 1474141088, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X4OW1", + "original_commit_id": "ad69d6597c87d69261971bd6909fa95739e0bcf4", + "original_line": 366, + "original_position": 35, + "original_start_line": null, + "path": "runtime/lua/vim/fs.lua", + "position": null, + "pull_request_review_id": 1856333251, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474356661/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T12:10:05Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474356661", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41065736?v=4", + "events_url": "https://api.github.com/users/pysan3/events{/privacy}", + "followers_url": "https://api.github.com/users/pysan3/followers", + "following_url": "https://api.github.com/users/pysan3/following{/other_user}", + "gists_url": "https://api.github.com/users/pysan3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/pysan3", + "id": 41065736, + "login": "pysan3", + "node_id": "MDQ6VXNlcjQxMDY1NzM2", + "organizations_url": "https://api.github.com/users/pysan3/orgs", + "received_events_url": "https://api.github.com/users/pysan3/received_events", + "repos_url": "https://api.github.com/users/pysan3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/pysan3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/pysan3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/pysan3" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27202#discussion_r1474403639" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27202" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474403639" + } + }, + "author_association": "MEMBER", + "body": "> I thought you understood this while writing https://github.com/neovim/neovin/pull/27202#discussion_r1474262585?\r\nIt is the exact behavior you wrote in the comments.\r\n\r\nNo, not at all. That specific code is all about normalizing slashes AND preserving leading `//`. It has nothing to do with the single `C:/` edge case.\r\n\r\n> In https://github.com/neovim/neovim/issues/27068 you refused to bring UNC paths because it is not supported by the Unix path standard. And now I feel like you are trying to support all edge cases for every file system. May I ask what direction you are towards right now?\r\n\r\nWe support it or we don't support it. We've decided to support it and there is a glaring bug in this code.\r\n\r\nTo put it simply.\r\n\r\n```\r\nc:some_invalid_path\r\n```\r\nshould NOT normalize to:\r\n```\r\nC:/ome_invalid_path\r\n```", + "commit_id": "1c7a03f7a878d2723420a1832128478660f06051", + "created_at": "2024-02-01T12:43:06Z", + "diff_hunk": "@@ -349,22 +349,24 @@ function M.normalize(path, opts)\n })\n \n if path:sub(1, 1) == '~' then\n- local home = vim.uv.os_homedir() or '~'\n- if home:sub(-1) == '\\\\' or home:sub(-1) == '/' then\n- home = home:sub(1, -2)\n- end\n- path = home .. path:sub(2)\n+ path = (vim.uv.os_homedir() or '~') .. '/' .. path:sub(2)\n end\n \n if opts.expand_env == nil or opts.expand_env then\n path = path:gsub('%$([%w_]+)', vim.uv.os_getenv)\n end\n \n- path = path:gsub('\\\\', '/'):gsub('/+', '/')\n- if iswin and path:match('^%w:/$') then\n- return path\n+ local first = path:sub(1, 1)\n+ path = (first == '\\\\' and '/' or first) .. path:sub(2):gsub('[\\\\/]+', '/'):gsub('/$', '')\n+ -- UNC path starts with double (or more) slash, followed by more than one character.\n+ -- Therefore ignore first letter from `:gsub('[\\\\/]+', '/')`.\n+ -- `//` is not a valid UNC path, hence converted to `/` with `:gsub('/$', '')`.\n+ -- This also keeps traling slash in the case of root `/`, but removes it otherwise.\n+\n+ if iswin and path:sub(2, 2) == ':' then -- capitalize windows drive name", + "html_url": "https://github.com/neovim/neovim/pull/27202#discussion_r1474403639", + "id": 1474403639, + "in_reply_to_id": 1474141088, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X4Z03", + "original_commit_id": "ad69d6597c87d69261971bd6909fa95739e0bcf4", + "original_line": 366, + "original_position": 35, + "original_start_line": null, + "path": "runtime/lua/vim/fs.lua", + "position": null, + "pull_request_review_id": 1856400463, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27202", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474403639/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T12:43:33Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474403639", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + } + ], + "comment_regular_data": [ + { + "author_association": "NONE", + "body": "Do you think unc = true should be the default?", + "created_at": "2024-01-31T04:11:09Z", + "html_url": "https://github.com/neovim/neovim/pull/27202#issuecomment-1918347208", + "id": 1918347208, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27202", + "node_id": "IC_kwDOAPphoM5yV6fI", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918347208/reactions" + }, + "updated_at": "2024-01-31T04:11:09Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918347208", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41065736?v=4", + "events_url": "https://api.github.com/users/pysan3/events{/privacy}", + "followers_url": "https://api.github.com/users/pysan3/followers", + "following_url": "https://api.github.com/users/pysan3/following{/other_user}", + "gists_url": "https://api.github.com/users/pysan3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/pysan3", + "id": 41065736, + "login": "pysan3", + "node_id": "MDQ6VXNlcjQxMDY1NzM2", + "organizations_url": "https://api.github.com/users/pysan3/orgs", + "received_events_url": "https://api.github.com/users/pysan3/received_events", + "repos_url": "https://api.github.com/users/pysan3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/pysan3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/pysan3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/pysan3" + } + }, + { + "author_association": "MEMBER", + "body": "# Proposal\r\n\r\n- Let's start by special-casing `//foo`. Although that violates the \"determinism\" of `normalize()`, in practice it's unlikely to matter. \r\n - That's also what python does: https://github.com/neovim/neovim/issues/27068#issuecomment-1919219691\r\n - And .NET `Uri`: https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/5.0/unc-path-recognition-unix\r\n- `//` must be followed by something to be considered UNC. `//foo` is UNC, `//` is not.\r\n- `normalize()` never _adds_ a double-slash, but it should be able to _accept_ UNC (double-slash) paths without mangling them. Same for drive-letter paths.\r\n- The goal of `normalize()` is to produce a canonical result for all equivalent forms of any kind of path. That means it should also consistently set drive-letter to uppercase or lowercase (doesn't matter which I guess, but it should choose one).\r\n\r\n\r\n\r\nSo the following test cases represent what I propose:\r\n\r\n```\r\n//foo => //foo # UNC path.\r\n///foo => //foo # UNC path. Alternatively we could treat as invalid UNC, then => /foo\r\n/foo => /foo # Not a UNC path.\r\n/ => / # Not a UNC path.\r\n// => / # Not a UNC path.\r\n/// => / # Not a UNC path.\r\n//foo//bar//// => //foo/bar # UNC path.\r\n/foo//bar//// => /foo/bar # Not a UNC path.\r\n/foo// => /foo # Not a UNC path.\r\n```", + "created_at": "2024-01-31T14:12:33Z", + "html_url": "https://github.com/neovim/neovim/pull/27202#issuecomment-1919183890", + "id": 1919183890, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27202", + "node_id": "IC_kwDOAPphoM5yZGwS", + "performed_via_github_app": null, + "reactions": { + "+1": 3, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 3, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919183890/reactions" + }, + "updated_at": "2024-01-31T15:15:19Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919183890", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "NONE", + "body": "Thank you very much for your feedbacks.\r\n\r\nI totally agree with @justinmk 's proposal, and fixed the code to support UNC paths.\r\n\r\nI've removed `collapse_slashes` option and changed the code to support UNC paths out of the box.\r\nI've also added test cases listed in https://github.com/neovim/neovim/pull/27202#issuecomment-1919183890 in `fs_spec.lua`. Thanks @justinmk !\r\n\r\nAs suggested [here](https://github.com/neovim/neovim/pull/27202#discussion_r1472897840), I also made it so drive name in Windows paths (`C:/`) will always be capitalized (and added tests as well).\r\n\r\nI'd be more than happy to hear your opinions! @justinmk @wookayin @lewis6991 @gpanders @dundargoc \r\n\r\nP.S Are the comments useful? I'm not a native English speaker so the explanation might not be clear.", + "created_at": "2024-01-31T16:33:10Z", + "html_url": "https://github.com/neovim/neovim/pull/27202#issuecomment-1919471413", + "id": 1919471413, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27202", + "node_id": "IC_kwDOAPphoM5yaM81", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919471413/reactions" + }, + "updated_at": "2024-01-31T16:33:10Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919471413", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41065736?v=4", + "events_url": "https://api.github.com/users/pysan3/events{/privacy}", + "followers_url": "https://api.github.com/users/pysan3/followers", + "following_url": "https://api.github.com/users/pysan3/following{/other_user}", + "gists_url": "https://api.github.com/users/pysan3/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/pysan3", + "id": 41065736, + "login": "pysan3", + "node_id": "MDQ6VXNlcjQxMDY1NzM2", + "organizations_url": "https://api.github.com/users/pysan3/orgs", + "received_events_url": "https://api.github.com/users/pysan3/received_events", + "repos_url": "https://api.github.com/users/pysan3/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/pysan3/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/pysan3/subscriptions", + "type": "User", + "url": "https://api.github.com/users/pysan3" + } } ], - "comment_regular_data": [], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27202/comments", "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27202/commits", "created_at": "2024-01-26T01:14:32Z", @@ -610,9 +2599,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/pysan3/neovim/pulls{/number}", - "pushed_at": "2024-01-26T02:27:37Z", + "pushed_at": "2024-02-01T11:33:17Z", "releases_url": "https://api.github.com/repos/pysan3/neovim/releases{/id}", - "size": 253234, + "size": 254258, "ssh_url": "git@github.com:pysan3/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/pysan3/neovim/stargazers", @@ -631,7 +2620,7 @@ "watchers_count": 0, "web_commit_signoff_required": false }, - "sha": "0a3876aa9852671900bff35f0a35dcbc5db43a38", + "sha": "1c7a03f7a878d2723420a1832128478660f06051", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/41065736?v=4", "events_url": "https://api.github.com/users/pysan3/events{/privacy}", @@ -668,7 +2657,7 @@ } ], "locked": false, - "merge_commit_sha": "fbd6978b069926eed9917bc35253b1f1600ee071", + "merge_commit_sha": "e15d9d9b57175229d49776a9839989b08f0c27df", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5lHpNb", @@ -679,9 +2668,9 @@ "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27202/comments", "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/0a3876aa9852671900bff35f0a35dcbc5db43a38", - "title": "feat(fs): add unique_slash to fs.normalize to keep duplicate slashes", - "updated_at": "2024-01-26T02:28:42Z", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/1c7a03f7a878d2723420a1832128478660f06051", + "title": "feat(fs): add UNC paths support in fs.normalize", + "updated_at": "2024-02-01T12:43:06Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/27202", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/41065736?v=4", diff --git a/repositories/neovim/pulls/27213.json b/repositories/neovim/pulls/27213.json index df8d9cb3..b69f8a94 100644 --- a/repositories/neovim/pulls/27213.json +++ b/repositories/neovim/pulls/27213.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/27213" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/cab06eb1ec9bc83214c74c931d3952eadbe69a81" + "href": "https://api.github.com/repos/neovim/neovim/statuses/898722aeb27da2b29f1d63ff7fb26bcd9b187853" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5174, - "forks_count": 5174, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1735, - "open_issues_count": 1735, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-30T00:09:25Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251558, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 73268, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-30T01:30:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 73268, - "watchers_count": 73268, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, - "sha": "758504ec739b70c4e2f192feb106f101024bc862", + "sha": "4c91194611086916c833d61e28e2f5e689316e83", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -186,7 +186,7 @@ }, "author_association": "MEMBER", "body": "Any reason/discussion/context for removing this? just because not used (*yet*)?", - "commit_id": "cab06eb1ec9bc83214c74c931d3952eadbe69a81", + "commit_id": "898722aeb27da2b29f1d63ff7fb26bcd9b187853", "created_at": "2024-01-26T15:27:05Z", "diff_hunk": "@@ -117,15 +117,6 @@ The following changes may require adaptations in user config or plugins.\n list is documented in |treesitter-highlight-groups|.\n \n \n-==============================================================================\n-BREAKING CHANGES IN HEAD *news-breaking-dev*\n-\n-The following breaking changes were made during the development cycle to\n-unreleased features on Nvim HEAD.\n-\n-• ...\n-• ...\n-", "html_url": "https://github.com/neovim/neovim/pull/27213#discussion_r1467795704", @@ -254,7 +254,7 @@ }, "author_association": "MEMBER", "body": "`news.txt` is supposed to be only for changes between releases. It becomes a clusterfuck if we need to keep track of changes from two perspectives (master+release) in the same file. For breaking changes on master we already have conventional commits that state it is a breaking change.", - "commit_id": "cab06eb1ec9bc83214c74c931d3952eadbe69a81", + "commit_id": "898722aeb27da2b29f1d63ff7fb26bcd9b187853", "created_at": "2024-01-26T15:41:55Z", "diff_hunk": "@@ -117,15 +117,6 @@ The following changes may require adaptations in user config or plugins.\n list is documented in |treesitter-highlight-groups|.\n \n \n-==============================================================================\n-BREAKING CHANGES IN HEAD *news-breaking-dev*\n-\n-The following breaking changes were made during the development cycle to\n-unreleased features on Nvim HEAD.\n-\n-• ...\n-• ...\n-", "html_url": "https://github.com/neovim/neovim/pull/27213#discussion_r1467812465", @@ -323,7 +323,7 @@ }, "author_association": "MEMBER", "body": "To be clear, the intention has always been to remove this section before release, so this can just be a dumping ground for \"hey, pay attention!\"\r\n\r\nBut since pretty much nobody pays attention anyway...", - "commit_id": "cab06eb1ec9bc83214c74c931d3952eadbe69a81", + "commit_id": "898722aeb27da2b29f1d63ff7fb26bcd9b187853", "created_at": "2024-01-26T15:53:38Z", "diff_hunk": "@@ -117,15 +117,6 @@ The following changes may require adaptations in user config or plugins.\n list is documented in |treesitter-highlight-groups|.\n \n \n-==============================================================================\n-BREAKING CHANGES IN HEAD *news-breaking-dev*\n-\n-The following breaking changes were made during the development cycle to\n-unreleased features on Nvim HEAD.\n-\n-• ...\n-• ...\n-", "html_url": "https://github.com/neovim/neovim/pull/27213#discussion_r1467825433", @@ -392,7 +392,7 @@ }, "author_association": "MEMBER", "body": "> `news.txt` is supposed to be only for changes between releases.\r\n\r\nNot sure where that idea came from. The reason we were able to close the \"following head\" issue https://github.com/neovim/neovim/issues/14090 is because we intended to use news.txt to track HEAD changes.\r\n\r\nThere is no risk of \"clusterfuck\". It's just one section that can be updated, and deleted at release-time.\r\n\r\n> But since pretty much nobody pays attention anyway...\r\n\r\nWell, I only added this section ~1 month ago. It might take some time to start using it again, assuming that \"following HEAD\" was a useful concept. Somehow this got overlooked during the original news.txt effort.", - "commit_id": "cab06eb1ec9bc83214c74c931d3952eadbe69a81", + "commit_id": "898722aeb27da2b29f1d63ff7fb26bcd9b187853", "created_at": "2024-01-26T23:55:57Z", "diff_hunk": "@@ -117,15 +117,6 @@ The following changes may require adaptations in user config or plugins.\n list is documented in |treesitter-highlight-groups|.\n \n \n-==============================================================================\n-BREAKING CHANGES IN HEAD *news-breaking-dev*\n-\n-The following breaking changes were made during the development cycle to\n-unreleased features on Nvim HEAD.\n-\n-• ...\n-• ...\n-", "html_url": "https://github.com/neovim/neovim/pull/27213#discussion_r1468247149", @@ -461,7 +461,7 @@ }, "author_association": "MEMBER", "body": "Alright, I'll revert it then.", - "commit_id": "cab06eb1ec9bc83214c74c931d3952eadbe69a81", + "commit_id": "898722aeb27da2b29f1d63ff7fb26bcd9b187853", "created_at": "2024-01-27T00:10:23Z", "diff_hunk": "@@ -117,15 +117,6 @@ The following changes may require adaptations in user config or plugins.\n list is documented in |treesitter-highlight-groups|.\n \n \n-==============================================================================\n-BREAKING CHANGES IN HEAD *news-breaking-dev*\n-\n-The following breaking changes were made during the development cycle to\n-unreleased features on Nvim HEAD.\n-\n-• ...\n-• ...\n-", "html_url": "https://github.com/neovim/neovim/pull/27213#discussion_r1468252415", @@ -530,7 +530,7 @@ }, "author_association": "MEMBER", "body": "> Somehow this got overlooked during the original news.txt effort.\r\n\r\nJust for the record: Not quite; the \"original news.txt effort\" aimed at something different (replacing the release newsletter, or at least making it easier to generate). \"We don't need Following HEAD now\" was a later, separate, decision.", - "commit_id": "cab06eb1ec9bc83214c74c931d3952eadbe69a81", + "commit_id": "898722aeb27da2b29f1d63ff7fb26bcd9b187853", "created_at": "2024-01-27T09:51:34Z", "diff_hunk": "@@ -117,15 +117,6 @@ The following changes may require adaptations in user config or plugins.\n list is documented in |treesitter-highlight-groups|.\n \n \n-==============================================================================\n-BREAKING CHANGES IN HEAD *news-breaking-dev*\n-\n-The following breaking changes were made during the development cycle to\n-unreleased features on Nvim HEAD.\n-\n-• ...\n-• ...\n-", "html_url": "https://github.com/neovim/neovim/pull/27213#discussion_r1468432738", @@ -599,7 +599,7 @@ }, "author_association": "MEMBER", "body": "Yes, that was the impression I got as well which is why I had the idea that news.txt wasn't for HEAD changes. In any case, I don't mind testing out this format and see if it works for us.", - "commit_id": "cab06eb1ec9bc83214c74c931d3952eadbe69a81", + "commit_id": "898722aeb27da2b29f1d63ff7fb26bcd9b187853", "created_at": "2024-01-27T10:06:14Z", "diff_hunk": "@@ -117,15 +117,6 @@ The following changes may require adaptations in user config or plugins.\n list is documented in |treesitter-highlight-groups|.\n \n \n-==============================================================================\n-BREAKING CHANGES IN HEAD *news-breaking-dev*\n-\n-The following breaking changes were made during the development cycle to\n-unreleased features on Nvim HEAD.\n-\n-• ...\n-• ...\n-", "html_url": "https://github.com/neovim/neovim/pull/27213#discussion_r1468435685", @@ -749,9 +749,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/dundargoc/neovim/pulls{/number}", - "pushed_at": "2024-01-29T20:02:03Z", + "pushed_at": "2024-02-05T23:03:30Z", "releases_url": "https://api.github.com/repos/dundargoc/neovim/releases{/id}", - "size": 248250, + "size": 249044, "ssh_url": "git@github.com:dundargoc/neovim.git", "stargazers_count": 1, "stargazers_url": "https://api.github.com/repos/dundargoc/neovim/stargazers", @@ -770,7 +770,7 @@ "watchers_count": 1, "web_commit_signoff_required": false }, - "sha": "cab06eb1ec9bc83214c74c931d3952eadbe69a81", + "sha": "898722aeb27da2b29f1d63ff7fb26bcd9b187853", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", @@ -807,7 +807,7 @@ } ], "locked": false, - "merge_commit_sha": "a9d328829ded884a473e4b3865a6aa7c25766238", + "merge_commit_sha": "a02e3fc59e7f5bdcd6559ed4c2aeed538c88e8ad", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5lKLd5", @@ -818,9 +818,9 @@ "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27213/comments", "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/cab06eb1ec9bc83214c74c931d3952eadbe69a81", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/898722aeb27da2b29f1d63ff7fb26bcd9b187853", "title": "docs: small fixes", - "updated_at": "2024-01-29T13:38:33Z", + "updated_at": "2024-02-01T13:24:23Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/27213", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", diff --git a/repositories/neovim/pulls/27216.json b/repositories/neovim/pulls/27216.json index 4c4468d3..d3a5b398 100644 --- a/repositories/neovim/pulls/27216.json +++ b/repositories/neovim/pulls/27216.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/27216" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/79bea0199d836a10e5677592611da57d1e13ab40" + "href": "https://api.github.com/repos/neovim/neovim/statuses/24cea4c7f7417c7fe99a98a0487f51dd68c4f409" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5174, - "forks_count": 5174, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1735, - "open_issues_count": 1735, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-30T00:09:25Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251558, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 73268, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-30T01:30:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 73268, - "watchers_count": 73268, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, - "sha": "be5cf338362244a944cdeebf07520f85d7d93226", + "sha": "1bf645918e94e7e8f770592484164f1ee303f24e", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -169,8 +169,8 @@ "url": "https://api.github.com/users/neovim" } }, - "body": "The benefit of this is that users only pay for what they use. If e.g.\nonly `vim.lsp.buf_get_clients()` is called then they don't need to load\nall submodules under `vim.lsp` which could lead to significant\nstartuptime saving.\n\nAlso `vim.lsp.module` is a bit nicer to user compared to\n`require(\"vim.lsp.module\")`.", - "closed_at": null, + "body": "The benefit of this is that users only pay for what they use. If e.g.\nonly `vim.lsp.buf_get_clients()` is called then they don't need to load\nall modules under `vim.lsp` which could lead to significant startuptime\nsaving.\n\nAlso `vim.lsp.module` is a bit nicer to user compared to\n`require(\"vim.lsp.module\")`.\n\nThis isn't used for some nested modules such as `filetype` as it breaks\ntests with error messages such as \"attempt to index field 'detect'\".\nIt's not entirely certain the reason for this, but it is likely it is\ndue to filetype being precompiled which would imply deferred loading\nisn't needed for performance reasons.", + "closed_at": "2024-02-03T15:53:42Z", "comment_data": [ { "_links": { @@ -186,7 +186,7 @@ }, "author_association": "MEMBER", "body": "this block negates most of the effects of `_dunderload_submodules`. Is that intentional?", - "commit_id": "79bea0199d836a10e5677592611da57d1e13ab40", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", "created_at": "2024-01-26T15:40:05Z", "diff_hunk": "@@ -16,24 +7,39 @@ local tbl_isempty, tbl_extend = vim.tbl_isempty, vim.tbl_extend\n local validate = vim.validate\n local if_nil = vim.F.if_nil\n \n-local lsp = {\n- protocol = protocol,\n-\n- handlers = default_handlers,\n+local submodules = {\n+ '_changetracking',\n+ '_completion',\n+ '_dynamic',\n+ 'buf',\n+ 'codelens',\n+ 'diagnostic',\n+ 'handlers',\n+ 'inlay_hint',\n+ 'log',\n+ 'protocol',\n+ 'rpc',\n+ 'semantic_tokens',\n+ 'tagfunc',\n+ 'util',\n+}\n+local dundarload_submodules = vim._dundarload_submodules('vim.lsp', submodules)\n+local lsp = setmetatable({}, dundarload_submodules)\n \n- buf = require('vim.lsp.buf'),\n- diagnostic = require('vim.lsp.diagnostic'),\n- codelens = require('vim.lsp.codelens'),\n- inlay_hint = require('vim.lsp.inlay_hint'),\n- semantic_tokens = semantic_tokens,\n- util = util,\n+local default_handlers = lsp.handlers\n+local log = lsp.log\n+local lsp_rpc = lsp.rpc\n+local protocol = lsp.protocol\n+local ms = protocol.Methods\n+local util = lsp.util\n+local changetracking = lsp._changetracking\n+local semantic_tokens = lsp.semantic_tokens", "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1467810282", @@ -254,7 +254,7 @@ }, "author_association": "MEMBER", "body": "Huh, you're absolutely right. I missed that. Thanks.", - "commit_id": "79bea0199d836a10e5677592611da57d1e13ab40", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", "created_at": "2024-01-26T15:43:27Z", "diff_hunk": "@@ -16,24 +7,39 @@ local tbl_isempty, tbl_extend = vim.tbl_isempty, vim.tbl_extend\n local validate = vim.validate\n local if_nil = vim.F.if_nil\n \n-local lsp = {\n- protocol = protocol,\n-\n- handlers = default_handlers,\n+local submodules = {\n+ '_changetracking',\n+ '_completion',\n+ '_dynamic',\n+ 'buf',\n+ 'codelens',\n+ 'diagnostic',\n+ 'handlers',\n+ 'inlay_hint',\n+ 'log',\n+ 'protocol',\n+ 'rpc',\n+ 'semantic_tokens',\n+ 'tagfunc',\n+ 'util',\n+}\n+local dundarload_submodules = vim._dundarload_submodules('vim.lsp', submodules)\n+local lsp = setmetatable({}, dundarload_submodules)\n \n- buf = require('vim.lsp.buf'),\n- diagnostic = require('vim.lsp.diagnostic'),\n- codelens = require('vim.lsp.codelens'),\n- inlay_hint = require('vim.lsp.inlay_hint'),\n- semantic_tokens = semantic_tokens,\n- util = util,\n+local default_handlers = lsp.handlers\n+local log = lsp.log\n+local lsp_rpc = lsp.rpc\n+local protocol = lsp.protocol\n+local ms = protocol.Methods\n+local util = lsp.util\n+local changetracking = lsp._changetracking\n+local semantic_tokens = lsp.semantic_tokens", "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1467814219", @@ -323,7 +323,7 @@ }, "author_association": "MEMBER", "body": "this looks sus", - "commit_id": "79bea0199d836a10e5677592611da57d1e13ab40", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", "created_at": "2024-01-26T15:52:39Z", "diff_hunk": "@@ -16,24 +7,39 @@ local tbl_isempty, tbl_extend = vim.tbl_isempty, vim.tbl_extend\n local validate = vim.validate\n local if_nil = vim.F.if_nil\n \n-local lsp = {\n- protocol = protocol,\n-\n- handlers = default_handlers,\n+local submodules = {\n+ '_changetracking',\n+ '_completion',\n+ '_dynamic',\n+ 'buf',\n+ 'codelens',\n+ 'diagnostic',\n+ 'handlers',\n+ 'inlay_hint',\n+ 'log',\n+ 'protocol',\n+ 'rpc',\n+ 'semantic_tokens',\n+ 'tagfunc',\n+ 'util',\n+}\n+local dundarload_submodules = vim._dundarload_submodules('vim.lsp', submodules)\n+local lsp = setmetatable({}, dundarload_submodules)\n \n- buf = require('vim.lsp.buf'),\n- diagnostic = require('vim.lsp.diagnostic'),\n- codelens = require('vim.lsp.codelens'),\n- inlay_hint = require('vim.lsp.inlay_hint'),\n- semantic_tokens = semantic_tokens,\n- util = util,\n+local default_handlers = lsp.handlers\n+local log = lsp.log\n+local lsp_rpc = lsp.rpc\n+local protocol = lsp.protocol\n+local ms = protocol.Methods\n+local util = lsp.util\n+local changetracking = lsp._changetracking\n+local semantic_tokens = lsp.semantic_tokens\n \n- -- Allow raw RPC access.\n- rpc = lsp_rpc,\n+-- Allow raw RPC access.\n+lsp.rpc = lsp_rpc", "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1467824231", @@ -391,7 +391,7 @@ }, "author_association": "MEMBER", "body": "I've kept some of the more regular ones. Lemme know if you think I should dundarfy them as well.", - "commit_id": "79bea0199d836a10e5677592611da57d1e13ab40", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", "created_at": "2024-01-26T16:05:26Z", "diff_hunk": "@@ -16,24 +7,39 @@ local tbl_isempty, tbl_extend = vim.tbl_isempty, vim.tbl_extend\n local validate = vim.validate\n local if_nil = vim.F.if_nil\n \n-local lsp = {\n- protocol = protocol,\n-\n- handlers = default_handlers,\n+local submodules = {\n+ '_changetracking',\n+ '_completion',\n+ '_dynamic',\n+ 'buf',\n+ 'codelens',\n+ 'diagnostic',\n+ 'handlers',\n+ 'inlay_hint',\n+ 'log',\n+ 'protocol',\n+ 'rpc',\n+ 'semantic_tokens',\n+ 'tagfunc',\n+ 'util',\n+}\n+local dundarload_submodules = vim._dundarload_submodules('vim.lsp', submodules)\n+local lsp = setmetatable({}, dundarload_submodules)\n \n- buf = require('vim.lsp.buf'),\n- diagnostic = require('vim.lsp.diagnostic'),\n- codelens = require('vim.lsp.codelens'),\n- inlay_hint = require('vim.lsp.inlay_hint'),\n- semantic_tokens = semantic_tokens,\n- util = util,\n+local default_handlers = lsp.handlers\n+local log = lsp.log\n+local lsp_rpc = lsp.rpc\n+local protocol = lsp.protocol\n+local ms = protocol.Methods\n+local util = lsp.util\n+local changetracking = lsp._changetracking\n+local semantic_tokens = lsp.semantic_tokens", "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1467839010", @@ -460,7 +460,7 @@ }, "author_association": "MEMBER", "body": "We need this for all the submodules as this type information will propagate to other files.", - "commit_id": "79bea0199d836a10e5677592611da57d1e13ab40", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", "created_at": "2024-01-26T16:58:12Z", "diff_hunk": "@@ -16,24 +7,41 @@ local tbl_isempty, tbl_extend = vim.tbl_isempty, vim.tbl_extend\n local validate = vim.validate\n local if_nil = vim.F.if_nil\n \n-local lsp = {\n- protocol = protocol,\n-\n- handlers = default_handlers,\n-\n- buf = require('vim.lsp.buf'),\n- diagnostic = require('vim.lsp.diagnostic'),\n- codelens = require('vim.lsp.codelens'),\n- inlay_hint = require('vim.lsp.inlay_hint'),\n- semantic_tokens = semantic_tokens,\n- util = util,\n-\n- -- Allow raw RPC access.\n- rpc = lsp_rpc,\n-\n- -- Export these directly from rpc.\n- rpc_response_error = lsp_rpc.rpc_response_error,\n+local submodules = {\n+ '_changetracking',\n+ '_completion',\n+ '_dynamic',\n+ 'buf',\n+ 'codelens',\n+ 'diagnostic',\n+ 'handlers',\n+ 'inlay_hint',\n+ 'log',\n+ 'protocol',\n+ 'rpc',\n+ 'semantic_tokens',\n+ 'tagfunc',\n+ 'util',\n }\n+local dundarload_submodules = vim._dundarload_submodules('vim.lsp', submodules)\n+local lsp = setmetatable({}, dundarload_submodules)\n+\n+lsp._changetracking = nil --- @module 'vim.lsp._changetracking'\n+lsp._completion = nil --- @module 'vim.lsp._completion'\n+lsp.util = nil --- @module 'vim.lsp.util'\n+lsp.log = nil --- @module 'vim.lsp.log'\n+lsp.protocol = nil --- @module 'vim.lsp.protocol'\n+lsp.rpc = nil --- @module 'vim.lsp.rpc'\n+lsp.diagnostic = nil --- @module 'vim.lsp.diagnostic'", "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1467896943", @@ -528,7 +528,7 @@ }, "author_association": "MEMBER", "body": "What do you think if we mangled this to something like:\r\n\r\n```lua\r\n--- @generic T\r\n--- @param root string\r\n--- @param _mod T\r\n--- @return T\r\nlocal function dundarload_modules(root, _mod)\r\n return setmetatable({}, {\r\n __index = function(t, k)\r\n t[k] = require(string.format('%s.%s', root, k))\r\n return t[k]\r\n end\r\n })\r\nend\r\n\r\nlocal lsp = dundarload_modules('vim.lsp', {\r\n _changetracking = ..., --- @module 'vim.lsp._changetracking'\r\n _completion = ..., --- @module 'vim.lsp._completion'\r\n _dynamic = ..., --- @module 'vim.lsp._dynamic'\r\n buf = ..., --- @module 'vim.lsp.buf'\r\n codelens = ..., --- @module 'vim.lsp.codelens'\r\n diagnostic = ..., --- @module 'vim.lsp.diagnostic'\r\n handlers = ..., --- @module 'vim.lsp.handlers'\r\n inlay_hint = ..., --- @module 'vim.lsp.inlay_hint'\r\n log = ..., --- @module 'vim.lsp.log'\r\n protocol = ..., --- @module 'vim.lsp.protocol'\r\n rpc = ..., --- @module 'vim.lsp.rpc'\r\n semantic_tokens = ..., --- @module 'vim.lsp.semantic_tokens'\r\n tagfunc = ..., --- @module 'vim.lsp.tagfunc'\r\n util = ... --- @module 'vim.lsp.util'\r\n})\r\n```\r\n\r\nor is that going too far?\r\n\r\n", - "commit_id": "79bea0199d836a10e5677592611da57d1e13ab40", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", "created_at": "2024-01-26T17:07:38Z", "diff_hunk": "@@ -16,24 +7,48 @@ local tbl_isempty, tbl_extend = vim.tbl_isempty, vim.tbl_extend\n local validate = vim.validate\n local if_nil = vim.F.if_nil\n \n-local lsp = {\n- protocol = protocol,\n-\n- handlers = default_handlers,\n-\n- buf = require('vim.lsp.buf'),\n- diagnostic = require('vim.lsp.diagnostic'),\n- codelens = require('vim.lsp.codelens'),\n- inlay_hint = require('vim.lsp.inlay_hint'),\n- semantic_tokens = semantic_tokens,\n- util = util,\n-\n- -- Allow raw RPC access.\n- rpc = lsp_rpc,\n-\n- -- Export these directly from rpc.\n- rpc_response_error = lsp_rpc.rpc_response_error,\n+local submodules = {\n+ '_changetracking',\n+ '_completion',\n+ '_dynamic',\n+ 'buf',\n+ 'codelens',\n+ 'diagnostic',\n+ 'handlers',\n+ 'inlay_hint',\n+ 'log',\n+ 'protocol',\n+ 'rpc',\n+ 'semantic_tokens',\n+ 'tagfunc',\n+ 'util',\n }\n+local dundarload_submodules = vim._dundarload_submodules('vim.lsp', submodules)\n+local lsp = setmetatable({}, dundarload_submodules)\n+\n+lsp._changetracking = nil --- @module 'vim.lsp._changetracking'\n+lsp._completion = nil --- @module 'vim.lsp._completion'\n+lsp._dynamic = nil --- @module 'vim.lsp._dynamic'\n+lsp.buf = nil --- @module 'vim.lsp.buf'\n+lsp.codelens = nil --- @module 'vim.lsp.codelens'\n+lsp.diagnostic = nil --- @module 'vim.lsp.diagnostic'\n+lsp.handlers = nil --- @module 'vim.lsp.handlers'\n+lsp.inlay_hint = nil --- @module 'vim.lsp.inlay_hint'\n+lsp.log = nil --- @module 'vim.lsp.log'\n+lsp.protocol = nil --- @module 'vim.lsp.protocol'\n+lsp.rpc = nil --- @module 'vim.lsp.rpc'\n+lsp.semantic_tokens = nil --- @module 'vim.lsp.semantic_tokens'\n+lsp.tagfunc = nil --- @module 'vim.lsp.tagfunc'\n+lsp.util = nil --- @module 'vim.lsp.util'", "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1467906173", @@ -596,7 +596,7 @@ }, "author_association": "MEMBER", "body": "This is a class rather than a module, so should remain as `LanguageTree` (the module returns class itself). We can consider `vim.treesitter.languagetree` returns a table `M = { LanguageTree = ... }` instead.", - "commit_id": "79bea0199d836a10e5677592611da57d1e13ab40", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", "created_at": "2024-01-26T17:08:14Z", "diff_hunk": "@@ -61,7 +37,7 @@ function M._create_parser(bufnr, lang, opts)\n \n vim.fn.bufload(bufnr)\n \n- local self = LanguageTree.new(bufnr, lang, opts)\n+ local self = M.languagetree.new(bufnr, lang, opts)", "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1467906699", @@ -664,7 +664,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\n local ok, ret = pcall(require, string.format('%s.%s', root, k))\n if ok then\n t[k] = ret\n end\n```\n", - "commit_id": "79bea0199d836a10e5677592611da57d1e13ab40", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", "created_at": "2024-01-26T23:33:42Z", "diff_hunk": "@@ -983,4 +983,17 @@ do\n end\n end\n \n+--- @generic T\n+--- @param root string\n+--- @param _mod T\n+--- @return T\n+function vim._deferload_submodules(root, _mod)\n+ return setmetatable({}, {\n+ __index = function(t, k)\n+ t[k] = require(string.format('%s.%s', root, k))", "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1468237429", @@ -672,7 +672,7 @@ "line": null, "node_id": "PRRC_kwDOAPphoM5Xg4Z1", "original_commit_id": "b2fa906cd3ab46e9c30b0289377904522e25d8b4", - "original_line": 993, + "original_line": 994, "original_position": 11, "original_start_line": null, "path": "runtime/lua/vim/shared.lua", @@ -732,7 +732,7 @@ }, "author_association": "MEMBER", "body": "Q: What about errors upon `require`-ing? Shouldn't it throw rather than swallowing?", - "commit_id": "79bea0199d836a10e5677592611da57d1e13ab40", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", "created_at": "2024-01-27T00:11:37Z", "diff_hunk": "@@ -983,4 +983,17 @@ do\n end\n end\n \n+--- @generic T\n+--- @param root string\n+--- @param _mod T\n+--- @return T\n+function vim._deferload_submodules(root, _mod)\n+ return setmetatable({}, {\n+ __index = function(t, k)\n+ t[k] = require(string.format('%s.%s', root, k))", "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1468252862", @@ -741,7 +741,7 @@ "line": null, "node_id": "PRRC_kwDOAPphoM5Xg8K-", "original_commit_id": "b2fa906cd3ab46e9c30b0289377904522e25d8b4", - "original_line": 993, + "original_line": 994, "original_position": 11, "original_start_line": null, "path": "runtime/lua/vim/shared.lua", @@ -801,7 +801,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\n options = ..., --- @module 'vim.filetype.options\n```\n", - "commit_id": "79bea0199d836a10e5677592611da57d1e13ab40", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", "created_at": "2024-01-27T00:22:20Z", "diff_hunk": "@@ -1,7 +1,10 @@\n local api = vim.api\n local fn = vim.fn\n \n-local M = {}\n+local M = vim._deferload_submodules('vim.filetype', {\n+ detect = ..., --- @module 'vim.filetype.detect\n+ options = ..., --- @module 'vim.filetype.detect", "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1468256346", @@ -869,7 +869,7 @@ }, "author_association": "MEMBER", "body": "Don't really see the difference really, but sure, readded `LanguageTree`", - "commit_id": "79bea0199d836a10e5677592611da57d1e13ab40", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", "created_at": "2024-01-27T12:01:36Z", "diff_hunk": "@@ -61,7 +37,7 @@ function M._create_parser(bufnr, lang, opts)\n \n vim.fn.bufload(bufnr)\n \n- local self = LanguageTree.new(bufnr, lang, opts)\n+ local self = M.languagetree.new(bufnr, lang, opts)", "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1468449879", @@ -938,19 +938,19 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n ---@param t table\r\n ---@param k string\r\n __index = function(t, k)\r\n if not _mod[k] then\r\n return nil\r\n end\r\n local modname = string.format('%s.%s', root, k)\r\n ---@type boolean, any\r\n local ok, ret = pcall(require, modname)\r\n```\r\n\r\n\r\n* `vim.treesitter.submodule_that_does_not_exist` should return nil (without errors)\r\n\r\n* `vim.treesitter.submodule_to_defer_load` should (re-)throw errors if an error would be thrown on `require`-ing that module.\r\n\r\nIn order to make this possible, we'll need to change the \"deferload\" declaration as:\r\n\r\n```diff\r\n local M = vim._deferload_submodules('vim.treesitter', {\r\n- _fold = ..., --- @module 'vim.treesitter._fold'\r\n+ _fold = { ... }, --- @module 'vim.treesitter._fold'\r\n```\r\n\r\nbecause `...` evaluates to `nil` in Lua. The table `_mod` is currently not used, but can be used to determine which submodule is registered to be lazy-loaded.\r\n\r\nI also suggest we should add a test in `test/functional/lua/vim_spec.lua` to test and ensure the behavior.", - "commit_id": "79bea0199d836a10e5677592611da57d1e13ab40", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", "created_at": "2024-01-27T21:40:58Z", "diff_hunk": "@@ -983,4 +983,22 @@ do\n end\n end\n \n+--- @generic T\n+--- @param root string\n+--- @param _mod T\n+--- @return T\n+function vim._deferload_submodules(root, _mod)\n+ return setmetatable({}, {\n+ __index = function(t, k)\n+ local ok, ret = pcall(require, string.format('%s.%s', root, k))", "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1468659811", "id": 1468659811, - "line": 993, + "line": null, "node_id": "PRRC_kwDOAPphoM5Xifhj", "original_commit_id": "4aff0133f62cbec9a0142eb9d56a56c727791f9e", "original_line": 993, "original_position": 11, "original_start_line": 992, "path": "runtime/lua/vim/shared.lua", - "position": 11, + "position": null, "pull_request_review_id": 1847290403, "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27216", "reactions": { @@ -966,7 +966,7 @@ "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1468659811/reactions" }, "side": "RIGHT", - "start_line": 992, + "start_line": null, "start_side": "RIGHT", "subject_type": "line", "updated_at": "2024-01-27T21:42:50Z", @@ -1006,7 +1006,7 @@ }, "author_association": "MEMBER", "body": "Why only this swp?", - "commit_id": "79bea0199d836a10e5677592611da57d1e13ab40", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", "created_at": "2024-01-27T22:17:02Z", "diff_hunk": "@@ -121,7 +121,8 @@ CLEAN_FILES := *.out \\\n .*.swo \\\n .gdbinit \\\n $(TMPDIR) \\\n- del\n+ del \\\n+ $(ROOT)/runtime/doc/.index.txt.swp", "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1468669881", @@ -1074,20 +1074,20 @@ }, "author_association": "MEMBER", "body": "Actually with this `_mod[k]` check, we can completely remove `pcall(...)` and replace it with just simple `require(...)`. Stacktrace might be different (i.e. whether to include additional frame on `__index`), but I haven't tested. Doesn't matter much though.", - "commit_id": "79bea0199d836a10e5677592611da57d1e13ab40", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", "created_at": "2024-01-27T22:31:30Z", "diff_hunk": "@@ -983,4 +983,22 @@ do\n end\n end\n \n+--- @generic T\n+--- @param root string\n+--- @param _mod T\n+--- @return T\n+function vim._deferload_submodules(root, _mod)\n+ return setmetatable({}, {\n+ __index = function(t, k)\n+ local ok, ret = pcall(require, string.format('%s.%s', root, k))", "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1468671705", "id": 1468671705, "in_reply_to_id": 1468659811, - "line": 993, + "line": null, "node_id": "PRRC_kwDOAPphoM5XiibZ", "original_commit_id": "4aff0133f62cbec9a0142eb9d56a56c727791f9e", "original_line": 993, "original_position": 11, "original_start_line": 992, "path": "runtime/lua/vim/shared.lua", - "position": 11, + "position": null, "pull_request_review_id": 1847306845, "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27216", "reactions": { @@ -1103,7 +1103,7 @@ "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1468671705/reactions" }, "side": "RIGHT", - "start_line": 992, + "start_line": null, "start_side": "RIGHT", "subject_type": "line", "updated_at": "2024-01-27T22:31:55Z", @@ -1143,7 +1143,7 @@ }, "author_association": "MEMBER", "body": "Its the one that caused me trouble. Which other should I remove?", - "commit_id": "79bea0199d836a10e5677592611da57d1e13ab40", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", "created_at": "2024-01-27T22:58:32Z", "diff_hunk": "@@ -121,7 +121,8 @@ CLEAN_FILES := *.out \\\n .*.swo \\\n .gdbinit \\\n $(TMPDIR) \\\n- del\n+ del \\\n+ $(ROOT)/runtime/doc/.index.txt.swp", "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1468675902", @@ -1212,7 +1212,7 @@ }, "author_association": "MEMBER", "body": "```suggestion\r\n $(ROOT)/runtime/doc/.*.swp\r\n```", - "commit_id": "79bea0199d836a10e5677592611da57d1e13ab40", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", "created_at": "2024-01-28T06:17:28Z", "diff_hunk": "@@ -121,7 +121,8 @@ CLEAN_FILES := *.out \\\n .*.swo \\\n .gdbinit \\\n $(TMPDIR) \\\n- del\n+ del \\\n+ $(ROOT)/runtime/doc/.index.txt.swp", "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1468759966", @@ -1281,7 +1281,7 @@ }, "author_association": "MEMBER", "body": "Is \"submodules\" telling the reader anything useful? Including \"require\" in the name may be more intuitive.\r\n\r\n```suggestion\r\nfunction vim._defer_require(root, _mod)\r\n```", - "commit_id": "79bea0199d836a10e5677592611da57d1e13ab40", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", "created_at": "2024-01-28T23:32:43Z", "diff_hunk": "@@ -983,4 +983,22 @@ do\n end\n end\n \n+--- @generic T\n+--- @param root string\n+--- @param _mod T\n+--- @return T\n+function vim._deferload_submodules(root, _mod)", "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1468962105", @@ -1334,20 +1334,39 @@ "type": "User", "url": "https://api.github.com/users/justinmk" } - } - ], - "comment_regular_data": [ + }, { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27216#discussion_r1471045452" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27216" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471045452" + } + }, "author_association": "MEMBER", - "body": "LSP (lua-ls) will not like this due to its dynamic nature --- type inference and resolving LSP definition/references are broken.", - "created_at": "2024-01-26T15:44:28Z", - "html_url": "https://github.com/neovim/neovim/pull/27216#issuecomment-1912275700", - "id": 1912275700, - "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27216", - "node_id": "IC_kwDOAPphoM5x-wL0", - "performed_via_github_app": null, + "body": "I'm not sure why it's obvious `vim.treesitter.submodule_that_does_not_exist` should return nil without errors. It's not really a table after all; it's a require.", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", + "created_at": "2024-01-30T11:22:56Z", + "diff_hunk": "@@ -983,4 +983,22 @@ do\n end\n end\n \n+--- @generic T\n+--- @param root string\n+--- @param _mod T\n+--- @return T\n+function vim._deferload_submodules(root, _mod)\n+ return setmetatable({}, {\n+ __index = function(t, k)\n+ local ok, ret = pcall(require, string.format('%s.%s', root, k))", + "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1471045452", + "id": 1471045452, + "in_reply_to_id": 1468659811, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xrl9M", + "original_commit_id": "4aff0133f62cbec9a0142eb9d56a56c727791f9e", + "original_line": 993, + "original_position": 11, + "original_start_line": 992, + "path": "runtime/lua/vim/shared.lua", + "position": null, + "pull_request_review_id": 1850938454, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27216", "reactions": { - "+1": 2, + "+1": 0, "-1": 0, "confused": 0, "eyes": 0, @@ -1355,41 +1374,66 @@ "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 2, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1912275700/reactions" + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471045452/reactions" }, - "updated_at": "2024-01-26T15:44:28Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1912275700", + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-30T11:22:56Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471045452", "user": { - "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", - "events_url": "https://api.github.com/users/wookayin/events{/privacy}", - "followers_url": "https://api.github.com/users/wookayin/followers", - "following_url": "https://api.github.com/users/wookayin/following{/other_user}", - "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", "gravatar_id": "", - "html_url": "https://github.com/wookayin", - "id": 1009873, - "login": "wookayin", - "node_id": "MDQ6VXNlcjEwMDk4NzM=", - "organizations_url": "https://api.github.com/users/wookayin/orgs", - "received_events_url": "https://api.github.com/users/wookayin/received_events", - "repos_url": "https://api.github.com/users/wookayin/repos", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", "site_admin": false, - "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", "type": "User", - "url": "https://api.github.com/users/wookayin" + "url": "https://api.github.com/users/dundargoc" } }, { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27216#discussion_r1471383442" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27216" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471383442" + } + }, "author_association": "MEMBER", - "body": "We can use `--- @module 'vim.lsp.module'` to overcome that in places. But yes, we should be mindful where/how we apply this.", - "created_at": "2024-01-26T15:46:46Z", - "html_url": "https://github.com/neovim/neovim/pull/27216#issuecomment-1912279092", - "id": 1912279092, - "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27216", - "node_id": "IC_kwDOAPphoM5x-xA0", - "performed_via_github_app": null, + "body": "The current behaviour is that it returns nil, and I see no reason we should change that.", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", + "created_at": "2024-01-30T14:59:06Z", + "diff_hunk": "@@ -983,4 +983,22 @@ do\n end\n end\n \n+--- @generic T\n+--- @param root string\n+--- @param _mod T\n+--- @return T\n+function vim._deferload_submodules(root, _mod)\n+ return setmetatable({}, {\n+ __index = function(t, k)\n+ local ok, ret = pcall(require, string.format('%s.%s', root, k))", + "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1471383442", + "id": 1471383442, + "in_reply_to_id": 1468659811, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xs4eS", + "original_commit_id": "4aff0133f62cbec9a0142eb9d56a56c727791f9e", + "original_line": 993, + "original_position": 11, + "original_start_line": 992, + "path": "runtime/lua/vim/shared.lua", + "position": null, + "pull_request_review_id": 1851520723, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27216", "reactions": { "+1": 1, "-1": 0, @@ -1400,10 +1444,14 @@ "laugh": 0, "rocket": 0, "total_count": 1, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1912279092/reactions" + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471383442/reactions" }, - "updated_at": "2024-01-26T15:47:12Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1912279092", + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-30T14:59:06Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471383442", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", @@ -1426,14 +1474,104 @@ } }, { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27216#discussion_r1471571030" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27216" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471571030" + } + }, "author_association": "MEMBER", - "body": "This is generalizing/lifting a common, existing pattern, right? Would be helpful to mention that in the commit message.\r\n\r\n> LSP (lua-ls) will not like this due to its dynamic nature ...\r\n>> We can use `--- @module 'vim.lsp.module'` to overcome that in places. But yes, we should be mindful where/how we apply this.\r\n\r\nDoes that mean we shouldn't apply it to \"all\" of `vim.**` ? Ideally, the loading behavior of all `vim.**` would follow one rule.", - "created_at": "2024-01-28T23:28:48Z", - "html_url": "https://github.com/neovim/neovim/pull/27216#issuecomment-1913758380", - "id": 1913758380, - "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27216", - "node_id": "IC_kwDOAPphoM5yEaKs", - "performed_via_github_app": null, + "body": "I don't think we need to encase the modules in tables to do this. Thanks anyway.", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", + "created_at": "2024-01-30T16:36:09Z", + "diff_hunk": "@@ -983,4 +983,22 @@ do\n end\n end\n \n+--- @generic T\n+--- @param root string\n+--- @param _mod T\n+--- @return T\n+function vim._deferload_submodules(root, _mod)\n+ return setmetatable({}, {\n+ __index = function(t, k)\n+ local ok, ret = pcall(require, string.format('%s.%s', root, k))", + "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1471571030", + "id": 1471571030, + "in_reply_to_id": 1468659811, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XtmRW", + "original_commit_id": "4aff0133f62cbec9a0142eb9d56a56c727791f9e", + "original_line": 993, + "original_position": 11, + "original_start_line": 992, + "path": "runtime/lua/vim/shared.lua", + "position": null, + "pull_request_review_id": 1851801835, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27216", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471571030/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-30T16:36:09Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471571030", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27216#discussion_r1471745511" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27216" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471745511" + } + }, + "author_association": "MEMBER", + "body": "> I don't think we need to encase the modules in tables to do this.\r\n\r\nHmm you're right. When require-ing the module, `...` evaluates to the name of the module (e.g. the `\"vim.treesitter\"` string), *not `nil`*. (Maybe I did something wrong when I was testing this out yesterday...!?) Sorry about making a confusion here. ", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", + "created_at": "2024-01-30T18:22:43Z", + "diff_hunk": "@@ -983,4 +983,22 @@ do\n end\n end\n \n+--- @generic T\n+--- @param root string\n+--- @param _mod T\n+--- @return T\n+function vim._deferload_submodules(root, _mod)\n+ return setmetatable({}, {\n+ __index = function(t, k)\n+ local ok, ret = pcall(require, string.format('%s.%s', root, k))", + "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1471745511", + "id": 1471745511, + "in_reply_to_id": 1468659811, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XuQ3n", + "original_commit_id": "4aff0133f62cbec9a0142eb9d56a56c727791f9e", + "original_line": 993, + "original_position": 11, + "original_start_line": 992, + "path": "runtime/lua/vim/shared.lua", + "position": null, + "pull_request_review_id": 1852050460, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27216", "reactions": { "+1": 0, "-1": 0, @@ -1444,40 +1582,64 @@ "laugh": 0, "rocket": 0, "total_count": 0, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1913758380/reactions" + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471745511/reactions" }, - "updated_at": "2024-01-28T23:34:14Z", - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1913758380", + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-30T18:22:43Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471745511", "user": { - "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", - "events_url": "https://api.github.com/users/justinmk/events{/privacy}", - "followers_url": "https://api.github.com/users/justinmk/followers", - "following_url": "https://api.github.com/users/justinmk/following{/other_user}", - "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", "gravatar_id": "", - "html_url": "https://github.com/justinmk", - "id": 1359421, - "login": "justinmk", - "node_id": "MDQ6VXNlcjEzNTk0MjE=", - "organizations_url": "https://api.github.com/users/justinmk/orgs", - "received_events_url": "https://api.github.com/users/justinmk/received_events", - "repos_url": "https://api.github.com/users/justinmk/repos", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", "site_admin": false, - "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", "type": "User", - "url": "https://api.github.com/users/justinmk" + "url": "https://api.github.com/users/wookayin" } }, { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27216#discussion_r1471808088" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27216" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471808088" + } + }, "author_association": "MEMBER", - "body": "> This is generalizing/lifting a common, existing pattern, right?\r\n\r\nEh? I don't know about that. I've used this on `lsp.lua`, `treesitter.lua`, `provider.lua` and `filetype.lua`. Only `treesitter.lua` used this before. So not that common.", - "created_at": "2024-01-29T14:06:36Z", - "html_url": "https://github.com/neovim/neovim/pull/27216#issuecomment-1914765305", - "id": 1914765305, - "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27216", - "node_id": "IC_kwDOAPphoM5yIP_5", - "performed_via_github_app": null, + "body": "This can be used to make the `TODO: documentation...` not appear.\r\n\r\n```suggestion\r\n-- Export these directly from rpc.\r\n---@nodoc\r\n```", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", + "created_at": "2024-01-30T19:08:49Z", + "diff_hunk": "@@ -16,24 +7,33 @@ local tbl_isempty, tbl_extend = vim.tbl_isempty, vim.tbl_extend\n local validate = vim.validate\n local if_nil = vim.F.if_nil\n \n-local lsp = {\n- protocol = protocol,\n-\n- handlers = default_handlers,\n-\n- buf = require('vim.lsp.buf'),\n- diagnostic = require('vim.lsp.diagnostic'),\n- codelens = require('vim.lsp.codelens'),\n- inlay_hint = require('vim.lsp.inlay_hint'),\n- semantic_tokens = semantic_tokens,\n- util = util,\n+local lsp = vim._defer_require('vim.lsp', {\n+ _changetracking = ..., --- @module 'vim.lsp._changetracking'\n+ _completion = ..., --- @module 'vim.lsp._completion'\n+ _dynamic = ..., --- @module 'vim.lsp._dynamic'\n+ _snippet_grammar = ..., --- @module 'vim.lsp._snippet_grammar'\n+ _watchfiles = ..., --- @module 'vim.lsp._watchfiles'\n+ buf = ..., --- @module 'vim.lsp.buf'\n+ codelens = ..., --- @module 'vim.lsp.codelens'\n+ diagnostic = ..., --- @module 'vim.lsp.diagnostic'\n+ handlers = ..., --- @module 'vim.lsp.handlers'\n+ inlay_hint = ..., --- @module 'vim.lsp.inlay_hint'\n+ log = ..., --- @module 'vim.lsp.log'\n+ protocol = ..., --- @module 'vim.lsp.protocol'\n+ rpc = ..., --- @module 'vim.lsp.rpc'\n+ semantic_tokens = ..., --- @module 'vim.lsp.semantic_tokens'\n+ tagfunc = ..., --- @module 'vim.lsp.tagfunc'\n+ util = ..., --- @module 'vim.lsp.util'\n+})\n \n- -- Allow raw RPC access.\n- rpc = lsp_rpc,\n+local log = lsp.log\n+local protocol = lsp.protocol\n+local ms = protocol.Methods\n+local util = lsp.util\n+local changetracking = lsp._changetracking\n \n- -- Export these directly from rpc.\n- rpc_response_error = lsp_rpc.rpc_response_error,\n-}\n+-- Export these directly from rpc.", + "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1471808088", + "id": 1471808088, + "line": 35, + "node_id": "PRRC_kwDOAPphoM5XugJY", + "original_commit_id": "43da15d5d3a727934eeb3d657d5eb41f37ee8d35", + "original_line": 35, + "original_position": 59, + "original_start_line": null, + "path": "runtime/lua/vim/lsp.lua", + "position": 59, + "pull_request_review_id": 1852141380, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27216", "reactions": { "+1": 0, "-1": 0, @@ -1488,7 +1650,530 @@ "laugh": 0, "rocket": 0, "total_count": 0, - "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1914765305/reactions" + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471808088/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-30T19:08:49Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471808088", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27216#discussion_r1474336865" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27216" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474336865" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\nfunction vim._defer_require(root, mod)\r\n```\r\n\r\nIs used now.", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", + "created_at": "2024-02-01T11:56:08Z", + "diff_hunk": "@@ -983,4 +983,24 @@ do\n end\n end\n \n+--- @private\n+--- @generic T\n+--- @param root string\n+--- @param _mod T\n+--- @return T\n+function vim._defer_require(root, _mod)", + "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1474336865", + "id": 1474336865, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X4Jhh", + "original_commit_id": "f40b63d781c134ddf79bbd68b56e7c0dd1600bf0", + "original_line": 991, + "original_position": 9, + "original_start_line": null, + "path": "runtime/lua/vim/shared.lua", + "position": null, + "pull_request_review_id": 1856306313, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27216", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474336865/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T11:56:19Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474336865", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27216#discussion_r1474336985" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27216" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474336985" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n if not mod[k] then\r\n```", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", + "created_at": "2024-02-01T11:56:14Z", + "diff_hunk": "@@ -983,4 +983,24 @@ do\n end\n end\n \n+--- @private\n+--- @generic T\n+--- @param root string\n+--- @param _mod T\n+--- @return T\n+function vim._defer_require(root, _mod)\n+ return setmetatable({}, {\n+ ---@param t table\n+ ---@param k string\n+ __index = function(t, k)\n+ if not _mod[k] then", + "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1474336985", + "id": 1474336985, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X4JjZ", + "original_commit_id": "f40b63d781c134ddf79bbd68b56e7c0dd1600bf0", + "original_line": 996, + "original_position": 14, + "original_start_line": null, + "path": "runtime/lua/vim/shared.lua", + "position": null, + "pull_request_review_id": 1856306313, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27216", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474336985/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T11:56:19Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474336985", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27216#discussion_r1474337350" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27216" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474337350" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n--- @param mod T\r\n```", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", + "created_at": "2024-02-01T11:56:30Z", + "diff_hunk": "@@ -983,4 +983,24 @@ do\n end\n end\n \n+--- @private\n+--- @generic T\n+--- @param root string\n+--- @param _mod T", + "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1474337350", + "id": 1474337350, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X4JpG", + "original_commit_id": "f40b63d781c134ddf79bbd68b56e7c0dd1600bf0", + "original_line": 989, + "original_position": 7, + "original_start_line": null, + "path": "runtime/lua/vim/shared.lua", + "position": null, + "pull_request_review_id": 1856306914, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27216", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474337350/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T11:56:33Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1474337350", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27216#discussion_r1475842783" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27216" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475842783" + } + }, + "author_association": "MEMBER", + "body": "As extra cleanup, doesn't need to be done on this PR. But these classes are no longer needed `vim.treesitter.highlighter`, `vim.treesitter.query` and `vim.treesitter.language` since we are now using `@module` to pull the type information.", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", + "created_at": "2024-02-02T10:10:10Z", + "diff_hunk": "@@ -1,44 +1,21 @@\n local api = vim.api\n-local LanguageTree = require('vim.treesitter.languagetree')\n-local Range = require('vim.treesitter._range')\n \n ---@type table\n local parsers = setmetatable({}, { __mode = 'v' })\n \n----@class vim.treesitter\n----@field highlighter vim.treesitter.highlighter\n----@field query vim.treesitter.query\n----@field language vim.treesitter.language", + "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1475842783", + "id": 1475842783, + "line": 11, + "node_id": "PRRC_kwDOAPphoM5X95Lf", + "original_commit_id": "d02a10aea61603c03ca0b9721376ea171919a737", + "original_line": 11, + "original_position": 11, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter.lua", + "position": 11, + "pull_request_review_id": 1858860624, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27216", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475842783/reactions" + }, + "side": "LEFT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-02T10:10:10Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475842783", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27216#discussion_r1475980962" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27216" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475980962" + } + }, + "author_association": "MEMBER", + "body": "Removed the one in `query` and `language`. The one in highlighter looks more involved so I'll leave it be for now.", + "commit_id": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", + "created_at": "2024-02-02T12:08:57Z", + "diff_hunk": "@@ -1,44 +1,21 @@\n local api = vim.api\n-local LanguageTree = require('vim.treesitter.languagetree')\n-local Range = require('vim.treesitter._range')\n \n ---@type table\n local parsers = setmetatable({}, { __mode = 'v' })\n \n----@class vim.treesitter\n----@field highlighter vim.treesitter.highlighter\n----@field query vim.treesitter.query\n----@field language vim.treesitter.language", + "html_url": "https://github.com/neovim/neovim/pull/27216#discussion_r1475980962", + "id": 1475980962, + "in_reply_to_id": 1475842783, + "line": 11, + "node_id": "PRRC_kwDOAPphoM5X-a6i", + "original_commit_id": "d02a10aea61603c03ca0b9721376ea171919a737", + "original_line": 11, + "original_position": 11, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter.lua", + "position": 11, + "pull_request_review_id": 1859099905, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27216", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475980962/reactions" + }, + "side": "LEFT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-02T12:08:57Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475980962", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + } + } + ], + "comment_regular_data": [ + { + "author_association": "MEMBER", + "body": "LSP (lua-ls) will not like this due to its dynamic nature --- type inference and resolving LSP definition/references are broken.", + "created_at": "2024-01-26T15:44:28Z", + "html_url": "https://github.com/neovim/neovim/pull/27216#issuecomment-1912275700", + "id": 1912275700, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27216", + "node_id": "IC_kwDOAPphoM5x-wL0", + "performed_via_github_app": null, + "reactions": { + "+1": 2, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 2, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1912275700/reactions" + }, + "updated_at": "2024-01-26T15:44:28Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1912275700", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "author_association": "MEMBER", + "body": "We can use `--- @module 'vim.lsp.module'` to overcome that in places. But yes, we should be mindful where/how we apply this.", + "created_at": "2024-01-26T15:46:46Z", + "html_url": "https://github.com/neovim/neovim/pull/27216#issuecomment-1912279092", + "id": 1912279092, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27216", + "node_id": "IC_kwDOAPphoM5x-xA0", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1912279092/reactions" + }, + "updated_at": "2024-01-26T15:47:12Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1912279092", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "author_association": "MEMBER", + "body": "This is generalizing/lifting a common, existing pattern, right? Would be helpful to mention that in the commit message.\r\n\r\n> LSP (lua-ls) will not like this due to its dynamic nature ...\r\n>> We can use `--- @module 'vim.lsp.module'` to overcome that in places. But yes, we should be mindful where/how we apply this.\r\n\r\nDoes that mean we shouldn't apply it to \"all\" of `vim.**` ? Ideally, the loading behavior of all `vim.**` would follow one rule.", + "created_at": "2024-01-28T23:28:48Z", + "html_url": "https://github.com/neovim/neovim/pull/27216#issuecomment-1913758380", + "id": 1913758380, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27216", + "node_id": "IC_kwDOAPphoM5yEaKs", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1913758380/reactions" + }, + "updated_at": "2024-01-28T23:34:14Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1913758380", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "MEMBER", + "body": "> This is generalizing/lifting a common, existing pattern, right?\r\n\r\nEh? I don't know about that. I've used this on `lsp.lua`, `treesitter.lua`, `provider.lua` and `filetype.lua`. Only `treesitter.lua` used this before. So not that common.", + "created_at": "2024-01-29T14:06:36Z", + "html_url": "https://github.com/neovim/neovim/pull/27216#issuecomment-1914765305", + "id": 1914765305, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27216", + "node_id": "IC_kwDOAPphoM5yIP_5", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1914765305/reactions" }, "updated_at": "2024-01-29T14:06:36Z", "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1914765305", @@ -1512,13 +2197,409 @@ "type": "User", "url": "https://api.github.com/users/dundargoc" } + }, + { + "author_association": "MEMBER", + "body": "> It looks like this breaks `vim.lsp.noexist` which should return `nil` and not error.\r\n\r\nWhy is it obvious it should return nil? It is a require after all which does error if it doesn't exist.", + "created_at": "2024-01-30T15:01:30Z", + "html_url": "https://github.com/neovim/neovim/pull/27216#issuecomment-1917083702", + "id": 1917083702, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27216", + "node_id": "IC_kwDOAPphoM5yRGA2", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917083702/reactions" + }, + "updated_at": "2024-01-30T15:02:16Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917083702", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + } + }, + { + "author_association": "MEMBER", + "body": "> ... is used to initialize modules instead of nil as it's an\nundocumented hack to make luals type annotations work correctly. This\nvalue may be changed in the future if luals comes up with a better way\nto do this.\n\nI think this is highly unlikely. `...` should always have type `...any`.", + "created_at": "2024-01-30T15:01:46Z", + "html_url": "https://github.com/neovim/neovim/pull/27216#issuecomment-1917084240", + "id": 1917084240, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27216", + "node_id": "IC_kwDOAPphoM5yRGJQ", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917084240/reactions" + }, + "updated_at": "2024-01-30T15:01:46Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917084240", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "author_association": "MEMBER", + "body": "> I don't think it's obvious why it should return nil. It is a require after all which does error if it doesn't exist.\n\nThe require is an implementation detail. This should not be exposed to users, otherwise this isn't a refactor.", + "created_at": "2024-01-30T15:02:32Z", + "html_url": "https://github.com/neovim/neovim/pull/27216#issuecomment-1917086038", + "id": 1917086038, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27216", + "node_id": "IC_kwDOAPphoM5yRGlW", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917086038/reactions" + }, + "updated_at": "2024-01-30T15:17:17Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917086038", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "author_association": "MEMBER", + "body": "> The require is an implementation detail. This should not be exposed to users.\r\n\r\nYou mean it *should* act as \"normal\" table even if it uses `require` under the hood? Hmmm, I guess that's a fair point since it is used as a normal table so maybe the expectation is that it should act as one as well. Alright, I'll change it.", + "created_at": "2024-01-30T15:18:47Z", + "html_url": "https://github.com/neovim/neovim/pull/27216#issuecomment-1917163801", + "id": 1917163801, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27216", + "node_id": "IC_kwDOAPphoM5yRZkZ", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917163801/reactions" + }, + "updated_at": "2024-01-30T15:18:47Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917163801", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + } + }, + { + "author_association": "MEMBER", + "body": "> I think this is highly unlikely. `...` should always have type `...any`.\r\n\r\nWhat do you mean by \"should\"? As in you personally believe this is the correct behavior?\r\n\r\nAlso I don't think `...any` is a type. Luals doesn't recognize it at least.", + "created_at": "2024-01-30T15:31:19Z", + "html_url": "https://github.com/neovim/neovim/pull/27216#issuecomment-1917227340", + "id": 1917227340, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27216", + "node_id": "IC_kwDOAPphoM5yRpFM", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917227340/reactions" + }, + "updated_at": "2024-01-30T15:31:19Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917227340", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + } + }, + { + "author_association": "MEMBER", + "body": "> ... is used to initialize modules instead of nil as it's an\r\nundocumented hack to make luals type annotations work correctly. This\r\nvalue may be changed in the future if luals comes up with a better way\r\nto do this.\r\n\r\nFor the record: I searched the documentation and this behavior is *documented*: https://www.lua.org/manual/5.1/manual.html#pdf-require\r\n\r\n> To find a loader, require is guided by the [package.loaders](https://www.lua.org/manual/5.1/manual.html#pdf-package.loaders) array.\r\n> Once a loader is found, require calls the loader with **a single argument, modname**\r\n\r\nSo under the hood, `require('vim.treesitter')` works like:\r\n```lua\r\nlocal loader = loadfile(\"$VIMRUNTIME/vim/treesitter.lua\") ---@type fun(...): any\r\nreturn loader(\"vim.treesitter\") -- calls the loader with a single argument, \"modname\"\r\n```\r\ntherefore the *varargs* `...` in the module context evaluates to the modname, e.g. `\"vim.treesitter\"` during runtime.\r\n\r\nFor Lua-LS, since `...` represents a vararg expression as per the language specification (https://www.lua.org/manual/5.1/manual.html#2.5), Lua-LS *should* resolve the type for `...` as `any` (it can't be `nil` because `...` may not be `nil`), or more precisely \"variadic `any`\" (returning multiple values). If it were other (concrete) type, it can be invalid typing. So I don't think this is a hack; and LuaLS will also not change its behavior (about typing) in the future. Typing could break (but unlikely), but at least the runtime behavior is guaranteed.", + "created_at": "2024-01-30T18:43:22Z", + "html_url": "https://github.com/neovim/neovim/pull/27216#issuecomment-1917672649", + "id": 1917672649, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27216", + "node_id": "IC_kwDOAPphoM5yTVzJ", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917672649/reactions" + }, + "updated_at": "2024-01-30T18:52:27Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1917672649", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "author_association": "MEMBER", + "body": "> therefore the varargs ... in the module context evaluates to the modname, e.g. \"vim.treesitter\" during runtime.\r\n\r\nIt's resolved during *runtime*? That changes everything. That means it's not equivalent to `nil` all in that case. OK, thanks for the help.", + "created_at": "2024-01-31T11:25:19Z", + "html_url": "https://github.com/neovim/neovim/pull/27216#issuecomment-1918915487", + "id": 1918915487, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27216", + "node_id": "IC_kwDOAPphoM5yYFOf", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918915487/reactions" + }, + "updated_at": "2024-02-01T09:14:25Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918915487", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + } + }, + { + "author_association": "MEMBER", + "body": "Curiously the tests explode if I try to defer require the modules under `func` or `filetype`. Unsure why though.\r\n\r\nLog: https://github.com/neovim/neovim/actions/runs/7714525163/job/21026982521?pr=27216", + "created_at": "2024-02-01T13:26:02Z", + "html_url": "https://github.com/neovim/neovim/pull/27216#issuecomment-1921321420", + "id": 1921321420, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27216", + "node_id": "IC_kwDOAPphoM5yhQnM", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921321420/reactions" + }, + "updated_at": "2024-02-02T11:58:46Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921321420", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + } + }, + { + "author_association": "MEMBER", + "body": "I'm feeling pretty pleased with this. Any comments/reviews before merging?", + "created_at": "2024-02-02T09:45:36Z", + "html_url": "https://github.com/neovim/neovim/pull/27216#issuecomment-1923441734", + "id": 1923441734, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27216", + "node_id": "IC_kwDOAPphoM5ypWRG", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 1, + "laugh": 0, + "rocket": 1, + "total_count": 2, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1923441734/reactions" + }, + "updated_at": "2024-02-02T09:45:36Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1923441734", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + } } ], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27216/comments", "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27216/commits", "created_at": "2024-01-26T15:34:53Z", "diff_url": "https://github.com/neovim/neovim/pull/27216.diff", - "draft": true, + "draft": false, "head": { "label": "dundargoc:refactor/nested-lazy-loading", "ref": "refactor/nested-lazy-loading", @@ -1607,9 +2688,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/dundargoc/neovim/pulls{/number}", - "pushed_at": "2024-01-29T20:02:03Z", + "pushed_at": "2024-02-05T23:03:30Z", "releases_url": "https://api.github.com/repos/dundargoc/neovim/releases{/id}", - "size": 248250, + "size": 249044, "ssh_url": "git@github.com:dundargoc/neovim.git", "stargazers_count": 1, "stargazers_url": "https://api.github.com/repos/dundargoc/neovim/stargazers", @@ -1628,7 +2709,7 @@ "watchers_count": 1, "web_commit_signoff_required": false }, - "sha": "79bea0199d836a10e5677592611da57d1e13ab40", + "sha": "24cea4c7f7417c7fe99a98a0487f51dd68c4f409", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", @@ -1692,8 +2773,8 @@ } ], "locked": false, - "merge_commit_sha": "0aef3c4ef41a82bea888bd7a9dedc3ebc9da7756", - "merged_at": null, + "merge_commit_sha": "2e982f1aad9f1a03562b7a451d642f76b04c37cb", + "merged_at": "2024-02-03T15:53:42Z", "milestone": null, "node_id": "PR_kwDOAPphoM5lK47Z", "number": 27216, @@ -1702,10 +2783,10 @@ "requested_teams": [], "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27216/comments", - "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/79bea0199d836a10e5677592611da57d1e13ab40", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/24cea4c7f7417c7fe99a98a0487f51dd68c4f409", "title": "refactor: create function for deferred loading", - "updated_at": "2024-01-29T20:22:16Z", + "updated_at": "2024-02-03T15:53:57Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/27216", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", diff --git a/repositories/neovim/pulls/27232.json b/repositories/neovim/pulls/27232.json index 4b7f9603..b222a947 100644 --- a/repositories/neovim/pulls/27232.json +++ b/repositories/neovim/pulls/27232.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/27232" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/a783c82d1aa4093111eb36ee7b504a7a92f13de3" + "href": "https://api.github.com/repos/neovim/neovim/statuses/708813eade90ac3652e95952f6afda12fe123cb3" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5174, - "forks_count": 5174, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1735, - "open_issues_count": 1735, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-30T00:09:25Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251558, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 73268, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-30T01:30:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 73268, - "watchers_count": 73268, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, - "sha": "758504ec739b70c4e2f192feb106f101024bc862", + "sha": "cc197d04fc36a6ee4219f20772a7b39dd976edfd", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -169,15 +169,60 @@ "url": "https://api.github.com/users/neovim" } }, - "body": "- Consistently use the variable CMAKE_BUILD_TYPE to select build type.\n- Remove broken `doc_html` target.\n- Remove swap files created by oldtest", - "closed_at": null, + "body": "- Consistently use the variable CMAKE_BUILD_TYPE to select build type.\n- Remove broken `doc_html` target.\n- Remove swap files created by oldtest when cleaning.\n- Only rerun `lintdoc` if any documentation files has changed.", + "closed_at": "2024-02-01T11:06:55Z", "comment_data": [], - "comment_regular_data": [], + "comment_regular_data": [ + { + "author_association": "MEMBER", + "body": "I appreciate the follow-up to lintdoc (#27227), thanks!!", + "created_at": "2024-02-01T18:14:09Z", + "html_url": "https://github.com/neovim/neovim/pull/27232#issuecomment-1921933098", + "id": 1921933098, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27232", + "node_id": "IC_kwDOAPphoM5yjl8q", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921933098/reactions" + }, + "updated_at": "2024-02-01T18:14:09Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921933098", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + } + ], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27232/comments", "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27232/commits", "created_at": "2024-01-27T18:11:45Z", "diff_url": "https://github.com/neovim/neovim/pull/27232.diff", - "draft": true, + "draft": false, "head": { "label": "dundargoc:build/cmake", "ref": "build/cmake", @@ -266,9 +311,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/dundargoc/neovim/pulls{/number}", - "pushed_at": "2024-01-29T20:02:03Z", + "pushed_at": "2024-02-05T23:03:30Z", "releases_url": "https://api.github.com/repos/dundargoc/neovim/releases{/id}", - "size": 248250, + "size": 249044, "ssh_url": "git@github.com:dundargoc/neovim.git", "stargazers_count": 1, "stargazers_url": "https://api.github.com/repos/dundargoc/neovim/stargazers", @@ -287,7 +332,7 @@ "watchers_count": 1, "web_commit_signoff_required": false }, - "sha": "a783c82d1aa4093111eb36ee7b504a7a92f13de3", + "sha": "708813eade90ac3652e95952f6afda12fe123cb3", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", @@ -333,8 +378,8 @@ } ], "locked": false, - "merge_commit_sha": "5a3d67e3b5a4849528129c63cad07f3365893856", - "merged_at": null, + "merge_commit_sha": "4c91194611086916c833d61e28e2f5e689316e83", + "merged_at": "2024-02-01T11:06:55Z", "milestone": null, "node_id": "PR_kwDOAPphoM5lO5d5", "number": 27232, @@ -343,10 +388,10 @@ "requested_teams": [], "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27232/comments", - "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/a783c82d1aa4093111eb36ee7b504a7a92f13de3", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/708813eade90ac3652e95952f6afda12fe123cb3", "title": "build: various fixes", - "updated_at": "2024-01-29T16:58:20Z", + "updated_at": "2024-02-01T18:14:10Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/27232", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", diff --git a/repositories/neovim/pulls/27241.json b/repositories/neovim/pulls/27241.json index 9d5d9f6c..88cef469 100644 --- a/repositories/neovim/pulls/27241.json +++ b/repositories/neovim/pulls/27241.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5174, - "forks_count": 5174, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1735, - "open_issues_count": 1735, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-30T00:09:25Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251558, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 73268, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-30T01:30:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 73268, - "watchers_count": 73268, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, "sha": "d6f7fa14c5f32da32c6f7afdb15fbef208d0b9bb", @@ -170,7 +170,7 @@ } }, "body": "Closes #27240.\r\n(I got a nonzero number of likes in the issue hence I'm assuming this is a reasonable request).\r\n\r\nFor better flexibility, I decided to expose a function (instead of just a truncation limit) for manipulating the processed inlay hint label.", - "closed_at": null, + "closed_at": "2024-02-03T19:18:24Z", "comment_data": [ { "_links": { @@ -1158,7 +1158,7 @@ "node_id": "IC_kwDOAPphoM5yE10T", "performed_via_github_app": null, "reactions": { - "+1": 1, + "+1": 2, "-1": 0, "confused": 0, "eyes": 0, @@ -1166,7 +1166,7 @@ "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 1, + "total_count": 2, "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1913871635/reactions" }, "updated_at": "2024-01-29T02:50:42Z", @@ -1191,6 +1191,50 @@ "type": "User", "url": "https://api.github.com/users/justinmk" } + }, + { + "author_association": "MEMBER", + "body": "I'll close this for now, since I agree in this not being the best solution for LSP handler customization.", + "created_at": "2024-02-03T19:18:25Z", + "html_url": "https://github.com/neovim/neovim/pull/27241#issuecomment-1925433869", + "id": 1925433869, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27241", + "node_id": "IC_kwDOAPphoM5yw8oN", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925433869/reactions" + }, + "updated_at": "2024-02-03T19:18:25Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925433869", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } } ], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27241/comments", @@ -1286,9 +1330,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/MariaSolOs/neovim/pulls{/number}", - "pushed_at": "2024-01-29T06:21:40Z", + "pushed_at": "2024-02-05T05:11:20Z", "releases_url": "https://api.github.com/repos/MariaSolOs/neovim/releases{/id}", - "size": 244798, + "size": 245453, "ssh_url": "git@github.com:MariaSolOs/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/MariaSolOs/neovim/stargazers", @@ -1344,81 +1388,20 @@ } ], "locked": false, - "merge_commit_sha": "161cfa3fe1f20844f02ce590140c5fc3128a2330", + "merge_commit_sha": "4778af0807e7bda91624cbc9e5cfad1d689d96b2", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5lPr77", "number": 27241, "patch_url": "https://github.com/neovim/neovim/pull/27241.patch", - "requested_reviewers": [ - { - "avatar_url": "https://avatars.githubusercontent.com/u/292349?v=4", - "events_url": "https://api.github.com/users/folke/events{/privacy}", - "followers_url": "https://api.github.com/users/folke/followers", - "following_url": "https://api.github.com/users/folke/following{/other_user}", - "gists_url": "https://api.github.com/users/folke/gists{/gist_id}", - "gravatar_id": "", - "html_url": "https://github.com/folke", - "id": 292349, - "login": "folke", - "node_id": "MDQ6VXNlcjI5MjM0OQ==", - "organizations_url": "https://api.github.com/users/folke/orgs", - "received_events_url": "https://api.github.com/users/folke/received_events", - "repos_url": "https://api.github.com/users/folke/repos", - "site_admin": false, - "starred_url": "https://api.github.com/users/folke/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/folke/subscriptions", - "type": "User", - "url": "https://api.github.com/users/folke" - }, - { - "avatar_url": "https://avatars.githubusercontent.com/u/38700?v=4", - "events_url": "https://api.github.com/users/mfussenegger/events{/privacy}", - "followers_url": "https://api.github.com/users/mfussenegger/followers", - "following_url": "https://api.github.com/users/mfussenegger/following{/other_user}", - "gists_url": "https://api.github.com/users/mfussenegger/gists{/gist_id}", - "gravatar_id": "", - "html_url": "https://github.com/mfussenegger", - "id": 38700, - "login": "mfussenegger", - "node_id": "MDQ6VXNlcjM4NzAw", - "organizations_url": "https://api.github.com/users/mfussenegger/orgs", - "received_events_url": "https://api.github.com/users/mfussenegger/received_events", - "repos_url": "https://api.github.com/users/mfussenegger/repos", - "site_admin": false, - "starred_url": "https://api.github.com/users/mfussenegger/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/mfussenegger/subscriptions", - "type": "User", - "url": "https://api.github.com/users/mfussenegger" - }, - { - "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", - "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", - "followers_url": "https://api.github.com/users/lewis6991/followers", - "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", - "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", - "gravatar_id": "", - "html_url": "https://github.com/lewis6991", - "id": 7904185, - "login": "lewis6991", - "node_id": "MDQ6VXNlcjc5MDQxODU=", - "organizations_url": "https://api.github.com/users/lewis6991/orgs", - "received_events_url": "https://api.github.com/users/lewis6991/received_events", - "repos_url": "https://api.github.com/users/lewis6991/repos", - "site_admin": false, - "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", - "type": "User", - "url": "https://api.github.com/users/lewis6991" - } - ], + "requested_reviewers": [], "requested_teams": [], "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27241/comments", - "state": "open", + "state": "closed", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/e5615bfbee2d4eed04ce8d77a6bf70ac0fa45f54", "title": "feat(lsp): add inlay hint label formatter", - "updated_at": "2024-01-29T02:50:43Z", + "updated_at": "2024-02-03T19:18:38Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/27241", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", diff --git a/repositories/neovim/pulls/27245.json b/repositories/neovim/pulls/27245.json index efc883c2..c3f0822a 100644 --- a/repositories/neovim/pulls/27245.json +++ b/repositories/neovim/pulls/27245.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/27245" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/169245738814bc19809722704dafcdce44d9cec4" + "href": "https://api.github.com/repos/neovim/neovim/statuses/b6ee3f61f4e838d10eb54d1128eb441374c1f987" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5174, - "forks_count": 5174, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1735, - "open_issues_count": 1735, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-30T00:09:25Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251558, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 73268, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-30T01:30:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 73268, - "watchers_count": 73268, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, - "sha": "47cd532bf15d81c913e2c29b4c9a14c3654f85d2", + "sha": "1ed6b9cd2c04bf015b7e053ee5ea778634141b35", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -172,12 +172,57 @@ "body": "As a part of #27180, I looked through all the places that use `win_charsize()`, and found a few issues:\r\n\r\n1. Tab in insert mode.\r\nWhen `expandtab` is not set, pressing Tab in insert mode would replace spaces by tabs where possible. This is done by finding the start of the current sequence of whitespace characters, and replacing spaces by tabs until the current virtual column is greater than the cursor's virtual column.\r\nThis breaks if `breakindent` is on, since the difference between starting virtual column and cursor's virtual column includes the padding from `breakindent`, and it is not accounted for when the size of the new Tab is calculated.\r\n(This only happens if `shiftwidth` is not equal to `tabstop`. `ins_tab()` [here](https://github.com/neovim/neovim/blob/47cd532bf15d81c913e2c29b4c9a14c3654f85d2/src/nvim/edit.c#L4351) uses `getvcol()` to compute starting vcol and cursor vcol, which uses correct `breakindent`, while tabs are measured on their own line, and different `breakindent` is calculated). \r\n2. i_CTRL-T.\r\n`change_indent()` is called when pressing CTRL-T in insert mode, and when the cursor is inside the indentation, its position relative to the first non-blank character is preserved by adding spaces at the end. When inline virtual text is added before the cursor, its virtual column includes the width of the text. The loop that finds the column after which spaces should be added doesn't count virtual text ([edit.c:1692](https://github.com/neovim/neovim/blob/47cd532bf15d81c913e2c29b4c9a14c3654f85d2/src/nvim/edit.c#L1692)), and the position stops at the end of the line. After that, the difference between cursor virtual column and current virtual column is calculated, and this number of spaces is appended to the current position (end of the line).\r\n![image](https://github.com/neovim/neovim/assets/65824523/b9025360-343f-4b41-8eae-352b82248a0c)\r\n![image](https://github.com/neovim/neovim/assets/65824523/44e3ef10-e603-41cc-811b-609b27606f9c)\r\n3. '>' in visual block mode.\r\nIn [`shit_block()`](https://github.com/neovim/neovim/blob/47cd532bf15d81c913e2c29b4c9a14c3654f85d2/src/nvim/ops.c#L343), not the full line is used when calculating virtual column, which leads to `breakindent` applying when it shouldn't.\r\n\r\n\r\nI think these functions should not compute 'breakindent' etc. in the first place, and use `win_chartabsize()` instead.", "closed_at": null, "comment_data": [], - "comment_regular_data": [], + "comment_regular_data": [ + { + "author_association": "CONTRIBUTOR", + "body": "I fixed 1 and 2, but I don't think I can fix 3.", + "created_at": "2024-02-04T20:54:37Z", + "html_url": "https://github.com/neovim/neovim/pull/27245#issuecomment-1925911273", + "id": 1925911273, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27245", + "node_id": "IC_kwDOAPphoM5yyxLp", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925911273/reactions" + }, + "updated_at": "2024-02-04T20:54:37Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925911273", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/65824523?v=4", + "events_url": "https://api.github.com/users/VanaIgr/events{/privacy}", + "followers_url": "https://api.github.com/users/VanaIgr/followers", + "following_url": "https://api.github.com/users/VanaIgr/following{/other_user}", + "gists_url": "https://api.github.com/users/VanaIgr/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/VanaIgr", + "id": 65824523, + "login": "VanaIgr", + "node_id": "MDQ6VXNlcjY1ODI0NTIz", + "organizations_url": "https://api.github.com/users/VanaIgr/orgs", + "received_events_url": "https://api.github.com/users/VanaIgr/received_events", + "repos_url": "https://api.github.com/users/VanaIgr/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/VanaIgr/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/VanaIgr/subscriptions", + "type": "User", + "url": "https://api.github.com/users/VanaIgr" + } + } + ], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27245/comments", "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27245/commits", "created_at": "2024-01-28T21:05:29Z", "diff_url": "https://github.com/neovim/neovim/pull/27245.diff", - "draft": true, + "draft": false, "head": { "label": "VanaIgr:indent-fix", "ref": "indent-fix", @@ -203,8 +248,8 @@ "downloads_url": "https://api.github.com/repos/VanaIgr/neovim/downloads", "events_url": "https://api.github.com/repos/VanaIgr/neovim/events", "fork": true, - "forks": 0, - "forks_count": 0, + "forks": 1, + "forks_count": 1, "forks_url": "https://api.github.com/repos/VanaIgr/neovim/forks", "full_name": "VanaIgr/neovim", "git_commits_url": "https://api.github.com/repos/VanaIgr/neovim/git/commits{/sha}", @@ -266,9 +311,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/VanaIgr/neovim/pulls{/number}", - "pushed_at": "2024-01-29T05:25:01Z", + "pushed_at": "2024-02-05T20:36:32Z", "releases_url": "https://api.github.com/repos/VanaIgr/neovim/releases{/id}", - "size": 245009, + "size": 245977, "ssh_url": "git@github.com:VanaIgr/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/VanaIgr/neovim/stargazers", @@ -287,7 +332,7 @@ "watchers_count": 0, "web_commit_signoff_required": false }, - "sha": "169245738814bc19809722704dafcdce44d9cec4", + "sha": "b6ee3f61f4e838d10eb54d1128eb441374c1f987", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/65824523?v=4", "events_url": "https://api.github.com/users/VanaIgr/events{/privacy}", @@ -324,20 +369,41 @@ } ], "locked": false, - "merge_commit_sha": "120ee2303734c873620750b7e699cc71847f50b7", + "merge_commit_sha": "389eba4608c8f022467aa29ae196254e154c00e8", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5lQ9Rc", "number": 27245, "patch_url": "https://github.com/neovim/neovim/pull/27245.patch", - "requested_reviewers": [], + "requested_reviewers": [ + { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + ], "requested_teams": [], "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27245/comments", "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/169245738814bc19809722704dafcdce44d9cec4", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/b6ee3f61f4e838d10eb54d1128eb441374c1f987", "title": "fix: make indentation independent of window options", - "updated_at": "2024-01-28T21:05:48Z", + "updated_at": "2024-02-04T20:54:38Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/27245", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/65824523?v=4", diff --git a/repositories/neovim/pulls/27253.json b/repositories/neovim/pulls/27253.json index 259fccdb..5ef93bda 100644 --- a/repositories/neovim/pulls/27253.json +++ b/repositories/neovim/pulls/27253.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/neovim/pulls/27253" }, "statuses": { - "href": "https://api.github.com/repos/neovim/neovim/statuses/e2f8411244918157007aca260a613abecee68291" + "href": "https://api.github.com/repos/neovim/neovim/statuses/249a8610abdbdaaf4cd2518ee5c5d18ab7940604" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", "events_url": "https://api.github.com/repos/neovim/neovim/events", "fork": false, - "forks": 5174, - "forks_count": 5174, + "forks": 5189, + "forks_count": 5189, "forks_url": "https://api.github.com/repos/neovim/neovim/forks", "full_name": "neovim/neovim", "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "neovim", "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", - "open_issues": 1735, - "open_issues_count": 1735, + "open_issues": 1744, + "open_issues_count": 1744, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", - "pushed_at": "2024-01-30T00:09:25Z", + "pushed_at": "2024-02-06T01:17:01Z", "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", - "size": 251558, + "size": 252434, "ssh_url": "git@github.com:neovim/neovim.git", - "stargazers_count": 73268, + "stargazers_count": 73474, "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", - "updated_at": "2024-01-30T01:30:36Z", + "updated_at": "2024-02-06T00:27:03Z", "url": "https://api.github.com/repos/neovim/neovim", "visibility": "public", - "watchers": 73268, - "watchers_count": 73268, + "watchers": 73474, + "watchers_count": 73474, "web_commit_signoff_required": false }, - "sha": "5e5b004da44c7075ed1e20ae9d05ab09c6f2ac58", + "sha": "05fd70f19b39519985000141d022971e37d66189", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -171,7 +171,419 @@ }, "body": "Closes #26995. As mentioned in the issue, I think this is a reasonable request given that the protocol documents [workspace/codeLens/refresh](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#codeLens_refresh) as \"refreshing the code lenses currently shown in editors\" (which IMO should correspond to all open buffers).\r\n\r\nThis is a breaking (?) change though, since the default behaviour changes (no arguments will be interpreted as refreshing all buffers).", "closed_at": null, - "comment_data": [], + "comment_data": [ + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27253#discussion_r1471800098" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27253" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471800098" + } + }, + "author_association": "MEMBER", + "body": "Ehh not sure why this type wasn't documented?", + "commit_id": "249a8610abdbdaaf4cd2518ee5c5d18ab7940604", + "created_at": "2024-01-30T19:02:29Z", + "diff_hunk": "@@ -1454,15 +1455,18 @@ on_codelens({err}, {result}, {ctx}, {_})\n Parameters: ~\n • {ctx} (`lsp.HandlerContext`)\n \n-refresh() *vim.lsp.codelens.refresh()*\n- Refresh the codelens for the current buffer\n+refresh({opts}) *vim.lsp.codelens.refresh()*\n+ Refresh the lenses.\n \n It is recommended to trigger this using an autocmd or via keymap.\n \n Example: >vim\n- autocmd BufEnter,CursorHold,InsertLeave lua vim.lsp.codelens.refresh()\n+ autocmd BufEnter,CursorHold,InsertLeave lua vim.lsp.codelens.refresh(0)\n <\n \n+ Parameters: ~\n+ • {opts} (`vim.lsp.codelens.RefreshOptions?`)", + "html_url": "https://github.com/neovim/neovim/pull/27253#discussion_r1471800098", + "id": 1471800098, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XueMi", + "original_commit_id": "5197829982962bc49cad45cebc14d4d95ca54c37", + "original_line": 1468, + "original_position": 27, + "original_start_line": null, + "path": "runtime/doc/lsp.txt", + "position": null, + "pull_request_review_id": 1852130881, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27253", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471800098/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-30T19:02:30Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471800098", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27253#discussion_r1471802352" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27253" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471802352" + } + }, + "author_association": "MEMBER", + "body": "I decided to use a different type here instead of the existing `lsp.util.RefreshOptions` since I'm not exactly sure we want to support all options here as well.", + "commit_id": "249a8610abdbdaaf4cd2518ee5c5d18ab7940604", + "created_at": "2024-01-30T19:04:20Z", + "diff_hunk": "@@ -279,25 +280,35 @@ function M.on_codelens(err, result, ctx, _)\n end)\n end\n \n---- Refresh the codelens for the current buffer\n+--- @class vim.lsp.codelens.RefreshOptions\n+--- @field bufnr integer? filter by buffer. All buffers if nil, 0 for current buffer\n+\n+--- Refresh the lenses.\n ---\n --- It is recommended to trigger this using an autocmd or via keymap.\n ---\n --- Example:\n ---\n --- ```vim\n---- autocmd BufEnter,CursorHold,InsertLeave lua vim.lsp.codelens.refresh()\n+--- autocmd BufEnter,CursorHold,InsertLeave lua vim.lsp.codelens.refresh(0)\n --- ```\n-function M.refresh()\n+---\n+--- @param opts? vim.lsp.codelens.RefreshOptions", + "html_url": "https://github.com/neovim/neovim/pull/27253#discussion_r1471802352", + "id": 1471802352, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xuevw", + "original_commit_id": "5197829982962bc49cad45cebc14d4d95ca54c37", + "original_line": 296, + "original_position": 37, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/codelens.lua", + "position": null, + "pull_request_review_id": 1852133798, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27253", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471802352/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-30T19:04:21Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471802352", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27253#discussion_r1471804493" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27253" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471804493" + } + }, + "author_association": "MEMBER", + "body": "Our vimdoc generator currently does not expand this automatically, so the docs for parameter has to be manually written in the docstring. Improving vimdoc to support that is one of TODO..", + "commit_id": "249a8610abdbdaaf4cd2518ee5c5d18ab7940604", + "created_at": "2024-01-30T19:05:43Z", + "diff_hunk": "@@ -1454,15 +1455,18 @@ on_codelens({err}, {result}, {ctx}, {_})\n Parameters: ~\n • {ctx} (`lsp.HandlerContext`)\n \n-refresh() *vim.lsp.codelens.refresh()*\n- Refresh the codelens for the current buffer\n+refresh({opts}) *vim.lsp.codelens.refresh()*\n+ Refresh the lenses.\n \n It is recommended to trigger this using an autocmd or via keymap.\n \n Example: >vim\n- autocmd BufEnter,CursorHold,InsertLeave lua vim.lsp.codelens.refresh()\n+ autocmd BufEnter,CursorHold,InsertLeave lua vim.lsp.codelens.refresh(0)\n <\n \n+ Parameters: ~\n+ • {opts} (`vim.lsp.codelens.RefreshOptions?`)", + "html_url": "https://github.com/neovim/neovim/pull/27253#discussion_r1471804493", + "id": 1471804493, + "in_reply_to_id": 1471800098, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XufRN", + "original_commit_id": "5197829982962bc49cad45cebc14d4d95ca54c37", + "original_line": 1468, + "original_position": 27, + "original_start_line": null, + "path": "runtime/doc/lsp.txt", + "position": null, + "pull_request_review_id": 1852136538, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27253", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 1, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471804493/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-30T19:12:37Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471804493", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27253#discussion_r1471807491" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27253" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471807491" + } + }, + "author_association": "MEMBER", + "body": "In every PR I swear I find something new that we should change in the doc generator lol", + "commit_id": "249a8610abdbdaaf4cd2518ee5c5d18ab7940604", + "created_at": "2024-01-30T19:08:18Z", + "diff_hunk": "@@ -1454,15 +1455,18 @@ on_codelens({err}, {result}, {ctx}, {_})\n Parameters: ~\n • {ctx} (`lsp.HandlerContext`)\n \n-refresh() *vim.lsp.codelens.refresh()*\n- Refresh the codelens for the current buffer\n+refresh({opts}) *vim.lsp.codelens.refresh()*\n+ Refresh the lenses.\n \n It is recommended to trigger this using an autocmd or via keymap.\n \n Example: >vim\n- autocmd BufEnter,CursorHold,InsertLeave lua vim.lsp.codelens.refresh()\n+ autocmd BufEnter,CursorHold,InsertLeave lua vim.lsp.codelens.refresh(0)\n <\n \n+ Parameters: ~\n+ • {opts} (`vim.lsp.codelens.RefreshOptions?`)", + "html_url": "https://github.com/neovim/neovim/pull/27253#discussion_r1471807491", + "id": 1471807491, + "in_reply_to_id": 1471800098, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XugAD", + "original_commit_id": "5197829982962bc49cad45cebc14d4d95ca54c37", + "original_line": 1468, + "original_position": 27, + "original_start_line": null, + "path": "runtime/doc/lsp.txt", + "position": null, + "pull_request_review_id": 1852140610, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27253", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471807491/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-30T19:08:18Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1471807491", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27253#discussion_r1472162678" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27253" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472162678" + } + }, + "author_association": "MEMBER", + "body": "Does the `util._refresh()` function save any code here? https://github.com/neovim/neovim/blob/5e5b004da44c7075ed1e20ae9d05ab09c6f2ac58/runtime/lua/vim/lsp/inlay_hint.lua#L251", + "commit_id": "249a8610abdbdaaf4cd2518ee5c5d18ab7940604", + "created_at": "2024-01-31T00:34:30Z", + "diff_hunk": "@@ -279,25 +280,36 @@ function M.on_codelens(err, result, ctx, _)\n end)\n end\n \n---- Refresh the codelens for the current buffer\n+--- @class vim.lsp.codelens.RefreshOptions\n+--- @field bufnr integer? filter by buffer. All buffers if nil, 0 for current buffer\n+\n+--- Refresh the lenses.\n ---\n --- It is recommended to trigger this using an autocmd or via keymap.\n ---\n --- Example:\n ---\n --- ```vim\n---- autocmd BufEnter,CursorHold,InsertLeave lua vim.lsp.codelens.refresh()\n+--- autocmd BufEnter,CursorHold,InsertLeave lua vim.lsp.codelens.refresh({ bufnr = 0 })\n --- ```\n-function M.refresh()\n+---\n+--- @param opts? vim.lsp.codelens.RefreshOptions Table with the following fields:\n+--- - `bufnr` (integer|nil): filter by buffer. All buffers if nil, 0 for current buffer\n+function M.refresh(opts)\n+ opts = opts or {}\n+ local bufnr = opts.bufnr and resolve_bufnr(opts.bufnr)\n+ local buffers = bufnr and { bufnr }\n+ or vim.tbl_filter(api.nvim_buf_is_loaded, api.nvim_list_bufs())\n local params = {\n textDocument = util.make_text_document_params(),\n }\n- local bufnr = api.nvim_get_current_buf()\n- if active_refreshes[bufnr] then\n- return\n+\n+ for _, buf in ipairs(buffers) do\n+ if not active_refreshes[buf] then\n+ active_refreshes[buf] = true\n+ vim.lsp.buf_request(buf, ms.textDocument_codeLens, params, M.on_codelens)", + "html_url": "https://github.com/neovim/neovim/pull/27253#discussion_r1472162678", + "id": 1472162678, + "line": 310, + "node_id": "PRRC_kwDOAPphoM5Xv2t2", + "original_commit_id": "bed098037fea87d93a398fe0a8917ec454599f2e", + "original_line": 310, + "original_position": 54, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/codelens.lua", + "position": 54, + "pull_request_review_id": 1852679973, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27253", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472162678/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T00:34:30Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472162678", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27253#discussion_r1472225814" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27253" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472225814" + } + }, + "author_association": "MEMBER", + "body": "I don't think so, since `_refresh` treats `opts.bufnr` differently (here it is interpreted as all buffers, while `_refresh` treats it as 0) and it also includes `range` information in the parameters which we don't need here.\r\n\r\nOf course we could modify it to be a common utility for inlay hints and codelens, but we want to burn `vim.lsp.util` anyway and I think keeping both implementations separate for now feels safer.", + "commit_id": "249a8610abdbdaaf4cd2518ee5c5d18ab7940604", + "created_at": "2024-01-31T02:17:09Z", + "diff_hunk": "@@ -279,25 +280,36 @@ function M.on_codelens(err, result, ctx, _)\n end)\n end\n \n---- Refresh the codelens for the current buffer\n+--- @class vim.lsp.codelens.RefreshOptions\n+--- @field bufnr integer? filter by buffer. All buffers if nil, 0 for current buffer\n+\n+--- Refresh the lenses.\n ---\n --- It is recommended to trigger this using an autocmd or via keymap.\n ---\n --- Example:\n ---\n --- ```vim\n---- autocmd BufEnter,CursorHold,InsertLeave lua vim.lsp.codelens.refresh()\n+--- autocmd BufEnter,CursorHold,InsertLeave lua vim.lsp.codelens.refresh({ bufnr = 0 })\n --- ```\n-function M.refresh()\n+---\n+--- @param opts? vim.lsp.codelens.RefreshOptions Table with the following fields:\n+--- - `bufnr` (integer|nil): filter by buffer. All buffers if nil, 0 for current buffer\n+function M.refresh(opts)\n+ opts = opts or {}\n+ local bufnr = opts.bufnr and resolve_bufnr(opts.bufnr)\n+ local buffers = bufnr and { bufnr }\n+ or vim.tbl_filter(api.nvim_buf_is_loaded, api.nvim_list_bufs())\n local params = {\n textDocument = util.make_text_document_params(),\n }\n- local bufnr = api.nvim_get_current_buf()\n- if active_refreshes[bufnr] then\n- return\n+\n+ for _, buf in ipairs(buffers) do\n+ if not active_refreshes[buf] then\n+ active_refreshes[buf] = true\n+ vim.lsp.buf_request(buf, ms.textDocument_codeLens, params, M.on_codelens)", + "html_url": "https://github.com/neovim/neovim/pull/27253#discussion_r1472225814", + "id": 1472225814, + "in_reply_to_id": 1472162678, + "line": 310, + "node_id": "PRRC_kwDOAPphoM5XwGIW", + "original_commit_id": "bed098037fea87d93a398fe0a8917ec454599f2e", + "original_line": 310, + "original_position": 54, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/codelens.lua", + "position": 54, + "pull_request_review_id": 1852777928, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27253", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472225814/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T02:17:09Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1472225814", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + } + ], "comment_regular_data": [ { "author_association": "MEMBER", @@ -260,6 +672,50 @@ "type": "User", "url": "https://api.github.com/users/MariaSolOs" } + }, + { + "author_association": "MEMBER", + "body": "> I think a news entry mentioning the change would be good. Otherwise looks good to me\r\n\r\nDone :)\r\n", + "created_at": "2024-02-01T21:30:44Z", + "html_url": "https://github.com/neovim/neovim/pull/27253#issuecomment-1922280511", + "id": 1922280511, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27253", + "node_id": "IC_kwDOAPphoM5yk6w_", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922280511/reactions" + }, + "updated_at": "2024-02-01T21:30:44Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922280511", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } } ], "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27253/comments", @@ -355,9 +811,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/MariaSolOs/neovim/pulls{/number}", - "pushed_at": "2024-01-29T06:21:40Z", + "pushed_at": "2024-02-05T05:11:20Z", "releases_url": "https://api.github.com/repos/MariaSolOs/neovim/releases{/id}", - "size": 244798, + "size": 245453, "ssh_url": "git@github.com:MariaSolOs/neovim.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/MariaSolOs/neovim/stargazers", @@ -376,7 +832,7 @@ "watchers_count": 0, "web_commit_signoff_required": false }, - "sha": "e2f8411244918157007aca260a613abecee68291", + "sha": "249a8610abdbdaaf4cd2518ee5c5d18ab7940604", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", @@ -413,7 +869,7 @@ } ], "locked": false, - "merge_commit_sha": "0cae5fec29063551a2f02c526db8989eb0628344", + "merge_commit_sha": "3c6e56d06313af0250e25b95ac7622dbacf1c28c", "merged_at": null, "milestone": null, "node_id": "PR_kwDOAPphoM5lSSTE", @@ -439,35 +895,15 @@ "subscriptions_url": "https://api.github.com/users/folke/subscriptions", "type": "User", "url": "https://api.github.com/users/folke" - }, - { - "avatar_url": "https://avatars.githubusercontent.com/u/38700?v=4", - "events_url": "https://api.github.com/users/mfussenegger/events{/privacy}", - "followers_url": "https://api.github.com/users/mfussenegger/followers", - "following_url": "https://api.github.com/users/mfussenegger/following{/other_user}", - "gists_url": "https://api.github.com/users/mfussenegger/gists{/gist_id}", - "gravatar_id": "", - "html_url": "https://github.com/mfussenegger", - "id": 38700, - "login": "mfussenegger", - "node_id": "MDQ6VXNlcjM4NzAw", - "organizations_url": "https://api.github.com/users/mfussenegger/orgs", - "received_events_url": "https://api.github.com/users/mfussenegger/received_events", - "repos_url": "https://api.github.com/users/mfussenegger/repos", - "site_admin": false, - "starred_url": "https://api.github.com/users/mfussenegger/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/mfussenegger/subscriptions", - "type": "User", - "url": "https://api.github.com/users/mfussenegger" } ], "requested_teams": [], "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27253/comments", "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/e2f8411244918157007aca260a613abecee68291", - "title": "feat(lsp): add bufnr paramater to vim.lsp.codelens.refresh", - "updated_at": "2024-01-29T06:47:26Z", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/249a8610abdbdaaf4cd2518ee5c5d18ab7940604", + "title": "feat(lsp): add opts to vim.lsp.codelens.refresh", + "updated_at": "2024-02-01T21:37:38Z", "url": "https://api.github.com/repos/neovim/neovim/pulls/27253", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", diff --git a/repositories/neovim/pulls/27268.json b/repositories/neovim/pulls/27268.json new file mode 100644 index 00000000..0b69eb5e --- /dev/null +++ b/repositories/neovim/pulls/27268.json @@ -0,0 +1,441 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27268/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27268/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27268" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27268" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27268/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27268" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/f0cf5242d2451a9f7b592c62d5baf95765773fec" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "FIRST_TIME_CONTRIBUTOR", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "4ffc20c9515294481486e81271a8edeeff203140", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": null, + "closed_at": null, + "comment_data": [], + "comment_regular_data": [ + { + "author_association": "NONE", + "body": "I have just a few questions, should I limit the number of characters in the Tutor column to 80 characters?\r\nSince Japanese is a fullwidth character, there are actually 40 characters, which is very difficult to read, so I didn't limit the number of characters so it makes easier to read.\r\nIs it okay to leave it as is? Or should I limit it to 80 or something like [100](https://lkml.org/lkml/2020/5/29/1038) characters?", + "created_at": "2024-01-31T14:05:48Z", + "html_url": "https://github.com/neovim/neovim/pull/27268#issuecomment-1919171458", + "id": 1919171458, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27268", + "node_id": "IC_kwDOAPphoM5yZDuC", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919171458/reactions" + }, + "updated_at": "2024-01-31T14:05:48Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919171458", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/77563904?v=4", + "events_url": "https://api.github.com/users/ite-usagi/events{/privacy}", + "followers_url": "https://api.github.com/users/ite-usagi/followers", + "following_url": "https://api.github.com/users/ite-usagi/following{/other_user}", + "gists_url": "https://api.github.com/users/ite-usagi/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/ite-usagi", + "id": 77563904, + "login": "ite-usagi", + "node_id": "MDQ6VXNlcjc3NTYzOTA0", + "organizations_url": "https://api.github.com/users/ite-usagi/orgs", + "received_events_url": "https://api.github.com/users/ite-usagi/received_events", + "repos_url": "https://api.github.com/users/ite-usagi/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/ite-usagi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ite-usagi/subscriptions", + "type": "User", + "url": "https://api.github.com/users/ite-usagi" + } + }, + { + "author_association": "NONE", + "body": "Ah, I apologize for violating the commit guidelines.", + "created_at": "2024-01-31T14:08:21Z", + "html_url": "https://github.com/neovim/neovim/pull/27268#issuecomment-1919176339", + "id": 1919176339, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27268", + "node_id": "IC_kwDOAPphoM5yZE6T", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919176339/reactions" + }, + "updated_at": "2024-01-31T14:08:21Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919176339", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/77563904?v=4", + "events_url": "https://api.github.com/users/ite-usagi/events{/privacy}", + "followers_url": "https://api.github.com/users/ite-usagi/followers", + "following_url": "https://api.github.com/users/ite-usagi/following{/other_user}", + "gists_url": "https://api.github.com/users/ite-usagi/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/ite-usagi", + "id": 77563904, + "login": "ite-usagi", + "node_id": "MDQ6VXNlcjc3NTYzOTA0", + "organizations_url": "https://api.github.com/users/ite-usagi/orgs", + "received_events_url": "https://api.github.com/users/ite-usagi/received_events", + "repos_url": "https://api.github.com/users/ite-usagi/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/ite-usagi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ite-usagi/subscriptions", + "type": "User", + "url": "https://api.github.com/users/ite-usagi" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27268/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27268/commits", + "created_at": "2024-01-30T15:39:50Z", + "diff_url": "https://github.com/neovim/neovim/pull/27268.diff", + "draft": false, + "head": { + "label": "ite-usagi:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/ite-usagi/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/ite-usagi/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/ite-usagi/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/ite-usagi/neovim/branches{/branch}", + "clone_url": "https://github.com/ite-usagi/neovim.git", + "collaborators_url": "https://api.github.com/repos/ite-usagi/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/ite-usagi/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/ite-usagi/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/ite-usagi/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/ite-usagi/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/ite-usagi/neovim/contributors", + "created_at": "2024-01-30T15:33:52Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/ite-usagi/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/ite-usagi/neovim/downloads", + "events_url": "https://api.github.com/repos/ite-usagi/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/ite-usagi/neovim/forks", + "full_name": "ite-usagi/neovim", + "git_commits_url": "https://api.github.com/repos/ite-usagi/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/ite-usagi/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/ite-usagi/neovim/git/tags{/sha}", + "git_url": "git://github.com/ite-usagi/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/ite-usagi/neovim/hooks", + "html_url": "https://github.com/ite-usagi/neovim", + "id": 750406644, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/ite-usagi/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/ite-usagi/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/ite-usagi/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/ite-usagi/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/ite-usagi/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/ite-usagi/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/ite-usagi/neovim/merges", + "milestones_url": "https://api.github.com/repos/ite-usagi/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOLLpL9A", + "notifications_url": "https://api.github.com/repos/ite-usagi/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/77563904?v=4", + "events_url": "https://api.github.com/users/ite-usagi/events{/privacy}", + "followers_url": "https://api.github.com/users/ite-usagi/followers", + "following_url": "https://api.github.com/users/ite-usagi/following{/other_user}", + "gists_url": "https://api.github.com/users/ite-usagi/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/ite-usagi", + "id": 77563904, + "login": "ite-usagi", + "node_id": "MDQ6VXNlcjc3NTYzOTA0", + "organizations_url": "https://api.github.com/users/ite-usagi/orgs", + "received_events_url": "https://api.github.com/users/ite-usagi/received_events", + "repos_url": "https://api.github.com/users/ite-usagi/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/ite-usagi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ite-usagi/subscriptions", + "type": "User", + "url": "https://api.github.com/users/ite-usagi" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/ite-usagi/neovim/pulls{/number}", + "pushed_at": "2024-01-30T15:38:20Z", + "releases_url": "https://api.github.com/repos/ite-usagi/neovim/releases{/id}", + "size": 251535, + "ssh_url": "git@github.com:ite-usagi/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/ite-usagi/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/ite-usagi/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/ite-usagi/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/ite-usagi/neovim/subscription", + "svn_url": "https://github.com/ite-usagi/neovim", + "tags_url": "https://api.github.com/repos/ite-usagi/neovim/tags", + "teams_url": "https://api.github.com/repos/ite-usagi/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/ite-usagi/neovim/git/trees{/sha}", + "updated_at": "2024-01-30T15:36:40Z", + "url": "https://api.github.com/repos/ite-usagi/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "f0cf5242d2451a9f7b592c62d5baf95765773fec", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/77563904?v=4", + "events_url": "https://api.github.com/users/ite-usagi/events{/privacy}", + "followers_url": "https://api.github.com/users/ite-usagi/followers", + "following_url": "https://api.github.com/users/ite-usagi/following{/other_user}", + "gists_url": "https://api.github.com/users/ite-usagi/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/ite-usagi", + "id": 77563904, + "login": "ite-usagi", + "node_id": "MDQ6VXNlcjc3NTYzOTA0", + "organizations_url": "https://api.github.com/users/ite-usagi/orgs", + "received_events_url": "https://api.github.com/users/ite-usagi/received_events", + "repos_url": "https://api.github.com/users/ite-usagi/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/ite-usagi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ite-usagi/subscriptions", + "type": "User", + "url": "https://api.github.com/users/ite-usagi" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27268", + "id": 1702359454, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27268", + "labels": [], + "locked": false, + "merge_commit_sha": "b2b216dea90f263872de27af19c6ab0af68276c5", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM5ld_Ge", + "number": 27268, + "patch_url": "https://github.com/neovim/neovim/pull/27268.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27268/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/f0cf5242d2451a9f7b592c62d5baf95765773fec", + "title": "docs(tutor): add Japanese tutor", + "updated_at": "2024-01-31T14:08:23Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27268", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/77563904?v=4", + "events_url": "https://api.github.com/users/ite-usagi/events{/privacy}", + "followers_url": "https://api.github.com/users/ite-usagi/followers", + "following_url": "https://api.github.com/users/ite-usagi/following{/other_user}", + "gists_url": "https://api.github.com/users/ite-usagi/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/ite-usagi", + "id": 77563904, + "login": "ite-usagi", + "node_id": "MDQ6VXNlcjc3NTYzOTA0", + "organizations_url": "https://api.github.com/users/ite-usagi/orgs", + "received_events_url": "https://api.github.com/users/ite-usagi/received_events", + "repos_url": "https://api.github.com/users/ite-usagi/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/ite-usagi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ite-usagi/subscriptions", + "type": "User", + "url": "https://api.github.com/users/ite-usagi" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27270.json b/repositories/neovim/pulls/27270.json new file mode 100644 index 00000000..31990e67 --- /dev/null +++ b/repositories/neovim/pulls/27270.json @@ -0,0 +1,362 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27270/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27270/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27270" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27270" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27270/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27270" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/3a9d990e0ead091d820bf71e7b1ac4cc14e82197" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "4ffc20c9515294481486e81271a8edeeff203140", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Fix #27269\n", + "closed_at": "2024-01-31T00:48:53Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27270/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27270/commits", + "created_at": "2024-01-30T23:34:37Z", + "diff_url": "https://github.com/neovim/neovim/pull/27270.diff", + "draft": false, + "head": { + "label": "zeertzjq:this-ru-col", + "ref": "this-ru-col", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/zeertzjq/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/zeertzjq/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/zeertzjq/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/zeertzjq/neovim/branches{/branch}", + "clone_url": "https://github.com/zeertzjq/neovim.git", + "collaborators_url": "https://api.github.com/repos/zeertzjq/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/zeertzjq/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/zeertzjq/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/zeertzjq/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/zeertzjq/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/zeertzjq/neovim/contributors", + "created_at": "2021-09-27T02:22:45Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/zeertzjq/neovim/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/zeertzjq/neovim/downloads", + "events_url": "https://api.github.com/repos/zeertzjq/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/zeertzjq/neovim/forks", + "full_name": "zeertzjq/neovim", + "git_commits_url": "https://api.github.com/repos/zeertzjq/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/zeertzjq/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/zeertzjq/neovim/git/tags{/sha}", + "git_url": "git://github.com/zeertzjq/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/zeertzjq/neovim/hooks", + "html_url": "https://github.com/zeertzjq/neovim", + "id": 410715915, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/zeertzjq/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/zeertzjq/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/zeertzjq/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/zeertzjq/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/zeertzjq/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/zeertzjq/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/zeertzjq/neovim/merges", + "milestones_url": "https://api.github.com/repos/zeertzjq/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOGHsHCw", + "notifications_url": "https://api.github.com/repos/zeertzjq/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/zeertzjq/neovim/pulls{/number}", + "pushed_at": "2024-02-05T07:34:22Z", + "releases_url": "https://api.github.com/repos/zeertzjq/neovim/releases{/id}", + "size": 236183, + "ssh_url": "git@github.com:zeertzjq/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/zeertzjq/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/zeertzjq/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/zeertzjq/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/zeertzjq/neovim/subscription", + "svn_url": "https://github.com/zeertzjq/neovim", + "tags_url": "https://api.github.com/repos/zeertzjq/neovim/tags", + "teams_url": "https://api.github.com/repos/zeertzjq/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/zeertzjq/neovim/git/trees{/sha}", + "updated_at": "2023-02-18T11:19:39Z", + "url": "https://api.github.com/repos/zeertzjq/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "3a9d990e0ead091d820bf71e7b1ac4cc14e82197", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27270", + "id": 1703096238, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27270", + "labels": [ + { + "color": "C5DEF5", + "default": false, + "description": "tabline, winbar, statuscolumn", + "id": 3385615828, + "name": "statusline", + "node_id": "LA_kwDOAPphoM7JzGXU", + "url": "https://api.github.com/repos/neovim/neovim/labels/statusline" + } + ], + "locked": false, + "merge_commit_sha": "9f15a18fa57f540cb3d0d9d2f45d872038e6f990", + "merged_at": "2024-01-31T00:48:53Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5lgy-u", + "number": 27270, + "patch_url": "https://github.com/neovim/neovim/pull/27270.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27270/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/3a9d990e0ead091d820bf71e7b1ac4cc14e82197", + "title": "fix(statusline): missing offset when showing 'keymap'", + "updated_at": "2024-01-31T00:49:07Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27270", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27272.json b/repositories/neovim/pulls/27272.json new file mode 100644 index 00000000..d6fc3b3a --- /dev/null +++ b/repositories/neovim/pulls/27272.json @@ -0,0 +1,398 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27272/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27272/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27272" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27272" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27272/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27272" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/1e23181ad951af4971048e4a20be53c488c17846" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "9f15a18fa57f540cb3d0d9d2f45d872038e6f990", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "- Update to ncurses 6.4.20230520\n- Disable smglp and smgrp for vtpcon and conemu\n- Add xterm+sl to vtpcon, fix #26880\n", + "closed_at": "2024-01-31T13:45:31Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27272/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27272/commits", + "created_at": "2024-01-31T01:10:45Z", + "diff_url": "https://github.com/neovim/neovim/pull/27272.diff", + "draft": false, + "head": { + "label": "zeertzjq:update-terminfo", + "ref": "update-terminfo", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/zeertzjq/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/zeertzjq/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/zeertzjq/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/zeertzjq/neovim/branches{/branch}", + "clone_url": "https://github.com/zeertzjq/neovim.git", + "collaborators_url": "https://api.github.com/repos/zeertzjq/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/zeertzjq/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/zeertzjq/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/zeertzjq/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/zeertzjq/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/zeertzjq/neovim/contributors", + "created_at": "2021-09-27T02:22:45Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/zeertzjq/neovim/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/zeertzjq/neovim/downloads", + "events_url": "https://api.github.com/repos/zeertzjq/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/zeertzjq/neovim/forks", + "full_name": "zeertzjq/neovim", + "git_commits_url": "https://api.github.com/repos/zeertzjq/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/zeertzjq/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/zeertzjq/neovim/git/tags{/sha}", + "git_url": "git://github.com/zeertzjq/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/zeertzjq/neovim/hooks", + "html_url": "https://github.com/zeertzjq/neovim", + "id": 410715915, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/zeertzjq/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/zeertzjq/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/zeertzjq/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/zeertzjq/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/zeertzjq/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/zeertzjq/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/zeertzjq/neovim/merges", + "milestones_url": "https://api.github.com/repos/zeertzjq/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOGHsHCw", + "notifications_url": "https://api.github.com/repos/zeertzjq/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/zeertzjq/neovim/pulls{/number}", + "pushed_at": "2024-02-05T07:34:22Z", + "releases_url": "https://api.github.com/repos/zeertzjq/neovim/releases{/id}", + "size": 236183, + "ssh_url": "git@github.com:zeertzjq/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/zeertzjq/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/zeertzjq/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/zeertzjq/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/zeertzjq/neovim/subscription", + "svn_url": "https://github.com/zeertzjq/neovim", + "tags_url": "https://api.github.com/repos/zeertzjq/neovim/tags", + "teams_url": "https://api.github.com/repos/zeertzjq/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/zeertzjq/neovim/git/trees{/sha}", + "updated_at": "2023-02-18T11:19:39Z", + "url": "https://api.github.com/repos/zeertzjq/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "1e23181ad951af4971048e4a20be53c488c17846", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27272", + "id": 1703185891, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27272", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "building and installing Neovim using the provided scripts", + "id": 84723321, + "name": "build", + "node_id": "MDU6TGFiZWw4NDcyMzMyMQ==", + "url": "https://api.github.com/repos/neovim/neovim/labels/build" + } + ], + "locked": false, + "merge_commit_sha": "0a8e66898d73ee90a9c52d0944141f498804c99d", + "merged_at": "2024-01-31T13:45:31Z", + "milestone": { + "closed_at": null, + "closed_issues": 278, + "created_at": "2023-02-02T14:11:43Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + "description": "", + "due_on": "2024-03-01T08:00:00Z", + "html_url": "https://github.com/neovim/neovim/milestone/36", + "id": 8997654, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", + "node_id": "MI_kwDOAPphoM4AiUsW", + "number": 36, + "open_issues": 138, + "state": "open", + "title": "0.10", + "updated_at": "2024-02-05T21:59:25Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/36" + }, + "node_id": "PR_kwDOAPphoM5lhI3j", + "number": 27272, + "patch_url": "https://github.com/neovim/neovim/pull/27272.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27272/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/1e23181ad951af4971048e4a20be53c488c17846", + "title": "build: update builtin terminfo", + "updated_at": "2024-01-31T20:13:48Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27272", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27274.json b/repositories/neovim/pulls/27274.json new file mode 100644 index 00000000..0174d403 --- /dev/null +++ b/repositories/neovim/pulls/27274.json @@ -0,0 +1,1095 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27274/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27274/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27274" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27274" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27274/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27274" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/f1734aa02658cbcba58bfbfc7e56e639732f10ce" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "0a8e66898d73ee90a9c52d0944141f498804c99d", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "### Problem\r\n\r\n- When a predicate filters out a match, non-first captures may not be\r\n correctly excluded (#27239).\r\n- `Query:iter_captures()` does not yield correct a metadata table for\r\n non-first captures (#23664).\r\n\r\n### Analysis & Solution\r\n\r\nThis PR is still a very early draft and will be rewritten several times.\r\nUntil things are settled down, please refer to the commit message for\r\ndetails and remaining TODOs: \r\n\r\n> \"fix(treesitter): make iter_captures() return a correct match table\"\r\n\r\nCurrent status of this draft: this PR fixes #27239, and fixes #23664.\r\n\r\n\r\n### Related issues\r\n\r\n- #27194 needs to be merged first to avoid a conflict.\r\n\r\n- #17099, #24738: rewrites iter_matches() to correctly handle quantifiers.\r\n - The scope is different, but a part of these also make a similar change\r\n to this PR: `match` should return a different table for each distinct match.\r\n\r\n- #27132 can also benefit from this fix.", + "closed_at": null, + "comment_data": [ + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27274#discussion_r1473133281" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27274" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473133281" + } + }, + "author_association": "MEMBER", + "body": "Is this true? The `match` table is still needed for directives, even when there are no predicates.\r\n\r\nBesides, we will want the `match` table for every iteration anyway for https://github.com/neovim/neovim/pull/27132.", + "commit_id": "f1734aa02658cbcba58bfbfc7e56e639732f10ce", + "created_at": "2024-01-31T16:39:50Z", + "diff_hunk": "@@ -1411,26 +1417,44 @@ static int query_next_capture(lua_State *L)\n push_node(L, capture.node, lua_upvalueindex(2)); // [index, node]\n \n // Now check if we need to run the predicates\n+ // a predicate is executed only once within the same match.\n uint32_t n_pred;\n ts_query_predicates_for_pattern(query, match.pattern_index, &n_pred);\n \n- if (n_pred > 0 && (ud->max_match_id < (int)match.id)) {\n+ if (n_pred == 0) {\n+ // no predicates. Return without the match table as a small perf optimization,\n+ // because in the iter_captures() method, match table won't be needed.\n+ // [index, node]", + "html_url": "https://github.com/neovim/neovim/pull/27274#discussion_r1473133281", + "id": 1473133281, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xzjrh", + "original_commit_id": "c19339b79a08a38f8a3346a795e1b075ee0107bc", + "original_line": 1430, + "original_position": 60, + "original_start_line": 1425, + "path": "src/nvim/lua/treesitter.c", + "position": null, + "pull_request_review_id": 1854282769, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27274", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473133281/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-31T16:52:11Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473133281", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27274#discussion_r1473150830" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27274" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473150830" + } + }, + "author_association": "MEMBER", + "body": "~~I think this whole thing can be simplified to always include the `match` table and return 3 arguments unconditionally. The `iter_captures` method in `query.lua` will need to be updated appropriately to avoid re-evaluating predicates and directives multiples times per match, though (see the test case I provided to check for this).~~\r\n\r\n~~The first time a match is visited we set `match.active` to false. I think we can use this in the `iter_captures` implementation to determine when we need to evaluate `match_preds` and `apply_directives`.~~\r\n\r\n@lucario387 mentioned in [another comment](https://github.com/neovim/neovim/pull/27274#discussion_r1473190609) that \"predicates\" in the Tree-sitter library also refers to directives. If that's the case then I agree that we should only return the match table when `npred > 0`.", + "commit_id": "f1734aa02658cbcba58bfbfc7e56e639732f10ce", + "created_at": "2024-01-31T16:51:38Z", + "diff_hunk": "@@ -1411,26 +1417,44 @@ static int query_next_capture(lua_State *L)\n push_node(L, capture.node, lua_upvalueindex(2)); // [index, node]\n \n // Now check if we need to run the predicates\n+ // a predicate is executed only once within the same match.\n uint32_t n_pred;\n ts_query_predicates_for_pattern(query, match.pattern_index, &n_pred);\n \n- if (n_pred > 0 && (ud->max_match_id < (int)match.id)) {\n+ if (n_pred == 0) {\n+ // no predicates. Return without the match table as a small perf optimization,\n+ // because in the iter_captures() method, match table won't be needed.\n+ // [index, node]\n+ return 2;\n+ }\n+\n+ if (ud->max_match_id < (int)match.id) {\n ud->max_match_id = (int)match.id;\n \n- lua_pushvalue(L, lua_upvalueindex(4)); // [index, node, match]\n+ // Create a new cleared match table\n+ lua_createtable(L, (int)ts_query_capture_count(query), 2); // [index, node, match]\n+ // match: TSMatch = { [integer]: TSNode, pattern: integer, active: boolean }\n set_match(L, &match, lua_upvalueindex(2));\n+ // match.pattern\n lua_pushinteger(L, match.pattern_index + 1);\n lua_setfield(L, -2, \"pattern\");\n \n+ // Set match.active = false for the next match.\n if (match.capture_count > 1) {\n ud->predicated_match = (int)match.id;\n lua_pushboolean(L, false);\n lua_setfield(L, -2, \"active\");\n }\n- return 3;\n+\n+ // Update the current_match in upvalue with the new match table\n+ lua_replace(L, lua_upvalueindex(4)); // [index, node]\n }\n- return 2;\n+\n+ lua_pushvalue(L, lua_upvalueindex(4)); // [index, node, match]\n+ return 3;\n }\n+\n+ // end of result for the query.", + "html_url": "https://github.com/neovim/neovim/pull/27274#discussion_r1473150830", + "id": 1473150830, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xzn9u", + "original_commit_id": "c19339b79a08a38f8a3346a795e1b075ee0107bc", + "original_line": 1460, + "original_position": 93, + "original_start_line": 1431, + "path": "src/nvim/lua/treesitter.c", + "position": null, + "pull_request_review_id": 1854282769, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27274", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473150830/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-31T17:29:42Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473150830", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27274#discussion_r1473190609" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27274" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473190609" + } + }, + "author_association": "CONTRIBUTOR", + "body": "From treesitter's pov, directives and predicates are both predicates. Here is the example of upstream calling `#set!` a predicate. https://tree-sitter.github.io/tree-sitter/syntax-highlighting#unit-testing, a line above that.", + "commit_id": "f1734aa02658cbcba58bfbfc7e56e639732f10ce", + "created_at": "2024-01-31T17:24:28Z", + "diff_hunk": "@@ -1411,26 +1417,44 @@ static int query_next_capture(lua_State *L)\n push_node(L, capture.node, lua_upvalueindex(2)); // [index, node]\n \n // Now check if we need to run the predicates\n+ // a predicate is executed only once within the same match.\n uint32_t n_pred;\n ts_query_predicates_for_pattern(query, match.pattern_index, &n_pred);\n \n- if (n_pred > 0 && (ud->max_match_id < (int)match.id)) {\n+ if (n_pred == 0) {\n+ // no predicates. Return without the match table as a small perf optimization,\n+ // because in the iter_captures() method, match table won't be needed.\n+ // [index, node]", + "html_url": "https://github.com/neovim/neovim/pull/27274#discussion_r1473190609", + "id": 1473190609, + "in_reply_to_id": 1473133281, + "line": null, + "node_id": "PRRC_kwDOAPphoM5XzxrR", + "original_commit_id": "c19339b79a08a38f8a3346a795e1b075ee0107bc", + "original_line": 1430, + "original_position": 60, + "original_start_line": 1425, + "path": "src/nvim/lua/treesitter.c", + "position": null, + "pull_request_review_id": 1854395198, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27274", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473190609/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-31T17:24:43Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473190609", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/29790821?v=4", + "events_url": "https://api.github.com/users/lucario387/events{/privacy}", + "followers_url": "https://api.github.com/users/lucario387/followers", + "following_url": "https://api.github.com/users/lucario387/following{/other_user}", + "gists_url": "https://api.github.com/users/lucario387/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lucario387", + "id": 29790821, + "login": "lucario387", + "node_id": "MDQ6VXNlcjI5NzkwODIx", + "organizations_url": "https://api.github.com/users/lucario387/orgs", + "received_events_url": "https://api.github.com/users/lucario387/received_events", + "repos_url": "https://api.github.com/users/lucario387/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lucario387/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lucario387/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lucario387" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27274#discussion_r1473195236" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27274" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473195236" + } + }, + "author_association": "MEMBER", + "body": "Ah, thanks for that clarification. If that is indeed the case then I agree we only need to return the match table when `npred > 0`.", + "commit_id": "f1734aa02658cbcba58bfbfc7e56e639732f10ce", + "created_at": "2024-01-31T17:28:27Z", + "diff_hunk": "@@ -1411,26 +1417,44 @@ static int query_next_capture(lua_State *L)\n push_node(L, capture.node, lua_upvalueindex(2)); // [index, node]\n \n // Now check if we need to run the predicates\n+ // a predicate is executed only once within the same match.\n uint32_t n_pred;\n ts_query_predicates_for_pattern(query, match.pattern_index, &n_pred);\n \n- if (n_pred > 0 && (ud->max_match_id < (int)match.id)) {\n+ if (n_pred == 0) {\n+ // no predicates. Return without the match table as a small perf optimization,\n+ // because in the iter_captures() method, match table won't be needed.\n+ // [index, node]", + "html_url": "https://github.com/neovim/neovim/pull/27274#discussion_r1473195236", + "id": 1473195236, + "in_reply_to_id": 1473133281, + "line": null, + "node_id": "PRRC_kwDOAPphoM5Xzyzk", + "original_commit_id": "c19339b79a08a38f8a3346a795e1b075ee0107bc", + "original_line": 1430, + "original_position": 60, + "original_start_line": 1425, + "path": "src/nvim/lua/treesitter.c", + "position": null, + "pull_request_review_id": 1854408483, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27274", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473195236/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-31T17:28:27Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473195236", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27274#discussion_r1473315834" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27274" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473315834" + } + }, + "author_association": "MEMBER", + "body": "Thanks for sharing the test case. I will try to include them -- probably moving query related tests out of `parser_spec` (which is now too long) to a new `queries_spec`.\r\n\r\nYes, in this context predicates includes directives (which is a Nvim-specific term). A clarification would be needed in the docs. While returning only when there is a predicate/directive would be fine, if we later decide to make `iter_capture()` return the fourth return value `match` (for #27132) then this might need to be reconsidered; e.g. via opt-in.", + "commit_id": "f1734aa02658cbcba58bfbfc7e56e639732f10ce", + "created_at": "2024-01-31T18:51:57Z", + "diff_hunk": "@@ -1411,26 +1417,44 @@ static int query_next_capture(lua_State *L)\n push_node(L, capture.node, lua_upvalueindex(2)); // [index, node]\n \n // Now check if we need to run the predicates\n+ // a predicate is executed only once within the same match.\n uint32_t n_pred;\n ts_query_predicates_for_pattern(query, match.pattern_index, &n_pred);\n \n- if (n_pred > 0 && (ud->max_match_id < (int)match.id)) {\n+ if (n_pred == 0) {\n+ // no predicates. Return without the match table as a small perf optimization,\n+ // because in the iter_captures() method, match table won't be needed.\n+ // [index, node]\n+ return 2;\n+ }\n+\n+ if (ud->max_match_id < (int)match.id) {\n ud->max_match_id = (int)match.id;\n \n- lua_pushvalue(L, lua_upvalueindex(4)); // [index, node, match]\n+ // Create a new cleared match table\n+ lua_createtable(L, (int)ts_query_capture_count(query), 2); // [index, node, match]\n+ // match: TSMatch = { [integer]: TSNode, pattern: integer, active: boolean }\n set_match(L, &match, lua_upvalueindex(2));\n+ // match.pattern\n lua_pushinteger(L, match.pattern_index + 1);\n lua_setfield(L, -2, \"pattern\");\n \n+ // Set match.active = false for the next match.\n if (match.capture_count > 1) {\n ud->predicated_match = (int)match.id;\n lua_pushboolean(L, false);\n lua_setfield(L, -2, \"active\");\n }\n- return 3;\n+\n+ // Update the current_match in upvalue with the new match table\n+ lua_replace(L, lua_upvalueindex(4)); // [index, node]\n }\n- return 2;\n+\n+ lua_pushvalue(L, lua_upvalueindex(4)); // [index, node, match]\n+ return 3;\n }\n+\n+ // end of result for the query.", + "html_url": "https://github.com/neovim/neovim/pull/27274#discussion_r1473315834", + "id": 1473315834, + "in_reply_to_id": 1473150830, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X0QP6", + "original_commit_id": "c19339b79a08a38f8a3346a795e1b075ee0107bc", + "original_line": 1460, + "original_position": 93, + "original_start_line": 1431, + "path": "src/nvim/lua/treesitter.c", + "position": null, + "pull_request_review_id": 1854588122, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27274", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473315834/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-31T18:51:57Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473315834", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27274#discussion_r1473320786" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27274" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473320786" + } + }, + "author_association": "MEMBER", + "body": "For #27312 at least, we only need `match` when there are directives, so this would still be ok.", + "commit_id": "f1734aa02658cbcba58bfbfc7e56e639732f10ce", + "created_at": "2024-01-31T18:56:01Z", + "diff_hunk": "@@ -1411,26 +1417,44 @@ static int query_next_capture(lua_State *L)\n push_node(L, capture.node, lua_upvalueindex(2)); // [index, node]\n \n // Now check if we need to run the predicates\n+ // a predicate is executed only once within the same match.\n uint32_t n_pred;\n ts_query_predicates_for_pattern(query, match.pattern_index, &n_pred);\n \n- if (n_pred > 0 && (ud->max_match_id < (int)match.id)) {\n+ if (n_pred == 0) {\n+ // no predicates. Return without the match table as a small perf optimization,\n+ // because in the iter_captures() method, match table won't be needed.\n+ // [index, node]\n+ return 2;\n+ }\n+\n+ if (ud->max_match_id < (int)match.id) {\n ud->max_match_id = (int)match.id;\n \n- lua_pushvalue(L, lua_upvalueindex(4)); // [index, node, match]\n+ // Create a new cleared match table\n+ lua_createtable(L, (int)ts_query_capture_count(query), 2); // [index, node, match]\n+ // match: TSMatch = { [integer]: TSNode, pattern: integer, active: boolean }\n set_match(L, &match, lua_upvalueindex(2));\n+ // match.pattern\n lua_pushinteger(L, match.pattern_index + 1);\n lua_setfield(L, -2, \"pattern\");\n \n+ // Set match.active = false for the next match.\n if (match.capture_count > 1) {\n ud->predicated_match = (int)match.id;\n lua_pushboolean(L, false);\n lua_setfield(L, -2, \"active\");\n }\n- return 3;\n+\n+ // Update the current_match in upvalue with the new match table\n+ lua_replace(L, lua_upvalueindex(4)); // [index, node]\n }\n- return 2;\n+\n+ lua_pushvalue(L, lua_upvalueindex(4)); // [index, node, match]\n+ return 3;\n }\n+\n+ // end of result for the query.", + "html_url": "https://github.com/neovim/neovim/pull/27274#discussion_r1473320786", + "id": 1473320786, + "in_reply_to_id": 1473150830, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X0RdS", + "original_commit_id": "c19339b79a08a38f8a3346a795e1b075ee0107bc", + "original_line": 1460, + "original_position": 93, + "original_start_line": 1431, + "path": "src/nvim/lua/treesitter.c", + "position": null, + "pull_request_review_id": 1854595970, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27274", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473320786/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-31T18:56:01Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473320786", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27274#discussion_r1473321341" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27274" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473321341" + } + }, + "author_association": "MEMBER", + "body": "Right. When I wrote this earlier, there was no such need other than *ephemeral* uses for predicates/directives. But if #27132 needs `match`, we can remove this *micro-* optimization. We'd need to do profiling and check how significant this would be, because a majority of patterns will have no predicates. See @bfredl's comment: https://github.com/neovim/neovim/issues/27239#issuecomment-1914247646, suggesting this should be done in an opt-in manner.", + "commit_id": "f1734aa02658cbcba58bfbfc7e56e639732f10ce", + "created_at": "2024-01-31T18:56:30Z", + "diff_hunk": "@@ -1411,26 +1417,44 @@ static int query_next_capture(lua_State *L)\n push_node(L, capture.node, lua_upvalueindex(2)); // [index, node]\n \n // Now check if we need to run the predicates\n+ // a predicate is executed only once within the same match.\n uint32_t n_pred;\n ts_query_predicates_for_pattern(query, match.pattern_index, &n_pred);\n \n- if (n_pred > 0 && (ud->max_match_id < (int)match.id)) {\n+ if (n_pred == 0) {\n+ // no predicates. Return without the match table as a small perf optimization,\n+ // because in the iter_captures() method, match table won't be needed.\n+ // [index, node]", + "html_url": "https://github.com/neovim/neovim/pull/27274#discussion_r1473321341", + "id": 1473321341, + "in_reply_to_id": 1473133281, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X0Rl9", + "original_commit_id": "c19339b79a08a38f8a3346a795e1b075ee0107bc", + "original_line": 1430, + "original_position": 60, + "original_start_line": 1425, + "path": "src/nvim/lua/treesitter.c", + "position": null, + "pull_request_review_id": 1854596797, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27274", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473321341/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-01-31T19:54:20Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473321341", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27274#discussion_r1473335027" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27274" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473335027" + } + }, + "author_association": "MEMBER", + "body": "There is one issue here. I understand this logic (`ud->max_match_id`) was introduced to run predicates only once for the match. However, I found that `ts_query_cursor_next_capture` enumerates captures in the order they are found, so actually matches can be *alternating*; and indeed this assertion easily fails although not (yet) covered by tests. Therefore, the current implementation is also potentially buggy because `match` table might contain a wrong information coming from another matches.\r\n\r\nWe can either:\r\n- (1) re-evaluate predicates when match is differs from the last one, i.e. call `set_match` again to reset the table (we no longer have the \"identity\" of table)\r\n- (2) or keep track of a collection of `matches` ...\r\n\r\nbut these can be costly, hurting the performance. It is also [*against* the design of `ts_query_cursor_next_capture`, ](\r\nhttps://github.com/tree-sitter/tree-sitter/blob/v0.20.9/lib/include/tree_sitter/api.h#L931-L934), suggesting that **`iter_matches`** might be a better fit if one needs the `match` table. This also implies that predicates are quite difficult to handle with `iter_captures()` -- I'll need to check how the upstream tree-sitter implements predicates.\r\n\r\nAny thoughts @gpanders @bfredl @lewis6991 @lucario387?", + "commit_id": "f1734aa02658cbcba58bfbfc7e56e639732f10ce", + "created_at": "2024-01-31T19:08:52Z", + "diff_hunk": "@@ -1411,26 +1420,44 @@ static int query_next_capture(lua_State *L)\n push_node(L, capture.node, lua_upvalueindex(2)); // [index, node]\n \n // Now check if we need to run the predicates\n+ // a predicate is executed only once within the same match.\n uint32_t n_pred;\n ts_query_predicates_for_pattern(query, match.pattern_index, &n_pred);\n \n- if (n_pred > 0 && (ud->max_match_id < (int)match.id)) {\n+ if (n_pred == 0) {\n+ // No predicates. Return without the match table as a small perf optimization,\n+ // because in the iter_captures() method, match table won't be needed.\n+ // [index, node]\n+ return 2;\n+ }\n+\n+ // A new match is found. the use of `max_match_id` assumed that `ts_query_cursor_next_capture()`\n+ // would enumerate captures in the order that \"match\"es increases monotonoically.\n+ // The `ts_query_cursor_next_capture()` would enumerate captures in the order they are found.\n+ // TODO(wookayin): However, this is not guaranteed, and indeed assertion fails.\n+ // Therefore, when matches are alternating, the information about if predicate is active\n+ // won't be maintained, which can still lead to incorrect behavior of predicates.\n+ assert(ud->max_match_id <= (int)match.id);\n+ if (ud->max_match_id < (int)match.id) {", + "html_url": "https://github.com/neovim/neovim/pull/27274#discussion_r1473335027", + "id": 1473335027, + "line": 1441, + "node_id": "PRRC_kwDOAPphoM5X0U7z", + "original_commit_id": "f1734aa02658cbcba58bfbfc7e56e639732f10ce", + "original_line": 1441, + "original_position": 81, + "original_start_line": null, + "path": "src/nvim/lua/treesitter.c", + "position": 81, + "pull_request_review_id": 1854621134, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27274", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473335027/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T19:10:59Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473335027", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27274#discussion_r1473353601" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27274" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473353601" + } + }, + "author_association": "MEMBER", + "body": ">However, I found that ts_query_cursor_next_capture enumerates captures in the order they are found, so actually matches can be alternating; and indeed this assertion easily fails although not (yet) covered by tests.\r\n\r\nCan you provide an example where this fails? I'm not sure I understand in what situation an ordered list of captures would result in alternating matches. The treesitter header you linked says\r\n\r\n>iterate over all of the individual *captures* in the order that they appear\r\n\r\nSo iterating over captures in the \"order that they appear\" implies that matches are also iterated in sequential order. Am I misunderstanding?", + "commit_id": "f1734aa02658cbcba58bfbfc7e56e639732f10ce", + "created_at": "2024-01-31T19:18:44Z", + "diff_hunk": "@@ -1411,26 +1420,44 @@ static int query_next_capture(lua_State *L)\n push_node(L, capture.node, lua_upvalueindex(2)); // [index, node]\n \n // Now check if we need to run the predicates\n+ // a predicate is executed only once within the same match.\n uint32_t n_pred;\n ts_query_predicates_for_pattern(query, match.pattern_index, &n_pred);\n \n- if (n_pred > 0 && (ud->max_match_id < (int)match.id)) {\n+ if (n_pred == 0) {\n+ // No predicates. Return without the match table as a small perf optimization,\n+ // because in the iter_captures() method, match table won't be needed.\n+ // [index, node]\n+ return 2;\n+ }\n+\n+ // A new match is found. the use of `max_match_id` assumed that `ts_query_cursor_next_capture()`\n+ // would enumerate captures in the order that \"match\"es increases monotonoically.\n+ // The `ts_query_cursor_next_capture()` would enumerate captures in the order they are found.\n+ // TODO(wookayin): However, this is not guaranteed, and indeed assertion fails.\n+ // Therefore, when matches are alternating, the information about if predicate is active\n+ // won't be maintained, which can still lead to incorrect behavior of predicates.\n+ assert(ud->max_match_id <= (int)match.id);\n+ if (ud->max_match_id < (int)match.id) {", + "html_url": "https://github.com/neovim/neovim/pull/27274#discussion_r1473353601", + "id": 1473353601, + "in_reply_to_id": 1473335027, + "line": 1441, + "node_id": "PRRC_kwDOAPphoM5X0ZeB", + "original_commit_id": "f1734aa02658cbcba58bfbfc7e56e639732f10ce", + "original_line": 1441, + "original_position": 81, + "original_start_line": null, + "path": "src/nvim/lua/treesitter.c", + "position": 81, + "pull_request_review_id": 1854643391, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27274", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473353601/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T19:18:44Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473353601", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27274#discussion_r1473390817" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27274" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473390817" + } + }, + "author_association": "MEMBER", + "body": "That's what I also assumed, but with this assertion included I can consistently crash my built nvim in a real-world use. CI tests are also red. Will have to find a repro and add it to test.\r\n\r\nDocumentation in the header file also mentions:\r\n\r\n> Because multiple patterns can match the same set of nodes, one match may contain captures that appear *before* some of the captures from a previous match\r\n\r\nso I guess this is when, for example, there are multiple (even duplicate) patterns with multiple captures matching on the exact same set of nodes.", + "commit_id": "f1734aa02658cbcba58bfbfc7e56e639732f10ce", + "created_at": "2024-01-31T19:53:31Z", + "diff_hunk": "@@ -1411,26 +1420,44 @@ static int query_next_capture(lua_State *L)\n push_node(L, capture.node, lua_upvalueindex(2)); // [index, node]\n \n // Now check if we need to run the predicates\n+ // a predicate is executed only once within the same match.\n uint32_t n_pred;\n ts_query_predicates_for_pattern(query, match.pattern_index, &n_pred);\n \n- if (n_pred > 0 && (ud->max_match_id < (int)match.id)) {\n+ if (n_pred == 0) {\n+ // No predicates. Return without the match table as a small perf optimization,\n+ // because in the iter_captures() method, match table won't be needed.\n+ // [index, node]\n+ return 2;\n+ }\n+\n+ // A new match is found. the use of `max_match_id` assumed that `ts_query_cursor_next_capture()`\n+ // would enumerate captures in the order that \"match\"es increases monotonoically.\n+ // The `ts_query_cursor_next_capture()` would enumerate captures in the order they are found.\n+ // TODO(wookayin): However, this is not guaranteed, and indeed assertion fails.\n+ // Therefore, when matches are alternating, the information about if predicate is active\n+ // won't be maintained, which can still lead to incorrect behavior of predicates.\n+ assert(ud->max_match_id <= (int)match.id);\n+ if (ud->max_match_id < (int)match.id) {", + "html_url": "https://github.com/neovim/neovim/pull/27274#discussion_r1473390817", + "id": 1473390817, + "in_reply_to_id": 1473335027, + "line": 1441, + "node_id": "PRRC_kwDOAPphoM5X0ijh", + "original_commit_id": "f1734aa02658cbcba58bfbfc7e56e639732f10ce", + "original_line": 1441, + "original_position": 81, + "original_start_line": null, + "path": "src/nvim/lua/treesitter.c", + "position": 81, + "pull_request_review_id": 1854708975, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27274", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473390817/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T19:56:09Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1473390817", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + } + ], + "comment_regular_data": [ + { + "author_association": "MEMBER", + "body": "I have two test cases written while I was working on this, one to address #23664 and one to ensure that predicates are only evaluated once per match (this is an assumption of the implementation now but is not tested anywhere).\r\n\r\n```diff\r\ndiff --git a/test/functional/treesitter/query_spec.lua b/test/functional/treesitter/query_spec.lua\r\nnew file mode 100644\r\nindex 000000000..681538ca8\r\n--- /dev/null\r\n+++ b/test/functional/treesitter/query_spec.lua\r\n@@ -0,0 +1,83 @@\r\n+local helpers = require('test.functional.helpers')(after_each)\r\n+\r\n+local clear = helpers.clear\r\n+local insert = helpers.insert\r\n+local exec_lua = helpers.exec_lua\r\n+local eq = helpers.eq\r\n+\r\n+before_each(clear)\r\n+\r\n+describe('Query:iter_captures', function()\r\n+ it('includes metadata for all captured nodes #23664', function()\r\n+ insert([[\r\n+ const char *sql = \"SELECT * FROM Students WHERE name = 'Robert'); DROP TABLE Students;--\";\r\n+ ]])\r\n+\r\n+ local query = [[\r\n+ (declaration\r\n+ type: (_)\r\n+ declarator: (init_declarator\r\n+ declarator: (pointer_declarator\r\n+ declarator: (identifier)) @_id\r\n+ value: (string_literal\r\n+ (string_content) @injection.content))\r\n+ (#set! injection.language \"sql\")\r\n+ (#contains? @_id \"sql\"))\r\n+ ]]\r\n+\r\n+ local result = exec_lua([[\r\n+ local injections = vim.treesitter.query.parse(\"c\", ...)\r\n+\r\n+ local parser = vim.treesitter.get_parser(0, \"c\")\r\n+ local root = parser:parse()[1]:root()\r\n+\r\n+ local t = {}\r\n+ for id, node, metadata in injections:iter_captures(root, 0) do\r\n+ t[id] = metadata\r\n+ end\r\n+ return t\r\n+ ]], query)\r\n+\r\n+ eq({\r\n+ [1] = { ['injection.language'] = 'sql' },\r\n+ [2] = { ['injection.language'] = 'sql' },\r\n+ }, result)\r\n+ end)\r\n+\r\n+ it('only evaluates predicates once per match', function()\r\n+ insert([[\r\n+ void foo(int x, int y);\r\n+ ]])\r\n+ local query = [[\r\n+ (declaration\r\n+ type: (_)\r\n+ declarator: (function_declarator\r\n+ declarator: (identifier) @function.name\r\n+ parameters: (parameter_list\r\n+ (parameter_declaration\r\n+ type: (_)\r\n+ declarator: (identifier) @argument)))\r\n+ (#eq? @function.name \"foo\"))\r\n+ ]]\r\n+\r\n+ local result = exec_lua([[\r\n+ local query = vim.treesitter.query.parse(\"c\", ...)\r\n+ local match_preds = query.match_preds\r\n+ local called = 0\r\n+ function query:match_preds(...)\r\n+ called = called + 1\r\n+ return match_preds(self, ...)\r\n+ end\r\n+\r\n+ local parser = vim.treesitter.get_parser(0, \"c\")\r\n+ local root = parser:parse()[1]:root()\r\n+ local captures = {}\r\n+ for id, node in query:iter_captures(root, 0) do\r\n+ captures[#captures + 1] = id\r\n+ end\r\n+ return { called, captures }\r\n+ ]], query)\r\n+\r\n+ eq({ 1, { 1, 1, 2, 2 } }, result)\r\n+ end)\r\n+end)\r\n```", + "created_at": "2024-01-31T16:38:21Z", + "html_url": "https://github.com/neovim/neovim/pull/27274#issuecomment-1919481066", + "id": 1919481066, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27274", + "node_id": "IC_kwDOAPphoM5yaPTq", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919481066/reactions" + }, + "updated_at": "2024-01-31T16:38:21Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1919481066", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27274/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27274/commits", + "created_at": "2024-01-31T06:30:42Z", + "diff_url": "https://github.com/neovim/neovim/pull/27274.diff", + "draft": true, + "head": { + "label": "wookayin:ts/fix-capture", + "ref": "ts/fix-capture", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/wookayin/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/wookayin/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/wookayin/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/wookayin/neovim/branches{/branch}", + "clone_url": "https://github.com/wookayin/neovim.git", + "collaborators_url": "https://api.github.com/repos/wookayin/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/wookayin/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/wookayin/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/wookayin/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/wookayin/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/wookayin/neovim/contributors", + "created_at": "2022-10-30T19:40:29Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/wookayin/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/wookayin/neovim/downloads", + "events_url": "https://api.github.com/repos/wookayin/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/wookayin/neovim/forks", + "full_name": "wookayin/neovim", + "git_commits_url": "https://api.github.com/repos/wookayin/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/wookayin/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/wookayin/neovim/git/tags{/sha}", + "git_url": "git://github.com/wookayin/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/wookayin/neovim/hooks", + "html_url": "https://github.com/wookayin/neovim", + "id": 559659867, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/wookayin/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/wookayin/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/wookayin/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/wookayin/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/wookayin/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/wookayin/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/wookayin/neovim/merges", + "milestones_url": "https://api.github.com/repos/wookayin/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOIVu7Ww", + "notifications_url": "https://api.github.com/repos/wookayin/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/wookayin/neovim/pulls{/number}", + "pushed_at": "2024-02-05T22:04:28Z", + "releases_url": "https://api.github.com/repos/wookayin/neovim/releases{/id}", + "size": 247830, + "ssh_url": "git@github.com:wookayin/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/wookayin/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/wookayin/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/wookayin/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/wookayin/neovim/subscription", + "svn_url": "https://github.com/wookayin/neovim", + "tags_url": "https://api.github.com/repos/wookayin/neovim/tags", + "teams_url": "https://api.github.com/repos/wookayin/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/wookayin/neovim/git/trees{/sha}", + "updated_at": "2024-01-25T20:45:40Z", + "url": "https://api.github.com/repos/wookayin/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "f1734aa02658cbcba58bfbfc7e56e639732f10ce", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27274", + "id": 1703437211, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27274", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "", + "id": 1799626557, + "name": "treesitter", + "node_id": "MDU6TGFiZWwxNzk5NjI2NTU3", + "url": "https://api.github.com/repos/neovim/neovim/labels/treesitter" + } + ], + "locked": false, + "merge_commit_sha": "9a30005e430229b6bd306a373cae46d2385bc1c8", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM5liGOb", + "number": 27274, + "patch_url": "https://github.com/neovim/neovim/pull/27274.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27274/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/f1734aa02658cbcba58bfbfc7e56e639732f10ce", + "title": "fix(treesitter): make iter_captures() return a correct match table", + "updated_at": "2024-01-31T19:53:31Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27274", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27275.json b/repositories/neovim/pulls/27275.json new file mode 100644 index 00000000..3c710b71 --- /dev/null +++ b/repositories/neovim/pulls/27275.json @@ -0,0 +1,362 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27275/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27275/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27275" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27275" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27275/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27275" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/c59e8d445a2fffdaef1b89059c302ad70c9f8c46" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "9f15a18fa57f540cb3d0d9d2f45d872038e6f990", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "- vim-patch:26b0176a98f8\n- vim-patch:bdb9d9afba97\n", + "closed_at": "2024-01-31T08:55:09Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27275/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27275/commits", + "created_at": "2024-01-31T08:39:55Z", + "diff_url": "https://github.com/neovim/neovim/pull/27275.diff", + "draft": false, + "head": { + "label": "clason:vim-26b0176a98f8", + "ref": "vim-26b0176a98f8", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/clason/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/clason/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/clason/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/clason/neovim/branches{/branch}", + "clone_url": "https://github.com/clason/neovim.git", + "collaborators_url": "https://api.github.com/repos/clason/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/clason/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/clason/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/clason/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/clason/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/clason/neovim/contributors", + "created_at": "2022-06-19T14:32:07Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/clason/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/clason/neovim/downloads", + "events_url": "https://api.github.com/repos/clason/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/clason/neovim/forks", + "full_name": "clason/neovim", + "git_commits_url": "https://api.github.com/repos/clason/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/clason/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/clason/neovim/git/tags{/sha}", + "git_url": "git://github.com/clason/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/clason/neovim/hooks", + "html_url": "https://github.com/clason/neovim", + "id": 505133677, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/clason/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/clason/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/clason/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/clason/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/clason/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/clason/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/clason/neovim/merges", + "milestones_url": "https://api.github.com/repos/clason/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOHhu6bQ", + "notifications_url": "https://api.github.com/repos/clason/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/clason/neovim/pulls{/number}", + "pushed_at": "2024-02-04T19:30:24Z", + "releases_url": "https://api.github.com/repos/clason/neovim/releases{/id}", + "size": 248690, + "ssh_url": "git@github.com:clason/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/clason/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/clason/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/clason/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/clason/neovim/subscription", + "svn_url": "https://github.com/clason/neovim", + "tags_url": "https://api.github.com/repos/clason/neovim/tags", + "teams_url": "https://api.github.com/repos/clason/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/clason/neovim/git/trees{/sha}", + "updated_at": "2023-01-31T19:57:54Z", + "url": "https://api.github.com/repos/clason/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "c59e8d445a2fffdaef1b89059c302ad70c9f8c46", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27275", + "id": 1703603124, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27275", + "labels": [ + { + "color": "e6e6e6", + "default": false, + "description": "See https://github.com/neovim/neovim/wiki/Merging-patches-from-upstream-Vim", + "id": 843184430, + "name": "vim-patch", + "node_id": "MDU6TGFiZWw4NDMxODQ0MzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/vim-patch" + } + ], + "locked": false, + "merge_commit_sha": "f4b3636f245fce5f4b246b838c7cdd8a87364123", + "merged_at": "2024-01-31T08:55:09Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5liuu0", + "number": 27275, + "patch_url": "https://github.com/neovim/neovim/pull/27275.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27275/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/c59e8d445a2fffdaef1b89059c302ad70c9f8c46", + "title": "vim-patch: update runtime files", + "updated_at": "2024-01-31T08:56:58Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27275", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27276.json b/repositories/neovim/pulls/27276.json new file mode 100644 index 00000000..544f98e7 --- /dev/null +++ b/repositories/neovim/pulls/27276.json @@ -0,0 +1,521 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27276/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27276/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27276" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27276" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27276/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27276" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/390e0d0a86d6d2b0b8ed4f74517fe4b0dcd111a9" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "0da18ae5ceb2a53115332d3f6993437cca67b9b4", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "GH Actions run macos-14 on M1 now, giving us our first ARM build.\r\n\r\nTest both arches for now; we can eventually drop Intel in favor of ARM to reduce the test load (and will have to, once Apple drops support for Intel completely). M1 runners seem about twice as fast, at least at this moment:\r\n\r\n* macos-12:\r\n - Build 48s\r\n - functionaltest 7m 7s\r\n\r\n* macos-14:\r\n - Build 24s\r\n - functionaltest 5m 5s\r\n\r\nunittest failure is relevant and due to arch difference, see #26145 \r\n\r\n(oldttest failure is also relevant and due to building without `libintl`: one is straight locale failure (though behind `has('gettext')` guard?), the other is in `Wildmode_test()` and unclear)\r\n\r\n**Question:** Do we want to move the build/release tests to M1 (once we get the unittest fixed)?\r\n\r\n@dundargoc\r\n", + "closed_at": null, + "comment_data": [], + "comment_regular_data": [ + { + "author_association": "MEMBER", + "body": "> Question: Do we want to move the build/release tests to M1 (once we get the unittest fixed)?\r\n\r\nWe don't really have build/release tests unless you mean the universal build itself. I think it'd be worth trying it out (since we'd eventually need to do this regardless), but I wouldn't say it's imperative it's done in this PR.", + "created_at": "2024-01-31T11:15:58Z", + "html_url": "https://github.com/neovim/neovim/pull/27276#issuecomment-1918901557", + "id": 1918901557, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27276", + "node_id": "IC_kwDOAPphoM5yYB01", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918901557/reactions" + }, + "updated_at": "2024-01-31T11:15:58Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918901557", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + } + }, + { + "author_association": "MEMBER", + "body": "Right, I meant \"workflows\" (although the build workflow _is_ a test). Should be a simple change to the runner (from `macos-latest` to `macos-14`); very little cost for CI time reduction (albeit for workflows that aren't the bottleneck).", + "created_at": "2024-01-31T11:17:13Z", + "html_url": "https://github.com/neovim/neovim/pull/27276#issuecomment-1918903469", + "id": 1918903469, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27276", + "node_id": "IC_kwDOAPphoM5yYCSt", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918903469/reactions" + }, + "updated_at": "2024-01-31T11:18:15Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1918903469", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27276/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27276/commits", + "created_at": "2024-01-31T08:53:52Z", + "diff_url": "https://github.com/neovim/neovim/pull/27276.diff", + "draft": false, + "head": { + "label": "clason:ci/m1", + "ref": "ci/m1", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/clason/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/clason/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/clason/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/clason/neovim/branches{/branch}", + "clone_url": "https://github.com/clason/neovim.git", + "collaborators_url": "https://api.github.com/repos/clason/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/clason/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/clason/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/clason/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/clason/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/clason/neovim/contributors", + "created_at": "2022-06-19T14:32:07Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/clason/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/clason/neovim/downloads", + "events_url": "https://api.github.com/repos/clason/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/clason/neovim/forks", + "full_name": "clason/neovim", + "git_commits_url": "https://api.github.com/repos/clason/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/clason/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/clason/neovim/git/tags{/sha}", + "git_url": "git://github.com/clason/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/clason/neovim/hooks", + "html_url": "https://github.com/clason/neovim", + "id": 505133677, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/clason/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/clason/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/clason/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/clason/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/clason/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/clason/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/clason/neovim/merges", + "milestones_url": "https://api.github.com/repos/clason/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOHhu6bQ", + "notifications_url": "https://api.github.com/repos/clason/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/clason/neovim/pulls{/number}", + "pushed_at": "2024-02-04T19:30:24Z", + "releases_url": "https://api.github.com/repos/clason/neovim/releases{/id}", + "size": 248690, + "ssh_url": "git@github.com:clason/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/clason/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/clason/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/clason/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/clason/neovim/subscription", + "svn_url": "https://github.com/clason/neovim", + "tags_url": "https://api.github.com/repos/clason/neovim/tags", + "teams_url": "https://api.github.com/repos/clason/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/clason/neovim/git/trees{/sha}", + "updated_at": "2023-01-31T19:57:54Z", + "url": "https://api.github.com/repos/clason/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "390e0d0a86d6d2b0b8ed4f74517fe4b0dcd111a9", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27276", + "id": 1703623459, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27276", + "labels": [ + { + "color": "d4c5f9", + "default": false, + "description": null, + "id": 81986904, + "name": "platform:macos", + "node_id": "MDU6TGFiZWw4MTk4NjkwNA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/platform:macos" + }, + { + "color": "e6e6e6", + "default": false, + "description": "automation for build, test, and release", + "id": 212701006, + "name": "ci", + "node_id": "MDU6TGFiZWwyMTI3MDEwMDY=", + "url": "https://api.github.com/repos/neovim/neovim/labels/ci" + } + ], + "locked": false, + "merge_commit_sha": "3c1dbbde23dc9f8838c0ea0bcbfb950cbc7c5a13", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM5lizsj", + "number": 27276, + "patch_url": "https://github.com/neovim/neovim/pull/27276.patch", + "requested_reviewers": [ + { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + }, + { + "avatar_url": "https://avatars.githubusercontent.com/u/112971?v=4", + "events_url": "https://api.github.com/users/jamessan/events{/privacy}", + "followers_url": "https://api.github.com/users/jamessan/followers", + "following_url": "https://api.github.com/users/jamessan/following{/other_user}", + "gists_url": "https://api.github.com/users/jamessan/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/jamessan", + "id": 112971, + "login": "jamessan", + "node_id": "MDQ6VXNlcjExMjk3MQ==", + "organizations_url": "https://api.github.com/users/jamessan/orgs", + "received_events_url": "https://api.github.com/users/jamessan/received_events", + "repos_url": "https://api.github.com/users/jamessan/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/jamessan/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jamessan/subscriptions", + "type": "User", + "url": "https://api.github.com/users/jamessan" + }, + { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + ], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27276/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/390e0d0a86d6d2b0b8ed4f74517fe4b0dcd111a9", + "title": "ci: also test on macOS M1", + "updated_at": "2024-02-01T09:51:44Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27276", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27278.json b/repositories/neovim/pulls/27278.json new file mode 100644 index 00000000..56276f27 --- /dev/null +++ b/repositories/neovim/pulls/27278.json @@ -0,0 +1,371 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27278/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27278/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27278" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27278" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27278/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27278" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/6127fd5521f3c34c7f7dd34d30100618890c3323" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "0a8e66898d73ee90a9c52d0944141f498804c99d", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "* Preserve keys with dynamic values in template tables when saving bytecode.\n* Prevent include of luajit_rolling.h.\n", + "closed_at": "2024-02-01T08:31:36Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27278/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27278/commits", + "created_at": "2024-01-31T14:43:40Z", + "diff_url": "https://github.com/neovim/neovim/pull/27278.diff", + "draft": false, + "head": { + "label": "clason:bump-luajit", + "ref": "bump-luajit", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/clason/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/clason/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/clason/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/clason/neovim/branches{/branch}", + "clone_url": "https://github.com/clason/neovim.git", + "collaborators_url": "https://api.github.com/repos/clason/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/clason/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/clason/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/clason/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/clason/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/clason/neovim/contributors", + "created_at": "2022-06-19T14:32:07Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/clason/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/clason/neovim/downloads", + "events_url": "https://api.github.com/repos/clason/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/clason/neovim/forks", + "full_name": "clason/neovim", + "git_commits_url": "https://api.github.com/repos/clason/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/clason/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/clason/neovim/git/tags{/sha}", + "git_url": "git://github.com/clason/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/clason/neovim/hooks", + "html_url": "https://github.com/clason/neovim", + "id": 505133677, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/clason/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/clason/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/clason/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/clason/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/clason/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/clason/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/clason/neovim/merges", + "milestones_url": "https://api.github.com/repos/clason/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOHhu6bQ", + "notifications_url": "https://api.github.com/repos/clason/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/clason/neovim/pulls{/number}", + "pushed_at": "2024-02-04T19:30:24Z", + "releases_url": "https://api.github.com/repos/clason/neovim/releases{/id}", + "size": 248690, + "ssh_url": "git@github.com:clason/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/clason/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/clason/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/clason/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/clason/neovim/subscription", + "svn_url": "https://github.com/clason/neovim", + "tags_url": "https://api.github.com/repos/clason/neovim/tags", + "teams_url": "https://api.github.com/repos/clason/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/clason/neovim/git/trees{/sha}", + "updated_at": "2023-01-31T19:57:54Z", + "url": "https://api.github.com/repos/clason/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "6127fd5521f3c34c7f7dd34d30100618890c3323", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27278", + "id": 1704218694, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27278", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "building and installing Neovim using the provided scripts", + "id": 84723321, + "name": "build", + "node_id": "MDU6TGFiZWw4NDcyMzMyMQ==", + "url": "https://api.github.com/repos/neovim/neovim/labels/build" + }, + { + "color": "c5def5", + "default": false, + "description": "build dependencies (LuaJIT, LibUV, etc.)", + "id": 1205400704, + "name": "dependencies", + "node_id": "MDU6TGFiZWwxMjA1NDAwNzA0", + "url": "https://api.github.com/repos/neovim/neovim/labels/dependencies" + } + ], + "locked": false, + "merge_commit_sha": "20f97af417caf5222a2260795088a02af99d6804", + "merged_at": "2024-02-01T08:31:36Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5llFBG", + "number": 27278, + "patch_url": "https://github.com/neovim/neovim/pull/27278.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27278/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/6127fd5521f3c34c7f7dd34d30100618890c3323", + "title": "build(deps): bump luajit to HEAD - 9cc2e42b1", + "updated_at": "2024-02-01T08:31:50Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27278", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27280.json b/repositories/neovim/pulls/27280.json new file mode 100644 index 00000000..4b3ad587 --- /dev/null +++ b/repositories/neovim/pulls/27280.json @@ -0,0 +1,460 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27280/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27280/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27280" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27280" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27280/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27280" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/89ff39175f24e717880684adf02dd8f543b6d8e2" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "0a8e66898d73ee90a9c52d0944141f498804c99d", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "#### vim-patch:8.2.0117: crash when using gettabwinvar() with invalid arguments\r\n\r\nProblem: Crash when using gettabwinvar() with invalid arguments. (Yilin\r\n Yang)\r\nSolution: Use \"curtab\" if \"tp\" is NULL.\r\n\r\nhttps://github.com/vim/vim/commit/ee93b737aaa7bf65edc7281f429dd89fcf657a6f\r\n\r\nCo-authored-by: Bram Moolenaar ", + "closed_at": "2024-02-01T01:26:20Z", + "comment_data": [], + "comment_regular_data": [ + { + "author_association": "MEMBER", + "body": "Unlike https://github.com/vim/vim/commit/ee93b737aaa7bf65edc7281f429dd89fcf657a6f the diff contains only the test changes. Is it because the fix on `evalwindow.c` is already included?", + "created_at": "2024-02-01T03:08:56Z", + "html_url": "https://github.com/neovim/neovim/pull/27280#issuecomment-1920417077", + "id": 1920417077, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27280", + "node_id": "IC_kwDOAPphoM5ydz01", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920417077/reactions" + }, + "updated_at": "2024-02-01T03:08:56Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920417077", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "author_association": "MEMBER", + "body": "1. It is inside `#ifdef FEAT_PROP_POPUP`\r\n2. NULL check has been unnecessary since 683bc797a0d427d818f69dd4772e149cf94e6b12", + "created_at": "2024-02-01T03:14:56Z", + "html_url": "https://github.com/neovim/neovim/pull/27280#issuecomment-1920423519", + "id": 1920423519, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27280", + "node_id": "IC_kwDOAPphoM5yd1Zf", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920423519/reactions" + }, + "updated_at": "2024-02-01T03:16:20Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1920423519", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27280/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27280/commits", + "created_at": "2024-02-01T00:55:42Z", + "diff_url": "https://github.com/neovim/neovim/pull/27280.diff", + "draft": false, + "head": { + "label": "zeertzjq:vim-8.2.0117", + "ref": "vim-8.2.0117", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/zeertzjq/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/zeertzjq/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/zeertzjq/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/zeertzjq/neovim/branches{/branch}", + "clone_url": "https://github.com/zeertzjq/neovim.git", + "collaborators_url": "https://api.github.com/repos/zeertzjq/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/zeertzjq/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/zeertzjq/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/zeertzjq/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/zeertzjq/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/zeertzjq/neovim/contributors", + "created_at": "2021-09-27T02:22:45Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/zeertzjq/neovim/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/zeertzjq/neovim/downloads", + "events_url": "https://api.github.com/repos/zeertzjq/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/zeertzjq/neovim/forks", + "full_name": "zeertzjq/neovim", + "git_commits_url": "https://api.github.com/repos/zeertzjq/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/zeertzjq/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/zeertzjq/neovim/git/tags{/sha}", + "git_url": "git://github.com/zeertzjq/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/zeertzjq/neovim/hooks", + "html_url": "https://github.com/zeertzjq/neovim", + "id": 410715915, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/zeertzjq/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/zeertzjq/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/zeertzjq/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/zeertzjq/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/zeertzjq/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/zeertzjq/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/zeertzjq/neovim/merges", + "milestones_url": "https://api.github.com/repos/zeertzjq/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOGHsHCw", + "notifications_url": "https://api.github.com/repos/zeertzjq/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/zeertzjq/neovim/pulls{/number}", + "pushed_at": "2024-02-05T07:34:22Z", + "releases_url": "https://api.github.com/repos/zeertzjq/neovim/releases{/id}", + "size": 236183, + "ssh_url": "git@github.com:zeertzjq/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/zeertzjq/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/zeertzjq/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/zeertzjq/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/zeertzjq/neovim/subscription", + "svn_url": "https://github.com/zeertzjq/neovim", + "tags_url": "https://api.github.com/repos/zeertzjq/neovim/tags", + "teams_url": "https://api.github.com/repos/zeertzjq/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/zeertzjq/neovim/git/trees{/sha}", + "updated_at": "2023-02-18T11:19:39Z", + "url": "https://api.github.com/repos/zeertzjq/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "89ff39175f24e717880684adf02dd8f543b6d8e2", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27280", + "id": 1705114109, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27280", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "", + "id": 110418643, + "name": "test", + "node_id": "MDU6TGFiZWwxMTA0MTg2NDM=", + "url": "https://api.github.com/repos/neovim/neovim/labels/test" + }, + { + "color": "e6e6e6", + "default": false, + "description": "See https://github.com/neovim/neovim/wiki/Merging-patches-from-upstream-Vim", + "id": 843184430, + "name": "vim-patch", + "node_id": "MDU6TGFiZWw4NDMxODQ0MzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/vim-patch" + } + ], + "locked": false, + "merge_commit_sha": "68c1b1c45a504341f7cf01f0bce0d1ed16631cfc", + "merged_at": "2024-02-01T01:26:20Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5lofn9", + "number": 27280, + "patch_url": "https://github.com/neovim/neovim/pull/27280.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27280/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/89ff39175f24e717880684adf02dd8f543b6d8e2", + "title": "vim-patch:8.2.0117: crash when using gettabwinvar() with invalid arguments", + "updated_at": "2024-02-01T03:16:20Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27280", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27281.json b/repositories/neovim/pulls/27281.json new file mode 100644 index 00000000..b2fb7b9a --- /dev/null +++ b/repositories/neovim/pulls/27281.json @@ -0,0 +1,362 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27281/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27281/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27281" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27281" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27281/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27281" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/d59d63bc90dc26d36bb72bb7eab2fb22acf13e14" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "0a8e66898d73ee90a9c52d0944141f498804c99d", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "#### vim-patch:8.2.0085: dead code in builtin functions\n\nProblem: Dead code in builtin functions.\nSolution: Clean up the code.\n\nhttps://github.com/vim/vim/commit/3d8a513b46b586cb5d2893e7f28c5f51c4dfdc17\n\nCo-authored-by: Bram Moolenaar ", + "closed_at": "2024-02-01T01:39:48Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27281/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27281/commits", + "created_at": "2024-02-01T00:58:47Z", + "diff_url": "https://github.com/neovim/neovim/pull/27281.diff", + "draft": false, + "head": { + "label": "zeertzjq:vim-8.2.0085", + "ref": "vim-8.2.0085", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/zeertzjq/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/zeertzjq/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/zeertzjq/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/zeertzjq/neovim/branches{/branch}", + "clone_url": "https://github.com/zeertzjq/neovim.git", + "collaborators_url": "https://api.github.com/repos/zeertzjq/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/zeertzjq/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/zeertzjq/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/zeertzjq/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/zeertzjq/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/zeertzjq/neovim/contributors", + "created_at": "2021-09-27T02:22:45Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/zeertzjq/neovim/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/zeertzjq/neovim/downloads", + "events_url": "https://api.github.com/repos/zeertzjq/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/zeertzjq/neovim/forks", + "full_name": "zeertzjq/neovim", + "git_commits_url": "https://api.github.com/repos/zeertzjq/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/zeertzjq/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/zeertzjq/neovim/git/tags{/sha}", + "git_url": "git://github.com/zeertzjq/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/zeertzjq/neovim/hooks", + "html_url": "https://github.com/zeertzjq/neovim", + "id": 410715915, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/zeertzjq/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/zeertzjq/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/zeertzjq/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/zeertzjq/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/zeertzjq/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/zeertzjq/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/zeertzjq/neovim/merges", + "milestones_url": "https://api.github.com/repos/zeertzjq/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOGHsHCw", + "notifications_url": "https://api.github.com/repos/zeertzjq/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/zeertzjq/neovim/pulls{/number}", + "pushed_at": "2024-02-05T07:34:22Z", + "releases_url": "https://api.github.com/repos/zeertzjq/neovim/releases{/id}", + "size": 236183, + "ssh_url": "git@github.com:zeertzjq/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/zeertzjq/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/zeertzjq/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/zeertzjq/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/zeertzjq/neovim/subscription", + "svn_url": "https://github.com/zeertzjq/neovim", + "tags_url": "https://api.github.com/repos/zeertzjq/neovim/tags", + "teams_url": "https://api.github.com/repos/zeertzjq/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/zeertzjq/neovim/git/trees{/sha}", + "updated_at": "2023-02-18T11:19:39Z", + "url": "https://api.github.com/repos/zeertzjq/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "d59d63bc90dc26d36bb72bb7eab2fb22acf13e14", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27281", + "id": 1705116614, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27281", + "labels": [ + { + "color": "e6e6e6", + "default": false, + "description": "See https://github.com/neovim/neovim/wiki/Merging-patches-from-upstream-Vim", + "id": 843184430, + "name": "vim-patch", + "node_id": "MDU6TGFiZWw4NDMxODQ0MzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/vim-patch" + } + ], + "locked": false, + "merge_commit_sha": "8fa67fdae539a13cf78621ab5a628da1fd745be2", + "merged_at": "2024-02-01T01:39:48Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5logPG", + "number": 27281, + "patch_url": "https://github.com/neovim/neovim/pull/27281.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27281/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/d59d63bc90dc26d36bb72bb7eab2fb22acf13e14", + "title": "vim-patch:8.2.0085: dead code in builtin functions", + "updated_at": "2024-02-01T01:40:01Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27281", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27282.json b/repositories/neovim/pulls/27282.json new file mode 100644 index 00000000..327376db --- /dev/null +++ b/repositories/neovim/pulls/27282.json @@ -0,0 +1,362 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27282/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27282/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27282" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27282" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27282/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27282" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/9eedbedace5f176f93743c5d669a6b63e324271c" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "20f97af417caf5222a2260795088a02af99d6804", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "- vim-patch:83f627ff42a3\n- vim-patch:c46c21b4ca47\n", + "closed_at": "2024-02-01T09:04:33Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27282/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27282/commits", + "created_at": "2024-02-01T08:33:22Z", + "diff_url": "https://github.com/neovim/neovim/pull/27282.diff", + "draft": false, + "head": { + "label": "clason:vim-83f627ff42a3", + "ref": "vim-83f627ff42a3", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/clason/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/clason/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/clason/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/clason/neovim/branches{/branch}", + "clone_url": "https://github.com/clason/neovim.git", + "collaborators_url": "https://api.github.com/repos/clason/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/clason/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/clason/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/clason/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/clason/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/clason/neovim/contributors", + "created_at": "2022-06-19T14:32:07Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/clason/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/clason/neovim/downloads", + "events_url": "https://api.github.com/repos/clason/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/clason/neovim/forks", + "full_name": "clason/neovim", + "git_commits_url": "https://api.github.com/repos/clason/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/clason/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/clason/neovim/git/tags{/sha}", + "git_url": "git://github.com/clason/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/clason/neovim/hooks", + "html_url": "https://github.com/clason/neovim", + "id": 505133677, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/clason/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/clason/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/clason/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/clason/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/clason/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/clason/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/clason/neovim/merges", + "milestones_url": "https://api.github.com/repos/clason/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOHhu6bQ", + "notifications_url": "https://api.github.com/repos/clason/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/clason/neovim/pulls{/number}", + "pushed_at": "2024-02-04T19:30:24Z", + "releases_url": "https://api.github.com/repos/clason/neovim/releases{/id}", + "size": 248690, + "ssh_url": "git@github.com:clason/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/clason/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/clason/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/clason/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/clason/neovim/subscription", + "svn_url": "https://github.com/clason/neovim", + "tags_url": "https://api.github.com/repos/clason/neovim/tags", + "teams_url": "https://api.github.com/repos/clason/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/clason/neovim/git/trees{/sha}", + "updated_at": "2023-01-31T19:57:54Z", + "url": "https://api.github.com/repos/clason/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "9eedbedace5f176f93743c5d669a6b63e324271c", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27282", + "id": 1705674254, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27282", + "labels": [ + { + "color": "e6e6e6", + "default": false, + "description": "See https://github.com/neovim/neovim/wiki/Merging-patches-from-upstream-Vim", + "id": 843184430, + "name": "vim-patch", + "node_id": "MDU6TGFiZWw4NDMxODQ0MzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/vim-patch" + } + ], + "locked": false, + "merge_commit_sha": "0da18ae5ceb2a53115332d3f6993437cca67b9b4", + "merged_at": "2024-02-01T09:04:33Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5lqoYO", + "number": 27282, + "patch_url": "https://github.com/neovim/neovim/pull/27282.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27282/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/9eedbedace5f176f93743c5d669a6b63e324271c", + "title": "vim-patch: update runtime files", + "updated_at": "2024-02-01T09:11:09Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27282", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27283.json b/repositories/neovim/pulls/27283.json new file mode 100644 index 00000000..ef4cb12f --- /dev/null +++ b/repositories/neovim/pulls/27283.json @@ -0,0 +1,371 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27283/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27283/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27283" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27283" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27283/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27283" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/85d31eba84a2b6eda9da62341d7fdff59d51c760" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "0da18ae5ceb2a53115332d3f6993437cca67b9b4", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Since keydicts are already zero-initialized, HAS_KEY() isn't needed if\nthe zero-initialized value can satisfy some other condition.\n", + "closed_at": "2024-02-01T10:05:06Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27283/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27283/commits", + "created_at": "2024-02-01T08:52:13Z", + "diff_url": "https://github.com/neovim/neovim/pull/27283.diff", + "draft": false, + "head": { + "label": "zeertzjq:has-key", + "ref": "has-key", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/zeertzjq/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/zeertzjq/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/zeertzjq/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/zeertzjq/neovim/branches{/branch}", + "clone_url": "https://github.com/zeertzjq/neovim.git", + "collaborators_url": "https://api.github.com/repos/zeertzjq/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/zeertzjq/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/zeertzjq/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/zeertzjq/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/zeertzjq/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/zeertzjq/neovim/contributors", + "created_at": "2021-09-27T02:22:45Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/zeertzjq/neovim/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/zeertzjq/neovim/downloads", + "events_url": "https://api.github.com/repos/zeertzjq/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/zeertzjq/neovim/forks", + "full_name": "zeertzjq/neovim", + "git_commits_url": "https://api.github.com/repos/zeertzjq/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/zeertzjq/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/zeertzjq/neovim/git/tags{/sha}", + "git_url": "git://github.com/zeertzjq/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/zeertzjq/neovim/hooks", + "html_url": "https://github.com/zeertzjq/neovim", + "id": 410715915, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/zeertzjq/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/zeertzjq/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/zeertzjq/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/zeertzjq/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/zeertzjq/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/zeertzjq/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/zeertzjq/neovim/merges", + "milestones_url": "https://api.github.com/repos/zeertzjq/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOGHsHCw", + "notifications_url": "https://api.github.com/repos/zeertzjq/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/zeertzjq/neovim/pulls{/number}", + "pushed_at": "2024-02-05T07:34:22Z", + "releases_url": "https://api.github.com/repos/zeertzjq/neovim/releases{/id}", + "size": 236183, + "ssh_url": "git@github.com:zeertzjq/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/zeertzjq/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/zeertzjq/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/zeertzjq/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/zeertzjq/neovim/subscription", + "svn_url": "https://github.com/zeertzjq/neovim", + "tags_url": "https://api.github.com/repos/zeertzjq/neovim/tags", + "teams_url": "https://api.github.com/repos/zeertzjq/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/zeertzjq/neovim/git/trees{/sha}", + "updated_at": "2023-02-18T11:19:39Z", + "url": "https://api.github.com/repos/zeertzjq/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "85d31eba84a2b6eda9da62341d7fdff59d51c760", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27283", + "id": 1705713611, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27283", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "libnvim, Nvim RPC API", + "id": 103819671, + "name": "api", + "node_id": "MDU6TGFiZWwxMDM4MTk2NzE=", + "url": "https://api.github.com/repos/neovim/neovim/labels/api" + }, + { + "color": "C5DEF5", + "default": false, + "description": "changes that are not features or bugfixes", + "id": 106949155, + "name": "refactor", + "node_id": "MDU6TGFiZWwxMDY5NDkxNTU=", + "url": "https://api.github.com/repos/neovim/neovim/labels/refactor" + } + ], + "locked": false, + "merge_commit_sha": "cc197d04fc36a6ee4219f20772a7b39dd976edfd", + "merged_at": "2024-02-01T10:05:06Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5lqx_L", + "number": 27283, + "patch_url": "https://github.com/neovim/neovim/pull/27283.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27283/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/85d31eba84a2b6eda9da62341d7fdff59d51c760", + "title": "refactor(api): remove some unnecessary HAS_KEY()", + "updated_at": "2024-02-01T10:05:37Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27283", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27284.json b/repositories/neovim/pulls/27284.json new file mode 100644 index 00000000..8cbde216 --- /dev/null +++ b/repositories/neovim/pulls/27284.json @@ -0,0 +1,392 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27284/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27284/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27284" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27284" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27284/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27284" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/dee35215b64ef0df8df15d73d2720bbf4ef02722" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "4c91194611086916c833d61e28e2f5e689316e83", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Implement api_keydict_to_dict as the complement to api_dict_to_keydict. Along with using `arena`, this avoids a lot of temporary object allocations when calling api functions from lua. \r\n\r\nFix a conversion error when nvim_get_win_config gets called from lua, where Float values \"x\" and \"y\" didn't get converted to lua numbers.", + "closed_at": null, + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27284/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27284/commits", + "created_at": "2024-02-01T11:53:09Z", + "diff_url": "https://github.com/neovim/neovim/pull/27284.diff", + "draft": false, + "head": { + "label": "bfredl:unkeydict", + "ref": "unkeydict", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/bfredl/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/bfredl/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/bfredl/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/bfredl/neovim/branches{/branch}", + "clone_url": "https://github.com/bfredl/neovim.git", + "collaborators_url": "https://api.github.com/repos/bfredl/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/bfredl/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/bfredl/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/bfredl/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/bfredl/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/bfredl/neovim/contributors", + "created_at": "2014-06-20T19:51:31Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/bfredl/neovim/deployments", + "description": "vim's rebirth for the 21st century", + "disabled": false, + "downloads_url": "https://api.github.com/repos/bfredl/neovim/downloads", + "events_url": "https://api.github.com/repos/bfredl/neovim/events", + "fork": true, + "forks": 1, + "forks_count": 1, + "forks_url": "https://api.github.com/repos/bfredl/neovim/forks", + "full_name": "bfredl/neovim", + "git_commits_url": "https://api.github.com/repos/bfredl/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/bfredl/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/bfredl/neovim/git/tags{/sha}", + "git_url": "git://github.com/bfredl/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "http://neovim.org/", + "hooks_url": "https://api.github.com/repos/bfredl/neovim/hooks", + "html_url": "https://github.com/bfredl/neovim", + "id": 21050434, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/bfredl/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/bfredl/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/bfredl/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/bfredl/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/bfredl/neovim/labels{/name}", + "language": "Vim script", + "languages_url": "https://api.github.com/repos/bfredl/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/bfredl/neovim/merges", + "milestones_url": "https://api.github.com/repos/bfredl/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkyMTA1MDQzNA==", + "notifications_url": "https://api.github.com/repos/bfredl/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/bfredl/neovim/pulls{/number}", + "pushed_at": "2024-02-01T11:54:02Z", + "releases_url": "https://api.github.com/repos/bfredl/neovim/releases{/id}", + "size": 254912, + "ssh_url": "git@github.com:bfredl/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/bfredl/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/bfredl/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/bfredl/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/bfredl/neovim/subscription", + "svn_url": "https://github.com/bfredl/neovim", + "tags_url": "https://api.github.com/repos/bfredl/neovim/tags", + "teams_url": "https://api.github.com/repos/bfredl/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/bfredl/neovim/git/trees{/sha}", + "updated_at": "2022-03-21T08:01:17Z", + "url": "https://api.github.com/repos/bfredl/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "dee35215b64ef0df8df15d73d2720bbf4ef02722", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27284", + "id": 1706088234, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27284", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "libnvim, Nvim RPC API", + "id": 103819671, + "name": "api", + "node_id": "MDU6TGFiZWwxMDM4MTk2NzE=", + "url": "https://api.github.com/repos/neovim/neovim/labels/api" + }, + { + "color": "C5DEF5", + "default": false, + "description": "changes that are not features or bugfixes", + "id": 106949155, + "name": "refactor", + "node_id": "MDU6TGFiZWwxMDY5NDkxNTU=", + "url": "https://api.github.com/repos/neovim/neovim/labels/refactor" + } + ], + "locked": false, + "merge_commit_sha": "2cee6609818a8da7be1e4fffd5bcece4b02a2f23", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM5lsNcq", + "number": 27284, + "patch_url": "https://github.com/neovim/neovim/pull/27284.patch", + "requested_reviewers": [ + { + "avatar_url": "https://avatars.githubusercontent.com/u/29580810?v=4", + "events_url": "https://api.github.com/users/famiu/events{/privacy}", + "followers_url": "https://api.github.com/users/famiu/followers", + "following_url": "https://api.github.com/users/famiu/following{/other_user}", + "gists_url": "https://api.github.com/users/famiu/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/famiu", + "id": 29580810, + "login": "famiu", + "node_id": "MDQ6VXNlcjI5NTgwODEw", + "organizations_url": "https://api.github.com/users/famiu/orgs", + "received_events_url": "https://api.github.com/users/famiu/received_events", + "repos_url": "https://api.github.com/users/famiu/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/famiu/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/famiu/subscriptions", + "type": "User", + "url": "https://api.github.com/users/famiu" + } + ], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27284/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/dee35215b64ef0df8df15d73d2720bbf4ef02722", + "title": "refactor(api): use keydict and arena for more api return values", + "updated_at": "2024-02-02T00:28:28Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27284", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27287.json b/repositories/neovim/pulls/27287.json new file mode 100644 index 00000000..9acfaab6 --- /dev/null +++ b/repositories/neovim/pulls/27287.json @@ -0,0 +1,451 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27287/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27287/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27287" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27287" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27287/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27287" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/edb72beb2eb82df71678dc8a116a287a82922f58" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "FIRST_TIME_CONTRIBUTOR", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "4c91194611086916c833d61e28e2f5e689316e83", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Hi,\r\nI was wondering if we can do this.\r\n\r\nhttps://github.com/neovim/neovim/assets/9444583/c524bba2-4545-48c3-bf16-6ed9db5a35af\r\n\r\nNotice that the `kind` is now the first in the popup menu.\r\n\r\nI want to be able to change the ordering of popup menu (`word`, `kind`, `extra`) in my way.\r\n\r\nI added an option `pumordering` (default value `012`) to specify the ordering, but I'm not sure adding an option is the best choice here.\r\n\r\nbtw, this is the first PR to neovim (I'm ready to be roasted).", + "closed_at": null, + "comment_data": [], + "comment_regular_data": [ + { + "author_association": "MEMBER", + "body": "Welcome! That's probably not the feedback you had hoped for, but in general such features are best PR'd to vim/vim first; if they accept it, we'll port the patch. This way, both projects profit, and we avoid divergence on such basic features that are shared by both editors (this is important for plugins that support both).", + "created_at": "2024-02-01T14:38:25Z", + "html_url": "https://github.com/neovim/neovim/pull/27287#issuecomment-1921486011", + "id": 1921486011, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27287", + "node_id": "IC_kwDOAPphoM5yh4y7", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921486011/reactions" + }, + "updated_at": "2024-02-01T14:38:25Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921486011", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "NONE", + "body": "agree. I'll do that first. Thanks.", + "created_at": "2024-02-01T14:50:25Z", + "html_url": "https://github.com/neovim/neovim/pull/27287#issuecomment-1921510469", + "id": 1921510469, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27287", + "node_id": "IC_kwDOAPphoM5yh-xF", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921510469/reactions" + }, + "updated_at": "2024-02-01T14:50:25Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921510469", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9444583?v=4", + "events_url": "https://api.github.com/users/kiddos/events{/privacy}", + "followers_url": "https://api.github.com/users/kiddos/followers", + "following_url": "https://api.github.com/users/kiddos/following{/other_user}", + "gists_url": "https://api.github.com/users/kiddos/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/kiddos", + "id": 9444583, + "login": "kiddos", + "node_id": "MDQ6VXNlcjk0NDQ1ODM=", + "organizations_url": "https://api.github.com/users/kiddos/orgs", + "received_events_url": "https://api.github.com/users/kiddos/received_events", + "repos_url": "https://api.github.com/users/kiddos/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/kiddos/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kiddos/subscriptions", + "type": "User", + "url": "https://api.github.com/users/kiddos" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27287/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27287/commits", + "created_at": "2024-02-01T14:33:32Z", + "diff_url": "https://github.com/neovim/neovim/pull/27287.diff", + "draft": false, + "head": { + "label": "kiddos:popup", + "ref": "popup", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/kiddos/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/kiddos/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/kiddos/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/kiddos/neovim/branches{/branch}", + "clone_url": "https://github.com/kiddos/neovim.git", + "collaborators_url": "https://api.github.com/repos/kiddos/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/kiddos/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/kiddos/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/kiddos/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/kiddos/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/kiddos/neovim/contributors", + "created_at": "2024-02-01T14:17:40Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/kiddos/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/kiddos/neovim/downloads", + "events_url": "https://api.github.com/repos/kiddos/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/kiddos/neovim/forks", + "full_name": "kiddos/neovim", + "git_commits_url": "https://api.github.com/repos/kiddos/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/kiddos/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/kiddos/neovim/git/tags{/sha}", + "git_url": "git://github.com/kiddos/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/kiddos/neovim/hooks", + "html_url": "https://github.com/kiddos/neovim", + "id": 751390085, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/kiddos/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/kiddos/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/kiddos/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/kiddos/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/kiddos/neovim/labels{/name}", + "language": null, + "languages_url": "https://api.github.com/repos/kiddos/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/kiddos/neovim/merges", + "milestones_url": "https://api.github.com/repos/kiddos/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOLMlNhQ", + "notifications_url": "https://api.github.com/repos/kiddos/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/9444583?v=4", + "events_url": "https://api.github.com/users/kiddos/events{/privacy}", + "followers_url": "https://api.github.com/users/kiddos/followers", + "following_url": "https://api.github.com/users/kiddos/following{/other_user}", + "gists_url": "https://api.github.com/users/kiddos/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/kiddos", + "id": 9444583, + "login": "kiddos", + "node_id": "MDQ6VXNlcjk0NDQ1ODM=", + "organizations_url": "https://api.github.com/users/kiddos/orgs", + "received_events_url": "https://api.github.com/users/kiddos/received_events", + "repos_url": "https://api.github.com/users/kiddos/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/kiddos/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kiddos/subscriptions", + "type": "User", + "url": "https://api.github.com/users/kiddos" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/kiddos/neovim/pulls{/number}", + "pushed_at": "2024-02-01T14:25:24Z", + "releases_url": "https://api.github.com/repos/kiddos/neovim/releases{/id}", + "size": 247988, + "ssh_url": "git@github.com:kiddos/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/kiddos/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/kiddos/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/kiddos/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/kiddos/neovim/subscription", + "svn_url": "https://github.com/kiddos/neovim", + "tags_url": "https://api.github.com/repos/kiddos/neovim/tags", + "teams_url": "https://api.github.com/repos/kiddos/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/kiddos/neovim/git/trees{/sha}", + "updated_at": "2024-02-01T14:17:40Z", + "url": "https://api.github.com/repos/kiddos/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "edb72beb2eb82df71678dc8a116a287a82922f58", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9444583?v=4", + "events_url": "https://api.github.com/users/kiddos/events{/privacy}", + "followers_url": "https://api.github.com/users/kiddos/followers", + "following_url": "https://api.github.com/users/kiddos/following{/other_user}", + "gists_url": "https://api.github.com/users/kiddos/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/kiddos", + "id": 9444583, + "login": "kiddos", + "node_id": "MDQ6VXNlcjk0NDQ1ODM=", + "organizations_url": "https://api.github.com/users/kiddos/orgs", + "received_events_url": "https://api.github.com/users/kiddos/received_events", + "repos_url": "https://api.github.com/users/kiddos/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/kiddos/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kiddos/subscriptions", + "type": "User", + "url": "https://api.github.com/users/kiddos" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27287", + "id": 1706406334, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27287", + "labels": [ + { + "color": "C5DEF5", + "default": false, + "description": "Nvim built-in (omni)completion", + "id": 3214348835, + "name": "completion", + "node_id": "MDU6TGFiZWwzMjE0MzQ4ODM1", + "url": "https://api.github.com/repos/neovim/neovim/labels/completion" + } + ], + "locked": false, + "merge_commit_sha": "d350955bd9821d6fa6b1e41840bc98990b4308f7", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM5ltbG-", + "number": 27287, + "patch_url": "https://github.com/neovim/neovim/pull/27287.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27287/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/edb72beb2eb82df71678dc8a116a287a82922f58", + "title": "feat: able to change popupmenu ordering(ie. word, kind, extra)", + "updated_at": "2024-02-04T03:16:57Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27287", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9444583?v=4", + "events_url": "https://api.github.com/users/kiddos/events{/privacy}", + "followers_url": "https://api.github.com/users/kiddos/followers", + "following_url": "https://api.github.com/users/kiddos/following{/other_user}", + "gists_url": "https://api.github.com/users/kiddos/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/kiddos", + "id": 9444583, + "login": "kiddos", + "node_id": "MDQ6VXNlcjk0NDQ1ODM=", + "organizations_url": "https://api.github.com/users/kiddos/orgs", + "received_events_url": "https://api.github.com/users/kiddos/received_events", + "repos_url": "https://api.github.com/users/kiddos/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/kiddos/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kiddos/subscriptions", + "type": "User", + "url": "https://api.github.com/users/kiddos" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27290.json b/repositories/neovim/pulls/27290.json new file mode 100644 index 00000000..3a2fb1e8 --- /dev/null +++ b/repositories/neovim/pulls/27290.json @@ -0,0 +1,352 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27290/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27290/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27290" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27290" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27290/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27290" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/f1fd96ba31b02911c3ae06d2a17bc0c71e480d0b" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "4c91194611086916c833d61e28e2f5e689316e83", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Problem: Erroring when both {range} and {code} are supplied to\r\n :lua is inconvenient and may break mappings.\r\nSolution: Don't error, ignore {range} and execute {code} when both\r\n are supplied.\r\n\r\nFix #27234", + "closed_at": "2024-02-02T05:14:11Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27290/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27290/commits", + "created_at": "2024-02-01T16:02:28Z", + "diff_url": "https://github.com/neovim/neovim/pull/27290.diff", + "draft": false, + "head": { + "label": "luukvbaal:luarange", + "ref": "luarange", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/luukvbaal/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/luukvbaal/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/luukvbaal/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/luukvbaal/neovim/branches{/branch}", + "clone_url": "https://github.com/luukvbaal/neovim.git", + "collaborators_url": "https://api.github.com/repos/luukvbaal/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/luukvbaal/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/luukvbaal/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/luukvbaal/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/luukvbaal/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/luukvbaal/neovim/contributors", + "created_at": "2022-07-05T23:21:47Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/luukvbaal/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/luukvbaal/neovim/downloads", + "events_url": "https://api.github.com/repos/luukvbaal/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/luukvbaal/neovim/forks", + "full_name": "luukvbaal/neovim", + "git_commits_url": "https://api.github.com/repos/luukvbaal/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/luukvbaal/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/luukvbaal/neovim/git/tags{/sha}", + "git_url": "git://github.com/luukvbaal/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/luukvbaal/neovim/hooks", + "html_url": "https://github.com/luukvbaal/neovim", + "id": 510922471, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/luukvbaal/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/luukvbaal/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/luukvbaal/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/luukvbaal/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/luukvbaal/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/luukvbaal/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/luukvbaal/neovim/merges", + "milestones_url": "https://api.github.com/repos/luukvbaal/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOHnQO5w", + "notifications_url": "https://api.github.com/repos/luukvbaal/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/31730729?v=4", + "events_url": "https://api.github.com/users/luukvbaal/events{/privacy}", + "followers_url": "https://api.github.com/users/luukvbaal/followers", + "following_url": "https://api.github.com/users/luukvbaal/following{/other_user}", + "gists_url": "https://api.github.com/users/luukvbaal/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/luukvbaal", + "id": 31730729, + "login": "luukvbaal", + "node_id": "MDQ6VXNlcjMxNzMwNzI5", + "organizations_url": "https://api.github.com/users/luukvbaal/orgs", + "received_events_url": "https://api.github.com/users/luukvbaal/received_events", + "repos_url": "https://api.github.com/users/luukvbaal/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/luukvbaal/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/luukvbaal/subscriptions", + "type": "User", + "url": "https://api.github.com/users/luukvbaal" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/luukvbaal/neovim/pulls{/number}", + "pushed_at": "2024-02-03T03:21:13Z", + "releases_url": "https://api.github.com/repos/luukvbaal/neovim/releases{/id}", + "size": 248082, + "ssh_url": "git@github.com:luukvbaal/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/luukvbaal/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/luukvbaal/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/luukvbaal/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/luukvbaal/neovim/subscription", + "svn_url": "https://github.com/luukvbaal/neovim", + "tags_url": "https://api.github.com/repos/luukvbaal/neovim/tags", + "teams_url": "https://api.github.com/repos/luukvbaal/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/luukvbaal/neovim/git/trees{/sha}", + "updated_at": "2022-09-14T02:39:38Z", + "url": "https://api.github.com/repos/luukvbaal/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "f1fd96ba31b02911c3ae06d2a17bc0c71e480d0b", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/31730729?v=4", + "events_url": "https://api.github.com/users/luukvbaal/events{/privacy}", + "followers_url": "https://api.github.com/users/luukvbaal/followers", + "following_url": "https://api.github.com/users/luukvbaal/following{/other_user}", + "gists_url": "https://api.github.com/users/luukvbaal/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/luukvbaal", + "id": 31730729, + "login": "luukvbaal", + "node_id": "MDQ6VXNlcjMxNzMwNzI5", + "organizations_url": "https://api.github.com/users/luukvbaal/orgs", + "received_events_url": "https://api.github.com/users/luukvbaal/received_events", + "repos_url": "https://api.github.com/users/luukvbaal/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/luukvbaal/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/luukvbaal/subscriptions", + "type": "User", + "url": "https://api.github.com/users/luukvbaal" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27290", + "id": 1706577127, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27290", + "labels": [], + "locked": false, + "merge_commit_sha": "4a1ad676ce0bdaead122b092d2ff33b51679ffe9", + "merged_at": "2024-02-02T05:14:11Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5luEzn", + "number": 27290, + "patch_url": "https://github.com/neovim/neovim/pull/27290.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27290/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/f1fd96ba31b02911c3ae06d2a17bc0c71e480d0b", + "title": "feat(ex_cmds): no error on :lua with {range} and {code}", + "updated_at": "2024-02-02T05:14:11Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27290", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/31730729?v=4", + "events_url": "https://api.github.com/users/luukvbaal/events{/privacy}", + "followers_url": "https://api.github.com/users/luukvbaal/followers", + "following_url": "https://api.github.com/users/luukvbaal/following{/other_user}", + "gists_url": "https://api.github.com/users/luukvbaal/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/luukvbaal", + "id": 31730729, + "login": "luukvbaal", + "node_id": "MDQ6VXNlcjMxNzMwNzI5", + "organizations_url": "https://api.github.com/users/luukvbaal/orgs", + "received_events_url": "https://api.github.com/users/luukvbaal/received_events", + "repos_url": "https://api.github.com/users/luukvbaal/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/luukvbaal/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/luukvbaal/subscriptions", + "type": "User", + "url": "https://api.github.com/users/luukvbaal" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27291.json b/repositories/neovim/pulls/27291.json new file mode 100644 index 00000000..2538be64 --- /dev/null +++ b/repositories/neovim/pulls/27291.json @@ -0,0 +1,468 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27291/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27291/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27291" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27291" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27291/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27291" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/5b49226bc4d29c80777140c02d5618164fc90c24" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "4c91194611086916c833d61e28e2f5e689316e83", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": null, + "closed_at": null, + "comment_data": [], + "comment_regular_data": [ + { + "author_association": "CONTRIBUTOR", + "body": "Without this change renaming fails on assertion https://github.com/neovim/neovim/pull/27291/files#diff-de132e20a0c678f2ff3234a05d868b0d118561cb72317910e7f28839640ed2e3R700 if destination directory doesn't exist yet. ", + "created_at": "2024-02-01T16:15:46Z", + "html_url": "https://github.com/neovim/neovim/pull/27291#issuecomment-1921691516", + "id": 1921691516, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27291", + "node_id": "IC_kwDOAPphoM5yiq98", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921691516/reactions" + }, + "updated_at": "2024-02-01T16:15:46Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1921691516", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/11404453?v=4", + "events_url": "https://api.github.com/users/przepompownia/events{/privacy}", + "followers_url": "https://api.github.com/users/przepompownia/followers", + "following_url": "https://api.github.com/users/przepompownia/following{/other_user}", + "gists_url": "https://api.github.com/users/przepompownia/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/przepompownia", + "id": 11404453, + "login": "przepompownia", + "node_id": "MDQ6VXNlcjExNDA0NDUz", + "organizations_url": "https://api.github.com/users/przepompownia/orgs", + "received_events_url": "https://api.github.com/users/przepompownia/received_events", + "repos_url": "https://api.github.com/users/przepompownia/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/przepompownia/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/przepompownia/subscriptions", + "type": "User", + "url": "https://api.github.com/users/przepompownia" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27291/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27291/commits", + "created_at": "2024-02-01T16:11:17Z", + "diff_url": "https://github.com/neovim/neovim/pull/27291.diff", + "draft": false, + "head": { + "label": "przepompownia:lsp-rename-mkdirp", + "ref": "lsp-rename-mkdirp", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/przepompownia/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/przepompownia/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/przepompownia/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/przepompownia/neovim/branches{/branch}", + "clone_url": "https://github.com/przepompownia/neovim.git", + "collaborators_url": "https://api.github.com/repos/przepompownia/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/przepompownia/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/przepompownia/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/przepompownia/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/przepompownia/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/przepompownia/neovim/contributors", + "created_at": "2023-09-25T21:56:41Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/przepompownia/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/przepompownia/neovim/downloads", + "events_url": "https://api.github.com/repos/przepompownia/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/przepompownia/neovim/forks", + "full_name": "przepompownia/neovim", + "git_commits_url": "https://api.github.com/repos/przepompownia/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/przepompownia/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/przepompownia/neovim/git/tags{/sha}", + "git_url": "git://github.com/przepompownia/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/przepompownia/neovim/hooks", + "html_url": "https://github.com/przepompownia/neovim", + "id": 696503495, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/przepompownia/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/przepompownia/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/przepompownia/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/przepompownia/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/przepompownia/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/przepompownia/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/przepompownia/neovim/merges", + "milestones_url": "https://api.github.com/repos/przepompownia/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOKYPMxw", + "notifications_url": "https://api.github.com/repos/przepompownia/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/11404453?v=4", + "events_url": "https://api.github.com/users/przepompownia/events{/privacy}", + "followers_url": "https://api.github.com/users/przepompownia/followers", + "following_url": "https://api.github.com/users/przepompownia/following{/other_user}", + "gists_url": "https://api.github.com/users/przepompownia/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/przepompownia", + "id": 11404453, + "login": "przepompownia", + "node_id": "MDQ6VXNlcjExNDA0NDUz", + "organizations_url": "https://api.github.com/users/przepompownia/orgs", + "received_events_url": "https://api.github.com/users/przepompownia/received_events", + "repos_url": "https://api.github.com/users/przepompownia/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/przepompownia/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/przepompownia/subscriptions", + "type": "User", + "url": "https://api.github.com/users/przepompownia" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/przepompownia/neovim/pulls{/number}", + "pushed_at": "2024-02-05T05:28:41Z", + "releases_url": "https://api.github.com/repos/przepompownia/neovim/releases{/id}", + "size": 245404, + "ssh_url": "git@github.com:przepompownia/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/przepompownia/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/przepompownia/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/przepompownia/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/przepompownia/neovim/subscription", + "svn_url": "https://github.com/przepompownia/neovim", + "tags_url": "https://api.github.com/repos/przepompownia/neovim/tags", + "teams_url": "https://api.github.com/repos/przepompownia/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/przepompownia/neovim/git/trees{/sha}", + "updated_at": "2023-11-16T21:29:36Z", + "url": "https://api.github.com/repos/przepompownia/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "5b49226bc4d29c80777140c02d5618164fc90c24", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/11404453?v=4", + "events_url": "https://api.github.com/users/przepompownia/events{/privacy}", + "followers_url": "https://api.github.com/users/przepompownia/followers", + "following_url": "https://api.github.com/users/przepompownia/following{/other_user}", + "gists_url": "https://api.github.com/users/przepompownia/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/przepompownia", + "id": 11404453, + "login": "przepompownia", + "node_id": "MDQ6VXNlcjExNDA0NDUz", + "organizations_url": "https://api.github.com/users/przepompownia/orgs", + "received_events_url": "https://api.github.com/users/przepompownia/received_events", + "repos_url": "https://api.github.com/users/przepompownia/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/przepompownia/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/przepompownia/subscriptions", + "type": "User", + "url": "https://api.github.com/users/przepompownia" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27291", + "id": 1706594963, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27291", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": null, + "id": 662566370, + "name": "lsp", + "node_id": "MDU6TGFiZWw2NjI1NjYzNzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/lsp" + } + ], + "locked": false, + "merge_commit_sha": "bf7fbb8fe4653d85517590d7a3e4bc3afcad0efb", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM5luJKT", + "number": 27291, + "patch_url": "https://github.com/neovim/neovim/pull/27291.patch", + "requested_reviewers": [ + { + "avatar_url": "https://avatars.githubusercontent.com/u/292349?v=4", + "events_url": "https://api.github.com/users/folke/events{/privacy}", + "followers_url": "https://api.github.com/users/folke/followers", + "following_url": "https://api.github.com/users/folke/following{/other_user}", + "gists_url": "https://api.github.com/users/folke/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/folke", + "id": 292349, + "login": "folke", + "node_id": "MDQ6VXNlcjI5MjM0OQ==", + "organizations_url": "https://api.github.com/users/folke/orgs", + "received_events_url": "https://api.github.com/users/folke/received_events", + "repos_url": "https://api.github.com/users/folke/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/folke/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/folke/subscriptions", + "type": "User", + "url": "https://api.github.com/users/folke" + }, + { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + }, + { + "avatar_url": "https://avatars.githubusercontent.com/u/38700?v=4", + "events_url": "https://api.github.com/users/mfussenegger/events{/privacy}", + "followers_url": "https://api.github.com/users/mfussenegger/followers", + "following_url": "https://api.github.com/users/mfussenegger/following{/other_user}", + "gists_url": "https://api.github.com/users/mfussenegger/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/mfussenegger", + "id": 38700, + "login": "mfussenegger", + "node_id": "MDQ6VXNlcjM4NzAw", + "organizations_url": "https://api.github.com/users/mfussenegger/orgs", + "received_events_url": "https://api.github.com/users/mfussenegger/received_events", + "repos_url": "https://api.github.com/users/mfussenegger/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/mfussenegger/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mfussenegger/subscriptions", + "type": "User", + "url": "https://api.github.com/users/mfussenegger" + } + ], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27291/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/5b49226bc4d29c80777140c02d5618164fc90c24", + "title": "fix(vim.lsp.util.rename): create directory for destination file", + "updated_at": "2024-02-01T16:15:47Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27291", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/11404453?v=4", + "events_url": "https://api.github.com/users/przepompownia/events{/privacy}", + "followers_url": "https://api.github.com/users/przepompownia/followers", + "following_url": "https://api.github.com/users/przepompownia/following{/other_user}", + "gists_url": "https://api.github.com/users/przepompownia/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/przepompownia", + "id": 11404453, + "login": "przepompownia", + "node_id": "MDQ6VXNlcjExNDA0NDUz", + "organizations_url": "https://api.github.com/users/przepompownia/orgs", + "received_events_url": "https://api.github.com/users/przepompownia/received_events", + "repos_url": "https://api.github.com/users/przepompownia/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/przepompownia/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/przepompownia/subscriptions", + "type": "User", + "url": "https://api.github.com/users/przepompownia" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27295.json b/repositories/neovim/pulls/27295.json new file mode 100644 index 00000000..2a1f0a0b --- /dev/null +++ b/repositories/neovim/pulls/27295.json @@ -0,0 +1,1161 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27295/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27295/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27295" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27295" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27295/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27295" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/f4a3c326314b079e660ebd0f3c837f69d8c425fc" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "0e9a33572dc752463a0f5ad8a08a2c494d7a42e1", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "## test(treesitter): add test cases for inspect_tree\r\n\r\nBased on @altermo's work #26944, but modified to use `eq` instead of `Screen:expect` because it's difficult to write tests and debug.\r\n\r\n## feat(treesitter): use 0-based indexing to show ranges in `:InspectTree`\r\n\r\nProblem:\r\n\r\n- `:InspectTree` was showing node ranges in 1-based indexing, i.e., in\r\n vim cursor position (lnum, col). However, treesitter API adopts\r\n 0-based indexing to represent ranges (Range4). This can often be\r\n confusing for developers and plugin authors when debugging code\r\n written with treesiter APIs.\r\n\r\nSolution:\r\n\r\n- Change to 0-based indexing from 1-based indexing to show node ranges\r\n in `:InspectTree`.\r\n\r\n- Note: To make things not complicated, we do not provide an option or\r\n keymap to configure which indexing mode to use.\r\n\r\n\r\n## Status\r\n\r\n~~Will wait until #26944 is merged first, after which I can rebase again and add test cases for #26944 and #27336 together.~~", + "closed_at": "2024-02-05T21:59:25Z", + "comment_data": [ + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27295#discussion_r1475138612" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27295" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475138612" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n • `:InspectTree` can show 0-based ranges like |TSNode:range()|, by pressing `R`.\r\n```", + "commit_id": "f4a3c326314b079e660ebd0f3c837f69d8c425fc", + "created_at": "2024-02-01T20:57:40Z", + "diff_hunk": "@@ -224,6 +224,7 @@ The following new APIs and features were added.\n • |vim.treesitter.query.edit()| allows live editing of treesitter\n queries.\n • Improved error messages for query parsing.\n+ • `:InspectTree` can show 0-based range like |TSNode:range()|, by pressing `R`.", + "html_url": "https://github.com/neovim/neovim/pull/27295#discussion_r1475138612", + "id": 1475138612, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X7NQ0", + "original_commit_id": "06370f15563d76982ce45491c7de70c52c3691ec", + "original_line": 227, + "original_position": 4, + "original_start_line": null, + "path": "runtime/doc/news.txt", + "position": null, + "pull_request_review_id": 1857612441, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27295", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475138612/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T20:59:45Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475138612", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27295#discussion_r1475139625" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27295" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475139625" + } + }, + "author_association": "MEMBER", + "body": "It would be nice to also mention the defaults for these.", + "commit_id": "f4a3c326314b079e660ebd0f3c837f69d8c425fc", + "created_at": "2024-02-01T20:58:08Z", + "diff_hunk": "@@ -5,14 +5,17 @@ local M = {}\n \n ---@class TSTreeView\n ---@field ns integer API namespace\n----@field opts table Options table with the following keys:\n---- - anon (boolean): If true, display anonymous nodes\n---- - lang (boolean): If true, display the language alongside each node\n---- - indent (number): Number of spaces to indent nested lines. Default is 2.\n+---@field opts TSTreeViewOpts\n ---@field nodes TSP.Node[]\n ---@field named TSP.Node[]\n local TSTreeView = {}\n \n+---@class TSTreeViewOpts\n+---@field anon? boolean: If true, display anonymous nodes\n+---@field lang? boolean: If true, display the language alongside each node\n+---@field range? boolean: If true, display 0-based treesitter range instead of 1-based line/col", + "html_url": "https://github.com/neovim/neovim/pull/27295#discussion_r1475139625", + "id": 1475139625, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X7Ngp", + "original_commit_id": "06370f15563d76982ce45491c7de70c52c3691ec", + "original_line": 16, + "original_position": 16, + "original_start_line": 14, + "path": "runtime/lua/vim/treesitter/dev.lua", + "position": null, + "pull_request_review_id": 1857612441, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27295", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475139625/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-01T20:59:45Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475139625", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27295#discussion_r1475142371" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27295" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475142371" + } + }, + "author_association": "MEMBER", + "body": "I don't think most users know the difference between these. I think \"Toggle between 0 and 1-based indexing\" would be clearer.", + "commit_id": "f4a3c326314b079e660ebd0f3c837f69d8c425fc", + "created_at": "2024-02-01T20:59:40Z", + "diff_hunk": "@@ -400,6 +410,13 @@ function M.inspect_tree(opts)\n treeview:draw(b)\n end,\n })\n+ api.nvim_buf_set_keymap(b, 'n', 'R', '', {\n+ desc = 'Toggle between vim range and Range',", + "html_url": "https://github.com/neovim/neovim/pull/27295#discussion_r1475142371", + "id": 1475142371, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X7OLj", + "original_commit_id": "06370f15563d76982ce45491c7de70c52c3691ec", + "original_line": 414, + "original_position": 68, + "original_start_line": null, + "path": "runtime/lua/vim/treesitter/dev.lua", + "position": null, + "pull_request_review_id": 1857612441, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27295", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475142371/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-01T20:59:45Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475142371", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27295#discussion_r1475296931" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27295" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475296931" + } + }, + "author_association": "MEMBER", + "body": "If these are no longer nullable, then there's no need to indicate the default value.", + "commit_id": "f4a3c326314b079e660ebd0f3c837f69d8c425fc", + "created_at": "2024-02-01T23:24:01Z", + "diff_hunk": "@@ -3,16 +3,21 @@ local api = vim.api\n ---@class TSDevModule\n local M = {}\n \n+---@private\n ---@class TSTreeView\n ---@field ns integer API namespace\n----@field opts table Options table with the following keys:\n---- - anon (boolean): If true, display anonymous nodes\n---- - lang (boolean): If true, display the language alongside each node\n---- - indent (number): Number of spaces to indent nested lines. Default is 2.\n+---@field opts TSTreeViewOpts\n ---@field nodes TSP.Node[]\n ---@field named TSP.Node[]\n local TSTreeView = {}\n \n+---@private\n+---@class TSTreeViewOpts\n+---@field anon boolean If true, display anonymous nodes. Defaults to false.\n+---@field lang boolean If true, display the language alongside each node. Defaults to false.\n+---@field range boolean If true, display 0-based treesitter range instead of 1-based line/col. Defaults to false.\n+---@field indent number Number of spaces to indent nested lines. Default value is 2.", + "html_url": "https://github.com/neovim/neovim/pull/27295#discussion_r1475296931", + "id": 1475296931, + "line": null, + "node_id": "PRRC_kwDOAPphoM5X7z6j", + "original_commit_id": "360f5a522049be6cfabb0ec74bd0c34daf976493", + "original_line": 19, + "original_position": 21, + "original_start_line": 16, + "path": "runtime/lua/vim/treesitter/dev.lua", + "position": null, + "pull_request_review_id": 1857891425, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27295", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 1, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475296931/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-01T23:24:01Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1475296931", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27295#discussion_r1478319378" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27295" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478319378" + } + }, + "author_association": "MEMBER", + "body": "Do we need to split the default opts into a separate identifier? Now as someone reading the code, I have to jump to the `default_treeview_opts` definition, whereas before it was inline. Since this table is not re-used or referenced anywhere else, I think it's fine to leave it as-is, and I don't _think_ it should affect typing (if I'm wrong about that part though then that is a valid reason to move it to a separate identifier).", + "commit_id": "f4a3c326314b079e660ebd0f3c837f69d8c425fc", + "created_at": "2024-02-05T14:11:55Z", + "diff_hunk": "@@ -115,11 +124,7 @@ function TSTreeView:new(bufnr, lang)\n ns = api.nvim_create_namespace('treesitter/dev-inspect'),\n nodes = nodes,\n named = named,\n- opts = {\n- anon = false,\n- lang = false,\n- indent = 2,\n- },\n+ opts = default_treeview_opts,", + "html_url": "https://github.com/neovim/neovim/pull/27295#discussion_r1478319378", + "id": 1478319378, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YHV0S", + "original_commit_id": "f1b63a11807db69a8e8f9b1dd67c15f9af2d9397", + "original_line": 127, + "original_position": 39, + "original_start_line": 118, + "path": "runtime/lua/vim/treesitter/dev.lua", + "position": null, + "pull_request_review_id": 1862908518, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27295", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478319378/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "LEFT", + "subject_type": "line", + "updated_at": "2024-02-05T14:11:55Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478319378", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27295#discussion_r1478329568" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27295" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478329568" + } + }, + "author_association": "MEMBER", + "body": "After a bit of rebasing/rewriting this change is actually not needed (it was to better document the type as I was considering adding a new option) but I thought it'd be convenient to have this closer to the type definition. It really doesn't matter much either, it'd be about code style, so let me revert this back. The resulting diff now looks much simpler :)", + "commit_id": "f4a3c326314b079e660ebd0f3c837f69d8c425fc", + "created_at": "2024-02-05T14:19:16Z", + "diff_hunk": "@@ -115,11 +124,7 @@ function TSTreeView:new(bufnr, lang)\n ns = api.nvim_create_namespace('treesitter/dev-inspect'),\n nodes = nodes,\n named = named,\n- opts = {\n- anon = false,\n- lang = false,\n- indent = 2,\n- },\n+ opts = default_treeview_opts,", + "html_url": "https://github.com/neovim/neovim/pull/27295#discussion_r1478329568", + "id": 1478329568, + "in_reply_to_id": 1478319378, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YHYTg", + "original_commit_id": "f1b63a11807db69a8e8f9b1dd67c15f9af2d9397", + "original_line": 127, + "original_position": 39, + "original_start_line": 118, + "path": "runtime/lua/vim/treesitter/dev.lua", + "position": null, + "pull_request_review_id": 1862925573, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27295", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478329568/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "LEFT", + "subject_type": "line", + "updated_at": "2024-02-05T14:27:32Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478329568", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + } + ], + "comment_regular_data": [ + { + "author_association": "MEMBER", + "body": "Things to discuss:\r\n\r\n- The keymap -- `R` or `r`? (which stands for *R*ange) (Note: #26944 may want to use a similar key for *R*oot).\r\n- Do we want to make this by default? Was there any reason we chose to show 1-based lnum/col instead of `Range4`, when it was first introduced 0.9.0, given that its earlier form (TSPlayground) showed 0-based ranges?", + "created_at": "2024-02-01T20:47:43Z", + "html_url": "https://github.com/neovim/neovim/pull/27295#issuecomment-1922217078", + "id": 1922217078, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27295", + "node_id": "IC_kwDOAPphoM5ykrR2", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922217078/reactions" + }, + "updated_at": "2024-02-01T20:47:43Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922217078", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "author_association": "MEMBER", + "body": "What is the actual issue here? This is a visual diagnostic tool for humans, and humans -- like Vim -- tend to count from one. \n\nI don't think we need to burn a key for subtracting one from some numbers... (I know people complain about the younger generations' lack of math skills, but we are not quite _there_ yet.)", + "created_at": "2024-02-01T20:55:11Z", + "html_url": "https://github.com/neovim/neovim/pull/27295#issuecomment-1922227423", + "id": 1922227423, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27295", + "node_id": "IC_kwDOAPphoM5yktzf", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922227423/reactions" + }, + "updated_at": "2024-02-01T20:57:31Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922227423", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "MEMBER", + "body": "I agree that 1-based ranges should be the default representation to display for human, when dealing with `TSNode`s printed or `vim.inspect`-ed while writing treesitter-related plugins, debugging, writing tests (e.g. [`parser_spec.lua`](https://github.com/neovim/neovim/blob/v0.9.5/test/functional/treesitter/parser_spec.lua#L217)) it can be confusing in another way, when it comes to treesitter dev. Because the primary representation of Range is 0-based.\r\n\r\nIt could be just a matter of straightforward off-by-one index calculation, but it brings just slightly additional mental effort.\r\n\r\nIf we want to avoid reserving a key for this, I'm also fine with just having it enabled only through API, i.e. `opts` to `vim.treesitter.inspect_tree()`. Or only providing an API (function that users can call if they want), not assigning a default key. Anyway such an option will be needed.", + "created_at": "2024-02-01T21:00:52Z", + "html_url": "https://github.com/neovim/neovim/pull/27295#issuecomment-1922235882", + "id": 1922235882, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27295", + "node_id": "IC_kwDOAPphoM5ykv3q", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922235882/reactions" + }, + "updated_at": "2024-02-01T21:07:21Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922235882", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "author_association": "MEMBER", + "body": "> What is the actual issue here? This is a visual diagnostic tool for humans, and humans -- like Vim -- tend to count from one.\r\n> \r\n> I don't think we need to burn a key for subtracting one from some numbers... (I know people complain about the younger generations' lack of math skills, but we are not quite _there_ yet.)\r\n\r\nI feel like this is a valid ask. Reducing the math conversions when using the visualizer makes it a nicer dev tool. ", + "created_at": "2024-02-01T21:01:40Z", + "html_url": "https://github.com/neovim/neovim/pull/27295#issuecomment-1922236897", + "id": 1922236897, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27295", + "node_id": "IC_kwDOAPphoM5ykwHh", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922236897/reactions" + }, + "updated_at": "2024-02-01T21:01:40Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922236897", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "author_association": "MEMBER", + "body": "This does not need to be an option, certainly not a key binding. If we are going to change anything we can make the default 0-indexed (which I’m fine with), but making this configurable introduces more complexity for very little gain.", + "created_at": "2024-02-03T21:49:11Z", + "html_url": "https://github.com/neovim/neovim/pull/27295#issuecomment-1925464005", + "id": 1925464005, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27295", + "node_id": "IC_kwDOAPphoM5yxD_F", + "performed_via_github_app": null, + "reactions": { + "+1": 4, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 4, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925464005/reactions" + }, + "updated_at": "2024-02-03T21:49:11Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925464005", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } + }, + { + "author_association": "MEMBER", + "body": "The additional tests are welcome and appreciated regardless though. ", + "created_at": "2024-02-03T21:49:54Z", + "html_url": "https://github.com/neovim/neovim/pull/27295#issuecomment-1925464134", + "id": 1925464134, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27295", + "node_id": "IC_kwDOAPphoM5yxEBG", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925464134/reactions" + }, + "updated_at": "2024-02-03T21:49:54Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925464134", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } + }, + { + "author_association": "MEMBER", + "body": "I agree, options make this more complicated than it should be for something that is community maintained. Make it either 0-based, or 1-based.", + "created_at": "2024-02-04T16:00:32Z", + "html_url": "https://github.com/neovim/neovim/pull/27295#issuecomment-1925804714", + "id": 1925804714, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27295", + "node_id": "IC_kwDOAPphoM5yyXKq", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925804714/reactions" + }, + "updated_at": "2024-02-04T16:00:32Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925804714", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "author_association": "MEMBER", + "body": "Thanks for the inputs. I agree with not providing configurable/toggleable options.\r\n\r\nMy proposal is to change `:InspectTree` to be always 0-based, because of the following reasons:\r\n\r\n- `:InspectTree` is mostly used for debugging treesitter syntax tree, e.g. when writing queries or do something with the treesitter API.\r\n- In such cases, developers would need to deal with mostly `TSNode:range()` and `vim.api.*` APIs for buffer manipulation, etc., which are all using 0-based indexing.\r\n- Therefore, representing the tree/node range in 0-based index would be less confusing, and it would require less mental effort and save just one additional calculation step while debugging.\r\n- `:InspectTree` would synchronize with the source buffer, whose 1-based line number can be easily read from the window in which the buffer is contained.\r\n- [The upstream tree-sitter playground](https://tree-sitter.github.io/tree-sitter/playground) also shows node ranges in 0-based indexing. Hence more consistency.\r\n\r\nNote: `vim.treesitter.{inspect_tree,show_tree}` was first written in #21322.", + "created_at": "2024-02-04T18:46:23Z", + "html_url": "https://github.com/neovim/neovim/pull/27295#issuecomment-1925878629", + "id": 1925878629, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27295", + "node_id": "IC_kwDOAPphoM5yypNl", + "performed_via_github_app": null, + "reactions": { + "+1": 3, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 3, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925878629/reactions" + }, + "updated_at": "2024-02-04T18:48:28Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925878629", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27295/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27295/commits", + "created_at": "2024-02-01T20:39:52Z", + "diff_url": "https://github.com/neovim/neovim/pull/27295.diff", + "draft": false, + "head": { + "label": "wookayin:feat/inspecttree", + "ref": "feat/inspecttree", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/wookayin/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/wookayin/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/wookayin/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/wookayin/neovim/branches{/branch}", + "clone_url": "https://github.com/wookayin/neovim.git", + "collaborators_url": "https://api.github.com/repos/wookayin/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/wookayin/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/wookayin/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/wookayin/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/wookayin/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/wookayin/neovim/contributors", + "created_at": "2022-10-30T19:40:29Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/wookayin/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/wookayin/neovim/downloads", + "events_url": "https://api.github.com/repos/wookayin/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/wookayin/neovim/forks", + "full_name": "wookayin/neovim", + "git_commits_url": "https://api.github.com/repos/wookayin/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/wookayin/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/wookayin/neovim/git/tags{/sha}", + "git_url": "git://github.com/wookayin/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/wookayin/neovim/hooks", + "html_url": "https://github.com/wookayin/neovim", + "id": 559659867, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/wookayin/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/wookayin/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/wookayin/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/wookayin/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/wookayin/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/wookayin/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/wookayin/neovim/merges", + "milestones_url": "https://api.github.com/repos/wookayin/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOIVu7Ww", + "notifications_url": "https://api.github.com/repos/wookayin/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/wookayin/neovim/pulls{/number}", + "pushed_at": "2024-02-05T22:04:28Z", + "releases_url": "https://api.github.com/repos/wookayin/neovim/releases{/id}", + "size": 247830, + "ssh_url": "git@github.com:wookayin/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/wookayin/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/wookayin/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/wookayin/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/wookayin/neovim/subscription", + "svn_url": "https://github.com/wookayin/neovim", + "tags_url": "https://api.github.com/repos/wookayin/neovim/tags", + "teams_url": "https://api.github.com/repos/wookayin/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/wookayin/neovim/git/trees{/sha}", + "updated_at": "2024-01-25T20:45:40Z", + "url": "https://api.github.com/repos/wookayin/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "f4a3c326314b079e660ebd0f3c837f69d8c425fc", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27295", + "id": 1707103946, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27295", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "", + "id": 1799626557, + "name": "treesitter", + "node_id": "MDU6TGFiZWwxNzk5NjI2NTU3", + "url": "https://api.github.com/repos/neovim/neovim/labels/treesitter" + } + ], + "locked": false, + "merge_commit_sha": "abfcdd9bf42eae5fba0dfb647e48ecf4e1c78293", + "merged_at": "2024-02-05T21:59:25Z", + "milestone": { + "closed_at": null, + "closed_issues": 278, + "created_at": "2023-02-02T14:11:43Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + "description": "", + "due_on": "2024-03-01T08:00:00Z", + "html_url": "https://github.com/neovim/neovim/milestone/36", + "id": 8997654, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", + "node_id": "MI_kwDOAPphoM4AiUsW", + "number": 36, + "open_issues": 138, + "state": "open", + "title": "0.10", + "updated_at": "2024-02-05T21:59:25Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/36" + }, + "node_id": "PR_kwDOAPphoM5lwFbK", + "number": 27295, + "patch_url": "https://github.com/neovim/neovim/pull/27295.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27295/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/f4a3c326314b079e660ebd0f3c837f69d8c425fc", + "title": "feat(treesitter): use 0-based indexing to show ranges in `:InspectTree`", + "updated_at": "2024-02-05T22:04:28Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27295", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27297.json b/repositories/neovim/pulls/27297.json new file mode 100644 index 00000000..9df15e08 --- /dev/null +++ b/repositories/neovim/pulls/27297.json @@ -0,0 +1,371 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27297/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27297/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27297" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27297" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27297/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27297" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/11acbd6df4b966f73e48c087dc6d51d852566413" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "05fd70f19b39519985000141d022971e37d66189", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "#### vim-patch:69866449ddb2\n\nruntime(vim): Improve keymap file highlighting (vim/vim#13550)\n\n- Match :loadkeymap to EOF as a region and contain only allowed items.\n- Add highlighting for \n\n\n#### vim-patch:e3e3934bb182\n\nruntime(vim): Update syntax file (vim/vim#13948)\n\nImprove string escape sequence and special key matching.\n\nhttps://github.com/vim/vim/commit/e3e3934bb18294b1a5636ed65299d3479f289a8e\n\nCo-authored-by: dkearns ", + "closed_at": "2024-02-01T23:09:56Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27297/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27297/commits", + "created_at": "2024-02-01T22:46:37Z", + "diff_url": "https://github.com/neovim/neovim/pull/27297.diff", + "draft": false, + "head": { + "label": "zeertzjq:vim-e3e3934bb182", + "ref": "vim-e3e3934bb182", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/zeertzjq/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/zeertzjq/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/zeertzjq/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/zeertzjq/neovim/branches{/branch}", + "clone_url": "https://github.com/zeertzjq/neovim.git", + "collaborators_url": "https://api.github.com/repos/zeertzjq/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/zeertzjq/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/zeertzjq/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/zeertzjq/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/zeertzjq/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/zeertzjq/neovim/contributors", + "created_at": "2021-09-27T02:22:45Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/zeertzjq/neovim/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/zeertzjq/neovim/downloads", + "events_url": "https://api.github.com/repos/zeertzjq/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/zeertzjq/neovim/forks", + "full_name": "zeertzjq/neovim", + "git_commits_url": "https://api.github.com/repos/zeertzjq/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/zeertzjq/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/zeertzjq/neovim/git/tags{/sha}", + "git_url": "git://github.com/zeertzjq/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/zeertzjq/neovim/hooks", + "html_url": "https://github.com/zeertzjq/neovim", + "id": 410715915, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/zeertzjq/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/zeertzjq/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/zeertzjq/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/zeertzjq/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/zeertzjq/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/zeertzjq/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/zeertzjq/neovim/merges", + "milestones_url": "https://api.github.com/repos/zeertzjq/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOGHsHCw", + "notifications_url": "https://api.github.com/repos/zeertzjq/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/zeertzjq/neovim/pulls{/number}", + "pushed_at": "2024-02-05T07:34:22Z", + "releases_url": "https://api.github.com/repos/zeertzjq/neovim/releases{/id}", + "size": 236183, + "ssh_url": "git@github.com:zeertzjq/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/zeertzjq/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/zeertzjq/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/zeertzjq/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/zeertzjq/neovim/subscription", + "svn_url": "https://github.com/zeertzjq/neovim", + "tags_url": "https://api.github.com/repos/zeertzjq/neovim/tags", + "teams_url": "https://api.github.com/repos/zeertzjq/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/zeertzjq/neovim/git/trees{/sha}", + "updated_at": "2023-02-18T11:19:39Z", + "url": "https://api.github.com/repos/zeertzjq/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "11acbd6df4b966f73e48c087dc6d51d852566413", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27297", + "id": 1707303650, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27297", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "funtime", + "id": 120251370, + "name": "runtime", + "node_id": "MDU6TGFiZWwxMjAyNTEzNzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/runtime" + }, + { + "color": "e6e6e6", + "default": false, + "description": "See https://github.com/neovim/neovim/wiki/Merging-patches-from-upstream-Vim", + "id": 843184430, + "name": "vim-patch", + "node_id": "MDU6TGFiZWw4NDMxODQ0MzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/vim-patch" + } + ], + "locked": false, + "merge_commit_sha": "302fa5f7db826db904e15c9ad37e0c69e57a3dfb", + "merged_at": "2024-02-01T23:09:56Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5lw2Li", + "number": 27297, + "patch_url": "https://github.com/neovim/neovim/pull/27297.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27297/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/11acbd6df4b966f73e48c087dc6d51d852566413", + "title": "vim-patch:69866449ddb2,e3e3934bb182", + "updated_at": "2024-02-01T23:10:10Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27297", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27298.json b/repositories/neovim/pulls/27298.json new file mode 100644 index 00000000..d61cbe80 --- /dev/null +++ b/repositories/neovim/pulls/27298.json @@ -0,0 +1,371 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27298/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27298/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27298" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27298" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27298/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27298" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/d5fb91f38490d2e08106d1261543ef4f0df9ca33" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "302fa5f7db826db904e15c9ad37e0c69e57a3dfb", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "They are no longer needed as they are covered by vimMap and vimUnmap.\nAlso fix some other mistakes and missing changes.\n", + "closed_at": "2024-02-02T02:45:16Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27298/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27298/commits", + "created_at": "2024-02-01T23:13:10Z", + "diff_url": "https://github.com/neovim/neovim/pull/27298.diff", + "draft": false, + "head": { + "label": "zeertzjq:vimsyn", + "ref": "vimsyn", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/zeertzjq/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/zeertzjq/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/zeertzjq/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/zeertzjq/neovim/branches{/branch}", + "clone_url": "https://github.com/zeertzjq/neovim.git", + "collaborators_url": "https://api.github.com/repos/zeertzjq/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/zeertzjq/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/zeertzjq/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/zeertzjq/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/zeertzjq/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/zeertzjq/neovim/contributors", + "created_at": "2021-09-27T02:22:45Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/zeertzjq/neovim/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/zeertzjq/neovim/downloads", + "events_url": "https://api.github.com/repos/zeertzjq/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/zeertzjq/neovim/forks", + "full_name": "zeertzjq/neovim", + "git_commits_url": "https://api.github.com/repos/zeertzjq/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/zeertzjq/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/zeertzjq/neovim/git/tags{/sha}", + "git_url": "git://github.com/zeertzjq/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/zeertzjq/neovim/hooks", + "html_url": "https://github.com/zeertzjq/neovim", + "id": 410715915, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/zeertzjq/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/zeertzjq/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/zeertzjq/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/zeertzjq/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/zeertzjq/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/zeertzjq/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/zeertzjq/neovim/merges", + "milestones_url": "https://api.github.com/repos/zeertzjq/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOGHsHCw", + "notifications_url": "https://api.github.com/repos/zeertzjq/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/zeertzjq/neovim/pulls{/number}", + "pushed_at": "2024-02-05T07:34:22Z", + "releases_url": "https://api.github.com/repos/zeertzjq/neovim/releases{/id}", + "size": 236183, + "ssh_url": "git@github.com:zeertzjq/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/zeertzjq/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/zeertzjq/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/zeertzjq/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/zeertzjq/neovim/subscription", + "svn_url": "https://github.com/zeertzjq/neovim", + "tags_url": "https://api.github.com/repos/zeertzjq/neovim/tags", + "teams_url": "https://api.github.com/repos/zeertzjq/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/zeertzjq/neovim/git/trees{/sha}", + "updated_at": "2023-02-18T11:19:39Z", + "url": "https://api.github.com/repos/zeertzjq/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "d5fb91f38490d2e08106d1261543ef4f0df9ca33", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27298", + "id": 1707334411, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27298", + "labels": [ + { + "color": "C5DEF5", + "default": false, + "description": "changes that are not features or bugfixes", + "id": 106949155, + "name": "refactor", + "node_id": "MDU6TGFiZWwxMDY5NDkxNTU=", + "url": "https://api.github.com/repos/neovim/neovim/labels/refactor" + }, + { + "color": "c5def5", + "default": false, + "description": "funtime", + "id": 120251370, + "name": "runtime", + "node_id": "MDU6TGFiZWwxMjAyNTEzNzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/runtime" + } + ], + "locked": false, + "merge_commit_sha": "1405e5c8c1f3b3ef59cab0ac2d0a28b9b88869cf", + "merged_at": "2024-02-02T02:45:16Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5lw9sL", + "number": 27298, + "patch_url": "https://github.com/neovim/neovim/pull/27298.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27298/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/d5fb91f38490d2e08106d1261543ef4f0df9ca33", + "title": "refactor(runtime): remove nvimMap and nvimUnmap syntax groups", + "updated_at": "2024-02-02T02:45:18Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27298", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27299.json b/repositories/neovim/pulls/27299.json new file mode 100644 index 00000000..90c00b4d --- /dev/null +++ b/repositories/neovim/pulls/27299.json @@ -0,0 +1,539 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27299/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27299/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27299" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27299" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27299/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27299" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/36c523440deb8df99c21ac663f3fad0720a98ded" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "302fa5f7db826db904e15c9ad37e0c69e57a3dfb", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "change '[text(, hl_id, repeat)]' into '[(text, hl_id, repeat)]'", + "closed_at": "2024-02-02T02:04:46Z", + "comment_data": [], + "comment_regular_data": [ + { + "author_association": "NONE", + "body": "Oh sorry, I just noticed that: #26781", + "created_at": "2024-02-02T01:58:31Z", + "html_url": "https://github.com/neovim/neovim/pull/27299#issuecomment-1922649101", + "id": 1922649101, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27299", + "node_id": "IC_kwDOAPphoM5ymUwN", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922649101/reactions" + }, + "updated_at": "2024-02-02T01:58:31Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922649101", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/122727634?v=4", + "events_url": "https://api.github.com/users/zdm2202/events{/privacy}", + "followers_url": "https://api.github.com/users/zdm2202/followers", + "following_url": "https://api.github.com/users/zdm2202/following{/other_user}", + "gists_url": "https://api.github.com/users/zdm2202/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zdm2202", + "id": 122727634, + "login": "zdm2202", + "node_id": "U_kgDOB1Cs0g", + "organizations_url": "https://api.github.com/users/zdm2202/orgs", + "received_events_url": "https://api.github.com/users/zdm2202/received_events", + "repos_url": "https://api.github.com/users/zdm2202/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zdm2202/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zdm2202/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zdm2202" + } + }, + { + "author_association": "NONE", + "body": "Should I close this pull request?", + "created_at": "2024-02-02T01:59:35Z", + "html_url": "https://github.com/neovim/neovim/pull/27299#issuecomment-1922650087", + "id": 1922650087, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27299", + "node_id": "IC_kwDOAPphoM5ymU_n", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922650087/reactions" + }, + "updated_at": "2024-02-02T01:59:35Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922650087", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/122727634?v=4", + "events_url": "https://api.github.com/users/zdm2202/events{/privacy}", + "followers_url": "https://api.github.com/users/zdm2202/followers", + "following_url": "https://api.github.com/users/zdm2202/following{/other_user}", + "gists_url": "https://api.github.com/users/zdm2202/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zdm2202", + "id": 122727634, + "login": "zdm2202", + "node_id": "U_kgDOB1Cs0g", + "organizations_url": "https://api.github.com/users/zdm2202/orgs", + "received_events_url": "https://api.github.com/users/zdm2202/received_events", + "repos_url": "https://api.github.com/users/zdm2202/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zdm2202/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zdm2202/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zdm2202" + } + }, + { + "author_association": "MEMBER", + "body": "There is nothing wrong with the text.", + "created_at": "2024-02-02T02:04:46Z", + "html_url": "https://github.com/neovim/neovim/pull/27299#issuecomment-1922655376", + "id": 1922655376, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27299", + "node_id": "IC_kwDOAPphoM5ymWSQ", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922655376/reactions" + }, + "updated_at": "2024-02-02T02:04:46Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922655376", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "author_association": "NONE", + "body": "Thank you. But I wander how to understand the ',' after '(' ? Is that a valid grammar?", + "created_at": "2024-02-02T04:16:22Z", + "html_url": "https://github.com/neovim/neovim/pull/27299#issuecomment-1922785614", + "id": 1922785614, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27299", + "node_id": "IC_kwDOAPphoM5ym2FO", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922785614/reactions" + }, + "updated_at": "2024-02-02T04:16:22Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1922785614", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/122727634?v=4", + "events_url": "https://api.github.com/users/zdm2202/events{/privacy}", + "followers_url": "https://api.github.com/users/zdm2202/followers", + "following_url": "https://api.github.com/users/zdm2202/following{/other_user}", + "gists_url": "https://api.github.com/users/zdm2202/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zdm2202", + "id": 122727634, + "login": "zdm2202", + "node_id": "U_kgDOB1Cs0g", + "organizations_url": "https://api.github.com/users/zdm2202/orgs", + "received_events_url": "https://api.github.com/users/zdm2202/received_events", + "repos_url": "https://api.github.com/users/zdm2202/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zdm2202/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zdm2202/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zdm2202" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27299/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27299/commits", + "created_at": "2024-02-02T01:42:23Z", + "diff_url": "https://github.com/neovim/neovim/pull/27299.diff", + "draft": false, + "head": { + "label": "zdm2202:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/zdm2202/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/zdm2202/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/zdm2202/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/zdm2202/neovim/branches{/branch}", + "clone_url": "https://github.com/zdm2202/neovim.git", + "collaborators_url": "https://api.github.com/repos/zdm2202/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/zdm2202/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/zdm2202/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/zdm2202/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/zdm2202/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/zdm2202/neovim/contributors", + "created_at": "2023-03-30T11:55:05Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/zdm2202/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/zdm2202/neovim/downloads", + "events_url": "https://api.github.com/repos/zdm2202/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/zdm2202/neovim/forks", + "full_name": "zdm2202/neovim", + "git_commits_url": "https://api.github.com/repos/zdm2202/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/zdm2202/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/zdm2202/neovim/git/tags{/sha}", + "git_url": "git://github.com/zdm2202/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/zdm2202/neovim/hooks", + "html_url": "https://github.com/zdm2202/neovim", + "id": 621304621, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/zdm2202/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/zdm2202/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/zdm2202/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/zdm2202/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/zdm2202/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/zdm2202/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/zdm2202/neovim/merges", + "milestones_url": "https://api.github.com/repos/zdm2202/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOJQhbLQ", + "notifications_url": "https://api.github.com/repos/zdm2202/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/122727634?v=4", + "events_url": "https://api.github.com/users/zdm2202/events{/privacy}", + "followers_url": "https://api.github.com/users/zdm2202/followers", + "following_url": "https://api.github.com/users/zdm2202/following{/other_user}", + "gists_url": "https://api.github.com/users/zdm2202/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zdm2202", + "id": 122727634, + "login": "zdm2202", + "node_id": "U_kgDOB1Cs0g", + "organizations_url": "https://api.github.com/users/zdm2202/orgs", + "received_events_url": "https://api.github.com/users/zdm2202/received_events", + "repos_url": "https://api.github.com/users/zdm2202/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zdm2202/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zdm2202/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zdm2202" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/zdm2202/neovim/pulls{/number}", + "pushed_at": "2024-02-05T05:29:11Z", + "releases_url": "https://api.github.com/repos/zdm2202/neovim/releases{/id}", + "size": 245445, + "ssh_url": "git@github.com:zdm2202/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/zdm2202/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/zdm2202/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/zdm2202/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/zdm2202/neovim/subscription", + "svn_url": "https://github.com/zdm2202/neovim", + "tags_url": "https://api.github.com/repos/zdm2202/neovim/tags", + "teams_url": "https://api.github.com/repos/zdm2202/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/zdm2202/neovim/git/trees{/sha}", + "updated_at": "2024-02-02T01:22:45Z", + "url": "https://api.github.com/repos/zdm2202/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "36c523440deb8df99c21ac663f3fad0720a98ded", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/122727634?v=4", + "events_url": "https://api.github.com/users/zdm2202/events{/privacy}", + "followers_url": "https://api.github.com/users/zdm2202/followers", + "following_url": "https://api.github.com/users/zdm2202/following{/other_user}", + "gists_url": "https://api.github.com/users/zdm2202/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zdm2202", + "id": 122727634, + "login": "zdm2202", + "node_id": "U_kgDOB1Cs0g", + "organizations_url": "https://api.github.com/users/zdm2202/orgs", + "received_events_url": "https://api.github.com/users/zdm2202/received_events", + "repos_url": "https://api.github.com/users/zdm2202/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zdm2202/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zdm2202/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zdm2202" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27299", + "id": 1707487889, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27299", + "labels": [ + { + "color": "c5def5", + "default": true, + "description": "", + "id": 84744038, + "name": "documentation", + "node_id": "MDU6TGFiZWw4NDc0NDAzOA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/documentation" + } + ], + "locked": false, + "merge_commit_sha": "8cee78de866302e416c6fcc13733648772b840b5", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM5lxjKR", + "number": 27299, + "patch_url": "https://github.com/neovim/neovim/pull/27299.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27299/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/36c523440deb8df99c21ac663f3fad0720a98ded", + "title": "docs: a small fix", + "updated_at": "2024-02-02T04:16:23Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27299", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/122727634?v=4", + "events_url": "https://api.github.com/users/zdm2202/events{/privacy}", + "followers_url": "https://api.github.com/users/zdm2202/followers", + "following_url": "https://api.github.com/users/zdm2202/following{/other_user}", + "gists_url": "https://api.github.com/users/zdm2202/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zdm2202", + "id": 122727634, + "login": "zdm2202", + "node_id": "U_kgDOB1Cs0g", + "organizations_url": "https://api.github.com/users/zdm2202/orgs", + "received_events_url": "https://api.github.com/users/zdm2202/received_events", + "repos_url": "https://api.github.com/users/zdm2202/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zdm2202/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zdm2202/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zdm2202" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27300.json b/repositories/neovim/pulls/27300.json new file mode 100644 index 00000000..6fb5c240 --- /dev/null +++ b/repositories/neovim/pulls/27300.json @@ -0,0 +1,416 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27300/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27300/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27300" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27300" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27300/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27300" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/40240dae5ca3adfc192eeba47af880ce1e19bfe5" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "1405e5c8c1f3b3ef59cab0ac2d0a28b9b88869cf", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Problem:\nProcessing non-fast events during SystemObj:wait() may cause two pieces\nof code to interfere with each other, and is different from jobwait().\n\nSolution:\nDon't process non-fast events during SystemObj:wait().\n\nFix #27292\n", + "closed_at": "2024-02-02T13:52:02Z", + "comment_data": [], + "comment_regular_data": [ + { + "author_association": "MEMBER", + "body": "> Processing non-fast events during SystemObj:wait() may cause two pieces\nof code to interfere with each other, and is different from jobwait().\n\nHow exactly do they interfere? The added testcase doesn't demonstrate this.", + "created_at": "2024-02-02T21:20:11Z", + "html_url": "https://github.com/neovim/neovim/pull/27300#issuecomment-1924714359", + "id": 1924714359, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27300", + "node_id": "IC_kwDOAPphoM5yuM93", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924714359/reactions" + }, + "updated_at": "2024-02-02T21:20:11Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924714359", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27300/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27300/commits", + "created_at": "2024-02-02T03:59:11Z", + "diff_url": "https://github.com/neovim/neovim/pull/27300.diff", + "draft": false, + "head": { + "label": "zeertzjq:sys-wait-fast-only", + "ref": "sys-wait-fast-only", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/zeertzjq/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/zeertzjq/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/zeertzjq/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/zeertzjq/neovim/branches{/branch}", + "clone_url": "https://github.com/zeertzjq/neovim.git", + "collaborators_url": "https://api.github.com/repos/zeertzjq/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/zeertzjq/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/zeertzjq/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/zeertzjq/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/zeertzjq/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/zeertzjq/neovim/contributors", + "created_at": "2021-09-27T02:22:45Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/zeertzjq/neovim/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/zeertzjq/neovim/downloads", + "events_url": "https://api.github.com/repos/zeertzjq/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/zeertzjq/neovim/forks", + "full_name": "zeertzjq/neovim", + "git_commits_url": "https://api.github.com/repos/zeertzjq/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/zeertzjq/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/zeertzjq/neovim/git/tags{/sha}", + "git_url": "git://github.com/zeertzjq/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/zeertzjq/neovim/hooks", + "html_url": "https://github.com/zeertzjq/neovim", + "id": 410715915, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/zeertzjq/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/zeertzjq/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/zeertzjq/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/zeertzjq/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/zeertzjq/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/zeertzjq/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/zeertzjq/neovim/merges", + "milestones_url": "https://api.github.com/repos/zeertzjq/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOGHsHCw", + "notifications_url": "https://api.github.com/repos/zeertzjq/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/zeertzjq/neovim/pulls{/number}", + "pushed_at": "2024-02-05T07:34:22Z", + "releases_url": "https://api.github.com/repos/zeertzjq/neovim/releases{/id}", + "size": 236183, + "ssh_url": "git@github.com:zeertzjq/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/zeertzjq/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/zeertzjq/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/zeertzjq/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/zeertzjq/neovim/subscription", + "svn_url": "https://github.com/zeertzjq/neovim", + "tags_url": "https://api.github.com/repos/zeertzjq/neovim/tags", + "teams_url": "https://api.github.com/repos/zeertzjq/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/zeertzjq/neovim/git/trees{/sha}", + "updated_at": "2023-02-18T11:19:39Z", + "url": "https://api.github.com/repos/zeertzjq/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "40240dae5ca3adfc192eeba47af880ce1e19bfe5", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27300", + "id": 1707611302, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27300", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "OS processes, spawn", + "id": 182884815, + "name": "job-control", + "node_id": "MDU6TGFiZWwxODI4ODQ4MTU=", + "url": "https://api.github.com/repos/neovim/neovim/labels/job-control" + }, + { + "color": "c5def5", + "default": false, + "description": "stdlib", + "id": 573222693, + "name": "lua", + "node_id": "MDU6TGFiZWw1NzMyMjI2OTM=", + "url": "https://api.github.com/repos/neovim/neovim/labels/lua" + } + ], + "locked": false, + "merge_commit_sha": "9b7cf4f0beb35b640846f92ac522372967ca6695", + "merged_at": "2024-02-02T13:52:02Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5lyBSm", + "number": 27300, + "patch_url": "https://github.com/neovim/neovim/pull/27300.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27300/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/40240dae5ca3adfc192eeba47af880ce1e19bfe5", + "title": "fix(vim.system): don't process non-fast events during wait()", + "updated_at": "2024-02-02T21:20:12Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27300", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27302.json b/repositories/neovim/pulls/27302.json new file mode 100644 index 00000000..87dae19a --- /dev/null +++ b/repositories/neovim/pulls/27302.json @@ -0,0 +1,362 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27302/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27302/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27302" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27302" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27302/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27302" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/4a3752064a2ed4e3c973b598cac949a51b5a2e97" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "4a1ad676ce0bdaead122b092d2ff33b51679ffe9", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "runtime(fortran): update syntax (vim/vim#13953)\n\n* runtime (Fortran) update syntax\n* runtime (Fortran) small fix\n\nhttps://github.com/vim/vim/commit/9204f39580bde807808b352df178fa02b5503a81\n\nCo-authored-by: Ajit-Thakkar <142174202+Ajit-Thakkar@users.noreply.github.com>\n", + "closed_at": "2024-02-02T07:59:50Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27302/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27302/commits", + "created_at": "2024-02-02T07:39:20Z", + "diff_url": "https://github.com/neovim/neovim/pull/27302.diff", + "draft": false, + "head": { + "label": "clason:vim-9204f39580bd", + "ref": "vim-9204f39580bd", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/clason/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/clason/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/clason/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/clason/neovim/branches{/branch}", + "clone_url": "https://github.com/clason/neovim.git", + "collaborators_url": "https://api.github.com/repos/clason/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/clason/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/clason/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/clason/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/clason/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/clason/neovim/contributors", + "created_at": "2022-06-19T14:32:07Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/clason/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/clason/neovim/downloads", + "events_url": "https://api.github.com/repos/clason/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/clason/neovim/forks", + "full_name": "clason/neovim", + "git_commits_url": "https://api.github.com/repos/clason/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/clason/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/clason/neovim/git/tags{/sha}", + "git_url": "git://github.com/clason/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/clason/neovim/hooks", + "html_url": "https://github.com/clason/neovim", + "id": 505133677, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/clason/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/clason/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/clason/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/clason/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/clason/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/clason/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/clason/neovim/merges", + "milestones_url": "https://api.github.com/repos/clason/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOHhu6bQ", + "notifications_url": "https://api.github.com/repos/clason/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/clason/neovim/pulls{/number}", + "pushed_at": "2024-02-04T19:30:24Z", + "releases_url": "https://api.github.com/repos/clason/neovim/releases{/id}", + "size": 248690, + "ssh_url": "git@github.com:clason/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/clason/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/clason/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/clason/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/clason/neovim/subscription", + "svn_url": "https://github.com/clason/neovim", + "tags_url": "https://api.github.com/repos/clason/neovim/tags", + "teams_url": "https://api.github.com/repos/clason/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/clason/neovim/git/trees{/sha}", + "updated_at": "2023-01-31T19:57:54Z", + "url": "https://api.github.com/repos/clason/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "4a3752064a2ed4e3c973b598cac949a51b5a2e97", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27302", + "id": 1707892151, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27302", + "labels": [ + { + "color": "e6e6e6", + "default": false, + "description": "See https://github.com/neovim/neovim/wiki/Merging-patches-from-upstream-Vim", + "id": 843184430, + "name": "vim-patch", + "node_id": "MDU6TGFiZWw4NDMxODQ0MzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/vim-patch" + } + ], + "locked": false, + "merge_commit_sha": "1bf645918e94e7e8f770592484164f1ee303f24e", + "merged_at": "2024-02-02T07:59:49Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5lzF23", + "number": 27302, + "patch_url": "https://github.com/neovim/neovim/pull/27302.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27302/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/4a3752064a2ed4e3c973b598cac949a51b5a2e97", + "title": "vim-patch:9204f39580bd", + "updated_at": "2024-02-02T08:00:05Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27302", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27303.json b/repositories/neovim/pulls/27303.json new file mode 100644 index 00000000..b71e8905 --- /dev/null +++ b/repositories/neovim/pulls/27303.json @@ -0,0 +1,398 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27303/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27303/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27303" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27303" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27303/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27303" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/467ee7349aa17a02601b0deba4695e8aaae001a6" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "1bf645918e94e7e8f770592484164f1ee303f24e", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Close #17523\r\nClose #17543\r\n\r\nNote that this only works when stdin is a pipe.", + "closed_at": "2024-02-02T13:17:37Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27303/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27303/commits", + "created_at": "2024-02-02T10:03:21Z", + "diff_url": "https://github.com/neovim/neovim/pull/27303.diff", + "draft": false, + "head": { + "label": "zeertzjq:fopen-replace-stdin", + "ref": "fopen-replace-stdin", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/zeertzjq/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/zeertzjq/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/zeertzjq/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/zeertzjq/neovim/branches{/branch}", + "clone_url": "https://github.com/zeertzjq/neovim.git", + "collaborators_url": "https://api.github.com/repos/zeertzjq/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/zeertzjq/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/zeertzjq/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/zeertzjq/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/zeertzjq/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/zeertzjq/neovim/contributors", + "created_at": "2021-09-27T02:22:45Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/zeertzjq/neovim/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/zeertzjq/neovim/downloads", + "events_url": "https://api.github.com/repos/zeertzjq/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/zeertzjq/neovim/forks", + "full_name": "zeertzjq/neovim", + "git_commits_url": "https://api.github.com/repos/zeertzjq/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/zeertzjq/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/zeertzjq/neovim/git/tags{/sha}", + "git_url": "git://github.com/zeertzjq/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/zeertzjq/neovim/hooks", + "html_url": "https://github.com/zeertzjq/neovim", + "id": 410715915, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/zeertzjq/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/zeertzjq/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/zeertzjq/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/zeertzjq/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/zeertzjq/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/zeertzjq/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/zeertzjq/neovim/merges", + "milestones_url": "https://api.github.com/repos/zeertzjq/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOGHsHCw", + "notifications_url": "https://api.github.com/repos/zeertzjq/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/zeertzjq/neovim/pulls{/number}", + "pushed_at": "2024-02-05T07:34:22Z", + "releases_url": "https://api.github.com/repos/zeertzjq/neovim/releases{/id}", + "size": 236183, + "ssh_url": "git@github.com:zeertzjq/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/zeertzjq/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/zeertzjq/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/zeertzjq/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/zeertzjq/neovim/subscription", + "svn_url": "https://github.com/zeertzjq/neovim", + "tags_url": "https://api.github.com/repos/zeertzjq/neovim/tags", + "teams_url": "https://api.github.com/repos/zeertzjq/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/zeertzjq/neovim/git/trees{/sha}", + "updated_at": "2023-02-18T11:19:39Z", + "url": "https://api.github.com/repos/zeertzjq/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "467ee7349aa17a02601b0deba4695e8aaae001a6", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27303", + "id": 1708109624, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27303", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": null, + "id": 378639615, + "name": "io", + "node_id": "MDU6TGFiZWwzNzg2Mzk2MTU=", + "url": "https://api.github.com/repos/neovim/neovim/labels/io" + } + ], + "locked": false, + "merge_commit_sha": "e98decf9a68e41b09214aa60b77d0db29b7d648a", + "merged_at": "2024-02-02T13:17:37Z", + "milestone": { + "closed_at": null, + "closed_issues": 278, + "created_at": "2023-02-02T14:11:43Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + "description": "", + "due_on": "2024-03-01T08:00:00Z", + "html_url": "https://github.com/neovim/neovim/milestone/36", + "id": 8997654, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", + "node_id": "MI_kwDOAPphoM4AiUsW", + "number": 36, + "open_issues": 138, + "state": "open", + "title": "0.10", + "updated_at": "2024-02-05T21:59:25Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/36" + }, + "node_id": "PR_kwDOAPphoM5lz684", + "number": 27303, + "patch_url": "https://github.com/neovim/neovim/pull/27303.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27303/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/467ee7349aa17a02601b0deba4695e8aaae001a6", + "title": "feat(quickfix): support -q - to read 'errorfile' from stdin", + "updated_at": "2024-02-02T16:55:10Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27303", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27306.json b/repositories/neovim/pulls/27306.json new file mode 100644 index 00000000..007778ae --- /dev/null +++ b/repositories/neovim/pulls/27306.json @@ -0,0 +1,371 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27306/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27306/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27306" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27306" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27306/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27306" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/ee3fceaf27af536f92ca64e9ad8fd8b9de311147" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "9b7cf4f0beb35b640846f92ac522372967ca6695", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": null, + "closed_at": "2024-02-02T14:24:37Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27306/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27306/commits", + "created_at": "2024-02-02T13:51:37Z", + "diff_url": "https://github.com/neovim/neovim/pull/27306.diff", + "draft": false, + "head": { + "label": "zeertzjq:oldtest-valgrind", + "ref": "oldtest-valgrind", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/zeertzjq/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/zeertzjq/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/zeertzjq/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/zeertzjq/neovim/branches{/branch}", + "clone_url": "https://github.com/zeertzjq/neovim.git", + "collaborators_url": "https://api.github.com/repos/zeertzjq/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/zeertzjq/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/zeertzjq/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/zeertzjq/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/zeertzjq/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/zeertzjq/neovim/contributors", + "created_at": "2021-09-27T02:22:45Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/zeertzjq/neovim/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/zeertzjq/neovim/downloads", + "events_url": "https://api.github.com/repos/zeertzjq/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/zeertzjq/neovim/forks", + "full_name": "zeertzjq/neovim", + "git_commits_url": "https://api.github.com/repos/zeertzjq/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/zeertzjq/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/zeertzjq/neovim/git/tags{/sha}", + "git_url": "git://github.com/zeertzjq/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/zeertzjq/neovim/hooks", + "html_url": "https://github.com/zeertzjq/neovim", + "id": 410715915, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/zeertzjq/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/zeertzjq/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/zeertzjq/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/zeertzjq/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/zeertzjq/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/zeertzjq/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/zeertzjq/neovim/merges", + "milestones_url": "https://api.github.com/repos/zeertzjq/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOGHsHCw", + "notifications_url": "https://api.github.com/repos/zeertzjq/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/zeertzjq/neovim/pulls{/number}", + "pushed_at": "2024-02-05T07:34:22Z", + "releases_url": "https://api.github.com/repos/zeertzjq/neovim/releases{/id}", + "size": 236183, + "ssh_url": "git@github.com:zeertzjq/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/zeertzjq/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/zeertzjq/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/zeertzjq/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/zeertzjq/neovim/subscription", + "svn_url": "https://github.com/zeertzjq/neovim", + "tags_url": "https://api.github.com/repos/zeertzjq/neovim/tags", + "teams_url": "https://api.github.com/repos/zeertzjq/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/zeertzjq/neovim/git/trees{/sha}", + "updated_at": "2023-02-18T11:19:39Z", + "url": "https://api.github.com/repos/zeertzjq/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "ee3fceaf27af536f92ca64e9ad8fd8b9de311147", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27306", + "id": 1708500953, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27306", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "building and installing Neovim using the provided scripts", + "id": 84723321, + "name": "build", + "node_id": "MDU6TGFiZWw4NDcyMzMyMQ==", + "url": "https://api.github.com/repos/neovim/neovim/labels/build" + }, + { + "color": "c5def5", + "default": false, + "description": "", + "id": 110418643, + "name": "test", + "node_id": "MDU6TGFiZWwxMTA0MTg2NDM=", + "url": "https://api.github.com/repos/neovim/neovim/labels/test" + } + ], + "locked": false, + "merge_commit_sha": "fffc0e942d94ad9529713045d87588d945039ec4", + "merged_at": "2024-02-02T14:24:37Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5l1afZ", + "number": 27306, + "patch_url": "https://github.com/neovim/neovim/pull/27306.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27306/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/ee3fceaf27af536f92ca64e9ad8fd8b9de311147", + "title": "test(old): correct path to .valgrind.supp", + "updated_at": "2024-02-02T14:24:58Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27306", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27307.json b/repositories/neovim/pulls/27307.json new file mode 100644 index 00000000..e0f48bf5 --- /dev/null +++ b/repositories/neovim/pulls/27307.json @@ -0,0 +1,362 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27307/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27307/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27307" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27307" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27307/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27307" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/18938f0b33f1da5a3e373e402f3795a346642ca0" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "9b7cf4f0beb35b640846f92ac522372967ca6695", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Fix #27305\n", + "closed_at": "2024-02-02T14:31:58Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27307/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27307/commits", + "created_at": "2024-02-02T14:00:21Z", + "diff_url": "https://github.com/neovim/neovim/pull/27307.diff", + "draft": false, + "head": { + "label": "zeertzjq:drawline-tab-nul", + "ref": "drawline-tab-nul", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/zeertzjq/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/zeertzjq/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/zeertzjq/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/zeertzjq/neovim/branches{/branch}", + "clone_url": "https://github.com/zeertzjq/neovim.git", + "collaborators_url": "https://api.github.com/repos/zeertzjq/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/zeertzjq/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/zeertzjq/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/zeertzjq/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/zeertzjq/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/zeertzjq/neovim/contributors", + "created_at": "2021-09-27T02:22:45Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/zeertzjq/neovim/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/zeertzjq/neovim/downloads", + "events_url": "https://api.github.com/repos/zeertzjq/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/zeertzjq/neovim/forks", + "full_name": "zeertzjq/neovim", + "git_commits_url": "https://api.github.com/repos/zeertzjq/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/zeertzjq/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/zeertzjq/neovim/git/tags{/sha}", + "git_url": "git://github.com/zeertzjq/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/zeertzjq/neovim/hooks", + "html_url": "https://github.com/zeertzjq/neovim", + "id": 410715915, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/zeertzjq/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/zeertzjq/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/zeertzjq/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/zeertzjq/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/zeertzjq/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/zeertzjq/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/zeertzjq/neovim/merges", + "milestones_url": "https://api.github.com/repos/zeertzjq/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOGHsHCw", + "notifications_url": "https://api.github.com/repos/zeertzjq/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/zeertzjq/neovim/pulls{/number}", + "pushed_at": "2024-02-05T07:34:22Z", + "releases_url": "https://api.github.com/repos/zeertzjq/neovim/releases{/id}", + "size": 236183, + "ssh_url": "git@github.com:zeertzjq/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/zeertzjq/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/zeertzjq/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/zeertzjq/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/zeertzjq/neovim/subscription", + "svn_url": "https://github.com/zeertzjq/neovim", + "tags_url": "https://api.github.com/repos/zeertzjq/neovim/tags", + "teams_url": "https://api.github.com/repos/zeertzjq/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/zeertzjq/neovim/git/trees{/sha}", + "updated_at": "2023-02-18T11:19:39Z", + "url": "https://api.github.com/repos/zeertzjq/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "18938f0b33f1da5a3e373e402f3795a346642ca0", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27307", + "id": 1708521240, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27307", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "redraw", + "id": 718084050, + "name": "display", + "node_id": "MDU6TGFiZWw3MTgwODQwNTA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/display" + } + ], + "locked": false, + "merge_commit_sha": "be1d09c4272212ea9b354c900603568d238b4ab3", + "merged_at": "2024-02-02T14:31:58Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5l1fcY", + "number": 27307, + "patch_url": "https://github.com/neovim/neovim/pull/27307.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27307/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/18938f0b33f1da5a3e373e402f3795a346642ca0", + "title": "fix(drawline): missing NUL termination when drawing TAB", + "updated_at": "2024-02-02T14:32:00Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27307", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27308.json b/repositories/neovim/pulls/27308.json new file mode 100644 index 00000000..6882e505 --- /dev/null +++ b/repositories/neovim/pulls/27308.json @@ -0,0 +1,639 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27308/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27308/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27308" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27308" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27308/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27308" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/194c3ac9759f4a188a82fcbc4c6e6605ab5bd6a0" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "be1d09c4272212ea9b354c900603568d238b4ab3", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Fixes: https://github.com/neovim/neovim/issues/27266\r\n\r\nThis enables the initial call to nvim_set_decoration_provider to skip a redraw. It has no effect on subsequent redraws. This is useful when a decoration provider is first installed, but a redraw may not yet be wanted (for example, on startup we want to prevent an immediate redraw to avoid clearing the intro text).", + "closed_at": null, + "comment_data": [ + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27308#discussion_r1476231247" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27308" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1476231247" + } + }, + "author_association": "MEMBER", + "body": "What would be the cons of just never redrawing?", + "commit_id": "194c3ac9759f4a188a82fcbc4c6e6605ab5bd6a0", + "created_at": "2024-02-02T15:49:42Z", + "diff_hunk": "@@ -1038,15 +1038,17 @@ void nvim_buf_clear_namespace(Buffer buffer, Integer ns_id, Integer line_start,\n /// [\"win\", winid, bufnr, row]\n /// - on_end: called at the end of a redraw cycle\n /// [\"end\", tick]\n+/// - redraw (boolean): redraw immediately after this function is called (default true)\n void nvim_set_decoration_provider(Integer ns_id, Dict(set_decoration_provider) *opts, Error *err)\n FUNC_API_SINCE(7) FUNC_API_LUA_ONLY\n {\n DecorProvider *p = get_decor_provider((NS)ns_id, true);\n assert(p != NULL);\n decor_provider_clear(p);\n \n- // regardless of what happens, it seems good idea to redraw\n- redraw_all_later(UPD_NOT_VALID); // TODO(bfredl): too soon?\n+ if (GET_BOOL_OR_TRUE(opts, set_decoration_provider, redraw)) {\n+ redraw_all_later(UPD_NOT_VALID);\n+ }", + "html_url": "https://github.com/neovim/neovim/pull/27308#discussion_r1476231247", + "id": 1476231247, + "line": 1051, + "node_id": "PRRC_kwDOAPphoM5X_YBP", + "original_commit_id": "194c3ac9759f4a188a82fcbc4c6e6605ab5bd6a0", + "original_line": 1051, + "original_position": 16, + "original_start_line": null, + "path": "src/nvim/api/extmark.c", + "position": 16, + "pull_request_review_id": 1859570948, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27308", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1476231247/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-02T15:49:43Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1476231247", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27308#discussion_r1476236801" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27308" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1476236801" + } + }, + "author_association": "MEMBER", + "body": "Alternatively, could we just avoid the redraw if we know the intro screen is showing?", + "commit_id": "194c3ac9759f4a188a82fcbc4c6e6605ab5bd6a0", + "created_at": "2024-02-02T15:54:27Z", + "diff_hunk": "@@ -1038,15 +1038,17 @@ void nvim_buf_clear_namespace(Buffer buffer, Integer ns_id, Integer line_start,\n /// [\"win\", winid, bufnr, row]\n /// - on_end: called at the end of a redraw cycle\n /// [\"end\", tick]\n+/// - redraw (boolean): redraw immediately after this function is called (default true)\n void nvim_set_decoration_provider(Integer ns_id, Dict(set_decoration_provider) *opts, Error *err)\n FUNC_API_SINCE(7) FUNC_API_LUA_ONLY\n {\n DecorProvider *p = get_decor_provider((NS)ns_id, true);\n assert(p != NULL);\n decor_provider_clear(p);\n \n- // regardless of what happens, it seems good idea to redraw\n- redraw_all_later(UPD_NOT_VALID); // TODO(bfredl): too soon?\n+ if (GET_BOOL_OR_TRUE(opts, set_decoration_provider, redraw)) {\n+ redraw_all_later(UPD_NOT_VALID);\n+ }", + "html_url": "https://github.com/neovim/neovim/pull/27308#discussion_r1476236801", + "id": 1476236801, + "in_reply_to_id": 1476231247, + "line": 1051, + "node_id": "PRRC_kwDOAPphoM5X_ZYB", + "original_commit_id": "194c3ac9759f4a188a82fcbc4c6e6605ab5bd6a0", + "original_line": 1051, + "original_position": 16, + "original_start_line": null, + "path": "src/nvim/api/extmark.c", + "position": 16, + "pull_request_review_id": 1859580375, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27308", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1476236801/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-02T15:54:27Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1476236801", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + } + ], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27308/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27308/commits", + "created_at": "2024-02-02T15:40:26Z", + "diff_url": "https://github.com/neovim/neovim/pull/27308.diff", + "draft": false, + "head": { + "label": "gpanders:decoration-no-redraw", + "ref": "decoration-no-redraw", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/gpanders/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/gpanders/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/gpanders/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/gpanders/neovim/branches{/branch}", + "clone_url": "https://github.com/gpanders/neovim.git", + "collaborators_url": "https://api.github.com/repos/gpanders/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/gpanders/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/gpanders/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/gpanders/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/gpanders/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/gpanders/neovim/contributors", + "created_at": "2021-06-11T03:58:44Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/gpanders/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/gpanders/neovim/downloads", + "events_url": "https://api.github.com/repos/gpanders/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/gpanders/neovim/forks", + "full_name": "gpanders/neovim", + "git_commits_url": "https://api.github.com/repos/gpanders/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/gpanders/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/gpanders/neovim/git/tags{/sha}", + "git_url": "git://github.com/gpanders/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/gpanders/neovim/hooks", + "html_url": "https://github.com/gpanders/neovim", + "id": 375899052, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/gpanders/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/gpanders/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/gpanders/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/gpanders/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/gpanders/neovim/labels{/name}", + "language": "Vim script", + "languages_url": "https://api.github.com/repos/gpanders/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/gpanders/neovim/merges", + "milestones_url": "https://api.github.com/repos/gpanders/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkzNzU4OTkwNTI=", + "notifications_url": "https://api.github.com/repos/gpanders/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/gpanders/neovim/pulls{/number}", + "pushed_at": "2024-02-03T03:47:01Z", + "releases_url": "https://api.github.com/repos/gpanders/neovim/releases{/id}", + "size": 246409, + "ssh_url": "git@github.com:gpanders/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/gpanders/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/gpanders/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/gpanders/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/gpanders/neovim/subscription", + "svn_url": "https://github.com/gpanders/neovim", + "tags_url": "https://api.github.com/repos/gpanders/neovim/tags", + "teams_url": "https://api.github.com/repos/gpanders/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/gpanders/neovim/git/trees{/sha}", + "updated_at": "2022-01-07T19:38:08Z", + "url": "https://api.github.com/repos/gpanders/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "194c3ac9759f4a188a82fcbc4c6e6605ab5bd6a0", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27308", + "id": 1708699508, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27308", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": null, + "id": 662566370, + "name": "lsp", + "node_id": "MDU6TGFiZWw2NjI1NjYzNzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/lsp" + }, + { + "color": "c5def5", + "default": false, + "description": "extmarks, decorations, virtual text, namespaces", + "id": 1680119719, + "name": "extmarks", + "node_id": "MDU6TGFiZWwxNjgwMTE5NzE5", + "url": "https://api.github.com/repos/neovim/neovim/labels/extmarks" + }, + { + "color": "c5def5", + "default": false, + "description": "", + "id": 1799626557, + "name": "treesitter", + "node_id": "MDU6TGFiZWwxNzk5NjI2NTU3", + "url": "https://api.github.com/repos/neovim/neovim/labels/treesitter" + } + ], + "locked": false, + "merge_commit_sha": "57d15553bc56a9ab674ce4e93534aa1a97e7016a", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM5l2K90", + "number": 27308, + "patch_url": "https://github.com/neovim/neovim/pull/27308.patch", + "requested_reviewers": [ + { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + }, + { + "avatar_url": "https://avatars.githubusercontent.com/u/292349?v=4", + "events_url": "https://api.github.com/users/folke/events{/privacy}", + "followers_url": "https://api.github.com/users/folke/followers", + "following_url": "https://api.github.com/users/folke/following{/other_user}", + "gists_url": "https://api.github.com/users/folke/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/folke", + "id": 292349, + "login": "folke", + "node_id": "MDQ6VXNlcjI5MjM0OQ==", + "organizations_url": "https://api.github.com/users/folke/orgs", + "received_events_url": "https://api.github.com/users/folke/received_events", + "repos_url": "https://api.github.com/users/folke/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/folke/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/folke/subscriptions", + "type": "User", + "url": "https://api.github.com/users/folke" + }, + { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + }, + { + "avatar_url": "https://avatars.githubusercontent.com/u/38700?v=4", + "events_url": "https://api.github.com/users/mfussenegger/events{/privacy}", + "followers_url": "https://api.github.com/users/mfussenegger/followers", + "following_url": "https://api.github.com/users/mfussenegger/following{/other_user}", + "gists_url": "https://api.github.com/users/mfussenegger/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/mfussenegger", + "id": 38700, + "login": "mfussenegger", + "node_id": "MDQ6VXNlcjM4NzAw", + "organizations_url": "https://api.github.com/users/mfussenegger/orgs", + "received_events_url": "https://api.github.com/users/mfussenegger/received_events", + "repos_url": "https://api.github.com/users/mfussenegger/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/mfussenegger/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mfussenegger/subscriptions", + "type": "User", + "url": "https://api.github.com/users/mfussenegger" + }, + { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + ], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27308/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/194c3ac9759f4a188a82fcbc4c6e6605ab5bd6a0", + "title": "feat(decor): allow nvim_set_decoration_provider to skip initial redraw", + "updated_at": "2024-02-03T04:03:02Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27308", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27311.json b/repositories/neovim/pulls/27311.json new file mode 100644 index 00000000..71aca5f9 --- /dev/null +++ b/repositories/neovim/pulls/27311.json @@ -0,0 +1,397 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27311/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27311/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27311" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27311" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27311/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27311" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/4f75b0bdc0bcda990a41d7dd88919c92a46f5caa" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "be1d09c4272212ea9b354c900603568d238b4ab3", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "The syntax highlighter is likely to encourage people to use the listed commands.\r\n\r\nbut `use-embedded-filename` is a dangerous option that can cause GnuPG to write arbitrary data to arbitrary files whenever GnuPG encounters malicious data.\r\n\r\nGnuPG upstream explicitly warns against using this option:\r\n\r\nhttps://dev.gnupg.org/T4500\r\n\r\nI recommend that neovim not encourage users to place this option in their gpg.conf by highlighting it as a valid option.\r\n\r\nI've also asked GnuPG upstream to explicitly deprecate the option due to its hazardous nature:\r\n\r\nhttps://dev.gnupg.org/T6972", + "closed_at": "2024-02-02T22:04:32Z", + "comment_data": [], + "comment_regular_data": [ + { + "author_association": "MEMBER", + "body": "Thank you, but we don't maintain these files. Please contact the maintainer listed at the top of the file.", + "created_at": "2024-02-02T22:04:32Z", + "html_url": "https://github.com/neovim/neovim/pull/27311#issuecomment-1924770803", + "id": 1924770803, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27311", + "node_id": "IC_kwDOAPphoM5yuavz", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924770803/reactions" + }, + "updated_at": "2024-02-02T22:04:32Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1924770803", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27311/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27311/commits", + "created_at": "2024-02-02T22:03:22Z", + "diff_url": "https://github.com/neovim/neovim/pull/27311.diff", + "draft": false, + "head": { + "label": "dkg:syntax-drop-gpg-use-embedded-filename", + "ref": "syntax-drop-gpg-use-embedded-filename", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/dkg/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/dkg/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/dkg/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/dkg/neovim/branches{/branch}", + "clone_url": "https://github.com/dkg/neovim.git", + "collaborators_url": "https://api.github.com/repos/dkg/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/dkg/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/dkg/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/dkg/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/dkg/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/dkg/neovim/contributors", + "created_at": "2024-02-02T21:52:14Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/dkg/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/dkg/neovim/downloads", + "events_url": "https://api.github.com/repos/dkg/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/dkg/neovim/forks", + "full_name": "dkg/neovim", + "git_commits_url": "https://api.github.com/repos/dkg/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/dkg/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/dkg/neovim/git/tags{/sha}", + "git_url": "git://github.com/dkg/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/dkg/neovim/hooks", + "html_url": "https://github.com/dkg/neovim", + "id": 752038345, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/dkg/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/dkg/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/dkg/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/dkg/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/dkg/neovim/labels{/name}", + "language": null, + "languages_url": "https://api.github.com/repos/dkg/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/dkg/neovim/merges", + "milestones_url": "https://api.github.com/repos/dkg/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOLNMxyQ", + "notifications_url": "https://api.github.com/repos/dkg/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/66738?v=4", + "events_url": "https://api.github.com/users/dkg/events{/privacy}", + "followers_url": "https://api.github.com/users/dkg/followers", + "following_url": "https://api.github.com/users/dkg/following{/other_user}", + "gists_url": "https://api.github.com/users/dkg/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dkg", + "id": 66738, + "login": "dkg", + "node_id": "MDQ6VXNlcjY2NzM4", + "organizations_url": "https://api.github.com/users/dkg/orgs", + "received_events_url": "https://api.github.com/users/dkg/received_events", + "repos_url": "https://api.github.com/users/dkg/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dkg/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dkg/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dkg" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/dkg/neovim/pulls{/number}", + "pushed_at": "2024-02-02T22:03:06Z", + "releases_url": "https://api.github.com/repos/dkg/neovim/releases{/id}", + "size": 248083, + "ssh_url": "git@github.com:dkg/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/dkg/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/dkg/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/dkg/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/dkg/neovim/subscription", + "svn_url": "https://github.com/dkg/neovim", + "tags_url": "https://api.github.com/repos/dkg/neovim/tags", + "teams_url": "https://api.github.com/repos/dkg/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/dkg/neovim/git/trees{/sha}", + "updated_at": "2024-02-02T21:52:14Z", + "url": "https://api.github.com/repos/dkg/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "4f75b0bdc0bcda990a41d7dd88919c92a46f5caa", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/66738?v=4", + "events_url": "https://api.github.com/users/dkg/events{/privacy}", + "followers_url": "https://api.github.com/users/dkg/followers", + "following_url": "https://api.github.com/users/dkg/following{/other_user}", + "gists_url": "https://api.github.com/users/dkg/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dkg", + "id": 66738, + "login": "dkg", + "node_id": "MDQ6VXNlcjY2NzM4", + "organizations_url": "https://api.github.com/users/dkg/orgs", + "received_events_url": "https://api.github.com/users/dkg/received_events", + "repos_url": "https://api.github.com/users/dkg/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dkg/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dkg/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dkg" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27311", + "id": 1709310421, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27311", + "labels": [], + "locked": false, + "merge_commit_sha": "441ec6c6855aa397fde2ce96fadd976a82f38faf", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM5l4gHV", + "number": 27311, + "patch_url": "https://github.com/neovim/neovim/pull/27311.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27311/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/4f75b0bdc0bcda990a41d7dd88919c92a46f5caa", + "title": "syntax highlighter: gpg.conf: Drop dangerous use-embedded-filename", + "updated_at": "2024-02-02T22:04:32Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27311", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/66738?v=4", + "events_url": "https://api.github.com/users/dkg/events{/privacy}", + "followers_url": "https://api.github.com/users/dkg/followers", + "following_url": "https://api.github.com/users/dkg/following{/other_user}", + "gists_url": "https://api.github.com/users/dkg/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dkg", + "id": 66738, + "login": "dkg", + "node_id": "MDQ6VXNlcjY2NzM4", + "organizations_url": "https://api.github.com/users/dkg/orgs", + "received_events_url": "https://api.github.com/users/dkg/received_events", + "repos_url": "https://api.github.com/users/dkg/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dkg/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dkg/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dkg" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27314.json b/repositories/neovim/pulls/27314.json new file mode 100644 index 00000000..9856d483 --- /dev/null +++ b/repositories/neovim/pulls/27314.json @@ -0,0 +1,362 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27314/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27314/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27314" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27314" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27314/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27314" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/883c268f7b32290ad52c0a8dc195435dfb9d35a0" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "be1d09c4272212ea9b354c900603568d238b4ab3", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "#### vim-patch:9.0.1105: code is indented too much\n\nProblem: Code is indented too much.\nSolution: Use an early return. (Yegappan Lakshmanan, closes vim/vim#11756)\n\nhttps://github.com/vim/vim/commit/87c1cbbe984e60582f2536e4d3c2ce88cd474bb7\n\nOmit free_eval_tofree_later(): Vim9 script only.\n\nCo-authored-by: Yegappan Lakshmanan ", + "closed_at": "2024-02-03T01:42:04Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27314/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27314/commits", + "created_at": "2024-02-03T01:17:24Z", + "diff_url": "https://github.com/neovim/neovim/pull/27314.diff", + "draft": false, + "head": { + "label": "zeertzjq:vim-9.0.1105", + "ref": "vim-9.0.1105", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/zeertzjq/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/zeertzjq/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/zeertzjq/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/zeertzjq/neovim/branches{/branch}", + "clone_url": "https://github.com/zeertzjq/neovim.git", + "collaborators_url": "https://api.github.com/repos/zeertzjq/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/zeertzjq/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/zeertzjq/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/zeertzjq/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/zeertzjq/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/zeertzjq/neovim/contributors", + "created_at": "2021-09-27T02:22:45Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/zeertzjq/neovim/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/zeertzjq/neovim/downloads", + "events_url": "https://api.github.com/repos/zeertzjq/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/zeertzjq/neovim/forks", + "full_name": "zeertzjq/neovim", + "git_commits_url": "https://api.github.com/repos/zeertzjq/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/zeertzjq/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/zeertzjq/neovim/git/tags{/sha}", + "git_url": "git://github.com/zeertzjq/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/zeertzjq/neovim/hooks", + "html_url": "https://github.com/zeertzjq/neovim", + "id": 410715915, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/zeertzjq/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/zeertzjq/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/zeertzjq/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/zeertzjq/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/zeertzjq/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/zeertzjq/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/zeertzjq/neovim/merges", + "milestones_url": "https://api.github.com/repos/zeertzjq/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOGHsHCw", + "notifications_url": "https://api.github.com/repos/zeertzjq/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/zeertzjq/neovim/pulls{/number}", + "pushed_at": "2024-02-05T07:34:22Z", + "releases_url": "https://api.github.com/repos/zeertzjq/neovim/releases{/id}", + "size": 236183, + "ssh_url": "git@github.com:zeertzjq/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/zeertzjq/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/zeertzjq/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/zeertzjq/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/zeertzjq/neovim/subscription", + "svn_url": "https://github.com/zeertzjq/neovim", + "tags_url": "https://api.github.com/repos/zeertzjq/neovim/tags", + "teams_url": "https://api.github.com/repos/zeertzjq/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/zeertzjq/neovim/git/trees{/sha}", + "updated_at": "2023-02-18T11:19:39Z", + "url": "https://api.github.com/repos/zeertzjq/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "883c268f7b32290ad52c0a8dc195435dfb9d35a0", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27314", + "id": 1709520874, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27314", + "labels": [ + { + "color": "e6e6e6", + "default": false, + "description": "See https://github.com/neovim/neovim/wiki/Merging-patches-from-upstream-Vim", + "id": 843184430, + "name": "vim-patch", + "node_id": "MDU6TGFiZWw4NDMxODQ0MzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/vim-patch" + } + ], + "locked": false, + "merge_commit_sha": "1f40b4e22232f22551a9ae89a9f8d59b5ba0c0b6", + "merged_at": "2024-02-03T01:42:04Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5l5Tfq", + "number": 27314, + "patch_url": "https://github.com/neovim/neovim/pull/27314.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27314/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/883c268f7b32290ad52c0a8dc195435dfb9d35a0", + "title": "vim-patch:9.0.1105: code is indented too much", + "updated_at": "2024-02-03T01:42:18Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27314", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27315.json b/repositories/neovim/pulls/27315.json new file mode 100644 index 00000000..0ba3c9df --- /dev/null +++ b/repositories/neovim/pulls/27315.json @@ -0,0 +1,362 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27315/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27315/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27315" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27315" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27315/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27315" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/10394ed1e791610c312aa8a3555f59d16c41a632" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "1f40b4e22232f22551a9ae89a9f8d59b5ba0c0b6", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "#### vim-patch:partial:9.0.1196: code is indented more than necessary\n\nProblem: Code is indented more than necessary.\nSolution: Use an early return where it makes sense. (Yegappan Lakshmanan,\n closes vim/vim#11813)\n\nhttps://github.com/vim/vim/commit/e8575988969579f9e1439181ae338b2ff74054a8\n\nSkip list_alloc_with_items().\n\nCo-authored-by: Yegappan Lakshmanan ", + "closed_at": "2024-02-03T02:22:12Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27315/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27315/commits", + "created_at": "2024-02-03T02:06:54Z", + "diff_url": "https://github.com/neovim/neovim/pull/27315.diff", + "draft": false, + "head": { + "label": "zeertzjq:vim-9.0.1196", + "ref": "vim-9.0.1196", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/zeertzjq/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/zeertzjq/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/zeertzjq/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/zeertzjq/neovim/branches{/branch}", + "clone_url": "https://github.com/zeertzjq/neovim.git", + "collaborators_url": "https://api.github.com/repos/zeertzjq/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/zeertzjq/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/zeertzjq/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/zeertzjq/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/zeertzjq/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/zeertzjq/neovim/contributors", + "created_at": "2021-09-27T02:22:45Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/zeertzjq/neovim/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/zeertzjq/neovim/downloads", + "events_url": "https://api.github.com/repos/zeertzjq/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/zeertzjq/neovim/forks", + "full_name": "zeertzjq/neovim", + "git_commits_url": "https://api.github.com/repos/zeertzjq/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/zeertzjq/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/zeertzjq/neovim/git/tags{/sha}", + "git_url": "git://github.com/zeertzjq/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/zeertzjq/neovim/hooks", + "html_url": "https://github.com/zeertzjq/neovim", + "id": 410715915, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/zeertzjq/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/zeertzjq/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/zeertzjq/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/zeertzjq/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/zeertzjq/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/zeertzjq/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/zeertzjq/neovim/merges", + "milestones_url": "https://api.github.com/repos/zeertzjq/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOGHsHCw", + "notifications_url": "https://api.github.com/repos/zeertzjq/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/zeertzjq/neovim/pulls{/number}", + "pushed_at": "2024-02-05T07:34:22Z", + "releases_url": "https://api.github.com/repos/zeertzjq/neovim/releases{/id}", + "size": 236183, + "ssh_url": "git@github.com:zeertzjq/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/zeertzjq/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/zeertzjq/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/zeertzjq/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/zeertzjq/neovim/subscription", + "svn_url": "https://github.com/zeertzjq/neovim", + "tags_url": "https://api.github.com/repos/zeertzjq/neovim/tags", + "teams_url": "https://api.github.com/repos/zeertzjq/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/zeertzjq/neovim/git/trees{/sha}", + "updated_at": "2023-02-18T11:19:39Z", + "url": "https://api.github.com/repos/zeertzjq/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "10394ed1e791610c312aa8a3555f59d16c41a632", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27315", + "id": 1709536189, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27315", + "labels": [ + { + "color": "e6e6e6", + "default": false, + "description": "See https://github.com/neovim/neovim/wiki/Merging-patches-from-upstream-Vim", + "id": 843184430, + "name": "vim-patch", + "node_id": "MDU6TGFiZWw4NDMxODQ0MzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/vim-patch" + } + ], + "locked": false, + "merge_commit_sha": "9ab9cde2ca7b917a894068698ef2fec3a851fdd5", + "merged_at": "2024-02-03T02:22:12Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5l5XO9", + "number": 27315, + "patch_url": "https://github.com/neovim/neovim/pull/27315.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27315/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/10394ed1e791610c312aa8a3555f59d16c41a632", + "title": "vim-patch:partial:9.0.1196: code is indented more than necessary", + "updated_at": "2024-02-03T02:22:25Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27315", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27316.json b/repositories/neovim/pulls/27316.json new file mode 100644 index 00000000..3a149be8 --- /dev/null +++ b/repositories/neovim/pulls/27316.json @@ -0,0 +1,352 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27316/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27316/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27316" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27316" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27316/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27316" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/b509ea401f9db6de40cedef7db9ed38dcebaa5e8" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "9ab9cde2ca7b917a894068698ef2fec3a851fdd5", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Fix #25068\n", + "closed_at": "2024-02-03T03:05:39Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27316/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27316/commits", + "created_at": "2024-02-03T02:27:44Z", + "diff_url": "https://github.com/neovim/neovim/pull/27316.diff", + "draft": false, + "head": { + "label": "zeertzjq:simplify-mod", + "ref": "simplify-mod", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/zeertzjq/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/zeertzjq/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/zeertzjq/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/zeertzjq/neovim/branches{/branch}", + "clone_url": "https://github.com/zeertzjq/neovim.git", + "collaborators_url": "https://api.github.com/repos/zeertzjq/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/zeertzjq/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/zeertzjq/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/zeertzjq/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/zeertzjq/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/zeertzjq/neovim/contributors", + "created_at": "2021-09-27T02:22:45Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/zeertzjq/neovim/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/zeertzjq/neovim/downloads", + "events_url": "https://api.github.com/repos/zeertzjq/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/zeertzjq/neovim/forks", + "full_name": "zeertzjq/neovim", + "git_commits_url": "https://api.github.com/repos/zeertzjq/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/zeertzjq/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/zeertzjq/neovim/git/tags{/sha}", + "git_url": "git://github.com/zeertzjq/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/zeertzjq/neovim/hooks", + "html_url": "https://github.com/zeertzjq/neovim", + "id": 410715915, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/zeertzjq/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/zeertzjq/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/zeertzjq/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/zeertzjq/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/zeertzjq/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/zeertzjq/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/zeertzjq/neovim/merges", + "milestones_url": "https://api.github.com/repos/zeertzjq/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOGHsHCw", + "notifications_url": "https://api.github.com/repos/zeertzjq/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/zeertzjq/neovim/pulls{/number}", + "pushed_at": "2024-02-05T07:34:22Z", + "releases_url": "https://api.github.com/repos/zeertzjq/neovim/releases{/id}", + "size": 236183, + "ssh_url": "git@github.com:zeertzjq/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/zeertzjq/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/zeertzjq/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/zeertzjq/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/zeertzjq/neovim/subscription", + "svn_url": "https://github.com/zeertzjq/neovim", + "tags_url": "https://api.github.com/repos/zeertzjq/neovim/tags", + "teams_url": "https://api.github.com/repos/zeertzjq/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/zeertzjq/neovim/git/trees{/sha}", + "updated_at": "2023-02-18T11:19:39Z", + "url": "https://api.github.com/repos/zeertzjq/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "b509ea401f9db6de40cedef7db9ed38dcebaa5e8", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27316", + "id": 1709542678, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27316", + "labels": [], + "locked": false, + "merge_commit_sha": "6709f7f8f130377f44c36b2150a167a2afcbdff9", + "merged_at": "2024-02-03T03:05:38Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5l5Y0W", + "number": 27316, + "patch_url": "https://github.com/neovim/neovim/pull/27316.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27316/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/b509ea401f9db6de40cedef7db9ed38dcebaa5e8", + "title": "fix(keycodes): simplify S- properly when D- is present", + "updated_at": "2024-02-03T03:05:40Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27316", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27317.json b/repositories/neovim/pulls/27317.json new file mode 100644 index 00000000..65734e5f --- /dev/null +++ b/repositories/neovim/pulls/27317.json @@ -0,0 +1,407 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27317/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27317/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27317" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27317" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27317/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27317" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/1871ec87fc4d194c751ce052d6abd60760af83e0" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "6709f7f8f130377f44c36b2150a167a2afcbdff9", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": null, + "closed_at": "2024-02-03T22:28:51Z", + "comment_data": [], + "comment_regular_data": [ + { + "author_association": "MEMBER", + "body": "Difference in generated tables:\r\n```diff\r\n--- a/build/src/nvim/auto/unicode_tables.generated.h\r\n+++ b/build/src/nvim/auto/unicode_tables.generated.h\r\n@@ -848,8 +848,10 @@ static const convertStruct foldCase[] = {\r\n {0x1fbe, 0x1fbe, -1, -7173},\r\n {0x1fc8, 0x1fcb, 1, -86},\r\n {0x1fcc, 0x1fcc, -1, -9},\r\n+ {0x1fd3, 0x1fd3, -1, -7235},\r\n {0x1fd8, 0x1fd9, 1, -8},\r\n {0x1fda, 0x1fdb, 1, -100},\r\n+ {0x1fe3, 0x1fe3, -1, -7219},\r\n {0x1fe8, 0x1fe9, 1, -8},\r\n {0x1fea, 0x1feb, 1, -112},\r\n {0x1fec, 0x1fec, -1, -7},\r\n@@ -906,6 +908,7 @@ static const convertStruct foldCase[] = {\r\n {0xa7d0, 0xa7d6, 6, 1},\r\n {0xa7d8, 0xa7f5, 29, 1},\r\n {0xab70, 0xabbf, 1, -38864},\r\n+ {0xfb05, 0xfb05, -1, 1},\r\n {0xff21, 0xff3a, 1, 32},\r\n {0x10400, 0x10427, 1, 40},\r\n {0x104b0, 0x104d3, 1, 40},\r\n@@ -957,14 +960,13 @@ static const struct interval doublewidth[] = {\r\n {0x2e80, 0x2e99},\r\n {0x2e9b, 0x2ef3},\r\n {0x2f00, 0x2fd5},\r\n- {0x2ff0, 0x2ffb},\r\n- {0x3000, 0x303e},\r\n+ {0x2ff0, 0x303e},\r\n {0x3041, 0x3096},\r\n {0x3099, 0x30ff},\r\n {0x3105, 0x312f},\r\n {0x3131, 0x318e},\r\n {0x3190, 0x31e3},\r\n- {0x31f0, 0x321e},\r\n+ {0x31ef, 0x321e},\r\n {0x3220, 0x3247},\r\n {0x3250, 0x4dbf},\r\n {0x4e00, 0xa48c},\r\n```", + "created_at": "2024-02-03T03:45:51Z", + "html_url": "https://github.com/neovim/neovim/pull/27317#issuecomment-1925046143", + "id": 1925046143, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27317", + "node_id": "IC_kwDOAPphoM5yvd9_", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925046143/reactions" + }, + "updated_at": "2024-02-03T03:45:51Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925046143", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27317/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27317/commits", + "created_at": "2024-02-03T03:31:58Z", + "diff_url": "https://github.com/neovim/neovim/pull/27317.diff", + "draft": false, + "head": { + "label": "zeertzjq:unicode-update", + "ref": "unicode-update", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/zeertzjq/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/zeertzjq/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/zeertzjq/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/zeertzjq/neovim/branches{/branch}", + "clone_url": "https://github.com/zeertzjq/neovim.git", + "collaborators_url": "https://api.github.com/repos/zeertzjq/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/zeertzjq/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/zeertzjq/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/zeertzjq/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/zeertzjq/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/zeertzjq/neovim/contributors", + "created_at": "2021-09-27T02:22:45Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/zeertzjq/neovim/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/zeertzjq/neovim/downloads", + "events_url": "https://api.github.com/repos/zeertzjq/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/zeertzjq/neovim/forks", + "full_name": "zeertzjq/neovim", + "git_commits_url": "https://api.github.com/repos/zeertzjq/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/zeertzjq/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/zeertzjq/neovim/git/tags{/sha}", + "git_url": "git://github.com/zeertzjq/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/zeertzjq/neovim/hooks", + "html_url": "https://github.com/zeertzjq/neovim", + "id": 410715915, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/zeertzjq/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/zeertzjq/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/zeertzjq/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/zeertzjq/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/zeertzjq/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/zeertzjq/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/zeertzjq/neovim/merges", + "milestones_url": "https://api.github.com/repos/zeertzjq/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOGHsHCw", + "notifications_url": "https://api.github.com/repos/zeertzjq/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/zeertzjq/neovim/pulls{/number}", + "pushed_at": "2024-02-05T07:34:22Z", + "releases_url": "https://api.github.com/repos/zeertzjq/neovim/releases{/id}", + "size": 236183, + "ssh_url": "git@github.com:zeertzjq/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/zeertzjq/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/zeertzjq/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/zeertzjq/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/zeertzjq/neovim/subscription", + "svn_url": "https://github.com/zeertzjq/neovim", + "tags_url": "https://api.github.com/repos/zeertzjq/neovim/tags", + "teams_url": "https://api.github.com/repos/zeertzjq/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/zeertzjq/neovim/git/trees{/sha}", + "updated_at": "2023-02-18T11:19:39Z", + "url": "https://api.github.com/repos/zeertzjq/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "1871ec87fc4d194c751ce052d6abd60760af83e0", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27317", + "id": 1709563388, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27317", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "(multibyte) unicode characters", + "id": 2882115256, + "name": "unicode 💩", + "node_id": "MDU6TGFiZWwyODgyMTE1MjU2", + "url": "https://api.github.com/repos/neovim/neovim/labels/unicode%20%20%F0%9F%92%A9" + } + ], + "locked": false, + "merge_commit_sha": "c559ab0ae6bebd565862dd28b39947a07766846d", + "merged_at": "2024-02-03T22:28:51Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5l5d38", + "number": 27317, + "patch_url": "https://github.com/neovim/neovim/pull/27317.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27317/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/1871ec87fc4d194c751ce052d6abd60760af83e0", + "title": "feat: update unicode tables", + "updated_at": "2024-02-03T22:28:53Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27317", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27319.json b/repositories/neovim/pulls/27319.json new file mode 100644 index 00000000..56f73844 --- /dev/null +++ b/repositories/neovim/pulls/27319.json @@ -0,0 +1,635 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27319/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27319/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27319" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27319" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27319/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27319" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/8f7f93309ad7438018c77e836985112552b41c07" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "6709f7f8f130377f44c36b2150a167a2afcbdff9", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Problem: initial xmalloc usage led to excess memory allocations.\r\nSolution: switched to xrealloc to adjust memory as needed, minimizing allocations.", + "closed_at": "2024-02-03T07:29:05Z", + "comment_data": [ + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27319#discussion_r1476995014" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27319" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1476995014" + } + }, + "author_association": "MEMBER", + "body": "It may be even faster if you use `utf_ptr2CharInfo()`.", + "commit_id": "8f7f93309ad7438018c77e836985112552b41c07", + "created_at": "2024-02-03T06:43:18Z", + "diff_hunk": "@@ -335,36 +335,42 @@ void vim_strup(char *p)\n char *strcase_save(const char *const orig, bool upper)\n FUNC_ATTR_NONNULL_RET FUNC_ATTR_MALLOC FUNC_ATTR_NONNULL_ALL\n {\n- char *res = xstrdup(orig);\n+ // Calculate the initial length and allocate memory for the result\n+ size_t orig_len = strlen(orig);\n+ // +1 for the null terminator\n+ char *res = xmalloc(orig_len + 1);\n+ // Index in the result string\n+ size_t res_index = 0;\n+ // Current position in the original string\n+ const char *p = orig;\n \n- char *p = res;\n while (*p != NUL) {\n int c = utf_ptr2char(p);\n- int l = utf_ptr2len(p);\n- if (c == 0) {\n- // overlong sequence, use only the first byte\n- c = (uint8_t)(*p);\n- l = 1;\n- }\n+ // Cast to size_t to avoid mixing types in arithmetic\n+ size_t l = (size_t)utf_ptr2len(p);", + "html_url": "https://github.com/neovim/neovim/pull/27319#discussion_r1476995014", + "id": 1476995014, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YCSfG", + "original_commit_id": "d912e4fcc7f8de30014040de78803bea956139a1", + "original_line": 350, + "original_position": 24, + "original_start_line": 348, + "path": "src/nvim/strings.c", + "position": null, + "pull_request_review_id": 1860886585, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27319", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1476995014/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-03T06:43:18Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1476995014", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27319#discussion_r1476999483" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27319" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1476999483" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n int c = char_info.value < 0 ? (uint8_t)(*p) : char_info.value;\r\n int uc = upper ? mb_toupper(c) : mb_tolower(c);\r\n```", + "commit_id": "8f7f93309ad7438018c77e836985112552b41c07", + "created_at": "2024-02-03T06:59:09Z", + "diff_hunk": "@@ -335,36 +335,40 @@ void vim_strup(char *p)\n char *strcase_save(const char *const orig, bool upper)\n FUNC_ATTR_NONNULL_RET FUNC_ATTR_MALLOC FUNC_ATTR_NONNULL_ALL\n {\n- char *res = xstrdup(orig);\n+ // Calculate the initial length and allocate memory for the result\n+ size_t orig_len = strlen(orig);\n+ // +1 for the null terminator\n+ char *res = xmalloc(orig_len + 1);\n+ // Index in the result string\n+ size_t res_index = 0;\n+ // Current position in the original string\n+ const char *p = orig;\n \n- char *p = res;\n while (*p != NUL) {\n- int c = utf_ptr2char(p);\n- int l = utf_ptr2len(p);\n- if (c == 0) {\n- // overlong sequence, use only the first byte\n- c = (uint8_t)(*p);\n- l = 1;\n- }\n- int uc = upper ? mb_toupper(c) : mb_tolower(c);\n-\n- // Reallocate string when byte count changes. This is rare,\n- // thus it's OK to do another malloc()/free().\n- int newl = utf_char2len(uc);\n- if (newl != l) {\n- // TODO(philix): use xrealloc() in strcase_save()\n- char *s = xmalloc(strlen(res) + (size_t)(1 + newl - l));\n- memcpy(s, res, (size_t)(p - res));\n- STRCPY(s + (p - res) + newl, p + l);\n- p = s + (p - res);\n- xfree(res);\n- res = s;\n- }\n-\n- utf_char2bytes(uc, p);\n- p += newl;\n- }\n-\n+ CharInfo char_info = utf_ptr2CharInfo(p);\n+ int uc = upper ? mb_toupper(char_info.value) : mb_tolower(char_info.value);", + "html_url": "https://github.com/neovim/neovim/pull/27319#discussion_r1476999483", + "id": 1476999483, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YCTk7", + "original_commit_id": "08d2acfb96d7fee35999cb06f7bb01f90f0e27bb", + "original_line": 349, + "original_position": 43, + "original_start_line": null, + "path": "src/nvim/strings.c", + "position": null, + "pull_request_review_id": 1860900757, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27319", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1476999483/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-03T06:59:09Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1476999483", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27319#discussion_r1477000268" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27319" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477000268" + } + }, + "author_association": "MEMBER", + "body": "The reason is now missing\r\n```suggestion\r\n // Cast to size_t to avoid mixing types in arithmetic\r\n```", + "commit_id": "8f7f93309ad7438018c77e836985112552b41c07", + "created_at": "2024-02-03T07:00:30Z", + "diff_hunk": "@@ -335,36 +335,40 @@ void vim_strup(char *p)\n char *strcase_save(const char *const orig, bool upper)\n FUNC_ATTR_NONNULL_RET FUNC_ATTR_MALLOC FUNC_ATTR_NONNULL_ALL\n {\n- char *res = xstrdup(orig);\n+ // Calculate the initial length and allocate memory for the result\n+ size_t orig_len = strlen(orig);\n+ // +1 for the null terminator\n+ char *res = xmalloc(orig_len + 1);\n+ // Index in the result string\n+ size_t res_index = 0;\n+ // Current position in the original string\n+ const char *p = orig;\n \n- char *p = res;\n while (*p != NUL) {\n- int c = utf_ptr2char(p);\n- int l = utf_ptr2len(p);\n- if (c == 0) {\n- // overlong sequence, use only the first byte\n- c = (uint8_t)(*p);\n- l = 1;\n- }\n- int uc = upper ? mb_toupper(c) : mb_tolower(c);\n-\n- // Reallocate string when byte count changes. This is rare,\n- // thus it's OK to do another malloc()/free().\n- int newl = utf_char2len(uc);\n- if (newl != l) {\n- // TODO(philix): use xrealloc() in strcase_save()\n- char *s = xmalloc(strlen(res) + (size_t)(1 + newl - l));\n- memcpy(s, res, (size_t)(p - res));\n- STRCPY(s + (p - res) + newl, p + l);\n- p = s + (p - res);\n- xfree(res);\n- res = s;\n- }\n-\n- utf_char2bytes(uc, p);\n- p += newl;\n- }\n-\n+ CharInfo char_info = utf_ptr2CharInfo(p);\n+ int uc = upper ? mb_toupper(char_info.value) : mb_tolower(char_info.value);\n+ // Cast to size_t for the same reason", + "html_url": "https://github.com/neovim/neovim/pull/27319#discussion_r1477000268", + "id": 1477000268, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YCTxM", + "original_commit_id": "08d2acfb96d7fee35999cb06f7bb01f90f0e27bb", + "original_line": 351, + "original_position": 44, + "original_start_line": null, + "path": "src/nvim/strings.c", + "position": null, + "pull_request_review_id": 1860903302, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27319", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477000268/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-03T07:00:30Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477000268", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27319#discussion_r1477002098" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27319" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477002098" + } + }, + "author_association": "MEMBER", + "body": "I think this is better named `newc` as `u` meant \"upper\", and this functions is used for both \"upper\" and \"lower\".", + "commit_id": "8f7f93309ad7438018c77e836985112552b41c07", + "created_at": "2024-02-03T07:11:59Z", + "diff_hunk": "@@ -335,36 +335,41 @@ void vim_strup(char *p)\n char *strcase_save(const char *const orig, bool upper)\n FUNC_ATTR_NONNULL_RET FUNC_ATTR_MALLOC FUNC_ATTR_NONNULL_ALL\n {\n- char *res = xstrdup(orig);\n+ // Calculate the initial length and allocate memory for the result\n+ size_t orig_len = strlen(orig);\n+ // +1 for the null terminator\n+ char *res = xmalloc(orig_len + 1);\n+ // Index in the result string\n+ size_t res_index = 0;\n+ // Current position in the original string\n+ const char *p = orig;\n \n- char *p = res;\n while (*p != NUL) {\n- int c = utf_ptr2char(p);\n- int l = utf_ptr2len(p);\n- if (c == 0) {\n- // overlong sequence, use only the first byte\n- c = (uint8_t)(*p);\n- l = 1;\n- }\n+ CharInfo char_info = utf_ptr2CharInfo(p);\n+ int c = char_info.value < 0 ? (uint8_t)(*p) : char_info.value;\n int uc = upper ? mb_toupper(c) : mb_tolower(c);", + "html_url": "https://github.com/neovim/neovim/pull/27319#discussion_r1477002098", + "id": 1477002098, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YCUNy", + "original_commit_id": "3c5d2813fc5006f5af8a3394135774aa41fd9fd3", + "original_line": 350, + "original_position": 25, + "original_start_line": null, + "path": "src/nvim/strings.c", + "position": null, + "pull_request_review_id": 1860909050, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27319", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477002098/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-03T07:13:04Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477002098", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + } + ], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27319/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27319/commits", + "created_at": "2024-02-03T06:27:33Z", + "diff_url": "https://github.com/neovim/neovim/pull/27319.diff", + "draft": false, + "head": { + "label": "glepnir:strcase_relloc", + "ref": "strcase_relloc", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/glepnir/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/glepnir/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/glepnir/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/glepnir/neovim/branches{/branch}", + "clone_url": "https://github.com/glepnir/neovim.git", + "collaborators_url": "https://api.github.com/repos/glepnir/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/glepnir/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/glepnir/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/glepnir/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/glepnir/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/glepnir/neovim/contributors", + "created_at": "2022-07-17T05:15:58Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/glepnir/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/glepnir/neovim/downloads", + "events_url": "https://api.github.com/repos/glepnir/neovim/events", + "fork": true, + "forks": 1, + "forks_count": 1, + "forks_url": "https://api.github.com/repos/glepnir/neovim/forks", + "full_name": "glepnir/neovim", + "git_commits_url": "https://api.github.com/repos/glepnir/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/glepnir/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/glepnir/neovim/git/tags{/sha}", + "git_url": "git://github.com/glepnir/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/glepnir/neovim/hooks", + "html_url": "https://github.com/glepnir/neovim", + "id": 514752985, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/glepnir/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/glepnir/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/glepnir/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/glepnir/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/glepnir/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/glepnir/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/glepnir/neovim/merges", + "milestones_url": "https://api.github.com/repos/glepnir/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOHq6B2Q", + "notifications_url": "https://api.github.com/repos/glepnir/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/glepnir/neovim/pulls{/number}", + "pushed_at": "2024-02-05T12:00:25Z", + "releases_url": "https://api.github.com/repos/glepnir/neovim/releases{/id}", + "size": 248354, + "ssh_url": "git@github.com:glepnir/neovim.git", + "stargazers_count": 2, + "stargazers_url": "https://api.github.com/repos/glepnir/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/glepnir/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/glepnir/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/glepnir/neovim/subscription", + "svn_url": "https://github.com/glepnir/neovim", + "tags_url": "https://api.github.com/repos/glepnir/neovim/tags", + "teams_url": "https://api.github.com/repos/glepnir/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/glepnir/neovim/git/trees{/sha}", + "updated_at": "2024-01-02T10:35:44Z", + "url": "https://api.github.com/repos/glepnir/neovim", + "visibility": "public", + "watchers": 2, + "watchers_count": 2, + "web_commit_signoff_required": false + }, + "sha": "8f7f93309ad7438018c77e836985112552b41c07", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27319", + "id": 1709686827, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27319", + "labels": [ + { + "color": "C5DEF5", + "default": false, + "description": "changes that are not features or bugfixes", + "id": 106949155, + "name": "refactor", + "node_id": "MDU6TGFiZWwxMDY5NDkxNTU=", + "url": "https://api.github.com/repos/neovim/neovim/labels/refactor" + } + ], + "locked": false, + "merge_commit_sha": "51702e0aea99fddba74e299e2640dd350a348df3", + "merged_at": "2024-02-03T07:29:05Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5l58Ar", + "number": 27319, + "patch_url": "https://github.com/neovim/neovim/pull/27319.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27319/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/8f7f93309ad7438018c77e836985112552b41c07", + "title": "refactor(strcase_save): optimize memory allocation", + "updated_at": "2024-02-03T07:37:00Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27319", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27321.json b/repositories/neovim/pulls/27321.json new file mode 100644 index 00000000..6668c988 --- /dev/null +++ b/repositories/neovim/pulls/27321.json @@ -0,0 +1,403 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27321/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27321/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27321" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27321" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27321/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27321" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/70164be768a6ad39f0b01379aae7020cc4667b1c" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "FIRST_TIME_CONTRIBUTOR", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "d184933cdc70edf298eb0a84fdfbc78bb717746b", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "closes #21291\r\n\r\nHi first time doing this. I tried to follow the guidelines. I hope documentation and testing is good enough.\r\n\r\nFor testing I tried to follow `nvim_get_api_info()` but i did not find unit tests on this. I figured changing some of the `nvim_get_api_info()[1]` should be good enough for such a simple change.\r\n\r\nThanks for the feedback.\r\n ", + "closed_at": null, + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27321/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27321/commits", + "created_at": "2024-02-03T13:05:15Z", + "diff_url": "https://github.com/neovim/neovim/pull/27321.diff", + "draft": false, + "head": { + "label": "nikolightsaber:get_chan_id", + "ref": "get_chan_id", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/nikolightsaber/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/nikolightsaber/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/nikolightsaber/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/nikolightsaber/neovim/branches{/branch}", + "clone_url": "https://github.com/nikolightsaber/neovim.git", + "collaborators_url": "https://api.github.com/repos/nikolightsaber/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/nikolightsaber/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/nikolightsaber/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/nikolightsaber/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/nikolightsaber/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/nikolightsaber/neovim/contributors", + "created_at": "2024-02-03T12:53:19Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/nikolightsaber/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/nikolightsaber/neovim/downloads", + "events_url": "https://api.github.com/repos/nikolightsaber/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/nikolightsaber/neovim/forks", + "full_name": "nikolightsaber/neovim", + "git_commits_url": "https://api.github.com/repos/nikolightsaber/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/nikolightsaber/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/nikolightsaber/neovim/git/tags{/sha}", + "git_url": "git://github.com/nikolightsaber/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/nikolightsaber/neovim/hooks", + "html_url": "https://github.com/nikolightsaber/neovim", + "id": 752238658, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/nikolightsaber/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/nikolightsaber/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/nikolightsaber/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/nikolightsaber/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/nikolightsaber/neovim/labels{/name}", + "language": null, + "languages_url": "https://api.github.com/repos/nikolightsaber/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/nikolightsaber/neovim/merges", + "milestones_url": "https://api.github.com/repos/nikolightsaber/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOLNZAQg", + "notifications_url": "https://api.github.com/repos/nikolightsaber/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/103886134?v=4", + "events_url": "https://api.github.com/users/nikolightsaber/events{/privacy}", + "followers_url": "https://api.github.com/users/nikolightsaber/followers", + "following_url": "https://api.github.com/users/nikolightsaber/following{/other_user}", + "gists_url": "https://api.github.com/users/nikolightsaber/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/nikolightsaber", + "id": 103886134, + "login": "nikolightsaber", + "node_id": "U_kgDOBjEtNg", + "organizations_url": "https://api.github.com/users/nikolightsaber/orgs", + "received_events_url": "https://api.github.com/users/nikolightsaber/received_events", + "repos_url": "https://api.github.com/users/nikolightsaber/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/nikolightsaber/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/nikolightsaber/subscriptions", + "type": "User", + "url": "https://api.github.com/users/nikolightsaber" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/nikolightsaber/neovim/pulls{/number}", + "pushed_at": "2024-02-05T09:29:36Z", + "releases_url": "https://api.github.com/repos/nikolightsaber/neovim/releases{/id}", + "size": 245967, + "ssh_url": "git@github.com:nikolightsaber/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/nikolightsaber/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/nikolightsaber/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/nikolightsaber/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/nikolightsaber/neovim/subscription", + "svn_url": "https://github.com/nikolightsaber/neovim", + "tags_url": "https://api.github.com/repos/nikolightsaber/neovim/tags", + "teams_url": "https://api.github.com/repos/nikolightsaber/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/nikolightsaber/neovim/git/trees{/sha}", + "updated_at": "2024-02-03T12:53:19Z", + "url": "https://api.github.com/repos/nikolightsaber/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "70164be768a6ad39f0b01379aae7020cc4667b1c", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/103886134?v=4", + "events_url": "https://api.github.com/users/nikolightsaber/events{/privacy}", + "followers_url": "https://api.github.com/users/nikolightsaber/followers", + "following_url": "https://api.github.com/users/nikolightsaber/following{/other_user}", + "gists_url": "https://api.github.com/users/nikolightsaber/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/nikolightsaber", + "id": 103886134, + "login": "nikolightsaber", + "node_id": "U_kgDOBjEtNg", + "organizations_url": "https://api.github.com/users/nikolightsaber/orgs", + "received_events_url": "https://api.github.com/users/nikolightsaber/received_events", + "repos_url": "https://api.github.com/users/nikolightsaber/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/nikolightsaber/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/nikolightsaber/subscriptions", + "type": "User", + "url": "https://api.github.com/users/nikolightsaber" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27321", + "id": 1709851326, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27321", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "libnvim, Nvim RPC API", + "id": 103819671, + "name": "api", + "node_id": "MDU6TGFiZWwxMDM4MTk2NzE=", + "url": "https://api.github.com/repos/neovim/neovim/labels/api" + } + ], + "locked": false, + "merge_commit_sha": "ffa6439955648e325cf579102d210d541798960e", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM5l6kK-", + "number": 27321, + "patch_url": "https://github.com/neovim/neovim/pull/27321.patch", + "requested_reviewers": [ + { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + { + "avatar_url": "https://avatars.githubusercontent.com/u/29580810?v=4", + "events_url": "https://api.github.com/users/famiu/events{/privacy}", + "followers_url": "https://api.github.com/users/famiu/followers", + "following_url": "https://api.github.com/users/famiu/following{/other_user}", + "gists_url": "https://api.github.com/users/famiu/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/famiu", + "id": 29580810, + "login": "famiu", + "node_id": "MDQ6VXNlcjI5NTgwODEw", + "organizations_url": "https://api.github.com/users/famiu/orgs", + "received_events_url": "https://api.github.com/users/famiu/received_events", + "repos_url": "https://api.github.com/users/famiu/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/famiu/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/famiu/subscriptions", + "type": "User", + "url": "https://api.github.com/users/famiu" + } + ], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27321/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/70164be768a6ad39f0b01379aae7020cc4667b1c", + "title": "feat(api): add nvim_get_chan_id", + "updated_at": "2024-02-05T09:29:37Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27321", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/103886134?v=4", + "events_url": "https://api.github.com/users/nikolightsaber/events{/privacy}", + "followers_url": "https://api.github.com/users/nikolightsaber/followers", + "following_url": "https://api.github.com/users/nikolightsaber/following{/other_user}", + "gists_url": "https://api.github.com/users/nikolightsaber/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/nikolightsaber", + "id": 103886134, + "login": "nikolightsaber", + "node_id": "U_kgDOBjEtNg", + "organizations_url": "https://api.github.com/users/nikolightsaber/orgs", + "received_events_url": "https://api.github.com/users/nikolightsaber/received_events", + "repos_url": "https://api.github.com/users/nikolightsaber/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/nikolightsaber/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/nikolightsaber/subscriptions", + "type": "User", + "url": "https://api.github.com/users/nikolightsaber" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27322.json b/repositories/neovim/pulls/27322.json new file mode 100644 index 00000000..06845303 --- /dev/null +++ b/repositories/neovim/pulls/27322.json @@ -0,0 +1,627 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27322/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27322/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27322" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27322" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27322/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27322" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/12a0a36db6d02a2d5046e8b3dd03fb8af411667f" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "2e982f1aad9f1a03562b7a451d642f76b04c37cb", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Resolves #27004", + "closed_at": "2024-02-03T17:14:29Z", + "comment_data": [], + "comment_regular_data": [ + { + "author_association": "NONE", + "body": "@wookayin I can see your reaction being confused... it is my first time working on Neovim code.. can you please explain to me what you find unexpected? \r\n\r\nI'm glad of getting any feedback.. That's in fact the purpose of pushing a draft pull request ASAP..", + "created_at": "2024-02-03T16:20:51Z", + "html_url": "https://github.com/neovim/neovim/pull/27322#issuecomment-1925373338", + "id": 1925373338, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27322", + "node_id": "IC_kwDOAPphoM5ywt2a", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925373338/reactions" + }, + "updated_at": "2024-02-03T16:20:51Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925373338", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1685489?v=4", + "events_url": "https://api.github.com/users/dsaenztagarro/events{/privacy}", + "followers_url": "https://api.github.com/users/dsaenztagarro/followers", + "following_url": "https://api.github.com/users/dsaenztagarro/following{/other_user}", + "gists_url": "https://api.github.com/users/dsaenztagarro/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dsaenztagarro", + "id": 1685489, + "login": "dsaenztagarro", + "node_id": "MDQ6VXNlcjE2ODU0ODk=", + "organizations_url": "https://api.github.com/users/dsaenztagarro/orgs", + "received_events_url": "https://api.github.com/users/dsaenztagarro/received_events", + "repos_url": "https://api.github.com/users/dsaenztagarro/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dsaenztagarro/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dsaenztagarro/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dsaenztagarro" + } + }, + { + "author_association": "MEMBER", + "body": "I can't speak for wookayin, but right now your PR isn't doing _anything_ meaningful. You might not be aware that maintainers get notified on every single force-push, so \"doing this live\" is _very_ noisy. The convention is to open a (draft) PR only when you have a MVP done that at least _should_ resolve the basic issue (or if you get stuck and need feedback on specific code).\r\n\r\nI'm not sure this is actually the best issue to pick as a first contributions, as the test framework (especially unit tests) takes some getting used to.", + "created_at": "2024-02-03T16:45:08Z", + "html_url": "https://github.com/neovim/neovim/pull/27322#issuecomment-1925391925", + "id": 1925391925, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27322", + "node_id": "IC_kwDOAPphoM5ywyY1", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925391925/reactions" + }, + "updated_at": "2024-02-03T16:45:08Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925391925", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "MEMBER", + "body": "> The convention is to open a (draft) PR only when you have a MVP done that at least should resolve the basic issue\n\nHmm, not to start an unrelated discussion but I don't think this is at all obvious from the CONTRIBUTING.md, it's almost opposite of what it says (since it indicates to me that you should open a PR as fast as possible).\n\n> I'm not sure this is actually the best issue to pick as a first contributions, as the test framework (especially unit tests) takes some getting used to.\n\n100% agree. I removed the `complexity:low` label because of this.", + "created_at": "2024-02-03T17:06:20Z", + "html_url": "https://github.com/neovim/neovim/pull/27322#issuecomment-1925396794", + "id": 1925396794, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27322", + "node_id": "IC_kwDOAPphoM5ywzk6", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925396794/reactions" + }, + "updated_at": "2024-02-03T17:10:00Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925396794", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + } + }, + { + "author_association": "MEMBER", + "body": "> Hmm, not to start an unrelated discussion but I don't think this is at all obvious from the CONTRIBUTING.md, it's almost opposite of what it says (since it indicates to me that you should open a PR as fast as possible).\r\n\r\nFair; we might want to temper that. (And I shouldn't have used the word \"convention\", even though that's what most contributors do.)", + "created_at": "2024-02-03T17:08:07Z", + "html_url": "https://github.com/neovim/neovim/pull/27322#issuecomment-1925397172", + "id": 1925397172, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27322", + "node_id": "IC_kwDOAPphoM5ywzq0", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925397172/reactions" + }, + "updated_at": "2024-02-03T17:08:07Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925397172", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "NONE", + "body": "> The convention is to open a (draft) PR **only when you have a MVP done that at least should resolve the basic issue**\r\n\r\nSorry, I wasn't aware of that, since it is not explicitly mentioned in the documentation:\r\n\r\nhttps://github.com/neovim/neovim/blob/2e982f1aad9f1a03562b7a451d642f76b04c37cb/CONTRIBUTING.md?plain=1#L50-L58\r\n\r\nEven if I'm used to the Github workflow, my current company Github plan doesn't include *Draft pull request* and so I wasn't aware anyone would get notifications. \r\n\r\nThat all said, just some picks:\r\n\r\n- I will close this PR to avoid creating more noise to maintainers.\r\n- The only reason I picked this it was because it was originally tagged as a good first issue.\r\n- You may want to split this issue in several parts to avoid affecting so many files in just one PR.", + "created_at": "2024-02-03T17:14:29Z", + "html_url": "https://github.com/neovim/neovim/pull/27322#issuecomment-1925398659", + "id": 1925398659, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27322", + "node_id": "IC_kwDOAPphoM5yw0CD", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925398659/reactions" + }, + "updated_at": "2024-02-03T17:14:29Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925398659", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1685489?v=4", + "events_url": "https://api.github.com/users/dsaenztagarro/events{/privacy}", + "followers_url": "https://api.github.com/users/dsaenztagarro/followers", + "following_url": "https://api.github.com/users/dsaenztagarro/following{/other_user}", + "gists_url": "https://api.github.com/users/dsaenztagarro/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dsaenztagarro", + "id": 1685489, + "login": "dsaenztagarro", + "node_id": "MDQ6VXNlcjE2ODU0ODk=", + "organizations_url": "https://api.github.com/users/dsaenztagarro/orgs", + "received_events_url": "https://api.github.com/users/dsaenztagarro/received_events", + "repos_url": "https://api.github.com/users/dsaenztagarro/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dsaenztagarro/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dsaenztagarro/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dsaenztagarro" + } + }, + { + "author_association": "MEMBER", + "body": "> The only reason I picked this it was because it was originally tagged as a good first issue.\r\n\r\nYes, sorry, that was on us. Hope you didn't waste too much time, and looking forward to your next PR!\r\n\r\n> You may want to split this issue in several parts to avoid affecting so many files in just one PR.\r\n\r\nNo, it's all or nothing (which is one of the reasons it's not really a good first issue).\r\n", + "created_at": "2024-02-03T17:18:12Z", + "html_url": "https://github.com/neovim/neovim/pull/27322#issuecomment-1925399604", + "id": 1925399604, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27322", + "node_id": "IC_kwDOAPphoM5yw0Q0", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925399604/reactions" + }, + "updated_at": "2024-02-03T17:18:12Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925399604", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27322/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27322/commits", + "created_at": "2024-02-03T13:10:38Z", + "diff_url": "https://github.com/neovim/neovim/pull/27322.diff", + "draft": true, + "head": { + "label": "dsaenztagarro:testconventions", + "ref": "testconventions", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/dsaenztagarro/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/dsaenztagarro/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/dsaenztagarro/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/dsaenztagarro/neovim/branches{/branch}", + "clone_url": "https://github.com/dsaenztagarro/neovim.git", + "collaborators_url": "https://api.github.com/repos/dsaenztagarro/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/dsaenztagarro/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/dsaenztagarro/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/dsaenztagarro/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/dsaenztagarro/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/dsaenztagarro/neovim/contributors", + "created_at": "2024-02-03T08:09:29Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/dsaenztagarro/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/dsaenztagarro/neovim/downloads", + "events_url": "https://api.github.com/repos/dsaenztagarro/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/dsaenztagarro/neovim/forks", + "full_name": "dsaenztagarro/neovim", + "git_commits_url": "https://api.github.com/repos/dsaenztagarro/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/dsaenztagarro/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/dsaenztagarro/neovim/git/tags{/sha}", + "git_url": "git://github.com/dsaenztagarro/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/dsaenztagarro/neovim/hooks", + "html_url": "https://github.com/dsaenztagarro/neovim", + "id": 752165699, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/dsaenztagarro/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/dsaenztagarro/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/dsaenztagarro/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/dsaenztagarro/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/dsaenztagarro/neovim/labels{/name}", + "language": null, + "languages_url": "https://api.github.com/repos/dsaenztagarro/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/dsaenztagarro/neovim/merges", + "milestones_url": "https://api.github.com/repos/dsaenztagarro/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOLNUjQw", + "notifications_url": "https://api.github.com/repos/dsaenztagarro/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/1685489?v=4", + "events_url": "https://api.github.com/users/dsaenztagarro/events{/privacy}", + "followers_url": "https://api.github.com/users/dsaenztagarro/followers", + "following_url": "https://api.github.com/users/dsaenztagarro/following{/other_user}", + "gists_url": "https://api.github.com/users/dsaenztagarro/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dsaenztagarro", + "id": 1685489, + "login": "dsaenztagarro", + "node_id": "MDQ6VXNlcjE2ODU0ODk=", + "organizations_url": "https://api.github.com/users/dsaenztagarro/orgs", + "received_events_url": "https://api.github.com/users/dsaenztagarro/received_events", + "repos_url": "https://api.github.com/users/dsaenztagarro/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dsaenztagarro/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dsaenztagarro/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dsaenztagarro" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/dsaenztagarro/neovim/pulls{/number}", + "pushed_at": "2024-02-03T16:56:01Z", + "releases_url": "https://api.github.com/repos/dsaenztagarro/neovim/releases{/id}", + "size": 246429, + "ssh_url": "git@github.com:dsaenztagarro/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/dsaenztagarro/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/dsaenztagarro/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/dsaenztagarro/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/dsaenztagarro/neovim/subscription", + "svn_url": "https://github.com/dsaenztagarro/neovim", + "tags_url": "https://api.github.com/repos/dsaenztagarro/neovim/tags", + "teams_url": "https://api.github.com/repos/dsaenztagarro/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/dsaenztagarro/neovim/git/trees{/sha}", + "updated_at": "2024-02-03T08:09:29Z", + "url": "https://api.github.com/repos/dsaenztagarro/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "12a0a36db6d02a2d5046e8b3dd03fb8af411667f", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1685489?v=4", + "events_url": "https://api.github.com/users/dsaenztagarro/events{/privacy}", + "followers_url": "https://api.github.com/users/dsaenztagarro/followers", + "following_url": "https://api.github.com/users/dsaenztagarro/following{/other_user}", + "gists_url": "https://api.github.com/users/dsaenztagarro/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dsaenztagarro", + "id": 1685489, + "login": "dsaenztagarro", + "node_id": "MDQ6VXNlcjE2ODU0ODk=", + "organizations_url": "https://api.github.com/users/dsaenztagarro/orgs", + "received_events_url": "https://api.github.com/users/dsaenztagarro/received_events", + "repos_url": "https://api.github.com/users/dsaenztagarro/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dsaenztagarro/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dsaenztagarro/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dsaenztagarro" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27322", + "id": 1709852856, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27322", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "", + "id": 110418643, + "name": "test", + "node_id": "MDU6TGFiZWwxMTA0MTg2NDM=", + "url": "https://api.github.com/repos/neovim/neovim/labels/test" + } + ], + "locked": false, + "merge_commit_sha": "e4d7aa3d16435317bb42f99bc7d30c0d375ea634", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM5l6ki4", + "number": 27322, + "patch_url": "https://github.com/neovim/neovim/pull/27322.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27322/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/12a0a36db6d02a2d5046e8b3dd03fb8af411667f", + "title": "test: review conventions", + "updated_at": "2024-02-03T17:18:13Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27322", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1685489?v=4", + "events_url": "https://api.github.com/users/dsaenztagarro/events{/privacy}", + "followers_url": "https://api.github.com/users/dsaenztagarro/followers", + "following_url": "https://api.github.com/users/dsaenztagarro/following{/other_user}", + "gists_url": "https://api.github.com/users/dsaenztagarro/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dsaenztagarro", + "id": 1685489, + "login": "dsaenztagarro", + "node_id": "MDQ6VXNlcjE2ODU0ODk=", + "organizations_url": "https://api.github.com/users/dsaenztagarro/orgs", + "received_events_url": "https://api.github.com/users/dsaenztagarro/received_events", + "repos_url": "https://api.github.com/users/dsaenztagarro/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dsaenztagarro/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dsaenztagarro/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dsaenztagarro" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27323.json b/repositories/neovim/pulls/27323.json new file mode 100644 index 00000000..3dbc4666 --- /dev/null +++ b/repositories/neovim/pulls/27323.json @@ -0,0 +1,2688 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27323/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27323" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27323" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/48ddc62133599b98abae2be00ba2facfbccab6c8" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "6c8387067d4e3e89c29bbd2d79fffe85fec8f164", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "While this relies on a proposed LSP 3.18 feature, it's fully backwards compatible, so IMO there's no harm in adding this already.\r\n\r\nLooks like some servers already support for this (e.g. gopls: https://go-review.googlesource.com/c/tools/+/510235), and for clangd there's an open PR: https://github.com/llvm/llvm-project/pull/80180\r\n\r\nFixes #27293", + "closed_at": null, + "comment_data": [ + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477103582" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477103582" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n `textDocument/rangesFormatting` support is required.\r\n```", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-03T17:39:22Z", + "diff_hunk": "@@ -1256,9 +1256,11 @@ format({options}) *vim.lsp.buf.format()*\n name (client.name) matching this field.\n • range (table|nil) Range to format. Table must contain\n `start` and `end` keys with {row,col} tuples using (1,0)\n- indexing. Defaults to current selection in visual mode\n- Defaults to `nil` in other modes, formatting the full\n- buffer\n+ indexing. Can also be a list of tables that contain\n+ `start` and `end` keys as described above, in which case\n+ textDocument/rangesFormatting support is required.", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477103582", + "id": 1477103582, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YCs_e", + "original_commit_id": "21889188a3e7577b817ce0d79c2cd9b684af911a", + "original_line": 1261, + "original_position": 9, + "original_start_line": null, + "path": "runtime/doc/lsp.txt", + "position": null, + "pull_request_review_id": 1861096543, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477103582/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-03T17:47:55Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477103582", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477103613" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477103613" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n Defaults to current selection in visual mode and to\r\n```", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-03T17:39:37Z", + "diff_hunk": "@@ -1256,9 +1256,11 @@ format({options}) *vim.lsp.buf.format()*\n name (client.name) matching this field.\n • range (table|nil) Range to format. Table must contain\n `start` and `end` keys with {row,col} tuples using (1,0)\n- indexing. Defaults to current selection in visual mode\n- Defaults to `nil` in other modes, formatting the full\n- buffer\n+ indexing. Can also be a list of tables that contain\n+ `start` and `end` keys as described above, in which case\n+ textDocument/rangesFormatting support is required.\n+ Defaults to current selection in visual mode Defaults to", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477103613", + "id": 1477103613, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YCs_9", + "original_commit_id": "21889188a3e7577b817ce0d79c2cd9b684af911a", + "original_line": 1262, + "original_position": 10, + "original_start_line": null, + "path": "runtime/doc/lsp.txt", + "position": null, + "pull_request_review_id": 1861096543, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477103613/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-03T17:47:55Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477103613", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477103707" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477103707" + } + }, + "author_association": "MEMBER", + "body": "I don't think we need to mention here that this is a proposed feature.\r\n\r\n```suggestion\r\n via the `range` parameter (this requires support for the\r\n```", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-03T17:40:12Z", + "diff_hunk": "@@ -206,6 +206,9 @@ The following new APIs and features were added.\n the original LSP `Location` or `LocationLink`.\n • Added support for connecting to servers using named pipes (Windows) or\n unix domain sockets (Unix) via |vim.lsp.rpc.domain_socket_connect()|.\n+ • |vim.lsp.buf.format()| now supports formatting passing a list of ranges\n+ via the `range` parameter (this requires support for the proposed", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477103707", + "id": 1477103707, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YCtBb", + "original_commit_id": "21889188a3e7577b817ce0d79c2cd9b684af911a", + "original_line": 210, + "original_position": 5, + "original_start_line": null, + "path": "runtime/doc/news.txt", + "position": null, + "pull_request_review_id": 1861096543, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477103707/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-03T17:47:55Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477103707", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477103743" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477103743" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n • |vim.lsp.buf.format()| now supports passing a list of ranges\r\n```", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-03T17:40:26Z", + "diff_hunk": "@@ -206,6 +206,9 @@ The following new APIs and features were added.\n the original LSP `Location` or `LocationLink`.\n • Added support for connecting to servers using named pipes (Windows) or\n unix domain sockets (Unix) via |vim.lsp.rpc.domain_socket_connect()|.\n+ • |vim.lsp.buf.format()| now supports formatting passing a list of ranges", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477103743", + "id": 1477103743, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YCtB_", + "original_commit_id": "21889188a3e7577b817ce0d79c2cd9b684af911a", + "original_line": 209, + "original_position": 4, + "original_start_line": null, + "path": "runtime/doc/news.txt", + "position": null, + "pull_request_review_id": 1861096543, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477103743/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-03T17:47:55Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477103743", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477104088" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477104088" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n return type(range_formatting_provider) == 'table' and range_formatting_provider.rangesSupport\r\n```", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-03T17:43:01Z", + "diff_hunk": "@@ -1089,6 +1090,10 @@ function lsp.start_client(config)\n return true\n end\n if vim.tbl_get(client.server_capabilities, unpack(required_capability)) then\n+ if method == ms.textDocument_rangesFormatting then\n+ local range_formatting_provider = client.server_capabilities.documentRangeFormattingProvider\n+ return type(range_formatting_provider) == 'table' and range_formatting_provider.rangesSupport == true", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477104088", + "id": 1477104088, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YCtHY", + "original_commit_id": "21889188a3e7577b817ce0d79c2cd9b684af911a", + "original_line": 1095, + "original_position": 14, + "original_start_line": null, + "path": "runtime/lua/vim/lsp.lua", + "position": null, + "pull_request_review_id": 1861096543, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477104088/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-03T17:47:55Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477104088", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477104637" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477104637" + } + }, + "author_association": "MEMBER", + "body": "I'm not entirely sure, but if `range` is `nil` here then `method` won't be assigned. Could you please check this?", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-03T17:46:28Z", + "diff_hunk": "@@ -192,17 +192,21 @@ end\n --- - range (table|nil) Range to format.\n --- Table must contain `start` and `end` keys with {row,col} tuples using\n --- (1,0) indexing.\n+--- Can also be a list of tables that contain `start` and `end` keys as described above,\n+--- in which case textDocument/rangesFormatting support is required.\n --- Defaults to current selection in visual mode\n --- Defaults to `nil` in other modes, formatting the full buffer\n function M.format(options)\n options = options or {}\n local bufnr = options.bufnr or api.nvim_get_current_buf()\n local mode = api.nvim_get_mode().mode\n local range = options.range\n- if not range and mode == 'v' or mode == 'V' then\n+ local ranges = (range and #range ~= 0 and type(range[1]) == 'table') and range\n+ if not range and not ranges and mode == 'v' or mode == 'V' then\n range = range_from_selection(bufnr, mode)\n end\n- local method = range and ms.textDocument_rangeFormatting or ms.textDocument_formatting\n+ local method = (ranges and ms.textDocument_rangesFormatting) or\n+ (range and ms.textDocument_rangeFormatting or ms.textDocument_formatting)", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477104637", + "id": 1477104637, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YCtP9", + "original_commit_id": "21889188a3e7577b817ce0d79c2cd9b684af911a", + "original_line": 209, + "original_position": 20, + "original_start_line": 208, + "path": "runtime/lua/vim/lsp/buf.lua", + "position": null, + "pull_request_review_id": 1861096543, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477104637/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-03T17:47:55Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477104637", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477105208" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477105208" + } + }, + "author_association": "MEMBER", + "body": "What kind of error is presented to the user if the language client doesn't support `ranges`? Would it make sense to check for the capability here for a better error message?", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-03T17:51:25Z", + "diff_hunk": "@@ -192,17 +192,21 @@ end\n --- - range (table|nil) Range to format.\n --- Table must contain `start` and `end` keys with {row,col} tuples using\n --- (1,0) indexing.\n+--- Can also be a list of tables that contain `start` and `end` keys as described above,\n+--- in which case textDocument/rangesFormatting support is required.", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477105208", + "id": 1477105208, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YCtY4", + "original_commit_id": "21889188a3e7577b817ce0d79c2cd9b684af911a", + "original_line": 196, + "original_position": 5, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/buf.lua", + "position": null, + "pull_request_review_id": 1861098842, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477105208/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-03T17:51:25Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477105208", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477116648" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477116648" + } + }, + "author_association": "CONTRIBUTOR", + "body": "The call to get_client() already filters out any servers that do not support the LSP method, so you'd get `[LSP] Format request failed, no matching language servers.` if none of the servers support `textDocument/rangesFormatting` (the same thing happens for `textDocument/rangeFormatting` alrady", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-03T19:27:48Z", + "diff_hunk": "@@ -192,17 +192,21 @@ end\n --- - range (table|nil) Range to format.\n --- Table must contain `start` and `end` keys with {row,col} tuples using\n --- (1,0) indexing.\n+--- Can also be a list of tables that contain `start` and `end` keys as described above,\n+--- in which case textDocument/rangesFormatting support is required.", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477116648", + "id": 1477116648, + "in_reply_to_id": 1477105208, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YCwLo", + "original_commit_id": "21889188a3e7577b817ce0d79c2cd9b684af911a", + "original_line": 196, + "original_position": 5, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/buf.lua", + "position": null, + "pull_request_review_id": 1861114403, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 2, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 2, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477116648/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-03T19:33:56Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477116648", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/13141438?v=4", + "events_url": "https://api.github.com/users/tom-anders/events{/privacy}", + "followers_url": "https://api.github.com/users/tom-anders/followers", + "following_url": "https://api.github.com/users/tom-anders/following{/other_user}", + "gists_url": "https://api.github.com/users/tom-anders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/tom-anders", + "id": 13141438, + "login": "tom-anders", + "node_id": "MDQ6VXNlcjEzMTQxNDM4", + "organizations_url": "https://api.github.com/users/tom-anders/orgs", + "received_events_url": "https://api.github.com/users/tom-anders/received_events", + "repos_url": "https://api.github.com/users/tom-anders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/tom-anders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom-anders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/tom-anders" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477116921" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477116921" + } + }, + "author_association": "CONTRIBUTOR", + "body": "`:lua print((nil and \"a\") or (nil and \"b\" or \"c\"))` prints `c`, so I think this should work", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-03T19:31:25Z", + "diff_hunk": "@@ -192,17 +192,21 @@ end\n --- - range (table|nil) Range to format.\n --- Table must contain `start` and `end` keys with {row,col} tuples using\n --- (1,0) indexing.\n+--- Can also be a list of tables that contain `start` and `end` keys as described above,\n+--- in which case textDocument/rangesFormatting support is required.\n --- Defaults to current selection in visual mode\n --- Defaults to `nil` in other modes, formatting the full buffer\n function M.format(options)\n options = options or {}\n local bufnr = options.bufnr or api.nvim_get_current_buf()\n local mode = api.nvim_get_mode().mode\n local range = options.range\n- if not range and mode == 'v' or mode == 'V' then\n+ local ranges = (range and #range ~= 0 and type(range[1]) == 'table') and range\n+ if not range and not ranges and mode == 'v' or mode == 'V' then\n range = range_from_selection(bufnr, mode)\n end\n- local method = range and ms.textDocument_rangeFormatting or ms.textDocument_formatting\n+ local method = (ranges and ms.textDocument_rangesFormatting) or\n+ (range and ms.textDocument_rangeFormatting or ms.textDocument_formatting)", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477116921", + "id": 1477116921, + "in_reply_to_id": 1477104637, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YCwP5", + "original_commit_id": "21889188a3e7577b817ce0d79c2cd9b684af911a", + "original_line": 209, + "original_position": 20, + "original_start_line": 208, + "path": "runtime/lua/vim/lsp/buf.lua", + "position": null, + "pull_request_review_id": 1861114403, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477116921/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-03T19:33:56Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477116921", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/13141438?v=4", + "events_url": "https://api.github.com/users/tom-anders/events{/privacy}", + "followers_url": "https://api.github.com/users/tom-anders/followers", + "following_url": "https://api.github.com/users/tom-anders/following{/other_user}", + "gists_url": "https://api.github.com/users/tom-anders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/tom-anders", + "id": 13141438, + "login": "tom-anders", + "node_id": "MDQ6VXNlcjEzMTQxNDM4", + "organizations_url": "https://api.github.com/users/tom-anders/orgs", + "received_events_url": "https://api.github.com/users/tom-anders/received_events", + "repos_url": "https://api.github.com/users/tom-anders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/tom-anders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom-anders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/tom-anders" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477167317" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477167317" + } + }, + "author_association": "MEMBER", + "body": "Thanks for checking!", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T02:57:06Z", + "diff_hunk": "@@ -192,17 +192,21 @@ end\n --- - range (table|nil) Range to format.\n --- Table must contain `start` and `end` keys with {row,col} tuples using\n --- (1,0) indexing.\n+--- Can also be a list of tables that contain `start` and `end` keys as described above,\n+--- in which case textDocument/rangesFormatting support is required.\n --- Defaults to current selection in visual mode\n --- Defaults to `nil` in other modes, formatting the full buffer\n function M.format(options)\n options = options or {}\n local bufnr = options.bufnr or api.nvim_get_current_buf()\n local mode = api.nvim_get_mode().mode\n local range = options.range\n- if not range and mode == 'v' or mode == 'V' then\n+ local ranges = (range and #range ~= 0 and type(range[1]) == 'table') and range\n+ if not range and not ranges and mode == 'v' or mode == 'V' then\n range = range_from_selection(bufnr, mode)\n end\n- local method = range and ms.textDocument_rangeFormatting or ms.textDocument_formatting\n+ local method = (ranges and ms.textDocument_rangesFormatting) or\n+ (range and ms.textDocument_rangeFormatting or ms.textDocument_formatting)", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477167317", + "id": 1477167317, + "in_reply_to_id": 1477104637, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YC8jV", + "original_commit_id": "21889188a3e7577b817ce0d79c2cd9b684af911a", + "original_line": 209, + "original_position": 20, + "original_start_line": 208, + "path": "runtime/lua/vim/lsp/buf.lua", + "position": null, + "pull_request_review_id": 1861247334, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477167317/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-04T02:57:06Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477167317", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477167331" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477167331" + } + }, + "author_association": "MEMBER", + "body": "Sounds good :)", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T02:57:22Z", + "diff_hunk": "@@ -192,17 +192,21 @@ end\n --- - range (table|nil) Range to format.\n --- Table must contain `start` and `end` keys with {row,col} tuples using\n --- (1,0) indexing.\n+--- Can also be a list of tables that contain `start` and `end` keys as described above,\n+--- in which case textDocument/rangesFormatting support is required.", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477167331", + "id": 1477167331, + "in_reply_to_id": 1477105208, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YC8jj", + "original_commit_id": "21889188a3e7577b817ce0d79c2cd9b684af911a", + "original_line": 196, + "original_position": 5, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/buf.lua", + "position": null, + "pull_request_review_id": 1861247358, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477167331/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T02:57:22Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477167331", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477167763" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477167763" + } + }, + "author_association": "MEMBER", + "body": "Sorry if I'm missing something, but this was marked as resolved yet I'm not seeing the change...?\r\n\r\nIt's okay if you decided to ignore the suggestion, but at least tell me why :)", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T03:03:24Z", + "diff_hunk": "@@ -1256,9 +1256,11 @@ format({options}) *vim.lsp.buf.format()*\n name (client.name) matching this field.\n • range (table|nil) Range to format. Table must contain\n `start` and `end` keys with {row,col} tuples using (1,0)\n- indexing. Defaults to current selection in visual mode\n- Defaults to `nil` in other modes, formatting the full\n- buffer\n+ indexing. Can also be a list of tables that contain\n+ `start` and `end` keys as described above, in which case\n+ textDocument/rangesFormatting support is required.", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477167763", + "id": 1477167763, + "in_reply_to_id": 1477103582, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YC8qT", + "original_commit_id": "21889188a3e7577b817ce0d79c2cd9b684af911a", + "original_line": 1261, + "original_position": 9, + "original_start_line": null, + "path": "runtime/doc/lsp.txt", + "position": null, + "pull_request_review_id": 1861247858, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477167763/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T03:18:43Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477167763", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477167839" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477167839" + } + }, + "author_association": "MEMBER", + "body": "Resolved? (See my comment above)", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T03:03:48Z", + "diff_hunk": "@@ -1256,9 +1256,11 @@ format({options}) *vim.lsp.buf.format()*\n name (client.name) matching this field.\n • range (table|nil) Range to format. Table must contain\n `start` and `end` keys with {row,col} tuples using (1,0)\n- indexing. Defaults to current selection in visual mode\n- Defaults to `nil` in other modes, formatting the full\n- buffer\n+ indexing. Can also be a list of tables that contain\n+ `start` and `end` keys as described above, in which case\n+ textDocument/rangesFormatting support is required.\n+ Defaults to current selection in visual mode Defaults to", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477167839", + "id": 1477167839, + "in_reply_to_id": 1477103613, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YC8rf", + "original_commit_id": "21889188a3e7577b817ce0d79c2cd9b684af911a", + "original_line": 1262, + "original_position": 10, + "original_start_line": null, + "path": "runtime/doc/lsp.txt", + "position": null, + "pull_request_review_id": 1861247858, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477167839/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T03:18:43Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477167839", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477168240" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477168240" + } + }, + "author_association": "MEMBER", + "body": "I don't think this is the right pattern to deal with nested capabilities. Instead you should use a table as the value here:\r\nhttps://github.com/neovim/neovim/blob/bebaf54d68ed3ebbe35003db2eeeedc59d7b56f3/runtime/lua/vim/lsp.lua#L60\r\n\r\nHere's an example for `prepareRename`.\r\nhttps://github.com/neovim/neovim/blob/cd3399f6bd99494c5805ee2560e515ec6c782e59/runtime/lua/vim/lsp.lua#L52", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T03:09:23Z", + "diff_hunk": "@@ -1089,6 +1090,12 @@ function lsp.start_client(config)\n return true\n end\n if vim.tbl_get(client.server_capabilities, unpack(required_capability)) then\n+ if method == ms.textDocument_rangesFormatting then\n+ local range_formatting_provider =\n+ client.server_capabilities.documentRangeFormattingProvider\n+ return type(range_formatting_provider) == 'table'\n+ and range_formatting_provider.rangesSupport", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477168240", + "id": 1477168240, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YC8xw", + "original_commit_id": "bebaf54d68ed3ebbe35003db2eeeedc59d7b56f3", + "original_line": 1097, + "original_position": 16, + "original_start_line": null, + "path": "runtime/lua/vim/lsp.lua", + "position": null, + "pull_request_review_id": 1861247858, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 1, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477168240/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T03:18:43Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477168240", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477168724" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477168724" + } + }, + "author_association": "MEMBER", + "body": "Maybe it's just me but I find this code that deals with both scenarios of dealing with range vs ranges a bit hard to follow. I would suggest either adding some comments that explain what's going on, or clearly separating both cases with a single if-statement.", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T03:15:01Z", + "diff_hunk": "@@ -192,17 +192,21 @@ end\n --- - range (table|nil) Range to format.\n --- Table must contain `start` and `end` keys with {row,col} tuples using\n --- (1,0) indexing.\n+--- Can also be a list of tables that contain `start` and `end` keys as described above,\n+--- in which case textDocument/rangesFormatting support is required.\n --- Defaults to current selection in visual mode\n --- Defaults to `nil` in other modes, formatting the full buffer\n function M.format(options)\n options = options or {}\n local bufnr = options.bufnr or api.nvim_get_current_buf()\n local mode = api.nvim_get_mode().mode\n local range = options.range\n- if not range and mode == 'v' or mode == 'V' then\n+ local ranges = (range and #range ~= 0 and type(range[1]) == 'table') and range", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477168724", + "id": 1477168724, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YC85U", + "original_commit_id": "bebaf54d68ed3ebbe35003db2eeeedc59d7b56f3", + "original_line": 204, + "original_position": 14, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/buf.lua", + "position": null, + "pull_request_review_id": 1861247858, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477168724/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T03:18:43Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477168724", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477247368" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477247368" + } + }, + "author_association": "CONTRIBUTOR", + "body": "Ahrg sorry, I changed it locally in lsp.txt, but then running `make doc` overwrote it again - I changed in the right place this time (buf.lua)", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T09:58:34Z", + "diff_hunk": "@@ -1256,9 +1256,11 @@ format({options}) *vim.lsp.buf.format()*\n name (client.name) matching this field.\n • range (table|nil) Range to format. Table must contain\n `start` and `end` keys with {row,col} tuples using (1,0)\n- indexing. Defaults to current selection in visual mode\n- Defaults to `nil` in other modes, formatting the full\n- buffer\n+ indexing. Can also be a list of tables that contain\n+ `start` and `end` keys as described above, in which case\n+ textDocument/rangesFormatting support is required.", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477247368", + "id": 1477247368, + "in_reply_to_id": 1477103582, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YDQGI", + "original_commit_id": "21889188a3e7577b817ce0d79c2cd9b684af911a", + "original_line": 1261, + "original_position": 9, + "original_start_line": null, + "path": "runtime/doc/lsp.txt", + "position": null, + "pull_request_review_id": 1861350113, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477247368/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T09:58:34Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477247368", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/13141438?v=4", + "events_url": "https://api.github.com/users/tom-anders/events{/privacy}", + "followers_url": "https://api.github.com/users/tom-anders/followers", + "following_url": "https://api.github.com/users/tom-anders/following{/other_user}", + "gists_url": "https://api.github.com/users/tom-anders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/tom-anders", + "id": 13141438, + "login": "tom-anders", + "node_id": "MDQ6VXNlcjEzMTQxNDM4", + "organizations_url": "https://api.github.com/users/tom-anders/orgs", + "received_events_url": "https://api.github.com/users/tom-anders/received_events", + "repos_url": "https://api.github.com/users/tom-anders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/tom-anders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom-anders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/tom-anders" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477247390" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477247390" + } + }, + "author_association": "CONTRIBUTOR", + "body": "same here", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T09:58:46Z", + "diff_hunk": "@@ -1256,9 +1256,11 @@ format({options}) *vim.lsp.buf.format()*\n name (client.name) matching this field.\n • range (table|nil) Range to format. Table must contain\n `start` and `end` keys with {row,col} tuples using (1,0)\n- indexing. Defaults to current selection in visual mode\n- Defaults to `nil` in other modes, formatting the full\n- buffer\n+ indexing. Can also be a list of tables that contain\n+ `start` and `end` keys as described above, in which case\n+ textDocument/rangesFormatting support is required.\n+ Defaults to current selection in visual mode Defaults to", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477247390", + "id": 1477247390, + "in_reply_to_id": 1477103613, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YDQGe", + "original_commit_id": "21889188a3e7577b817ce0d79c2cd9b684af911a", + "original_line": 1262, + "original_position": 10, + "original_start_line": null, + "path": "runtime/doc/lsp.txt", + "position": null, + "pull_request_review_id": 1861350149, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477247390/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T09:58:46Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477247390", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/13141438?v=4", + "events_url": "https://api.github.com/users/tom-anders/events{/privacy}", + "followers_url": "https://api.github.com/users/tom-anders/followers", + "following_url": "https://api.github.com/users/tom-anders/following{/other_user}", + "gists_url": "https://api.github.com/users/tom-anders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/tom-anders", + "id": 13141438, + "login": "tom-anders", + "node_id": "MDQ6VXNlcjEzMTQxNDM4", + "organizations_url": "https://api.github.com/users/tom-anders/orgs", + "received_events_url": "https://api.github.com/users/tom-anders/received_events", + "repos_url": "https://api.github.com/users/tom-anders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/tom-anders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom-anders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/tom-anders" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477248654" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477248654" + } + }, + "author_association": "CONTRIBUTOR", + "body": "Good point, having both `range` and `ranges` as a variable is confusing - I added some comments, but also replaced the `ranges` variable with a boolean `passed_multiple_ranges`, I think readability is much higher now", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T10:07:21Z", + "diff_hunk": "@@ -192,17 +192,21 @@ end\n --- - range (table|nil) Range to format.\n --- Table must contain `start` and `end` keys with {row,col} tuples using\n --- (1,0) indexing.\n+--- Can also be a list of tables that contain `start` and `end` keys as described above,\n+--- in which case textDocument/rangesFormatting support is required.\n --- Defaults to current selection in visual mode\n --- Defaults to `nil` in other modes, formatting the full buffer\n function M.format(options)\n options = options or {}\n local bufnr = options.bufnr or api.nvim_get_current_buf()\n local mode = api.nvim_get_mode().mode\n local range = options.range\n- if not range and mode == 'v' or mode == 'V' then\n+ local ranges = (range and #range ~= 0 and type(range[1]) == 'table') and range", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477248654", + "id": 1477248654, + "in_reply_to_id": 1477168724, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YDQaO", + "original_commit_id": "bebaf54d68ed3ebbe35003db2eeeedc59d7b56f3", + "original_line": 204, + "original_position": 14, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/buf.lua", + "position": null, + "pull_request_review_id": 1861351977, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477248654/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T10:07:21Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477248654", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/13141438?v=4", + "events_url": "https://api.github.com/users/tom-anders/events{/privacy}", + "followers_url": "https://api.github.com/users/tom-anders/followers", + "following_url": "https://api.github.com/users/tom-anders/following{/other_user}", + "gists_url": "https://api.github.com/users/tom-anders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/tom-anders", + "id": 13141438, + "login": "tom-anders", + "node_id": "MDQ6VXNlcjEzMTQxNDM4", + "organizations_url": "https://api.github.com/users/tom-anders/orgs", + "received_events_url": "https://api.github.com/users/tom-anders/received_events", + "repos_url": "https://api.github.com/users/tom-anders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/tom-anders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom-anders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/tom-anders" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477251480" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477251480" + } + }, + "author_association": "CONTRIBUTOR", + "body": "Ohh right, I for some reason thought `vim.tbl_get` would take adjacent keys instead of nested ones. ", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T10:11:41Z", + "diff_hunk": "@@ -1089,6 +1090,12 @@ function lsp.start_client(config)\n return true\n end\n if vim.tbl_get(client.server_capabilities, unpack(required_capability)) then\n+ if method == ms.textDocument_rangesFormatting then\n+ local range_formatting_provider =\n+ client.server_capabilities.documentRangeFormattingProvider\n+ return type(range_formatting_provider) == 'table'\n+ and range_formatting_provider.rangesSupport", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477251480", + "id": 1477251480, + "in_reply_to_id": 1477168240, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YDRGY", + "original_commit_id": "bebaf54d68ed3ebbe35003db2eeeedc59d7b56f3", + "original_line": 1097, + "original_position": 16, + "original_start_line": null, + "path": "runtime/lua/vim/lsp.lua", + "position": null, + "pull_request_review_id": 1861355653, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477251480/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T10:11:41Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477251480", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/13141438?v=4", + "events_url": "https://api.github.com/users/tom-anders/events{/privacy}", + "followers_url": "https://api.github.com/users/tom-anders/followers", + "following_url": "https://api.github.com/users/tom-anders/following{/other_user}", + "gists_url": "https://api.github.com/users/tom-anders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/tom-anders", + "id": 13141438, + "login": "tom-anders", + "node_id": "MDQ6VXNlcjEzMTQxNDM4", + "organizations_url": "https://api.github.com/users/tom-anders/orgs", + "received_events_url": "https://api.github.com/users/tom-anders/received_events", + "repos_url": "https://api.github.com/users/tom-anders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/tom-anders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom-anders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/tom-anders" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477260898" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477260898" + } + }, + "author_association": "MEMBER", + "body": "I find this too complex to read. Let's rewrite using plain if-else?", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T10:16:52Z", + "diff_hunk": "@@ -192,17 +192,25 @@ end\n --- - range (table|nil) Range to format.\n --- Table must contain `start` and `end` keys with {row,col} tuples using\n --- (1,0) indexing.\n+--- Can also be a list of tables that contain `start` and `end` keys as described above,\n+--- in which case `textDocument/rangesFormatting` support is required.\n --- Defaults to current selection in visual mode\n---- Defaults to `nil` in other modes, formatting the full buffer\n+--- and to `nil` in other modes, formatting the full buffer\n function M.format(options)\n options = options or {}\n local bufnr = options.bufnr or api.nvim_get_current_buf()\n local mode = api.nvim_get_mode().mode\n local range = options.range\n+ -- Try to use visual selection if no range is given\n if not range and mode == 'v' or mode == 'V' then\n range = range_from_selection(bufnr, mode)\n end\n- local method = range and ms.textDocument_rangeFormatting or ms.textDocument_formatting\n+ -- List of ranges => textDocument/rangesFormatting\n+ -- Single range => textDocument/rangeFormatting\n+ -- No range => textDocument/formatting\n+ local passed_multiple_ranges = (range and #range ~= 0 and type(range[1]) == 'table')\n+ local method = (passed_multiple_ranges and ms.textDocument_rangesFormatting)\n+ or (range and ms.textDocument_rangeFormatting or ms.textDocument_formatting)", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477260898", + "id": 1477260898, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YDTZi", + "original_commit_id": "5add832f01b78d39d3ad597e9255aeb6697084c5", + "original_line": 213, + "original_position": 24, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/buf.lua", + "position": null, + "pull_request_review_id": 1861366441, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477260898/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T10:38:43Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477260898", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477262604" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477262604" + } + }, + "author_association": "MEMBER", + "body": "It'd be better to be specific. Although the previous doc (written #19998) is also not super clear, but we could fix them together in this opportunity. For normal range formatting request, we can mention `lsp.Range`; for the ranges formatting request, it would be `lsp.Range[]`.", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T10:24:58Z", + "diff_hunk": "@@ -192,17 +192,25 @@ end\n --- - range (table|nil) Range to format.\n --- Table must contain `start` and `end` keys with {row,col} tuples using\n --- (1,0) indexing.\n+--- Can also be a list of tables that contain `start` and `end` keys as described above,", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477262604", + "id": 1477262604, + "line": 195, + "node_id": "PRRC_kwDOAPphoM5YDT0M", + "original_commit_id": "5add832f01b78d39d3ad597e9255aeb6697084c5", + "original_line": 195, + "original_position": 4, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/buf.lua", + "position": 4, + "pull_request_review_id": 1861366441, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477262604/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T10:41:19Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477262604", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477262684" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477262684" + } + }, + "author_association": "MEMBER", + "body": "Also can we have capability check? (either explicitly or implicitly) Though not mandatory, it'd be even better if this can be checked by tests.", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T10:25:36Z", + "diff_hunk": "@@ -192,17 +192,25 @@ end\n --- - range (table|nil) Range to format.\n --- Table must contain `start` and `end` keys with {row,col} tuples using\n --- (1,0) indexing.\n+--- Can also be a list of tables that contain `start` and `end` keys as described above,\n+--- in which case `textDocument/rangesFormatting` support is required.\n --- Defaults to current selection in visual mode\n---- Defaults to `nil` in other modes, formatting the full buffer\n+--- and to `nil` in other modes, formatting the full buffer\n function M.format(options)\n options = options or {}\n local bufnr = options.bufnr or api.nvim_get_current_buf()\n local mode = api.nvim_get_mode().mode\n local range = options.range\n+ -- Try to use visual selection if no range is given\n if not range and mode == 'v' or mode == 'V' then\n range = range_from_selection(bufnr, mode)\n end\n- local method = range and ms.textDocument_rangeFormatting or ms.textDocument_formatting\n+ -- List of ranges => textDocument/rangesFormatting\n+ -- Single range => textDocument/rangeFormatting\n+ -- No range => textDocument/formatting\n+ local passed_multiple_ranges = (range and #range ~= 0 and type(range[1]) == 'table')\n+ local method = (passed_multiple_ranges and ms.textDocument_rangesFormatting)\n+ or (range and ms.textDocument_rangeFormatting or ms.textDocument_formatting)", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477262684", + "id": 1477262684, + "in_reply_to_id": 1477260898, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YDT1c", + "original_commit_id": "5add832f01b78d39d3ad597e9255aeb6697084c5", + "original_line": 213, + "original_position": 24, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/buf.lua", + "position": null, + "pull_request_review_id": 1861366441, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477262684/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T10:38:43Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477262684", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477262887" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477262887" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n local range = options.range ---@type nil|lsp.Range|lsp.Range[]\r\n```\r\n(see also https://github.com/neovim/neovim/pull/27323#discussion_r1477263123)", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T10:26:48Z", + "diff_hunk": "@@ -192,17 +192,25 @@ end\n --- - range (table|nil) Range to format.\n --- Table must contain `start` and `end` keys with {row,col} tuples using\n --- (1,0) indexing.\n+--- Can also be a list of tables that contain `start` and `end` keys as described above,\n+--- in which case `textDocument/rangesFormatting` support is required.\n --- Defaults to current selection in visual mode\n---- Defaults to `nil` in other modes, formatting the full buffer\n+--- and to `nil` in other modes, formatting the full buffer\n function M.format(options)\n options = options or {}\n local bufnr = options.bufnr or api.nvim_get_current_buf()\n local mode = api.nvim_get_mode().mode\n local range = options.range", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477262887", + "id": 1477262887, + "line": 203, + "node_id": "PRRC_kwDOAPphoM5YDT4n", + "original_commit_id": "5add832f01b78d39d3ad597e9255aeb6697084c5", + "original_line": 203, + "original_position": 13, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/buf.lua", + "position": 13, + "pull_request_review_id": 1861366441, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477262887/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T10:39:21Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477262887", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477263123" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477263123" + } + }, + "author_association": "MEMBER", + "body": "Or we could name the parameter as `ranges` instead of `range` if we'd want to make it closer to the type defined in the LSP protocol (see `DocumentRangesFormattingParams`), with more strict type checking, but I don't have a string opinion here in the API design. Any thoughts, @MariaSolOs @mfussenegger?", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T10:28:45Z", + "diff_hunk": "@@ -192,17 +192,25 @@ end\n --- - range (table|nil) Range to format.\n --- Table must contain `start` and `end` keys with {row,col} tuples using\n --- (1,0) indexing.\n+--- Can also be a list of tables that contain `start` and `end` keys as described above,", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477263123", + "id": 1477263123, + "in_reply_to_id": 1477262604, + "line": 195, + "node_id": "PRRC_kwDOAPphoM5YDT8T", + "original_commit_id": "5add832f01b78d39d3ad597e9255aeb6697084c5", + "original_line": 195, + "original_position": 4, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/buf.lua", + "position": 4, + "pull_request_review_id": 1861366441, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477263123/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T10:38:43Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477263123", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477264326" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477264326" + } + }, + "author_association": "MEMBER", + "body": "Please add typing (`lsp.DocumentRangeFormattingParams` or `lsp.DocumentRangesFormattingParams`) to this local function. ", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T10:36:07Z", + "diff_hunk": "@@ -219,10 +227,14 @@ function M.format(options)\n end\n \n local function set_range(client, params)\n- if range then\n- local range_params =\n- util.make_given_range_params(range.start, range['end'], bufnr, client.offset_encoding)\n- params.range = range_params.range\n+ local to_lsp_range = function(r)\n+ return util.make_given_range_params(r.start, r['end'], bufnr, client.offset_encoding).range\n+ end\n+\n+ if passed_multiple_ranges then\n+ params.ranges = vim.tbl_map(to_lsp_range, range)", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477264326", + "id": 1477264326, + "line": 240, + "node_id": "PRRC_kwDOAPphoM5YDUPG", + "original_commit_id": "5add832f01b78d39d3ad597e9255aeb6697084c5", + "original_line": 240, + "original_position": 41, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/buf.lua", + "position": 46, + "pull_request_review_id": 1861366441, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477264326/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T10:38:43Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477264326", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477406192" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477406192" + } + }, + "author_association": "MEMBER", + "body": "I agree that using `lsp.Range` here is nicer/safer. I don't have any preference regarding naming.", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T17:39:36Z", + "diff_hunk": "@@ -192,17 +192,25 @@ end\n --- - range (table|nil) Range to format.\n --- Table must contain `start` and `end` keys with {row,col} tuples using\n --- (1,0) indexing.\n+--- Can also be a list of tables that contain `start` and `end` keys as described above,", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477406192", + "id": 1477406192, + "in_reply_to_id": 1477262604, + "line": 195, + "node_id": "PRRC_kwDOAPphoM5YD23w", + "original_commit_id": "5add832f01b78d39d3ad597e9255aeb6697084c5", + "original_line": 195, + "original_position": 4, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/buf.lua", + "position": 4, + "pull_request_review_id": 1861524723, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477406192/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T17:39:36Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477406192", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477421351" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477421351" + } + }, + "author_association": "CONTRIBUTOR", + "body": "> I find this too complex to read. Let's rewrite using plain if-else?\r\n\r\nDone!\r\n\r\n> Also can we have capability check? (either explicitly or implicitly) Though not mandatory, it'd be even better if this can be checked by tests.\r\n\r\nOur call to `vim.lsp.get_clients` already filters by method, so there's already a (somewhat hidden) capability check there,", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T18:53:48Z", + "diff_hunk": "@@ -192,17 +192,25 @@ end\n --- - range (table|nil) Range to format.\n --- Table must contain `start` and `end` keys with {row,col} tuples using\n --- (1,0) indexing.\n+--- Can also be a list of tables that contain `start` and `end` keys as described above,\n+--- in which case `textDocument/rangesFormatting` support is required.\n --- Defaults to current selection in visual mode\n---- Defaults to `nil` in other modes, formatting the full buffer\n+--- and to `nil` in other modes, formatting the full buffer\n function M.format(options)\n options = options or {}\n local bufnr = options.bufnr or api.nvim_get_current_buf()\n local mode = api.nvim_get_mode().mode\n local range = options.range\n+ -- Try to use visual selection if no range is given\n if not range and mode == 'v' or mode == 'V' then\n range = range_from_selection(bufnr, mode)\n end\n- local method = range and ms.textDocument_rangeFormatting or ms.textDocument_formatting\n+ -- List of ranges => textDocument/rangesFormatting\n+ -- Single range => textDocument/rangeFormatting\n+ -- No range => textDocument/formatting\n+ local passed_multiple_ranges = (range and #range ~= 0 and type(range[1]) == 'table')\n+ local method = (passed_multiple_ranges and ms.textDocument_rangesFormatting)\n+ or (range and ms.textDocument_rangeFormatting or ms.textDocument_formatting)", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477421351", + "id": 1477421351, + "in_reply_to_id": 1477260898, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YD6kn", + "original_commit_id": "5add832f01b78d39d3ad597e9255aeb6697084c5", + "original_line": 213, + "original_position": 24, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/buf.lua", + "position": null, + "pull_request_review_id": 1861541236, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477421351/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T18:53:55Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477421351", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/13141438?v=4", + "events_url": "https://api.github.com/users/tom-anders/events{/privacy}", + "followers_url": "https://api.github.com/users/tom-anders/followers", + "following_url": "https://api.github.com/users/tom-anders/following{/other_user}", + "gists_url": "https://api.github.com/users/tom-anders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/tom-anders", + "id": 13141438, + "login": "tom-anders", + "node_id": "MDQ6VXNlcjEzMTQxNDM4", + "organizations_url": "https://api.github.com/users/tom-anders/orgs", + "received_events_url": "https://api.github.com/users/tom-anders/received_events", + "repos_url": "https://api.github.com/users/tom-anders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/tom-anders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom-anders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/tom-anders" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477423029" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477423029" + } + }, + "author_association": "CONTRIBUTOR", + "body": "Hmm the thing is that this is **not** an LSP range\r\n\r\nThe function expects a range of the form `{ start = {row, col}, end = {row, col} }` with `row` being 1-indexed, but `col` being 0-indexed (for some reason...?)\r\n\r\nMeanwhile, an [LSP range](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#range) is `{ start = { line = .., character = ..}, end = { line =..., character = ...}}`, with both `line` and `character` using 0-indexing.\r\n\r\nOnly the call to `utils.make_given_range_params` turns our \"custom\" range into a LSP range.\r\n\r\nI'd also find it more intuitive if this would take a LSP range instead, but I think there are two problems:\r\n\r\n1) API break (obviously)\r\n2) we don't have a (convenient) API yet to create LSP range objects, I think...? The closest match is `make_given_range_params`, which returns (as the name says) a `RangeParams` LSP object, not a `Range`. If we're fine with the API break, I think we should add a `vim.lsp.util.make_give_range` ", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T19:06:32Z", + "diff_hunk": "@@ -192,17 +192,25 @@ end\n --- - range (table|nil) Range to format.\n --- Table must contain `start` and `end` keys with {row,col} tuples using\n --- (1,0) indexing.\n+--- Can also be a list of tables that contain `start` and `end` keys as described above,", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477423029", + "id": 1477423029, + "in_reply_to_id": 1477262604, + "line": 195, + "node_id": "PRRC_kwDOAPphoM5YD6-1", + "original_commit_id": "5add832f01b78d39d3ad597e9255aeb6697084c5", + "original_line": 195, + "original_position": 4, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/buf.lua", + "position": 4, + "pull_request_review_id": 1861542789, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477423029/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T19:06:32Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477423029", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/13141438?v=4", + "events_url": "https://api.github.com/users/tom-anders/events{/privacy}", + "followers_url": "https://api.github.com/users/tom-anders/followers", + "following_url": "https://api.github.com/users/tom-anders/following{/other_user}", + "gists_url": "https://api.github.com/users/tom-anders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/tom-anders", + "id": 13141438, + "login": "tom-anders", + "node_id": "MDQ6VXNlcjEzMTQxNDM4", + "organizations_url": "https://api.github.com/users/tom-anders/orgs", + "received_events_url": "https://api.github.com/users/tom-anders/received_events", + "repos_url": "https://api.github.com/users/tom-anders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/tom-anders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom-anders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/tom-anders" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477426976" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477426976" + } + }, + "author_association": "MEMBER", + "body": "I see. My bad, sorry for confusing. (This is the reason why it has to be more clearly documented!) You're right -- the parameter isn't already a LSP range, but *(1,0)-indexed* API (row, col) representation; then we should not change and break the API.", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T19:38:26Z", + "diff_hunk": "@@ -192,17 +192,25 @@ end\n --- - range (table|nil) Range to format.\n --- Table must contain `start` and `end` keys with {row,col} tuples using\n --- (1,0) indexing.\n+--- Can also be a list of tables that contain `start` and `end` keys as described above,", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477426976", + "id": 1477426976, + "in_reply_to_id": 1477262604, + "line": 195, + "node_id": "PRRC_kwDOAPphoM5YD78g", + "original_commit_id": "5add832f01b78d39d3ad597e9255aeb6697084c5", + "original_line": 195, + "original_position": 4, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/buf.lua", + "position": 4, + "pull_request_review_id": 1861546557, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477426976/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T19:38:26Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477426976", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477429857" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477429857" + } + }, + "author_association": "MEMBER", + "body": "Yeah, https://github.com/neovim/neovim/issues/25509 is a tracking issue for this problem.", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T19:59:49Z", + "diff_hunk": "@@ -192,17 +192,25 @@ end\n --- - range (table|nil) Range to format.\n --- Table must contain `start` and `end` keys with {row,col} tuples using\n --- (1,0) indexing.\n+--- Can also be a list of tables that contain `start` and `end` keys as described above,", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477429857", + "id": 1477429857, + "in_reply_to_id": 1477262604, + "line": 195, + "node_id": "PRRC_kwDOAPphoM5YD8ph", + "original_commit_id": "5add832f01b78d39d3ad597e9255aeb6697084c5", + "original_line": 195, + "original_position": 4, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/buf.lua", + "position": 4, + "pull_request_review_id": 1861549287, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477429857/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T19:59:49Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477429857", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477431770" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477431770" + } + }, + "author_association": "CONTRIBUTOR", + "body": "Right, I'll add a comment along the lines of \"(this is **not** an LSP range)\" to the docs, if everyone's fine with that ", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T20:14:34Z", + "diff_hunk": "@@ -192,17 +192,25 @@ end\n --- - range (table|nil) Range to format.\n --- Table must contain `start` and `end` keys with {row,col} tuples using\n --- (1,0) indexing.\n+--- Can also be a list of tables that contain `start` and `end` keys as described above,", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477431770", + "id": 1477431770, + "in_reply_to_id": 1477262604, + "line": 195, + "node_id": "PRRC_kwDOAPphoM5YD9Ha", + "original_commit_id": "5add832f01b78d39d3ad597e9255aeb6697084c5", + "original_line": 195, + "original_position": 4, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/buf.lua", + "position": 4, + "pull_request_review_id": 1861551157, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477431770/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T20:14:45Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477431770", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/13141438?v=4", + "events_url": "https://api.github.com/users/tom-anders/events{/privacy}", + "followers_url": "https://api.github.com/users/tom-anders/followers", + "following_url": "https://api.github.com/users/tom-anders/following{/other_user}", + "gists_url": "https://api.github.com/users/tom-anders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/tom-anders", + "id": 13141438, + "login": "tom-anders", + "node_id": "MDQ6VXNlcjEzMTQxNDM4", + "organizations_url": "https://api.github.com/users/tom-anders/orgs", + "received_events_url": "https://api.github.com/users/tom-anders/received_events", + "repos_url": "https://api.github.com/users/tom-anders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/tom-anders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom-anders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/tom-anders" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27323#discussion_r1477432108" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27323" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477432108" + } + }, + "author_association": "MEMBER", + "body": "I don't think such a remark is needed. The longer the docs are, the less chances people will actually read them. I think that the current description is good enough.", + "commit_id": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "created_at": "2024-02-04T20:17:02Z", + "diff_hunk": "@@ -192,17 +192,25 @@ end\n --- - range (table|nil) Range to format.\n --- Table must contain `start` and `end` keys with {row,col} tuples using\n --- (1,0) indexing.\n+--- Can also be a list of tables that contain `start` and `end` keys as described above,", + "html_url": "https://github.com/neovim/neovim/pull/27323#discussion_r1477432108", + "id": 1477432108, + "in_reply_to_id": 1477262604, + "line": 195, + "node_id": "PRRC_kwDOAPphoM5YD9Ms", + "original_commit_id": "5add832f01b78d39d3ad597e9255aeb6697084c5", + "original_line": 195, + "original_position": 4, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/buf.lua", + "position": 4, + "pull_request_review_id": 1861551484, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477432108/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T20:17:02Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477432108", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + } + ], + "comment_regular_data": [ + { + "author_association": "MEMBER", + "body": "We would also need to add [the client capability](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#documentRangeFormattingClientCapabilities) here:\r\nhttps://github.com/neovim/neovim/blob/2e982f1aad9f1a03562b7a451d642f76b04c37cb/runtime/lua/vim/lsp/protocol.lua#L742", + "created_at": "2024-02-03T17:49:50Z", + "html_url": "https://github.com/neovim/neovim/pull/27323#issuecomment-1925412831", + "id": 1925412831, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27323", + "node_id": "IC_kwDOAPphoM5yw3ff", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925412831/reactions" + }, + "updated_at": "2024-02-03T17:49:50Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925412831", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "author_association": "MEMBER", + "body": "Pinging @stevearc in case this PR impacts `conform` in any way, or there's something you could take advantage of :)", + "created_at": "2024-02-04T17:42:40Z", + "html_url": "https://github.com/neovim/neovim/pull/27323#issuecomment-1925859603", + "id": 1925859603, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27323", + "node_id": "IC_kwDOAPphoM5yykkT", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925859603/reactions" + }, + "updated_at": "2024-02-04T17:43:04Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925859603", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27323/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27323/commits", + "created_at": "2024-02-03T13:22:35Z", + "diff_url": "https://github.com/neovim/neovim/pull/27323.diff", + "draft": false, + "head": { + "label": "tom-anders:rangesFormatting", + "ref": "rangesFormatting", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/tom-anders/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/tom-anders/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/tom-anders/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/tom-anders/neovim/branches{/branch}", + "clone_url": "https://github.com/tom-anders/neovim.git", + "collaborators_url": "https://api.github.com/repos/tom-anders/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/tom-anders/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/tom-anders/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/tom-anders/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/tom-anders/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/tom-anders/neovim/contributors", + "created_at": "2022-04-06T12:33:28Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/tom-anders/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/tom-anders/neovim/downloads", + "events_url": "https://api.github.com/repos/tom-anders/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/tom-anders/neovim/forks", + "full_name": "tom-anders/neovim", + "git_commits_url": "https://api.github.com/repos/tom-anders/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/tom-anders/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/tom-anders/neovim/git/tags{/sha}", + "git_url": "git://github.com/tom-anders/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/tom-anders/neovim/hooks", + "html_url": "https://github.com/tom-anders/neovim", + "id": 478551950, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/tom-anders/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/tom-anders/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/tom-anders/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/tom-anders/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/tom-anders/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/tom-anders/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/tom-anders/neovim/merges", + "milestones_url": "https://api.github.com/repos/tom-anders/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOHIYfjg", + "notifications_url": "https://api.github.com/repos/tom-anders/neovim/notifications{?since,all,participating}", + "open_issues": 1, + "open_issues_count": 1, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/13141438?v=4", + "events_url": "https://api.github.com/users/tom-anders/events{/privacy}", + "followers_url": "https://api.github.com/users/tom-anders/followers", + "following_url": "https://api.github.com/users/tom-anders/following{/other_user}", + "gists_url": "https://api.github.com/users/tom-anders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/tom-anders", + "id": 13141438, + "login": "tom-anders", + "node_id": "MDQ6VXNlcjEzMTQxNDM4", + "organizations_url": "https://api.github.com/users/tom-anders/orgs", + "received_events_url": "https://api.github.com/users/tom-anders/received_events", + "repos_url": "https://api.github.com/users/tom-anders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/tom-anders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom-anders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/tom-anders" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/tom-anders/neovim/pulls{/number}", + "pushed_at": "2024-02-04T19:09:01Z", + "releases_url": "https://api.github.com/repos/tom-anders/neovim/releases{/id}", + "size": 247460, + "ssh_url": "git@github.com:tom-anders/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/tom-anders/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/tom-anders/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/tom-anders/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/tom-anders/neovim/subscription", + "svn_url": "https://github.com/tom-anders/neovim", + "tags_url": "https://api.github.com/repos/tom-anders/neovim/tags", + "teams_url": "https://api.github.com/repos/tom-anders/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/tom-anders/neovim/git/trees{/sha}", + "updated_at": "2023-02-19T14:38:35Z", + "url": "https://api.github.com/repos/tom-anders/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "48ddc62133599b98abae2be00ba2facfbccab6c8", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/13141438?v=4", + "events_url": "https://api.github.com/users/tom-anders/events{/privacy}", + "followers_url": "https://api.github.com/users/tom-anders/followers", + "following_url": "https://api.github.com/users/tom-anders/following{/other_user}", + "gists_url": "https://api.github.com/users/tom-anders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/tom-anders", + "id": 13141438, + "login": "tom-anders", + "node_id": "MDQ6VXNlcjEzMTQxNDM4", + "organizations_url": "https://api.github.com/users/tom-anders/orgs", + "received_events_url": "https://api.github.com/users/tom-anders/received_events", + "repos_url": "https://api.github.com/users/tom-anders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/tom-anders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom-anders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/tom-anders" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27323", + "id": 1709856109, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27323", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": null, + "id": 662566370, + "name": "lsp", + "node_id": "MDU6TGFiZWw2NjI1NjYzNzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/lsp" + } + ], + "locked": false, + "merge_commit_sha": "3032db146875b29dc72ade49ade10d49d53ab415", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM5l6lVt", + "number": 27323, + "patch_url": "https://github.com/neovim/neovim/pull/27323.patch", + "requested_reviewers": [ + { + "avatar_url": "https://avatars.githubusercontent.com/u/292349?v=4", + "events_url": "https://api.github.com/users/folke/events{/privacy}", + "followers_url": "https://api.github.com/users/folke/followers", + "following_url": "https://api.github.com/users/folke/following{/other_user}", + "gists_url": "https://api.github.com/users/folke/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/folke", + "id": 292349, + "login": "folke", + "node_id": "MDQ6VXNlcjI5MjM0OQ==", + "organizations_url": "https://api.github.com/users/folke/orgs", + "received_events_url": "https://api.github.com/users/folke/received_events", + "repos_url": "https://api.github.com/users/folke/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/folke/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/folke/subscriptions", + "type": "User", + "url": "https://api.github.com/users/folke" + }, + { + "avatar_url": "https://avatars.githubusercontent.com/u/38700?v=4", + "events_url": "https://api.github.com/users/mfussenegger/events{/privacy}", + "followers_url": "https://api.github.com/users/mfussenegger/followers", + "following_url": "https://api.github.com/users/mfussenegger/following{/other_user}", + "gists_url": "https://api.github.com/users/mfussenegger/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/mfussenegger", + "id": 38700, + "login": "mfussenegger", + "node_id": "MDQ6VXNlcjM4NzAw", + "organizations_url": "https://api.github.com/users/mfussenegger/orgs", + "received_events_url": "https://api.github.com/users/mfussenegger/received_events", + "repos_url": "https://api.github.com/users/mfussenegger/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/mfussenegger/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mfussenegger/subscriptions", + "type": "User", + "url": "https://api.github.com/users/mfussenegger" + } + ], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27323/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/48ddc62133599b98abae2be00ba2facfbccab6c8", + "title": "feat(lsp): add textDocument/rangesFormatting support to vim.lsp.buf.format()", + "updated_at": "2024-02-04T20:17:02Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27323", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/13141438?v=4", + "events_url": "https://api.github.com/users/tom-anders/events{/privacy}", + "followers_url": "https://api.github.com/users/tom-anders/followers", + "following_url": "https://api.github.com/users/tom-anders/following{/other_user}", + "gists_url": "https://api.github.com/users/tom-anders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/tom-anders", + "id": 13141438, + "login": "tom-anders", + "node_id": "MDQ6VXNlcjEzMTQxNDM4", + "organizations_url": "https://api.github.com/users/tom-anders/orgs", + "received_events_url": "https://api.github.com/users/tom-anders/received_events", + "repos_url": "https://api.github.com/users/tom-anders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/tom-anders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom-anders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/tom-anders" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27326.json b/repositories/neovim/pulls/27326.json new file mode 100644 index 00000000..a6fc9b1a --- /dev/null +++ b/repositories/neovim/pulls/27326.json @@ -0,0 +1,362 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27326/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27326/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27326" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27326" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27326/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27326" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/80d7e7e5bf3a8a64d7fe1bcd76cceadd0bc4fa9a" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "c559ab0ae6bebd565862dd28b39947a07766846d", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "#### vim-patch:9.1.0073: Looping over modifier_keys_table unnecessarily\n\nProblem: Looping over modifier_keys_table[] unnecessarily with only\n MOD_MASK_ALT or MOD_MASK_CMD, as modifier_keys_table[] only\n contains MOD_MASK_SHIFT and MOD_MASK_CTRL, and the loop won't\n do anything.\nSolution: Remove MOD_MASK_ALT and MOD_MASK_CMD from the condition.\n (zeertzjq)\n\ncloses: vim/vim#13963\n\nhttps://github.com/vim/vim/commit/0c989e4a3ae50085aa8c6bed5d6701760191bc1d\n\n\n#### vim-patch:9.1.0074: did_set_breakat() should be in optionstr.c\n\nProblem: did_set_breakat() should be in optionstr.c as 'breakat' is a\n string option.\nSolution: Move did_set_breakat() to optionstr.c.\n (zeertzjq)\n\ncloses: vim/vim#13958\n\nhttps://github.com/vim/vim/commit/eac3fdcfa0b54281c37ffb66b4d4e8d1072cca1c", + "closed_at": "2024-02-03T23:05:04Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27326/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27326/commits", + "created_at": "2024-02-03T22:46:41Z", + "diff_url": "https://github.com/neovim/neovim/pull/27326.diff", + "draft": false, + "head": { + "label": "zeertzjq:vim-9.1.0073", + "ref": "vim-9.1.0073", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/zeertzjq/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/zeertzjq/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/zeertzjq/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/zeertzjq/neovim/branches{/branch}", + "clone_url": "https://github.com/zeertzjq/neovim.git", + "collaborators_url": "https://api.github.com/repos/zeertzjq/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/zeertzjq/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/zeertzjq/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/zeertzjq/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/zeertzjq/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/zeertzjq/neovim/contributors", + "created_at": "2021-09-27T02:22:45Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/zeertzjq/neovim/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/zeertzjq/neovim/downloads", + "events_url": "https://api.github.com/repos/zeertzjq/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/zeertzjq/neovim/forks", + "full_name": "zeertzjq/neovim", + "git_commits_url": "https://api.github.com/repos/zeertzjq/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/zeertzjq/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/zeertzjq/neovim/git/tags{/sha}", + "git_url": "git://github.com/zeertzjq/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/zeertzjq/neovim/hooks", + "html_url": "https://github.com/zeertzjq/neovim", + "id": 410715915, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/zeertzjq/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/zeertzjq/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/zeertzjq/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/zeertzjq/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/zeertzjq/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/zeertzjq/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/zeertzjq/neovim/merges", + "milestones_url": "https://api.github.com/repos/zeertzjq/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOGHsHCw", + "notifications_url": "https://api.github.com/repos/zeertzjq/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/zeertzjq/neovim/pulls{/number}", + "pushed_at": "2024-02-05T07:34:22Z", + "releases_url": "https://api.github.com/repos/zeertzjq/neovim/releases{/id}", + "size": 236183, + "ssh_url": "git@github.com:zeertzjq/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/zeertzjq/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/zeertzjq/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/zeertzjq/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/zeertzjq/neovim/subscription", + "svn_url": "https://github.com/zeertzjq/neovim", + "tags_url": "https://api.github.com/repos/zeertzjq/neovim/tags", + "teams_url": "https://api.github.com/repos/zeertzjq/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/zeertzjq/neovim/git/trees{/sha}", + "updated_at": "2023-02-18T11:19:39Z", + "url": "https://api.github.com/repos/zeertzjq/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "80d7e7e5bf3a8a64d7fe1bcd76cceadd0bc4fa9a", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27326", + "id": 1710043083, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27326", + "labels": [ + { + "color": "e6e6e6", + "default": false, + "description": "See https://github.com/neovim/neovim/wiki/Merging-patches-from-upstream-Vim", + "id": 843184430, + "name": "vim-patch", + "node_id": "MDU6TGFiZWw4NDMxODQ0MzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/vim-patch" + } + ], + "locked": false, + "merge_commit_sha": "c8055c4a8daeeaff8f365361f63fedb858b64341", + "merged_at": "2024-02-03T23:05:04Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5l7S_L", + "number": 27326, + "patch_url": "https://github.com/neovim/neovim/pull/27326.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27326/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/80d7e7e5bf3a8a64d7fe1bcd76cceadd0bc4fa9a", + "title": "vim-patch:9.1.{0073,0074}", + "updated_at": "2024-02-03T23:05:16Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27326", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27327.json b/repositories/neovim/pulls/27327.json new file mode 100644 index 00000000..aaab0c09 --- /dev/null +++ b/repositories/neovim/pulls/27327.json @@ -0,0 +1,362 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27327/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27327/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27327" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27327" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27327/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27327" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/da51cf80829a779d852963a69d70629f80c19648" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "c559ab0ae6bebd565862dd28b39947a07766846d", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "#### vim-patch:7c5aeaffa2be\n\nruntime(vim): Update syntax file (vim/vim#13969)\n\nImprove string interpolation highlighting.\n\nUse the vimSep group to highlight interpolation braces as vimOperParen\nhas no highlighting of its own and employs vimSep via matchgroup.\n\nAdd vimNumber to the interpolation group's contained list.\n\nhttps://github.com/vim/vim/commit/7c5aeaffa2bec8f16f36bd33a749a6e965d8ab30\n\nCo-authored-by: dkearns ", + "closed_at": "2024-02-03T23:09:54Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27327/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27327/commits", + "created_at": "2024-02-03T22:51:23Z", + "diff_url": "https://github.com/neovim/neovim/pull/27327.diff", + "draft": false, + "head": { + "label": "zeertzjq:vim-7c5aeaffa2be", + "ref": "vim-7c5aeaffa2be", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/zeertzjq/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/zeertzjq/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/zeertzjq/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/zeertzjq/neovim/branches{/branch}", + "clone_url": "https://github.com/zeertzjq/neovim.git", + "collaborators_url": "https://api.github.com/repos/zeertzjq/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/zeertzjq/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/zeertzjq/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/zeertzjq/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/zeertzjq/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/zeertzjq/neovim/contributors", + "created_at": "2021-09-27T02:22:45Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/zeertzjq/neovim/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/zeertzjq/neovim/downloads", + "events_url": "https://api.github.com/repos/zeertzjq/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/zeertzjq/neovim/forks", + "full_name": "zeertzjq/neovim", + "git_commits_url": "https://api.github.com/repos/zeertzjq/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/zeertzjq/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/zeertzjq/neovim/git/tags{/sha}", + "git_url": "git://github.com/zeertzjq/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/zeertzjq/neovim/hooks", + "html_url": "https://github.com/zeertzjq/neovim", + "id": 410715915, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/zeertzjq/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/zeertzjq/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/zeertzjq/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/zeertzjq/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/zeertzjq/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/zeertzjq/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/zeertzjq/neovim/merges", + "milestones_url": "https://api.github.com/repos/zeertzjq/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOGHsHCw", + "notifications_url": "https://api.github.com/repos/zeertzjq/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/zeertzjq/neovim/pulls{/number}", + "pushed_at": "2024-02-05T07:34:22Z", + "releases_url": "https://api.github.com/repos/zeertzjq/neovim/releases{/id}", + "size": 236183, + "ssh_url": "git@github.com:zeertzjq/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/zeertzjq/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/zeertzjq/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/zeertzjq/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/zeertzjq/neovim/subscription", + "svn_url": "https://github.com/zeertzjq/neovim", + "tags_url": "https://api.github.com/repos/zeertzjq/neovim/tags", + "teams_url": "https://api.github.com/repos/zeertzjq/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/zeertzjq/neovim/git/trees{/sha}", + "updated_at": "2023-02-18T11:19:39Z", + "url": "https://api.github.com/repos/zeertzjq/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "da51cf80829a779d852963a69d70629f80c19648", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27327", + "id": 1710043915, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27327", + "labels": [ + { + "color": "e6e6e6", + "default": false, + "description": "See https://github.com/neovim/neovim/wiki/Merging-patches-from-upstream-Vim", + "id": 843184430, + "name": "vim-patch", + "node_id": "MDU6TGFiZWw4NDMxODQ0MzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/vim-patch" + } + ], + "locked": false, + "merge_commit_sha": "cd3399f6bd99494c5805ee2560e515ec6c782e59", + "merged_at": "2024-02-03T23:09:54Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5l7TML", + "number": 27327, + "patch_url": "https://github.com/neovim/neovim/pull/27327.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27327/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/da51cf80829a779d852963a69d70629f80c19648", + "title": "vim-patch:7c5aeaffa2be", + "updated_at": "2024-02-03T23:11:32Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27327", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27328.json b/repositories/neovim/pulls/27328.json new file mode 100644 index 00000000..c01f926a --- /dev/null +++ b/repositories/neovim/pulls/27328.json @@ -0,0 +1,845 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27328/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27328/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27328" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27328" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27328/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27328" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/b92b9be85d0a2e2e237e065b497b0ece95f7e6b4" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "c559ab0ae6bebd565862dd28b39947a07766846d", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Fixes #27325. Related to #16103.\r\n\r\n## fix(lsp): fix infinite loop on vim.lsp.tagfunc\r\n\r\nProblem: vim.lsp.tagfunc() causes an infinite loop.\r\n\r\nThis is a bug happened while introducing deferred loading (#27216).\r\n\r\nSolution: Rename the private module to `vim.lsp._tagfunc`.\r\n\r\n## test(lsp): add test cases for vim.lsp.tagfunc\r\n\r\nProblem: There is no test case for vim.lsp.tagfunc; so CI was unable to\r\ncatch the infinite loop bug (#27325).\r\n\r\nSolution: Add test cases for vim.lsp.tagfunc().", + "closed_at": "2024-02-05T10:35:25Z", + "comment_data": [ + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27328#discussion_r1477140240" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27328" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477140240" + } + }, + "author_association": "MEMBER", + "body": "The purpose of this function was originally to make calling tagfunc easier (without needing `require`), but now that that isn’t necessary, this function is just a useless wrapper. Can we keep the tagfunc module named as-is and remove this wrapper function instead?", + "commit_id": "b92b9be85d0a2e2e237e065b497b0ece95f7e6b4", + "created_at": "2024-02-03T23:38:52Z", + "diff_hunk": "@@ -2040,7 +2040,7 @@ end\n ---\n ---@return table[] tags A list of matching tags\n function lsp.tagfunc(pattern, flags)\n- return vim.lsp.tagfunc(pattern, flags)\n+ return vim.lsp._tagfunc(pattern, flags)", + "html_url": "https://github.com/neovim/neovim/pull/27328#discussion_r1477140240", + "id": 1477140240, + "line": 2043, + "node_id": "PRRC_kwDOAPphoM5YC18Q", + "original_commit_id": "b92b9be85d0a2e2e237e065b497b0ece95f7e6b4", + "original_line": 2043, + "original_position": 21, + "original_start_line": null, + "path": "runtime/lua/vim/lsp.lua", + "position": 21, + "pull_request_review_id": 1861135356, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27328", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477140240/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-03T23:38:52Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477140240", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27328#discussion_r1477141079" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27328" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477141079" + } + }, + "author_association": "MEMBER", + "body": "> this function is just a useless wrapper\r\n\r\nThat's true, I also felt the same but it was bothering me that `vim.lsp.tagfunc` is a module and function (returned by the module). The problem is `gen_vimdoc`: it does not recognize the docs moved to `vim.lsp.tagfunc` --- but I fully agree with you. Let me find a solution to make docgen happy (e.g., using metatable).", + "commit_id": "b92b9be85d0a2e2e237e065b497b0ece95f7e6b4", + "created_at": "2024-02-03T23:48:20Z", + "diff_hunk": "@@ -2040,7 +2040,7 @@ end\n ---\n ---@return table[] tags A list of matching tags\n function lsp.tagfunc(pattern, flags)\n- return vim.lsp.tagfunc(pattern, flags)\n+ return vim.lsp._tagfunc(pattern, flags)", + "html_url": "https://github.com/neovim/neovim/pull/27328#discussion_r1477141079", + "id": 1477141079, + "in_reply_to_id": 1477140240, + "line": 2043, + "node_id": "PRRC_kwDOAPphoM5YC2JX", + "original_commit_id": "b92b9be85d0a2e2e237e065b497b0ece95f7e6b4", + "original_line": 2043, + "original_position": 21, + "original_start_line": null, + "path": "runtime/lua/vim/lsp.lua", + "position": 21, + "pull_request_review_id": 1861138001, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27328", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477141079/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-03T23:48:56Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477141079", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27328#discussion_r1477145159" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27328" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477145159" + } + }, + "author_association": "MEMBER", + "body": "If we move docs to the `vim.lsp.tagfunc` module and remove the wrapper, a new *section* in vimdoc will be added:\r\n\r\n```\r\nLua module: vim.lsp.tagfunc *lsp-tagfunc*\r\n\r\ntagfunc *vim.lsp.tagfunc.tagfunc*\r\n Provides an interface between the built-in client and 'tagfunc'.\r\n```\r\n\r\nBut I'm not sure we want this. (BTW: it should be overridden to `*vim.lsp.tagfunc*` ...)", + "commit_id": "b92b9be85d0a2e2e237e065b497b0ece95f7e6b4", + "created_at": "2024-02-04T00:37:49Z", + "diff_hunk": "@@ -2040,7 +2040,7 @@ end\n ---\n ---@return table[] tags A list of matching tags\n function lsp.tagfunc(pattern, flags)\n- return vim.lsp.tagfunc(pattern, flags)\n+ return vim.lsp._tagfunc(pattern, flags)", + "html_url": "https://github.com/neovim/neovim/pull/27328#discussion_r1477145159", + "id": 1477145159, + "in_reply_to_id": 1477140240, + "line": 2043, + "node_id": "PRRC_kwDOAPphoM5YC3JH", + "original_commit_id": "b92b9be85d0a2e2e237e065b497b0ece95f7e6b4", + "original_line": 2043, + "original_position": 21, + "original_start_line": null, + "path": "runtime/lua/vim/lsp.lua", + "position": 21, + "pull_request_review_id": 1861177334, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27328", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477145159/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T00:37:49Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477145159", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27328#discussion_r1477162655" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27328" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477162655" + } + }, + "author_association": "MEMBER", + "body": "This works, though it's a bit of a hack...\r\n\r\n```diff\r\ndiff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua\r\nindex 5fa5a1db2..29f6eb8c4 100644\r\n--- a/runtime/lua/vim/lsp.lua\r\n+++ b/runtime/lua/vim/lsp.lua\r\n@@ -2040,9 +2040,12 @@ end\r\n ---\r\n ---@return table[] tags A list of matching tags\r\n function lsp.tagfunc(pattern, flags)\r\n- return vim.lsp.tagfunc(pattern, flags)\r\n+ error('Unreachable')\r\n end\r\n \r\n+---@nodoc\r\n+lsp.tagfunc = nil\r\n+\r\n ---Checks whether a client is stopped.\r\n ---\r\n ---@param client_id (integer)\r\n```", + "commit_id": "b92b9be85d0a2e2e237e065b497b0ece95f7e6b4", + "created_at": "2024-02-04T02:04:55Z", + "diff_hunk": "@@ -2040,7 +2040,7 @@ end\n ---\n ---@return table[] tags A list of matching tags\n function lsp.tagfunc(pattern, flags)\n- return vim.lsp.tagfunc(pattern, flags)\n+ return vim.lsp._tagfunc(pattern, flags)", + "html_url": "https://github.com/neovim/neovim/pull/27328#discussion_r1477162655", + "id": 1477162655, + "in_reply_to_id": 1477140240, + "line": 2043, + "node_id": "PRRC_kwDOAPphoM5YC7af", + "original_commit_id": "b92b9be85d0a2e2e237e065b497b0ece95f7e6b4", + "original_line": 2043, + "original_position": 21, + "original_start_line": null, + "path": "runtime/lua/vim/lsp.lua", + "position": 21, + "pull_request_review_id": 1861242969, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27328", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477162655/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T02:04:56Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477162655", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/8965202?v=4", + "events_url": "https://api.github.com/users/gpanders/events{/privacy}", + "followers_url": "https://api.github.com/users/gpanders/followers", + "following_url": "https://api.github.com/users/gpanders/following{/other_user}", + "gists_url": "https://api.github.com/users/gpanders/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gpanders", + "id": 8965202, + "login": "gpanders", + "node_id": "MDQ6VXNlcjg5NjUyMDI=", + "organizations_url": "https://api.github.com/users/gpanders/orgs", + "received_events_url": "https://api.github.com/users/gpanders/received_events", + "repos_url": "https://api.github.com/users/gpanders/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gpanders/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gpanders/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gpanders" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27328#discussion_r1477166534" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27328" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477166534" + } + }, + "author_association": "MEMBER", + "body": "Yeah, nice idea; looks hacky :D. The useless --- but useful only for the doc --- wrapper would be better though if we're not moving the documentation.", + "commit_id": "b92b9be85d0a2e2e237e065b497b0ece95f7e6b4", + "created_at": "2024-02-04T02:48:44Z", + "diff_hunk": "@@ -2040,7 +2040,7 @@ end\n ---\n ---@return table[] tags A list of matching tags\n function lsp.tagfunc(pattern, flags)\n- return vim.lsp.tagfunc(pattern, flags)\n+ return vim.lsp._tagfunc(pattern, flags)", + "html_url": "https://github.com/neovim/neovim/pull/27328#discussion_r1477166534", + "id": 1477166534, + "in_reply_to_id": 1477140240, + "line": 2043, + "node_id": "PRRC_kwDOAPphoM5YC8XG", + "original_commit_id": "b92b9be85d0a2e2e237e065b497b0ece95f7e6b4", + "original_line": 2043, + "original_position": 21, + "original_start_line": null, + "path": "runtime/lua/vim/lsp.lua", + "position": 21, + "pull_request_review_id": 1861246612, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27328", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477166534/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T02:49:08Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477166534", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27328#discussion_r1477169905" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27328" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477169905" + } + }, + "author_association": "MEMBER", + "body": "(Just leaving my 2 cents here) I think that dirty hacks are neat when:\r\n- The code documents why the hack is needed and why/how it works.\r\n- There's `git` history that provides context information around the problem (and hack).\r\n- (Optional but still lovely) There's a `TODO` comment/GitHub issue/something documenting that this is a hack and that there's future hope for a cleaner non-hacky solution that someone will be brave enough to tackle.\r\n\r\nIn this particular situation, I believe the hack is worth it but I insist in the conditions above ;)", + "commit_id": "b92b9be85d0a2e2e237e065b497b0ece95f7e6b4", + "created_at": "2024-02-04T03:27:02Z", + "diff_hunk": "@@ -2040,7 +2040,7 @@ end\n ---\n ---@return table[] tags A list of matching tags\n function lsp.tagfunc(pattern, flags)\n- return vim.lsp.tagfunc(pattern, flags)\n+ return vim.lsp._tagfunc(pattern, flags)", + "html_url": "https://github.com/neovim/neovim/pull/27328#discussion_r1477169905", + "id": 1477169905, + "in_reply_to_id": 1477140240, + "line": 2043, + "node_id": "PRRC_kwDOAPphoM5YC9Lx", + "original_commit_id": "b92b9be85d0a2e2e237e065b497b0ece95f7e6b4", + "original_line": 2043, + "original_position": 21, + "original_start_line": null, + "path": "runtime/lua/vim/lsp.lua", + "position": 21, + "pull_request_review_id": 1861252494, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27328", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477169905/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T03:27:02Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477169905", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27328#discussion_r1477976743" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27328" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477976743" + } + }, + "author_association": "MEMBER", + "body": "We have a similar issue with `vim.treesitter.foldexpr()` where `foldexpr` is returned by `treesitter._fold`. And `vim.system` too I think.\r\n\r\nThis issue is really disrupting my workflow, so I'm just going to merge this as is. We can accept a follow-up PR that either fixes `gen_vimdoc.py` or adds the above \"hack\", but for now a redundant wrapper to a private module isn't a huge problem.", + "commit_id": "b92b9be85d0a2e2e237e065b497b0ece95f7e6b4", + "created_at": "2024-02-05T10:34:51Z", + "diff_hunk": "@@ -2040,7 +2040,7 @@ end\n ---\n ---@return table[] tags A list of matching tags\n function lsp.tagfunc(pattern, flags)\n- return vim.lsp.tagfunc(pattern, flags)\n+ return vim.lsp._tagfunc(pattern, flags)", + "html_url": "https://github.com/neovim/neovim/pull/27328#discussion_r1477976743", + "id": 1477976743, + "in_reply_to_id": 1477140240, + "line": 2043, + "node_id": "PRRC_kwDOAPphoM5YGCKn", + "original_commit_id": "b92b9be85d0a2e2e237e065b497b0ece95f7e6b4", + "original_line": 2043, + "original_position": 21, + "original_start_line": null, + "path": "runtime/lua/vim/lsp.lua", + "position": 21, + "pull_request_review_id": 1862385955, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27328", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477976743/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T10:35:10Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477976743", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + } + ], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27328/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27328/commits", + "created_at": "2024-02-03T22:57:32Z", + "diff_url": "https://github.com/neovim/neovim/pull/27328.diff", + "draft": false, + "head": { + "label": "wookayin:fix/lsp-tagfunc", + "ref": "fix/lsp-tagfunc", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/wookayin/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/wookayin/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/wookayin/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/wookayin/neovim/branches{/branch}", + "clone_url": "https://github.com/wookayin/neovim.git", + "collaborators_url": "https://api.github.com/repos/wookayin/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/wookayin/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/wookayin/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/wookayin/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/wookayin/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/wookayin/neovim/contributors", + "created_at": "2022-10-30T19:40:29Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/wookayin/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/wookayin/neovim/downloads", + "events_url": "https://api.github.com/repos/wookayin/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/wookayin/neovim/forks", + "full_name": "wookayin/neovim", + "git_commits_url": "https://api.github.com/repos/wookayin/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/wookayin/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/wookayin/neovim/git/tags{/sha}", + "git_url": "git://github.com/wookayin/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/wookayin/neovim/hooks", + "html_url": "https://github.com/wookayin/neovim", + "id": 559659867, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/wookayin/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/wookayin/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/wookayin/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/wookayin/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/wookayin/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/wookayin/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/wookayin/neovim/merges", + "milestones_url": "https://api.github.com/repos/wookayin/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOIVu7Ww", + "notifications_url": "https://api.github.com/repos/wookayin/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/wookayin/neovim/pulls{/number}", + "pushed_at": "2024-02-05T22:04:28Z", + "releases_url": "https://api.github.com/repos/wookayin/neovim/releases{/id}", + "size": 247830, + "ssh_url": "git@github.com:wookayin/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/wookayin/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/wookayin/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/wookayin/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/wookayin/neovim/subscription", + "svn_url": "https://github.com/wookayin/neovim", + "tags_url": "https://api.github.com/repos/wookayin/neovim/tags", + "teams_url": "https://api.github.com/repos/wookayin/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/wookayin/neovim/git/trees{/sha}", + "updated_at": "2024-01-25T20:45:40Z", + "url": "https://api.github.com/repos/wookayin/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "b92b9be85d0a2e2e237e065b497b0ece95f7e6b4", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27328", + "id": 1710045080, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27328", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": null, + "id": 662566370, + "name": "lsp", + "node_id": "MDU6TGFiZWw2NjI1NjYzNzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/lsp" + } + ], + "locked": false, + "merge_commit_sha": "43661a0abf6e1698516d78e6dbf9dfdbf76720bc", + "merged_at": "2024-02-05T10:35:25Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5l7TeY", + "number": 27328, + "patch_url": "https://github.com/neovim/neovim/pull/27328.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27328/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/b92b9be85d0a2e2e237e065b497b0ece95f7e6b4", + "title": "fix(lsp): fix infinite loop on vim.lsp.tagfunc", + "updated_at": "2024-02-05T10:45:45Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27328", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27330.json b/repositories/neovim/pulls/27330.json new file mode 100644 index 00000000..a808091d --- /dev/null +++ b/repositories/neovim/pulls/27330.json @@ -0,0 +1,633 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27330/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27330/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27330" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27330" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27330/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27330" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/da02c6dcff792866952c9b6a3fceccbd7e080d01" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "cd3399f6bd99494c5805ee2560e515ec6c782e59", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Follows up on some issues in #25550", + "closed_at": null, + "comment_data": [ + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27330#discussion_r1477173014" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27330" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477173014" + } + }, + "author_association": "CONTRIBUTOR", + "body": "The only uses of `win_split_flags` add `| WSP_NOENTER`. Maybe we should just move that into the function?", + "commit_id": "da02c6dcff792866952c9b6a3fceccbd7e080d01", + "created_at": "2024-02-04T04:01:33Z", + "diff_hunk": "@@ -490,7 +495,7 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n win->w_pos_changed = true;\n }\n \n- int flags = win_split_flags(fconfig.split, parent == NULL);\n+ int flags = win_split_flags(fconfig.split, parent == NULL) | WSP_NOENTER;", + "html_url": "https://github.com/neovim/neovim/pull/27330#discussion_r1477173014", + "id": 1477173014, + "line": 498, + "node_id": "PRRC_kwDOAPphoM5YC98W", + "original_commit_id": "da02c6dcff792866952c9b6a3fceccbd7e080d01", + "original_line": 498, + "original_position": 24, + "original_start_line": null, + "path": "src/nvim/api/win_config.c", + "position": 24, + "pull_request_review_id": 1861261210, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27330", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477173014/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T04:01:33Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477173014", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27330#discussion_r1477332171" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27330" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477332171" + } + }, + "author_association": "MEMBER", + "body": "Subjective (especially as `win_split_flags` is static too), but I think I prefer `WSP_NOENTER` being set at the caller's discretion.", + "commit_id": "da02c6dcff792866952c9b6a3fceccbd7e080d01", + "created_at": "2024-02-04T14:29:15Z", + "diff_hunk": "@@ -490,7 +495,7 @@ void nvim_win_set_config(Window window, Dict(float_config) *config, Error *err)\n win->w_pos_changed = true;\n }\n \n- int flags = win_split_flags(fconfig.split, parent == NULL);\n+ int flags = win_split_flags(fconfig.split, parent == NULL) | WSP_NOENTER;", + "html_url": "https://github.com/neovim/neovim/pull/27330#discussion_r1477332171", + "id": 1477332171, + "in_reply_to_id": 1477173014, + "line": 498, + "node_id": "PRRC_kwDOAPphoM5YDkzL", + "original_commit_id": "da02c6dcff792866952c9b6a3fceccbd7e080d01", + "original_line": 498, + "original_position": 24, + "original_start_line": null, + "path": "src/nvim/api/win_config.c", + "position": 24, + "pull_request_review_id": 1861447800, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27330", + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477332171/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-04T14:29:15Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1477332171", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6256228?v=4", + "events_url": "https://api.github.com/users/seandewar/events{/privacy}", + "followers_url": "https://api.github.com/users/seandewar/followers", + "following_url": "https://api.github.com/users/seandewar/following{/other_user}", + "gists_url": "https://api.github.com/users/seandewar/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/seandewar", + "id": 6256228, + "login": "seandewar", + "node_id": "MDQ6VXNlcjYyNTYyMjg=", + "organizations_url": "https://api.github.com/users/seandewar/orgs", + "received_events_url": "https://api.github.com/users/seandewar/received_events", + "repos_url": "https://api.github.com/users/seandewar/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/seandewar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/seandewar/subscriptions", + "type": "User", + "url": "https://api.github.com/users/seandewar" + } + } + ], + "comment_regular_data": [ + { + "author_association": "CONTRIBUTOR", + "body": "This looks great! I'm working on fixes for some of the [split behavior](https://github.com/neovim/neovim/pull/25550#discussion_r1474165527) btw, unless you were planning on doing that.", + "created_at": "2024-02-04T03:58:32Z", + "html_url": "https://github.com/neovim/neovim/pull/27330#issuecomment-1925571889", + "id": 1925571889, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27330", + "node_id": "IC_kwDOAPphoM5yxeUx", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925571889/reactions" + }, + "updated_at": "2024-02-04T03:58:32Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925571889", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } + }, + { + "author_association": "MEMBER", + "body": "> This looks great! I'm working on fixes for some of the [split behavior](https://github.com/neovim/neovim/pull/25550#discussion_r1474165527) btw, unless you were planning on doing that.\r\n\r\nFeel free to work on that! I only plan to address some random things I find here.", + "created_at": "2024-02-04T14:30:22Z", + "html_url": "https://github.com/neovim/neovim/pull/27330#issuecomment-1925775772", + "id": 1925775772, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27330", + "node_id": "IC_kwDOAPphoM5yyQGc", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 1, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925775772/reactions" + }, + "updated_at": "2024-02-04T14:30:22Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925775772", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6256228?v=4", + "events_url": "https://api.github.com/users/seandewar/events{/privacy}", + "followers_url": "https://api.github.com/users/seandewar/followers", + "following_url": "https://api.github.com/users/seandewar/following{/other_user}", + "gists_url": "https://api.github.com/users/seandewar/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/seandewar", + "id": 6256228, + "login": "seandewar", + "node_id": "MDQ6VXNlcjYyNTYyMjg=", + "organizations_url": "https://api.github.com/users/seandewar/orgs", + "received_events_url": "https://api.github.com/users/seandewar/received_events", + "repos_url": "https://api.github.com/users/seandewar/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/seandewar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/seandewar/subscriptions", + "type": "User", + "url": "https://api.github.com/users/seandewar" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "> Feel free to work on that! I only plan to address some random things I find here.\n\nSounds good!", + "created_at": "2024-02-04T20:23:01Z", + "html_url": "https://github.com/neovim/neovim/pull/27330#issuecomment-1925903674", + "id": 1925903674, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27330", + "node_id": "IC_kwDOAPphoM5yyvU6", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925903674/reactions" + }, + "updated_at": "2024-02-04T20:23:01Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1925903674", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38540736?v=4", + "events_url": "https://api.github.com/users/willothy/events{/privacy}", + "followers_url": "https://api.github.com/users/willothy/followers", + "following_url": "https://api.github.com/users/willothy/following{/other_user}", + "gists_url": "https://api.github.com/users/willothy/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/willothy", + "id": 38540736, + "login": "willothy", + "node_id": "MDQ6VXNlcjM4NTQwNzM2", + "organizations_url": "https://api.github.com/users/willothy/orgs", + "received_events_url": "https://api.github.com/users/willothy/received_events", + "repos_url": "https://api.github.com/users/willothy/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/willothy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/willothy/subscriptions", + "type": "User", + "url": "https://api.github.com/users/willothy" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27330/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27330/commits", + "created_at": "2024-02-04T02:19:08Z", + "diff_url": "https://github.com/neovim/neovim/pull/27330.diff", + "draft": true, + "head": { + "label": "seandewar:win_set_config-fixes", + "ref": "win_set_config-fixes", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/seandewar/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/seandewar/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/seandewar/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/seandewar/neovim/branches{/branch}", + "clone_url": "https://github.com/seandewar/neovim.git", + "collaborators_url": "https://api.github.com/repos/seandewar/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/seandewar/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/seandewar/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/seandewar/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/seandewar/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/seandewar/neovim/contributors", + "created_at": "2020-10-20T16:45:01Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/seandewar/neovim/deployments", + "description": "[Contribution Fork] Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/seandewar/neovim/downloads", + "events_url": "https://api.github.com/repos/seandewar/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/seandewar/neovim/forks", + "full_name": "seandewar/neovim", + "git_commits_url": "https://api.github.com/repos/seandewar/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/seandewar/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/seandewar/neovim/git/tags{/sha}", + "git_url": "git://github.com/seandewar/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/seandewar/neovim/hooks", + "html_url": "https://github.com/seandewar/neovim", + "id": 305773353, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/seandewar/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/seandewar/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/seandewar/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/seandewar/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/seandewar/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/seandewar/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/seandewar/neovim/merges", + "milestones_url": "https://api.github.com/repos/seandewar/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkzMDU3NzMzNTM=", + "notifications_url": "https://api.github.com/repos/seandewar/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6256228?v=4", + "events_url": "https://api.github.com/users/seandewar/events{/privacy}", + "followers_url": "https://api.github.com/users/seandewar/followers", + "following_url": "https://api.github.com/users/seandewar/following{/other_user}", + "gists_url": "https://api.github.com/users/seandewar/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/seandewar", + "id": 6256228, + "login": "seandewar", + "node_id": "MDQ6VXNlcjYyNTYyMjg=", + "organizations_url": "https://api.github.com/users/seandewar/orgs", + "received_events_url": "https://api.github.com/users/seandewar/received_events", + "repos_url": "https://api.github.com/users/seandewar/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/seandewar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/seandewar/subscriptions", + "type": "User", + "url": "https://api.github.com/users/seandewar" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/seandewar/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:13:38Z", + "releases_url": "https://api.github.com/repos/seandewar/neovim/releases{/id}", + "size": 248428, + "ssh_url": "git@github.com:seandewar/neovim.git", + "stargazers_count": 2, + "stargazers_url": "https://api.github.com/repos/seandewar/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/seandewar/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/seandewar/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/seandewar/neovim/subscription", + "svn_url": "https://github.com/seandewar/neovim", + "tags_url": "https://api.github.com/repos/seandewar/neovim/tags", + "teams_url": "https://api.github.com/repos/seandewar/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/seandewar/neovim/git/trees{/sha}", + "updated_at": "2023-01-12T23:27:58Z", + "url": "https://api.github.com/repos/seandewar/neovim", + "visibility": "public", + "watchers": 2, + "watchers_count": 2, + "web_commit_signoff_required": false + }, + "sha": "da02c6dcff792866952c9b6a3fceccbd7e080d01", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6256228?v=4", + "events_url": "https://api.github.com/users/seandewar/events{/privacy}", + "followers_url": "https://api.github.com/users/seandewar/followers", + "following_url": "https://api.github.com/users/seandewar/following{/other_user}", + "gists_url": "https://api.github.com/users/seandewar/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/seandewar", + "id": 6256228, + "login": "seandewar", + "node_id": "MDQ6VXNlcjYyNTYyMjg=", + "organizations_url": "https://api.github.com/users/seandewar/orgs", + "received_events_url": "https://api.github.com/users/seandewar/received_events", + "repos_url": "https://api.github.com/users/seandewar/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/seandewar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/seandewar/subscriptions", + "type": "User", + "url": "https://api.github.com/users/seandewar" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27330", + "id": 1710163681, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27330", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "libnvim, Nvim RPC API", + "id": 103819671, + "name": "api", + "node_id": "MDU6TGFiZWwxMDM4MTk2NzE=", + "url": "https://api.github.com/repos/neovim/neovim/labels/api" + } + ], + "locked": false, + "merge_commit_sha": "7dfd9cd31ceaca6fca0ae720616d629edb3ab903", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM5l7wbh", + "number": 27330, + "patch_url": "https://github.com/neovim/neovim/pull/27330.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27330/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/da02c6dcff792866952c9b6a3fceccbd7e080d01", + "title": "fix(api): some `nvim_win_set_config` splitting fixes", + "updated_at": "2024-02-04T20:23:03Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27330", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6256228?v=4", + "events_url": "https://api.github.com/users/seandewar/events{/privacy}", + "followers_url": "https://api.github.com/users/seandewar/followers", + "following_url": "https://api.github.com/users/seandewar/following{/other_user}", + "gists_url": "https://api.github.com/users/seandewar/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/seandewar", + "id": 6256228, + "login": "seandewar", + "node_id": "MDQ6VXNlcjYyNTYyMjg=", + "organizations_url": "https://api.github.com/users/seandewar/orgs", + "received_events_url": "https://api.github.com/users/seandewar/received_events", + "repos_url": "https://api.github.com/users/seandewar/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/seandewar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/seandewar/subscriptions", + "type": "User", + "url": "https://api.github.com/users/seandewar" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27332.json b/repositories/neovim/pulls/27332.json new file mode 100644 index 00000000..7ef23c84 --- /dev/null +++ b/repositories/neovim/pulls/27332.json @@ -0,0 +1,362 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27332/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27332/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27332" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27332" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27332/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27332" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/2d52b54614d32521a11f9e1357e532c435455a0d" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "cd3399f6bd99494c5805ee2560e515ec6c782e59", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Problem: insert completion not correct when adding new leader\r\nSolution: Reset compl_curr_match to compl_shown_match\r\n (glepnir)\r\n\r\ncloses: vim/vim#13957\r\n\r\nhttps://github.com/vim/vim/commit/cbb46b439888e10f87baaca504eafd191723c44b", + "closed_at": "2024-02-04T03:12:31Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27332/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27332/commits", + "created_at": "2024-02-04T02:55:45Z", + "diff_url": "https://github.com/neovim/neovim/pull/27332.diff", + "draft": false, + "head": { + "label": "glepnir:vim-patch", + "ref": "vim-patch", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/glepnir/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/glepnir/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/glepnir/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/glepnir/neovim/branches{/branch}", + "clone_url": "https://github.com/glepnir/neovim.git", + "collaborators_url": "https://api.github.com/repos/glepnir/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/glepnir/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/glepnir/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/glepnir/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/glepnir/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/glepnir/neovim/contributors", + "created_at": "2022-07-17T05:15:58Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/glepnir/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/glepnir/neovim/downloads", + "events_url": "https://api.github.com/repos/glepnir/neovim/events", + "fork": true, + "forks": 1, + "forks_count": 1, + "forks_url": "https://api.github.com/repos/glepnir/neovim/forks", + "full_name": "glepnir/neovim", + "git_commits_url": "https://api.github.com/repos/glepnir/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/glepnir/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/glepnir/neovim/git/tags{/sha}", + "git_url": "git://github.com/glepnir/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/glepnir/neovim/hooks", + "html_url": "https://github.com/glepnir/neovim", + "id": 514752985, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/glepnir/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/glepnir/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/glepnir/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/glepnir/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/glepnir/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/glepnir/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/glepnir/neovim/merges", + "milestones_url": "https://api.github.com/repos/glepnir/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOHq6B2Q", + "notifications_url": "https://api.github.com/repos/glepnir/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/glepnir/neovim/pulls{/number}", + "pushed_at": "2024-02-05T12:00:25Z", + "releases_url": "https://api.github.com/repos/glepnir/neovim/releases{/id}", + "size": 248354, + "ssh_url": "git@github.com:glepnir/neovim.git", + "stargazers_count": 2, + "stargazers_url": "https://api.github.com/repos/glepnir/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/glepnir/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/glepnir/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/glepnir/neovim/subscription", + "svn_url": "https://github.com/glepnir/neovim", + "tags_url": "https://api.github.com/repos/glepnir/neovim/tags", + "teams_url": "https://api.github.com/repos/glepnir/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/glepnir/neovim/git/trees{/sha}", + "updated_at": "2024-01-02T10:35:44Z", + "url": "https://api.github.com/repos/glepnir/neovim", + "visibility": "public", + "watchers": 2, + "watchers_count": 2, + "web_commit_signoff_required": false + }, + "sha": "2d52b54614d32521a11f9e1357e532c435455a0d", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27332", + "id": 1710170296, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27332", + "labels": [ + { + "color": "e6e6e6", + "default": false, + "description": "See https://github.com/neovim/neovim/wiki/Merging-patches-from-upstream-Vim", + "id": 843184430, + "name": "vim-patch", + "node_id": "MDU6TGFiZWw4NDMxODQ0MzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/vim-patch" + } + ], + "locked": false, + "merge_commit_sha": "21df0cdb886c09fccafb392949c690ca4af03987", + "merged_at": "2024-02-04T03:12:31Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5l7yC4", + "number": 27332, + "patch_url": "https://github.com/neovim/neovim/pull/27332.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27332/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/2d52b54614d32521a11f9e1357e532c435455a0d", + "title": "vim-patch:9.1.0075: insert completion not correct when adding new leader", + "updated_at": "2024-02-04T03:13:10Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27332", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27334.json b/repositories/neovim/pulls/27334.json new file mode 100644 index 00000000..bb09e868 --- /dev/null +++ b/repositories/neovim/pulls/27334.json @@ -0,0 +1,371 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27334/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27334/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27334" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27334" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27334/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27334" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/f74033f0e92b66de4202176ced84c74b67ee2955" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "21df0cdb886c09fccafb392949c690ca4af03987", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Problem: luau config file not detected\n (lopy)\nSolution: Detect it as jsonc\n (lopy)\n\nfixes: vim/vim#13960\ncloses: vim/vim#13970\n\nhttps://github.com/vim/vim/commit/de7f5bde6c598d4da4ce5b30328eb458962ba60a\n\nCo-authored-by: lopy <70210066+lopi-py@users.noreply.github.com>\n", + "closed_at": "2024-02-04T10:14:41Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27334/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27334/commits", + "created_at": "2024-02-04T09:58:35Z", + "diff_url": "https://github.com/neovim/neovim/pull/27334.diff", + "draft": false, + "head": { + "label": "clason:vim-9.1.0076", + "ref": "vim-9.1.0076", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/clason/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/clason/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/clason/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/clason/neovim/branches{/branch}", + "clone_url": "https://github.com/clason/neovim.git", + "collaborators_url": "https://api.github.com/repos/clason/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/clason/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/clason/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/clason/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/clason/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/clason/neovim/contributors", + "created_at": "2022-06-19T14:32:07Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/clason/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/clason/neovim/downloads", + "events_url": "https://api.github.com/repos/clason/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/clason/neovim/forks", + "full_name": "clason/neovim", + "git_commits_url": "https://api.github.com/repos/clason/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/clason/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/clason/neovim/git/tags{/sha}", + "git_url": "git://github.com/clason/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/clason/neovim/hooks", + "html_url": "https://github.com/clason/neovim", + "id": 505133677, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/clason/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/clason/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/clason/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/clason/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/clason/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/clason/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/clason/neovim/merges", + "milestones_url": "https://api.github.com/repos/clason/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOHhu6bQ", + "notifications_url": "https://api.github.com/repos/clason/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/clason/neovim/pulls{/number}", + "pushed_at": "2024-02-04T19:30:24Z", + "releases_url": "https://api.github.com/repos/clason/neovim/releases{/id}", + "size": 248690, + "ssh_url": "git@github.com:clason/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/clason/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/clason/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/clason/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/clason/neovim/subscription", + "svn_url": "https://github.com/clason/neovim", + "tags_url": "https://api.github.com/repos/clason/neovim/tags", + "teams_url": "https://api.github.com/repos/clason/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/clason/neovim/git/trees{/sha}", + "updated_at": "2023-01-31T19:57:54Z", + "url": "https://api.github.com/repos/clason/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "f74033f0e92b66de4202176ced84c74b67ee2955", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27334", + "id": 1710302524, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27334", + "labels": [ + { + "color": "e6e6e6", + "default": false, + "description": "See https://github.com/neovim/neovim/wiki/Merging-patches-from-upstream-Vim", + "id": 843184430, + "name": "vim-patch", + "node_id": "MDU6TGFiZWw4NDMxODQ0MzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/vim-patch" + }, + { + "color": "C5DEF5", + "default": false, + "description": "filetype detection, filetype.lua", + "id": 3708202139, + "name": "filetype", + "node_id": "LA_kwDOAPphoM7dBqyb", + "url": "https://api.github.com/repos/neovim/neovim/labels/filetype" + } + ], + "locked": false, + "merge_commit_sha": "1d5f86f6949b54445e51be67acf918bf2e15105c", + "merged_at": "2024-02-04T10:14:41Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5l8SU8", + "number": 27334, + "patch_url": "https://github.com/neovim/neovim/pull/27334.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27334/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/f74033f0e92b66de4202176ced84c74b67ee2955", + "title": "vim-patch:9.1.0076: luau config file not detected", + "updated_at": "2024-02-04T10:14:54Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27334", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27335.json b/repositories/neovim/pulls/27335.json new file mode 100644 index 00000000..2ec20deb --- /dev/null +++ b/repositories/neovim/pulls/27335.json @@ -0,0 +1,362 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27335/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27335/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27335" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27335" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27335/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27335" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/e27dd840af0fe50606fa6870c7d2fe51b36baf02" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "1d5f86f6949b54445e51be67acf918bf2e15105c", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": null, + "closed_at": null, + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27335/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27335/commits", + "created_at": "2024-02-04T10:38:53Z", + "diff_url": "https://github.com/neovim/neovim/pull/27335.diff", + "draft": true, + "head": { + "label": "lewis6991:tsdisable", + "ref": "tsdisable", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/lewis6991/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/lewis6991/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/lewis6991/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/lewis6991/neovim/branches{/branch}", + "clone_url": "https://github.com/lewis6991/neovim.git", + "collaborators_url": "https://api.github.com/repos/lewis6991/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/lewis6991/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/lewis6991/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/lewis6991/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/lewis6991/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/lewis6991/neovim/contributors", + "created_at": "2020-11-24T21:47:43Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/lewis6991/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/lewis6991/neovim/downloads", + "events_url": "https://api.github.com/repos/lewis6991/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/lewis6991/neovim/forks", + "full_name": "lewis6991/neovim", + "git_commits_url": "https://api.github.com/repos/lewis6991/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/lewis6991/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/lewis6991/neovim/git/tags{/sha}", + "git_url": "git://github.com/lewis6991/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/lewis6991/neovim/hooks", + "html_url": "https://github.com/lewis6991/neovim", + "id": 315760150, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/lewis6991/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/lewis6991/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/lewis6991/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/lewis6991/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/lewis6991/neovim/labels{/name}", + "language": "Vim script", + "languages_url": "https://api.github.com/repos/lewis6991/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/lewis6991/neovim/merges", + "milestones_url": "https://api.github.com/repos/lewis6991/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkzMTU3NjAxNTA=", + "notifications_url": "https://api.github.com/repos/lewis6991/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/lewis6991/neovim/pulls{/number}", + "pushed_at": "2024-02-05T23:34:21Z", + "releases_url": "https://api.github.com/repos/lewis6991/neovim/releases{/id}", + "size": 247361, + "ssh_url": "git@github.com:lewis6991/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/lewis6991/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/lewis6991/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/lewis6991/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/lewis6991/neovim/subscription", + "svn_url": "https://github.com/lewis6991/neovim", + "tags_url": "https://api.github.com/repos/lewis6991/neovim/tags", + "teams_url": "https://api.github.com/repos/lewis6991/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/lewis6991/neovim/git/trees{/sha}", + "updated_at": "2023-01-31T18:36:52Z", + "url": "https://api.github.com/repos/lewis6991/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "e27dd840af0fe50606fa6870c7d2fe51b36baf02", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27335", + "id": 1710324334, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27335", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "", + "id": 1799626557, + "name": "treesitter", + "node_id": "MDU6TGFiZWwxNzk5NjI2NTU3", + "url": "https://api.github.com/repos/neovim/neovim/labels/treesitter" + } + ], + "locked": false, + "merge_commit_sha": "0c4f61cf73cd5f2a7c10bcb498f22e6dcdf9bfc2", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM5l8Xpu", + "number": 27335, + "patch_url": "https://github.com/neovim/neovim/pull/27335.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27335/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/e27dd840af0fe50606fa6870c7d2fe51b36baf02", + "title": "fix(treesitter): disable provider on error", + "updated_at": "2024-02-04T10:39:19Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27335", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27336.json b/repositories/neovim/pulls/27336.json new file mode 100644 index 00000000..b3f893c1 --- /dev/null +++ b/repositories/neovim/pulls/27336.json @@ -0,0 +1,362 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27336/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27336/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27336" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27336" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27336/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27336" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/49829dc40c8136c19198bb715d4bd338956732ca" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "1d5f86f6949b54445e51be67acf918bf2e15105c", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "**Problem:**\r\nWhen in a treeview `treeview.opts.anon==true` or `treeview.opts.lang==true` is set (e.g. `a` or `I` is pressed) and after that, the buffer is modified, then these options get reset to `false`.\r\n**Solution:**\r\nSave `treeview.opts` into a temp var; and after creating a new `treeview` restore `treeview.opts`.", + "closed_at": "2024-02-04T15:53:29Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27336/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27336/commits", + "created_at": "2024-02-04T11:22:16Z", + "diff_url": "https://github.com/neovim/neovim/pull/27336.diff", + "draft": false, + "head": { + "label": "altermo:inspect_tree-save-opts-between-change", + "ref": "inspect_tree-save-opts-between-change", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/altermo/neovim-fork/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/altermo/neovim-fork/assignees{/user}", + "blobs_url": "https://api.github.com/repos/altermo/neovim-fork/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/altermo/neovim-fork/branches{/branch}", + "clone_url": "https://github.com/altermo/neovim-fork.git", + "collaborators_url": "https://api.github.com/repos/altermo/neovim-fork/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/altermo/neovim-fork/comments{/number}", + "commits_url": "https://api.github.com/repos/altermo/neovim-fork/commits{/sha}", + "compare_url": "https://api.github.com/repos/altermo/neovim-fork/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/altermo/neovim-fork/contents/{+path}", + "contributors_url": "https://api.github.com/repos/altermo/neovim-fork/contributors", + "created_at": "2023-09-13T06:55:17Z", + "default_branch": "DONT-USE-THIS-AS-SOURCE-WHEN-CREATING-NEW-BRANCH", + "deployments_url": "https://api.github.com/repos/altermo/neovim-fork/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/altermo/neovim-fork/downloads", + "events_url": "https://api.github.com/repos/altermo/neovim-fork/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/altermo/neovim-fork/forks", + "full_name": "altermo/neovim-fork", + "git_commits_url": "https://api.github.com/repos/altermo/neovim-fork/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/altermo/neovim-fork/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/altermo/neovim-fork/git/tags{/sha}", + "git_url": "git://github.com/altermo/neovim-fork.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/altermo/neovim-fork/hooks", + "html_url": "https://github.com/altermo/neovim-fork", + "id": 690927347, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/altermo/neovim-fork/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/altermo/neovim-fork/issues/events{/number}", + "issues_url": "https://api.github.com/repos/altermo/neovim-fork/issues{/number}", + "keys_url": "https://api.github.com/repos/altermo/neovim-fork/keys{/key_id}", + "labels_url": "https://api.github.com/repos/altermo/neovim-fork/labels{/name}", + "language": null, + "languages_url": "https://api.github.com/repos/altermo/neovim-fork/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/altermo/neovim-fork/merges", + "milestones_url": "https://api.github.com/repos/altermo/neovim-fork/milestones{/number}", + "mirror_url": null, + "name": "neovim-fork", + "node_id": "R_kgDOKS628w", + "notifications_url": "https://api.github.com/repos/altermo/neovim-fork/notifications{?since,all,participating}", + "open_issues": 1, + "open_issues_count": 1, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", + "events_url": "https://api.github.com/users/altermo/events{/privacy}", + "followers_url": "https://api.github.com/users/altermo/followers", + "following_url": "https://api.github.com/users/altermo/following{/other_user}", + "gists_url": "https://api.github.com/users/altermo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/altermo", + "id": 107814000, + "login": "altermo", + "node_id": "U_kgDOBm0ccA", + "organizations_url": "https://api.github.com/users/altermo/orgs", + "received_events_url": "https://api.github.com/users/altermo/received_events", + "repos_url": "https://api.github.com/users/altermo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/altermo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/altermo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/altermo" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/altermo/neovim-fork/pulls{/number}", + "pushed_at": "2024-02-05T17:19:10Z", + "releases_url": "https://api.github.com/repos/altermo/neovim-fork/releases{/id}", + "size": 245987, + "ssh_url": "git@github.com:altermo/neovim-fork.git", + "stargazers_count": 1, + "stargazers_url": "https://api.github.com/repos/altermo/neovim-fork/stargazers", + "statuses_url": "https://api.github.com/repos/altermo/neovim-fork/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/altermo/neovim-fork/subscribers", + "subscription_url": "https://api.github.com/repos/altermo/neovim-fork/subscription", + "svn_url": "https://github.com/altermo/neovim-fork", + "tags_url": "https://api.github.com/repos/altermo/neovim-fork/tags", + "teams_url": "https://api.github.com/repos/altermo/neovim-fork/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/altermo/neovim-fork/git/trees{/sha}", + "updated_at": "2023-11-15T07:57:27Z", + "url": "https://api.github.com/repos/altermo/neovim-fork", + "visibility": "public", + "watchers": 1, + "watchers_count": 1, + "web_commit_signoff_required": false + }, + "sha": "49829dc40c8136c19198bb715d4bd338956732ca", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", + "events_url": "https://api.github.com/users/altermo/events{/privacy}", + "followers_url": "https://api.github.com/users/altermo/followers", + "following_url": "https://api.github.com/users/altermo/following{/other_user}", + "gists_url": "https://api.github.com/users/altermo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/altermo", + "id": 107814000, + "login": "altermo", + "node_id": "U_kgDOBm0ccA", + "organizations_url": "https://api.github.com/users/altermo/orgs", + "received_events_url": "https://api.github.com/users/altermo/received_events", + "repos_url": "https://api.github.com/users/altermo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/altermo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/altermo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/altermo" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27336", + "id": 1710344013, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27336", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "", + "id": 1799626557, + "name": "treesitter", + "node_id": "MDU6TGFiZWwxNzk5NjI2NTU3", + "url": "https://api.github.com/repos/neovim/neovim/labels/treesitter" + } + ], + "locked": false, + "merge_commit_sha": "6c8387067d4e3e89c29bbd2d79fffe85fec8f164", + "merged_at": "2024-02-04T15:53:29Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5l8cdN", + "number": 27336, + "patch_url": "https://github.com/neovim/neovim/pull/27336.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27336/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/49829dc40c8136c19198bb715d4bd338956732ca", + "title": "fix(treesitter): inspect-tree remember opts on buf change", + "updated_at": "2024-02-04T15:53:42Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27336", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", + "events_url": "https://api.github.com/users/altermo/events{/privacy}", + "followers_url": "https://api.github.com/users/altermo/followers", + "following_url": "https://api.github.com/users/altermo/following{/other_user}", + "gists_url": "https://api.github.com/users/altermo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/altermo", + "id": 107814000, + "login": "altermo", + "node_id": "U_kgDOBm0ccA", + "organizations_url": "https://api.github.com/users/altermo/orgs", + "received_events_url": "https://api.github.com/users/altermo/received_events", + "repos_url": "https://api.github.com/users/altermo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/altermo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/altermo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/altermo" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27338.json b/repositories/neovim/pulls/27338.json new file mode 100644 index 00000000..ae12af71 --- /dev/null +++ b/repositories/neovim/pulls/27338.json @@ -0,0 +1,371 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27338/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27338/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27338" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27338" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27338/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27338" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/3e70c8517b6f425e19bc67933d2eb988105a3a46" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "6c8387067d4e3e89c29bbd2d79fffe85fec8f164", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "* Rework stack overflow handling.\n", + "closed_at": "2024-02-04T19:58:14Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27338/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27338/commits", + "created_at": "2024-02-04T19:30:25Z", + "diff_url": "https://github.com/neovim/neovim/pull/27338.diff", + "draft": false, + "head": { + "label": "clason:bump-luajit", + "ref": "bump-luajit", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/clason/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/clason/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/clason/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/clason/neovim/branches{/branch}", + "clone_url": "https://github.com/clason/neovim.git", + "collaborators_url": "https://api.github.com/repos/clason/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/clason/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/clason/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/clason/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/clason/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/clason/neovim/contributors", + "created_at": "2022-06-19T14:32:07Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/clason/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/clason/neovim/downloads", + "events_url": "https://api.github.com/repos/clason/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/clason/neovim/forks", + "full_name": "clason/neovim", + "git_commits_url": "https://api.github.com/repos/clason/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/clason/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/clason/neovim/git/tags{/sha}", + "git_url": "git://github.com/clason/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/clason/neovim/hooks", + "html_url": "https://github.com/clason/neovim", + "id": 505133677, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/clason/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/clason/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/clason/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/clason/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/clason/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/clason/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/clason/neovim/merges", + "milestones_url": "https://api.github.com/repos/clason/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOHhu6bQ", + "notifications_url": "https://api.github.com/repos/clason/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/clason/neovim/pulls{/number}", + "pushed_at": "2024-02-04T19:30:24Z", + "releases_url": "https://api.github.com/repos/clason/neovim/releases{/id}", + "size": 248690, + "ssh_url": "git@github.com:clason/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/clason/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/clason/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/clason/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/clason/neovim/subscription", + "svn_url": "https://github.com/clason/neovim", + "tags_url": "https://api.github.com/repos/clason/neovim/tags", + "teams_url": "https://api.github.com/repos/clason/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/clason/neovim/git/trees{/sha}", + "updated_at": "2023-01-31T19:57:54Z", + "url": "https://api.github.com/repos/clason/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "3e70c8517b6f425e19bc67933d2eb988105a3a46", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27338", + "id": 1710528135, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27338", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "building and installing Neovim using the provided scripts", + "id": 84723321, + "name": "build", + "node_id": "MDU6TGFiZWw4NDcyMzMyMQ==", + "url": "https://api.github.com/repos/neovim/neovim/labels/build" + }, + { + "color": "c5def5", + "default": false, + "description": "build dependencies (LuaJIT, LibUV, etc.)", + "id": 1205400704, + "name": "dependencies", + "node_id": "MDU6TGFiZWwxMjA1NDAwNzA0", + "url": "https://api.github.com/repos/neovim/neovim/labels/dependencies" + } + ], + "locked": false, + "merge_commit_sha": "1ed6b9cd2c04bf015b7e053ee5ea778634141b35", + "merged_at": "2024-02-04T19:58:14Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5l9JaH", + "number": 27338, + "patch_url": "https://github.com/neovim/neovim/pull/27338.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27338/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/3e70c8517b6f425e19bc67933d2eb988105a3a46", + "title": "build(deps): bump luajit to HEAD - 0d313b243", + "updated_at": "2024-02-04T19:58:27Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27338", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27339.json b/repositories/neovim/pulls/27339.json new file mode 100644 index 00000000..507b316a --- /dev/null +++ b/repositories/neovim/pulls/27339.json @@ -0,0 +1,362 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27339/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27339/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27339" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27339" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27339/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27339" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/b4e3a8ad49c52fd4aaa52be033ce6832762af5c8" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "1ed6b9cd2c04bf015b7e053ee5ea778634141b35", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Closes #25714", + "closed_at": null, + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27339/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27339/commits", + "created_at": "2024-02-04T22:15:08Z", + "diff_url": "https://github.com/neovim/neovim/pull/27339.diff", + "draft": true, + "head": { + "label": "MariaSolOs:completion", + "ref": "completion", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/MariaSolOs/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/MariaSolOs/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/MariaSolOs/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/MariaSolOs/neovim/branches{/branch}", + "clone_url": "https://github.com/MariaSolOs/neovim.git", + "collaborators_url": "https://api.github.com/repos/MariaSolOs/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/MariaSolOs/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/MariaSolOs/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/MariaSolOs/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/MariaSolOs/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/MariaSolOs/neovim/contributors", + "created_at": "2023-08-05T17:10:58Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/MariaSolOs/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/MariaSolOs/neovim/downloads", + "events_url": "https://api.github.com/repos/MariaSolOs/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/MariaSolOs/neovim/forks", + "full_name": "MariaSolOs/neovim", + "git_commits_url": "https://api.github.com/repos/MariaSolOs/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/MariaSolOs/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/MariaSolOs/neovim/git/tags{/sha}", + "git_url": "git://github.com/MariaSolOs/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/MariaSolOs/neovim/hooks", + "html_url": "https://github.com/MariaSolOs/neovim", + "id": 675070403, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/MariaSolOs/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/MariaSolOs/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/MariaSolOs/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/MariaSolOs/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/MariaSolOs/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/MariaSolOs/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/MariaSolOs/neovim/merges", + "milestones_url": "https://api.github.com/repos/MariaSolOs/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOKDzBww", + "notifications_url": "https://api.github.com/repos/MariaSolOs/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/MariaSolOs/neovim/pulls{/number}", + "pushed_at": "2024-02-05T05:11:20Z", + "releases_url": "https://api.github.com/repos/MariaSolOs/neovim/releases{/id}", + "size": 245453, + "ssh_url": "git@github.com:MariaSolOs/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/MariaSolOs/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/MariaSolOs/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/MariaSolOs/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/MariaSolOs/neovim/subscription", + "svn_url": "https://github.com/MariaSolOs/neovim", + "tags_url": "https://api.github.com/repos/MariaSolOs/neovim/tags", + "teams_url": "https://api.github.com/repos/MariaSolOs/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/MariaSolOs/neovim/git/trees{/sha}", + "updated_at": "2023-08-09T04:34:06Z", + "url": "https://api.github.com/repos/MariaSolOs/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "b4e3a8ad49c52fd4aaa52be033ce6832762af5c8", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27339", + "id": 1710583780, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27339", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": null, + "id": 662566370, + "name": "lsp", + "node_id": "MDU6TGFiZWw2NjI1NjYzNzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/lsp" + } + ], + "locked": false, + "merge_commit_sha": "0a2b105f90fed794176c9edc4663133abbdf5cd3", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM5l9W_k", + "number": 27339, + "patch_url": "https://github.com/neovim/neovim/pull/27339.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27339/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/b4e3a8ad49c52fd4aaa52be033ce6832762af5c8", + "title": "feat(lsp): completion side effects", + "updated_at": "2024-02-05T00:02:20Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27339", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27340.json b/repositories/neovim/pulls/27340.json new file mode 100644 index 00000000..68c3af43 --- /dev/null +++ b/repositories/neovim/pulls/27340.json @@ -0,0 +1,407 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27340/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27340/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27340" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27340" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27340/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27340" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/53b78f1540b29a4c0adc3c9594d08fcf5881faaa" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "1ed6b9cd2c04bf015b7e053ee5ea778634141b35", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Fix #20235\n", + "closed_at": "2024-02-05T03:08:53Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27340/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27340/commits", + "created_at": "2024-02-05T02:29:06Z", + "diff_url": "https://github.com/neovim/neovim/pull/27340.diff", + "draft": false, + "head": { + "label": "zeertzjq:upd-inverted", + "ref": "upd-inverted", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/zeertzjq/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/zeertzjq/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/zeertzjq/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/zeertzjq/neovim/branches{/branch}", + "clone_url": "https://github.com/zeertzjq/neovim.git", + "collaborators_url": "https://api.github.com/repos/zeertzjq/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/zeertzjq/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/zeertzjq/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/zeertzjq/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/zeertzjq/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/zeertzjq/neovim/contributors", + "created_at": "2021-09-27T02:22:45Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/zeertzjq/neovim/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/zeertzjq/neovim/downloads", + "events_url": "https://api.github.com/repos/zeertzjq/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/zeertzjq/neovim/forks", + "full_name": "zeertzjq/neovim", + "git_commits_url": "https://api.github.com/repos/zeertzjq/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/zeertzjq/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/zeertzjq/neovim/git/tags{/sha}", + "git_url": "git://github.com/zeertzjq/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/zeertzjq/neovim/hooks", + "html_url": "https://github.com/zeertzjq/neovim", + "id": 410715915, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/zeertzjq/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/zeertzjq/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/zeertzjq/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/zeertzjq/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/zeertzjq/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/zeertzjq/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/zeertzjq/neovim/merges", + "milestones_url": "https://api.github.com/repos/zeertzjq/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOGHsHCw", + "notifications_url": "https://api.github.com/repos/zeertzjq/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/zeertzjq/neovim/pulls{/number}", + "pushed_at": "2024-02-05T07:34:22Z", + "releases_url": "https://api.github.com/repos/zeertzjq/neovim/releases{/id}", + "size": 236183, + "ssh_url": "git@github.com:zeertzjq/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/zeertzjq/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/zeertzjq/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/zeertzjq/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/zeertzjq/neovim/subscription", + "svn_url": "https://github.com/zeertzjq/neovim", + "tags_url": "https://api.github.com/repos/zeertzjq/neovim/tags", + "teams_url": "https://api.github.com/repos/zeertzjq/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/zeertzjq/neovim/git/trees{/sha}", + "updated_at": "2023-02-18T11:19:39Z", + "url": "https://api.github.com/repos/zeertzjq/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "53b78f1540b29a4c0adc3c9594d08fcf5881faaa", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27340", + "id": 1710757657, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27340", + "labels": [ + { + "color": "FEF2C0", + "default": false, + "description": "issues reporting performance problems", + "id": 101930601, + "name": "performance", + "node_id": "MDU6TGFiZWwxMDE5MzA2MDE=", + "url": "https://api.github.com/repos/neovim/neovim/labels/performance" + }, + { + "color": "C5DEF5", + "default": false, + "description": "", + "id": 5826988504, + "name": "visual-mode", + "node_id": "LA_kwDOAPphoM8AAAABW1DJ2A", + "url": "https://api.github.com/repos/neovim/neovim/labels/visual-mode" + } + ], + "locked": false, + "merge_commit_sha": "18e62c1bdbbb6b93bfb74d974bc511fc4c03748e", + "merged_at": "2024-02-05T03:08:53Z", + "milestone": { + "closed_at": null, + "closed_issues": 278, + "created_at": "2023-02-02T14:11:43Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + "description": "", + "due_on": "2024-03-01T08:00:00Z", + "html_url": "https://github.com/neovim/neovim/milestone/36", + "id": 8997654, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", + "node_id": "MI_kwDOAPphoM4AiUsW", + "number": 36, + "open_issues": 138, + "state": "open", + "title": "0.10", + "updated_at": "2024-02-05T21:59:25Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/36" + }, + "node_id": "PR_kwDOAPphoM5l-BcZ", + "number": 27340, + "patch_url": "https://github.com/neovim/neovim/pull/27340.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27340/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/53b78f1540b29a4c0adc3c9594d08fcf5881faaa", + "title": "perf(redraw): only redraw Visual area when cursor has moved", + "updated_at": "2024-02-05T03:08:55Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27340", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27341.json b/repositories/neovim/pulls/27341.json new file mode 100644 index 00000000..d415771b --- /dev/null +++ b/repositories/neovim/pulls/27341.json @@ -0,0 +1,352 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27341/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27341/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27341" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27341" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27341/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27341" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/8cd9a1f53bab08a1e116d04bd9406788f0d466b5" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "18e62c1bdbbb6b93bfb74d974bc511fc4c03748e", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Fix #23437\n", + "closed_at": "2024-02-05T04:13:21Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27341/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27341/commits", + "created_at": "2024-02-05T03:40:36Z", + "diff_url": "https://github.com/neovim/neovim/pull/27341.diff", + "draft": false, + "head": { + "label": "zeertzjq:icm-topline", + "ref": "icm-topline", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/zeertzjq/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/zeertzjq/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/zeertzjq/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/zeertzjq/neovim/branches{/branch}", + "clone_url": "https://github.com/zeertzjq/neovim.git", + "collaborators_url": "https://api.github.com/repos/zeertzjq/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/zeertzjq/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/zeertzjq/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/zeertzjq/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/zeertzjq/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/zeertzjq/neovim/contributors", + "created_at": "2021-09-27T02:22:45Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/zeertzjq/neovim/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/zeertzjq/neovim/downloads", + "events_url": "https://api.github.com/repos/zeertzjq/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/zeertzjq/neovim/forks", + "full_name": "zeertzjq/neovim", + "git_commits_url": "https://api.github.com/repos/zeertzjq/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/zeertzjq/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/zeertzjq/neovim/git/tags{/sha}", + "git_url": "git://github.com/zeertzjq/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/zeertzjq/neovim/hooks", + "html_url": "https://github.com/zeertzjq/neovim", + "id": 410715915, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/zeertzjq/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/zeertzjq/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/zeertzjq/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/zeertzjq/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/zeertzjq/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/zeertzjq/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/zeertzjq/neovim/merges", + "milestones_url": "https://api.github.com/repos/zeertzjq/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOGHsHCw", + "notifications_url": "https://api.github.com/repos/zeertzjq/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/zeertzjq/neovim/pulls{/number}", + "pushed_at": "2024-02-05T07:34:22Z", + "releases_url": "https://api.github.com/repos/zeertzjq/neovim/releases{/id}", + "size": 236183, + "ssh_url": "git@github.com:zeertzjq/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/zeertzjq/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/zeertzjq/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/zeertzjq/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/zeertzjq/neovim/subscription", + "svn_url": "https://github.com/zeertzjq/neovim", + "tags_url": "https://api.github.com/repos/zeertzjq/neovim/tags", + "teams_url": "https://api.github.com/repos/zeertzjq/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/zeertzjq/neovim/git/trees{/sha}", + "updated_at": "2023-02-18T11:19:39Z", + "url": "https://api.github.com/repos/zeertzjq/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "8cd9a1f53bab08a1e116d04bd9406788f0d466b5", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27341", + "id": 1710825259, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27341", + "labels": [], + "locked": false, + "merge_commit_sha": "35ffe58ea4a32719e6776f7b6ef710299f78342a", + "merged_at": "2024-02-05T04:13:21Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5l-R8r", + "number": 27341, + "patch_url": "https://github.com/neovim/neovim/pull/27341.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27341/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/8cd9a1f53bab08a1e116d04bd9406788f0d466b5", + "title": "fix(inccommand): update topline after moving cursor", + "updated_at": "2024-02-05T04:20:21Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27341", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27342.json b/repositories/neovim/pulls/27342.json new file mode 100644 index 00000000..10d3b09c --- /dev/null +++ b/repositories/neovim/pulls/27342.json @@ -0,0 +1,360 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27342/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27342/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27342" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27342" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27342/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27342" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/25690bcc22c221b962b9a848378163e9d2dffa35" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "auto_merge": null, + "base": { + "label": "neovim:release-0.9", + "ref": "release-0.9", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "0ef27180e31671a043b28547da327cd52f1a87c4", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "# Description\nBackport of #27341 to `release-0.9`.", + "closed_at": "2024-02-05T04:20:01Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27342/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27342/commits", + "created_at": "2024-02-05T04:13:37Z", + "diff_url": "https://github.com/neovim/neovim/pull/27342.diff", + "draft": false, + "head": { + "label": "neovim:backport-27341-to-release-0.9", + "ref": "backport-27341-to-release-0.9", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "25690bcc22c221b962b9a848378163e9d2dffa35", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27342", + "id": 1710850038, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27342", + "labels": [], + "locked": false, + "merge_commit_sha": "c2063ef3fcfa74acfcbad85ac8b32dafbe5cef73", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM5l-X_2", + "number": 27342, + "patch_url": "https://github.com/neovim/neovim/pull/27342.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27342/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/25690bcc22c221b962b9a848378163e9d2dffa35", + "title": "[Backport release-0.9] fix(inccommand): update topline after moving cursor", + "updated_at": "2024-02-05T04:20:04Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27342", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/apps/github-actions", + "id": 41898282, + "login": "github-actions[bot]", + "node_id": "MDM6Qm90NDE4OTgyODI=", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "type": "Bot", + "url": "https://api.github.com/users/github-actions%5Bbot%5D" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27343.json b/repositories/neovim/pulls/27343.json new file mode 100644 index 00000000..15e02aaf --- /dev/null +++ b/repositories/neovim/pulls/27343.json @@ -0,0 +1,398 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27343/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27343/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27343" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27343" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27343/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27343" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/85bd838f77ba18c3805901ed1291beb1332f9f0d" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "35ffe58ea4a32719e6776f7b6ef710299f78342a", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": null, + "closed_at": "2024-02-05T07:34:17Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27343/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27343/commits", + "created_at": "2024-02-05T05:55:43Z", + "diff_url": "https://github.com/neovim/neovim/pull/27343.diff", + "draft": false, + "head": { + "label": "zeertzjq:visual-split", + "ref": "visual-split", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/zeertzjq/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/zeertzjq/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/zeertzjq/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/zeertzjq/neovim/branches{/branch}", + "clone_url": "https://github.com/zeertzjq/neovim.git", + "collaborators_url": "https://api.github.com/repos/zeertzjq/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/zeertzjq/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/zeertzjq/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/zeertzjq/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/zeertzjq/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/zeertzjq/neovim/contributors", + "created_at": "2021-09-27T02:22:45Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/zeertzjq/neovim/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/zeertzjq/neovim/downloads", + "events_url": "https://api.github.com/repos/zeertzjq/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/zeertzjq/neovim/forks", + "full_name": "zeertzjq/neovim", + "git_commits_url": "https://api.github.com/repos/zeertzjq/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/zeertzjq/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/zeertzjq/neovim/git/tags{/sha}", + "git_url": "git://github.com/zeertzjq/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/zeertzjq/neovim/hooks", + "html_url": "https://github.com/zeertzjq/neovim", + "id": 410715915, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/zeertzjq/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/zeertzjq/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/zeertzjq/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/zeertzjq/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/zeertzjq/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/zeertzjq/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/zeertzjq/neovim/merges", + "milestones_url": "https://api.github.com/repos/zeertzjq/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOGHsHCw", + "notifications_url": "https://api.github.com/repos/zeertzjq/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/zeertzjq/neovim/pulls{/number}", + "pushed_at": "2024-02-05T07:34:22Z", + "releases_url": "https://api.github.com/repos/zeertzjq/neovim/releases{/id}", + "size": 236183, + "ssh_url": "git@github.com:zeertzjq/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/zeertzjq/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/zeertzjq/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/zeertzjq/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/zeertzjq/neovim/subscription", + "svn_url": "https://github.com/zeertzjq/neovim", + "tags_url": "https://api.github.com/repos/zeertzjq/neovim/tags", + "teams_url": "https://api.github.com/repos/zeertzjq/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/zeertzjq/neovim/git/trees{/sha}", + "updated_at": "2023-02-18T11:19:39Z", + "url": "https://api.github.com/repos/zeertzjq/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "85bd838f77ba18c3805901ed1291beb1332f9f0d", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27343", + "id": 1710939863, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27343", + "labels": [ + { + "color": "C5DEF5", + "default": false, + "description": "", + "id": 5826988504, + "name": "visual-mode", + "node_id": "LA_kwDOAPphoM8AAAABW1DJ2A", + "url": "https://api.github.com/repos/neovim/neovim/labels/visual-mode" + } + ], + "locked": false, + "merge_commit_sha": "d184933cdc70edf298eb0a84fdfbc78bb717746b", + "merged_at": "2024-02-05T07:34:17Z", + "milestone": { + "closed_at": null, + "closed_issues": 278, + "created_at": "2023-02-02T14:11:43Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + "description": "", + "due_on": "2024-03-01T08:00:00Z", + "html_url": "https://github.com/neovim/neovim/milestone/36", + "id": 8997654, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", + "node_id": "MI_kwDOAPphoM4AiUsW", + "number": 36, + "open_issues": 138, + "state": "open", + "title": "0.10", + "updated_at": "2024-02-05T21:59:25Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/36" + }, + "node_id": "PR_kwDOAPphoM5l-t7X", + "number": 27343, + "patch_url": "https://github.com/neovim/neovim/pull/27343.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27343/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/85bd838f77ba18c3805901ed1291beb1332f9f0d", + "title": "fix(redraw): update Visual selection properly with splits", + "updated_at": "2024-02-05T14:00:19Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27343", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27345.json b/repositories/neovim/pulls/27345.json new file mode 100644 index 00000000..952b2711 --- /dev/null +++ b/repositories/neovim/pulls/27345.json @@ -0,0 +1,1224 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27345/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27345/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27345" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27345" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27345/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27345" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/1a7dc0a4ee941887d5151f32342c1240cc65c86e" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "43661a0abf6e1698516d78e6dbf9dfdbf76720bc", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "A justfile is basically equivalent to a Makefile, except that it works\ncross-platform. This helps mitigate the problem of neovim being hard to\nbuild on non-unix. It requires the executable\n[just](https://github.com/casey/just) which is readily available on\npretty much all platforms:\n\nThe Makefile is not removed as this is supposed to be a trial period,\nbut it may make sense to remove the Makefile in the future in case the\nJustfile can replace all functionality of the makefile.\n\nRunning a just target is the same as running a make target:\n\n```\njust # builds neovim\njust functionaltest # run functionaltest\n```\n\nTo list all available targets with a summary of what they do:\n\n```\njust --list\n```\n\nwhich outputs\n\n```\nAvailable recipes:\n deps # Build dependencies\n functionaltest # Run functionaltest\n nvim # Build neovim\n```\n\nThe documentaiton can be found at https://just.systems/man/en/.", + "closed_at": null, + "comment_data": [ + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27345#discussion_r1478086428" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27345" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478086428" + } + }, + "author_association": "MEMBER", + "body": "Note that `ninja` (sounds like \"N-Jim\"!) is an optional build dependency last I looked, so probably shouldn't be hard-coded here.\r\n\r\n(It'd be different if this were an additional \"if you installed ALL THE OPTIONAL deps\" convenience wrapper.)", + "commit_id": "1a7dc0a4ee941887d5151f32342c1240cc65c86e", + "created_at": "2024-02-05T11:57:11Z", + "diff_hunk": "@@ -0,0 +1,13 @@\n+# Build neovim\n+nvim: deps\n+ cmake -B build -G Ninja", + "html_url": "https://github.com/neovim/neovim/pull/27345#discussion_r1478086428", + "id": 1478086428, + "line": 3, + "node_id": "PRRC_kwDOAPphoM5YGc8c", + "original_commit_id": "1a7dc0a4ee941887d5151f32342c1240cc65c86e", + "original_line": 3, + "original_position": 3, + "original_start_line": null, + "path": "Justfile", + "position": 3, + "pull_request_review_id": 1862555157, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27345", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478086428/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T11:57:14Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478086428", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + } + ], + "comment_regular_data": [ + { + "author_association": "MEMBER", + "body": "Obviously not ready, I just wanted to open it early to get the inevitable discussion started. @neovim/core @neovim/padawans assemble!", + "created_at": "2024-02-05T11:01:36Z", + "html_url": "https://github.com/neovim/neovim/pull/27345#issuecomment-1926722582", + "id": 1926722582, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27345", + "node_id": "IC_kwDOAPphoM5y13QW", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926722582/reactions" + }, + "updated_at": "2024-02-05T11:07:20Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926722582", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + } + }, + { + "author_association": "MEMBER", + "body": "Can you add a sample invocation (on Linux, macOS, Windows) so noobs like me can understand how it's used? Does this need additional tooling installed?", + "created_at": "2024-02-05T11:08:27Z", + "html_url": "https://github.com/neovim/neovim/pull/27345#issuecomment-1926735119", + "id": 1926735119, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27345", + "node_id": "IC_kwDOAPphoM5y16UP", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926735119/reactions" + }, + "updated_at": "2024-02-05T11:08:27Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926735119", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "MEMBER", + "body": "This needs the `just` executable. \r\nProblem with this is that one will have to disappear, either the makefile or justfile, or the targets will have to be split between the 2 files (because make is more apt to actually build a dependencyt tree), adding complexity ?\r\nI haven't dabbled with just much, I just like its capability to list targets and fewer footguns than Makefile from what I've seen.\r\n\r\n> A justfile is basically equivalent to a Makefile, except that it works\r\ncross-platform. This helps mitigate the problem of neovim being hard to\r\nbuild on non-unix.\r\n\r\nare you thinking windows here ? ", + "created_at": "2024-02-05T11:15:40Z", + "html_url": "https://github.com/neovim/neovim/pull/27345#issuecomment-1926746976", + "id": 1926746976, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27345", + "node_id": "IC_kwDOAPphoM5y19Ng", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926746976/reactions" + }, + "updated_at": "2024-02-05T11:15:40Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926746976", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/886074?v=4", + "events_url": "https://api.github.com/users/teto/events{/privacy}", + "followers_url": "https://api.github.com/users/teto/followers", + "following_url": "https://api.github.com/users/teto/following{/other_user}", + "gists_url": "https://api.github.com/users/teto/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/teto", + "id": 886074, + "login": "teto", + "node_id": "MDQ6VXNlcjg4NjA3NA==", + "organizations_url": "https://api.github.com/users/teto/orgs", + "received_events_url": "https://api.github.com/users/teto/received_events", + "repos_url": "https://api.github.com/users/teto/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/teto/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/teto/subscriptions", + "type": "User", + "url": "https://api.github.com/users/teto" + } + }, + { + "author_association": "MEMBER", + "body": "Please don't ever remove the Makefile as Make is included by default on almost all unix systems.\r\n\r\n> Problem with this is that one will have to disappear, either the makefile or justfile, or the targets will have to be split between the 2 files \r\n\r\nI don't see why they both can't co-exist.", + "created_at": "2024-02-05T11:17:44Z", + "html_url": "https://github.com/neovim/neovim/pull/27345#issuecomment-1926750415", + "id": 1926750415, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27345", + "node_id": "IC_kwDOAPphoM5y1-DP", + "performed_via_github_app": null, + "reactions": { + "+1": 2, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 2, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926750415/reactions" + }, + "updated_at": "2024-02-05T11:17:44Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926750415", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "author_association": "MEMBER", + "body": "> Please don't ever remove the Makefile as Make is included by default on almost all unix systems.\r\n> \r\n> >\r\n\r\nBut the Makefile requires CMake anyway and that's not included by default on most Unix systems.", + "created_at": "2024-02-05T11:19:39Z", + "html_url": "https://github.com/neovim/neovim/pull/27345#issuecomment-1926753572", + "id": 1926753572, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27345", + "node_id": "IC_kwDOAPphoM5y1-0k", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926753572/reactions" + }, + "updated_at": "2024-02-05T11:19:39Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926753572", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/29580810?v=4", + "events_url": "https://api.github.com/users/famiu/events{/privacy}", + "followers_url": "https://api.github.com/users/famiu/followers", + "following_url": "https://api.github.com/users/famiu/following{/other_user}", + "gists_url": "https://api.github.com/users/famiu/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/famiu", + "id": 29580810, + "login": "famiu", + "node_id": "MDQ6VXNlcjI5NTgwODEw", + "organizations_url": "https://api.github.com/users/famiu/orgs", + "received_events_url": "https://api.github.com/users/famiu/received_events", + "repos_url": "https://api.github.com/users/famiu/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/famiu/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/famiu/subscriptions", + "type": "User", + "url": "https://api.github.com/users/famiu" + } + }, + { + "author_association": "MEMBER", + "body": "> This needs the just executable.\r\n\r\nWell yeah. I thought it was obvious to be honest. I'll add it to the commit message just in case.\r\n\r\n> Problem with this is that one will have to disappear, either the makefile or justfile, or the targets will have to be split between the 2 files (because make is more apt to actually build a dependencyt tree), adding complexity?\r\n\r\nYes, that is the risk of having two helper functionalities which is why I mentioned the possibility of having to remove Makefile. We don't *need* Makefile for any of its dependency handling, it's all handled by cmake.\r\n\r\n> are you thinking windows here?\r\n\r\nYeah.", + "created_at": "2024-02-05T11:21:04Z", + "html_url": "https://github.com/neovim/neovim/pull/27345#issuecomment-1926755888", + "id": 1926755888, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27345", + "node_id": "IC_kwDOAPphoM5y1_Yw", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926755888/reactions" + }, + "updated_at": "2024-02-05T11:21:04Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926755888", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + } + }, + { + "author_association": "MEMBER", + "body": "Just doesn't seem to be available in [many distributions's repo](https://repology.org/project/just/versions), including Debian. So as far as I'm concerned, replacing `make` with `just` would be inconvenient.\r\n", + "created_at": "2024-02-05T11:26:25Z", + "html_url": "https://github.com/neovim/neovim/pull/27345#issuecomment-1926764675", + "id": 1926764675, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27345", + "node_id": "IC_kwDOAPphoM5y2BiD", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926764675/reactions" + }, + "updated_at": "2024-02-05T11:26:25Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926764675", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/11534587?v=4", + "events_url": "https://api.github.com/users/glacambre/events{/privacy}", + "followers_url": "https://api.github.com/users/glacambre/followers", + "following_url": "https://api.github.com/users/glacambre/following{/other_user}", + "gists_url": "https://api.github.com/users/glacambre/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glacambre", + "id": 11534587, + "login": "glacambre", + "node_id": "MDQ6VXNlcjExNTM0NTg3", + "organizations_url": "https://api.github.com/users/glacambre/orgs", + "received_events_url": "https://api.github.com/users/glacambre/received_events", + "repos_url": "https://api.github.com/users/glacambre/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glacambre/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glacambre/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glacambre" + } + }, + { + "author_association": "MEMBER", + "body": "> Linux, MacOS, and Windows are supported with no additional dependencies. (Although if your system doesn't have an sh, you'll need to [choose a different shell].)\r\n\r\nThat's a big \"although\"...\r\n\r\nI don't understand either why one will _have to_ disappear. (Also, I remind of the plan to switch to `build.zig` in the far future -- do we have to remove `make` and `just` then, too?)\r\n\r\nThe only thing I'm _not_ in favor of is plonking a `justfile` in `contrib/`; that is the opposite of a fridge and makes code bitrot just by being placed there.\r\n", + "created_at": "2024-02-05T11:30:15Z", + "html_url": "https://github.com/neovim/neovim/pull/27345#issuecomment-1926771020", + "id": 1926771020, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27345", + "node_id": "IC_kwDOAPphoM5y2DFM", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 1, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926771020/reactions" + }, + "updated_at": "2024-02-05T11:33:47Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926771020", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "MEMBER", + "body": "> Please don't ever remove the Makefile as Make is included by default on almost all unix systems.\r\n\r\nI understand, but I think this can almost be a crutch because it's such an convenient conclusion to make. The problem is that is that this perpetuates subpar solutions such as makefiles because of the evil loop of \"we should use it because it's available by default\" -> \"we need to include makefile since everyone uses it\".\r\n\r\n> I don't see why they both can't co-exist.\r\n\r\nThe obvious answer is that it increases maintenance and entropy. The Makefile itself shouldn't even exist if cmake was usable but now we'd have *two* helper solutions. That said I'm not sure if the maintenance will be that big, maybe having both could still be worth it. I'm undecided tbh.", + "created_at": "2024-02-05T11:34:19Z", + "html_url": "https://github.com/neovim/neovim/pull/27345#issuecomment-1926777766", + "id": 1926777766, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27345", + "node_id": "IC_kwDOAPphoM5y2Eum", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926777766/reactions" + }, + "updated_at": "2024-02-05T11:34:19Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926777766", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + } + }, + { + "author_association": "MEMBER", + "body": "As far as I can tell, the appeal of the justfile is that it's _super_ simple, so we're not doubling the maintenance burden (and hopefully barely increase it, for possible gain). Of course, if we _could_ remove the makefile, that would _lower_ maintenance but that's not quite the goal here (easier _usage_ on Windows).\r\n\r\nWhat's the blocker on improving/using cmake presets? Would that get us somewhere?", + "created_at": "2024-02-05T11:37:17Z", + "html_url": "https://github.com/neovim/neovim/pull/27345#issuecomment-1926782499", + "id": 1926782499, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27345", + "node_id": "IC_kwDOAPphoM5y2F4j", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926782499/reactions" + }, + "updated_at": "2024-02-05T11:37:17Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926782499", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "MEMBER", + "body": "> I don't understand either why one will have to disappear. (Also, I remind of the plan to switch to build.zig in the far future -- do we have to remove `make` and `just` then, too?)\r\n\r\nIf the equivalent solution from zig is just as convenient then why not? Although I'm assuming you mean that perhaps we should just wait for build.zig instead of going forward with this? I don't mind that either to be honest. We can close this in that case.", + "created_at": "2024-02-05T11:38:21Z", + "html_url": "https://github.com/neovim/neovim/pull/27345#issuecomment-1926784604", + "id": 1926784604, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27345", + "node_id": "IC_kwDOAPphoM5y2GZc", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926784604/reactions" + }, + "updated_at": "2024-02-05T11:38:21Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926784604", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + } + }, + { + "author_association": "MEMBER", + "body": "> What's the blocker on improving/using cmake presets? Would that get us somewhere?\r\n\r\nNone. We removed it because it caused a problem with windows builds but I have since then learned of how to deal with that so theoretically nothing. Perhaps that's a better first step?\r\n\r\n> Would that get us somewhere?\r\n\r\nIt would make building on windows more convenient but not *as* convenient as `make`. So it's a decent compromise in that regard.", + "created_at": "2024-02-05T11:39:54Z", + "html_url": "https://github.com/neovim/neovim/pull/27345#issuecomment-1926787179", + "id": 1926787179, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27345", + "node_id": "IC_kwDOAPphoM5y2HBr", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926787179/reactions" + }, + "updated_at": "2024-02-05T11:41:34Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926787179", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + } + }, + { + "author_association": "MEMBER", + "body": "> Just doesn't seem to be available in [many distributions's repo](https://repology.org/project/just/versions), including Debian.\r\n\r\nHonestly at this point I'm tempted to just say \"skill issue\". The worst case scenario (if we decide to remove Makefile) is that they'll have to build neovim with only cmake, which windows users have needed to do forever. I don't think we need to pay the debian tax for a helper solution.", + "created_at": "2024-02-05T11:46:07Z", + "html_url": "https://github.com/neovim/neovim/pull/27345#issuecomment-1926798960", + "id": 1926798960, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27345", + "node_id": "IC_kwDOAPphoM5y2J5w", + "performed_via_github_app": null, + "reactions": { + "+1": 3, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 3, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926798960/reactions" + }, + "updated_at": "2024-02-05T11:46:07Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926798960", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + } + }, + { + "author_association": "MEMBER", + "body": "I think that would be worth investing in first, then (and would simplify the justfile, as a treat).\r\n\r\nIn any case, this PR is valuable if only to point people to -- or include as a snippet in our `BUILD.md`. So I'd be interested in seeing the \"full\" file with all the different targets we have right now. I'd be especially interested in learning how `make functionaltest TEST_FILE=...` and `make test/old/testdir/test_syntax.vim` translate.", + "created_at": "2024-02-05T11:46:46Z", + "html_url": "https://github.com/neovim/neovim/pull/27345#issuecomment-1926800304", + "id": 1926800304, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27345", + "node_id": "IC_kwDOAPphoM5y2KOw", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926800304/reactions" + }, + "updated_at": "2024-02-05T11:48:03Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926800304", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "MEMBER", + "body": "> I think that would be worth investing in first, then (and would simplify the justfile, as a treat).\r\n\r\nYes, presets might be a good first step and it'll make these files easier like you said. My hesitation with presets is that it's super inconvenient to write and is basically an unreadable mess, even for json standards. I'm also not entirely convinced it scales well either. This was primarily the reason I opted to test the waters with the Justfile approach. I'm not counting out presets as a partial solution, just explaining my current point of view.\r\n\r\nThat said I think it might be worth fully exploring presets as a way to make progress on this issue at least.", + "created_at": "2024-02-05T11:53:38Z", + "html_url": "https://github.com/neovim/neovim/pull/27345#issuecomment-1926819896", + "id": 1926819896, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27345", + "node_id": "IC_kwDOAPphoM5y2PA4", + "performed_via_github_app": null, + "reactions": { + "+1": 3, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 3, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926819896/reactions" + }, + "updated_at": "2024-02-05T11:53:38Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926819896", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + } + }, + { + "author_association": "MEMBER", + "body": "> I understand, but I think this can almost be a crutch because it's such an convenient conclusion to make. The problem is that is that this perpetuates subpar solutions such as makefiles because of the evil loop of \"we should use it because it's available by default\" -> \"we need to include makefile since everyone uses it\".\r\n\r\nEmm, yes. Make is good, popular, simple and well understood. Not all of this can be said for cmake or just.\r\n\r\n> The obvious answer is that it increases maintenance and entropy. The Makefile itself shouldn't even exist if cmake was usable but now we'd have two helper solutions. That said I'm not sure if the maintenance will be that big, maybe having both could still be worth it. I'm undecided tbh.\r\n\r\nI didn't think the Makefile required that much maintenance, and as long as I work on this project it will be maintained, since I used it a lot.\r\n\r\n> Honestly at this point I'm tempted to just say \"skill issue\". The worst case scenario (if we decide to remove Makefile) is that they'll have to build neovim with only cmake, which windows users have needed to do forever. I don't think we need to pay the debian tax for a helper solution.\r\n\r\nAFAIK, Windows users represent a small fraction of our user-base, and even less of our developer-base.\r\n\r\nAlso, isn't Make on Windows a [thing](https://gnuwin32.sourceforge.net/packages/make.htm) (and [here](https://community.chocolatey.org/packages/make))? So actually how is this a benefit for Windows users?", + "created_at": "2024-02-05T11:57:57Z", + "html_url": "https://github.com/neovim/neovim/pull/27345#issuecomment-1926828613", + "id": 1926828613, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27345", + "node_id": "IC_kwDOAPphoM5y2RJF", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926828613/reactions" + }, + "updated_at": "2024-02-05T12:02:37Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926828613", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "author_association": "MEMBER", + "body": "Please avoid dragging CMake into this; that's on a different level and required for a different reason.\r\n\r\nThe (valid) question is whether Just is a more maintainable, more cross-platform, and/or more usable alternative to Make -- sufficiently so that switching would pay off. (It'd be a high bar, but not inconceivably so.) For that, we'd need to compare a feature-parity version of both.", + "created_at": "2024-02-05T12:00:18Z", + "html_url": "https://github.com/neovim/neovim/pull/27345#issuecomment-1926832499", + "id": 1926832499, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27345", + "node_id": "IC_kwDOAPphoM5y2SFz", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926832499/reactions" + }, + "updated_at": "2024-02-05T12:01:10Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1926832499", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "MEMBER", + "body": "IIRC there where problems trying to use make on windows. I can check more thoroughly in case a cross-platform makefile is a viable solution.", + "created_at": "2024-02-05T13:39:16Z", + "html_url": "https://github.com/neovim/neovim/pull/27345#issuecomment-1927034390", + "id": 1927034390, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27345", + "node_id": "IC_kwDOAPphoM5y3DYW", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927034390/reactions" + }, + "updated_at": "2024-02-05T13:39:16Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927034390", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27345/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27345/commits", + "created_at": "2024-02-05T10:51:49Z", + "diff_url": "https://github.com/neovim/neovim/pull/27345.diff", + "draft": true, + "head": { + "label": "dundargoc:build/justfile", + "ref": "build/justfile", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/dundargoc/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/dundargoc/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/dundargoc/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/dundargoc/neovim/branches{/branch}", + "clone_url": "https://github.com/dundargoc/neovim.git", + "collaborators_url": "https://api.github.com/repos/dundargoc/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/dundargoc/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/dundargoc/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/dundargoc/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/dundargoc/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/dundargoc/neovim/contributors", + "created_at": "2021-06-20T10:14:48Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/dundargoc/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/dundargoc/neovim/downloads", + "events_url": "https://api.github.com/repos/dundargoc/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/dundargoc/neovim/forks", + "full_name": "dundargoc/neovim", + "git_commits_url": "https://api.github.com/repos/dundargoc/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/dundargoc/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/dundargoc/neovim/git/tags{/sha}", + "git_url": "git://github.com/dundargoc/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": false, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/dundargoc/neovim/hooks", + "html_url": "https://github.com/dundargoc/neovim", + "id": 378614899, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/dundargoc/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/dundargoc/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/dundargoc/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/dundargoc/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/dundargoc/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/dundargoc/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/dundargoc/neovim/merges", + "milestones_url": "https://api.github.com/repos/dundargoc/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkzNzg2MTQ4OTk=", + "notifications_url": "https://api.github.com/repos/dundargoc/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/dundargoc/neovim/pulls{/number}", + "pushed_at": "2024-02-05T23:03:30Z", + "releases_url": "https://api.github.com/repos/dundargoc/neovim/releases{/id}", + "size": 249044, + "ssh_url": "git@github.com:dundargoc/neovim.git", + "stargazers_count": 1, + "stargazers_url": "https://api.github.com/repos/dundargoc/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/dundargoc/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/dundargoc/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/dundargoc/neovim/subscription", + "svn_url": "https://github.com/dundargoc/neovim", + "tags_url": "https://api.github.com/repos/dundargoc/neovim/tags", + "teams_url": "https://api.github.com/repos/dundargoc/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/dundargoc/neovim/git/trees{/sha}", + "updated_at": "2023-07-31T17:43:26Z", + "url": "https://api.github.com/repos/dundargoc/neovim", + "visibility": "public", + "watchers": 1, + "watchers_count": 1, + "web_commit_signoff_required": false + }, + "sha": "1a7dc0a4ee941887d5151f32342c1240cc65c86e", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27345", + "id": 1711377991, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27345", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "building and installing Neovim using the provided scripts", + "id": 84723321, + "name": "build", + "node_id": "MDU6TGFiZWw4NDcyMzMyMQ==", + "url": "https://api.github.com/repos/neovim/neovim/labels/build" + } + ], + "locked": false, + "merge_commit_sha": "8a92de22d8bcce4fd2944d4634de297a645b81e6", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM5mAY5H", + "number": 27345, + "patch_url": "https://github.com/neovim/neovim/pull/27345.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27345/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/1a7dc0a4ee941887d5151f32342c1240cc65c86e", + "title": "build: introduce Justfile", + "updated_at": "2024-02-05T13:39:17Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27345", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/33953936?v=4", + "events_url": "https://api.github.com/users/dundargoc/events{/privacy}", + "followers_url": "https://api.github.com/users/dundargoc/followers", + "following_url": "https://api.github.com/users/dundargoc/following{/other_user}", + "gists_url": "https://api.github.com/users/dundargoc/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/dundargoc", + "id": 33953936, + "login": "dundargoc", + "node_id": "MDQ6VXNlcjMzOTUzOTM2", + "organizations_url": "https://api.github.com/users/dundargoc/orgs", + "received_events_url": "https://api.github.com/users/dundargoc/received_events", + "repos_url": "https://api.github.com/users/dundargoc/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dundargoc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dundargoc/subscriptions", + "type": "User", + "url": "https://api.github.com/users/dundargoc" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27346.json b/repositories/neovim/pulls/27346.json new file mode 100644 index 00000000..4b9bebbc --- /dev/null +++ b/repositories/neovim/pulls/27346.json @@ -0,0 +1,432 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27346/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27346/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27346" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27346" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27346/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27346" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/242428e5053d37afee76899e7a4701d21a593986" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "43661a0abf6e1698516d78e6dbf9dfdbf76720bc", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Document that the `start` and `stop` parameters in\r\n`Query:iter_captures()` and `Query:iter_matches()` are optional.\r\n\r\nThe tree-sitter lib has been bumped up to 0.20.9, so we also no longer\r\nneed \"Requires treesitter >= 0.20.9\".\r\n\r\n-----\r\n\r\nExtracted from https://github.com/neovim/neovim/pull/27194#issuecomment-1922969528 to make a separate commit & PR.", + "closed_at": null, + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27346/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27346/commits", + "created_at": "2024-02-05T11:02:17Z", + "diff_url": "https://github.com/neovim/neovim/pull/27346.diff", + "draft": false, + "head": { + "label": "wookayin:docs/ts-iter", + "ref": "docs/ts-iter", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/wookayin/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/wookayin/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/wookayin/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/wookayin/neovim/branches{/branch}", + "clone_url": "https://github.com/wookayin/neovim.git", + "collaborators_url": "https://api.github.com/repos/wookayin/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/wookayin/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/wookayin/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/wookayin/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/wookayin/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/wookayin/neovim/contributors", + "created_at": "2022-10-30T19:40:29Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/wookayin/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/wookayin/neovim/downloads", + "events_url": "https://api.github.com/repos/wookayin/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/wookayin/neovim/forks", + "full_name": "wookayin/neovim", + "git_commits_url": "https://api.github.com/repos/wookayin/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/wookayin/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/wookayin/neovim/git/tags{/sha}", + "git_url": "git://github.com/wookayin/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/wookayin/neovim/hooks", + "html_url": "https://github.com/wookayin/neovim", + "id": 559659867, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/wookayin/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/wookayin/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/wookayin/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/wookayin/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/wookayin/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/wookayin/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/wookayin/neovim/merges", + "milestones_url": "https://api.github.com/repos/wookayin/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOIVu7Ww", + "notifications_url": "https://api.github.com/repos/wookayin/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/wookayin/neovim/pulls{/number}", + "pushed_at": "2024-02-05T22:04:28Z", + "releases_url": "https://api.github.com/repos/wookayin/neovim/releases{/id}", + "size": 247830, + "ssh_url": "git@github.com:wookayin/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/wookayin/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/wookayin/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/wookayin/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/wookayin/neovim/subscription", + "svn_url": "https://github.com/wookayin/neovim", + "tags_url": "https://api.github.com/repos/wookayin/neovim/tags", + "teams_url": "https://api.github.com/repos/wookayin/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/wookayin/neovim/git/trees{/sha}", + "updated_at": "2024-01-25T20:45:40Z", + "url": "https://api.github.com/repos/wookayin/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "242428e5053d37afee76899e7a4701d21a593986", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27346", + "id": 1711396052, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27346", + "labels": [ + { + "color": "C5DEF5", + "default": false, + "description": "changes that are not features or bugfixes", + "id": 106949155, + "name": "refactor", + "node_id": "MDU6TGFiZWwxMDY5NDkxNTU=", + "url": "https://api.github.com/repos/neovim/neovim/labels/refactor" + }, + { + "color": "c5def5", + "default": false, + "description": "", + "id": 1799626557, + "name": "treesitter", + "node_id": "MDU6TGFiZWwxNzk5NjI2NTU3", + "url": "https://api.github.com/repos/neovim/neovim/labels/treesitter" + } + ], + "locked": false, + "merge_commit_sha": "f40ecff413df5e680a5bc414919b73e771649ad4", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM5mAdTU", + "number": 27346, + "patch_url": "https://github.com/neovim/neovim/pull/27346.patch", + "requested_reviewers": [ + { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + }, + { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + ], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27346/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/242428e5053d37afee76899e7a4701d21a593986", + "title": "refactor(treesitter): {start,stop} are optional in Query:iter_* methods", + "updated_at": "2024-02-05T11:13:51Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27346", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27347.json b/repositories/neovim/pulls/27347.json new file mode 100644 index 00000000..d0581690 --- /dev/null +++ b/repositories/neovim/pulls/27347.json @@ -0,0 +1,1194 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27347/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27347/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27347" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27347" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27347/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27347" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/57affc3307a0d6b3a60fe4348a8d3fde8d6f2891" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "43661a0abf6e1698516d78e6dbf9dfdbf76720bc", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "### Problem\r\n\r\n`vim._watch.poll` has terrible performance.\r\n\r\n### Solution\r\n\r\n- On linux use fswatch as a watcher backend if available.\r\n\r\n- Add File watcher section to health:vim.lsp. Warn if watchfunc is libuv-poll.\r\n\r\n\r\nRelates to: #23291", + "closed_at": null, + "comment_data": [ + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27347#discussion_r1478675136" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27347" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478675136" + } + }, + "author_association": "MEMBER", + "body": "I think we should rename the method, it's not actually polling anymore but opposed to the watch method it sets up a watcher per directory", + "commit_id": "57affc3307a0d6b3a60fe4348a8d3fde8d6f2891", + "created_at": "2024-02-05T18:06:50Z", + "diff_hunk": "@@ -48,4 +49,33 @@ function M.check()\n end\n end\n \n+local function check_watcher()\n+ vim.health.start('vim.lsp: File watcher')\n+ local watchfunc = vim.lsp._watchfiles._watchfunc\n+ assert(watchfunc)\n+ local watchfunc_name --- @type string\n+ if watchfunc == vim._watch.watch then\n+ watchfunc_name = 'libuv-watch'\n+ elseif watchfunc == vim._watch.poll then\n+ watchfunc_name = 'libuv-poll'", + "html_url": "https://github.com/neovim/neovim/pull/27347#discussion_r1478675136", + "id": 1478675136, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YIsrA", + "original_commit_id": "c7a54ee16c9b4fc01151ec9086dbff6847c1a3de", + "original_line": 60, + "original_position": 39, + "original_start_line": null, + "path": "runtime/lua/vim/lsp/health.lua", + "position": null, + "pull_request_review_id": 1863476713, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27347", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478675136/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T18:07:36Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478675136", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38700?v=4", + "events_url": "https://api.github.com/users/mfussenegger/events{/privacy}", + "followers_url": "https://api.github.com/users/mfussenegger/followers", + "following_url": "https://api.github.com/users/mfussenegger/following{/other_user}", + "gists_url": "https://api.github.com/users/mfussenegger/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/mfussenegger", + "id": 38700, + "login": "mfussenegger", + "node_id": "MDQ6VXNlcjM4NzAw", + "organizations_url": "https://api.github.com/users/mfussenegger/orgs", + "received_events_url": "https://api.github.com/users/mfussenegger/received_events", + "repos_url": "https://api.github.com/users/mfussenegger/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/mfussenegger/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mfussenegger/subscriptions", + "type": "User", + "url": "https://api.github.com/users/mfussenegger" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27347#discussion_r1478855353" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27347" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478855353" + } + }, + "author_association": "MEMBER", + "body": "I think we should still keep the description.", + "commit_id": "57affc3307a0d6b3a60fe4348a8d3fde8d6f2891", + "created_at": "2024-02-05T20:05:37Z", + "diff_hunk": "@@ -2,15 +2,15 @@ local M = {}\n local uv = vim.uv\n \n ---@enum vim._watch.FileChangeType\n-local FileChangeType = {\n+M.FileChangeType = {\n Created = 1,\n Changed = 2,\n Deleted = 3,\n+ [1] = 'Created',\n+ [2] = 'Changed',\n+ [3] = 'Deleted',\n }\n \n---- Enumeration describing the types of events watchers will emit.", + "html_url": "https://github.com/neovim/neovim/pull/27347#discussion_r1478855353", + "id": 1478855353, + "line": 11, + "node_id": "PRRC_kwDOAPphoM5YJYq5", + "original_commit_id": "c7a54ee16c9b4fc01151ec9086dbff6847c1a3de", + "original_line": 11, + "original_position": 14, + "original_start_line": null, + "path": "runtime/lua/vim/_watch.lua", + "position": 14, + "pull_request_review_id": 1863726353, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27347", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478855353/reactions" + }, + "side": "LEFT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T20:13:42Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478855353", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27347#discussion_r1478856107" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27347" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478856107" + } + }, + "author_association": "MEMBER", + "body": "Isn't this redundant?\r\n```suggestion\r\n---@param opts watch.PollOpts? Additional options\r\n```", + "commit_id": "57affc3307a0d6b3a60fe4348a8d3fde8d6f2891", + "created_at": "2024-02-05T20:06:29Z", + "diff_hunk": "@@ -198,7 +199,7 @@ end\n --- directory at path.\n ---\n ---@param path (string) The path to watch. Must refer to a directory.\n----@param opts (table|nil) Additional options\n+---@param opts watch.PollOpts? (table|nil) Additional options", + "html_url": "https://github.com/neovim/neovim/pull/27347#discussion_r1478856107", + "id": 1478856107, + "line": 202, + "node_id": "PRRC_kwDOAPphoM5YJY2r", + "original_commit_id": "c7a54ee16c9b4fc01151ec9086dbff6847c1a3de", + "original_line": 202, + "original_position": 64, + "original_start_line": null, + "path": "runtime/lua/vim/_watch.lua", + "position": 73, + "pull_request_review_id": 1863726353, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27347", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478856107/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T20:13:42Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478856107", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27347#discussion_r1478856800" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27347" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478856800" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n---@param callback function The function called when new events occur.\r\n```", + "commit_id": "57affc3307a0d6b3a60fe4348a8d3fde8d6f2891", + "created_at": "2024-02-05T20:07:18Z", + "diff_hunk": "@@ -221,4 +222,11 @@ function M.poll(path, opts, callback)\n return recurse_watch(path, opts, callback)\n end\n \n+---@param path string The path to watch. Must refer to a directory.\n+---@param opts table? Additional options. Unused\n+---@param callback function The function called when new events", + "html_url": "https://github.com/neovim/neovim/pull/27347#discussion_r1478856800", + "id": 1478856800, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YJZBg", + "original_commit_id": "c7a54ee16c9b4fc01151ec9086dbff6847c1a3de", + "original_line": 227, + "original_position": 74, + "original_start_line": null, + "path": "runtime/lua/vim/_watch.lua", + "position": null, + "pull_request_review_id": 1863726353, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27347", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478856800/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T20:13:42Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478856800", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27347#discussion_r1478860624" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27347" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478860624" + } + }, + "author_association": "MEMBER", + "body": "I would appreciate some comments in this file :)", + "commit_id": "57affc3307a0d6b3a60fe4348a8d3fde8d6f2891", + "created_at": "2024-02-05T20:11:28Z", + "diff_hunk": "@@ -0,0 +1,77 @@\n+local FSWATCH_EVENTS = {", + "html_url": "https://github.com/neovim/neovim/pull/27347#discussion_r1478860624", + "id": 1478860624, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YJZ9Q", + "original_commit_id": "c7a54ee16c9b4fc01151ec9086dbff6847c1a3de", + "original_line": 1, + "original_position": 1, + "original_start_line": null, + "path": "runtime/lua/vim/_watch/fswatch.lua", + "position": null, + "pull_request_review_id": 1863726353, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27347", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478860624/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T20:13:42Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1478860624", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27347#discussion_r1479048441" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27347" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479048441" + } + }, + "author_association": "MEMBER", + "body": "No. it's to control the doc-gen. Which this `(table|nil)` will be documented.", + "commit_id": "57affc3307a0d6b3a60fe4348a8d3fde8d6f2891", + "created_at": "2024-02-05T23:27:57Z", + "diff_hunk": "@@ -198,7 +199,7 @@ end\n --- directory at path.\n ---\n ---@param path (string) The path to watch. Must refer to a directory.\n----@param opts (table|nil) Additional options\n+---@param opts watch.PollOpts? (table|nil) Additional options", + "html_url": "https://github.com/neovim/neovim/pull/27347#discussion_r1479048441", + "id": 1479048441, + "in_reply_to_id": 1478856107, + "line": 202, + "node_id": "PRRC_kwDOAPphoM5YKHz5", + "original_commit_id": "c7a54ee16c9b4fc01151ec9086dbff6847c1a3de", + "original_line": 202, + "original_position": 64, + "original_start_line": null, + "path": "runtime/lua/vim/_watch.lua", + "position": 73, + "pull_request_review_id": 1864026906, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27347", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479048441/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T23:27:57Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479048441", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27347#discussion_r1479049967" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27347" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479049967" + } + }, + "author_association": "MEMBER", + "body": "In that case why keep the `?`?", + "commit_id": "57affc3307a0d6b3a60fe4348a8d3fde8d6f2891", + "created_at": "2024-02-05T23:29:30Z", + "diff_hunk": "@@ -198,7 +199,7 @@ end\n --- directory at path.\n ---\n ---@param path (string) The path to watch. Must refer to a directory.\n----@param opts (table|nil) Additional options\n+---@param opts watch.PollOpts? (table|nil) Additional options", + "html_url": "https://github.com/neovim/neovim/pull/27347#discussion_r1479049967", + "id": 1479049967, + "in_reply_to_id": 1478856107, + "line": 202, + "node_id": "PRRC_kwDOAPphoM5YKILv", + "original_commit_id": "c7a54ee16c9b4fc01151ec9086dbff6847c1a3de", + "original_line": 202, + "original_position": 64, + "original_start_line": null, + "path": "runtime/lua/vim/_watch.lua", + "position": 73, + "pull_request_review_id": 1864028263, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27347", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479049967/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T23:29:30Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479049967", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62502207?v=4", + "events_url": "https://api.github.com/users/MariaSolOs/events{/privacy}", + "followers_url": "https://api.github.com/users/MariaSolOs/followers", + "following_url": "https://api.github.com/users/MariaSolOs/following{/other_user}", + "gists_url": "https://api.github.com/users/MariaSolOs/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/MariaSolOs", + "id": 62502207, + "login": "MariaSolOs", + "node_id": "MDQ6VXNlcjYyNTAyMjA3", + "organizations_url": "https://api.github.com/users/MariaSolOs/orgs", + "received_events_url": "https://api.github.com/users/MariaSolOs/received_events", + "repos_url": "https://api.github.com/users/MariaSolOs/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/MariaSolOs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/MariaSolOs/subscriptions", + "type": "User", + "url": "https://api.github.com/users/MariaSolOs" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27347#discussion_r1479050939" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27347" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479050939" + } + }, + "author_association": "MEMBER", + "body": "I dunno, it seems pretty redundant since we know it's an enum, and that it's about types of events, and it's defined in `_watch.lua` so must be used by watchers.", + "commit_id": "57affc3307a0d6b3a60fe4348a8d3fde8d6f2891", + "created_at": "2024-02-05T23:30:50Z", + "diff_hunk": "@@ -2,15 +2,15 @@ local M = {}\n local uv = vim.uv\n \n ---@enum vim._watch.FileChangeType\n-local FileChangeType = {\n+M.FileChangeType = {\n Created = 1,\n Changed = 2,\n Deleted = 3,\n+ [1] = 'Created',\n+ [2] = 'Changed',\n+ [3] = 'Deleted',\n }\n \n---- Enumeration describing the types of events watchers will emit.", + "html_url": "https://github.com/neovim/neovim/pull/27347#discussion_r1479050939", + "id": 1479050939, + "in_reply_to_id": 1478855353, + "line": 11, + "node_id": "PRRC_kwDOAPphoM5YKIa7", + "original_commit_id": "c7a54ee16c9b4fc01151ec9086dbff6847c1a3de", + "original_line": 11, + "original_position": 14, + "original_start_line": null, + "path": "runtime/lua/vim/_watch.lua", + "position": 14, + "pull_request_review_id": 1864029515, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27347", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479050939/reactions" + }, + "side": "LEFT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T23:31:26Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479050939", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27347#discussion_r1479068132" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27347" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479068132" + } + }, + "author_association": "MEMBER", + "body": "Because that is a part of the type.", + "commit_id": "57affc3307a0d6b3a60fe4348a8d3fde8d6f2891", + "created_at": "2024-02-05T23:58:55Z", + "diff_hunk": "@@ -198,7 +199,7 @@ end\n --- directory at path.\n ---\n ---@param path (string) The path to watch. Must refer to a directory.\n----@param opts (table|nil) Additional options\n+---@param opts watch.PollOpts? (table|nil) Additional options", + "html_url": "https://github.com/neovim/neovim/pull/27347#discussion_r1479068132", + "id": 1479068132, + "in_reply_to_id": 1478856107, + "line": 202, + "node_id": "PRRC_kwDOAPphoM5YKMnk", + "original_commit_id": "c7a54ee16c9b4fc01151ec9086dbff6847c1a3de", + "original_line": 202, + "original_position": 64, + "original_start_line": null, + "path": "runtime/lua/vim/_watch.lua", + "position": 73, + "pull_request_review_id": 1864054386, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27347", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479068132/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T23:58:55Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479068132", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27347#discussion_r1479071111" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27347" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479071111" + } + }, + "author_association": "MEMBER", + "body": "Ah, we don't generate docs from this file so it is redundant.", + "commit_id": "57affc3307a0d6b3a60fe4348a8d3fde8d6f2891", + "created_at": "2024-02-06T00:03:46Z", + "diff_hunk": "@@ -198,7 +199,7 @@ end\n --- directory at path.\n ---\n ---@param path (string) The path to watch. Must refer to a directory.\n----@param opts (table|nil) Additional options\n+---@param opts watch.PollOpts? (table|nil) Additional options", + "html_url": "https://github.com/neovim/neovim/pull/27347#discussion_r1479071111", + "id": 1479071111, + "in_reply_to_id": 1478856107, + "line": 202, + "node_id": "PRRC_kwDOAPphoM5YKNWH", + "original_commit_id": "c7a54ee16c9b4fc01151ec9086dbff6847c1a3de", + "original_line": 202, + "original_position": 64, + "original_start_line": null, + "path": "runtime/lua/vim/_watch.lua", + "position": 73, + "pull_request_review_id": 1864058618, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27347", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479071111/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-06T00:03:46Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479071111", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + } + ], + "comment_regular_data": [ + { + "author_association": "MEMBER", + "body": "I'm happy to update any existing tests so they cover both backends.", + "created_at": "2024-02-05T18:32:56Z", + "html_url": "https://github.com/neovim/neovim/pull/27347#issuecomment-1927754453", + "id": 1927754453, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27347", + "node_id": "IC_kwDOAPphoM5y5zLV", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927754453/reactions" + }, + "updated_at": "2024-02-05T18:32:56Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927754453", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + { + "author_association": "MEMBER", + "body": "> I'm happy to update any existing tests so they cover both backends.\r\n\r\nSee test/functional/lua/watch_spec.lua and https://github.com/neovim/neovim/blob/0e9a33572dc752463a0f5ad8a08a2c494d7a42e1/test/functional/plugin/lsp_spec.lua#L4361-L4362 ", + "created_at": "2024-02-05T19:32:35Z", + "html_url": "https://github.com/neovim/neovim/pull/27347#issuecomment-1927889944", + "id": 1927889944, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27347", + "node_id": "IC_kwDOAPphoM5y6UQY", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927889944/reactions" + }, + "updated_at": "2024-02-05T19:32:35Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927889944", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/38700?v=4", + "events_url": "https://api.github.com/users/mfussenegger/events{/privacy}", + "followers_url": "https://api.github.com/users/mfussenegger/followers", + "following_url": "https://api.github.com/users/mfussenegger/following{/other_user}", + "gists_url": "https://api.github.com/users/mfussenegger/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/mfussenegger", + "id": 38700, + "login": "mfussenegger", + "node_id": "MDQ6VXNlcjM4NzAw", + "organizations_url": "https://api.github.com/users/mfussenegger/orgs", + "received_events_url": "https://api.github.com/users/mfussenegger/received_events", + "repos_url": "https://api.github.com/users/mfussenegger/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/mfussenegger/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mfussenegger/subscriptions", + "type": "User", + "url": "https://api.github.com/users/mfussenegger" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27347/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27347/commits", + "created_at": "2024-02-05T11:20:54Z", + "diff_url": "https://github.com/neovim/neovim/pull/27347.diff", + "draft": false, + "head": { + "label": "lewis6991:fswatch", + "ref": "fswatch", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/lewis6991/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/lewis6991/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/lewis6991/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/lewis6991/neovim/branches{/branch}", + "clone_url": "https://github.com/lewis6991/neovim.git", + "collaborators_url": "https://api.github.com/repos/lewis6991/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/lewis6991/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/lewis6991/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/lewis6991/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/lewis6991/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/lewis6991/neovim/contributors", + "created_at": "2020-11-24T21:47:43Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/lewis6991/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/lewis6991/neovim/downloads", + "events_url": "https://api.github.com/repos/lewis6991/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/lewis6991/neovim/forks", + "full_name": "lewis6991/neovim", + "git_commits_url": "https://api.github.com/repos/lewis6991/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/lewis6991/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/lewis6991/neovim/git/tags{/sha}", + "git_url": "git://github.com/lewis6991/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/lewis6991/neovim/hooks", + "html_url": "https://github.com/lewis6991/neovim", + "id": 315760150, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/lewis6991/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/lewis6991/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/lewis6991/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/lewis6991/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/lewis6991/neovim/labels{/name}", + "language": "Vim script", + "languages_url": "https://api.github.com/repos/lewis6991/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/lewis6991/neovim/merges", + "milestones_url": "https://api.github.com/repos/lewis6991/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkzMTU3NjAxNTA=", + "notifications_url": "https://api.github.com/repos/lewis6991/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/lewis6991/neovim/pulls{/number}", + "pushed_at": "2024-02-05T23:34:21Z", + "releases_url": "https://api.github.com/repos/lewis6991/neovim/releases{/id}", + "size": 247361, + "ssh_url": "git@github.com:lewis6991/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/lewis6991/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/lewis6991/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/lewis6991/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/lewis6991/neovim/subscription", + "svn_url": "https://github.com/lewis6991/neovim", + "tags_url": "https://api.github.com/repos/lewis6991/neovim/tags", + "teams_url": "https://api.github.com/repos/lewis6991/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/lewis6991/neovim/git/trees{/sha}", + "updated_at": "2023-01-31T18:36:52Z", + "url": "https://api.github.com/repos/lewis6991/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "57affc3307a0d6b3a60fe4348a8d3fde8d6f2891", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27347", + "id": 1711426853, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27347", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": null, + "id": 662566370, + "name": "lsp", + "node_id": "MDU6TGFiZWw2NjI1NjYzNzA=", + "url": "https://api.github.com/repos/neovim/neovim/labels/lsp" + } + ], + "locked": false, + "merge_commit_sha": "8b8986eb3b73a0a7dada70717aa1577c23f20cb6", + "merged_at": null, + "milestone": { + "closed_at": null, + "closed_issues": 278, + "created_at": "2023-02-02T14:11:43Z", + "creator": { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + "description": "", + "due_on": "2024-03-01T08:00:00Z", + "html_url": "https://github.com/neovim/neovim/milestone/36", + "id": 8997654, + "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/36/labels", + "node_id": "MI_kwDOAPphoM4AiUsW", + "number": 36, + "open_issues": 138, + "state": "open", + "title": "0.10", + "updated_at": "2024-02-05T21:59:25Z", + "url": "https://api.github.com/repos/neovim/neovim/milestones/36" + }, + "node_id": "PR_kwDOAPphoM5mAk0l", + "number": 27347, + "patch_url": "https://github.com/neovim/neovim/pull/27347.patch", + "requested_reviewers": [ + { + "avatar_url": "https://avatars.githubusercontent.com/u/292349?v=4", + "events_url": "https://api.github.com/users/folke/events{/privacy}", + "followers_url": "https://api.github.com/users/folke/followers", + "following_url": "https://api.github.com/users/folke/following{/other_user}", + "gists_url": "https://api.github.com/users/folke/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/folke", + "id": 292349, + "login": "folke", + "node_id": "MDQ6VXNlcjI5MjM0OQ==", + "organizations_url": "https://api.github.com/users/folke/orgs", + "received_events_url": "https://api.github.com/users/folke/received_events", + "repos_url": "https://api.github.com/users/folke/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/folke/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/folke/subscriptions", + "type": "User", + "url": "https://api.github.com/users/folke" + } + ], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27347/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/57affc3307a0d6b3a60fe4348a8d3fde8d6f2891", + "title": "feat(lsp): add fswatch watchfunc backend", + "updated_at": "2024-02-06T00:03:46Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27347", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/7904185?v=4", + "events_url": "https://api.github.com/users/lewis6991/events{/privacy}", + "followers_url": "https://api.github.com/users/lewis6991/followers", + "following_url": "https://api.github.com/users/lewis6991/following{/other_user}", + "gists_url": "https://api.github.com/users/lewis6991/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/lewis6991", + "id": 7904185, + "login": "lewis6991", + "node_id": "MDQ6VXNlcjc5MDQxODU=", + "organizations_url": "https://api.github.com/users/lewis6991/orgs", + "received_events_url": "https://api.github.com/users/lewis6991/received_events", + "repos_url": "https://api.github.com/users/lewis6991/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/lewis6991/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lewis6991/subscriptions", + "type": "User", + "url": "https://api.github.com/users/lewis6991" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27348.json b/repositories/neovim/pulls/27348.json new file mode 100644 index 00000000..4c97b94a --- /dev/null +++ b/repositories/neovim/pulls/27348.json @@ -0,0 +1,677 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27348/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27348/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27348" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27348" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27348/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27348" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/a090d43d61b5de1add5624fc55e4a9dead5b7ece" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "b3bda2f0438da44a0a74fd5d64d6eecdac98d691", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "This fixes the crashing for:\r\n* https://github.com/neovim/neovim/issues/26980\r\n\r\nBut the other problems of `ext_hlstate` as described in the issue are still there. Additionally, deleting a lot of lines like that gets very slow quickly, since it sends one message for each line deleted and the size of the message keeps growing.\r\n\r\nThe fix was done by determining the needed buffer space first, instead of trying to revert the effect of `prepare_call` if message does not fit. The previous code did not revert the full state, which caused corrupted messages to be sent. So, rather than trying to fix all of that, with fragile and hard to read code as a result, the code is now much simpler, although slightly slower.\r\n\r\nDuring testing of this, I also noticed another issue, the messagepack session used in the test were receiving corrupted data, and caused the tests to fail, even before the actual bug I intended to fix was observed. This happened already with `num_lines = 100` in the `does not hang when combining too many highlights` test. That turned out to be caused by a bug in `lmpack_session_receive`, which did not take the start position into account when determinging the remaining message size.\r\n\r\nI also added a couple of extra tests for `ext_hlstate`, which did not seem to be properly tested elsewhere.", + "closed_at": null, + "comment_data": [], + "comment_regular_data": [ + { + "author_association": "MEMBER", + "body": "`mpack` is a vendored dependency; if this is a bug, please consider PRing the fix upstream (https://github.com/libmpack/libmpack).", + "created_at": "2024-02-05T14:50:12Z", + "html_url": "https://github.com/neovim/neovim/pull/27348#issuecomment-1927174621", + "id": 1927174621, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27348", + "node_id": "IC_kwDOAPphoM5y3lnd", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927174621/reactions" + }, + "updated_at": "2024-02-05T14:50:12Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927174621", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "> `mpack` is a vendored dependency; if this is a bug, please consider PRing the fix upstream\r\n\r\nOk, I will look into that, the repo has not been updated in 6 years though. And there seem to be a lot of commits directly to it here, so I assumed it's unmaintained.", + "created_at": "2024-02-05T15:03:13Z", + "html_url": "https://github.com/neovim/neovim/pull/27348#issuecomment-1927205019", + "id": 1927205019, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27348", + "node_id": "IC_kwDOAPphoM5y3tCb", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927205019/reactions" + }, + "updated_at": "2024-02-05T15:03:13Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927205019", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9946255?v=4", + "events_url": "https://api.github.com/users/fredizzimo/events{/privacy}", + "followers_url": "https://api.github.com/users/fredizzimo/followers", + "following_url": "https://api.github.com/users/fredizzimo/following{/other_user}", + "gists_url": "https://api.github.com/users/fredizzimo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/fredizzimo", + "id": 9946255, + "login": "fredizzimo", + "node_id": "MDQ6VXNlcjk5NDYyNTU=", + "organizations_url": "https://api.github.com/users/fredizzimo/orgs", + "received_events_url": "https://api.github.com/users/fredizzimo/received_events", + "repos_url": "https://api.github.com/users/fredizzimo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/fredizzimo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/fredizzimo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/fredizzimo" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "The bug is actually in https://github.com/libmpack/libmpack-lua, which has been updated more recently.", + "created_at": "2024-02-05T15:13:09Z", + "html_url": "https://github.com/neovim/neovim/pull/27348#issuecomment-1927225485", + "id": 1927225485, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27348", + "node_id": "IC_kwDOAPphoM5y3yCN", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927225485/reactions" + }, + "updated_at": "2024-02-05T15:13:09Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927225485", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9946255?v=4", + "events_url": "https://api.github.com/users/fredizzimo/events{/privacy}", + "followers_url": "https://api.github.com/users/fredizzimo/followers", + "following_url": "https://api.github.com/users/fredizzimo/following{/other_user}", + "gists_url": "https://api.github.com/users/fredizzimo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/fredizzimo", + "id": 9946255, + "login": "fredizzimo", + "node_id": "MDQ6VXNlcjk5NDYyNTU=", + "organizations_url": "https://api.github.com/users/fredizzimo/orgs", + "received_events_url": "https://api.github.com/users/fredizzimo/received_events", + "repos_url": "https://api.github.com/users/fredizzimo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/fredizzimo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/fredizzimo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/fredizzimo" + } + }, + { + "author_association": "MEMBER", + "body": "Right, sorry, wrong link! So (parallel) PR would be welcome.", + "created_at": "2024-02-05T15:17:15Z", + "html_url": "https://github.com/neovim/neovim/pull/27348#issuecomment-1927234858", + "id": 1927234858, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27348", + "node_id": "IC_kwDOAPphoM5y30Uq", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927234858/reactions" + }, + "updated_at": "2024-02-05T15:17:49Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927234858", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Ok, I will try to create a failing test there first.", + "created_at": "2024-02-05T15:23:28Z", + "html_url": "https://github.com/neovim/neovim/pull/27348#issuecomment-1927248706", + "id": 1927248706, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27348", + "node_id": "IC_kwDOAPphoM5y33tC", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927248706/reactions" + }, + "updated_at": "2024-02-05T15:23:28Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927248706", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9946255?v=4", + "events_url": "https://api.github.com/users/fredizzimo/events{/privacy}", + "followers_url": "https://api.github.com/users/fredizzimo/followers", + "following_url": "https://api.github.com/users/fredizzimo/following{/other_user}", + "gists_url": "https://api.github.com/users/fredizzimo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/fredizzimo", + "id": 9946255, + "login": "fredizzimo", + "node_id": "MDQ6VXNlcjk5NDYyNTU=", + "organizations_url": "https://api.github.com/users/fredizzimo/orgs", + "received_events_url": "https://api.github.com/users/fredizzimo/received_events", + "repos_url": "https://api.github.com/users/fredizzimo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/fredizzimo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/fredizzimo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/fredizzimo" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "I created the upstream PR here https://github.com/libmpack/libmpack-lua/pull/33\r\n\r\nAnd also rebased this to make the fix exactly the same.", + "created_at": "2024-02-05T23:08:54Z", + "html_url": "https://github.com/neovim/neovim/pull/27348#issuecomment-1928468988", + "id": 1928468988, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27348", + "node_id": "IC_kwDOAPphoM5y8hn8", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1928468988/reactions" + }, + "updated_at": "2024-02-05T23:08:54Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1928468988", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9946255?v=4", + "events_url": "https://api.github.com/users/fredizzimo/events{/privacy}", + "followers_url": "https://api.github.com/users/fredizzimo/followers", + "following_url": "https://api.github.com/users/fredizzimo/following{/other_user}", + "gists_url": "https://api.github.com/users/fredizzimo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/fredizzimo", + "id": 9946255, + "login": "fredizzimo", + "node_id": "MDQ6VXNlcjk5NDYyNTU=", + "organizations_url": "https://api.github.com/users/fredizzimo/orgs", + "received_events_url": "https://api.github.com/users/fredizzimo/received_events", + "repos_url": "https://api.github.com/users/fredizzimo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/fredizzimo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/fredizzimo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/fredizzimo" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27348/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27348/commits", + "created_at": "2024-02-05T14:38:10Z", + "diff_url": "https://github.com/neovim/neovim/pull/27348.diff", + "draft": false, + "head": { + "label": "fredizzimo:fsundvik/fix-ext-hlstate", + "ref": "fsundvik/fix-ext-hlstate", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/fredizzimo/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/fredizzimo/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/fredizzimo/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/fredizzimo/neovim/branches{/branch}", + "clone_url": "https://github.com/fredizzimo/neovim.git", + "collaborators_url": "https://api.github.com/repos/fredizzimo/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/fredizzimo/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/fredizzimo/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/fredizzimo/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/fredizzimo/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/fredizzimo/neovim/contributors", + "created_at": "2021-07-09T10:07:26Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/fredizzimo/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/fredizzimo/neovim/downloads", + "events_url": "https://api.github.com/repos/fredizzimo/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/fredizzimo/neovim/forks", + "full_name": "fredizzimo/neovim", + "git_commits_url": "https://api.github.com/repos/fredizzimo/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/fredizzimo/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/fredizzimo/neovim/git/tags{/sha}", + "git_url": "git://github.com/fredizzimo/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/fredizzimo/neovim/hooks", + "html_url": "https://github.com/fredizzimo/neovim", + "id": 384397538, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/fredizzimo/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/fredizzimo/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/fredizzimo/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/fredizzimo/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/fredizzimo/neovim/labels{/name}", + "language": null, + "languages_url": "https://api.github.com/repos/fredizzimo/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/fredizzimo/neovim/merges", + "milestones_url": "https://api.github.com/repos/fredizzimo/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkzODQzOTc1Mzg=", + "notifications_url": "https://api.github.com/repos/fredizzimo/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/9946255?v=4", + "events_url": "https://api.github.com/users/fredizzimo/events{/privacy}", + "followers_url": "https://api.github.com/users/fredizzimo/followers", + "following_url": "https://api.github.com/users/fredizzimo/following{/other_user}", + "gists_url": "https://api.github.com/users/fredizzimo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/fredizzimo", + "id": 9946255, + "login": "fredizzimo", + "node_id": "MDQ6VXNlcjk5NDYyNTU=", + "organizations_url": "https://api.github.com/users/fredizzimo/orgs", + "received_events_url": "https://api.github.com/users/fredizzimo/received_events", + "repos_url": "https://api.github.com/users/fredizzimo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/fredizzimo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/fredizzimo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/fredizzimo" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/fredizzimo/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:16:59Z", + "releases_url": "https://api.github.com/repos/fredizzimo/neovim/releases{/id}", + "size": 247580, + "ssh_url": "git@github.com:fredizzimo/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/fredizzimo/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/fredizzimo/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/fredizzimo/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/fredizzimo/neovim/subscription", + "svn_url": "https://github.com/fredizzimo/neovim", + "tags_url": "https://api.github.com/repos/fredizzimo/neovim/tags", + "teams_url": "https://api.github.com/repos/fredizzimo/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/fredizzimo/neovim/git/trees{/sha}", + "updated_at": "2021-07-09T10:07:27Z", + "url": "https://api.github.com/repos/fredizzimo/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "a090d43d61b5de1add5624fc55e4a9dead5b7ece", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9946255?v=4", + "events_url": "https://api.github.com/users/fredizzimo/events{/privacy}", + "followers_url": "https://api.github.com/users/fredizzimo/followers", + "following_url": "https://api.github.com/users/fredizzimo/following{/other_user}", + "gists_url": "https://api.github.com/users/fredizzimo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/fredizzimo", + "id": 9946255, + "login": "fredizzimo", + "node_id": "MDQ6VXNlcjk5NDYyNTU=", + "organizations_url": "https://api.github.com/users/fredizzimo/orgs", + "received_events_url": "https://api.github.com/users/fredizzimo/received_events", + "repos_url": "https://api.github.com/users/fredizzimo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/fredizzimo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/fredizzimo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/fredizzimo" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27348", + "id": 1711825042, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27348", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "libnvim, Nvim RPC API", + "id": 103819671, + "name": "api", + "node_id": "MDU6TGFiZWwxMDM4MTk2NzE=", + "url": "https://api.github.com/repos/neovim/neovim/labels/api" + }, + { + "color": "c7def8", + "default": false, + "description": null, + "id": 242522707, + "name": "rpc", + "node_id": "MDU6TGFiZWwyNDI1MjI3MDc=", + "url": "https://api.github.com/repos/neovim/neovim/labels/rpc" + } + ], + "locked": false, + "merge_commit_sha": "95228c80774365f8ed113b7bad5192f560a3944f", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM5mCGCS", + "number": 27348, + "patch_url": "https://github.com/neovim/neovim/pull/27348.patch", + "requested_reviewers": [ + { + "avatar_url": "https://avatars.githubusercontent.com/u/1363104?v=4", + "events_url": "https://api.github.com/users/bfredl/events{/privacy}", + "followers_url": "https://api.github.com/users/bfredl/followers", + "following_url": "https://api.github.com/users/bfredl/following{/other_user}", + "gists_url": "https://api.github.com/users/bfredl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/bfredl", + "id": 1363104, + "login": "bfredl", + "node_id": "MDQ6VXNlcjEzNjMxMDQ=", + "organizations_url": "https://api.github.com/users/bfredl/orgs", + "received_events_url": "https://api.github.com/users/bfredl/received_events", + "repos_url": "https://api.github.com/users/bfredl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/bfredl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bfredl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/bfredl" + }, + { + "avatar_url": "https://avatars.githubusercontent.com/u/29580810?v=4", + "events_url": "https://api.github.com/users/famiu/events{/privacy}", + "followers_url": "https://api.github.com/users/famiu/followers", + "following_url": "https://api.github.com/users/famiu/following{/other_user}", + "gists_url": "https://api.github.com/users/famiu/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/famiu", + "id": 29580810, + "login": "famiu", + "node_id": "MDQ6VXNlcjI5NTgwODEw", + "organizations_url": "https://api.github.com/users/famiu/orgs", + "received_events_url": "https://api.github.com/users/famiu/received_events", + "repos_url": "https://api.github.com/users/famiu/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/famiu/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/famiu/subscriptions", + "type": "User", + "url": "https://api.github.com/users/famiu" + } + ], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27348/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/a090d43d61b5de1add5624fc55e4a9dead5b7ece", + "title": "fix: crashes with large msgpack messages", + "updated_at": "2024-02-06T01:17:00Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27348", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/9946255?v=4", + "events_url": "https://api.github.com/users/fredizzimo/events{/privacy}", + "followers_url": "https://api.github.com/users/fredizzimo/followers", + "following_url": "https://api.github.com/users/fredizzimo/following{/other_user}", + "gists_url": "https://api.github.com/users/fredizzimo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/fredizzimo", + "id": 9946255, + "login": "fredizzimo", + "node_id": "MDQ6VXNlcjk5NDYyNTU=", + "organizations_url": "https://api.github.com/users/fredizzimo/orgs", + "received_events_url": "https://api.github.com/users/fredizzimo/received_events", + "repos_url": "https://api.github.com/users/fredizzimo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/fredizzimo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/fredizzimo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/fredizzimo" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27349.json b/repositories/neovim/pulls/27349.json new file mode 100644 index 00000000..dc519e3b --- /dev/null +++ b/repositories/neovim/pulls/27349.json @@ -0,0 +1,451 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27349/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27349/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27349" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27349" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27349/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27349" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/e6719b7fe51680a968b0b9b46211c62f4899b359" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "0e9a33572dc752463a0f5ad8a08a2c494d7a42e1", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Currently, `highlight.on_yank` will do buffer-local highlighting, this PR will change that to window-local highlighting.\r\nIt achieves window-local highlighting by using `matchadd`, as window-local extmarks are not yet implemented.\r\nOnce window-local extmarks are implemented, the hacky `matchadd` method can be removed.\r\n\r\nSome additional changes\r\n* fix: when yanking in the buffer, moving to another buffer, and yanking before the original buffer highlight disappears, the original buffer highlight won't disappear on timeout.\r\n* change: when yanking multiple lines, highlight the newlines (end of lines).", + "closed_at": null, + "comment_data": [], + "comment_regular_data": [ + { + "author_association": "MEMBER", + "body": "I have to admit I'm not too fond of adding a `matchadd` hack and would rather wait until we have window-local extmarks (if ever).\r\n\r\nThe other changes are welcome, though.", + "created_at": "2024-02-05T15:09:22Z", + "html_url": "https://github.com/neovim/neovim/pull/27349#issuecomment-1927217732", + "id": 1927217732, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27349", + "node_id": "IC_kwDOAPphoM5y3wJE", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927217732/reactions" + }, + "updated_at": "2024-02-05T15:09:22Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927217732", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "I could also implement this with `nvim_set_decoration_provider` instead of `matchadd`. So is that a better idea? Or should I just ignore win-local highlight and only do the other changes?", + "created_at": "2024-02-05T19:52:41Z", + "html_url": "https://github.com/neovim/neovim/pull/27349#issuecomment-1927972713", + "id": 1927972713, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27349", + "node_id": "IC_kwDOAPphoM5y6odp", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927972713/reactions" + }, + "updated_at": "2024-02-05T19:52:41Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1927972713", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", + "events_url": "https://api.github.com/users/altermo/events{/privacy}", + "followers_url": "https://api.github.com/users/altermo/followers", + "following_url": "https://api.github.com/users/altermo/following{/other_user}", + "gists_url": "https://api.github.com/users/altermo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/altermo", + "id": 107814000, + "login": "altermo", + "node_id": "U_kgDOBm0ccA", + "organizations_url": "https://api.github.com/users/altermo/orgs", + "received_events_url": "https://api.github.com/users/altermo/received_events", + "repos_url": "https://api.github.com/users/altermo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/altermo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/altermo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/altermo" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27349/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27349/commits", + "created_at": "2024-02-05T14:54:49Z", + "diff_url": "https://github.com/neovim/neovim/pull/27349.diff", + "draft": false, + "head": { + "label": "altermo:win-local-highlight-for-on_yank", + "ref": "win-local-highlight-for-on_yank", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/altermo/neovim-fork/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/altermo/neovim-fork/assignees{/user}", + "blobs_url": "https://api.github.com/repos/altermo/neovim-fork/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/altermo/neovim-fork/branches{/branch}", + "clone_url": "https://github.com/altermo/neovim-fork.git", + "collaborators_url": "https://api.github.com/repos/altermo/neovim-fork/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/altermo/neovim-fork/comments{/number}", + "commits_url": "https://api.github.com/repos/altermo/neovim-fork/commits{/sha}", + "compare_url": "https://api.github.com/repos/altermo/neovim-fork/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/altermo/neovim-fork/contents/{+path}", + "contributors_url": "https://api.github.com/repos/altermo/neovim-fork/contributors", + "created_at": "2023-09-13T06:55:17Z", + "default_branch": "DONT-USE-THIS-AS-SOURCE-WHEN-CREATING-NEW-BRANCH", + "deployments_url": "https://api.github.com/repos/altermo/neovim-fork/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/altermo/neovim-fork/downloads", + "events_url": "https://api.github.com/repos/altermo/neovim-fork/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/altermo/neovim-fork/forks", + "full_name": "altermo/neovim-fork", + "git_commits_url": "https://api.github.com/repos/altermo/neovim-fork/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/altermo/neovim-fork/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/altermo/neovim-fork/git/tags{/sha}", + "git_url": "git://github.com/altermo/neovim-fork.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/altermo/neovim-fork/hooks", + "html_url": "https://github.com/altermo/neovim-fork", + "id": 690927347, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/altermo/neovim-fork/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/altermo/neovim-fork/issues/events{/number}", + "issues_url": "https://api.github.com/repos/altermo/neovim-fork/issues{/number}", + "keys_url": "https://api.github.com/repos/altermo/neovim-fork/keys{/key_id}", + "labels_url": "https://api.github.com/repos/altermo/neovim-fork/labels{/name}", + "language": null, + "languages_url": "https://api.github.com/repos/altermo/neovim-fork/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/altermo/neovim-fork/merges", + "milestones_url": "https://api.github.com/repos/altermo/neovim-fork/milestones{/number}", + "mirror_url": null, + "name": "neovim-fork", + "node_id": "R_kgDOKS628w", + "notifications_url": "https://api.github.com/repos/altermo/neovim-fork/notifications{?since,all,participating}", + "open_issues": 1, + "open_issues_count": 1, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", + "events_url": "https://api.github.com/users/altermo/events{/privacy}", + "followers_url": "https://api.github.com/users/altermo/followers", + "following_url": "https://api.github.com/users/altermo/following{/other_user}", + "gists_url": "https://api.github.com/users/altermo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/altermo", + "id": 107814000, + "login": "altermo", + "node_id": "U_kgDOBm0ccA", + "organizations_url": "https://api.github.com/users/altermo/orgs", + "received_events_url": "https://api.github.com/users/altermo/received_events", + "repos_url": "https://api.github.com/users/altermo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/altermo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/altermo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/altermo" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/altermo/neovim-fork/pulls{/number}", + "pushed_at": "2024-02-05T17:19:10Z", + "releases_url": "https://api.github.com/repos/altermo/neovim-fork/releases{/id}", + "size": 245987, + "ssh_url": "git@github.com:altermo/neovim-fork.git", + "stargazers_count": 1, + "stargazers_url": "https://api.github.com/repos/altermo/neovim-fork/stargazers", + "statuses_url": "https://api.github.com/repos/altermo/neovim-fork/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/altermo/neovim-fork/subscribers", + "subscription_url": "https://api.github.com/repos/altermo/neovim-fork/subscription", + "svn_url": "https://github.com/altermo/neovim-fork", + "tags_url": "https://api.github.com/repos/altermo/neovim-fork/tags", + "teams_url": "https://api.github.com/repos/altermo/neovim-fork/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/altermo/neovim-fork/git/trees{/sha}", + "updated_at": "2023-11-15T07:57:27Z", + "url": "https://api.github.com/repos/altermo/neovim-fork", + "visibility": "public", + "watchers": 1, + "watchers_count": 1, + "web_commit_signoff_required": false + }, + "sha": "e6719b7fe51680a968b0b9b46211c62f4899b359", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", + "events_url": "https://api.github.com/users/altermo/events{/privacy}", + "followers_url": "https://api.github.com/users/altermo/followers", + "following_url": "https://api.github.com/users/altermo/following{/other_user}", + "gists_url": "https://api.github.com/users/altermo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/altermo", + "id": 107814000, + "login": "altermo", + "node_id": "U_kgDOBm0ccA", + "organizations_url": "https://api.github.com/users/altermo/orgs", + "received_events_url": "https://api.github.com/users/altermo/received_events", + "repos_url": "https://api.github.com/users/altermo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/altermo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/altermo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/altermo" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27349", + "id": 1711857394, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27349", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "stdlib", + "id": 573222693, + "name": "lua", + "node_id": "MDU6TGFiZWw1NzMyMjI2OTM=", + "url": "https://api.github.com/repos/neovim/neovim/labels/lua" + } + ], + "locked": false, + "merge_commit_sha": "48b7a3e43e9d423a9f47b213749afe5902bd14c9", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM5mCN7y", + "number": 27349, + "patch_url": "https://github.com/neovim/neovim/pull/27349.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27349/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/e6719b7fe51680a968b0b9b46211c62f4899b359", + "title": "feat(lua): highlight.on_yank use win-local highlight", + "updated_at": "2024-02-05T19:52:43Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27349", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/107814000?v=4", + "events_url": "https://api.github.com/users/altermo/events{/privacy}", + "followers_url": "https://api.github.com/users/altermo/followers", + "following_url": "https://api.github.com/users/altermo/following{/other_user}", + "gists_url": "https://api.github.com/users/altermo/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/altermo", + "id": 107814000, + "login": "altermo", + "node_id": "U_kgDOBm0ccA", + "organizations_url": "https://api.github.com/users/altermo/orgs", + "received_events_url": "https://api.github.com/users/altermo/received_events", + "repos_url": "https://api.github.com/users/altermo/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/altermo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/altermo/subscriptions", + "type": "User", + "url": "https://api.github.com/users/altermo" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27350.json b/repositories/neovim/pulls/27350.json new file mode 100644 index 00000000..6d004d7a --- /dev/null +++ b/repositories/neovim/pulls/27350.json @@ -0,0 +1,383 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27350/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27350/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27350" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27350" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27350/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27350" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/3b8435dd95a38ef696efd69657d645716e9a1708" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "FIRST_TIME_CONTRIBUTOR", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "0e9a33572dc752463a0f5ad8a08a2c494d7a42e1", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Refers to #27310 \r\n\r\nAdds more specific instructions on how to install neovim for AppImage and pre-built archives.\r\n\r\nIf I am missing any information or there are parts I should elaborate more on please let me know and I will update the file,", + "closed_at": null, + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27350/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27350/commits", + "created_at": "2024-02-05T20:14:36Z", + "diff_url": "https://github.com/neovim/neovim/pull/27350.diff", + "draft": false, + "head": { + "label": "PurityLake:install-linux-doc-update", + "ref": "install-linux-doc-update", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/PurityLake/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/PurityLake/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/PurityLake/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/PurityLake/neovim/branches{/branch}", + "clone_url": "https://github.com/PurityLake/neovim.git", + "collaborators_url": "https://api.github.com/repos/PurityLake/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/PurityLake/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/PurityLake/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/PurityLake/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/PurityLake/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/PurityLake/neovim/contributors", + "created_at": "2022-08-01T00:48:03Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/PurityLake/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/PurityLake/neovim/downloads", + "events_url": "https://api.github.com/repos/PurityLake/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/PurityLake/neovim/forks", + "full_name": "PurityLake/neovim", + "git_commits_url": "https://api.github.com/repos/PurityLake/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/PurityLake/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/PurityLake/neovim/git/tags{/sha}", + "git_url": "git://github.com/PurityLake/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/PurityLake/neovim/hooks", + "html_url": "https://github.com/PurityLake/neovim", + "id": 519920637, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/PurityLake/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/PurityLake/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/PurityLake/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/PurityLake/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/PurityLake/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/PurityLake/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/PurityLake/neovim/merges", + "milestones_url": "https://api.github.com/repos/PurityLake/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOHv1b_Q", + "notifications_url": "https://api.github.com/repos/PurityLake/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/3174205?v=4", + "events_url": "https://api.github.com/users/PurityLake/events{/privacy}", + "followers_url": "https://api.github.com/users/PurityLake/followers", + "following_url": "https://api.github.com/users/PurityLake/following{/other_user}", + "gists_url": "https://api.github.com/users/PurityLake/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/PurityLake", + "id": 3174205, + "login": "PurityLake", + "node_id": "MDQ6VXNlcjMxNzQyMDU=", + "organizations_url": "https://api.github.com/users/PurityLake/orgs", + "received_events_url": "https://api.github.com/users/PurityLake/received_events", + "repos_url": "https://api.github.com/users/PurityLake/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/PurityLake/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/PurityLake/subscriptions", + "type": "User", + "url": "https://api.github.com/users/PurityLake" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/PurityLake/neovim/pulls{/number}", + "pushed_at": "2024-02-05T20:07:31Z", + "releases_url": "https://api.github.com/repos/PurityLake/neovim/releases{/id}", + "size": 248143, + "ssh_url": "git@github.com:PurityLake/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/PurityLake/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/PurityLake/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/PurityLake/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/PurityLake/neovim/subscription", + "svn_url": "https://github.com/PurityLake/neovim", + "tags_url": "https://api.github.com/repos/PurityLake/neovim/tags", + "teams_url": "https://api.github.com/repos/PurityLake/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/PurityLake/neovim/git/trees{/sha}", + "updated_at": "2023-05-14T00:19:05Z", + "url": "https://api.github.com/repos/PurityLake/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "3b8435dd95a38ef696efd69657d645716e9a1708", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/3174205?v=4", + "events_url": "https://api.github.com/users/PurityLake/events{/privacy}", + "followers_url": "https://api.github.com/users/PurityLake/followers", + "following_url": "https://api.github.com/users/PurityLake/following{/other_user}", + "gists_url": "https://api.github.com/users/PurityLake/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/PurityLake", + "id": 3174205, + "login": "PurityLake", + "node_id": "MDQ6VXNlcjMxNzQyMDU=", + "organizations_url": "https://api.github.com/users/PurityLake/orgs", + "received_events_url": "https://api.github.com/users/PurityLake/received_events", + "repos_url": "https://api.github.com/users/PurityLake/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/PurityLake/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/PurityLake/subscriptions", + "type": "User", + "url": "https://api.github.com/users/PurityLake" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27350", + "id": 1712425466, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27350", + "labels": [ + { + "color": "c5def5", + "default": true, + "description": "", + "id": 84744038, + "name": "documentation", + "node_id": "MDU6TGFiZWw4NDc0NDAzOA==", + "url": "https://api.github.com/repos/neovim/neovim/labels/documentation" + } + ], + "locked": false, + "merge_commit_sha": "764fff0e6d105b37be92222aa6fed7845a0dea71", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM5mEYn6", + "number": 27350, + "patch_url": "https://github.com/neovim/neovim/pull/27350.patch", + "requested_reviewers": [ + { + "avatar_url": "https://avatars.githubusercontent.com/u/2361214?v=4", + "events_url": "https://api.github.com/users/clason/events{/privacy}", + "followers_url": "https://api.github.com/users/clason/followers", + "following_url": "https://api.github.com/users/clason/following{/other_user}", + "gists_url": "https://api.github.com/users/clason/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/clason", + "id": 2361214, + "login": "clason", + "node_id": "MDQ6VXNlcjIzNjEyMTQ=", + "organizations_url": "https://api.github.com/users/clason/orgs", + "received_events_url": "https://api.github.com/users/clason/received_events", + "repos_url": "https://api.github.com/users/clason/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/clason/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/clason/subscriptions", + "type": "User", + "url": "https://api.github.com/users/clason" + } + ], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27350/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/3b8435dd95a38ef696efd69657d645716e9a1708", + "title": "docs(install): Add more specific Linux install instructions", + "updated_at": "2024-02-05T20:16:28Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27350", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/3174205?v=4", + "events_url": "https://api.github.com/users/PurityLake/events{/privacy}", + "followers_url": "https://api.github.com/users/PurityLake/followers", + "following_url": "https://api.github.com/users/PurityLake/following{/other_user}", + "gists_url": "https://api.github.com/users/PurityLake/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/PurityLake", + "id": 3174205, + "login": "PurityLake", + "node_id": "MDQ6VXNlcjMxNzQyMDU=", + "organizations_url": "https://api.github.com/users/PurityLake/orgs", + "received_events_url": "https://api.github.com/users/PurityLake/received_events", + "repos_url": "https://api.github.com/users/PurityLake/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/PurityLake/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/PurityLake/subscriptions", + "type": "User", + "url": "https://api.github.com/users/PurityLake" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27352.json b/repositories/neovim/pulls/27352.json new file mode 100644 index 00000000..53ecd1d7 --- /dev/null +++ b/repositories/neovim/pulls/27352.json @@ -0,0 +1,837 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27352/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27352/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27352" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27352" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27352/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27352" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/4b89201bbf875e040461d1dba16592a29e6cf365" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "abfcdd9bf42eae5fba0dfb647e48ecf4e1c78293", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Problem: `tui->space_buf` may be smaller than the width of the TUI or widest grid, causing an overflow when calling `tui_grid_clear` (which also clears the TUI's screen after #23428).\r\n\r\nSolution: resize `space_buf` to be wide enough to fit the TUI and widest grid.\r\n\r\nDidn't bother shrinking the allocation if the max widths decrease.", + "closed_at": "2024-02-06T01:13:35Z", + "comment_data": [ + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27352#discussion_r1479026470" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27352" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479026470" + } + }, + "author_association": "MEMBER", + "body": "Maybe `child_session:request('nvim_command', ...)` can also be used instead of `feed_data()` here?", + "commit_id": "4b89201bbf875e040461d1dba16592a29e6cf365", + "created_at": "2024-02-05T22:56:45Z", + "diff_hunk": "@@ -1919,6 +1919,39 @@ describe('TUI', function()\n eq({ 'https://example.com', '' }, exec_lua([[return _G.urls]]))\n end)\n end)\n+\n+ it('no heap-buffer-overflow when changing &columns', function()\n+ -- Ensure a bg colour is set to trigger `print_spaces()` codepath in `clear_region()`.\n+ child_session:request('nvim_command', 'highlight Normal ctermbg=red guibg=red')\n+\n+ feed_data(\":call setline(1,['a'->repeat(&columns)])\\n\")", + "html_url": "https://github.com/neovim/neovim/pull/27352#discussion_r1479026470", + "id": 1479026470, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YKCcm", + "original_commit_id": "356d7dcdfeaa53f5b200a4a778925a607d31b9c9", + "original_line": 1927, + "original_position": 9, + "original_start_line": null, + "path": "test/functional/terminal/tui_spec.lua", + "position": null, + "pull_request_review_id": 1863989485, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27352", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479026470/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T22:56:45Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479026470", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27352#discussion_r1479028683" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27352" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479028683" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n ensure_space_buf_size(tui, width);\r\n```", + "commit_id": "4b89201bbf875e040461d1dba16592a29e6cf365", + "created_at": "2024-02-05T22:59:51Z", + "diff_hunk": "@@ -1055,10 +1056,7 @@ void tui_grid_resize(TUIData *tui, Integer g, Integer width, Integer height)\n {\n UGrid *grid = &tui->grid;\n ugrid_resize(grid, (int)width, (int)height);\n-\n- xfree(tui->space_buf);\n- tui->space_buf = xmalloc((size_t)width * sizeof(*tui->space_buf));\n- memset(tui->space_buf, ' ', (size_t)width);\n+ ensure_space_buf_size(tui, (int)width);", + "html_url": "https://github.com/neovim/neovim/pull/27352#discussion_r1479028683", + "id": 1479028683, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YKC_L", + "original_commit_id": "356d7dcdfeaa53f5b200a4a778925a607d31b9c9", + "original_line": 1059, + "original_position": 16, + "original_start_line": null, + "path": "src/nvim/tui/tui.c", + "position": null, + "pull_request_review_id": 1863992403, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27352", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479028683/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T23:00:57Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479028683", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27352#discussion_r1479028795" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27352" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479028795" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\nstatic void ensure_space_buf_size(TUIData *tui, size_t len)\r\n```", + "commit_id": "4b89201bbf875e040461d1dba16592a29e6cf365", + "created_at": "2024-02-05T23:00:00Z", + "diff_hunk": "@@ -1642,6 +1640,15 @@ static void invalidate(TUIData *tui, int top, int bot, int left, int right)\n }\n }\n \n+static void ensure_space_buf_size(TUIData *tui, int len)", + "html_url": "https://github.com/neovim/neovim/pull/27352#discussion_r1479028795", + "id": 1479028795, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YKDA7", + "original_commit_id": "356d7dcdfeaa53f5b200a4a778925a607d31b9c9", + "original_line": 1643, + "original_position": 24, + "original_start_line": null, + "path": "src/nvim/tui/tui.c", + "position": null, + "pull_request_review_id": 1863992403, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27352", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479028795/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T23:00:57Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479028795", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27352#discussion_r1479029308" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27352" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479029308" + } + }, + "author_association": "MEMBER", + "body": "The `memset()` doesn't use `sizeof`, so I think the `xrealloc()` shouldn't use `sizeof` either.\r\n```suggestion\r\n tui->space_buf = xrealloc(tui->space_buf, len);\r\n memset(tui->space_buf, ' ', len);\r\n```", + "commit_id": "4b89201bbf875e040461d1dba16592a29e6cf365", + "created_at": "2024-02-05T23:00:47Z", + "diff_hunk": "@@ -1642,6 +1640,15 @@ static void invalidate(TUIData *tui, int top, int bot, int left, int right)\n }\n }\n \n+static void ensure_space_buf_size(TUIData *tui, int len)\n+{\n+ if (len > tui->space_buf_len) {\n+ tui->space_buf = xrealloc(tui->space_buf, (size_t)len * sizeof *tui->space_buf);\n+ memset(tui->space_buf, ' ', (size_t)len);", + "html_url": "https://github.com/neovim/neovim/pull/27352#discussion_r1479029308", + "id": 1479029308, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YKDI8", + "original_commit_id": "356d7dcdfeaa53f5b200a4a778925a607d31b9c9", + "original_line": 1647, + "original_position": 28, + "original_start_line": 1646, + "path": "src/nvim/tui/tui.c", + "position": null, + "pull_request_review_id": 1863992403, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27352", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479029308/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": "RIGHT", + "subject_type": "line", + "updated_at": "2024-02-05T23:00:57Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479029308", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27352#discussion_r1479033237" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27352" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479033237" + } + }, + "author_association": "MEMBER", + "body": "`Integer` is `int64_t`, so the cast'll be needed for signedness I suppose", + "commit_id": "4b89201bbf875e040461d1dba16592a29e6cf365", + "created_at": "2024-02-05T23:06:38Z", + "diff_hunk": "@@ -1055,10 +1056,7 @@ void tui_grid_resize(TUIData *tui, Integer g, Integer width, Integer height)\n {\n UGrid *grid = &tui->grid;\n ugrid_resize(grid, (int)width, (int)height);\n-\n- xfree(tui->space_buf);\n- tui->space_buf = xmalloc((size_t)width * sizeof(*tui->space_buf));\n- memset(tui->space_buf, ' ', (size_t)width);\n+ ensure_space_buf_size(tui, (int)width);", + "html_url": "https://github.com/neovim/neovim/pull/27352#discussion_r1479033237", + "id": 1479033237, + "in_reply_to_id": 1479028683, + "line": null, + "node_id": "PRRC_kwDOAPphoM5YKEGV", + "original_commit_id": "356d7dcdfeaa53f5b200a4a778925a607d31b9c9", + "original_line": 1059, + "original_position": 16, + "original_start_line": null, + "path": "src/nvim/tui/tui.c", + "position": null, + "pull_request_review_id": 1863999043, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27352", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479033237/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T23:06:38Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479033237", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6256228?v=4", + "events_url": "https://api.github.com/users/seandewar/events{/privacy}", + "followers_url": "https://api.github.com/users/seandewar/followers", + "following_url": "https://api.github.com/users/seandewar/following{/other_user}", + "gists_url": "https://api.github.com/users/seandewar/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/seandewar", + "id": 6256228, + "login": "seandewar", + "node_id": "MDQ6VXNlcjYyNTYyMjg=", + "organizations_url": "https://api.github.com/users/seandewar/orgs", + "received_events_url": "https://api.github.com/users/seandewar/received_events", + "repos_url": "https://api.github.com/users/seandewar/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/seandewar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/seandewar/subscriptions", + "type": "User", + "url": "https://api.github.com/users/seandewar" + } + } + ], + "comment_regular_data": [ + { + "author_association": "MEMBER", + "body": "Ugh, GitHub was showing that comment as duplicated, but apparently it wasn't... :facepalm: ", + "created_at": "2024-02-05T23:17:19Z", + "html_url": "https://github.com/neovim/neovim/pull/27352#issuecomment-1928478288", + "id": 1928478288, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27352", + "node_id": "IC_kwDOAPphoM5y8j5Q", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1928478288/reactions" + }, + "updated_at": "2024-02-05T23:17:19Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1928478288", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6256228?v=4", + "events_url": "https://api.github.com/users/seandewar/events{/privacy}", + "followers_url": "https://api.github.com/users/seandewar/followers", + "following_url": "https://api.github.com/users/seandewar/following{/other_user}", + "gists_url": "https://api.github.com/users/seandewar/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/seandewar", + "id": 6256228, + "login": "seandewar", + "node_id": "MDQ6VXNlcjYyNTYyMjg=", + "organizations_url": "https://api.github.com/users/seandewar/orgs", + "received_events_url": "https://api.github.com/users/seandewar/received_events", + "repos_url": "https://api.github.com/users/seandewar/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/seandewar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/seandewar/subscriptions", + "type": "User", + "url": "https://api.github.com/users/seandewar" + } + }, + { + "author_association": "MEMBER", + "body": "That's unfortunate, I was afraid that might happen :cry:.\r\n\r\nIt seems to fail for me locally even without the ASAN enabled, as the screen state differs, but also fails with ASAN with `ASAN_OPTIONS=log_path:...` and `LOG_DIR=...` set. This might be due to my particular environment, though...\r\n\r\nEdit: [Looks like `$TERM=ansi` did the trick for the CI](https://github.com/neovim/neovim/actions/runs/7792785897/job/21251428030?pr=27352); fails with ASAN and even shows some lovely screen corruption! :heart_eyes: Cheers! ", + "created_at": "2024-02-05T23:42:30Z", + "html_url": "https://github.com/neovim/neovim/pull/27352#issuecomment-1928514577", + "id": 1928514577, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27352", + "node_id": "IC_kwDOAPphoM5y8swR", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1928514577/reactions" + }, + "updated_at": "2024-02-06T00:45:47Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1928514577", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6256228?v=4", + "events_url": "https://api.github.com/users/seandewar/events{/privacy}", + "followers_url": "https://api.github.com/users/seandewar/followers", + "following_url": "https://api.github.com/users/seandewar/following{/other_user}", + "gists_url": "https://api.github.com/users/seandewar/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/seandewar", + "id": 6256228, + "login": "seandewar", + "node_id": "MDQ6VXNlcjYyNTYyMjg=", + "organizations_url": "https://api.github.com/users/seandewar/orgs", + "received_events_url": "https://api.github.com/users/seandewar/received_events", + "repos_url": "https://api.github.com/users/seandewar/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/seandewar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/seandewar/subscriptions", + "type": "User", + "url": "https://api.github.com/users/seandewar" + } + }, + { + "author_association": "MEMBER", + "body": "OK, I think the `$TERM` debacle has been resolved, which seems to cause the test to fail on the CI now when the patch is reverted. :innocent: ", + "created_at": "2024-02-06T01:00:42Z", + "html_url": "https://github.com/neovim/neovim/pull/27352#issuecomment-1928586359", + "id": 1928586359, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27352", + "node_id": "IC_kwDOAPphoM5y8-R3", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1928586359/reactions" + }, + "updated_at": "2024-02-06T01:00:56Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1928586359", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6256228?v=4", + "events_url": "https://api.github.com/users/seandewar/events{/privacy}", + "followers_url": "https://api.github.com/users/seandewar/followers", + "following_url": "https://api.github.com/users/seandewar/following{/other_user}", + "gists_url": "https://api.github.com/users/seandewar/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/seandewar", + "id": 6256228, + "login": "seandewar", + "node_id": "MDQ6VXNlcjYyNTYyMjg=", + "organizations_url": "https://api.github.com/users/seandewar/orgs", + "received_events_url": "https://api.github.com/users/seandewar/received_events", + "repos_url": "https://api.github.com/users/seandewar/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/seandewar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/seandewar/subscriptions", + "type": "User", + "url": "https://api.github.com/users/seandewar" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27352/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27352/commits", + "created_at": "2024-02-05T22:44:12Z", + "diff_url": "https://github.com/neovim/neovim/pull/27352.diff", + "draft": false, + "head": { + "label": "seandewar:tui-spaaaaace-buf", + "ref": "tui-spaaaaace-buf", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/seandewar/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/seandewar/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/seandewar/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/seandewar/neovim/branches{/branch}", + "clone_url": "https://github.com/seandewar/neovim.git", + "collaborators_url": "https://api.github.com/repos/seandewar/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/seandewar/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/seandewar/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/seandewar/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/seandewar/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/seandewar/neovim/contributors", + "created_at": "2020-10-20T16:45:01Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/seandewar/neovim/deployments", + "description": "[Contribution Fork] Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/seandewar/neovim/downloads", + "events_url": "https://api.github.com/repos/seandewar/neovim/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/seandewar/neovim/forks", + "full_name": "seandewar/neovim", + "git_commits_url": "https://api.github.com/repos/seandewar/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/seandewar/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/seandewar/neovim/git/tags{/sha}", + "git_url": "git://github.com/seandewar/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/seandewar/neovim/hooks", + "html_url": "https://github.com/seandewar/neovim", + "id": 305773353, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/seandewar/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/seandewar/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/seandewar/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/seandewar/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/seandewar/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/seandewar/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/seandewar/neovim/merges", + "milestones_url": "https://api.github.com/repos/seandewar/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkzMDU3NzMzNTM=", + "notifications_url": "https://api.github.com/repos/seandewar/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6256228?v=4", + "events_url": "https://api.github.com/users/seandewar/events{/privacy}", + "followers_url": "https://api.github.com/users/seandewar/followers", + "following_url": "https://api.github.com/users/seandewar/following{/other_user}", + "gists_url": "https://api.github.com/users/seandewar/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/seandewar", + "id": 6256228, + "login": "seandewar", + "node_id": "MDQ6VXNlcjYyNTYyMjg=", + "organizations_url": "https://api.github.com/users/seandewar/orgs", + "received_events_url": "https://api.github.com/users/seandewar/received_events", + "repos_url": "https://api.github.com/users/seandewar/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/seandewar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/seandewar/subscriptions", + "type": "User", + "url": "https://api.github.com/users/seandewar" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/seandewar/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:13:38Z", + "releases_url": "https://api.github.com/repos/seandewar/neovim/releases{/id}", + "size": 248428, + "ssh_url": "git@github.com:seandewar/neovim.git", + "stargazers_count": 2, + "stargazers_url": "https://api.github.com/repos/seandewar/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/seandewar/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/seandewar/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/seandewar/neovim/subscription", + "svn_url": "https://github.com/seandewar/neovim", + "tags_url": "https://api.github.com/repos/seandewar/neovim/tags", + "teams_url": "https://api.github.com/repos/seandewar/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/seandewar/neovim/git/trees{/sha}", + "updated_at": "2023-01-12T23:27:58Z", + "url": "https://api.github.com/repos/seandewar/neovim", + "visibility": "public", + "watchers": 2, + "watchers_count": 2, + "web_commit_signoff_required": false + }, + "sha": "4b89201bbf875e040461d1dba16592a29e6cf365", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6256228?v=4", + "events_url": "https://api.github.com/users/seandewar/events{/privacy}", + "followers_url": "https://api.github.com/users/seandewar/followers", + "following_url": "https://api.github.com/users/seandewar/following{/other_user}", + "gists_url": "https://api.github.com/users/seandewar/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/seandewar", + "id": 6256228, + "login": "seandewar", + "node_id": "MDQ6VXNlcjYyNTYyMjg=", + "organizations_url": "https://api.github.com/users/seandewar/orgs", + "received_events_url": "https://api.github.com/users/seandewar/received_events", + "repos_url": "https://api.github.com/users/seandewar/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/seandewar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/seandewar/subscriptions", + "type": "User", + "url": "https://api.github.com/users/seandewar" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27352", + "id": 1712624005, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27352", + "labels": [ + { + "color": "c5def5", + "default": false, + "description": "", + "id": 197254545, + "name": "tui", + "node_id": "MDU6TGFiZWwxOTcyNTQ1NDU=", + "url": "https://api.github.com/repos/neovim/neovim/labels/tui" + } + ], + "locked": false, + "merge_commit_sha": "b3bda2f0438da44a0a74fd5d64d6eecdac98d691", + "merged_at": "2024-02-06T01:13:35Z", + "milestone": null, + "node_id": "PR_kwDOAPphoM5mFJGF", + "number": 27352, + "patch_url": "https://github.com/neovim/neovim/pull/27352.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27352/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/4b89201bbf875e040461d1dba16592a29e6cf365", + "title": "fix(tui): `space_buf` overflow when clearing screen", + "updated_at": "2024-02-06T01:13:50Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27352", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6256228?v=4", + "events_url": "https://api.github.com/users/seandewar/events{/privacy}", + "followers_url": "https://api.github.com/users/seandewar/followers", + "following_url": "https://api.github.com/users/seandewar/following{/other_user}", + "gists_url": "https://api.github.com/users/seandewar/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/seandewar", + "id": 6256228, + "login": "seandewar", + "node_id": "MDQ6VXNlcjYyNTYyMjg=", + "organizations_url": "https://api.github.com/users/seandewar/orgs", + "received_events_url": "https://api.github.com/users/seandewar/received_events", + "repos_url": "https://api.github.com/users/seandewar/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/seandewar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/seandewar/subscriptions", + "type": "User", + "url": "https://api.github.com/users/seandewar" + } +} \ No newline at end of file diff --git a/repositories/neovim/pulls/27353.json b/repositories/neovim/pulls/27353.json new file mode 100644 index 00000000..f64ed1a2 --- /dev/null +++ b/repositories/neovim/pulls/27353.json @@ -0,0 +1,485 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27353/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27353/commits" + }, + "html": { + "href": "https://github.com/neovim/neovim/pull/27353" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/neovim/issues/27353" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27353/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27353" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/neovim/statuses/f94aafe1c9b3e5ec0506e7c0fe51b86fb7cf940e" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/neovim/branches{/branch}", + "clone_url": "https://github.com/neovim/neovim.git", + "collaborators_url": "https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/neovim/contributors", + "created_at": "2014-01-31T13:39:22Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/neovim/downloads", + "events_url": "https://api.github.com/repos/neovim/neovim/events", + "fork": false, + "forks": 5189, + "forks_count": 5189, + "forks_url": "https://api.github.com/repos/neovim/neovim/forks", + "full_name": "neovim/neovim", + "git_commits_url": "https://api.github.com/repos/neovim/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/neovim/git/tags{/sha}", + "git_url": "git://github.com/neovim/neovim.git", + "has_discussions": true, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/neovim/neovim/hooks", + "html_url": "https://github.com/neovim/neovim", + "id": 16408992, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/neovim/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/neovim/neovim/merges", + "milestones_url": "https://api.github.com/repos/neovim/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "MDEwOlJlcG9zaXRvcnkxNjQwODk5Mg==", + "notifications_url": "https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}", + "open_issues": 1744, + "open_issues_count": 1744, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/neovim/pulls{/number}", + "pushed_at": "2024-02-06T01:17:01Z", + "releases_url": "https://api.github.com/repos/neovim/neovim/releases{/id}", + "size": 252434, + "ssh_url": "git@github.com:neovim/neovim.git", + "stargazers_count": 73474, + "stargazers_url": "https://api.github.com/repos/neovim/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/neovim/subscription", + "svn_url": "https://github.com/neovim/neovim", + "tags_url": "https://api.github.com/repos/neovim/neovim/tags", + "teams_url": "https://api.github.com/repos/neovim/neovim/teams", + "topics": [ + "api", + "c", + "lua", + "neovim", + "nvim", + "text-editor", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/neovim/git/trees{/sha}", + "updated_at": "2024-02-06T00:27:03Z", + "url": "https://api.github.com/repos/neovim/neovim", + "visibility": "public", + "watchers": 73474, + "watchers_count": 73474, + "web_commit_signoff_required": false + }, + "sha": "abfcdd9bf42eae5fba0dfb647e48ecf4e1c78293", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "`utf_char2cells()` calls `utf_printable()` twice (sometimes indirectly, through `vim_isprintc()`) for characters >= 128. The function can be refactored to call to it only once.\r\n\r\n`utf_printable()` uses binary search on ranges of unprintable characters to determine if a given character is printable. Since there are only 9 ranges, and the first range contains only one character, binary search can be replaced with SSE2 SIMD comparisons that check 8 ranges at a time, and the first range is checked separately.\r\nSSE2 is enabled by default in GCC, Clang and MSVC for x86-64.\r\n\r\nI tested the function and it returns the same results for all 2^32 values.\r\n\r\n#### Benchmarks:\r\n\r\nI modified the benchmarks from #26813 to better reflect the performance difference and added a new benchmark that measures 3 byte utf-8 separately.\r\n\r\n||ascii|2 byte|3 byte|random|\r\n|-|-|-|-|-|\r\n|before|14|85|194|170|\r\n|after|13|83|172|154|", + "closed_at": null, + "comment_data": [ + { + "_links": { + "html": { + "href": "https://github.com/neovim/neovim/pull/27353#discussion_r1479068131" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/27353" + }, + "self": { + "href": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479068131" + } + }, + "author_association": "MEMBER", + "body": "```suggestion\r\n == _mm_movemask_epi8(_mm_cmpgt_epi16(value, lo));\r\n```", + "commit_id": "f94aafe1c9b3e5ec0506e7c0fe51b86fb7cf940e", + "created_at": "2024-02-05T23:58:54Z", + "diff_hunk": "@@ -1092,9 +1090,52 @@ bool utf_iscomposing(int c)\n return intable(combining, ARRAY_SIZE(combining), c);\n }\n \n+#ifdef __SSE2__\n+\n+# include \n+\n+// Return true for characters that can be displayed in a normal way.\n+// Only for characters of 0x100 and above!\n+bool utf_printable(int c)\n+ FUNC_ATTR_CONST\n+{\n+ if (c == 0x70f) {\n+ return false;\n+ }\n+ if (c < 0x180b || c > 0xffff) {\n+ return true;\n+ }\n+\n+# define L(v) ((int16_t)((v) - 1)) // lower bound (exclusive)\n+# define H(v) ((int16_t)(v)) // upper bound (inclusive)\n+\n+ // bundaries of unprintable characters\n+ __m128i const lo = _mm_setr_epi16(L(0x180b), L(0x200b), L(0x202a), L(0x2060),\n+ L(0xd800), L(0xfeff), L(0xfff9), L(0xfffe));\n+\n+ __m128i const hi = _mm_setr_epi16(H(0x180e), H(0x200f), H(0x202e), H(0x206f),\n+ H(0xdfff), H(0xfeff), H(0xfffb), H(0xffff));\n+\n+# undef L\n+# undef H\n+\n+ __m128i value = _mm_set1_epi16((int16_t)c);\n+\n+ // using _mm_cmplt_epi16() is less optimal, since it would require\n+ // swapping operands (sse2 only has cmpgt instruction),\n+ // and only the second operand can be a memory location\n+\n+ // character is printable when c is above/below both bounds\n+ return _mm_movemask_epi8(_mm_cmpgt_epi16(value, hi))\n+ == _mm_movemask_epi8(_mm_cmpgt_epi16(value, lo));", + "html_url": "https://github.com/neovim/neovim/pull/27353#discussion_r1479068131", + "id": 1479068131, + "line": 1130, + "node_id": "PRRC_kwDOAPphoM5YKMnj", + "original_commit_id": "f94aafe1c9b3e5ec0506e7c0fe51b86fb7cf940e", + "original_line": 1130, + "original_position": 124, + "original_start_line": null, + "path": "src/nvim/mbyte.c", + "position": 124, + "pull_request_review_id": 1864054379, + "pull_request_url": "https://api.github.com/repos/neovim/neovim/pulls/27353", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479068131/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-05T23:58:55Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/comments/1479068131", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + } + ], + "comment_regular_data": [ + { + "author_association": "MEMBER", + "body": "You may also want to take #18690 into consideration.", + "created_at": "2024-02-06T00:11:24Z", + "html_url": "https://github.com/neovim/neovim/pull/27353#issuecomment-1928542904", + "id": 1928542904, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27353", + "node_id": "IC_kwDOAPphoM5y8zq4", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1928542904/reactions" + }, + "updated_at": "2024-02-06T00:11:24Z", + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1928542904", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", + "followers_url": "https://api.github.com/users/zeertzjq/followers", + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/zeertzjq", + "id": 35768171, + "login": "zeertzjq", + "node_id": "MDQ6VXNlcjM1NzY4MTcx", + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", + "repos_url": "https://api.github.com/users/zeertzjq/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", + "type": "User", + "url": "https://api.github.com/users/zeertzjq" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/neovim/issues/27353/comments", + "commits_url": "https://api.github.com/repos/neovim/neovim/pulls/27353/commits", + "created_at": "2024-02-05T23:13:38Z", + "diff_url": "https://github.com/neovim/neovim/pull/27353.diff", + "draft": false, + "head": { + "label": "VanaIgr:faster-char2cells", + "ref": "faster-char2cells", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/VanaIgr/neovim/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/VanaIgr/neovim/assignees{/user}", + "blobs_url": "https://api.github.com/repos/VanaIgr/neovim/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/VanaIgr/neovim/branches{/branch}", + "clone_url": "https://github.com/VanaIgr/neovim.git", + "collaborators_url": "https://api.github.com/repos/VanaIgr/neovim/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/VanaIgr/neovim/comments{/number}", + "commits_url": "https://api.github.com/repos/VanaIgr/neovim/commits{/sha}", + "compare_url": "https://api.github.com/repos/VanaIgr/neovim/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/VanaIgr/neovim/contents/{+path}", + "contributors_url": "https://api.github.com/repos/VanaIgr/neovim/contributors", + "created_at": "2023-12-05T22:08:59Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/VanaIgr/neovim/deployments", + "description": "Vim-fork focused on extensibility and usability", + "disabled": false, + "downloads_url": "https://api.github.com/repos/VanaIgr/neovim/downloads", + "events_url": "https://api.github.com/repos/VanaIgr/neovim/events", + "fork": true, + "forks": 1, + "forks_count": 1, + "forks_url": "https://api.github.com/repos/VanaIgr/neovim/forks", + "full_name": "VanaIgr/neovim", + "git_commits_url": "https://api.github.com/repos/VanaIgr/neovim/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/VanaIgr/neovim/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/VanaIgr/neovim/git/tags{/sha}", + "git_url": "git://github.com/VanaIgr/neovim.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "https://neovim.io", + "hooks_url": "https://api.github.com/repos/VanaIgr/neovim/hooks", + "html_url": "https://github.com/VanaIgr/neovim", + "id": 727936921, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/VanaIgr/neovim/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/VanaIgr/neovim/issues/events{/number}", + "issues_url": "https://api.github.com/repos/VanaIgr/neovim/issues{/number}", + "keys_url": "https://api.github.com/repos/VanaIgr/neovim/keys{/key_id}", + "labels_url": "https://api.github.com/repos/VanaIgr/neovim/labels{/name}", + "language": "Vim Script", + "languages_url": "https://api.github.com/repos/VanaIgr/neovim/languages", + "license": { + "key": "other", + "name": "Other", + "node_id": "MDc6TGljZW5zZTA=", + "spdx_id": "NOASSERTION", + "url": null + }, + "merges_url": "https://api.github.com/repos/VanaIgr/neovim/merges", + "milestones_url": "https://api.github.com/repos/VanaIgr/neovim/milestones{/number}", + "mirror_url": null, + "name": "neovim", + "node_id": "R_kgDOK2NvmQ", + "notifications_url": "https://api.github.com/repos/VanaIgr/neovim/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/65824523?v=4", + "events_url": "https://api.github.com/users/VanaIgr/events{/privacy}", + "followers_url": "https://api.github.com/users/VanaIgr/followers", + "following_url": "https://api.github.com/users/VanaIgr/following{/other_user}", + "gists_url": "https://api.github.com/users/VanaIgr/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/VanaIgr", + "id": 65824523, + "login": "VanaIgr", + "node_id": "MDQ6VXNlcjY1ODI0NTIz", + "organizations_url": "https://api.github.com/users/VanaIgr/orgs", + "received_events_url": "https://api.github.com/users/VanaIgr/received_events", + "repos_url": "https://api.github.com/users/VanaIgr/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/VanaIgr/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/VanaIgr/subscriptions", + "type": "User", + "url": "https://api.github.com/users/VanaIgr" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/VanaIgr/neovim/pulls{/number}", + "pushed_at": "2024-02-05T20:36:32Z", + "releases_url": "https://api.github.com/repos/VanaIgr/neovim/releases{/id}", + "size": 245977, + "ssh_url": "git@github.com:VanaIgr/neovim.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/VanaIgr/neovim/stargazers", + "statuses_url": "https://api.github.com/repos/VanaIgr/neovim/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/VanaIgr/neovim/subscribers", + "subscription_url": "https://api.github.com/repos/VanaIgr/neovim/subscription", + "svn_url": "https://github.com/VanaIgr/neovim", + "tags_url": "https://api.github.com/repos/VanaIgr/neovim/tags", + "teams_url": "https://api.github.com/repos/VanaIgr/neovim/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/VanaIgr/neovim/git/trees{/sha}", + "updated_at": "2023-12-13T20:00:37Z", + "url": "https://api.github.com/repos/VanaIgr/neovim", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "f94aafe1c9b3e5ec0506e7c0fe51b86fb7cf940e", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/65824523?v=4", + "events_url": "https://api.github.com/users/VanaIgr/events{/privacy}", + "followers_url": "https://api.github.com/users/VanaIgr/followers", + "following_url": "https://api.github.com/users/VanaIgr/following{/other_user}", + "gists_url": "https://api.github.com/users/VanaIgr/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/VanaIgr", + "id": 65824523, + "login": "VanaIgr", + "node_id": "MDQ6VXNlcjY1ODI0NTIz", + "organizations_url": "https://api.github.com/users/VanaIgr/orgs", + "received_events_url": "https://api.github.com/users/VanaIgr/received_events", + "repos_url": "https://api.github.com/users/VanaIgr/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/VanaIgr/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/VanaIgr/subscriptions", + "type": "User", + "url": "https://api.github.com/users/VanaIgr" + } + }, + "html_url": "https://github.com/neovim/neovim/pull/27353", + "id": 1712658558, + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/27353", + "labels": [ + { + "color": "FEF2C0", + "default": false, + "description": "issues reporting performance problems", + "id": 101930601, + "name": "performance", + "node_id": "MDU6TGFiZWwxMDE5MzA2MDE=", + "url": "https://api.github.com/repos/neovim/neovim/labels/performance" + }, + { + "color": "c5def5", + "default": false, + "description": "(multibyte) unicode characters", + "id": 2882115256, + "name": "unicode 💩", + "node_id": "MDU6TGFiZWwyODgyMTE1MjU2", + "url": "https://api.github.com/repos/neovim/neovim/labels/unicode%20%20%F0%9F%92%A9" + } + ], + "locked": false, + "merge_commit_sha": "62a956488dbc42e67d445c1029d4a82edc9f6729", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAPphoM5mFRh-", + "number": 27353, + "patch_url": "https://github.com/neovim/neovim/pull/27353.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/neovim/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/neovim/pulls/27353/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/neovim/statuses/f94aafe1c9b3e5ec0506e7c0fe51b86fb7cf940e", + "title": "perf: improve utf_char2cells() performance", + "updated_at": "2024-02-06T00:13:20Z", + "url": "https://api.github.com/repos/neovim/neovim/pulls/27353", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/65824523?v=4", + "events_url": "https://api.github.com/users/VanaIgr/events{/privacy}", + "followers_url": "https://api.github.com/users/VanaIgr/followers", + "following_url": "https://api.github.com/users/VanaIgr/following{/other_user}", + "gists_url": "https://api.github.com/users/VanaIgr/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/VanaIgr", + "id": 65824523, + "login": "VanaIgr", + "node_id": "MDQ6VXNlcjY1ODI0NTIz", + "organizations_url": "https://api.github.com/users/VanaIgr/orgs", + "received_events_url": "https://api.github.com/users/VanaIgr/received_events", + "repos_url": "https://api.github.com/users/VanaIgr/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/VanaIgr/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/VanaIgr/subscriptions", + "type": "User", + "url": "https://api.github.com/users/VanaIgr" + } +} \ No newline at end of file diff --git a/repositories/node-client/issues/202.json b/repositories/node-client/issues/202.json index ab28c881..75cb965c 100644 --- a/repositories/node-client/issues/202.json +++ b/repositories/node-client/issues/202.json @@ -145,7 +145,17 @@ "events_url": "https://api.github.com/repos/neovim/node-client/issues/202/events", "html_url": "https://github.com/neovim/node-client/issues/202", "id": 1698441914, - "labels": [], + "labels": [ + { + "color": "C5DEF5", + "default": true, + "description": "", + "id": 5741349845, + "name": "documentation", + "node_id": "LA_kwDOAdOzk88AAAABVjYL1Q", + "url": "https://api.github.com/repos/neovim/node-client/labels/documentation" + } + ], "labels_url": "https://api.github.com/repos/neovim/node-client/issues/202/labels{/name}", "locked": false, "milestone": null, @@ -169,7 +179,7 @@ "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/node-client/issues/202/timeline", "title": "Not seeing logs from my plugin", - "updated_at": "2023-07-28T23:15:44Z", + "updated_at": "2024-02-03T00:29:13Z", "url": "https://api.github.com/repos/neovim/node-client/issues/202", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/29136904?v=4", diff --git a/repositories/node-client/issues/241.json b/repositories/node-client/issues/241.json index 32ef20c4..3db55266 100644 --- a/repositories/node-client/issues/241.json +++ b/repositories/node-client/issues/241.json @@ -3,10 +3,55 @@ "assignee": null, "assignees": [], "author_association": "MEMBER", - "body": "# Problem\r\n\r\nBabel adds complication to the build/dependencies. We aren't using it for anything important, looks like it is used to add decorators support.\r\n\r\n# Solution\r\n\r\n- Remove babel. \r\n- Remove support for decorators. (Bump major version of Nvim node-client)", + "body": "# Problem\r\n\r\nBabel adds complication to the build/dependencies. We aren't using it for anything important, looks like it is used to add decorators support.\r\n\r\n# Solution\r\n\r\n- Remove babel. \r\n- Remove support for decorators. (Bump major version of Nvim node-client)\r\n\r\n# Notes\r\n\r\n```\r\n$ npm ci\r\nnpm WARN deprecated @babel/plugin-proposal-class-properties@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained\r\n. Please use @babel/plugin-transform-class-properties instead.\r\n```", "closed_at": null, - "comment_data": [], - "comments": 0, + "comment_data": [ + { + "author_association": "MEMBER", + "body": "@billyvg @rhysd can you help me understand the use of babel in this project? It looks like babel is only used here: https://github.com/neovim/node-client/blob/56fefb9195cfe4e3e7a5c9a5d073eb18c4074992/packages/example-plugin-decorators/package.json#L8\r\n\r\nbabel is targeting node 8: https://github.com/neovim/node-client/blob/56fefb9195cfe4e3e7a5c9a5d073eb18c4074992/.babelrc.js#L3\r\nso I had expected it to translate [packages/neovim/](https://github.com/neovim/node-client/tree/master/packages/neovim) to node8-compatible syntax, but seems like that isn't happening.\r\n\r\nSo if we want the \"neovim\" package to be compatible with an old target such as `es2015`, we currently can't rely on babel to polyfill `es2022` libraries/features--rather we must avoid using es2022 libraries in our typescript code.\r\n\r\nIs this a correct understanding? ", + "created_at": "2024-02-03T02:17:16Z", + "html_url": "https://github.com/neovim/node-client/issues/241#issuecomment-1925023155", + "id": 1925023155, + "issue_url": "https://api.github.com/repos/neovim/node-client/issues/241", + "node_id": "IC_kwDOAdOzk85yvYWz", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/node-client/issues/comments/1925023155/reactions" + }, + "updated_at": "2024-02-03T02:18:33Z", + "url": "https://api.github.com/repos/neovim/node-client/issues/comments/1925023155", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + } + ], + "comments": 1, "comments_url": "https://api.github.com/repos/neovim/node-client/issues/241/comments", "created_at": "2023-09-06T15:01:06Z", "events_url": "https://api.github.com/repos/neovim/node-client/issues/241/events", @@ -46,7 +91,7 @@ "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/node-client/issues/241/timeline", "title": "deps: remove babel", - "updated_at": "2023-09-06T15:01:13Z", + "updated_at": "2024-02-03T02:18:33Z", "url": "https://api.github.com/repos/neovim/node-client/issues/241", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", diff --git a/repositories/node-client/issues/266.json b/repositories/node-client/issues/266.json index 6ddf1132..5495ba02 100644 --- a/repositories/node-client/issues/266.json +++ b/repositories/node-client/issues/266.json @@ -3,7 +3,7 @@ "assignee": null, "assignees": [], "author_association": "MEMBER", - "body": "- We have pending eslint/prettier updates which require code fixes: https://github.com/neovim/node-client/pulls?q=is%3Apr+is%3Aopen+prettier+OR+eslint\r\n- Consider enabling more prettier/eslint checks.\r\n- Consider adding checks from https://github.com/sindresorhus/eslint-plugin-unicorn", + "body": "- [x] We have pending eslint/prettier updates which require code fixes: https://github.com/neovim/node-client/pulls?q=is%3Apr+is%3Aopen+prettier+OR+eslint\r\n- [x] Consider enabling more prettier/eslint checks.\r\n- [x] Consider adding checks from https://github.com/sindresorhus/eslint-plugin-unicorn", "closed_at": null, "comment_data": [], "comments": 0, @@ -55,7 +55,7 @@ "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/node-client/issues/266/timeline", "title": "more lint checks", - "updated_at": "2023-12-03T14:31:54Z", + "updated_at": "2024-02-02T23:43:47Z", "url": "https://api.github.com/repos/neovim/node-client/issues/266", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", diff --git a/repositories/node-client/pulls/298.json b/repositories/node-client/pulls/298.json new file mode 100644 index 00000000..20bf8ccd --- /dev/null +++ b/repositories/node-client/pulls/298.json @@ -0,0 +1,358 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/node-client/issues/298/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/298/commits" + }, + "html": { + "href": "https://github.com/neovim/node-client/pull/298" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/node-client/issues/298" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/298/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/298" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/node-client/statuses/a9365ebb5c83e17e43162fd92073510254210166" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/node-client/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/node-client/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/node-client/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/node-client/branches{/branch}", + "clone_url": "https://github.com/neovim/node-client.git", + "collaborators_url": "https://api.github.com/repos/neovim/node-client/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/node-client/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/node-client/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/node-client/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/node-client/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/node-client/contributors", + "created_at": "2015-02-11T14:23:57Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/node-client/deployments", + "description": "Nvim Node.js client and plugin host", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/node-client/downloads", + "events_url": "https://api.github.com/repos/neovim/node-client/events", + "fork": false, + "forks": 46, + "forks_count": 46, + "forks_url": "https://api.github.com/repos/neovim/node-client/forks", + "full_name": "neovim/node-client", + "git_commits_url": "https://api.github.com/repos/neovim/node-client/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/node-client/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/node-client/git/tags{/sha}", + "git_url": "git://github.com/neovim/node-client.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": true, + "has_projects": false, + "has_wiki": false, + "homepage": "https://neovim.io/node-client/", + "hooks_url": "https://api.github.com/repos/neovim/node-client/hooks", + "html_url": "https://github.com/neovim/node-client", + "id": 30651283, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/node-client/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/node-client/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/node-client/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/node-client/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/node-client/labels{/name}", + "language": "TypeScript", + "languages_url": "https://api.github.com/repos/neovim/node-client/languages", + "license": { + "key": "mit", + "name": "MIT License", + "node_id": "MDc6TGljZW5zZTEz", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit" + }, + "merges_url": "https://api.github.com/repos/neovim/node-client/merges", + "milestones_url": "https://api.github.com/repos/neovim/node-client/milestones{/number}", + "mirror_url": null, + "name": "node-client", + "node_id": "MDEwOlJlcG9zaXRvcnkzMDY1MTI4Mw==", + "notifications_url": "https://api.github.com/repos/neovim/node-client/notifications{?since,all,participating}", + "open_issues": 20, + "open_issues_count": 20, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/node-client/pulls{/number}", + "pushed_at": "2024-02-05T06:22:54Z", + "releases_url": "https://api.github.com/repos/neovim/node-client/releases{/id}", + "size": 3476, + "ssh_url": "git@github.com:neovim/node-client.git", + "stargazers_count": 445, + "stargazers_url": "https://api.github.com/repos/neovim/node-client/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/node-client/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/node-client/subscription", + "svn_url": "https://github.com/neovim/node-client", + "tags_url": "https://api.github.com/repos/neovim/node-client/tags", + "teams_url": "https://api.github.com/repos/neovim/node-client/teams", + "topics": [ + "neovim", + "nodejs", + "nvim", + "rpc", + "typescript", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/node-client/git/trees{/sha}", + "updated_at": "2024-02-05T10:02:49Z", + "url": "https://api.github.com/repos/neovim/node-client", + "visibility": "public", + "watchers": 445, + "watchers_count": 445, + "web_commit_signoff_required": false + }, + "sha": "c7172087d288f5e75342c33132409910f97fc0fa", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Problem:\r\nLint fails on Windows CI, because git converts text to CRLF and prettier expects LF.\r\n\r\nSolution:\r\nDisable git's automatic EOL conversion for text files.", + "closed_at": "2024-01-31T00:02:03Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/node-client/issues/298/comments", + "commits_url": "https://api.github.com/repos/neovim/node-client/pulls/298/commits", + "created_at": "2024-01-30T23:05:49Z", + "diff_url": "https://github.com/neovim/node-client/pull/298.diff", + "draft": false, + "head": { + "label": "neovim:fixci", + "ref": "fixci", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/node-client/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/node-client/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/node-client/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/node-client/branches{/branch}", + "clone_url": "https://github.com/neovim/node-client.git", + "collaborators_url": "https://api.github.com/repos/neovim/node-client/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/node-client/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/node-client/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/node-client/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/node-client/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/node-client/contributors", + "created_at": "2015-02-11T14:23:57Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/node-client/deployments", + "description": "Nvim Node.js client and plugin host", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/node-client/downloads", + "events_url": "https://api.github.com/repos/neovim/node-client/events", + "fork": false, + "forks": 46, + "forks_count": 46, + "forks_url": "https://api.github.com/repos/neovim/node-client/forks", + "full_name": "neovim/node-client", + "git_commits_url": "https://api.github.com/repos/neovim/node-client/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/node-client/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/node-client/git/tags{/sha}", + "git_url": "git://github.com/neovim/node-client.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": true, + "has_projects": false, + "has_wiki": false, + "homepage": "https://neovim.io/node-client/", + "hooks_url": "https://api.github.com/repos/neovim/node-client/hooks", + "html_url": "https://github.com/neovim/node-client", + "id": 30651283, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/node-client/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/node-client/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/node-client/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/node-client/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/node-client/labels{/name}", + "language": "TypeScript", + "languages_url": "https://api.github.com/repos/neovim/node-client/languages", + "license": { + "key": "mit", + "name": "MIT License", + "node_id": "MDc6TGljZW5zZTEz", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit" + }, + "merges_url": "https://api.github.com/repos/neovim/node-client/merges", + "milestones_url": "https://api.github.com/repos/neovim/node-client/milestones{/number}", + "mirror_url": null, + "name": "node-client", + "node_id": "MDEwOlJlcG9zaXRvcnkzMDY1MTI4Mw==", + "notifications_url": "https://api.github.com/repos/neovim/node-client/notifications{?since,all,participating}", + "open_issues": 20, + "open_issues_count": 20, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/node-client/pulls{/number}", + "pushed_at": "2024-02-05T06:22:54Z", + "releases_url": "https://api.github.com/repos/neovim/node-client/releases{/id}", + "size": 3476, + "ssh_url": "git@github.com:neovim/node-client.git", + "stargazers_count": 445, + "stargazers_url": "https://api.github.com/repos/neovim/node-client/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/node-client/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/node-client/subscription", + "svn_url": "https://github.com/neovim/node-client", + "tags_url": "https://api.github.com/repos/neovim/node-client/tags", + "teams_url": "https://api.github.com/repos/neovim/node-client/teams", + "topics": [ + "neovim", + "nodejs", + "nvim", + "rpc", + "typescript", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/node-client/git/trees{/sha}", + "updated_at": "2024-02-05T10:02:49Z", + "url": "https://api.github.com/repos/neovim/node-client", + "visibility": "public", + "watchers": 445, + "watchers_count": 445, + "web_commit_signoff_required": false + }, + "sha": "a9365ebb5c83e17e43162fd92073510254210166", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "html_url": "https://github.com/neovim/node-client/pull/298", + "id": 1703066425, + "issue_url": "https://api.github.com/repos/neovim/node-client/issues/298", + "labels": [], + "locked": false, + "merge_commit_sha": "5071f37ee84ee8ae5854c2cc5c28e4c4f55db30f", + "merged_at": "2024-01-31T00:02:03Z", + "milestone": null, + "node_id": "PR_kwDOAdOzk85lgrs5", + "number": 298, + "patch_url": "https://github.com/neovim/node-client/pull/298.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/node-client/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/node-client/pulls/298/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/a9365ebb5c83e17e43162fd92073510254210166", + "title": "fix(ci): lint on Windows, jest config", + "updated_at": "2024-01-31T00:02:04Z", + "url": "https://api.github.com/repos/neovim/node-client/pulls/298", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } +} \ No newline at end of file diff --git a/repositories/node-client/pulls/299.json b/repositories/node-client/pulls/299.json new file mode 100644 index 00000000..15f4b8bf --- /dev/null +++ b/repositories/node-client/pulls/299.json @@ -0,0 +1,422 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/node-client/issues/299/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/299/commits" + }, + "html": { + "href": "https://github.com/neovim/node-client/pull/299" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/node-client/issues/299" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/299/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/299" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/node-client/statuses/1113d00f4836ff28fca2dea1ed4017686633183f" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/node-client/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/node-client/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/node-client/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/node-client/branches{/branch}", + "clone_url": "https://github.com/neovim/node-client.git", + "collaborators_url": "https://api.github.com/repos/neovim/node-client/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/node-client/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/node-client/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/node-client/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/node-client/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/node-client/contributors", + "created_at": "2015-02-11T14:23:57Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/node-client/deployments", + "description": "Nvim Node.js client and plugin host", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/node-client/downloads", + "events_url": "https://api.github.com/repos/neovim/node-client/events", + "fork": false, + "forks": 46, + "forks_count": 46, + "forks_url": "https://api.github.com/repos/neovim/node-client/forks", + "full_name": "neovim/node-client", + "git_commits_url": "https://api.github.com/repos/neovim/node-client/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/node-client/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/node-client/git/tags{/sha}", + "git_url": "git://github.com/neovim/node-client.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": true, + "has_projects": false, + "has_wiki": false, + "homepage": "https://neovim.io/node-client/", + "hooks_url": "https://api.github.com/repos/neovim/node-client/hooks", + "html_url": "https://github.com/neovim/node-client", + "id": 30651283, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/node-client/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/node-client/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/node-client/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/node-client/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/node-client/labels{/name}", + "language": "TypeScript", + "languages_url": "https://api.github.com/repos/neovim/node-client/languages", + "license": { + "key": "mit", + "name": "MIT License", + "node_id": "MDc6TGljZW5zZTEz", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit" + }, + "merges_url": "https://api.github.com/repos/neovim/node-client/merges", + "milestones_url": "https://api.github.com/repos/neovim/node-client/milestones{/number}", + "mirror_url": null, + "name": "node-client", + "node_id": "MDEwOlJlcG9zaXRvcnkzMDY1MTI4Mw==", + "notifications_url": "https://api.github.com/repos/neovim/node-client/notifications{?since,all,participating}", + "open_issues": 20, + "open_issues_count": 20, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/node-client/pulls{/number}", + "pushed_at": "2024-02-05T06:22:54Z", + "releases_url": "https://api.github.com/repos/neovim/node-client/releases{/id}", + "size": 3476, + "ssh_url": "git@github.com:neovim/node-client.git", + "stargazers_count": 445, + "stargazers_url": "https://api.github.com/repos/neovim/node-client/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/node-client/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/node-client/subscription", + "svn_url": "https://github.com/neovim/node-client", + "tags_url": "https://api.github.com/repos/neovim/node-client/tags", + "teams_url": "https://api.github.com/repos/neovim/node-client/teams", + "topics": [ + "neovim", + "nodejs", + "nvim", + "rpc", + "typescript", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/node-client/git/trees{/sha}", + "updated_at": "2024-02-05T10:02:49Z", + "url": "https://api.github.com/repos/neovim/node-client", + "visibility": "public", + "watchers": 445, + "watchers_count": 445, + "web_commit_signoff_required": false + }, + "sha": "5071f37ee84ee8ae5854c2cc5c28e4c4f55db30f", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Bumps the github-actions group with 1 update: [codecov/codecov-action](https://github.com/codecov/codecov-action).\n\nUpdates `codecov/codecov-action` from 3 to 4\n
\nRelease notes\n

Sourced from codecov/codecov-action's releases.

\n
\n

v4.0.0

\n

v4 of the Codecov Action uses the CLI as the underlying upload. The CLI has helped to power new features including local upload, the global upload token, and new upcoming features.

\n

Breaking Changes

\n
    \n
  • The Codecov Action runs as a node20 action due to node16 deprecation. See this post from GitHub on how to migrate.
  • \n
  • Tokenless uploading is unsupported. However, PRs made from forks to the upstream public repos will support tokenless (e.g. contributors to OS projects do not need the upstream repo's Codecov token). This doc shows instructions on how to add the Codecov token.
  • \n
  • OS platforms have been added, though some may not be automatically detected. To see a list of platforms, see our CLI download page
  • \n
  • Various arguments to the Action have been changed. Please be aware that the arguments match with the CLI's needs
  • \n
\n

v3 versions and below will not have access to CLI features (e.g. global upload token, ATS).

\n

What's Changed

\n\n\n
\n

... (truncated)

\n
\n
\nChangelog\n

Sourced from codecov/codecov-action's changelog.

\n
\n

4.0.0-beta.2

\n

Fixes

\n
    \n
  • #1085 not adding -n if empty to do-upload command
  • \n
\n

4.0.0-beta.1

\n

v4 represents a move from the universal uploader to the Codecov CLI. Although this will unlock new features for our users, the CLI is not yet at feature parity with the universal uploader.

\n

Breaking Changes

\n
    \n
  • No current support for aarch64 and alpine architectures.
  • \n
  • Tokenless uploading is unsuported
  • \n
  • Various arguments to the Action have been removed
  • \n
\n

3.1.4

\n

Fixes

\n
    \n
  • #967 Fix typo in README.md
  • \n
  • #971 fix: add back in working dir
  • \n
  • #969 fix: CLI option names for uploader
  • \n
\n

Dependencies

\n
    \n
  • #970 build(deps-dev): bump @​types/node from 18.15.12 to 18.16.3
  • \n
  • #979 build(deps-dev): bump @​types/node from 20.1.0 to 20.1.2
  • \n
  • #981 build(deps-dev): bump @​types/node from 20.1.2 to 20.1.4
  • \n
\n

3.1.3

\n

Fixes

\n
    \n
  • #960 fix: allow for aarch64 build
  • \n
\n

Dependencies

\n
    \n
  • #957 build(deps-dev): bump jest-junit from 15.0.0 to 16.0.0
  • \n
  • #958 build(deps): bump openpgp from 5.7.0 to 5.8.0
  • \n
  • #959 build(deps-dev): bump @​types/node from 18.15.10 to 18.15.12
  • \n
\n

3.1.2

\n

Fixes

\n
    \n
  • #718 Update README.md
  • \n
  • #851 Remove unsupported path_to_write_report argument
  • \n
  • #898 codeql-analysis.yml
  • \n
  • #901 Update README to contain correct information - inputs and negate feature
  • \n
  • #955 fix: add in all the extra arguments for uploader
  • \n
\n

Dependencies

\n
    \n
  • #819 build(deps): bump openpgp from 5.4.0 to 5.5.0
  • \n
  • #835 build(deps): bump node-fetch from 3.2.4 to 3.2.10
  • \n
  • #840 build(deps): bump ossf/scorecard-action from 1.1.1 to 2.0.4
  • \n
  • #841 build(deps): bump @​actions/core from 1.9.1 to 1.10.0
  • \n
  • #843 build(deps): bump @​actions/github from 5.0.3 to 5.1.1
  • \n
  • #869 build(deps): bump node-fetch from 3.2.10 to 3.3.0
  • \n
  • #872 build(deps-dev): bump jest-junit from 13.2.0 to 15.0.0
  • \n
  • #879 build(deps): bump decode-uri-component from 0.2.0 to 0.2.2
  • \n
\n\n
\n

... (truncated)

\n
\n
\nCommits\n
    \n
  • f30e495 fix: update action.yml (#1240)
  • \n
  • a7b945c fix: allow for other archs (#1239)
  • \n
  • 98ab2c5 Update package.json (#1238)
  • \n
  • 43235cc Update README.md (#1237)
  • \n
  • 0cf8684 chore(ci): bump to node20 (#1236)
  • \n
  • 8e1e730 build(deps-dev): bump @​typescript-eslint/eslint-plugin from 6.19.1 to 6.20.0 ...
  • \n
  • 61293af build(deps-dev): bump @​typescript-eslint/parser from 6.19.1 to 6.20.0 (#1235)
  • \n
  • 7a070cb build(deps): bump github/codeql-action from 3.23.1 to 3.23.2 (#1231)
  • \n
  • 9097165 build(deps): bump actions/upload-artifact from 4.2.0 to 4.3.0 (#1232)
  • \n
  • ac042ea build(deps-dev): bump @​typescript-eslint/eslint-plugin from 6.19.0 to 6.19.1 ...
  • \n
  • Additional commits viewable in compare view
  • \n
\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=codecov/codecov-action&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n
", + "closed_at": "2024-02-02T15:24:48Z", + "comment_data": [], + "comment_regular_data": [ + { + "author_association": "MEMBER", + "body": "> * Tokenless uploading is unsupported. However, PRs made from forks to the upstream public repos will support tokenless (e.g. contributors to OS projects do not need the upstream repo's Codecov token). This [doc](https://docs.codecov.com/docs/adding-the-codecov-token#github-actions) shows instructions on how to add the Codecov token.\r\n\r\n👀 I added `CODECOV_TOKEN` tohttps://github.com/neovim/ org secrets.", + "created_at": "2024-02-02T14:47:09Z", + "html_url": "https://github.com/neovim/node-client/pull/299#issuecomment-1924031414", + "id": 1924031414, + "issue_url": "https://api.github.com/repos/neovim/node-client/issues/299", + "node_id": "IC_kwDOAdOzk85yrmO2", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/node-client/issues/comments/1924031414/reactions" + }, + "updated_at": "2024-02-02T15:24:16Z", + "url": "https://api.github.com/repos/neovim/node-client/issues/comments/1924031414", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/node-client/issues/299/comments", + "commits_url": "https://api.github.com/repos/neovim/node-client/pulls/299/commits", + "created_at": "2024-02-01T06:18:46Z", + "diff_url": "https://github.com/neovim/node-client/pull/299.diff", + "draft": false, + "head": { + "label": "neovim:dependabot/github_actions/github-actions-1a2505a5f7", + "ref": "dependabot/github_actions/github-actions-1a2505a5f7", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/node-client/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/node-client/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/node-client/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/node-client/branches{/branch}", + "clone_url": "https://github.com/neovim/node-client.git", + "collaborators_url": "https://api.github.com/repos/neovim/node-client/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/node-client/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/node-client/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/node-client/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/node-client/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/node-client/contributors", + "created_at": "2015-02-11T14:23:57Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/node-client/deployments", + "description": "Nvim Node.js client and plugin host", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/node-client/downloads", + "events_url": "https://api.github.com/repos/neovim/node-client/events", + "fork": false, + "forks": 46, + "forks_count": 46, + "forks_url": "https://api.github.com/repos/neovim/node-client/forks", + "full_name": "neovim/node-client", + "git_commits_url": "https://api.github.com/repos/neovim/node-client/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/node-client/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/node-client/git/tags{/sha}", + "git_url": "git://github.com/neovim/node-client.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": true, + "has_projects": false, + "has_wiki": false, + "homepage": "https://neovim.io/node-client/", + "hooks_url": "https://api.github.com/repos/neovim/node-client/hooks", + "html_url": "https://github.com/neovim/node-client", + "id": 30651283, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/node-client/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/node-client/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/node-client/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/node-client/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/node-client/labels{/name}", + "language": "TypeScript", + "languages_url": "https://api.github.com/repos/neovim/node-client/languages", + "license": { + "key": "mit", + "name": "MIT License", + "node_id": "MDc6TGljZW5zZTEz", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit" + }, + "merges_url": "https://api.github.com/repos/neovim/node-client/merges", + "milestones_url": "https://api.github.com/repos/neovim/node-client/milestones{/number}", + "mirror_url": null, + "name": "node-client", + "node_id": "MDEwOlJlcG9zaXRvcnkzMDY1MTI4Mw==", + "notifications_url": "https://api.github.com/repos/neovim/node-client/notifications{?since,all,participating}", + "open_issues": 20, + "open_issues_count": 20, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/node-client/pulls{/number}", + "pushed_at": "2024-02-05T06:22:54Z", + "releases_url": "https://api.github.com/repos/neovim/node-client/releases{/id}", + "size": 3476, + "ssh_url": "git@github.com:neovim/node-client.git", + "stargazers_count": 445, + "stargazers_url": "https://api.github.com/repos/neovim/node-client/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/node-client/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/node-client/subscription", + "svn_url": "https://github.com/neovim/node-client", + "tags_url": "https://api.github.com/repos/neovim/node-client/tags", + "teams_url": "https://api.github.com/repos/neovim/node-client/teams", + "topics": [ + "neovim", + "nodejs", + "nvim", + "rpc", + "typescript", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/node-client/git/trees{/sha}", + "updated_at": "2024-02-05T10:02:49Z", + "url": "https://api.github.com/repos/neovim/node-client", + "visibility": "public", + "watchers": 445, + "watchers_count": 445, + "web_commit_signoff_required": false + }, + "sha": "1113d00f4836ff28fca2dea1ed4017686633183f", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "html_url": "https://github.com/neovim/node-client/pull/299", + "id": 1705466570, + "issue_url": "https://api.github.com/repos/neovim/node-client/issues/299", + "labels": [ + { + "color": "0366d6", + "default": false, + "description": "Pull requests that update a dependency file", + "id": 1630078089, + "name": "dependencies", + "node_id": "MDU6TGFiZWwxNjMwMDc4MDg5", + "url": "https://api.github.com/repos/neovim/node-client/labels/dependencies" + }, + { + "color": "000000", + "default": false, + "description": "Pull requests that update GitHub Actions code", + "id": 5947583479, + "name": "github_actions", + "node_id": "LA_kwDOAdOzk88AAAABYoDr9w", + "url": "https://api.github.com/repos/neovim/node-client/labels/github_actions" + } + ], + "locked": false, + "merge_commit_sha": "c2a64d114ba00c62384e15eb59be485c6fda94f7", + "merged_at": "2024-02-02T15:24:48Z", + "milestone": null, + "node_id": "PR_kwDOAdOzk85lp1rK", + "number": 299, + "patch_url": "https://github.com/neovim/node-client/pull/299.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/node-client/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/node-client/pulls/299/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/1113d00f4836ff28fca2dea1ed4017686633183f", + "title": "deps: bump the github-actions group with 1 update", + "updated_at": "2024-02-02T15:24:49Z", + "url": "https://api.github.com/repos/neovim/node-client/pulls/299", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/in/29110?v=4", + "events_url": "https://api.github.com/users/dependabot%5Bbot%5D/events{/privacy}", + "followers_url": "https://api.github.com/users/dependabot%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/dependabot%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/dependabot%5Bbot%5D/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/apps/dependabot", + "id": 49699333, + "login": "dependabot[bot]", + "node_id": "MDM6Qm90NDk2OTkzMzM=", + "organizations_url": "https://api.github.com/users/dependabot%5Bbot%5D/orgs", + "received_events_url": "https://api.github.com/users/dependabot%5Bbot%5D/received_events", + "repos_url": "https://api.github.com/users/dependabot%5Bbot%5D/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dependabot%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dependabot%5Bbot%5D/subscriptions", + "type": "Bot", + "url": "https://api.github.com/users/dependabot%5Bbot%5D" + } +} \ No newline at end of file diff --git a/repositories/node-client/pulls/300.json b/repositories/node-client/pulls/300.json new file mode 100644 index 00000000..b163195a --- /dev/null +++ b/repositories/node-client/pulls/300.json @@ -0,0 +1,358 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/node-client/issues/300/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/300/commits" + }, + "html": { + "href": "https://github.com/neovim/node-client/pull/300" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/node-client/issues/300" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/300/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/300" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/node-client/statuses/d938ea5b6a94c84e84414a64e96f153077021272" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/node-client/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/node-client/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/node-client/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/node-client/branches{/branch}", + "clone_url": "https://github.com/neovim/node-client.git", + "collaborators_url": "https://api.github.com/repos/neovim/node-client/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/node-client/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/node-client/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/node-client/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/node-client/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/node-client/contributors", + "created_at": "2015-02-11T14:23:57Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/node-client/deployments", + "description": "Nvim Node.js client and plugin host", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/node-client/downloads", + "events_url": "https://api.github.com/repos/neovim/node-client/events", + "fork": false, + "forks": 46, + "forks_count": 46, + "forks_url": "https://api.github.com/repos/neovim/node-client/forks", + "full_name": "neovim/node-client", + "git_commits_url": "https://api.github.com/repos/neovim/node-client/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/node-client/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/node-client/git/tags{/sha}", + "git_url": "git://github.com/neovim/node-client.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": true, + "has_projects": false, + "has_wiki": false, + "homepage": "https://neovim.io/node-client/", + "hooks_url": "https://api.github.com/repos/neovim/node-client/hooks", + "html_url": "https://github.com/neovim/node-client", + "id": 30651283, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/node-client/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/node-client/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/node-client/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/node-client/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/node-client/labels{/name}", + "language": "TypeScript", + "languages_url": "https://api.github.com/repos/neovim/node-client/languages", + "license": { + "key": "mit", + "name": "MIT License", + "node_id": "MDc6TGljZW5zZTEz", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit" + }, + "merges_url": "https://api.github.com/repos/neovim/node-client/merges", + "milestones_url": "https://api.github.com/repos/neovim/node-client/milestones{/number}", + "mirror_url": null, + "name": "node-client", + "node_id": "MDEwOlJlcG9zaXRvcnkzMDY1MTI4Mw==", + "notifications_url": "https://api.github.com/repos/neovim/node-client/notifications{?since,all,participating}", + "open_issues": 20, + "open_issues_count": 20, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/node-client/pulls{/number}", + "pushed_at": "2024-02-05T06:22:54Z", + "releases_url": "https://api.github.com/repos/neovim/node-client/releases{/id}", + "size": 3476, + "ssh_url": "git@github.com:neovim/node-client.git", + "stargazers_count": 445, + "stargazers_url": "https://api.github.com/repos/neovim/node-client/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/node-client/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/node-client/subscription", + "svn_url": "https://github.com/neovim/node-client", + "tags_url": "https://api.github.com/repos/neovim/node-client/tags", + "teams_url": "https://api.github.com/repos/neovim/node-client/teams", + "topics": [ + "neovim", + "nodejs", + "nvim", + "rpc", + "typescript", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/node-client/git/trees{/sha}", + "updated_at": "2024-02-05T10:02:49Z", + "url": "https://api.github.com/repos/neovim/node-client", + "visibility": "public", + "watchers": 445, + "watchers_count": 445, + "web_commit_signoff_required": false + }, + "sha": "c2a64d114ba00c62384e15eb59be485c6fda94f7", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Problem:\r\n\r\n Error: Codecov token not found. Please provide Codecov token with -t flag.\r\n ##[warning]Codecov: Failed to properly create commit: The process\r\n '/Users/runner/work/_actions/codecov/codecov-action/v4/dist/codecov' failed with exit code 1\r\n\r\nSolution:\r\n- Add `CODECOV_TOKEN` as an org secret.\r\n- Pass `CODECOV_TOKEN` in the ci spec.", + "closed_at": "2024-02-02T16:55:07Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/node-client/issues/300/comments", + "commits_url": "https://api.github.com/repos/neovim/node-client/pulls/300/commits", + "created_at": "2024-02-02T15:32:19Z", + "diff_url": "https://github.com/neovim/node-client/pull/300.diff", + "draft": false, + "head": { + "label": "neovim:codecov", + "ref": "codecov", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/node-client/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/node-client/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/node-client/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/node-client/branches{/branch}", + "clone_url": "https://github.com/neovim/node-client.git", + "collaborators_url": "https://api.github.com/repos/neovim/node-client/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/node-client/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/node-client/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/node-client/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/node-client/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/node-client/contributors", + "created_at": "2015-02-11T14:23:57Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/node-client/deployments", + "description": "Nvim Node.js client and plugin host", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/node-client/downloads", + "events_url": "https://api.github.com/repos/neovim/node-client/events", + "fork": false, + "forks": 46, + "forks_count": 46, + "forks_url": "https://api.github.com/repos/neovim/node-client/forks", + "full_name": "neovim/node-client", + "git_commits_url": "https://api.github.com/repos/neovim/node-client/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/node-client/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/node-client/git/tags{/sha}", + "git_url": "git://github.com/neovim/node-client.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": true, + "has_projects": false, + "has_wiki": false, + "homepage": "https://neovim.io/node-client/", + "hooks_url": "https://api.github.com/repos/neovim/node-client/hooks", + "html_url": "https://github.com/neovim/node-client", + "id": 30651283, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/node-client/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/node-client/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/node-client/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/node-client/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/node-client/labels{/name}", + "language": "TypeScript", + "languages_url": "https://api.github.com/repos/neovim/node-client/languages", + "license": { + "key": "mit", + "name": "MIT License", + "node_id": "MDc6TGljZW5zZTEz", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit" + }, + "merges_url": "https://api.github.com/repos/neovim/node-client/merges", + "milestones_url": "https://api.github.com/repos/neovim/node-client/milestones{/number}", + "mirror_url": null, + "name": "node-client", + "node_id": "MDEwOlJlcG9zaXRvcnkzMDY1MTI4Mw==", + "notifications_url": "https://api.github.com/repos/neovim/node-client/notifications{?since,all,participating}", + "open_issues": 20, + "open_issues_count": 20, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/node-client/pulls{/number}", + "pushed_at": "2024-02-05T06:22:54Z", + "releases_url": "https://api.github.com/repos/neovim/node-client/releases{/id}", + "size": 3476, + "ssh_url": "git@github.com:neovim/node-client.git", + "stargazers_count": 445, + "stargazers_url": "https://api.github.com/repos/neovim/node-client/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/node-client/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/node-client/subscription", + "svn_url": "https://github.com/neovim/node-client", + "tags_url": "https://api.github.com/repos/neovim/node-client/tags", + "teams_url": "https://api.github.com/repos/neovim/node-client/teams", + "topics": [ + "neovim", + "nodejs", + "nvim", + "rpc", + "typescript", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/node-client/git/trees{/sha}", + "updated_at": "2024-02-05T10:02:49Z", + "url": "https://api.github.com/repos/neovim/node-client", + "visibility": "public", + "watchers": 445, + "watchers_count": 445, + "web_commit_signoff_required": false + }, + "sha": "d938ea5b6a94c84e84414a64e96f153077021272", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "html_url": "https://github.com/neovim/node-client/pull/300", + "id": 1708687366, + "issue_url": "https://api.github.com/repos/neovim/node-client/issues/300", + "labels": [], + "locked": false, + "merge_commit_sha": "fea2caff35904a2cd15214d1a4ff9ff25d2bb6f6", + "merged_at": "2024-02-02T16:55:07Z", + "milestone": null, + "node_id": "PR_kwDOAdOzk85l2IAG", + "number": 300, + "patch_url": "https://github.com/neovim/node-client/pull/300.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/node-client/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/node-client/pulls/300/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/d938ea5b6a94c84e84414a64e96f153077021272", + "title": "ci: fix codecov", + "updated_at": "2024-02-02T16:55:07Z", + "url": "https://api.github.com/repos/neovim/node-client/pulls/300", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } +} \ No newline at end of file diff --git a/repositories/node-client/pulls/301.json b/repositories/node-client/pulls/301.json new file mode 100644 index 00000000..c4d1af53 --- /dev/null +++ b/repositories/node-client/pulls/301.json @@ -0,0 +1,427 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/node-client/issues/301/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/301/commits" + }, + "html": { + "href": "https://github.com/neovim/node-client/pull/301" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/node-client/issues/301" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/301/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/301" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/node-client/statuses/56fefb9195cfe4e3e7a5c9a5d073eb18c4074992" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "MEMBER", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/node-client/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/node-client/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/node-client/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/node-client/branches{/branch}", + "clone_url": "https://github.com/neovim/node-client.git", + "collaborators_url": "https://api.github.com/repos/neovim/node-client/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/node-client/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/node-client/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/node-client/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/node-client/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/node-client/contributors", + "created_at": "2015-02-11T14:23:57Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/node-client/deployments", + "description": "Nvim Node.js client and plugin host", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/node-client/downloads", + "events_url": "https://api.github.com/repos/neovim/node-client/events", + "fork": false, + "forks": 46, + "forks_count": 46, + "forks_url": "https://api.github.com/repos/neovim/node-client/forks", + "full_name": "neovim/node-client", + "git_commits_url": "https://api.github.com/repos/neovim/node-client/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/node-client/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/node-client/git/tags{/sha}", + "git_url": "git://github.com/neovim/node-client.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": true, + "has_projects": false, + "has_wiki": false, + "homepage": "https://neovim.io/node-client/", + "hooks_url": "https://api.github.com/repos/neovim/node-client/hooks", + "html_url": "https://github.com/neovim/node-client", + "id": 30651283, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/node-client/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/node-client/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/node-client/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/node-client/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/node-client/labels{/name}", + "language": "TypeScript", + "languages_url": "https://api.github.com/repos/neovim/node-client/languages", + "license": { + "key": "mit", + "name": "MIT License", + "node_id": "MDc6TGljZW5zZTEz", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit" + }, + "merges_url": "https://api.github.com/repos/neovim/node-client/merges", + "milestones_url": "https://api.github.com/repos/neovim/node-client/milestones{/number}", + "mirror_url": null, + "name": "node-client", + "node_id": "MDEwOlJlcG9zaXRvcnkzMDY1MTI4Mw==", + "notifications_url": "https://api.github.com/repos/neovim/node-client/notifications{?since,all,participating}", + "open_issues": 20, + "open_issues_count": 20, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/node-client/pulls{/number}", + "pushed_at": "2024-02-05T06:22:54Z", + "releases_url": "https://api.github.com/repos/neovim/node-client/releases{/id}", + "size": 3476, + "ssh_url": "git@github.com:neovim/node-client.git", + "stargazers_count": 445, + "stargazers_url": "https://api.github.com/repos/neovim/node-client/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/node-client/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/node-client/subscription", + "svn_url": "https://github.com/neovim/node-client", + "tags_url": "https://api.github.com/repos/neovim/node-client/tags", + "teams_url": "https://api.github.com/repos/neovim/node-client/teams", + "topics": [ + "neovim", + "nodejs", + "nvim", + "rpc", + "typescript", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/node-client/git/trees{/sha}", + "updated_at": "2024-02-05T10:02:49Z", + "url": "https://api.github.com/repos/neovim/node-client", + "visibility": "public", + "watchers": 445, + "watchers_count": 445, + "web_commit_signoff_required": false + }, + "sha": "fea2caff35904a2cd15214d1a4ff9ff25d2bb6f6", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "fixed with:\r\n\r\n ./node_modules/.bin/eslint --format=unix packages/*/src/**/*.ts packages/*/src/*.ts --fix\r\n\r\nfix #266", + "closed_at": null, + "comment_data": [ + { + "_links": { + "html": { + "href": "https://github.com/neovim/node-client/pull/301#discussion_r1476876768" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/301" + }, + "self": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/comments/1476876768" + } + }, + "author_association": "MEMBER", + "body": "This is a useful one but should wait until after a release, since it's a bit risky.", + "commit_id": "56fefb9195cfe4e3e7a5c9a5d073eb18c4074992", + "created_at": "2024-02-02T23:45:22Z", + "diff_hunk": "@@ -44,13 +52,50 @@ module.exports = {\n 'import/extensions': 'off',\n 'import/prefer-default-export': 'off',\n \n+ '@typescript-eslint/no-namespace': 'error',\n+ // TODO: '@typescript-eslint/no-floating-promises': 'error', // Promises must catch errors or be awaited.", + "html_url": "https://github.com/neovim/node-client/pull/301#discussion_r1476876768", + "id": 1476876768, + "line": 72, + "node_id": "PRRC_kwDOAdOzk85YB1ng", + "original_commit_id": "496125a94fecd5db7e255e7d82e698663753f420", + "original_line": 72, + "original_position": 33, + "original_start_line": null, + "path": ".eslintrc.js", + "position": 49, + "pull_request_review_id": 1860634706, + "pull_request_url": "https://api.github.com/repos/neovim/node-client/pulls/301", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/node-client/pulls/comments/1476876768/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-02-02T23:45:22Z", + "url": "https://api.github.com/repos/neovim/node-client/pulls/comments/1476876768", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + } + ], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/node-client/issues/301/comments", + "commits_url": "https://api.github.com/repos/neovim/node-client/pulls/301/commits", + "created_at": "2024-02-02T23:44:15Z", + "diff_url": "https://github.com/neovim/node-client/pull/301.diff", + "draft": false, + "head": { + "label": "neovim:lint", + "ref": "lint", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/node-client/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/node-client/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/node-client/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/node-client/branches{/branch}", + "clone_url": "https://github.com/neovim/node-client.git", + "collaborators_url": "https://api.github.com/repos/neovim/node-client/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/node-client/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/node-client/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/node-client/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/node-client/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/node-client/contributors", + "created_at": "2015-02-11T14:23:57Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/node-client/deployments", + "description": "Nvim Node.js client and plugin host", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/node-client/downloads", + "events_url": "https://api.github.com/repos/neovim/node-client/events", + "fork": false, + "forks": 46, + "forks_count": 46, + "forks_url": "https://api.github.com/repos/neovim/node-client/forks", + "full_name": "neovim/node-client", + "git_commits_url": "https://api.github.com/repos/neovim/node-client/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/node-client/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/node-client/git/tags{/sha}", + "git_url": "git://github.com/neovim/node-client.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": true, + "has_projects": false, + "has_wiki": false, + "homepage": "https://neovim.io/node-client/", + "hooks_url": "https://api.github.com/repos/neovim/node-client/hooks", + "html_url": "https://github.com/neovim/node-client", + "id": 30651283, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/node-client/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/node-client/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/node-client/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/node-client/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/node-client/labels{/name}", + "language": "TypeScript", + "languages_url": "https://api.github.com/repos/neovim/node-client/languages", + "license": { + "key": "mit", + "name": "MIT License", + "node_id": "MDc6TGljZW5zZTEz", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit" + }, + "merges_url": "https://api.github.com/repos/neovim/node-client/merges", + "milestones_url": "https://api.github.com/repos/neovim/node-client/milestones{/number}", + "mirror_url": null, + "name": "node-client", + "node_id": "MDEwOlJlcG9zaXRvcnkzMDY1MTI4Mw==", + "notifications_url": "https://api.github.com/repos/neovim/node-client/notifications{?since,all,participating}", + "open_issues": 20, + "open_issues_count": 20, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/node-client/pulls{/number}", + "pushed_at": "2024-02-05T06:22:54Z", + "releases_url": "https://api.github.com/repos/neovim/node-client/releases{/id}", + "size": 3476, + "ssh_url": "git@github.com:neovim/node-client.git", + "stargazers_count": 445, + "stargazers_url": "https://api.github.com/repos/neovim/node-client/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/node-client/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/node-client/subscription", + "svn_url": "https://github.com/neovim/node-client", + "tags_url": "https://api.github.com/repos/neovim/node-client/tags", + "teams_url": "https://api.github.com/repos/neovim/node-client/teams", + "topics": [ + "neovim", + "nodejs", + "nvim", + "rpc", + "typescript", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/node-client/git/trees{/sha}", + "updated_at": "2024-02-05T10:02:49Z", + "url": "https://api.github.com/repos/neovim/node-client", + "visibility": "public", + "watchers": 445, + "watchers_count": 445, + "web_commit_signoff_required": false + }, + "sha": "56fefb9195cfe4e3e7a5c9a5d073eb18c4074992", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "html_url": "https://github.com/neovim/node-client/pull/301", + "id": 1709428817, + "issue_url": "https://api.github.com/repos/neovim/node-client/issues/301", + "labels": [], + "locked": false, + "merge_commit_sha": "e95adc9410e5f83da48d1a2247dcf5542d502d14", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAdOzk85l49BR", + "number": 301, + "patch_url": "https://github.com/neovim/node-client/pull/301.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/node-client/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/node-client/pulls/301/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/56fefb9195cfe4e3e7a5c9a5d073eb18c4074992", + "title": "lint", + "updated_at": "2024-02-03T02:09:54Z", + "url": "https://api.github.com/repos/neovim/node-client/pulls/301", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } +} \ No newline at end of file diff --git a/repositories/node-client/pulls/302.json b/repositories/node-client/pulls/302.json new file mode 100644 index 00000000..068ff0e1 --- /dev/null +++ b/repositories/node-client/pulls/302.json @@ -0,0 +1,377 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/node-client/issues/302/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/302/commits" + }, + "html": { + "href": "https://github.com/neovim/node-client/pull/302" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/node-client/issues/302" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/302/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/302" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/node-client/statuses/6483c30e9bc5058ea673314c727949c44ce082cc" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/node-client/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/node-client/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/node-client/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/node-client/branches{/branch}", + "clone_url": "https://github.com/neovim/node-client.git", + "collaborators_url": "https://api.github.com/repos/neovim/node-client/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/node-client/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/node-client/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/node-client/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/node-client/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/node-client/contributors", + "created_at": "2015-02-11T14:23:57Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/node-client/deployments", + "description": "Nvim Node.js client and plugin host", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/node-client/downloads", + "events_url": "https://api.github.com/repos/neovim/node-client/events", + "fork": false, + "forks": 46, + "forks_count": 46, + "forks_url": "https://api.github.com/repos/neovim/node-client/forks", + "full_name": "neovim/node-client", + "git_commits_url": "https://api.github.com/repos/neovim/node-client/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/node-client/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/node-client/git/tags{/sha}", + "git_url": "git://github.com/neovim/node-client.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": true, + "has_projects": false, + "has_wiki": false, + "homepage": "https://neovim.io/node-client/", + "hooks_url": "https://api.github.com/repos/neovim/node-client/hooks", + "html_url": "https://github.com/neovim/node-client", + "id": 30651283, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/node-client/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/node-client/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/node-client/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/node-client/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/node-client/labels{/name}", + "language": "TypeScript", + "languages_url": "https://api.github.com/repos/neovim/node-client/languages", + "license": { + "key": "mit", + "name": "MIT License", + "node_id": "MDc6TGljZW5zZTEz", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit" + }, + "merges_url": "https://api.github.com/repos/neovim/node-client/merges", + "milestones_url": "https://api.github.com/repos/neovim/node-client/milestones{/number}", + "mirror_url": null, + "name": "node-client", + "node_id": "MDEwOlJlcG9zaXRvcnkzMDY1MTI4Mw==", + "notifications_url": "https://api.github.com/repos/neovim/node-client/notifications{?since,all,participating}", + "open_issues": 20, + "open_issues_count": 20, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/node-client/pulls{/number}", + "pushed_at": "2024-02-05T06:22:54Z", + "releases_url": "https://api.github.com/repos/neovim/node-client/releases{/id}", + "size": 3476, + "ssh_url": "git@github.com:neovim/node-client.git", + "stargazers_count": 445, + "stargazers_url": "https://api.github.com/repos/neovim/node-client/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/node-client/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/node-client/subscription", + "svn_url": "https://github.com/neovim/node-client", + "tags_url": "https://api.github.com/repos/neovim/node-client/tags", + "teams_url": "https://api.github.com/repos/neovim/node-client/teams", + "topics": [ + "neovim", + "nodejs", + "nvim", + "rpc", + "typescript", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/node-client/git/trees{/sha}", + "updated_at": "2024-02-05T10:02:49Z", + "url": "https://api.github.com/repos/neovim/node-client", + "visibility": "public", + "watchers": 445, + "watchers_count": 445, + "web_commit_signoff_required": false + }, + "sha": "fea2caff35904a2cd15214d1a4ff9ff25d2bb6f6", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Bumps the types group with 3 updates: [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest), [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) and [@types/which](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/which).\n\nUpdates `@types/jest` from 29.5.11 to 29.5.12\n
\nCommits\n\n
\n
\n\nUpdates `@types/node` from 16.9.6 to 20.11.16\n
\nCommits\n\n
\n
\n\nUpdates `@types/which` from 3.0.0 to 3.0.3\n
\nCommits\n\n
\n
\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n
", + "closed_at": null, + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/node-client/issues/302/comments", + "commits_url": "https://api.github.com/repos/neovim/node-client/pulls/302/commits", + "created_at": "2024-02-05T06:22:21Z", + "diff_url": "https://github.com/neovim/node-client/pull/302.diff", + "draft": false, + "head": { + "label": "neovim:dependabot/npm_and_yarn/types-9c298bbc42", + "ref": "dependabot/npm_and_yarn/types-9c298bbc42", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/node-client/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/node-client/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/node-client/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/node-client/branches{/branch}", + "clone_url": "https://github.com/neovim/node-client.git", + "collaborators_url": "https://api.github.com/repos/neovim/node-client/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/node-client/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/node-client/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/node-client/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/node-client/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/node-client/contributors", + "created_at": "2015-02-11T14:23:57Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/node-client/deployments", + "description": "Nvim Node.js client and plugin host", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/node-client/downloads", + "events_url": "https://api.github.com/repos/neovim/node-client/events", + "fork": false, + "forks": 46, + "forks_count": 46, + "forks_url": "https://api.github.com/repos/neovim/node-client/forks", + "full_name": "neovim/node-client", + "git_commits_url": "https://api.github.com/repos/neovim/node-client/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/node-client/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/node-client/git/tags{/sha}", + "git_url": "git://github.com/neovim/node-client.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": true, + "has_projects": false, + "has_wiki": false, + "homepage": "https://neovim.io/node-client/", + "hooks_url": "https://api.github.com/repos/neovim/node-client/hooks", + "html_url": "https://github.com/neovim/node-client", + "id": 30651283, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/node-client/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/node-client/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/node-client/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/node-client/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/node-client/labels{/name}", + "language": "TypeScript", + "languages_url": "https://api.github.com/repos/neovim/node-client/languages", + "license": { + "key": "mit", + "name": "MIT License", + "node_id": "MDc6TGljZW5zZTEz", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit" + }, + "merges_url": "https://api.github.com/repos/neovim/node-client/merges", + "milestones_url": "https://api.github.com/repos/neovim/node-client/milestones{/number}", + "mirror_url": null, + "name": "node-client", + "node_id": "MDEwOlJlcG9zaXRvcnkzMDY1MTI4Mw==", + "notifications_url": "https://api.github.com/repos/neovim/node-client/notifications{?since,all,participating}", + "open_issues": 20, + "open_issues_count": 20, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/node-client/pulls{/number}", + "pushed_at": "2024-02-05T06:22:54Z", + "releases_url": "https://api.github.com/repos/neovim/node-client/releases{/id}", + "size": 3476, + "ssh_url": "git@github.com:neovim/node-client.git", + "stargazers_count": 445, + "stargazers_url": "https://api.github.com/repos/neovim/node-client/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/node-client/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/node-client/subscription", + "svn_url": "https://github.com/neovim/node-client", + "tags_url": "https://api.github.com/repos/neovim/node-client/tags", + "teams_url": "https://api.github.com/repos/neovim/node-client/teams", + "topics": [ + "neovim", + "nodejs", + "nvim", + "rpc", + "typescript", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/node-client/git/trees{/sha}", + "updated_at": "2024-02-05T10:02:49Z", + "url": "https://api.github.com/repos/neovim/node-client", + "visibility": "public", + "watchers": 445, + "watchers_count": 445, + "web_commit_signoff_required": false + }, + "sha": "6483c30e9bc5058ea673314c727949c44ce082cc", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "html_url": "https://github.com/neovim/node-client/pull/302", + "id": 1710967668, + "issue_url": "https://api.github.com/repos/neovim/node-client/issues/302", + "labels": [ + { + "color": "0366d6", + "default": false, + "description": "Pull requests that update a dependency file", + "id": 1630078089, + "name": "dependencies", + "node_id": "MDU6TGFiZWwxNjMwMDc4MDg5", + "url": "https://api.github.com/repos/neovim/node-client/labels/dependencies" + }, + { + "color": "168700", + "default": false, + "description": "Pull requests that update Javascript code", + "id": 5739775018, + "name": "javascript", + "node_id": "LA_kwDOAdOzk88AAAABVh4EKg", + "url": "https://api.github.com/repos/neovim/node-client/labels/javascript" + } + ], + "locked": false, + "merge_commit_sha": "73f51f4aaa5333686a5ad4c921ad4debee11c5ee", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAdOzk85l-0t0", + "number": 302, + "patch_url": "https://github.com/neovim/node-client/pull/302.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/node-client/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/node-client/pulls/302/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/6483c30e9bc5058ea673314c727949c44ce082cc", + "title": "deps: bump the types group with 3 updates", + "updated_at": "2024-02-05T06:22:22Z", + "url": "https://api.github.com/repos/neovim/node-client/pulls/302", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/in/29110?v=4", + "events_url": "https://api.github.com/users/dependabot%5Bbot%5D/events{/privacy}", + "followers_url": "https://api.github.com/users/dependabot%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/dependabot%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/dependabot%5Bbot%5D/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/apps/dependabot", + "id": 49699333, + "login": "dependabot[bot]", + "node_id": "MDM6Qm90NDk2OTkzMzM=", + "organizations_url": "https://api.github.com/users/dependabot%5Bbot%5D/orgs", + "received_events_url": "https://api.github.com/users/dependabot%5Bbot%5D/received_events", + "repos_url": "https://api.github.com/users/dependabot%5Bbot%5D/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dependabot%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dependabot%5Bbot%5D/subscriptions", + "type": "Bot", + "url": "https://api.github.com/users/dependabot%5Bbot%5D" + } +} \ No newline at end of file diff --git a/repositories/node-client/pulls/303.json b/repositories/node-client/pulls/303.json new file mode 100644 index 00000000..90355e6c --- /dev/null +++ b/repositories/node-client/pulls/303.json @@ -0,0 +1,377 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/node-client/issues/303/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/303/commits" + }, + "html": { + "href": "https://github.com/neovim/node-client/pull/303" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/node-client/issues/303" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/303/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/303" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/node-client/statuses/2f63309d7336092d7558061747a9c3b4da3b3f44" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/node-client/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/node-client/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/node-client/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/node-client/branches{/branch}", + "clone_url": "https://github.com/neovim/node-client.git", + "collaborators_url": "https://api.github.com/repos/neovim/node-client/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/node-client/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/node-client/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/node-client/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/node-client/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/node-client/contributors", + "created_at": "2015-02-11T14:23:57Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/node-client/deployments", + "description": "Nvim Node.js client and plugin host", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/node-client/downloads", + "events_url": "https://api.github.com/repos/neovim/node-client/events", + "fork": false, + "forks": 46, + "forks_count": 46, + "forks_url": "https://api.github.com/repos/neovim/node-client/forks", + "full_name": "neovim/node-client", + "git_commits_url": "https://api.github.com/repos/neovim/node-client/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/node-client/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/node-client/git/tags{/sha}", + "git_url": "git://github.com/neovim/node-client.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": true, + "has_projects": false, + "has_wiki": false, + "homepage": "https://neovim.io/node-client/", + "hooks_url": "https://api.github.com/repos/neovim/node-client/hooks", + "html_url": "https://github.com/neovim/node-client", + "id": 30651283, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/node-client/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/node-client/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/node-client/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/node-client/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/node-client/labels{/name}", + "language": "TypeScript", + "languages_url": "https://api.github.com/repos/neovim/node-client/languages", + "license": { + "key": "mit", + "name": "MIT License", + "node_id": "MDc6TGljZW5zZTEz", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit" + }, + "merges_url": "https://api.github.com/repos/neovim/node-client/merges", + "milestones_url": "https://api.github.com/repos/neovim/node-client/milestones{/number}", + "mirror_url": null, + "name": "node-client", + "node_id": "MDEwOlJlcG9zaXRvcnkzMDY1MTI4Mw==", + "notifications_url": "https://api.github.com/repos/neovim/node-client/notifications{?since,all,participating}", + "open_issues": 20, + "open_issues_count": 20, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/node-client/pulls{/number}", + "pushed_at": "2024-02-05T06:22:54Z", + "releases_url": "https://api.github.com/repos/neovim/node-client/releases{/id}", + "size": 3476, + "ssh_url": "git@github.com:neovim/node-client.git", + "stargazers_count": 445, + "stargazers_url": "https://api.github.com/repos/neovim/node-client/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/node-client/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/node-client/subscription", + "svn_url": "https://github.com/neovim/node-client", + "tags_url": "https://api.github.com/repos/neovim/node-client/tags", + "teams_url": "https://api.github.com/repos/neovim/node-client/teams", + "topics": [ + "neovim", + "nodejs", + "nvim", + "rpc", + "typescript", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/node-client/git/trees{/sha}", + "updated_at": "2024-02-05T10:02:49Z", + "url": "https://api.github.com/repos/neovim/node-client", + "visibility": "public", + "watchers": 445, + "watchers_count": 445, + "web_commit_signoff_required": false + }, + "sha": "fea2caff35904a2cd15214d1a4ff9ff25d2bb6f6", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Bumps [prettier](https://github.com/prettier/prettier) from 3.2.4 to 3.2.5.\n
\nRelease notes\n

Sourced from prettier's releases.

\n
\n

3.2.5

\n

🔗 Changelog

\n
\n
\n
\nChangelog\n

Sourced from prettier's changelog.

\n
\n

3.2.5

\n

diff

\n

Support Angular inline styles as single template literal (#15968 by @​sosukesuzuki)

\n

Angular v17 supports single string inline styles.

\n\n
// Input\n@Component({\n  template: `<div>...</div>`,\n  styles: `h1 { color: blue; }`,\n})\nexport class AppComponent {}\n

// Prettier 3.2.4\n@​Component({\ntemplate: &lt;div&gt;...&lt;/div&gt;,\nstyles: h1 { color: blue; },\n})\nexport class AppComponent {}

\n

// Prettier 3.2.5\n@​Component({\ntemplate: &lt;div&gt;...&lt;/div&gt;,\nstyles: h1 { color: blue; },\n})\nexport class AppComponent {}

\n

\n

Unexpected embedded formatting for Angular template (#15969 by @​JounQin)

\n

Computed template should not be considered as Angular component template

\n\n
// Input\nconst template = "foobar";\n

@​Component({\n[template]: &lt;h1&gt;{{ hello }}&lt;/h1&gt;,\n})\nexport class AppComponent {}\n</tr></table>\n

\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prettier&package-manager=npm_and_yarn&previous-version=3.2.4&new-version=3.2.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n
", + "closed_at": null, + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/node-client/issues/303/comments", + "commits_url": "https://api.github.com/repos/neovim/node-client/pulls/303/commits", + "created_at": "2024-02-05T06:22:32Z", + "diff_url": "https://github.com/neovim/node-client/pull/303.diff", + "draft": false, + "head": { + "label": "neovim:dependabot/npm_and_yarn/prettier-3.2.5", + "ref": "dependabot/npm_and_yarn/prettier-3.2.5", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/node-client/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/node-client/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/node-client/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/node-client/branches{/branch}", + "clone_url": "https://github.com/neovim/node-client.git", + "collaborators_url": "https://api.github.com/repos/neovim/node-client/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/node-client/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/node-client/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/node-client/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/node-client/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/node-client/contributors", + "created_at": "2015-02-11T14:23:57Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/node-client/deployments", + "description": "Nvim Node.js client and plugin host", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/node-client/downloads", + "events_url": "https://api.github.com/repos/neovim/node-client/events", + "fork": false, + "forks": 46, + "forks_count": 46, + "forks_url": "https://api.github.com/repos/neovim/node-client/forks", + "full_name": "neovim/node-client", + "git_commits_url": "https://api.github.com/repos/neovim/node-client/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/node-client/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/node-client/git/tags{/sha}", + "git_url": "git://github.com/neovim/node-client.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": true, + "has_projects": false, + "has_wiki": false, + "homepage": "https://neovim.io/node-client/", + "hooks_url": "https://api.github.com/repos/neovim/node-client/hooks", + "html_url": "https://github.com/neovim/node-client", + "id": 30651283, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/node-client/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/node-client/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/node-client/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/node-client/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/node-client/labels{/name}", + "language": "TypeScript", + "languages_url": "https://api.github.com/repos/neovim/node-client/languages", + "license": { + "key": "mit", + "name": "MIT License", + "node_id": "MDc6TGljZW5zZTEz", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit" + }, + "merges_url": "https://api.github.com/repos/neovim/node-client/merges", + "milestones_url": "https://api.github.com/repos/neovim/node-client/milestones{/number}", + "mirror_url": null, + "name": "node-client", + "node_id": "MDEwOlJlcG9zaXRvcnkzMDY1MTI4Mw==", + "notifications_url": "https://api.github.com/repos/neovim/node-client/notifications{?since,all,participating}", + "open_issues": 20, + "open_issues_count": 20, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/node-client/pulls{/number}", + "pushed_at": "2024-02-05T06:22:54Z", + "releases_url": "https://api.github.com/repos/neovim/node-client/releases{/id}", + "size": 3476, + "ssh_url": "git@github.com:neovim/node-client.git", + "stargazers_count": 445, + "stargazers_url": "https://api.github.com/repos/neovim/node-client/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/node-client/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/node-client/subscription", + "svn_url": "https://github.com/neovim/node-client", + "tags_url": "https://api.github.com/repos/neovim/node-client/tags", + "teams_url": "https://api.github.com/repos/neovim/node-client/teams", + "topics": [ + "neovim", + "nodejs", + "nvim", + "rpc", + "typescript", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/node-client/git/trees{/sha}", + "updated_at": "2024-02-05T10:02:49Z", + "url": "https://api.github.com/repos/neovim/node-client", + "visibility": "public", + "watchers": 445, + "watchers_count": 445, + "web_commit_signoff_required": false + }, + "sha": "2f63309d7336092d7558061747a9c3b4da3b3f44", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "html_url": "https://github.com/neovim/node-client/pull/303", + "id": 1710967872, + "issue_url": "https://api.github.com/repos/neovim/node-client/issues/303", + "labels": [ + { + "color": "0366d6", + "default": false, + "description": "Pull requests that update a dependency file", + "id": 1630078089, + "name": "dependencies", + "node_id": "MDU6TGFiZWwxNjMwMDc4MDg5", + "url": "https://api.github.com/repos/neovim/node-client/labels/dependencies" + }, + { + "color": "168700", + "default": false, + "description": "Pull requests that update Javascript code", + "id": 5739775018, + "name": "javascript", + "node_id": "LA_kwDOAdOzk88AAAABVh4EKg", + "url": "https://api.github.com/repos/neovim/node-client/labels/javascript" + } + ], + "locked": false, + "merge_commit_sha": "a36e175b76a3de769ac73087bff067293080cd5a", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAdOzk85l-0xA", + "number": 303, + "patch_url": "https://github.com/neovim/node-client/pull/303.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/node-client/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/node-client/pulls/303/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/2f63309d7336092d7558061747a9c3b4da3b3f44", + "title": "deps: bump prettier from 3.2.4 to 3.2.5", + "updated_at": "2024-02-05T06:22:33Z", + "url": "https://api.github.com/repos/neovim/node-client/pulls/303", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/in/29110?v=4", + "events_url": "https://api.github.com/users/dependabot%5Bbot%5D/events{/privacy}", + "followers_url": "https://api.github.com/users/dependabot%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/dependabot%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/dependabot%5Bbot%5D/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/apps/dependabot", + "id": 49699333, + "login": "dependabot[bot]", + "node_id": "MDM6Qm90NDk2OTkzMzM=", + "organizations_url": "https://api.github.com/users/dependabot%5Bbot%5D/orgs", + "received_events_url": "https://api.github.com/users/dependabot%5Bbot%5D/received_events", + "repos_url": "https://api.github.com/users/dependabot%5Bbot%5D/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dependabot%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dependabot%5Bbot%5D/subscriptions", + "type": "Bot", + "url": "https://api.github.com/users/dependabot%5Bbot%5D" + } +} \ No newline at end of file diff --git a/repositories/node-client/pulls/304.json b/repositories/node-client/pulls/304.json new file mode 100644 index 00000000..56961255 --- /dev/null +++ b/repositories/node-client/pulls/304.json @@ -0,0 +1,377 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/node-client/issues/304/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/304/commits" + }, + "html": { + "href": "https://github.com/neovim/node-client/pull/304" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/node-client/issues/304" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/304/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/304" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/node-client/statuses/208326961cd1903c37cf83cb9b19917f7e6c157f" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/node-client/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/node-client/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/node-client/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/node-client/branches{/branch}", + "clone_url": "https://github.com/neovim/node-client.git", + "collaborators_url": "https://api.github.com/repos/neovim/node-client/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/node-client/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/node-client/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/node-client/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/node-client/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/node-client/contributors", + "created_at": "2015-02-11T14:23:57Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/node-client/deployments", + "description": "Nvim Node.js client and plugin host", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/node-client/downloads", + "events_url": "https://api.github.com/repos/neovim/node-client/events", + "fork": false, + "forks": 46, + "forks_count": 46, + "forks_url": "https://api.github.com/repos/neovim/node-client/forks", + "full_name": "neovim/node-client", + "git_commits_url": "https://api.github.com/repos/neovim/node-client/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/node-client/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/node-client/git/tags{/sha}", + "git_url": "git://github.com/neovim/node-client.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": true, + "has_projects": false, + "has_wiki": false, + "homepage": "https://neovim.io/node-client/", + "hooks_url": "https://api.github.com/repos/neovim/node-client/hooks", + "html_url": "https://github.com/neovim/node-client", + "id": 30651283, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/node-client/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/node-client/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/node-client/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/node-client/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/node-client/labels{/name}", + "language": "TypeScript", + "languages_url": "https://api.github.com/repos/neovim/node-client/languages", + "license": { + "key": "mit", + "name": "MIT License", + "node_id": "MDc6TGljZW5zZTEz", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit" + }, + "merges_url": "https://api.github.com/repos/neovim/node-client/merges", + "milestones_url": "https://api.github.com/repos/neovim/node-client/milestones{/number}", + "mirror_url": null, + "name": "node-client", + "node_id": "MDEwOlJlcG9zaXRvcnkzMDY1MTI4Mw==", + "notifications_url": "https://api.github.com/repos/neovim/node-client/notifications{?since,all,participating}", + "open_issues": 20, + "open_issues_count": 20, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/node-client/pulls{/number}", + "pushed_at": "2024-02-05T06:22:54Z", + "releases_url": "https://api.github.com/repos/neovim/node-client/releases{/id}", + "size": 3476, + "ssh_url": "git@github.com:neovim/node-client.git", + "stargazers_count": 445, + "stargazers_url": "https://api.github.com/repos/neovim/node-client/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/node-client/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/node-client/subscription", + "svn_url": "https://github.com/neovim/node-client", + "tags_url": "https://api.github.com/repos/neovim/node-client/tags", + "teams_url": "https://api.github.com/repos/neovim/node-client/teams", + "topics": [ + "neovim", + "nodejs", + "nvim", + "rpc", + "typescript", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/node-client/git/trees{/sha}", + "updated_at": "2024-02-05T10:02:49Z", + "url": "https://api.github.com/repos/neovim/node-client", + "visibility": "public", + "watchers": 445, + "watchers_count": 445, + "web_commit_signoff_required": false + }, + "sha": "fea2caff35904a2cd15214d1a4ff9ff25d2bb6f6", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Bumps [husky](https://github.com/typicode/husky) from 9.0.7 to 9.0.10.\n
\nRelease notes\n

Sourced from husky's releases.

\n
\n

v9.0.10

\n\n

v9.0.9

\n\n

v9.0.8

\n\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=husky&package-manager=npm_and_yarn&previous-version=9.0.7&new-version=9.0.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n
", + "closed_at": null, + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/node-client/issues/304/comments", + "commits_url": "https://api.github.com/repos/neovim/node-client/pulls/304/commits", + "created_at": "2024-02-05T06:22:41Z", + "diff_url": "https://github.com/neovim/node-client/pull/304.diff", + "draft": false, + "head": { + "label": "neovim:dependabot/npm_and_yarn/husky-9.0.10", + "ref": "dependabot/npm_and_yarn/husky-9.0.10", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/node-client/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/node-client/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/node-client/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/node-client/branches{/branch}", + "clone_url": "https://github.com/neovim/node-client.git", + "collaborators_url": "https://api.github.com/repos/neovim/node-client/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/node-client/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/node-client/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/node-client/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/node-client/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/node-client/contributors", + "created_at": "2015-02-11T14:23:57Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/node-client/deployments", + "description": "Nvim Node.js client and plugin host", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/node-client/downloads", + "events_url": "https://api.github.com/repos/neovim/node-client/events", + "fork": false, + "forks": 46, + "forks_count": 46, + "forks_url": "https://api.github.com/repos/neovim/node-client/forks", + "full_name": "neovim/node-client", + "git_commits_url": "https://api.github.com/repos/neovim/node-client/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/node-client/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/node-client/git/tags{/sha}", + "git_url": "git://github.com/neovim/node-client.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": true, + "has_projects": false, + "has_wiki": false, + "homepage": "https://neovim.io/node-client/", + "hooks_url": "https://api.github.com/repos/neovim/node-client/hooks", + "html_url": "https://github.com/neovim/node-client", + "id": 30651283, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/node-client/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/node-client/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/node-client/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/node-client/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/node-client/labels{/name}", + "language": "TypeScript", + "languages_url": "https://api.github.com/repos/neovim/node-client/languages", + "license": { + "key": "mit", + "name": "MIT License", + "node_id": "MDc6TGljZW5zZTEz", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit" + }, + "merges_url": "https://api.github.com/repos/neovim/node-client/merges", + "milestones_url": "https://api.github.com/repos/neovim/node-client/milestones{/number}", + "mirror_url": null, + "name": "node-client", + "node_id": "MDEwOlJlcG9zaXRvcnkzMDY1MTI4Mw==", + "notifications_url": "https://api.github.com/repos/neovim/node-client/notifications{?since,all,participating}", + "open_issues": 20, + "open_issues_count": 20, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/node-client/pulls{/number}", + "pushed_at": "2024-02-05T06:22:54Z", + "releases_url": "https://api.github.com/repos/neovim/node-client/releases{/id}", + "size": 3476, + "ssh_url": "git@github.com:neovim/node-client.git", + "stargazers_count": 445, + "stargazers_url": "https://api.github.com/repos/neovim/node-client/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/node-client/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/node-client/subscription", + "svn_url": "https://github.com/neovim/node-client", + "tags_url": "https://api.github.com/repos/neovim/node-client/tags", + "teams_url": "https://api.github.com/repos/neovim/node-client/teams", + "topics": [ + "neovim", + "nodejs", + "nvim", + "rpc", + "typescript", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/node-client/git/trees{/sha}", + "updated_at": "2024-02-05T10:02:49Z", + "url": "https://api.github.com/repos/neovim/node-client", + "visibility": "public", + "watchers": 445, + "watchers_count": 445, + "web_commit_signoff_required": false + }, + "sha": "208326961cd1903c37cf83cb9b19917f7e6c157f", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "html_url": "https://github.com/neovim/node-client/pull/304", + "id": 1710968036, + "issue_url": "https://api.github.com/repos/neovim/node-client/issues/304", + "labels": [ + { + "color": "0366d6", + "default": false, + "description": "Pull requests that update a dependency file", + "id": 1630078089, + "name": "dependencies", + "node_id": "MDU6TGFiZWwxNjMwMDc4MDg5", + "url": "https://api.github.com/repos/neovim/node-client/labels/dependencies" + }, + { + "color": "168700", + "default": false, + "description": "Pull requests that update Javascript code", + "id": 5739775018, + "name": "javascript", + "node_id": "LA_kwDOAdOzk88AAAABVh4EKg", + "url": "https://api.github.com/repos/neovim/node-client/labels/javascript" + } + ], + "locked": false, + "merge_commit_sha": "0f8ca269bb03a470549e77da239925b1df85a467", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAdOzk85l-0zk", + "number": 304, + "patch_url": "https://github.com/neovim/node-client/pull/304.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/node-client/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/node-client/pulls/304/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/208326961cd1903c37cf83cb9b19917f7e6c157f", + "title": "deps: bump husky from 9.0.7 to 9.0.10", + "updated_at": "2024-02-05T06:22:42Z", + "url": "https://api.github.com/repos/neovim/node-client/pulls/304", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/in/29110?v=4", + "events_url": "https://api.github.com/users/dependabot%5Bbot%5D/events{/privacy}", + "followers_url": "https://api.github.com/users/dependabot%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/dependabot%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/dependabot%5Bbot%5D/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/apps/dependabot", + "id": 49699333, + "login": "dependabot[bot]", + "node_id": "MDM6Qm90NDk2OTkzMzM=", + "organizations_url": "https://api.github.com/users/dependabot%5Bbot%5D/orgs", + "received_events_url": "https://api.github.com/users/dependabot%5Bbot%5D/received_events", + "repos_url": "https://api.github.com/users/dependabot%5Bbot%5D/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dependabot%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dependabot%5Bbot%5D/subscriptions", + "type": "Bot", + "url": "https://api.github.com/users/dependabot%5Bbot%5D" + } +} \ No newline at end of file diff --git a/repositories/node-client/pulls/305.json b/repositories/node-client/pulls/305.json new file mode 100644 index 00000000..caef1ee5 --- /dev/null +++ b/repositories/node-client/pulls/305.json @@ -0,0 +1,377 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/node-client/issues/305/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/305/commits" + }, + "html": { + "href": "https://github.com/neovim/node-client/pull/305" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/node-client/issues/305" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/305/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/node-client/pulls/305" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/node-client/statuses/2fb1eb7922577639675a2282c3bcc74a2c186882" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/node-client/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/node-client/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/node-client/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/node-client/branches{/branch}", + "clone_url": "https://github.com/neovim/node-client.git", + "collaborators_url": "https://api.github.com/repos/neovim/node-client/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/node-client/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/node-client/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/node-client/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/node-client/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/node-client/contributors", + "created_at": "2015-02-11T14:23:57Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/node-client/deployments", + "description": "Nvim Node.js client and plugin host", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/node-client/downloads", + "events_url": "https://api.github.com/repos/neovim/node-client/events", + "fork": false, + "forks": 46, + "forks_count": 46, + "forks_url": "https://api.github.com/repos/neovim/node-client/forks", + "full_name": "neovim/node-client", + "git_commits_url": "https://api.github.com/repos/neovim/node-client/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/node-client/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/node-client/git/tags{/sha}", + "git_url": "git://github.com/neovim/node-client.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": true, + "has_projects": false, + "has_wiki": false, + "homepage": "https://neovim.io/node-client/", + "hooks_url": "https://api.github.com/repos/neovim/node-client/hooks", + "html_url": "https://github.com/neovim/node-client", + "id": 30651283, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/node-client/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/node-client/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/node-client/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/node-client/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/node-client/labels{/name}", + "language": "TypeScript", + "languages_url": "https://api.github.com/repos/neovim/node-client/languages", + "license": { + "key": "mit", + "name": "MIT License", + "node_id": "MDc6TGljZW5zZTEz", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit" + }, + "merges_url": "https://api.github.com/repos/neovim/node-client/merges", + "milestones_url": "https://api.github.com/repos/neovim/node-client/milestones{/number}", + "mirror_url": null, + "name": "node-client", + "node_id": "MDEwOlJlcG9zaXRvcnkzMDY1MTI4Mw==", + "notifications_url": "https://api.github.com/repos/neovim/node-client/notifications{?since,all,participating}", + "open_issues": 20, + "open_issues_count": 20, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/node-client/pulls{/number}", + "pushed_at": "2024-02-05T06:22:54Z", + "releases_url": "https://api.github.com/repos/neovim/node-client/releases{/id}", + "size": 3476, + "ssh_url": "git@github.com:neovim/node-client.git", + "stargazers_count": 445, + "stargazers_url": "https://api.github.com/repos/neovim/node-client/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/node-client/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/node-client/subscription", + "svn_url": "https://github.com/neovim/node-client", + "tags_url": "https://api.github.com/repos/neovim/node-client/tags", + "teams_url": "https://api.github.com/repos/neovim/node-client/teams", + "topics": [ + "neovim", + "nodejs", + "nvim", + "rpc", + "typescript", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/node-client/git/trees{/sha}", + "updated_at": "2024-02-05T10:02:49Z", + "url": "https://api.github.com/repos/neovim/node-client", + "visibility": "public", + "watchers": 445, + "watchers_count": 445, + "web_commit_signoff_required": false + }, + "sha": "fea2caff35904a2cd15214d1a4ff9ff25d2bb6f6", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Bumps [lint-staged](https://github.com/okonet/lint-staged) from 15.2.0 to 15.2.1.\n
\nRelease notes\n

Sourced from lint-staged's releases.

\n
\n

v15.2.1

\n

Patch Changes

\n
    \n
  • #1387 e4023f6 Thanks @​iiroj! - Ignore stdin of spawned commands so that they don't get stuck waiting. Until now, lint-staged has used the default settings to spawn linter commands. This means the stdin of the spawned commands has accepted input, and essentially gotten stuck waiting. Now the stdin is ignored and commands will no longer get stuck. If you relied on this behavior, please open a new issue and describe how; the behavior has not been intended.
  • \n
\n
\n
\n
\nChangelog\n

Sourced from lint-staged's changelog.

\n
\n

15.2.1

\n

Patch Changes

\n
    \n
  • #1387 e4023f6 Thanks @​iiroj! - Ignore stdin of spawned commands so that they don't get stuck waiting. Until now, lint-staged has used the default settings to spawn linter commands. This means the stdin of the spawned commands has accepted input, and essentially gotten stuck waiting. Now the stdin is ignored and commands will no longer get stuck. If you relied on this behavior, please open a new issue and describe how; the behavior has not been intended.
  • \n
\n
\n
\n
\nCommits\n
    \n
  • 999dcce chore(changeset): release
  • \n
  • 52a9e3f Merge pull request #1387 from lint-staged/ignore-stdin
  • \n
  • dd72fde ci: update "actions/cache@v4"
  • \n
  • e4023f6 fix: ignore stdin of spawned commands
  • \n
  • 46f2c43 ci: update actions/setup-node@v4
  • \n
  • a684125 ci: update CodeQL action v3
  • \n
  • 3b9660d chore(deps): update dependencies
  • \n
  • See full diff in compare view
  • \n
\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=lint-staged&package-manager=npm_and_yarn&previous-version=15.2.0&new-version=15.2.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n
", + "closed_at": null, + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/node-client/issues/305/comments", + "commits_url": "https://api.github.com/repos/neovim/node-client/pulls/305/commits", + "created_at": "2024-02-05T06:22:54Z", + "diff_url": "https://github.com/neovim/node-client/pull/305.diff", + "draft": false, + "head": { + "label": "neovim:dependabot/npm_and_yarn/lint-staged-15.2.1", + "ref": "dependabot/npm_and_yarn/lint-staged-15.2.1", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/node-client/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/node-client/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/node-client/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/node-client/branches{/branch}", + "clone_url": "https://github.com/neovim/node-client.git", + "collaborators_url": "https://api.github.com/repos/neovim/node-client/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/node-client/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/node-client/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/node-client/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/node-client/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/node-client/contributors", + "created_at": "2015-02-11T14:23:57Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/node-client/deployments", + "description": "Nvim Node.js client and plugin host", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/node-client/downloads", + "events_url": "https://api.github.com/repos/neovim/node-client/events", + "fork": false, + "forks": 46, + "forks_count": 46, + "forks_url": "https://api.github.com/repos/neovim/node-client/forks", + "full_name": "neovim/node-client", + "git_commits_url": "https://api.github.com/repos/neovim/node-client/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/node-client/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/node-client/git/tags{/sha}", + "git_url": "git://github.com/neovim/node-client.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": true, + "has_projects": false, + "has_wiki": false, + "homepage": "https://neovim.io/node-client/", + "hooks_url": "https://api.github.com/repos/neovim/node-client/hooks", + "html_url": "https://github.com/neovim/node-client", + "id": 30651283, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/node-client/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/node-client/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/node-client/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/node-client/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/node-client/labels{/name}", + "language": "TypeScript", + "languages_url": "https://api.github.com/repos/neovim/node-client/languages", + "license": { + "key": "mit", + "name": "MIT License", + "node_id": "MDc6TGljZW5zZTEz", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit" + }, + "merges_url": "https://api.github.com/repos/neovim/node-client/merges", + "milestones_url": "https://api.github.com/repos/neovim/node-client/milestones{/number}", + "mirror_url": null, + "name": "node-client", + "node_id": "MDEwOlJlcG9zaXRvcnkzMDY1MTI4Mw==", + "notifications_url": "https://api.github.com/repos/neovim/node-client/notifications{?since,all,participating}", + "open_issues": 20, + "open_issues_count": 20, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/node-client/pulls{/number}", + "pushed_at": "2024-02-05T06:22:54Z", + "releases_url": "https://api.github.com/repos/neovim/node-client/releases{/id}", + "size": 3476, + "ssh_url": "git@github.com:neovim/node-client.git", + "stargazers_count": 445, + "stargazers_url": "https://api.github.com/repos/neovim/node-client/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/node-client/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/node-client/subscription", + "svn_url": "https://github.com/neovim/node-client", + "tags_url": "https://api.github.com/repos/neovim/node-client/tags", + "teams_url": "https://api.github.com/repos/neovim/node-client/teams", + "topics": [ + "neovim", + "nodejs", + "nvim", + "rpc", + "typescript", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/node-client/git/trees{/sha}", + "updated_at": "2024-02-05T10:02:49Z", + "url": "https://api.github.com/repos/neovim/node-client", + "visibility": "public", + "watchers": 445, + "watchers_count": 445, + "web_commit_signoff_required": false + }, + "sha": "2fb1eb7922577639675a2282c3bcc74a2c186882", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "html_url": "https://github.com/neovim/node-client/pull/305", + "id": 1710968271, + "issue_url": "https://api.github.com/repos/neovim/node-client/issues/305", + "labels": [ + { + "color": "0366d6", + "default": false, + "description": "Pull requests that update a dependency file", + "id": 1630078089, + "name": "dependencies", + "node_id": "MDU6TGFiZWwxNjMwMDc4MDg5", + "url": "https://api.github.com/repos/neovim/node-client/labels/dependencies" + }, + { + "color": "168700", + "default": false, + "description": "Pull requests that update Javascript code", + "id": 5739775018, + "name": "javascript", + "node_id": "LA_kwDOAdOzk88AAAABVh4EKg", + "url": "https://api.github.com/repos/neovim/node-client/labels/javascript" + } + ], + "locked": false, + "merge_commit_sha": "973f436e6be93ab3a8b604c717eb4e4a5752739d", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDOAdOzk85l-03P", + "number": 305, + "patch_url": "https://github.com/neovim/node-client/pull/305.patch", + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/node-client/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/node-client/pulls/305/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/neovim/node-client/statuses/2fb1eb7922577639675a2282c3bcc74a2c186882", + "title": "deps: bump lint-staged from 15.2.0 to 15.2.1", + "updated_at": "2024-02-05T06:22:55Z", + "url": "https://api.github.com/repos/neovim/node-client/pulls/305", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/in/29110?v=4", + "events_url": "https://api.github.com/users/dependabot%5Bbot%5D/events{/privacy}", + "followers_url": "https://api.github.com/users/dependabot%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/dependabot%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/dependabot%5Bbot%5D/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/apps/dependabot", + "id": 49699333, + "login": "dependabot[bot]", + "node_id": "MDM6Qm90NDk2OTkzMzM=", + "organizations_url": "https://api.github.com/users/dependabot%5Bbot%5D/orgs", + "received_events_url": "https://api.github.com/users/dependabot%5Bbot%5D/received_events", + "repos_url": "https://api.github.com/users/dependabot%5Bbot%5D/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/dependabot%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dependabot%5Bbot%5D/subscriptions", + "type": "Bot", + "url": "https://api.github.com/users/dependabot%5Bbot%5D" + } +} \ No newline at end of file diff --git a/repositories/nvim-lspconfig/issues/2663.json b/repositories/nvim-lspconfig/issues/2663.json index 442dc581..20212dc4 100644 --- a/repositories/nvim-lspconfig/issues/2663.json +++ b/repositories/nvim-lspconfig/issues/2663.json @@ -4,9 +4,54 @@ "assignees": [], "author_association": "NONE", "body": "### Language server\n\nltex-ls\n\n### Requested feature\n\nLTeX supports Context by default. Vim knows the file type context and can determine it. Please add the \"context\" file type to the default language server settings.\r\n![image](https://github.com/neovim/nvim-lspconfig/assets/74067428/fc5ead10-9e35-49b1-833b-607e9e220510)\r\nhttps://valentjn.github.io/ltex/supported-languages.html\n\n### Other clients which have this feature\n\n_No response_", - "closed_at": null, - "comment_data": [], - "comments": 0, + "closed_at": "2024-01-31T06:36:52Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "fixed by #2979", + "created_at": "2024-01-31T06:36:52Z", + "html_url": "https://github.com/neovim/nvim-lspconfig/issues/2663#issuecomment-1918477202", + "id": 1918477202, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2663", + "node_id": "IC_kwDODTQC185yWaOS", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1918477202/reactions" + }, + "updated_at": "2024-01-31T06:36:52Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1918477202", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + } + ], + "comments": 1, "comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2663/comments", "created_at": "2023-06-09T19:01:28Z", "events_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2663/events", @@ -42,11 +87,11 @@ "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2663/reactions" }, "repository_url": "https://api.github.com/repos/neovim/nvim-lspconfig", - "state": "open", - "state_reason": null, + "state": "closed", + "state_reason": "completed", "timeline_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2663/timeline", "title": "Add context to LTeX filetypes", - "updated_at": "2023-06-09T19:01:28Z", + "updated_at": "2024-01-31T06:36:52Z", "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2663", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/74067428?v=4", diff --git a/repositories/nvim-lspconfig/issues/2733.json b/repositories/nvim-lspconfig/issues/2733.json index 5a6af294..c7d9a9c1 100644 --- a/repositories/nvim-lspconfig/issues/2733.json +++ b/repositories/nvim-lspconfig/issues/2733.json @@ -105,14 +105,14 @@ "performed_via_github_app": null, "reactions": { "+1": 0, - "-1": 0, + "-1": 1, "confused": 0, "eyes": 0, "heart": 0, "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 0, + "total_count": 1, "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1651033540/reactions" }, "updated_at": "2023-07-26T07:10:24Z", @@ -632,7 +632,7 @@ "node_id": "IC_kwDODTQC185nRfF4", "performed_via_github_app": null, "reactions": { - "+1": 1, + "+1": 4, "-1": 0, "confused": 0, "eyes": 0, @@ -640,7 +640,7 @@ "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 1, + "total_count": 4, "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1732637048/reactions" }, "updated_at": "2023-09-24T18:39:54Z", @@ -680,11 +680,11 @@ "-1": 0, "confused": 0, "eyes": 0, - "heart": 0, - "hooray": 4, + "heart": 2, + "hooray": 5, "laugh": 0, "rocket": 0, - "total_count": 4, + "total_count": 7, "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1732639716/reactions" }, "updated_at": "2023-09-24T18:33:44Z", @@ -768,11 +768,11 @@ "-1": 0, "confused": 0, "eyes": 0, - "heart": 1, + "heart": 2, "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 1, + "total_count": 2, "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1825017552/reactions" }, "updated_at": "2023-11-24T00:23:01Z", @@ -841,9 +841,97 @@ "type": "User", "url": "https://api.github.com/users/BaktashGorgani" } + }, + { + "author_association": "NONE", + "body": "@EJammy Thanks alot for providing the override snippet. Even though i dont understand all of it, it solved the issue. ", + "created_at": "2024-01-30T07:42:16Z", + "html_url": "https://github.com/neovim/nvim-lspconfig/issues/2733#issuecomment-1916244962", + "id": 1916244962, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2733", + "node_id": "IC_kwDODTQC185yN5Pi", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1916244962/reactions" + }, + "updated_at": "2024-01-30T07:42:16Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1916244962", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/120375241?v=4", + "events_url": "https://api.github.com/users/tashish-soni/events{/privacy}", + "followers_url": "https://api.github.com/users/tashish-soni/followers", + "following_url": "https://api.github.com/users/tashish-soni/following{/other_user}", + "gists_url": "https://api.github.com/users/tashish-soni/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/tashish-soni", + "id": 120375241, + "login": "tashish-soni", + "node_id": "U_kgDOByzHyQ", + "organizations_url": "https://api.github.com/users/tashish-soni/orgs", + "received_events_url": "https://api.github.com/users/tashish-soni/received_events", + "repos_url": "https://api.github.com/users/tashish-soni/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/tashish-soni/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tashish-soni/subscriptions", + "type": "User", + "url": "https://api.github.com/users/tashish-soni" + } + }, + { + "author_association": "NONE", + "body": "For the record, this is happening to me on an Ubuntu machine (`uname -a`: `Linux -- 6.5.0-15-generic #15~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Jan 12 18:54:30 UTC 2 x86_64 x86_64 x86_64 GNU/Linux`) as well, so it's not just on windows.", + "created_at": "2024-01-31T21:46:38Z", + "html_url": "https://github.com/neovim/nvim-lspconfig/issues/2733#issuecomment-1920028568", + "id": 1920028568, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2733", + "node_id": "IC_kwDODTQC185ycU-Y", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1920028568/reactions" + }, + "updated_at": "2024-01-31T21:46:38Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1920028568", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1324601?v=4", + "events_url": "https://api.github.com/users/Aaronik/events{/privacy}", + "followers_url": "https://api.github.com/users/Aaronik/followers", + "following_url": "https://api.github.com/users/Aaronik/following{/other_user}", + "gists_url": "https://api.github.com/users/Aaronik/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Aaronik", + "id": 1324601, + "login": "Aaronik", + "node_id": "MDQ6VXNlcjEzMjQ2MDE=", + "organizations_url": "https://api.github.com/users/Aaronik/orgs", + "received_events_url": "https://api.github.com/users/Aaronik/received_events", + "repos_url": "https://api.github.com/users/Aaronik/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Aaronik/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Aaronik/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Aaronik" + } } ], - "comments": 19, + "comments": 21, "comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2733/comments", "created_at": "2023-07-25T06:46:19Z", "events_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2733/events", @@ -867,7 +955,7 @@ "number": 2733, "performed_via_github_app": null, "reactions": { - "+1": 6, + "+1": 7, "-1": 0, "confused": 0, "eyes": 0, @@ -875,7 +963,7 @@ "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 6, + "total_count": 7, "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2733/reactions" }, "repository_url": "https://api.github.com/repos/neovim/nvim-lspconfig", @@ -883,7 +971,7 @@ "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2733/timeline", "title": "#2673 Breaks gopls", - "updated_at": "2024-01-07T06:59:56Z", + "updated_at": "2024-01-31T21:46:39Z", "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2733", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/27494262?v=4", diff --git a/repositories/nvim-lspconfig/issues/2765.json b/repositories/nvim-lspconfig/issues/2765.json index 5f853ade..6655918f 100644 --- a/repositories/nvim-lspconfig/issues/2765.json +++ b/repositories/nvim-lspconfig/issues/2765.json @@ -360,7 +360,7 @@ }, { "author_association": "NONE", - "body": "@stvhuang @rickboks check the issue I opened on the pyright repo here https://github.com/microsoft/pylance-release/issues/5220. It seems that this is a pyright issue and that VS Code just happens to be de-duplicating them on its own!", + "body": "@stvhuang @rickboks check the issue I opened on the pyright repo here https://github.com/microsoft/pyright/issues/7171. It seems that this is a pyright issue and that VS Code just happens to be de-duplicating them on its own!", "created_at": "2023-12-06T18:52:12Z", "html_url": "https://github.com/neovim/nvim-lspconfig/issues/2765#issuecomment-1843505437", "id": 1843505437, @@ -368,7 +368,7 @@ "node_id": "IC_kwDODTQC185t4akd", "performed_via_github_app": null, "reactions": { - "+1": 0, + "+1": 1, "-1": 0, "confused": 0, "eyes": 0, @@ -376,7 +376,7 @@ "hooray": 0, "laugh": 0, "rocket": 0, - "total_count": 0, + "total_count": 1, "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1843505437/reactions" }, "updated_at": "2023-12-06T18:52:12Z", @@ -443,7 +443,7 @@ "state_reason": "not_planned", "timeline_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2765/timeline", "title": "List of references is duplicated for pyright", - "updated_at": "2023-12-06T19:14:10Z", + "updated_at": "2024-01-31T17:17:20Z", "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2765", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/92899389?v=4", diff --git a/repositories/nvim-lspconfig/issues/2832.json b/repositories/nvim-lspconfig/issues/2832.json index 002e9ce2..ff391fe3 100644 --- a/repositories/nvim-lspconfig/issues/2832.json +++ b/repositories/nvim-lspconfig/issues/2832.json @@ -4,7 +4,7 @@ "assignees": [], "author_association": "NONE", "body": "### Description\r\n\r\nCannot drill down on definitions in the Flutter SDK (`goto definition`).\r\n\r\nThere are loads of options for `dartls` - very impressive btw - but couldn't find any suitable for this case.\r\n\r\nSee: https://github.com/dart-lang/sdk/issues/53582\r\n\r\n---\r\n\r\nIn the command line you can see the current workspace directories.\r\n![Screenshot_20230926_191745](https://github.com/neovim/nvim-lspconfig/assets/62170092/f058516b-f0a8-45d4-abe6-237c546d7ae9)\r\n\r\n---\r\n\r\nWorkspace directory added after jumping with `goto definition`:\r\n![Screenshot_20230926_191848](https://github.com/neovim/nvim-lspconfig/assets/62170092/c1c793cb-43c3-4924-a22c-e13a1bc45452)\r\n\r\n\r\n### Neovim version\r\n\r\nNVIM v0.9.2\r\nBuild type: None\r\nLuaJIT 2.1.0-beta3\r\nCompilation: /usr/lib/ccache/bin/cc -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wvla -Wdouble-promotion -Wmissing-noreturn -Wmissing-format-attribute -Wmissing-prototypes -fno-common -Wimplicit-fallthrough -fdiagnostics-color=always -fstack-protector-strong -DUNIT_TESTING -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -I/usr/include/luajit-2.1 -I/usr/include -I/usr/include -I/builddir/neovim-0.9.2/build/src/nvim/auto -I/builddir/neovim-0.9.2/build/include -I/builddir/neovim-0.9.2/build/cmake.config -I/builddir/neovim-0.9.2/src -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include\r\n\r\n system vimrc file: \"$VIM/sysinit.vim\"\r\n fall-back for $VIM: \"/usr/share/nvim\"\r\n\r\nRun :checkhealth for more info\r\n\r\n### Nvim-lspconfig version\r\n\r\nede4114e1fd41acb121c70a27e1b026ac68c42d6\r\n\r\n### Operating system and version\r\n\r\nLinux 6.3.13_1 #1 SMP PREEMPT_DYNAMIC Tue Jul 25 00:19:40 UTC 2023 x86_64 GNU/Linux\r\n\r\n### Affected language servers\r\n\r\ndartls\r\n\r\n### Steps to reproduce\r\n\r\n1. flutter create fluttertst\r\n2. cd fluttertst\r\n3. nvim lib/main.dart\r\n4. `goto definition` \"any Flutter stuff\"\r\n5. see red squiggly lines\r\n\r\n### Actual behavior\r\n\r\nCannot resolve `import 'package:'´\r\n\r\n### Expected behavior\r\n\r\nWorkspace directory should not be added after `goto definition` jumping.\r\n\r\n### Minimal config\r\n\r\n```Lua\r\nrequire(\"lspconfig\").dartls.setup({\r\n cmd = { \"dart\", \"language-server\", \"--protocol=lsp\" },\r\n filetypes = { \"dart\" },\r\n init_options = {\r\n closingLabels = true,\r\n flutterOutline = true,\r\n onlyAnalyzeProjectsWithOpenFiles = false,\r\n outline = true,\r\n suggestFromUnimportedLibraries = true,\r\n },\r\n settings = {\r\n dart = {\r\n completeFunctionCalls = true,\r\n showTodos = true,\r\n },\r\n },\r\n on_attach = on_attach,\r\n })\r\n```\r\n\r\n\r\n### LSP log\r\n\r\nhttps://drive.google.com/drive/folders/10BzhYtV8GuPNVopktjhxFPQxTFvYVpY5?usp=drive_link", - "closed_at": null, + "closed_at": "2024-01-31T20:13:54Z", "comment_data": [], "comments": 0, "comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2832/comments", @@ -42,11 +42,11 @@ "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2832/reactions" }, "repository_url": "https://api.github.com/repos/neovim/nvim-lspconfig", - "state": "open", - "state_reason": null, + "state": "closed", + "state_reason": "completed", "timeline_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2832/timeline", "title": "Dart Workspaces", - "updated_at": "2023-09-26T17:26:30Z", + "updated_at": "2024-01-31T20:13:54Z", "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2832", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/62170092?v=4", diff --git a/repositories/nvim-lspconfig/issues/2959.json b/repositories/nvim-lspconfig/issues/2959.json index 236206d8..1a1ab955 100644 --- a/repositories/nvim-lspconfig/issues/2959.json +++ b/repositories/nvim-lspconfig/issues/2959.json @@ -5,8 +5,53 @@ "author_association": "NONE", "body": "### Description\n\nLets say you arrange your neovim workspace to work like this:\r\ntab:1 for `cwd` \"**app1**\" and tab:2 for `cwd` \"**app2**\". Both working directories appear as separate `root_dir` on `:LspInfo`. This is good.\r\nThen, you might need to restart your lsp server for \"**app1**\". You do `:LspRestart`.\r\nWhen you do that, app1 is converted into **single file mode** and you end up with just 1 `root_dir` even though they both have different `:pwd`.\r\nWhat I expected is for nvim-lspconfig to only restart the client without affecting other clients that have different `root_dir` even on the same neovim instance.\r\n\r\n![t-rec_47](https://github.com/neovim/nvim-lspconfig/assets/43413954/c2f2f7f7-204e-428b-a62a-c81f12c441eb)\r\n\n\n### Neovim version\n\nNVIM v0.10.0-dev-2039+g583c1de17\r\nBuild type: RelWithDebInfo\r\nLuaJIT 2.1.1703358377\r\nRun \"nvim -V1 -v\" for more info\n\n### Nvim-lspconfig version\n\n796394fd19fb878e8dbc4fd1e9c9c186ed07a5f4\n\n### Operating system and version\n\narch linux\n\n### Affected language servers\n\ntsserver\n\n### Steps to reproduce\n\n### Required setup\r\n\r\n```bash\r\n├── app1\r\n│   ├── file-001.js\r\n│   └── jsconfig.json\r\n├── app2\r\n│   ├── file-002.js\r\n│   └── jsconfig.json\r\n└── repro.lua\r\n\r\n3 directories, 5 files\r\n```\r\n\r\nPlease replicate this directory. Two folders and two `.js` files **without content**.\r\nI just included these lines on the `jsconfig.json` files inside `app1` and `app2`\r\n\r\n```json\r\n{\r\n \"compilerOptions\": {\r\n \"module\": \"CommonJS\",\r\n \"target\": \"ES6\"\r\n }\r\n}\r\n```\r\nCopy the repro code snippet to your `repro.lua` file and now open vim with this command `nvim --clean +'so repro.lua'` and wait for the plugins and lsp server to get installed.\r\nMaybe close and open vim again with the same command `nvim --clean +'so repro.lua'` and now you can follow this steps:\r\n\r\n\r\n\r\n### Steps\r\n\r\n1. `:tcd app1` from your current tab:1.\r\n2. `:args *` from your current tab:1 to open buffers\r\n3. `:LspInfo` from your current tab:1 to confirm that the tsserver is attached and that the `root_dir` is **app1**\r\n4. `:tabnew` to open tab:2\r\n5. `:tcd ../app2` from your current tab:2\r\n6. `:args *` from your current tab:2 to open buffers\r\n7. `:LspInfo` from your current tab:2 to confirm that the tsserver is attached and that the `root_dir` is **app2**\r\n\r\nEverything should look fine until you restart your lsp from your tab:1\r\n\r\n9. Execute `:LspRestart` and wait for the lsp server to restart\r\n10. `:LspInfo` from your current tab:1 now shows \"Running in single file mode\" and on tab:2 it will show the correct `root_dir` app2.\r\n\r\nI was hoping to preserve the same `root_dir`s after executing `:LspRestart` instead of going into single file mode.\r\n\n\n### Actual behavior\n\n`:LspRestart` breaks the `root_dir` of your clients on multiple working directories in the same nvim instance.\n\n### Expected behavior\n\nPreserve the same `root_dir`s after executing `:LspRestart` and don't turn into single file mode.\n\n### Minimal config\n\n```Lua\n-- DO NOT change the paths\r\nlocal root = vim.fn.fnamemodify(\"./.repro\", \":p\")\r\nroot = root:sub(-1) == \"/\" and root or root .. \"/\"\r\n\r\n-- set stdpaths to use .repro\r\nfor _, name in ipairs({ \"config\", \"data\", \"state\", \"cache\" }) do\r\n vim.env[(\"XDG_%s_HOME\"):format(name:upper())] = root .. name\r\nend\r\n\r\n--------------------------------------------------------------------------------\r\n\r\nvim.g.mapleader = \" \"\r\n\r\n--------------------------------------------------------------------------------\r\n\r\nlocal plugins = {\r\n { \"nvim-lua/plenary.nvim\", lazy = true }, -- required by nvim-lspconfig\r\n\r\n {\r\n \"williamboman/mason.nvim\",\r\n lazy = false,\r\n cmd = \"Mason\",\r\n opts = {\r\n ui = {\r\n check_outdated_packages_on_open = false,\r\n keymaps = {\r\n update_all_packages = \"noop\",\r\n },\r\n },\r\n install_root_dir = root .. \"mason\",\r\n },\r\n },\r\n\r\n {\r\n \"WhoIsSethDaniel/mason-tool-installer.nvim\",\r\n lazy = false,\r\n dependencies = \"williamboman/mason.nvim\",\r\n opts = {\r\n ensure_installed = {\r\n \"typescript-language-server\",\r\n },\r\n },\r\n config = function(_, opts)\r\n local mason_tool_installer = require(\"mason-tool-installer\")\r\n mason_tool_installer.setup(opts)\r\n if vim.v.vim_did_enter then mason_tool_installer.run_on_start() end\r\n end,\r\n },\r\n\r\n {\r\n \"neovim/nvim-lspconfig\",\r\n lazy = false,\r\n config = function()\r\n local lspconfig = require(\"lspconfig\")\r\n\r\n local function on_attach(client, bufnr)\r\n vim.keymap.set(\"n\", \"rs\", function()\r\n local buf = vim.api.nvim_get_current_buf()\r\n local clients = vim.lsp.get_clients({ bufnr = buf })\r\n for _, c in pairs(clients) do\r\n vim.cmd(\"LspRestart \" .. c.id)\r\n end\r\n end)\r\n end\r\n\r\n lspconfig[\"tsserver\"].setup({\r\n capabilities = lspconfig.util.default_config,\r\n on_attach = on_attach,\r\n })\r\n\r\n ---Forces nvim-lspconfig to launch the language server\r\n ---See `:h lspconfig-setup` \"autostart\"\r\n local function setup_servers() vim.api.nvim_exec_autocmds(\"FileType\", {}) end\r\n\r\n vim.api.nvim_create_autocmd(\"User\", {\r\n desc = \"Set up LSP servers after mason-tool-installer\",\r\n pattern = \"MasonToolsUpdateCompleted\",\r\n once = true,\r\n callback = function() setup_servers() end,\r\n })\r\n\r\n setup_servers()\r\n end,\r\n },\r\n\r\n {\r\n \"j-hui/fidget.nvim\",\r\n event = \"LspAttach\",\r\n config = true,\r\n },\r\n}\r\n\r\n--------------------------------------------------------------------------------\r\n\r\nlocal lazypath = root .. \"/plugins/lazy.nvim\"\r\n---@diagnostic disable-next-line: undefined-field\r\nif not (vim.uv or vim.loop).fs_stat(lazypath) then\r\n vim.fn.system({\r\n \"git\",\r\n \"clone\",\r\n \"--filter=blob:none\",\r\n \"https://github.com/folke/lazy.nvim.git\",\r\n \"--branch=stable\",\r\n lazypath,\r\n })\r\nend\r\nvim.opt.runtimepath:prepend(lazypath)\r\n\r\nrequire(\"lazy\").setup(plugins, {\r\n root = root .. \"/plugins\",\r\n})\n```\n\n\n### LSP log\n\n...", "closed_at": null, - "comment_data": [], - "comments": 0, + "comment_data": [ + { + "author_association": "NONE", + "body": "\r\n> A conversion of my previous screenshot from .gif to .mp4 to improve readability\r\n\r\nhttps://github.com/neovim/nvim-lspconfig/assets/43413954/85fbffa9-aedf-42ff-8e71-f2309b0399b8\r\n", + "created_at": "2024-01-30T21:20:44Z", + "html_url": "https://github.com/neovim/nvim-lspconfig/issues/2959#issuecomment-1917914114", + "id": 1917914114, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2959", + "node_id": "IC_kwDODTQC185yUQwC", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1917914114/reactions" + }, + "updated_at": "2024-01-30T21:20:44Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1917914114", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/43413954?v=4", + "events_url": "https://api.github.com/users/serranomorante/events{/privacy}", + "followers_url": "https://api.github.com/users/serranomorante/followers", + "following_url": "https://api.github.com/users/serranomorante/following{/other_user}", + "gists_url": "https://api.github.com/users/serranomorante/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/serranomorante", + "id": 43413954, + "login": "serranomorante", + "node_id": "MDQ6VXNlcjQzNDEzOTU0", + "organizations_url": "https://api.github.com/users/serranomorante/orgs", + "received_events_url": "https://api.github.com/users/serranomorante/received_events", + "repos_url": "https://api.github.com/users/serranomorante/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/serranomorante/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/serranomorante/subscriptions", + "type": "User", + "url": "https://api.github.com/users/serranomorante" + } + } + ], + "comments": 1, "comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2959/comments", "created_at": "2024-01-06T18:36:37Z", "events_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2959/events", @@ -45,8 +90,8 @@ "state": "open", "state_reason": null, "timeline_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2959/timeline", - "title": "`:tcd` breaks lsp clients root_dir on `:LspRestart` and turn into single file mode", - "updated_at": "2024-01-06T18:36:37Z", + "title": "`:tcd` breaks root_dir on `:LspRestart` and switches to single file mode", + "updated_at": "2024-01-31T00:19:36Z", "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2959", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/43413954?v=4", diff --git a/repositories/nvim-lspconfig/issues/2993.json b/repositories/nvim-lspconfig/issues/2993.json new file mode 100644 index 00000000..b4c01489 --- /dev/null +++ b/repositories/nvim-lspconfig/issues/2993.json @@ -0,0 +1,204 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Description\r\n\r\npyright ships with localization for its diagnostics. To detect the language the user prefers, it uses the well known environment variables (see https://github.com/microsoft/pyright/blob/main/docs/configuration.md#locale-configuration)\r\n\r\nThis means that the setup provided by lspconfig does not easily allow to change the diagnostics back to English, which I would prefer because it is easier to find support for the original diagnostic strings and some of the translations are rather, well, ... unusual.\r\n\r\nThe first thing I tried was to set cmd to `cmd = {\"LANG=en\", \"pyright-langserver\", \"--stdio\"}`, but that fails with something like command not found\r\n\r\nThen I tried to put this into a script - \r\n```sh\r\nLANGUAGE=en pyright-langserver --stdio\r\n```\r\nand added that as cmd. Now LspInfo reports it like that:\r\n\r\n```\r\n[...]\r\nOther clients that match the filetype: python\r\n \r\n Config: pyright\r\n \tfiletypes: python\r\n \troot directory: /Users/Sven/.config/nvim\r\n \tcmd: /Users/Sven/bin/launch_pyright.sh\r\n \tcmd is executable: true\r\n \tautostart: true\r\n \tcustom handlers: \r\n```\r\n\r\nbut it does not do anything, no diagnostics, no completion support, no nothing.\r\n\r\nStarting nvim with the language environment variable works, but that breaks other things like spelling and so on, so I would prefer to run neovim with German (in my case) while starting pyright with English.\r\n\r\nNow I'm out of options, therefore I'd like to know if it were possible to soehow pass environment variables via lspconfig or similar.\r\n\r\nThanks\r\n \r\n\r\n", + "closed_at": "2024-01-31T13:27:23Z", + "comment_data": [ + { + "author_association": "MEMBER", + "body": "```lua\r\n cmd_env = { Language = 'en' },\r\n```", + "created_at": "2024-01-31T13:27:23Z", + "html_url": "https://github.com/neovim/nvim-lspconfig/issues/2993#issuecomment-1919102804", + "id": 1919102804, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2993", + "node_id": "IC_kwDODTQC185yYy9U", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1919102804/reactions" + }, + "updated_at": "2024-01-31T13:27:23Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1919102804", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + }, + { + "author_association": "NONE", + "body": "except that it doesn't work.\r\n\r\nI have \r\n```lua\r\nreturn {\r\n cmd = {'pyright-langserver', '--stdio'},\r\n cmd_env = { LANGUAGE = \"en_US.UTF-8\" },\r\n filetypes = { \"python\" },\r\n settings = {\r\n python = {\r\n analysis = {\r\n autoSearchPaths = true,\r\n diagnosticMode = \"openFilesOnly\",\r\n useLibraryCodeForTypes = true\r\n }\r\n }\r\n },\r\n single_file_support = true,\r\n}\r\n```\r\n\r\nwhich is used, but the diagnostics are still in German", + "created_at": "2024-01-31T13:49:05Z", + "html_url": "https://github.com/neovim/nvim-lspconfig/issues/2993#issuecomment-1919138972", + "id": 1919138972, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2993", + "node_id": "IC_kwDODTQC185yY7yc", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1919138972/reactions" + }, + "updated_at": "2024-01-31T13:49:05Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1919138972", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/635904?v=4", + "events_url": "https://api.github.com/users/svenXY/events{/privacy}", + "followers_url": "https://api.github.com/users/svenXY/followers", + "following_url": "https://api.github.com/users/svenXY/following{/other_user}", + "gists_url": "https://api.github.com/users/svenXY/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/svenXY", + "id": 635904, + "login": "svenXY", + "node_id": "MDQ6VXNlcjYzNTkwNA==", + "organizations_url": "https://api.github.com/users/svenXY/orgs", + "received_events_url": "https://api.github.com/users/svenXY/received_events", + "repos_url": "https://api.github.com/users/svenXY/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/svenXY/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/svenXY/subscriptions", + "type": "User", + "url": "https://api.github.com/users/svenXY" + } + }, + { + "author_association": "NONE", + "body": "interestingly enough, it works with LANG, but not with LANGUAGE, even though the pyright config documenation suggests that LANGUAGE shoul work as well...\r\n\r\nThanks for the helpful information. Solved.", + "created_at": "2024-01-31T13:51:16Z", + "html_url": "https://github.com/neovim/nvim-lspconfig/issues/2993#issuecomment-1919142539", + "id": 1919142539, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2993", + "node_id": "IC_kwDODTQC185yY8qL", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1919142539/reactions" + }, + "updated_at": "2024-01-31T13:51:16Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1919142539", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/635904?v=4", + "events_url": "https://api.github.com/users/svenXY/events{/privacy}", + "followers_url": "https://api.github.com/users/svenXY/followers", + "following_url": "https://api.github.com/users/svenXY/following{/other_user}", + "gists_url": "https://api.github.com/users/svenXY/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/svenXY", + "id": 635904, + "login": "svenXY", + "node_id": "MDQ6VXNlcjYzNTkwNA==", + "organizations_url": "https://api.github.com/users/svenXY/orgs", + "received_events_url": "https://api.github.com/users/svenXY/received_events", + "repos_url": "https://api.github.com/users/svenXY/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/svenXY/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/svenXY/subscriptions", + "type": "User", + "url": "https://api.github.com/users/svenXY" + } + } + ], + "comments": 3, + "comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2993/comments", + "created_at": "2024-01-31T13:08:15Z", + "events_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2993/events", + "html_url": "https://github.com/neovim/nvim-lspconfig/issues/2993", + "id": 2110059539, + "labels": [ + { + "color": "f9d0c4", + "default": true, + "description": "Something isn't working", + "id": 1674892761, + "name": "bug", + "node_id": "MDU6TGFiZWwxNjc0ODkyNzYx", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/labels/bug" + } + ], + "labels_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2993/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDODTQC1859xPQT", + "number": 2993, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2993/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/nvim-lspconfig", + "state": "closed", + "state_reason": "completed", + "timeline_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2993/timeline", + "title": "changing the diagnistics language in pyright", + "updated_at": "2024-01-31T13:51:16Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2993", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/635904?v=4", + "events_url": "https://api.github.com/users/svenXY/events{/privacy}", + "followers_url": "https://api.github.com/users/svenXY/followers", + "following_url": "https://api.github.com/users/svenXY/following{/other_user}", + "gists_url": "https://api.github.com/users/svenXY/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/svenXY", + "id": 635904, + "login": "svenXY", + "node_id": "MDQ6VXNlcjYzNTkwNA==", + "organizations_url": "https://api.github.com/users/svenXY/orgs", + "received_events_url": "https://api.github.com/users/svenXY/received_events", + "repos_url": "https://api.github.com/users/svenXY/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/svenXY/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/svenXY/subscriptions", + "type": "User", + "url": "https://api.github.com/users/svenXY" + } +} \ No newline at end of file diff --git a/repositories/nvim-lspconfig/issues/2997.json b/repositories/nvim-lspconfig/issues/2997.json new file mode 100644 index 00000000..95230a84 --- /dev/null +++ b/repositories/nvim-lspconfig/issues/2997.json @@ -0,0 +1,71 @@ +{ + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "body": "### Description\n\nThe language server dos not start when I'm in a `.robot` file.\r\n\r\nI installed the `robotframework_ls` using `Mason` but when I'm in a .robot file nothing happens.\r\n\r\n`nvim --version`\r\n\r\n```\r\nNVIM v0.9.5\r\nBuild type: Release\r\nLuaJIT 2.1.1692716794\r\n\r\n system vimrc file: \"$VIM/sysinit.vim\"\r\n fall-back for $VIM: \"/__w/neovim/neovim/build/nvim.AppDir/usr/share/nvim\"\r\n\r\nRun :checkhealth for more info\r\n``` \r\n\r\n`mason.log`\r\n\r\n```\r\n[INFO Thu 01 Feb 2024 04:42:48 PM -03] ...acker/start/mason.nvim/lua/mason-core/installer/init.lua:184: Executing installer for Package(name=robotframework-lsp) {}\r\n[INFO Thu 01 Feb 2024 04:42:58 PM -03] ...acker/start/mason.nvim/lua/mason-core/installer/init.lua:245: Installation succeeded for Package(name=robotframework-lsp)\r\n```\r\n\r\n`lsp.log`\r\n\r\n```\r\n[START][2024-02-05 15:03:33] LSP logging initiated\r\n[ERROR][2024-02-05 15:03:33] .../vim/lsp/rpc.lua:677\t\"rpc\"\t\"taplo\"\t\"stderr\"\t' INFO taplo: registered request handler method=\"initialize\"\\n INFO taplo: registered request handler method=\"textDocument/foldingRange\"\\n'\r\n[ERROR][2024-02-05 15:03:33] .../vim/lsp/rpc.lua:677\t\"rpc\"\t\"taplo\"\t\"stderr\"\t' INFO taplo: registered request handler method=\"textDocument/documentSymbol\"\\n INFO taplo: registered request handler method=\"textDocument/formatting\"\\n INFO taplo: registered request handler method=\"textDocument/completion\"\\n INFO taplo: registered request handler method=\"textDocument/hover\"\\n INFO taplo: registered request handler method=\"textDocument/documentLink\"\\n INFO taplo: registered request handler method=\"textDocument/semanticTokens/full\"\\n INFO taplo: registered request handler method=\"textDocument/prepareRename\"\\n INFO taplo: registered request handler method=\"textDocument/rename\"\\n INFO taplo: registered notification handler method=\"initialized\"\\n INFO taplo: registered notification handler method=\"textDocument/didOpen\"\\n INFO taplo: registered notification handler method=\"textDocument/didChange\"\\n INFO taplo: registered notification handler method=\"textDocument/didSave\"\\n INFO taplo: registered notification handler method=\"textDocument/didClose\"\\n INFO taplo: registered notification handler method=\"workspace/didChangeConfiguration\"\\n INFO taplo: registered notification handler method=\"workspace/didChangeWorkspaceFolders\"\\n INFO taplo: registered request handler method=\"taplo/convertToJson\"\\n INFO taplo: registered request handler method=\"taplo/convertToToml\"\\n INFO taplo: registered request handler method=\"taplo/listSchemas\"\\n INFO taplo: registered request handler method=\"taplo/associatedSchema\"\\n INFO taplo: registered notification handler method=\"taplo/associateSchema\"\\n'\r\n[ERROR][2024-02-05 15:03:33] .../vim/lsp/rpc.lua:677\t\"rpc\"\t\"taplo\"\t\"stderr\"\t' INFO taplo: LSP server listening transport=\"stdio\"\\n'\r\n```\r\n\r\nEven when running manually with `:LSPStart robotframework_ls` I still get nothing.", + "closed_at": null, + "comment_data": [], + "comments": 0, + "comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2997/comments", + "created_at": "2024-02-05T18:42:35Z", + "events_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2997/events", + "html_url": "https://github.com/neovim/nvim-lspconfig/issues/2997", + "id": 2119231647, + "labels": [ + { + "color": "f9d0c4", + "default": true, + "description": "Something isn't working", + "id": 1674892761, + "name": "bug", + "node_id": "MDU6TGFiZWwxNjc0ODkyNzYx", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/labels/bug" + } + ], + "labels_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2997/labels{/name}", + "locked": false, + "milestone": null, + "node_id": "I_kwDODTQC185-UOif", + "number": 2997, + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2997/reactions" + }, + "repository_url": "https://api.github.com/repos/neovim/nvim-lspconfig", + "state": "open", + "state_reason": null, + "timeline_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2997/timeline", + "title": "Unable to start the robotframework_ls", + "updated_at": "2024-02-05T18:42:35Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2997", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/79927968?v=4", + "events_url": "https://api.github.com/users/anderson-silva-concordia/events{/privacy}", + "followers_url": "https://api.github.com/users/anderson-silva-concordia/followers", + "following_url": "https://api.github.com/users/anderson-silva-concordia/following{/other_user}", + "gists_url": "https://api.github.com/users/anderson-silva-concordia/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/anderson-silva-concordia", + "id": 79927968, + "login": "anderson-silva-concordia", + "node_id": "MDQ6VXNlcjc5OTI3OTY4", + "organizations_url": "https://api.github.com/users/anderson-silva-concordia/orgs", + "received_events_url": "https://api.github.com/users/anderson-silva-concordia/received_events", + "repos_url": "https://api.github.com/users/anderson-silva-concordia/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/anderson-silva-concordia/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/anderson-silva-concordia/subscriptions", + "type": "User", + "url": "https://api.github.com/users/anderson-silva-concordia" + } +} \ No newline at end of file diff --git a/repositories/nvim-lspconfig/issues/383.json b/repositories/nvim-lspconfig/issues/383.json index 5bac3e5a..c1a02307 100644 --- a/repositories/nvim-lspconfig/issues/383.json +++ b/repositories/nvim-lspconfig/issues/383.json @@ -492,7 +492,7 @@ }, { "author_association": "NONE", - "body": "> If `require('lspconfig').foo.setup` is put in both the global and local configs, won't the language server be started twice? Or is the suggestion to only call `setup` in local configs?\r\n\r\nI was also wondering about this. From what I understand, the LS is only launched once, but the second call to setup() replaces its settings?\r\n\r\nBut I think with the wiki section suggesting exrc/`.nvim.lua` it would be good to clarify the interaction. From a brief test it seems to work alright for simple use cases.\r\n\r\nMy understanding is that the second setup() call overrides the settings, which are only used once the Lsp actually starts/attaches to a buffer. So it's fine to call setup() more than once at startup, but it wouldn't work while neovim is already running.", + "body": "> If `require('lspconfig').foo.setup` is put in both the global and local configs, won't the language server be started twice? Or is the suggestion to only call `setup` in local configs?\r\n\r\nI was also wondering about this. From what I understand, the LS is only launched once, but the second call to setup() replaces its settings?\r\n\r\nBut I think with the wiki section suggesting `.exrc`/`.nvim.lua` it would be good to clarify the interaction. From a brief test it seems to work alright for simple use cases.\r\n\r\nMy understanding is that the second setup() call overrides the settings, which are only used once the Lsp actually starts/attaches to a buffer. So it's fine to call setup() more than once at startup, but it wouldn't work while neovim is already running.\r\n\r\nUpdate: I've ended up reading the [setup() function ](https://github.com/neovim/nvim-lspconfig/blob/d1d8b8a0180aafb5cf8f0454b52adb6d1e9522cb/lua/lspconfig/configs.lua#L66-L272) and as far as I can tell, it does just replace settings. However, it can register duplicate autocmds if `autostart` is set to true. Unsure how big of a problem that is.", "created_at": "2024-01-29T19:48:44Z", "html_url": "https://github.com/neovim/nvim-lspconfig/issues/383#issuecomment-1915444158", "id": 1915444158, @@ -511,7 +511,7 @@ "total_count": 0, "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1915444158/reactions" }, - "updated_at": "2024-01-29T19:50:56Z", + "updated_at": "2024-01-30T14:05:40Z", "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1915444158", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/38919842?v=4", @@ -575,7 +575,7 @@ "state_reason": "completed", "timeline_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/383/timeline", "title": "Project local settings", - "updated_at": "2024-01-29T19:50:56Z", + "updated_at": "2024-01-30T14:05:40Z", "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/383", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/29653149?v=4", diff --git a/repositories/nvim-lspconfig/pulls/2943.json b/repositories/nvim-lspconfig/pulls/2943.json index c8f4549b..b171924d 100644 --- a/repositories/nvim-lspconfig/pulls/2943.json +++ b/repositories/nvim-lspconfig/pulls/2943.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/nvim-lspconfig/downloads", "events_url": "https://api.github.com/repos/neovim/nvim-lspconfig/events", "fork": false, - "forks": 1964, - "forks_count": 1964, + "forks": 1969, + "forks_count": 1969, "forks_url": "https://api.github.com/repos/neovim/nvim-lspconfig/forks", "full_name": "neovim/nvim-lspconfig", "git_commits_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "nvim-lspconfig", "node_id": "MDEwOlJlcG9zaXRvcnkyMjE1MTI0MDc=", "notifications_url": "https://api.github.com/repos/neovim/nvim-lspconfig/notifications{?since,all,participating}", - "open_issues": 59, - "open_issues_count": 59, + "open_issues": 55, + "open_issues_count": 55, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls{/number}", - "pushed_at": "2024-01-29T04:19:11Z", + "pushed_at": "2024-02-04T06:16:57Z", "releases_url": "https://api.github.com/repos/neovim/nvim-lspconfig/releases{/id}", - "size": 3474, + "size": 3540, "ssh_url": "git@github.com:neovim/nvim-lspconfig.git", - "stargazers_count": 8864, + "stargazers_count": 8920, "stargazers_url": "https://api.github.com/repos/neovim/nvim-lspconfig/stargazers", "statuses_url": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/nvim-lspconfig/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/trees{/sha}", - "updated_at": "2024-01-29T22:11:16Z", + "updated_at": "2024-02-05T22:15:56Z", "url": "https://api.github.com/repos/neovim/nvim-lspconfig", "visibility": "public", - "watchers": 8864, - "watchers_count": 8864, + "watchers": 8920, + "watchers_count": 8920, "web_commit_signoff_required": false }, "sha": "a2e84ddef8d17a71dc8115f72e264c97328f5d33", @@ -170,7 +170,7 @@ } }, "body": "improve the get_clients_from_cmd_args for better readability and consistency.\r\n\r\n- Replaced dictionary-based storage with a table for clients in the get_clients_from_cmd_args function.\r\n- Utilized the '#' operator to accurately count clients and enhance code readability.\r\n- Updated the condition for checking if the result table is empty using the '#' operator.", - "closed_at": null, + "closed_at": "2024-01-31T06:07:02Z", "comment_data": [], "comment_regular_data": [ { @@ -403,8 +403,8 @@ "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2943", "labels": [], "locked": false, - "merge_commit_sha": "868a61d65030e9385202daaa80686ecda6d44ed7", - "merged_at": null, + "merge_commit_sha": "e3c3ab74d2ad0b1e47b52ecd6005ee1917df2872", + "merged_at": "2024-01-31T06:07:02Z", "milestone": null, "node_id": "PR_kwDODTQC185ife72", "number": 2943, @@ -434,10 +434,10 @@ "requested_teams": [], "review_comment_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2943/comments", - "state": "open", + "state": "closed", "statuses_url": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/8d6048d55326e917c3239837b6db689032e9cfad", "title": "refactor: improve get_clients_from_cmd_args", - "updated_at": "2024-01-29T01:10:42Z", + "updated_at": "2024-01-31T06:07:02Z", "url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2943", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/1529486?v=4", diff --git a/repositories/nvim-lspconfig/pulls/2977.json b/repositories/nvim-lspconfig/pulls/2977.json index bb9ebffa..e365f1b3 100644 --- a/repositories/nvim-lspconfig/pulls/2977.json +++ b/repositories/nvim-lspconfig/pulls/2977.json @@ -22,7 +22,7 @@ "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2977" }, "statuses": { - "href": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/84d961826cbeeb897bf89e986482979460d1e1cf" + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/7ef9b6414205391c8434effaaea660466a2db172" } }, "active_lock_reason": null, @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/nvim-lspconfig/downloads", "events_url": "https://api.github.com/repos/neovim/nvim-lspconfig/events", "fork": false, - "forks": 1964, - "forks_count": 1964, + "forks": 1969, + "forks_count": 1969, "forks_url": "https://api.github.com/repos/neovim/nvim-lspconfig/forks", "full_name": "neovim/nvim-lspconfig", "git_commits_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "nvim-lspconfig", "node_id": "MDEwOlJlcG9zaXRvcnkyMjE1MTI0MDc=", "notifications_url": "https://api.github.com/repos/neovim/nvim-lspconfig/notifications{?since,all,participating}", - "open_issues": 59, - "open_issues_count": 59, + "open_issues": 55, + "open_issues_count": 55, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls{/number}", - "pushed_at": "2024-01-29T04:19:11Z", + "pushed_at": "2024-02-04T06:16:57Z", "releases_url": "https://api.github.com/repos/neovim/nvim-lspconfig/releases{/id}", - "size": 3474, + "size": 3540, "ssh_url": "git@github.com:neovim/nvim-lspconfig.git", - "stargazers_count": 8864, + "stargazers_count": 8920, "stargazers_url": "https://api.github.com/repos/neovim/nvim-lspconfig/stargazers", "statuses_url": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/nvim-lspconfig/subscribers", @@ -140,14 +140,14 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/trees{/sha}", - "updated_at": "2024-01-29T22:11:16Z", + "updated_at": "2024-02-05T22:15:56Z", "url": "https://api.github.com/repos/neovim/nvim-lspconfig", "visibility": "public", - "watchers": 8864, - "watchers_count": 8864, + "watchers": 8920, + "watchers_count": 8920, "web_commit_signoff_required": false }, - "sha": "042aa6b27b8b8d4f4e1bd42de2037c83d676a8a0", + "sha": "021906284dcfb938bc236f8295af2650c60cb807", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -186,7 +186,7 @@ }, "author_association": "COLLABORATOR", "body": "Use `vim.notify()` instead of print. \n", - "commit_id": "84d961826cbeeb897bf89e986482979460d1e1cf", + "commit_id": "7ef9b6414205391c8434effaaea660466a2db172", "created_at": "2024-01-19T20:55:07Z", "diff_hunk": "@@ -14,6 +14,18 @@ local texlab_forward_status = vim.tbl_add_reverse_lookup {\n Unconfigured = 3,\n }\n \n+local function buf_cancel_build()\n+ local texlab_client = util.get_active_client_by_name(0, 'texlab')\n+ if texlab_client then\n+ texlab_client.request('workspace/executeCommand', { command = 'texlab.cancelBuild' }, function(err)\n+ if err then\n+ error(tostring(err))\n+ end\n+ print 'Build cancelled'", "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2977#discussion_r1459754244", @@ -254,7 +254,7 @@ }, "author_association": "MEMBER", "body": "isn't `workspace/executeCommand` part of the LSP spec? should this use `:help vim.lsp.commands` ?", - "commit_id": "84d961826cbeeb897bf89e986482979460d1e1cf", + "commit_id": "7ef9b6414205391c8434effaaea660466a2db172", "created_at": "2024-01-29T00:59:58Z", "diff_hunk": "@@ -14,6 +14,18 @@ local texlab_forward_status = vim.tbl_add_reverse_lookup {\n Unconfigured = 3,\n }\n \n+local function buf_cancel_build()\n+ local texlab_client = util.get_active_client_by_name(0, 'texlab')\n+ if texlab_client then\n+ texlab_client.request('workspace/executeCommand', { command = 'texlab.cancelBuild' }, function(err)", "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2977#discussion_r1468982161", @@ -307,6 +307,144 @@ "type": "User", "url": "https://api.github.com/users/justinmk" } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/nvim-lspconfig/pull/2977#discussion_r1471121906" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2977" + }, + "self": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments/1471121906" + } + }, + "author_association": "NONE", + "body": "Thanks for the reply and the suggestion. Reading the docs on the `vim.lsp.commands` I too think it should be used here. However, the docs were not very helpful on how to implement it, even looking at the source code in neovim i could not get it to work. Moreover, i found another implementation with the `request` in the following part from the es-lint [config](https://github.com/neovim/nvim-lspconfig/blob/master/lua/lspconfig/server_configurations/eslint.lua/#L4-L33). I could really use some help regarding how to proceed, thanks in advance.\r\n", + "commit_id": "7ef9b6414205391c8434effaaea660466a2db172", + "created_at": "2024-01-30T12:24:56Z", + "diff_hunk": "@@ -14,6 +14,18 @@ local texlab_forward_status = vim.tbl_add_reverse_lookup {\n Unconfigured = 3,\n }\n \n+local function buf_cancel_build()\n+ local texlab_client = util.get_active_client_by_name(0, 'texlab')\n+ if texlab_client then\n+ texlab_client.request('workspace/executeCommand', { command = 'texlab.cancelBuild' }, function(err)", + "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2977#discussion_r1471121906", + "id": 1471121906, + "in_reply_to_id": 1468982161, + "line": 20, + "node_id": "PRRC_kwDODTQC185Xr4ny", + "original_commit_id": "84d961826cbeeb897bf89e986482979460d1e1cf", + "original_line": 20, + "original_position": 7, + "original_start_line": null, + "path": "lua/lspconfig/server_configurations/texlab.lua", + "position": 7, + "pull_request_review_id": 1851064767, + "pull_request_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2977", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments/1471121906/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-30T12:24:57Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments/1471121906", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/121033874?v=4", + "events_url": "https://api.github.com/users/DimitrisDimitropoulos/events{/privacy}", + "followers_url": "https://api.github.com/users/DimitrisDimitropoulos/followers", + "following_url": "https://api.github.com/users/DimitrisDimitropoulos/following{/other_user}", + "gists_url": "https://api.github.com/users/DimitrisDimitropoulos/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/DimitrisDimitropoulos", + "id": 121033874, + "login": "DimitrisDimitropoulos", + "node_id": "U_kgDOBzbUkg", + "organizations_url": "https://api.github.com/users/DimitrisDimitropoulos/orgs", + "received_events_url": "https://api.github.com/users/DimitrisDimitropoulos/received_events", + "repos_url": "https://api.github.com/users/DimitrisDimitropoulos/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/DimitrisDimitropoulos/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/DimitrisDimitropoulos/subscriptions", + "type": "User", + "url": "https://api.github.com/users/DimitrisDimitropoulos" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/nvim-lspconfig/pull/2977#discussion_r1471192627" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2977" + }, + "self": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments/1471192627" + } + }, + "author_association": "MEMBER", + "body": "Hoping that @glepnir can help.\r\n\r\n\r\n\r\n> i found another implementation with the `request` in the following part from the es-lint [config](https://github.com/neovim/nvim-lspconfig/blob/master/lua/lspconfig/server_configurations/eslint.lua/#L4-L33).\r\n\r\nPerhaps that pattern can be lifted into `util.lua` in this repo. We need to avoid copy-pasting lots of code in all of these configs. ", + "commit_id": "7ef9b6414205391c8434effaaea660466a2db172", + "created_at": "2024-01-30T13:17:28Z", + "diff_hunk": "@@ -14,6 +14,18 @@ local texlab_forward_status = vim.tbl_add_reverse_lookup {\n Unconfigured = 3,\n }\n \n+local function buf_cancel_build()\n+ local texlab_client = util.get_active_client_by_name(0, 'texlab')\n+ if texlab_client then\n+ texlab_client.request('workspace/executeCommand', { command = 'texlab.cancelBuild' }, function(err)", + "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2977#discussion_r1471192627", + "id": 1471192627, + "in_reply_to_id": 1468982161, + "line": 20, + "node_id": "PRRC_kwDODTQC185XsJ4z", + "original_commit_id": "84d961826cbeeb897bf89e986482979460d1e1cf", + "original_line": 20, + "original_position": 7, + "original_start_line": null, + "path": "lua/lspconfig/server_configurations/texlab.lua", + "position": 7, + "pull_request_review_id": 1851246235, + "pull_request_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2977", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments/1471192627/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-30T13:17:29Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments/1471192627", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } } ], "comment_regular_data": [], @@ -403,9 +541,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/DimitrisDimitropoulos/nvim-lspconfig/pulls{/number}", - "pushed_at": "2024-01-19T20:57:16Z", + "pushed_at": "2024-01-30T12:25:51Z", "releases_url": "https://api.github.com/repos/DimitrisDimitropoulos/nvim-lspconfig/releases{/id}", - "size": 3570, + "size": 3486, "ssh_url": "git@github.com:DimitrisDimitropoulos/nvim-lspconfig.git", "stargazers_count": 0, "stargazers_url": "https://api.github.com/repos/DimitrisDimitropoulos/nvim-lspconfig/stargazers", @@ -424,7 +562,7 @@ "watchers_count": 0, "web_commit_signoff_required": false }, - "sha": "84d961826cbeeb897bf89e986482979460d1e1cf", + "sha": "7ef9b6414205391c8434effaaea660466a2db172", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/121033874?v=4", "events_url": "https://api.github.com/users/DimitrisDimitropoulos/events{/privacy}", @@ -451,7 +589,7 @@ "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2977", "labels": [], "locked": false, - "merge_commit_sha": "65dcea8c203bdb7bce05ef07732f81b165c28db1", + "merge_commit_sha": "59a0bbfb19316478fe089b41619c497677ab0cd5", "merged_at": null, "milestone": null, "node_id": "PR_kwDODTQC185kltDo", @@ -483,9 +621,9 @@ "review_comment_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2977/comments", "state": "open", - "statuses_url": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/84d961826cbeeb897bf89e986482979460d1e1cf", + "statuses_url": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/7ef9b6414205391c8434effaaea660466a2db172", "title": "feat(texlab): add cancelBuild", - "updated_at": "2024-01-29T00:59:58Z", + "updated_at": "2024-01-30T13:17:28Z", "url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2977", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/121033874?v=4", diff --git a/repositories/nvim-lspconfig/pulls/2979.json b/repositories/nvim-lspconfig/pulls/2979.json index c70b37da..21df458f 100644 --- a/repositories/nvim-lspconfig/pulls/2979.json +++ b/repositories/nvim-lspconfig/pulls/2979.json @@ -28,7 +28,7 @@ "active_lock_reason": null, "assignee": null, "assignees": [], - "author_association": "FIRST_TIME_CONTRIBUTOR", + "author_association": "CONTRIBUTOR", "auto_merge": null, "base": { "label": "neovim:master", @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/nvim-lspconfig/downloads", "events_url": "https://api.github.com/repos/neovim/nvim-lspconfig/events", "fork": false, - "forks": 1964, - "forks_count": 1964, + "forks": 1969, + "forks_count": 1969, "forks_url": "https://api.github.com/repos/neovim/nvim-lspconfig/forks", "full_name": "neovim/nvim-lspconfig", "git_commits_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "nvim-lspconfig", "node_id": "MDEwOlJlcG9zaXRvcnkyMjE1MTI0MDc=", "notifications_url": "https://api.github.com/repos/neovim/nvim-lspconfig/notifications{?since,all,participating}", - "open_issues": 64, - "open_issues_count": 64, + "open_issues": 55, + "open_issues_count": 55, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls{/number}", - "pushed_at": "2024-01-21T13:29:41Z", + "pushed_at": "2024-02-04T06:16:57Z", "releases_url": "https://api.github.com/repos/neovim/nvim-lspconfig/releases{/id}", - "size": 3570, + "size": 3540, "ssh_url": "git@github.com:neovim/nvim-lspconfig.git", - "stargazers_count": 8814, + "stargazers_count": 8920, "stargazers_url": "https://api.github.com/repos/neovim/nvim-lspconfig/stargazers", "statuses_url": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/nvim-lspconfig/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/trees{/sha}", - "updated_at": "2024-01-23T00:52:09Z", + "updated_at": "2024-02-05T22:15:56Z", "url": "https://api.github.com/repos/neovim/nvim-lspconfig", "visibility": "public", - "watchers": 8814, - "watchers_count": 8814, + "watchers": 8920, + "watchers_count": 8920, "web_commit_signoff_required": false }, "sha": "8917d2c830e04bf944a699b8c41f097621283828", @@ -170,11 +170,11 @@ } }, "body": "This adds ConTeXt support as requested in #2663. It also makes LTeX work correctly in rnoweb, HTML, XHTML and git commit messages, as well as in plaintext (though this is not enabled by default).", - "closed_at": null, + "closed_at": "2024-01-31T06:10:51Z", "comment_data": [], "comment_regular_data": [ { - "author_association": "NONE", + "author_association": "CONTRIBUTOR", "body": "Lint failed due to URLs in some commit messages. Should I remove them?", "created_at": "2024-01-21T13:34:10Z", "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2979#issuecomment-1902631372", @@ -359,8 +359,8 @@ "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2979", "labels": [], "locked": false, - "merge_commit_sha": "c7608ad4141f3ed2dd167eeec08b4f20cfb63240", - "merged_at": null, + "merge_commit_sha": "4f34f6f48d14caf8ae58a4e83fa4f20e5ccd553b", + "merged_at": "2024-01-31T06:10:51Z", "milestone": null, "node_id": "PR_kwDODTQC185kpvTz", "number": 2979, @@ -390,10 +390,10 @@ "requested_teams": [], "review_comment_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2979/comments", - "state": "open", + "state": "closed", "statuses_url": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/29adfd4c6e7c0c38fcf58bb5f835dd4dea04a03e", "title": "Improve LTeX support", - "updated_at": "2024-01-21T13:34:11Z", + "updated_at": "2024-01-31T06:10:52Z", "url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2979", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/13453436?v=4", diff --git a/repositories/nvim-lspconfig/pulls/2982.json b/repositories/nvim-lspconfig/pulls/2982.json index 447796ea..d56819a2 100644 --- a/repositories/nvim-lspconfig/pulls/2982.json +++ b/repositories/nvim-lspconfig/pulls/2982.json @@ -55,8 +55,8 @@ "downloads_url": "https://api.github.com/repos/neovim/nvim-lspconfig/downloads", "events_url": "https://api.github.com/repos/neovim/nvim-lspconfig/events", "fork": false, - "forks": 1964, - "forks_count": 1964, + "forks": 1969, + "forks_count": 1969, "forks_url": "https://api.github.com/repos/neovim/nvim-lspconfig/forks", "full_name": "neovim/nvim-lspconfig", "git_commits_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/commits{/sha}", @@ -94,8 +94,8 @@ "name": "nvim-lspconfig", "node_id": "MDEwOlJlcG9zaXRvcnkyMjE1MTI0MDc=", "notifications_url": "https://api.github.com/repos/neovim/nvim-lspconfig/notifications{?since,all,participating}", - "open_issues": 59, - "open_issues_count": 59, + "open_issues": 55, + "open_issues_count": 55, "owner": { "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", "events_url": "https://api.github.com/users/neovim/events{/privacy}", @@ -118,11 +118,11 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls{/number}", - "pushed_at": "2024-01-29T04:19:11Z", + "pushed_at": "2024-02-04T06:16:57Z", "releases_url": "https://api.github.com/repos/neovim/nvim-lspconfig/releases{/id}", - "size": 3474, + "size": 3540, "ssh_url": "git@github.com:neovim/nvim-lspconfig.git", - "stargazers_count": 8864, + "stargazers_count": 8920, "stargazers_url": "https://api.github.com/repos/neovim/nvim-lspconfig/stargazers", "statuses_url": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/neovim/nvim-lspconfig/subscribers", @@ -140,11 +140,11 @@ "vim" ], "trees_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/trees{/sha}", - "updated_at": "2024-01-29T22:11:16Z", + "updated_at": "2024-02-05T22:15:56Z", "url": "https://api.github.com/repos/neovim/nvim-lspconfig", "visibility": "public", - "watchers": 8864, - "watchers_count": 8864, + "watchers": 8920, + "watchers_count": 8920, "web_commit_signoff_required": false }, "sha": "8917d2c830e04bf944a699b8c41f097621283828", @@ -170,7 +170,7 @@ } }, "body": null, - "closed_at": null, + "closed_at": "2024-01-31T06:07:55Z", "comment_data": [ { "_links": { @@ -566,8 +566,8 @@ "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2982", "labels": [], "locked": false, - "merge_commit_sha": "459593cf37b636f3e0f6f582949d96ee102106bd", - "merged_at": null, + "merge_commit_sha": "7fd5d1d5f6c1f4b783536cb69df8cdfe9264977e", + "merged_at": "2024-01-31T06:07:55Z", "milestone": null, "node_id": "PR_kwDODTQC185k4iAn", "number": 2982, @@ -597,10 +597,10 @@ "requested_teams": [], "review_comment_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments{/number}", "review_comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2982/comments", - "state": "open", + "state": "closed", "statuses_url": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/44295eda38243badb8238caaf07ca33f0ccb74bd", "title": "feat: add dprint lsp", - "updated_at": "2024-01-25T16:50:43Z", + "updated_at": "2024-01-31T06:07:55Z", "url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2982", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/4702260?v=4", diff --git a/repositories/nvim-lspconfig/pulls/2990.json b/repositories/nvim-lspconfig/pulls/2990.json new file mode 100644 index 00000000..c72665d0 --- /dev/null +++ b/repositories/nvim-lspconfig/pulls/2990.json @@ -0,0 +1,959 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2990/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2990/commits" + }, + "html": { + "href": "https://github.com/neovim/nvim-lspconfig/pull/2990" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2990" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2990/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2990" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/ff6fed976b1ab6ead043142411692dae4c086b1e" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "NONE", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/nvim-lspconfig/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/nvim-lspconfig/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/nvim-lspconfig/branches{/branch}", + "clone_url": "https://github.com/neovim/nvim-lspconfig.git", + "collaborators_url": "https://api.github.com/repos/neovim/nvim-lspconfig/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/nvim-lspconfig/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/nvim-lspconfig/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/nvim-lspconfig/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/nvim-lspconfig/contributors", + "created_at": "2019-11-13T17:12:28Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/deployments", + "description": "Quickstart configs for Nvim LSP", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/nvim-lspconfig/downloads", + "events_url": "https://api.github.com/repos/neovim/nvim-lspconfig/events", + "fork": false, + "forks": 1969, + "forks_count": 1969, + "forks_url": "https://api.github.com/repos/neovim/nvim-lspconfig/forks", + "full_name": "neovim/nvim-lspconfig", + "git_commits_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/tags{/sha}", + "git_url": "git://github.com/neovim/nvim-lspconfig.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": false, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/neovim/nvim-lspconfig/hooks", + "html_url": "https://github.com/neovim/nvim-lspconfig", + "id": 221512407, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/nvim-lspconfig/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/nvim-lspconfig/labels{/name}", + "language": "Lua", + "languages_url": "https://api.github.com/repos/neovim/nvim-lspconfig/languages", + "license": { + "key": "apache-2.0", + "name": "Apache License 2.0", + "node_id": "MDc6TGljZW5zZTI=", + "spdx_id": "Apache-2.0", + "url": "https://api.github.com/licenses/apache-2.0" + }, + "merges_url": "https://api.github.com/repos/neovim/nvim-lspconfig/merges", + "milestones_url": "https://api.github.com/repos/neovim/nvim-lspconfig/milestones{/number}", + "mirror_url": null, + "name": "nvim-lspconfig", + "node_id": "MDEwOlJlcG9zaXRvcnkyMjE1MTI0MDc=", + "notifications_url": "https://api.github.com/repos/neovim/nvim-lspconfig/notifications{?since,all,participating}", + "open_issues": 55, + "open_issues_count": 55, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls{/number}", + "pushed_at": "2024-02-04T06:16:57Z", + "releases_url": "https://api.github.com/repos/neovim/nvim-lspconfig/releases{/id}", + "size": 3540, + "ssh_url": "git@github.com:neovim/nvim-lspconfig.git", + "stargazers_count": 8920, + "stargazers_url": "https://api.github.com/repos/neovim/nvim-lspconfig/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/nvim-lspconfig/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/nvim-lspconfig/subscription", + "svn_url": "https://github.com/neovim/nvim-lspconfig", + "tags_url": "https://api.github.com/repos/neovim/nvim-lspconfig/tags", + "teams_url": "https://api.github.com/repos/neovim/nvim-lspconfig/teams", + "topics": [ + "language-server", + "language-server-protocol", + "lsp", + "neovim", + "nvim", + "plugin", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/trees{/sha}", + "updated_at": "2024-02-05T22:15:56Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig", + "visibility": "public", + "watchers": 8920, + "watchers_count": 8920, + "web_commit_signoff_required": false + }, + "sha": "021906284dcfb938bc236f8295af2650c60cb807", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "Seems like neovim sets a \"*.tf\" file to filetype \"tf\".", + "closed_at": "2024-01-30T13:09:24Z", + "comment_data": [ + { + "_links": { + "html": { + "href": "https://github.com/neovim/nvim-lspconfig/pull/2990#discussion_r1471178788" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2990" + }, + "self": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments/1471178788" + } + }, + "author_association": "MEMBER", + "body": "This is wrong. If filetype=tf that means the detection failed: https://github.com/neovim/neovim/blob/5e5b004da44c7075ed1e20ae9d05ab09c6f2ac58/runtime/lua/vim/filetype/detect.lua#L1524\r\n\r\nfiletype=tf is not terraform.", + "commit_id": "ff6fed976b1ab6ead043142411692dae4c086b1e", + "created_at": "2024-01-30T13:09:16Z", + "diff_hunk": "@@ -3,7 +3,7 @@ local util = require 'lspconfig.util'\n return {\n default_config = {\n cmd = { 'terraform-lsp' },\n- filetypes = { 'terraform', 'hcl' },\n+ filetypes = { 'terraform', 'hcl', 'tf' },", + "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2990#discussion_r1471178788", + "id": 1471178788, + "line": 6, + "node_id": "PRRC_kwDODTQC185XsGgk", + "original_commit_id": "ff6fed976b1ab6ead043142411692dae4c086b1e", + "original_line": 6, + "original_position": 5, + "original_start_line": null, + "path": "lua/lspconfig/server_configurations/terraform_lsp.lua", + "position": 5, + "pull_request_review_id": 1851217758, + "pull_request_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2990", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments/1471178788/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-30T13:09:17Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments/1471178788", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + } + ], + "comment_regular_data": [ + { + "author_association": "CONTRIBUTOR", + "body": "Do not change `server_configurations.md` directly. Edit the lua source file instead. See https://github.com/neovim/nvim-lspconfig/blob/master/CONTRIBUTING.md#generating-docs", + "created_at": "2024-01-30T11:55:59Z", + "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2990#issuecomment-1916683239", + "id": 1916683239, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2990", + "node_id": "IC_kwDODTQC185yPkPn", + "performed_via_github_app": { + "created_at": "2018-07-30T09:30:17Z", + "description": "Automate your workflow from idea to production", + "events": [ + "branch_protection_rule", + "check_run", + "check_suite", + "create", + "delete", + "deployment", + "deployment_status", + "discussion", + "discussion_comment", + "fork", + "gollum", + "issues", + "issue_comment", + "label", + "merge_group", + "milestone", + "page_build", + "project", + "project_card", + "project_column", + "public", + "pull_request", + "pull_request_review", + "pull_request_review_comment", + "push", + "registry_package", + "release", + "repository", + "repository_dispatch", + "status", + "watch", + "workflow_dispatch", + "workflow_run" + ], + "external_url": "https://help.github.com/en/actions", + "html_url": "https://github.com/apps/github-actions", + "id": 15368, + "name": "GitHub Actions", + "node_id": "MDM6QXBwMTUzNjg=", + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/9919?v=4", + "events_url": "https://api.github.com/users/github/events{/privacy}", + "followers_url": "https://api.github.com/users/github/followers", + "following_url": "https://api.github.com/users/github/following{/other_user}", + "gists_url": "https://api.github.com/users/github/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/github", + "id": 9919, + "login": "github", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=", + "organizations_url": "https://api.github.com/users/github/orgs", + "received_events_url": "https://api.github.com/users/github/received_events", + "repos_url": "https://api.github.com/users/github/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/github" + }, + "permissions": { + "actions": "write", + "administration": "read", + "checks": "write", + "contents": "write", + "deployments": "write", + "discussions": "write", + "issues": "write", + "merge_queues": "write", + "metadata": "read", + "packages": "write", + "pages": "write", + "pull_requests": "write", + "repository_hooks": "write", + "repository_projects": "write", + "security_events": "write", + "statuses": "write", + "vulnerability_alerts": "read" + }, + "slug": "github-actions", + "updated_at": "2019-12-10T19:04:12Z" + }, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1916683239/reactions" + }, + "updated_at": "2024-01-30T11:55:59Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1916683239", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/apps/github-actions", + "id": 41898282, + "login": "github-actions[bot]", + "node_id": "MDM6Qm90NDE4OTgyODI=", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "type": "Bot", + "url": "https://api.github.com/users/github-actions%5Bbot%5D" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Do not change `server_configurations.md` directly. Edit the lua source file instead. See https://github.com/neovim/nvim-lspconfig/blob/master/CONTRIBUTING.md#generating-docs", + "created_at": "2024-01-30T11:58:12Z", + "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2990#issuecomment-1916686486", + "id": 1916686486, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2990", + "node_id": "IC_kwDODTQC185yPlCW", + "performed_via_github_app": { + "created_at": "2018-07-30T09:30:17Z", + "description": "Automate your workflow from idea to production", + "events": [ + "branch_protection_rule", + "check_run", + "check_suite", + "create", + "delete", + "deployment", + "deployment_status", + "discussion", + "discussion_comment", + "fork", + "gollum", + "issues", + "issue_comment", + "label", + "merge_group", + "milestone", + "page_build", + "project", + "project_card", + "project_column", + "public", + "pull_request", + "pull_request_review", + "pull_request_review_comment", + "push", + "registry_package", + "release", + "repository", + "repository_dispatch", + "status", + "watch", + "workflow_dispatch", + "workflow_run" + ], + "external_url": "https://help.github.com/en/actions", + "html_url": "https://github.com/apps/github-actions", + "id": 15368, + "name": "GitHub Actions", + "node_id": "MDM6QXBwMTUzNjg=", + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/9919?v=4", + "events_url": "https://api.github.com/users/github/events{/privacy}", + "followers_url": "https://api.github.com/users/github/followers", + "following_url": "https://api.github.com/users/github/following{/other_user}", + "gists_url": "https://api.github.com/users/github/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/github", + "id": 9919, + "login": "github", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=", + "organizations_url": "https://api.github.com/users/github/orgs", + "received_events_url": "https://api.github.com/users/github/received_events", + "repos_url": "https://api.github.com/users/github/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/github" + }, + "permissions": { + "actions": "write", + "administration": "read", + "checks": "write", + "contents": "write", + "deployments": "write", + "discussions": "write", + "issues": "write", + "merge_queues": "write", + "metadata": "read", + "packages": "write", + "pages": "write", + "pull_requests": "write", + "repository_hooks": "write", + "repository_projects": "write", + "security_events": "write", + "statuses": "write", + "vulnerability_alerts": "read" + }, + "slug": "github-actions", + "updated_at": "2019-12-10T19:04:12Z" + }, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1916686486/reactions" + }, + "updated_at": "2024-01-30T11:58:12Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1916686486", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/apps/github-actions", + "id": 41898282, + "login": "github-actions[bot]", + "node_id": "MDM6Qm90NDE4OTgyODI=", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "type": "Bot", + "url": "https://api.github.com/users/github-actions%5Bbot%5D" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Do not change `server_configurations.md` directly. Edit the lua source file instead. See https://github.com/neovim/nvim-lspconfig/blob/master/CONTRIBUTING.md#generating-docs", + "created_at": "2024-01-30T11:59:13Z", + "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2990#issuecomment-1916687950", + "id": 1916687950, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2990", + "node_id": "IC_kwDODTQC185yPlZO", + "performed_via_github_app": { + "created_at": "2018-07-30T09:30:17Z", + "description": "Automate your workflow from idea to production", + "events": [ + "branch_protection_rule", + "check_run", + "check_suite", + "create", + "delete", + "deployment", + "deployment_status", + "discussion", + "discussion_comment", + "fork", + "gollum", + "issues", + "issue_comment", + "label", + "merge_group", + "milestone", + "page_build", + "project", + "project_card", + "project_column", + "public", + "pull_request", + "pull_request_review", + "pull_request_review_comment", + "push", + "registry_package", + "release", + "repository", + "repository_dispatch", + "status", + "watch", + "workflow_dispatch", + "workflow_run" + ], + "external_url": "https://help.github.com/en/actions", + "html_url": "https://github.com/apps/github-actions", + "id": 15368, + "name": "GitHub Actions", + "node_id": "MDM6QXBwMTUzNjg=", + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/9919?v=4", + "events_url": "https://api.github.com/users/github/events{/privacy}", + "followers_url": "https://api.github.com/users/github/followers", + "following_url": "https://api.github.com/users/github/following{/other_user}", + "gists_url": "https://api.github.com/users/github/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/github", + "id": 9919, + "login": "github", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=", + "organizations_url": "https://api.github.com/users/github/orgs", + "received_events_url": "https://api.github.com/users/github/received_events", + "repos_url": "https://api.github.com/users/github/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/github" + }, + "permissions": { + "actions": "write", + "administration": "read", + "checks": "write", + "contents": "write", + "deployments": "write", + "discussions": "write", + "issues": "write", + "merge_queues": "write", + "metadata": "read", + "packages": "write", + "pages": "write", + "pull_requests": "write", + "repository_hooks": "write", + "repository_projects": "write", + "security_events": "write", + "statuses": "write", + "vulnerability_alerts": "read" + }, + "slug": "github-actions", + "updated_at": "2019-12-10T19:04:12Z" + }, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1916687950/reactions" + }, + "updated_at": "2024-01-30T11:59:13Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1916687950", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/apps/github-actions", + "id": 41898282, + "login": "github-actions[bot]", + "node_id": "MDM6Qm90NDE4OTgyODI=", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "type": "Bot", + "url": "https://api.github.com/users/github-actions%5Bbot%5D" + } + }, + { + "author_association": "NONE", + "body": "Sorry for all the force pushes, just trying to get those checks passing :)", + "created_at": "2024-01-30T12:01:11Z", + "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2990#issuecomment-1916691108", + "id": 1916691108, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2990", + "node_id": "IC_kwDODTQC185yPmKk", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1916691108/reactions" + }, + "updated_at": "2024-01-30T12:01:11Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1916691108", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/81622310?v=4", + "events_url": "https://api.github.com/users/AlexvZyl/events{/privacy}", + "followers_url": "https://api.github.com/users/AlexvZyl/followers", + "following_url": "https://api.github.com/users/AlexvZyl/following{/other_user}", + "gists_url": "https://api.github.com/users/AlexvZyl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/AlexvZyl", + "id": 81622310, + "login": "AlexvZyl", + "node_id": "MDQ6VXNlcjgxNjIyMzEw", + "organizations_url": "https://api.github.com/users/AlexvZyl/orgs", + "received_events_url": "https://api.github.com/users/AlexvZyl/received_events", + "repos_url": "https://api.github.com/users/AlexvZyl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/AlexvZyl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/AlexvZyl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/AlexvZyl" + } + }, + { + "author_association": "MEMBER", + "body": "If you think there's an improvement that can be made to the detection for terraform, send a change to vim and it will be backported to https://github.com/neovim/neovim/blob/5e5b004da44c7075ed1e20ae9d05ab09c6f2ac58/runtime/lua/vim/filetype/detect.lua#L1524-L1535", + "created_at": "2024-01-30T13:10:19Z", + "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2990#issuecomment-1916812962", + "id": 1916812962, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2990", + "node_id": "IC_kwDODTQC185yQD6i", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1916812962/reactions" + }, + "updated_at": "2024-01-30T13:10:19Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1916812962", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "author_association": "NONE", + "body": "Oh, I see the filetype is `tf` when the file is empty, otherwise `terraform`.\r\n\r\nFunny, sorry for the noise!", + "created_at": "2024-01-30T13:16:13Z", + "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2990#issuecomment-1916826116", + "id": 1916826116, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2990", + "node_id": "IC_kwDODTQC185yQHIE", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1916826116/reactions" + }, + "updated_at": "2024-01-30T13:17:04Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1916826116", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/81622310?v=4", + "events_url": "https://api.github.com/users/AlexvZyl/events{/privacy}", + "followers_url": "https://api.github.com/users/AlexvZyl/followers", + "following_url": "https://api.github.com/users/AlexvZyl/following{/other_user}", + "gists_url": "https://api.github.com/users/AlexvZyl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/AlexvZyl", + "id": 81622310, + "login": "AlexvZyl", + "node_id": "MDQ6VXNlcjgxNjIyMzEw", + "organizations_url": "https://api.github.com/users/AlexvZyl/orgs", + "received_events_url": "https://api.github.com/users/AlexvZyl/received_events", + "repos_url": "https://api.github.com/users/AlexvZyl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/AlexvZyl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/AlexvZyl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/AlexvZyl" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2990/comments", + "commits_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2990/commits", + "created_at": "2024-01-30T11:55:46Z", + "diff_url": "https://github.com/neovim/nvim-lspconfig/pull/2990.diff", + "draft": false, + "head": { + "label": "AlexvZyl:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/assignees{/user}", + "blobs_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/branches{/branch}", + "clone_url": "https://github.com/AlexvZyl/nvim-lspconfig.git", + "collaborators_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/comments{/number}", + "commits_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/commits{/sha}", + "compare_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/contents/{+path}", + "contributors_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/contributors", + "created_at": "2024-01-30T11:51:56Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/deployments", + "description": "Quickstart configs for Nvim LSP", + "disabled": false, + "downloads_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/downloads", + "events_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/forks", + "full_name": "AlexvZyl/nvim-lspconfig", + "git_commits_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/git/tags{/sha}", + "git_url": "git://github.com/AlexvZyl/nvim-lspconfig.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/hooks", + "html_url": "https://github.com/AlexvZyl/nvim-lspconfig", + "id": 750307742, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/issues/events{/number}", + "issues_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/issues{/number}", + "keys_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/keys{/key_id}", + "labels_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/labels{/name}", + "language": "Lua", + "languages_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/languages", + "license": { + "key": "apache-2.0", + "name": "Apache License 2.0", + "node_id": "MDc6TGljZW5zZTI=", + "spdx_id": "Apache-2.0", + "url": "https://api.github.com/licenses/apache-2.0" + }, + "merges_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/merges", + "milestones_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/milestones{/number}", + "mirror_url": null, + "name": "nvim-lspconfig", + "node_id": "R_kgDOLLjJng", + "notifications_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/81622310?v=4", + "events_url": "https://api.github.com/users/AlexvZyl/events{/privacy}", + "followers_url": "https://api.github.com/users/AlexvZyl/followers", + "following_url": "https://api.github.com/users/AlexvZyl/following{/other_user}", + "gists_url": "https://api.github.com/users/AlexvZyl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/AlexvZyl", + "id": 81622310, + "login": "AlexvZyl", + "node_id": "MDQ6VXNlcjgxNjIyMzEw", + "organizations_url": "https://api.github.com/users/AlexvZyl/orgs", + "received_events_url": "https://api.github.com/users/AlexvZyl/received_events", + "repos_url": "https://api.github.com/users/AlexvZyl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/AlexvZyl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/AlexvZyl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/AlexvZyl" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/pulls{/number}", + "pushed_at": "2024-01-30T12:00:23Z", + "releases_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/releases{/id}", + "size": 3474, + "ssh_url": "git@github.com:AlexvZyl/nvim-lspconfig.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/stargazers", + "statuses_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/subscribers", + "subscription_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/subscription", + "svn_url": "https://github.com/AlexvZyl/nvim-lspconfig", + "tags_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/tags", + "teams_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig/git/trees{/sha}", + "updated_at": "2024-01-30T11:55:05Z", + "url": "https://api.github.com/repos/AlexvZyl/nvim-lspconfig", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "ff6fed976b1ab6ead043142411692dae4c086b1e", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/81622310?v=4", + "events_url": "https://api.github.com/users/AlexvZyl/events{/privacy}", + "followers_url": "https://api.github.com/users/AlexvZyl/followers", + "following_url": "https://api.github.com/users/AlexvZyl/following{/other_user}", + "gists_url": "https://api.github.com/users/AlexvZyl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/AlexvZyl", + "id": 81622310, + "login": "AlexvZyl", + "node_id": "MDQ6VXNlcjgxNjIyMzEw", + "organizations_url": "https://api.github.com/users/AlexvZyl/orgs", + "received_events_url": "https://api.github.com/users/AlexvZyl/received_events", + "repos_url": "https://api.github.com/users/AlexvZyl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/AlexvZyl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/AlexvZyl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/AlexvZyl" + } + }, + "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2990", + "id": 1701903093, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2990", + "labels": [], + "locked": false, + "merge_commit_sha": "0e9ff3ea6ba310bf53fe1902485765c2ec40af7c", + "merged_at": null, + "milestone": null, + "node_id": "PR_kwDODTQC185lcPr1", + "number": 2990, + "patch_url": "https://github.com/neovim/nvim-lspconfig/pull/2990.patch", + "requested_reviewers": [ + { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + ], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2990/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/ff6fed976b1ab6ead043142411692dae4c086b1e", + "title": "Fix(terraform): Add 'tf' to filetypes", + "updated_at": "2024-01-30T13:17:04Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2990", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/81622310?v=4", + "events_url": "https://api.github.com/users/AlexvZyl/events{/privacy}", + "followers_url": "https://api.github.com/users/AlexvZyl/followers", + "following_url": "https://api.github.com/users/AlexvZyl/following{/other_user}", + "gists_url": "https://api.github.com/users/AlexvZyl/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/AlexvZyl", + "id": 81622310, + "login": "AlexvZyl", + "node_id": "MDQ6VXNlcjgxNjIyMzEw", + "organizations_url": "https://api.github.com/users/AlexvZyl/orgs", + "received_events_url": "https://api.github.com/users/AlexvZyl/received_events", + "repos_url": "https://api.github.com/users/AlexvZyl/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/AlexvZyl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/AlexvZyl/subscriptions", + "type": "User", + "url": "https://api.github.com/users/AlexvZyl" + } +} \ No newline at end of file diff --git a/repositories/nvim-lspconfig/pulls/2991.json b/repositories/nvim-lspconfig/pulls/2991.json new file mode 100644 index 00000000..325507f1 --- /dev/null +++ b/repositories/nvim-lspconfig/pulls/2991.json @@ -0,0 +1,511 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2991/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2991/commits" + }, + "html": { + "href": "https://github.com/neovim/nvim-lspconfig/pull/2991" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2991" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2991/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2991" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/66f4a0681f676357163ce12d397a9a58d5713a00" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/nvim-lspconfig/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/nvim-lspconfig/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/nvim-lspconfig/branches{/branch}", + "clone_url": "https://github.com/neovim/nvim-lspconfig.git", + "collaborators_url": "https://api.github.com/repos/neovim/nvim-lspconfig/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/nvim-lspconfig/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/nvim-lspconfig/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/nvim-lspconfig/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/nvim-lspconfig/contributors", + "created_at": "2019-11-13T17:12:28Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/deployments", + "description": "Quickstart configs for Nvim LSP", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/nvim-lspconfig/downloads", + "events_url": "https://api.github.com/repos/neovim/nvim-lspconfig/events", + "fork": false, + "forks": 1969, + "forks_count": 1969, + "forks_url": "https://api.github.com/repos/neovim/nvim-lspconfig/forks", + "full_name": "neovim/nvim-lspconfig", + "git_commits_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/tags{/sha}", + "git_url": "git://github.com/neovim/nvim-lspconfig.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": false, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/neovim/nvim-lspconfig/hooks", + "html_url": "https://github.com/neovim/nvim-lspconfig", + "id": 221512407, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/nvim-lspconfig/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/nvim-lspconfig/labels{/name}", + "language": "Lua", + "languages_url": "https://api.github.com/repos/neovim/nvim-lspconfig/languages", + "license": { + "key": "apache-2.0", + "name": "Apache License 2.0", + "node_id": "MDc6TGljZW5zZTI=", + "spdx_id": "Apache-2.0", + "url": "https://api.github.com/licenses/apache-2.0" + }, + "merges_url": "https://api.github.com/repos/neovim/nvim-lspconfig/merges", + "milestones_url": "https://api.github.com/repos/neovim/nvim-lspconfig/milestones{/number}", + "mirror_url": null, + "name": "nvim-lspconfig", + "node_id": "MDEwOlJlcG9zaXRvcnkyMjE1MTI0MDc=", + "notifications_url": "https://api.github.com/repos/neovim/nvim-lspconfig/notifications{?since,all,participating}", + "open_issues": 55, + "open_issues_count": 55, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls{/number}", + "pushed_at": "2024-02-04T06:16:57Z", + "releases_url": "https://api.github.com/repos/neovim/nvim-lspconfig/releases{/id}", + "size": 3540, + "ssh_url": "git@github.com:neovim/nvim-lspconfig.git", + "stargazers_count": 8920, + "stargazers_url": "https://api.github.com/repos/neovim/nvim-lspconfig/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/nvim-lspconfig/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/nvim-lspconfig/subscription", + "svn_url": "https://github.com/neovim/nvim-lspconfig", + "tags_url": "https://api.github.com/repos/neovim/nvim-lspconfig/tags", + "teams_url": "https://api.github.com/repos/neovim/nvim-lspconfig/teams", + "topics": [ + "language-server", + "language-server-protocol", + "lsp", + "neovim", + "nvim", + "plugin", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/trees{/sha}", + "updated_at": "2024-02-05T22:15:56Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig", + "visibility": "public", + "watchers": 8920, + "watchers_count": 8920, + "web_commit_signoff_required": false + }, + "sha": "021906284dcfb938bc236f8295af2650c60cb807", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "This is the preferred filename for defining options for a few versions. meson_options.txt is legacy, but will continue to stick around.", + "closed_at": "2024-01-30T19:21:35Z", + "comment_data": [ + { + "_links": { + "html": { + "href": "https://github.com/neovim/nvim-lspconfig/pull/2991#discussion_r1472138536" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2991" + }, + "self": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments/1472138536" + } + }, + "author_association": "MEMBER", + "body": "order matters. if the new file has higher precedence, it should be first in the list.", + "commit_id": "66f4a0681f676357163ce12d397a9a58d5713a00", + "created_at": "2024-01-31T00:03:33Z", + "diff_hunk": "@@ -4,7 +4,7 @@ return {\n default_config = {\n cmd = { 'Swift-MesonLSP', '--lsp' },\n filetypes = { 'meson' },\n- root_dir = util.root_pattern('meson_options.txt', '.git'),\n+ root_dir = util.root_pattern('meson_options.txt', 'meson.options', '.git'),", + "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2991#discussion_r1472138536", + "id": 1472138536, + "line": 7, + "node_id": "PRRC_kwDODTQC185Xvw0o", + "original_commit_id": "66f4a0681f676357163ce12d397a9a58d5713a00", + "original_line": 7, + "original_position": 5, + "original_start_line": null, + "path": "lua/lspconfig/server_configurations/swift_mesonls.lua", + "position": 5, + "pull_request_review_id": 1852640073, + "pull_request_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2991", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments/1472138536/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T00:03:33Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments/1472138536", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4", + "events_url": "https://api.github.com/users/justinmk/events{/privacy}", + "followers_url": "https://api.github.com/users/justinmk/followers", + "following_url": "https://api.github.com/users/justinmk/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmk/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/justinmk", + "id": 1359421, + "login": "justinmk", + "node_id": "MDQ6VXNlcjEzNTk0MjE=", + "organizations_url": "https://api.github.com/users/justinmk/orgs", + "received_events_url": "https://api.github.com/users/justinmk/received_events", + "repos_url": "https://api.github.com/users/justinmk/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/justinmk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmk/subscriptions", + "type": "User", + "url": "https://api.github.com/users/justinmk" + } + }, + { + "_links": { + "html": { + "href": "https://github.com/neovim/nvim-lspconfig/pull/2991#discussion_r1472195329" + }, + "pull_request": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2991" + }, + "self": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments/1472195329" + } + }, + "author_association": "CONTRIBUTOR", + "body": "You're not allowed to have both files, so the point seems moot. Happy to submit a follow-up if that's what you want.", + "commit_id": "66f4a0681f676357163ce12d397a9a58d5713a00", + "created_at": "2024-01-31T01:24:08Z", + "diff_hunk": "@@ -4,7 +4,7 @@ return {\n default_config = {\n cmd = { 'Swift-MesonLSP', '--lsp' },\n filetypes = { 'meson' },\n- root_dir = util.root_pattern('meson_options.txt', '.git'),\n+ root_dir = util.root_pattern('meson_options.txt', 'meson.options', '.git'),", + "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2991#discussion_r1472195329", + "id": 1472195329, + "in_reply_to_id": 1472138536, + "line": 7, + "node_id": "PRRC_kwDODTQC185Xv-sB", + "original_commit_id": "66f4a0681f676357163ce12d397a9a58d5713a00", + "original_line": 7, + "original_position": 5, + "original_start_line": null, + "path": "lua/lspconfig/server_configurations/swift_mesonls.lua", + "position": 5, + "pull_request_review_id": 1852731397, + "pull_request_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2991", + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments/1472195329/reactions" + }, + "side": "RIGHT", + "start_line": null, + "start_side": null, + "subject_type": "line", + "updated_at": "2024-01-31T01:24:08Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments/1472195329", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/11936772?v=4", + "events_url": "https://api.github.com/users/tristan957/events{/privacy}", + "followers_url": "https://api.github.com/users/tristan957/followers", + "following_url": "https://api.github.com/users/tristan957/following{/other_user}", + "gists_url": "https://api.github.com/users/tristan957/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/tristan957", + "id": 11936772, + "login": "tristan957", + "node_id": "MDQ6VXNlcjExOTM2Nzcy", + "organizations_url": "https://api.github.com/users/tristan957/orgs", + "received_events_url": "https://api.github.com/users/tristan957/received_events", + "repos_url": "https://api.github.com/users/tristan957/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/tristan957/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tristan957/subscriptions", + "type": "User", + "url": "https://api.github.com/users/tristan957" + } + } + ], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2991/comments", + "commits_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2991/commits", + "created_at": "2024-01-30T14:55:00Z", + "diff_url": "https://github.com/neovim/nvim-lspconfig/pull/2991.diff", + "draft": false, + "head": { + "label": "tristan957:meson", + "ref": "meson", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/assignees{/user}", + "blobs_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/branches{/branch}", + "clone_url": "https://github.com/tristan957/nvim-lspconfig.git", + "collaborators_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/comments{/number}", + "commits_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/commits{/sha}", + "compare_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/contents/{+path}", + "contributors_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/contributors", + "created_at": "2024-01-30T14:51:42Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/deployments", + "description": "Quickstart configs for Nvim LSP", + "disabled": false, + "downloads_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/downloads", + "events_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/forks", + "full_name": "tristan957/nvim-lspconfig", + "git_commits_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/git/tags{/sha}", + "git_url": "git://github.com/tristan957/nvim-lspconfig.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/hooks", + "html_url": "https://github.com/tristan957/nvim-lspconfig", + "id": 750386978, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/issues/events{/number}", + "issues_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/issues{/number}", + "keys_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/keys{/key_id}", + "labels_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/labels{/name}", + "language": null, + "languages_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/languages", + "license": { + "key": "apache-2.0", + "name": "Apache License 2.0", + "node_id": "MDc6TGljZW5zZTI=", + "spdx_id": "Apache-2.0", + "url": "https://api.github.com/licenses/apache-2.0" + }, + "merges_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/merges", + "milestones_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/milestones{/number}", + "mirror_url": null, + "name": "nvim-lspconfig", + "node_id": "R_kgDOLLn_Ig", + "notifications_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/11936772?v=4", + "events_url": "https://api.github.com/users/tristan957/events{/privacy}", + "followers_url": "https://api.github.com/users/tristan957/followers", + "following_url": "https://api.github.com/users/tristan957/following{/other_user}", + "gists_url": "https://api.github.com/users/tristan957/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/tristan957", + "id": 11936772, + "login": "tristan957", + "node_id": "MDQ6VXNlcjExOTM2Nzcy", + "organizations_url": "https://api.github.com/users/tristan957/orgs", + "received_events_url": "https://api.github.com/users/tristan957/received_events", + "repos_url": "https://api.github.com/users/tristan957/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/tristan957/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tristan957/subscriptions", + "type": "User", + "url": "https://api.github.com/users/tristan957" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/pulls{/number}", + "pushed_at": "2024-01-30T20:01:07Z", + "releases_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/releases{/id}", + "size": 3474, + "ssh_url": "git@github.com:tristan957/nvim-lspconfig.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/stargazers", + "statuses_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/subscribers", + "subscription_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/subscription", + "svn_url": "https://github.com/tristan957/nvim-lspconfig", + "tags_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/tags", + "teams_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/tristan957/nvim-lspconfig/git/trees{/sha}", + "updated_at": "2024-01-30T14:51:42Z", + "url": "https://api.github.com/repos/tristan957/nvim-lspconfig", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "66f4a0681f676357163ce12d397a9a58d5713a00", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/11936772?v=4", + "events_url": "https://api.github.com/users/tristan957/events{/privacy}", + "followers_url": "https://api.github.com/users/tristan957/followers", + "following_url": "https://api.github.com/users/tristan957/following{/other_user}", + "gists_url": "https://api.github.com/users/tristan957/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/tristan957", + "id": 11936772, + "login": "tristan957", + "node_id": "MDQ6VXNlcjExOTM2Nzcy", + "organizations_url": "https://api.github.com/users/tristan957/orgs", + "received_events_url": "https://api.github.com/users/tristan957/received_events", + "repos_url": "https://api.github.com/users/tristan957/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/tristan957/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tristan957/subscriptions", + "type": "User", + "url": "https://api.github.com/users/tristan957" + } + }, + "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2991", + "id": 1702263307, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2991", + "labels": [], + "locked": false, + "merge_commit_sha": "28838b4cf8f2e104ea7ebbf0ab78acd1a6715b9c", + "merged_at": "2024-01-30T19:21:35Z", + "milestone": null, + "node_id": "PR_kwDODTQC185ldnoL", + "number": 2991, + "patch_url": "https://github.com/neovim/nvim-lspconfig/pull/2991.patch", + "requested_reviewers": [ + { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + ], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2991/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/66f4a0681f676357163ce12d397a9a58d5713a00", + "title": "feat(swift_mesonls): add meson.options as a root marker", + "updated_at": "2024-01-31T01:24:08Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2991", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/11936772?v=4", + "events_url": "https://api.github.com/users/tristan957/events{/privacy}", + "followers_url": "https://api.github.com/users/tristan957/followers", + "following_url": "https://api.github.com/users/tristan957/following{/other_user}", + "gists_url": "https://api.github.com/users/tristan957/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/tristan957", + "id": 11936772, + "login": "tristan957", + "node_id": "MDQ6VXNlcjExOTM2Nzcy", + "organizations_url": "https://api.github.com/users/tristan957/orgs", + "received_events_url": "https://api.github.com/users/tristan957/received_events", + "repos_url": "https://api.github.com/users/tristan957/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/tristan957/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tristan957/subscriptions", + "type": "User", + "url": "https://api.github.com/users/tristan957" + } +} \ No newline at end of file diff --git a/repositories/nvim-lspconfig/pulls/2992.json b/repositories/nvim-lspconfig/pulls/2992.json new file mode 100644 index 00000000..83aaa8ba --- /dev/null +++ b/repositories/nvim-lspconfig/pulls/2992.json @@ -0,0 +1,373 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2992/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2992/commits" + }, + "html": { + "href": "https://github.com/neovim/nvim-lspconfig/pull/2992" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2992" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2992/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2992" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/95e080a437addb89e2480f7f04cefd5e8e91eb26" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/nvim-lspconfig/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/nvim-lspconfig/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/nvim-lspconfig/branches{/branch}", + "clone_url": "https://github.com/neovim/nvim-lspconfig.git", + "collaborators_url": "https://api.github.com/repos/neovim/nvim-lspconfig/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/nvim-lspconfig/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/nvim-lspconfig/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/nvim-lspconfig/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/nvim-lspconfig/contributors", + "created_at": "2019-11-13T17:12:28Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/deployments", + "description": "Quickstart configs for Nvim LSP", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/nvim-lspconfig/downloads", + "events_url": "https://api.github.com/repos/neovim/nvim-lspconfig/events", + "fork": false, + "forks": 1969, + "forks_count": 1969, + "forks_url": "https://api.github.com/repos/neovim/nvim-lspconfig/forks", + "full_name": "neovim/nvim-lspconfig", + "git_commits_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/tags{/sha}", + "git_url": "git://github.com/neovim/nvim-lspconfig.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": false, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/neovim/nvim-lspconfig/hooks", + "html_url": "https://github.com/neovim/nvim-lspconfig", + "id": 221512407, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/nvim-lspconfig/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/nvim-lspconfig/labels{/name}", + "language": "Lua", + "languages_url": "https://api.github.com/repos/neovim/nvim-lspconfig/languages", + "license": { + "key": "apache-2.0", + "name": "Apache License 2.0", + "node_id": "MDc6TGljZW5zZTI=", + "spdx_id": "Apache-2.0", + "url": "https://api.github.com/licenses/apache-2.0" + }, + "merges_url": "https://api.github.com/repos/neovim/nvim-lspconfig/merges", + "milestones_url": "https://api.github.com/repos/neovim/nvim-lspconfig/milestones{/number}", + "mirror_url": null, + "name": "nvim-lspconfig", + "node_id": "MDEwOlJlcG9zaXRvcnkyMjE1MTI0MDc=", + "notifications_url": "https://api.github.com/repos/neovim/nvim-lspconfig/notifications{?since,all,participating}", + "open_issues": 55, + "open_issues_count": 55, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls{/number}", + "pushed_at": "2024-02-04T06:16:57Z", + "releases_url": "https://api.github.com/repos/neovim/nvim-lspconfig/releases{/id}", + "size": 3540, + "ssh_url": "git@github.com:neovim/nvim-lspconfig.git", + "stargazers_count": 8920, + "stargazers_url": "https://api.github.com/repos/neovim/nvim-lspconfig/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/nvim-lspconfig/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/nvim-lspconfig/subscription", + "svn_url": "https://github.com/neovim/nvim-lspconfig", + "tags_url": "https://api.github.com/repos/neovim/nvim-lspconfig/tags", + "teams_url": "https://api.github.com/repos/neovim/nvim-lspconfig/teams", + "topics": [ + "language-server", + "language-server-protocol", + "lsp", + "neovim", + "nvim", + "plugin", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/trees{/sha}", + "updated_at": "2024-02-05T22:15:56Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig", + "visibility": "public", + "watchers": 8920, + "watchers_count": 8920, + "web_commit_signoff_required": false + }, + "sha": "021906284dcfb938bc236f8295af2650c60cb807", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "This is required for the upcoming release of helm-ls see https://github.com/mrjosh/helm-ls/pull/58", + "closed_at": "2024-01-31T00:10:03Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2992/comments", + "commits_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2992/commits", + "created_at": "2024-01-30T16:56:37Z", + "diff_url": "https://github.com/neovim/nvim-lspconfig/pull/2992.diff", + "draft": false, + "head": { + "label": "qvalentin:feat/helm-ls-dynamicRegistraion-watchedFiles", + "ref": "feat/helm-ls-dynamicRegistraion-watchedFiles", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/assignees{/user}", + "blobs_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/branches{/branch}", + "clone_url": "https://github.com/qvalentin/nvim-lspconfig.git", + "collaborators_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/comments{/number}", + "commits_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/commits{/sha}", + "compare_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/contents/{+path}", + "contributors_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/contributors", + "created_at": "2024-01-30T16:29:26Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/deployments", + "description": "Quickstart configs for Nvim LSP", + "disabled": false, + "downloads_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/downloads", + "events_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/forks", + "full_name": "qvalentin/nvim-lspconfig", + "git_commits_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/git/tags{/sha}", + "git_url": "git://github.com/qvalentin/nvim-lspconfig.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/hooks", + "html_url": "https://github.com/qvalentin/nvim-lspconfig", + "id": 750432832, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/issues/events{/number}", + "issues_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/issues{/number}", + "keys_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/keys{/key_id}", + "labels_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/labels{/name}", + "language": null, + "languages_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/languages", + "license": { + "key": "apache-2.0", + "name": "Apache License 2.0", + "node_id": "MDc6TGljZW5zZTI=", + "spdx_id": "Apache-2.0", + "url": "https://api.github.com/licenses/apache-2.0" + }, + "merges_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/merges", + "milestones_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/milestones{/number}", + "mirror_url": null, + "name": "nvim-lspconfig", + "node_id": "R_kgDOLLqyQA", + "notifications_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/36446499?v=4", + "events_url": "https://api.github.com/users/qvalentin/events{/privacy}", + "followers_url": "https://api.github.com/users/qvalentin/followers", + "following_url": "https://api.github.com/users/qvalentin/following{/other_user}", + "gists_url": "https://api.github.com/users/qvalentin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/qvalentin", + "id": 36446499, + "login": "qvalentin", + "node_id": "MDQ6VXNlcjM2NDQ2NDk5", + "organizations_url": "https://api.github.com/users/qvalentin/orgs", + "received_events_url": "https://api.github.com/users/qvalentin/received_events", + "repos_url": "https://api.github.com/users/qvalentin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/qvalentin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/qvalentin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/qvalentin" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/pulls{/number}", + "pushed_at": "2024-01-30T16:56:31Z", + "releases_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/releases{/id}", + "size": 3474, + "ssh_url": "git@github.com:qvalentin/nvim-lspconfig.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/stargazers", + "statuses_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/subscribers", + "subscription_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/subscription", + "svn_url": "https://github.com/qvalentin/nvim-lspconfig", + "tags_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/tags", + "teams_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/qvalentin/nvim-lspconfig/git/trees{/sha}", + "updated_at": "2024-01-30T16:29:27Z", + "url": "https://api.github.com/repos/qvalentin/nvim-lspconfig", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "95e080a437addb89e2480f7f04cefd5e8e91eb26", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/36446499?v=4", + "events_url": "https://api.github.com/users/qvalentin/events{/privacy}", + "followers_url": "https://api.github.com/users/qvalentin/followers", + "following_url": "https://api.github.com/users/qvalentin/following{/other_user}", + "gists_url": "https://api.github.com/users/qvalentin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/qvalentin", + "id": 36446499, + "login": "qvalentin", + "node_id": "MDQ6VXNlcjM2NDQ2NDk5", + "organizations_url": "https://api.github.com/users/qvalentin/orgs", + "received_events_url": "https://api.github.com/users/qvalentin/received_events", + "repos_url": "https://api.github.com/users/qvalentin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/qvalentin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/qvalentin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/qvalentin" + } + }, + "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2992", + "id": 1702503849, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2992", + "labels": [], + "locked": false, + "merge_commit_sha": "186187978b6798b34c68229c89445b8cfef44eea", + "merged_at": "2024-01-31T00:10:03Z", + "milestone": null, + "node_id": "PR_kwDODTQC185leiWp", + "number": 2992, + "patch_url": "https://github.com/neovim/nvim-lspconfig/pull/2992.patch", + "requested_reviewers": [ + { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + ], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2992/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/95e080a437addb89e2480f7f04cefd5e8e91eb26", + "title": "feat(helm-ls): enable dynamicRegistration for didChangeWatchedFiles", + "updated_at": "2024-01-31T00:10:03Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2992", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/36446499?v=4", + "events_url": "https://api.github.com/users/qvalentin/events{/privacy}", + "followers_url": "https://api.github.com/users/qvalentin/followers", + "following_url": "https://api.github.com/users/qvalentin/following{/other_user}", + "gists_url": "https://api.github.com/users/qvalentin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/qvalentin", + "id": 36446499, + "login": "qvalentin", + "node_id": "MDQ6VXNlcjM2NDQ2NDk5", + "organizations_url": "https://api.github.com/users/qvalentin/orgs", + "received_events_url": "https://api.github.com/users/qvalentin/received_events", + "repos_url": "https://api.github.com/users/qvalentin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/qvalentin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/qvalentin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/qvalentin" + } +} \ No newline at end of file diff --git a/repositories/nvim-lspconfig/pulls/2994.json b/repositories/nvim-lspconfig/pulls/2994.json new file mode 100644 index 00000000..c98686e4 --- /dev/null +++ b/repositories/nvim-lspconfig/pulls/2994.json @@ -0,0 +1,373 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2994/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2994/commits" + }, + "html": { + "href": "https://github.com/neovim/nvim-lspconfig/pull/2994" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2994" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2994/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2994" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/a3b258069379aea45560e6af0880ba08715c48ea" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/nvim-lspconfig/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/nvim-lspconfig/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/nvim-lspconfig/branches{/branch}", + "clone_url": "https://github.com/neovim/nvim-lspconfig.git", + "collaborators_url": "https://api.github.com/repos/neovim/nvim-lspconfig/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/nvim-lspconfig/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/nvim-lspconfig/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/nvim-lspconfig/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/nvim-lspconfig/contributors", + "created_at": "2019-11-13T17:12:28Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/deployments", + "description": "Quickstart configs for Nvim LSP", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/nvim-lspconfig/downloads", + "events_url": "https://api.github.com/repos/neovim/nvim-lspconfig/events", + "fork": false, + "forks": 1969, + "forks_count": 1969, + "forks_url": "https://api.github.com/repos/neovim/nvim-lspconfig/forks", + "full_name": "neovim/nvim-lspconfig", + "git_commits_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/tags{/sha}", + "git_url": "git://github.com/neovim/nvim-lspconfig.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": false, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/neovim/nvim-lspconfig/hooks", + "html_url": "https://github.com/neovim/nvim-lspconfig", + "id": 221512407, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/nvim-lspconfig/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/nvim-lspconfig/labels{/name}", + "language": "Lua", + "languages_url": "https://api.github.com/repos/neovim/nvim-lspconfig/languages", + "license": { + "key": "apache-2.0", + "name": "Apache License 2.0", + "node_id": "MDc6TGljZW5zZTI=", + "spdx_id": "Apache-2.0", + "url": "https://api.github.com/licenses/apache-2.0" + }, + "merges_url": "https://api.github.com/repos/neovim/nvim-lspconfig/merges", + "milestones_url": "https://api.github.com/repos/neovim/nvim-lspconfig/milestones{/number}", + "mirror_url": null, + "name": "nvim-lspconfig", + "node_id": "MDEwOlJlcG9zaXRvcnkyMjE1MTI0MDc=", + "notifications_url": "https://api.github.com/repos/neovim/nvim-lspconfig/notifications{?since,all,participating}", + "open_issues": 55, + "open_issues_count": 55, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls{/number}", + "pushed_at": "2024-02-04T06:16:57Z", + "releases_url": "https://api.github.com/repos/neovim/nvim-lspconfig/releases{/id}", + "size": 3540, + "ssh_url": "git@github.com:neovim/nvim-lspconfig.git", + "stargazers_count": 8920, + "stargazers_url": "https://api.github.com/repos/neovim/nvim-lspconfig/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/nvim-lspconfig/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/nvim-lspconfig/subscription", + "svn_url": "https://github.com/neovim/nvim-lspconfig", + "tags_url": "https://api.github.com/repos/neovim/nvim-lspconfig/tags", + "teams_url": "https://api.github.com/repos/neovim/nvim-lspconfig/teams", + "topics": [ + "language-server", + "language-server-protocol", + "lsp", + "neovim", + "nvim", + "plugin", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/trees{/sha}", + "updated_at": "2024-02-05T22:15:56Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig", + "visibility": "public", + "watchers": 8920, + "watchers_count": 8920, + "web_commit_signoff_required": false + }, + "sha": "1759ea68fbbb1303192020d3e59936189359e0ed", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": null, + "closed_at": "2024-02-01T06:49:53Z", + "comment_data": [], + "comment_regular_data": [], + "comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2994/comments", + "commits_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2994/commits", + "created_at": "2024-02-01T03:24:41Z", + "diff_url": "https://github.com/neovim/nvim-lspconfig/pull/2994.diff", + "draft": false, + "head": { + "label": "rhjdvsgsgks:patch-2", + "ref": "patch-2", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/assignees{/user}", + "blobs_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/branches{/branch}", + "clone_url": "https://github.com/rhjdvsgsgks/nvim-lspconfig.git", + "collaborators_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/comments{/number}", + "commits_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/commits{/sha}", + "compare_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/contents/{+path}", + "contributors_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/contributors", + "created_at": "2023-11-14T02:14:03Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/deployments", + "description": "Quickstart configs for Nvim LSP", + "disabled": false, + "downloads_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/downloads", + "events_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/forks", + "full_name": "rhjdvsgsgks/nvim-lspconfig", + "git_commits_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/git/tags{/sha}", + "git_url": "git://github.com/rhjdvsgsgks/nvim-lspconfig.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/hooks", + "html_url": "https://github.com/rhjdvsgsgks/nvim-lspconfig", + "id": 718404937, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/issues/events{/number}", + "issues_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/issues{/number}", + "keys_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/keys{/key_id}", + "labels_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/labels{/name}", + "language": null, + "languages_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/languages", + "license": { + "key": "apache-2.0", + "name": "Apache License 2.0", + "node_id": "MDc6TGljZW5zZTI=", + "spdx_id": "Apache-2.0", + "url": "https://api.github.com/licenses/apache-2.0" + }, + "merges_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/merges", + "milestones_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/milestones{/number}", + "mirror_url": null, + "name": "nvim-lspconfig", + "node_id": "R_kgDOKtH9SQ", + "notifications_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/26178113?v=4", + "events_url": "https://api.github.com/users/rhjdvsgsgks/events{/privacy}", + "followers_url": "https://api.github.com/users/rhjdvsgsgks/followers", + "following_url": "https://api.github.com/users/rhjdvsgsgks/following{/other_user}", + "gists_url": "https://api.github.com/users/rhjdvsgsgks/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/rhjdvsgsgks", + "id": 26178113, + "login": "rhjdvsgsgks", + "node_id": "MDQ6VXNlcjI2MTc4MTEz", + "organizations_url": "https://api.github.com/users/rhjdvsgsgks/orgs", + "received_events_url": "https://api.github.com/users/rhjdvsgsgks/received_events", + "repos_url": "https://api.github.com/users/rhjdvsgsgks/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/rhjdvsgsgks/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/rhjdvsgsgks/subscriptions", + "type": "User", + "url": "https://api.github.com/users/rhjdvsgsgks" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/pulls{/number}", + "pushed_at": "2024-02-01T03:24:10Z", + "releases_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/releases{/id}", + "size": 3477, + "ssh_url": "git@github.com:rhjdvsgsgks/nvim-lspconfig.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/stargazers", + "statuses_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/subscribers", + "subscription_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/subscription", + "svn_url": "https://github.com/rhjdvsgsgks/nvim-lspconfig", + "tags_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/tags", + "teams_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig/git/trees{/sha}", + "updated_at": "2023-11-14T02:14:03Z", + "url": "https://api.github.com/repos/rhjdvsgsgks/nvim-lspconfig", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "a3b258069379aea45560e6af0880ba08715c48ea", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/26178113?v=4", + "events_url": "https://api.github.com/users/rhjdvsgsgks/events{/privacy}", + "followers_url": "https://api.github.com/users/rhjdvsgsgks/followers", + "following_url": "https://api.github.com/users/rhjdvsgsgks/following{/other_user}", + "gists_url": "https://api.github.com/users/rhjdvsgsgks/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/rhjdvsgsgks", + "id": 26178113, + "login": "rhjdvsgsgks", + "node_id": "MDQ6VXNlcjI2MTc4MTEz", + "organizations_url": "https://api.github.com/users/rhjdvsgsgks/orgs", + "received_events_url": "https://api.github.com/users/rhjdvsgsgks/received_events", + "repos_url": "https://api.github.com/users/rhjdvsgsgks/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/rhjdvsgsgks/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/rhjdvsgsgks/subscriptions", + "type": "User", + "url": "https://api.github.com/users/rhjdvsgsgks" + } + }, + "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2994", + "id": 1705275025, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2994", + "labels": [], + "locked": false, + "merge_commit_sha": "6950f06865853beae5e8edb92349d3cf126f2515", + "merged_at": "2024-02-01T06:49:53Z", + "milestone": null, + "node_id": "PR_kwDODTQC185lpG6R", + "number": 2994, + "patch_url": "https://github.com/neovim/nvim-lspconfig/pull/2994.patch", + "requested_reviewers": [ + { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + ], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2994/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/a3b258069379aea45560e6af0880ba08715c48ea", + "title": "fix(typst_lsp): declare single file support", + "updated_at": "2024-02-01T06:49:53Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2994", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/26178113?v=4", + "events_url": "https://api.github.com/users/rhjdvsgsgks/events{/privacy}", + "followers_url": "https://api.github.com/users/rhjdvsgsgks/followers", + "following_url": "https://api.github.com/users/rhjdvsgsgks/following{/other_user}", + "gists_url": "https://api.github.com/users/rhjdvsgsgks/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/rhjdvsgsgks", + "id": 26178113, + "login": "rhjdvsgsgks", + "node_id": "MDQ6VXNlcjI2MTc4MTEz", + "organizations_url": "https://api.github.com/users/rhjdvsgsgks/orgs", + "received_events_url": "https://api.github.com/users/rhjdvsgsgks/received_events", + "repos_url": "https://api.github.com/users/rhjdvsgsgks/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/rhjdvsgsgks/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/rhjdvsgsgks/subscriptions", + "type": "User", + "url": "https://api.github.com/users/rhjdvsgsgks" + } +} \ No newline at end of file diff --git a/repositories/nvim-lspconfig/pulls/2995.json b/repositories/nvim-lspconfig/pulls/2995.json new file mode 100644 index 00000000..40dfc7f2 --- /dev/null +++ b/repositories/nvim-lspconfig/pulls/2995.json @@ -0,0 +1,550 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2995/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2995/commits" + }, + "html": { + "href": "https://github.com/neovim/nvim-lspconfig/pull/2995" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2995" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2995/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2995" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/5efd0a66c0fcecd82f31b0d2e4290a4319a5af64" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/nvim-lspconfig/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/nvim-lspconfig/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/nvim-lspconfig/branches{/branch}", + "clone_url": "https://github.com/neovim/nvim-lspconfig.git", + "collaborators_url": "https://api.github.com/repos/neovim/nvim-lspconfig/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/nvim-lspconfig/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/nvim-lspconfig/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/nvim-lspconfig/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/nvim-lspconfig/contributors", + "created_at": "2019-11-13T17:12:28Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/deployments", + "description": "Quickstart configs for Nvim LSP", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/nvim-lspconfig/downloads", + "events_url": "https://api.github.com/repos/neovim/nvim-lspconfig/events", + "fork": false, + "forks": 1969, + "forks_count": 1969, + "forks_url": "https://api.github.com/repos/neovim/nvim-lspconfig/forks", + "full_name": "neovim/nvim-lspconfig", + "git_commits_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/tags{/sha}", + "git_url": "git://github.com/neovim/nvim-lspconfig.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": false, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/neovim/nvim-lspconfig/hooks", + "html_url": "https://github.com/neovim/nvim-lspconfig", + "id": 221512407, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/nvim-lspconfig/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/nvim-lspconfig/labels{/name}", + "language": "Lua", + "languages_url": "https://api.github.com/repos/neovim/nvim-lspconfig/languages", + "license": { + "key": "apache-2.0", + "name": "Apache License 2.0", + "node_id": "MDc6TGljZW5zZTI=", + "spdx_id": "Apache-2.0", + "url": "https://api.github.com/licenses/apache-2.0" + }, + "merges_url": "https://api.github.com/repos/neovim/nvim-lspconfig/merges", + "milestones_url": "https://api.github.com/repos/neovim/nvim-lspconfig/milestones{/number}", + "mirror_url": null, + "name": "nvim-lspconfig", + "node_id": "MDEwOlJlcG9zaXRvcnkyMjE1MTI0MDc=", + "notifications_url": "https://api.github.com/repos/neovim/nvim-lspconfig/notifications{?since,all,participating}", + "open_issues": 55, + "open_issues_count": 55, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls{/number}", + "pushed_at": "2024-02-04T06:16:57Z", + "releases_url": "https://api.github.com/repos/neovim/nvim-lspconfig/releases{/id}", + "size": 3540, + "ssh_url": "git@github.com:neovim/nvim-lspconfig.git", + "stargazers_count": 8920, + "stargazers_url": "https://api.github.com/repos/neovim/nvim-lspconfig/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/nvim-lspconfig/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/nvim-lspconfig/subscription", + "svn_url": "https://github.com/neovim/nvim-lspconfig", + "tags_url": "https://api.github.com/repos/neovim/nvim-lspconfig/tags", + "teams_url": "https://api.github.com/repos/neovim/nvim-lspconfig/teams", + "topics": [ + "language-server", + "language-server-protocol", + "lsp", + "neovim", + "nvim", + "plugin", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/trees{/sha}", + "updated_at": "2024-02-05T22:15:56Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig", + "visibility": "public", + "watchers": 8920, + "watchers_count": 8920, + "web_commit_signoff_required": false + }, + "sha": "ac530dfb97e51d82e3b0a7cddbf7a4a7c4c10ff8", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "I'm not that well versed in Lua, but the previous check\r\n\r\n if fname:sub(1, #item) == item\r\n\r\ndidn't really work as expected and I was still experiencing high CPU\r\nusage when using the `go to definition` functionality. After adding some\r\nprint statements for debugging, I noticed that only a few chars were\r\nremoved from the base dir and thus the comparison was failing. Perhaps\r\nit might work differently in other operating systems, but my Linux\r\nmachine it did not work correctly.\r\n\r\nI replaced this check with `util.path.is_descendant` which now works\r\ncorrectly, as well as added another path to check when git repositories\r\nare used as cargo dependencies.\r\n", + "closed_at": "2024-02-02T11:36:20Z", + "comment_data": [], + "comment_regular_data": [ + { + "author_association": "MEMBER", + "body": "LGTM thanks :)", + "created_at": "2024-02-02T11:36:14Z", + "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2995#issuecomment-1923628996", + "id": 1923628996, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2995", + "node_id": "IC_kwDODTQC185yqD_E", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1923628996/reactions" + }, + "updated_at": "2024-02-02T11:36:14Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1923628996", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Cool, thanks for the blazing fast review and merge!", + "created_at": "2024-02-02T11:38:46Z", + "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2995#issuecomment-1923636139", + "id": 1923636139, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2995", + "node_id": "IC_kwDODTQC185yqFur", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1923636139/reactions" + }, + "updated_at": "2024-02-02T11:38:46Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1923636139", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1489493?v=4", + "events_url": "https://api.github.com/users/jeremija/events{/privacy}", + "followers_url": "https://api.github.com/users/jeremija/followers", + "following_url": "https://api.github.com/users/jeremija/following{/other_user}", + "gists_url": "https://api.github.com/users/jeremija/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/jeremija", + "id": 1489493, + "login": "jeremija", + "node_id": "MDQ6VXNlcjE0ODk0OTM=", + "organizations_url": "https://api.github.com/users/jeremija/orgs", + "received_events_url": "https://api.github.com/users/jeremija/received_events", + "repos_url": "https://api.github.com/users/jeremija/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/jeremija/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jeremija/subscriptions", + "type": "User", + "url": "https://api.github.com/users/jeremija" + } + }, + { + "author_association": "CONTRIBUTOR", + "body": "Actually, I got confused, the `fname:sub(1, #item) == item` did work as expected, but I was running into this issue only because my deps being in a git repo. So that part could've stayed, but I suppose `util.path.is_descendant(item, fname)` is still easier to grok :slightly_smiling_face: ", + "created_at": "2024-02-02T11:47:55Z", + "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2995#issuecomment-1923649308", + "id": 1923649308, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2995", + "node_id": "IC_kwDODTQC185yqI8c", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1923649308/reactions" + }, + "updated_at": "2024-02-02T11:49:14Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1923649308", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1489493?v=4", + "events_url": "https://api.github.com/users/jeremija/events{/privacy}", + "followers_url": "https://api.github.com/users/jeremija/followers", + "following_url": "https://api.github.com/users/jeremija/following{/other_user}", + "gists_url": "https://api.github.com/users/jeremija/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/jeremija", + "id": 1489493, + "login": "jeremija", + "node_id": "MDQ6VXNlcjE0ODk0OTM=", + "organizations_url": "https://api.github.com/users/jeremija/orgs", + "received_events_url": "https://api.github.com/users/jeremija/received_events", + "repos_url": "https://api.github.com/users/jeremija/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/jeremija/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jeremija/subscriptions", + "type": "User", + "url": "https://api.github.com/users/jeremija" + } + }, + { + "author_association": "MEMBER", + "body": "> because my deps being in a git repo.\r\n\r\nfor some special cases, the directory cannot be judged by truncation maybe 🤔", + "created_at": "2024-02-02T11:53:23Z", + "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2995#issuecomment-1923656861", + "id": 1923656861, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2995", + "node_id": "IC_kwDODTQC185yqKyd", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1923656861/reactions" + }, + "updated_at": "2024-02-02T11:53:23Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1923656861", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2995/comments", + "commits_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2995/commits", + "created_at": "2024-02-02T11:18:14Z", + "diff_url": "https://github.com/neovim/nvim-lspconfig/pull/2995.diff", + "draft": false, + "head": { + "label": "jeremija:jeremija/fix-rust-analyzer-root-dir-check", + "ref": "jeremija/fix-rust-analyzer-root-dir-check", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/assignees{/user}", + "blobs_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/branches{/branch}", + "clone_url": "https://github.com/jeremija/nvim-lspconfig.git", + "collaborators_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/comments{/number}", + "commits_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/commits{/sha}", + "compare_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/contents/{+path}", + "contributors_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/contributors", + "created_at": "2024-02-02T11:10:34Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/deployments", + "description": "Quickstart configs for Nvim LSP", + "disabled": false, + "downloads_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/downloads", + "events_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/forks", + "full_name": "jeremija/nvim-lspconfig", + "git_commits_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/git/tags{/sha}", + "git_url": "git://github.com/jeremija/nvim-lspconfig.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/hooks", + "html_url": "https://github.com/jeremija/nvim-lspconfig", + "id": 751803543, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/issues/events{/number}", + "issues_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/issues{/number}", + "keys_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/keys{/key_id}", + "labels_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/labels{/name}", + "language": null, + "languages_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/languages", + "license": { + "key": "apache-2.0", + "name": "Apache License 2.0", + "node_id": "MDc6TGljZW5zZTI=", + "spdx_id": "Apache-2.0", + "url": "https://api.github.com/licenses/apache-2.0" + }, + "merges_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/merges", + "milestones_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/milestones{/number}", + "mirror_url": null, + "name": "nvim-lspconfig", + "node_id": "R_kgDOLM-clw", + "notifications_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/1489493?v=4", + "events_url": "https://api.github.com/users/jeremija/events{/privacy}", + "followers_url": "https://api.github.com/users/jeremija/followers", + "following_url": "https://api.github.com/users/jeremija/following{/other_user}", + "gists_url": "https://api.github.com/users/jeremija/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/jeremija", + "id": 1489493, + "login": "jeremija", + "node_id": "MDQ6VXNlcjE0ODk0OTM=", + "organizations_url": "https://api.github.com/users/jeremija/orgs", + "received_events_url": "https://api.github.com/users/jeremija/received_events", + "repos_url": "https://api.github.com/users/jeremija/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/jeremija/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jeremija/subscriptions", + "type": "User", + "url": "https://api.github.com/users/jeremija" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/pulls{/number}", + "pushed_at": "2024-02-02T11:21:41Z", + "releases_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/releases{/id}", + "size": 3477, + "ssh_url": "git@github.com:jeremija/nvim-lspconfig.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/stargazers", + "statuses_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/subscribers", + "subscription_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/subscription", + "svn_url": "https://github.com/jeremija/nvim-lspconfig", + "tags_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/tags", + "teams_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/jeremija/nvim-lspconfig/git/trees{/sha}", + "updated_at": "2024-02-02T11:10:35Z", + "url": "https://api.github.com/repos/jeremija/nvim-lspconfig", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "5efd0a66c0fcecd82f31b0d2e4290a4319a5af64", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1489493?v=4", + "events_url": "https://api.github.com/users/jeremija/events{/privacy}", + "followers_url": "https://api.github.com/users/jeremija/followers", + "following_url": "https://api.github.com/users/jeremija/following{/other_user}", + "gists_url": "https://api.github.com/users/jeremija/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/jeremija", + "id": 1489493, + "login": "jeremija", + "node_id": "MDQ6VXNlcjE0ODk0OTM=", + "organizations_url": "https://api.github.com/users/jeremija/orgs", + "received_events_url": "https://api.github.com/users/jeremija/received_events", + "repos_url": "https://api.github.com/users/jeremija/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/jeremija/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jeremija/subscriptions", + "type": "User", + "url": "https://api.github.com/users/jeremija" + } + }, + "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2995", + "id": 1708240377, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2995", + "labels": [], + "locked": false, + "merge_commit_sha": "9a6279953c82d01b58825a46ede032ab246a5983", + "merged_at": "2024-02-02T11:36:20Z", + "milestone": null, + "node_id": "PR_kwDODTQC185l0a35", + "number": 2995, + "patch_url": "https://github.com/neovim/nvim-lspconfig/pull/2995.patch", + "requested_reviewers": [ + { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + ], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2995/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/5efd0a66c0fcecd82f31b0d2e4290a4319a5af64", + "title": "rust-analyzer: Fix is_library", + "updated_at": "2024-02-02T11:53:25Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2995", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1489493?v=4", + "events_url": "https://api.github.com/users/jeremija/events{/privacy}", + "followers_url": "https://api.github.com/users/jeremija/followers", + "following_url": "https://api.github.com/users/jeremija/following{/other_user}", + "gists_url": "https://api.github.com/users/jeremija/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/jeremija", + "id": 1489493, + "login": "jeremija", + "node_id": "MDQ6VXNlcjE0ODk0OTM=", + "organizations_url": "https://api.github.com/users/jeremija/orgs", + "received_events_url": "https://api.github.com/users/jeremija/received_events", + "repos_url": "https://api.github.com/users/jeremija/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/jeremija/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jeremija/subscriptions", + "type": "User", + "url": "https://api.github.com/users/jeremija" + } +} \ No newline at end of file diff --git a/repositories/nvim-lspconfig/pulls/2996.json b/repositories/nvim-lspconfig/pulls/2996.json new file mode 100644 index 00000000..bdac6538 --- /dev/null +++ b/repositories/nvim-lspconfig/pulls/2996.json @@ -0,0 +1,502 @@ +{ + "_links": { + "comments": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2996/comments" + }, + "commits": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2996/commits" + }, + "html": { + "href": "https://github.com/neovim/nvim-lspconfig/pull/2996" + }, + "issue": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2996" + }, + "review_comment": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2996/comments" + }, + "self": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2996" + }, + "statuses": { + "href": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/ea2e8c4915a36f8379917d9d492eccbb545041b3" + } + }, + "active_lock_reason": null, + "assignee": null, + "assignees": [], + "author_association": "CONTRIBUTOR", + "auto_merge": null, + "base": { + "label": "neovim:master", + "ref": "master", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/neovim/nvim-lspconfig/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/neovim/nvim-lspconfig/assignees{/user}", + "blobs_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/neovim/nvim-lspconfig/branches{/branch}", + "clone_url": "https://github.com/neovim/nvim-lspconfig.git", + "collaborators_url": "https://api.github.com/repos/neovim/nvim-lspconfig/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/comments{/number}", + "commits_url": "https://api.github.com/repos/neovim/nvim-lspconfig/commits{/sha}", + "compare_url": "https://api.github.com/repos/neovim/nvim-lspconfig/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/neovim/nvim-lspconfig/contents/{+path}", + "contributors_url": "https://api.github.com/repos/neovim/nvim-lspconfig/contributors", + "created_at": "2019-11-13T17:12:28Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/deployments", + "description": "Quickstart configs for Nvim LSP", + "disabled": false, + "downloads_url": "https://api.github.com/repos/neovim/nvim-lspconfig/downloads", + "events_url": "https://api.github.com/repos/neovim/nvim-lspconfig/events", + "fork": false, + "forks": 1969, + "forks_count": 1969, + "forks_url": "https://api.github.com/repos/neovim/nvim-lspconfig/forks", + "full_name": "neovim/nvim-lspconfig", + "git_commits_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/tags{/sha}", + "git_url": "git://github.com/neovim/nvim-lspconfig.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": false, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/neovim/nvim-lspconfig/hooks", + "html_url": "https://github.com/neovim/nvim-lspconfig", + "id": 221512407, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/events{/number}", + "issues_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues{/number}", + "keys_url": "https://api.github.com/repos/neovim/nvim-lspconfig/keys{/key_id}", + "labels_url": "https://api.github.com/repos/neovim/nvim-lspconfig/labels{/name}", + "language": "Lua", + "languages_url": "https://api.github.com/repos/neovim/nvim-lspconfig/languages", + "license": { + "key": "apache-2.0", + "name": "Apache License 2.0", + "node_id": "MDc6TGljZW5zZTI=", + "spdx_id": "Apache-2.0", + "url": "https://api.github.com/licenses/apache-2.0" + }, + "merges_url": "https://api.github.com/repos/neovim/nvim-lspconfig/merges", + "milestones_url": "https://api.github.com/repos/neovim/nvim-lspconfig/milestones{/number}", + "mirror_url": null, + "name": "nvim-lspconfig", + "node_id": "MDEwOlJlcG9zaXRvcnkyMjE1MTI0MDc=", + "notifications_url": "https://api.github.com/repos/neovim/nvim-lspconfig/notifications{?since,all,participating}", + "open_issues": 55, + "open_issues_count": 55, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls{/number}", + "pushed_at": "2024-02-04T06:16:57Z", + "releases_url": "https://api.github.com/repos/neovim/nvim-lspconfig/releases{/id}", + "size": 3540, + "ssh_url": "git@github.com:neovim/nvim-lspconfig.git", + "stargazers_count": 8920, + "stargazers_url": "https://api.github.com/repos/neovim/nvim-lspconfig/stargazers", + "statuses_url": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/neovim/nvim-lspconfig/subscribers", + "subscription_url": "https://api.github.com/repos/neovim/nvim-lspconfig/subscription", + "svn_url": "https://github.com/neovim/nvim-lspconfig", + "tags_url": "https://api.github.com/repos/neovim/nvim-lspconfig/tags", + "teams_url": "https://api.github.com/repos/neovim/nvim-lspconfig/teams", + "topics": [ + "language-server", + "language-server-protocol", + "lsp", + "neovim", + "nvim", + "plugin", + "vim" + ], + "trees_url": "https://api.github.com/repos/neovim/nvim-lspconfig/git/trees{/sha}", + "updated_at": "2024-02-05T22:15:56Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig", + "visibility": "public", + "watchers": 8920, + "watchers_count": 8920, + "web_commit_signoff_required": false + }, + "sha": "9a6279953c82d01b58825a46ede032ab246a5983", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/6471485?v=4", + "events_url": "https://api.github.com/users/neovim/events{/privacy}", + "followers_url": "https://api.github.com/users/neovim/followers", + "following_url": "https://api.github.com/users/neovim/following{/other_user}", + "gists_url": "https://api.github.com/users/neovim/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/neovim", + "id": 6471485, + "login": "neovim", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzE0ODU=", + "organizations_url": "https://api.github.com/users/neovim/orgs", + "received_events_url": "https://api.github.com/users/neovim/received_events", + "repos_url": "https://api.github.com/users/neovim/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/neovim/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/neovim/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/neovim" + } + }, + "body": "changes were taken from https://github.com/a-h/templ/blob/main/docs/docs/09-commands-and-tools/02-ide-support.md#neovim--050", + "closed_at": "2024-02-04T06:16:42Z", + "comment_data": [], + "comment_regular_data": [ + { + "author_association": "CONTRIBUTOR", + "body": "Do not change `server_configurations.md` directly. Edit the lua source file instead. See https://github.com/neovim/nvim-lspconfig/blob/master/CONTRIBUTING.md#generating-docs", + "created_at": "2024-02-04T05:57:39Z", + "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2996#issuecomment-1925592100", + "id": 1925592100, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2996", + "node_id": "IC_kwDODTQC185yxjQk", + "performed_via_github_app": { + "created_at": "2018-07-30T09:30:17Z", + "description": "Automate your workflow from idea to production", + "events": [ + "branch_protection_rule", + "check_run", + "check_suite", + "create", + "delete", + "deployment", + "deployment_status", + "discussion", + "discussion_comment", + "fork", + "gollum", + "issues", + "issue_comment", + "label", + "merge_group", + "milestone", + "page_build", + "project", + "project_card", + "project_column", + "public", + "pull_request", + "pull_request_review", + "pull_request_review_comment", + "push", + "registry_package", + "release", + "repository", + "repository_dispatch", + "status", + "watch", + "workflow_dispatch", + "workflow_run" + ], + "external_url": "https://help.github.com/en/actions", + "html_url": "https://github.com/apps/github-actions", + "id": 15368, + "name": "GitHub Actions", + "node_id": "MDM6QXBwMTUzNjg=", + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/9919?v=4", + "events_url": "https://api.github.com/users/github/events{/privacy}", + "followers_url": "https://api.github.com/users/github/followers", + "following_url": "https://api.github.com/users/github/following{/other_user}", + "gists_url": "https://api.github.com/users/github/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/github", + "id": 9919, + "login": "github", + "node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=", + "organizations_url": "https://api.github.com/users/github/orgs", + "received_events_url": "https://api.github.com/users/github/received_events", + "repos_url": "https://api.github.com/users/github/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github/subscriptions", + "type": "Organization", + "url": "https://api.github.com/users/github" + }, + "permissions": { + "actions": "write", + "administration": "read", + "checks": "write", + "contents": "write", + "deployments": "write", + "discussions": "write", + "issues": "write", + "merge_queues": "write", + "metadata": "read", + "packages": "write", + "pages": "write", + "pull_requests": "write", + "repository_hooks": "write", + "repository_projects": "write", + "security_events": "write", + "statuses": "write", + "vulnerability_alerts": "read" + }, + "slug": "github-actions", + "updated_at": "2019-12-10T19:04:12Z" + }, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1925592100/reactions" + }, + "updated_at": "2024-02-04T05:57:39Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/comments/1925592100", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/apps/github-actions", + "id": 41898282, + "login": "github-actions[bot]", + "node_id": "MDM6Qm90NDE4OTgyODI=", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "type": "Bot", + "url": "https://api.github.com/users/github-actions%5Bbot%5D" + } + } + ], + "comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2996/comments", + "commits_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2996/commits", + "created_at": "2024-02-04T05:57:27Z", + "diff_url": "https://github.com/neovim/nvim-lspconfig/pull/2996.diff", + "draft": false, + "head": { + "label": "mortezadadgar:templ", + "ref": "templ", + "repo": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/assignees{/user}", + "blobs_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/branches{/branch}", + "clone_url": "https://github.com/mortezadadgar/nvim-lspconfig.git", + "collaborators_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/comments{/number}", + "commits_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/commits{/sha}", + "compare_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/contents/{+path}", + "contributors_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/contributors", + "created_at": "2024-02-03T20:50:54Z", + "default_branch": "master", + "deployments_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/deployments", + "description": "Quickstart configs for Nvim LSP", + "disabled": false, + "downloads_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/downloads", + "events_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/events", + "fork": true, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/forks", + "full_name": "mortezadadgar/nvim-lspconfig", + "git_commits_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/git/tags{/sha}", + "git_url": "git://github.com/mortezadadgar/nvim-lspconfig.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": false, + "has_pages": false, + "has_projects": true, + "has_wiki": true, + "homepage": "", + "hooks_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/hooks", + "html_url": "https://github.com/mortezadadgar/nvim-lspconfig", + "id": 752427250, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/issues/events{/number}", + "issues_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/issues{/number}", + "keys_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/keys{/key_id}", + "labels_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/labels{/name}", + "language": null, + "languages_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/languages", + "license": { + "key": "apache-2.0", + "name": "Apache License 2.0", + "node_id": "MDc6TGljZW5zZTI=", + "spdx_id": "Apache-2.0", + "url": "https://api.github.com/licenses/apache-2.0" + }, + "merges_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/merges", + "milestones_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/milestones{/number}", + "mirror_url": null, + "name": "nvim-lspconfig", + "node_id": "R_kgDOLNkg8g", + "notifications_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/notifications{?since,all,participating}", + "open_issues": 0, + "open_issues_count": 0, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/27911493?v=4", + "events_url": "https://api.github.com/users/mortezadadgar/events{/privacy}", + "followers_url": "https://api.github.com/users/mortezadadgar/followers", + "following_url": "https://api.github.com/users/mortezadadgar/following{/other_user}", + "gists_url": "https://api.github.com/users/mortezadadgar/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/mortezadadgar", + "id": 27911493, + "login": "mortezadadgar", + "node_id": "MDQ6VXNlcjI3OTExNDkz", + "organizations_url": "https://api.github.com/users/mortezadadgar/orgs", + "received_events_url": "https://api.github.com/users/mortezadadgar/received_events", + "repos_url": "https://api.github.com/users/mortezadadgar/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/mortezadadgar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mortezadadgar/subscriptions", + "type": "User", + "url": "https://api.github.com/users/mortezadadgar" + }, + "private": false, + "pulls_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/pulls{/number}", + "pushed_at": "2024-02-04T06:05:20Z", + "releases_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/releases{/id}", + "size": 3480, + "ssh_url": "git@github.com:mortezadadgar/nvim-lspconfig.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/stargazers", + "statuses_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/subscribers", + "subscription_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/subscription", + "svn_url": "https://github.com/mortezadadgar/nvim-lspconfig", + "tags_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/tags", + "teams_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig/git/trees{/sha}", + "updated_at": "2024-02-03T20:50:54Z", + "url": "https://api.github.com/repos/mortezadadgar/nvim-lspconfig", + "visibility": "public", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "ea2e8c4915a36f8379917d9d492eccbb545041b3", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/27911493?v=4", + "events_url": "https://api.github.com/users/mortezadadgar/events{/privacy}", + "followers_url": "https://api.github.com/users/mortezadadgar/followers", + "following_url": "https://api.github.com/users/mortezadadgar/following{/other_user}", + "gists_url": "https://api.github.com/users/mortezadadgar/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/mortezadadgar", + "id": 27911493, + "login": "mortezadadgar", + "node_id": "MDQ6VXNlcjI3OTExNDkz", + "organizations_url": "https://api.github.com/users/mortezadadgar/orgs", + "received_events_url": "https://api.github.com/users/mortezadadgar/received_events", + "repos_url": "https://api.github.com/users/mortezadadgar/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/mortezadadgar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mortezadadgar/subscriptions", + "type": "User", + "url": "https://api.github.com/users/mortezadadgar" + } + }, + "html_url": "https://github.com/neovim/nvim-lspconfig/pull/2996", + "id": 1710216842, + "issue_url": "https://api.github.com/repos/neovim/nvim-lspconfig/issues/2996", + "labels": [], + "locked": false, + "merge_commit_sha": "f989158fcc4c35d1c96d74fde8b6c54b9dfdfc4f", + "merged_at": "2024-02-04T06:16:42Z", + "milestone": null, + "node_id": "PR_kwDODTQC185l79aK", + "number": 2996, + "patch_url": "https://github.com/neovim/nvim-lspconfig/pull/2996.patch", + "requested_reviewers": [ + { + "avatar_url": "https://avatars.githubusercontent.com/u/41671631?v=4", + "events_url": "https://api.github.com/users/glepnir/events{/privacy}", + "followers_url": "https://api.github.com/users/glepnir/followers", + "following_url": "https://api.github.com/users/glepnir/following{/other_user}", + "gists_url": "https://api.github.com/users/glepnir/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/glepnir", + "id": 41671631, + "login": "glepnir", + "node_id": "MDQ6VXNlcjQxNjcxNjMx", + "organizations_url": "https://api.github.com/users/glepnir/orgs", + "received_events_url": "https://api.github.com/users/glepnir/received_events", + "repos_url": "https://api.github.com/users/glepnir/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/glepnir/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/glepnir/subscriptions", + "type": "User", + "url": "https://api.github.com/users/glepnir" + } + ], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/comments{/number}", + "review_comments_url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2996/comments", + "state": "closed", + "statuses_url": "https://api.github.com/repos/neovim/nvim-lspconfig/statuses/ea2e8c4915a36f8379917d9d492eccbb545041b3", + "title": "feat: add `templ` filetypes", + "updated_at": "2024-02-04T06:16:43Z", + "url": "https://api.github.com/repos/neovim/nvim-lspconfig/pulls/2996", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/27911493?v=4", + "events_url": "https://api.github.com/users/mortezadadgar/events{/privacy}", + "followers_url": "https://api.github.com/users/mortezadadgar/followers", + "following_url": "https://api.github.com/users/mortezadadgar/following{/other_user}", + "gists_url": "https://api.github.com/users/mortezadadgar/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/mortezadadgar", + "id": 27911493, + "login": "mortezadadgar", + "node_id": "MDQ6VXNlcjI3OTExNDkz", + "organizations_url": "https://api.github.com/users/mortezadadgar/orgs", + "received_events_url": "https://api.github.com/users/mortezadadgar/received_events", + "repos_url": "https://api.github.com/users/mortezadadgar/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/mortezadadgar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mortezadadgar/subscriptions", + "type": "User", + "url": "https://api.github.com/users/mortezadadgar" + } +} \ No newline at end of file diff --git a/repositories/pynvim/issues/560.json b/repositories/pynvim/issues/560.json index 184f018b..65c00fd2 100644 --- a/repositories/pynvim/issues/560.json +++ b/repositories/pynvim/issues/560.json @@ -4,7 +4,7 @@ "assignees": [], "author_association": "NONE", "body": "```py\r\nTraceback (most recent call last):\r\n File \"/usr/local/lib/python3.8/dist-packages/pynvim/plugin/host.py\", line 193, in _load\r\n module = _handle_import(directory, name)\r\n File \"/usr/local/lib/python3.8/dist-packages/pynvim/plugin/host.py\", line 40, in _handle_import\r\n return importlib.import_module(name)\r\n File \"/usr/lib/python3.8/importlib/__init__.py\", line 127, in import_module\r\n return _bootstrap._gcd_import(name[level:], package, level)\r\n File \"\", line 1014, in _gcd_import\r\n File \"\", line 991, in _find_and_load\r\nTypeError: 'type' object is not subscriptable\r\n```\r\n\r\nReference: https://github.com/gptlang/CopilotChat.nvim/issues/18", - "closed_at": null, + "closed_at": "2024-01-30T07:37:41Z", "comment_data": [ { "author_association": "MEMBER", @@ -181,9 +181,317 @@ "type": "User", "url": "https://api.github.com/users/justinmk" } + }, + { + "author_association": "NONE", + "body": "`pip install git+https://github.com/neovim/pynvim`?\r\n\r\nCC @Cassius0924 \r\n\r\nEdit: oops, wrong account", + "created_at": "2024-01-30T05:39:04Z", + "html_url": "https://github.com/neovim/pynvim/issues/560#issuecomment-1916114763", + "id": 1916114763, + "issue_url": "https://api.github.com/repos/neovim/pynvim/issues/560", + "node_id": "IC_kwDOASpKTs5yNZdL", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/pynvim/issues/comments/1916114763/reactions" + }, + "updated_at": "2024-01-30T07:07:49Z", + "url": "https://api.github.com/repos/neovim/pynvim/issues/comments/1916114763", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/36258159?v=4", + "events_url": "https://api.github.com/users/acheong08/events{/privacy}", + "followers_url": "https://api.github.com/users/acheong08/followers", + "following_url": "https://api.github.com/users/acheong08/following{/other_user}", + "gists_url": "https://api.github.com/users/acheong08/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/acheong08", + "id": 36258159, + "login": "acheong08", + "node_id": "MDQ6VXNlcjM2MjU4MTU5", + "organizations_url": "https://api.github.com/users/acheong08/orgs", + "received_events_url": "https://api.github.com/users/acheong08/received_events", + "repos_url": "https://api.github.com/users/acheong08/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/acheong08/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/acheong08/subscriptions", + "type": "User", + "url": "https://api.github.com/users/acheong08" + } + }, + { + "author_association": "NONE", + "body": "> `git install git+https://github.com/neovim/pynvim`?\r\n> \r\n> CC @Cassius0924\r\n> \r\n> Edit: oops, wrong account\r\n\r\nIt seems like there's a small mistake in your command. It's `pip install` not `git install`.\r\n\r\nI used `pip install git+https://github.com/neovim/pynvim` to upgrade the pynvim version to 0.5.0.dev0, but there are still errors, but the error line has changed from `line 193` to `line 187`\r\n\r\n```\r\nEncountered TypeError loading plugin at /root/.local/share/lunarvim/site/pack/lazy/opt/CopilotChat.nvim/rplugin/python3/utilities.py: 'type' object is not subscriptable\r\nTraceback (most recent call last):\r\n File \"/usr/local/lib/python3.8/dist-packages/pynvim/plugin/host.py\", line 187, in _load\r\n module = _handle_import(directory, name)\r\n File \"/usr/local/lib/python3.8/dist-packages/pynvim/plugin/host.py\", line 40, in _handle_import\r\n return importlib.import_module(name)\r\n File \"/usr/lib/python3.8/importlib/__init__.py\", line 127, in import_module\r\n return _bootstrap._gcd_import(name[level:], package, level)\r\n File \"\", line 1014, in _gcd_import\r\n File \"\", line 991, in _find_and_load\r\nTypeError: 'type' object is not subscriptable\r\n\r\nremote/host: python3 host registered plugins []\r\nremote/host: generated rplugin manifest: /root/.local/share/lvim/rplugin.vim\r\n```\r\n", + "created_at": "2024-01-30T07:05:48Z", + "html_url": "https://github.com/neovim/pynvim/issues/560#issuecomment-1916200135", + "id": 1916200135, + "issue_url": "https://api.github.com/repos/neovim/pynvim/issues/560", + "node_id": "IC_kwDOASpKTs5yNuTH", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/pynvim/issues/comments/1916200135/reactions" + }, + "updated_at": "2024-01-30T07:05:48Z", + "url": "https://api.github.com/repos/neovim/pynvim/issues/comments/1916200135", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62874592?v=4", + "events_url": "https://api.github.com/users/Cassius0924/events{/privacy}", + "followers_url": "https://api.github.com/users/Cassius0924/followers", + "following_url": "https://api.github.com/users/Cassius0924/following{/other_user}", + "gists_url": "https://api.github.com/users/Cassius0924/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Cassius0924", + "id": 62874592, + "login": "Cassius0924", + "node_id": "MDQ6VXNlcjYyODc0NTky", + "organizations_url": "https://api.github.com/users/Cassius0924/orgs", + "received_events_url": "https://api.github.com/users/Cassius0924/received_events", + "repos_url": "https://api.github.com/users/Cassius0924/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Cassius0924/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Cassius0924/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Cassius0924" + } + }, + { + "author_association": "NONE", + "body": "> It seems like there's a small mistake in your command. It's pip install not git install.\r\n\r\nYup. Typo\r\n\r\nCould you try to reproduce this with a minimal Python file by importing `importlib` and calling it?", + "created_at": "2024-01-30T07:08:14Z", + "html_url": "https://github.com/neovim/pynvim/issues/560#issuecomment-1916203244", + "id": 1916203244, + "issue_url": "https://api.github.com/repos/neovim/pynvim/issues/560", + "node_id": "IC_kwDOASpKTs5yNvDs", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/pynvim/issues/comments/1916203244/reactions" + }, + "updated_at": "2024-01-30T07:08:42Z", + "url": "https://api.github.com/repos/neovim/pynvim/issues/comments/1916203244", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/36258159?v=4", + "events_url": "https://api.github.com/users/acheong08/events{/privacy}", + "followers_url": "https://api.github.com/users/acheong08/followers", + "following_url": "https://api.github.com/users/acheong08/following{/other_user}", + "gists_url": "https://api.github.com/users/acheong08/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/acheong08", + "id": 36258159, + "login": "acheong08", + "node_id": "MDQ6VXNlcjM2MjU4MTU5", + "organizations_url": "https://api.github.com/users/acheong08/orgs", + "received_events_url": "https://api.github.com/users/acheong08/received_events", + "repos_url": "https://api.github.com/users/acheong08/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/acheong08/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/acheong08/subscriptions", + "type": "User", + "url": "https://api.github.com/users/acheong08" + } + }, + { + "author_association": "NONE", + "body": "Like below?\r\n\r\nI wrote a Python file:\r\n\r\n```python\r\nimport importlib\r\nimport sys\r\n\r\nsys.path.append(\r\n \"/root/.local/share/lunarvim/site/pack/lazy/opt/CopilotChat.nvim/rplugin/python3\"\r\n)\r\n\r\n\r\ndef test_import(name):\r\n importlib.import_module(name)\r\n\r\n\r\ntest_import(\"copilot\")\r\n```\r\n\r\nStill getting error after running: \r\n\r\n```\r\nTraceback (most recent call last):\r\n File \"t_1.py\", line 17, in \r\n test_import(\"copilot\")\r\n File \"t_1.py\", line 11, in test_import\r\n importlib.import_module(name)\r\n File \"/usr/lib/python3.8/importlib/__init__.py\", line 127, in import_module\r\n return _bootstrap._gcd_import(name[level:], package, level)\r\n File \"\", line 1014, in _gcd_import\r\n File \"\", line 991, in _find_and_load\r\n File \"\", line 975, in _find_and_load_unlocked\r\n File \"\", line 671, in _load_unlocked\r\n File \"\", line 848, in exec_module\r\n File \"\", line 219, in _call_with_frames_removed\r\n File \"/root/.local/share/lunarvim/site/pack/lazy/opt/CopilotChat.nvim/rplugin/python3/copilot.py\", line 10, in \r\n import utilities\r\n File \"/root/.local/share/lunarvim/site/pack/lazy/opt/CopilotChat.nvim/rplugin/python3/utilities.py\", line 13, in \r\n chat_history: list[typings.Message],\r\nTypeError: 'type' object is not subscriptable\r\n```", + "created_at": "2024-01-30T07:23:32Z", + "html_url": "https://github.com/neovim/pynvim/issues/560#issuecomment-1916222720", + "id": 1916222720, + "issue_url": "https://api.github.com/repos/neovim/pynvim/issues/560", + "node_id": "IC_kwDOASpKTs5yNz0A", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/pynvim/issues/comments/1916222720/reactions" + }, + "updated_at": "2024-01-30T07:23:32Z", + "url": "https://api.github.com/repos/neovim/pynvim/issues/comments/1916222720", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62874592?v=4", + "events_url": "https://api.github.com/users/Cassius0924/events{/privacy}", + "followers_url": "https://api.github.com/users/Cassius0924/followers", + "following_url": "https://api.github.com/users/Cassius0924/following{/other_user}", + "gists_url": "https://api.github.com/users/Cassius0924/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Cassius0924", + "id": 62874592, + "login": "Cassius0924", + "node_id": "MDQ6VXNlcjYyODc0NTky", + "organizations_url": "https://api.github.com/users/Cassius0924/orgs", + "received_events_url": "https://api.github.com/users/Cassius0924/received_events", + "repos_url": "https://api.github.com/users/Cassius0924/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Cassius0924/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Cassius0924/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Cassius0924" + } + }, + { + "author_association": "NONE", + "body": "This error seems not to be from pynvim, but from CopilotChat. I tried replacing `list` with `List` and it worked normally.", + "created_at": "2024-01-30T07:34:06Z", + "html_url": "https://github.com/neovim/pynvim/issues/560#issuecomment-1916235167", + "id": 1916235167, + "issue_url": "https://api.github.com/repos/neovim/pynvim/issues/560", + "node_id": "IC_kwDOASpKTs5yN22f", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/pynvim/issues/comments/1916235167/reactions" + }, + "updated_at": "2024-01-30T07:34:06Z", + "url": "https://api.github.com/repos/neovim/pynvim/issues/comments/1916235167", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/62874592?v=4", + "events_url": "https://api.github.com/users/Cassius0924/events{/privacy}", + "followers_url": "https://api.github.com/users/Cassius0924/followers", + "following_url": "https://api.github.com/users/Cassius0924/following{/other_user}", + "gists_url": "https://api.github.com/users/Cassius0924/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/Cassius0924", + "id": 62874592, + "login": "Cassius0924", + "node_id": "MDQ6VXNlcjYyODc0NTky", + "organizations_url": "https://api.github.com/users/Cassius0924/orgs", + "received_events_url": "https://api.github.com/users/Cassius0924/received_events", + "repos_url": "https://api.github.com/users/Cassius0924/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/Cassius0924/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Cassius0924/subscriptions", + "type": "User", + "url": "https://api.github.com/users/Cassius0924" + } + }, + { + "author_association": "NONE", + "body": "Ah I see. I suppose I got confused by the error output", + "created_at": "2024-01-30T07:37:01Z", + "html_url": "https://github.com/neovim/pynvim/issues/560#issuecomment-1916238613", + "id": 1916238613, + "issue_url": "https://api.github.com/repos/neovim/pynvim/issues/560", + "node_id": "IC_kwDOASpKTs5yN3sV", + "performed_via_github_app": null, + "reactions": { + "+1": 0, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 0, + "url": "https://api.github.com/repos/neovim/pynvim/issues/comments/1916238613/reactions" + }, + "updated_at": "2024-01-30T07:37:01Z", + "url": "https://api.github.com/repos/neovim/pynvim/issues/comments/1916238613", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/121417512?v=4", + "events_url": "https://api.github.com/users/gptlang/events{/privacy}", + "followers_url": "https://api.github.com/users/gptlang/followers", + "following_url": "https://api.github.com/users/gptlang/following{/other_user}", + "gists_url": "https://api.github.com/users/gptlang/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/gptlang", + "id": 121417512, + "login": "gptlang", + "node_id": "U_kgDOBzyvKA", + "organizations_url": "https://api.github.com/users/gptlang/orgs", + "received_events_url": "https://api.github.com/users/gptlang/received_events", + "repos_url": "https://api.github.com/users/gptlang/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/gptlang/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gptlang/subscriptions", + "type": "User", + "url": "https://api.github.com/users/gptlang" + } + }, + { + "author_association": "MEMBER", + "body": "Yes, the error was coming from the rplugin code, but the error message printed in Nvim can be confusing. We can improve error messages to clearly indicate that the SyntaxError/RuntimeError originates from the remote plugin.", + "created_at": "2024-02-04T06:55:44Z", + "html_url": "https://github.com/neovim/pynvim/issues/560#issuecomment-1925603303", + "id": 1925603303, + "issue_url": "https://api.github.com/repos/neovim/pynvim/issues/560", + "node_id": "IC_kwDOASpKTs5yxl_n", + "performed_via_github_app": null, + "reactions": { + "+1": 1, + "-1": 0, + "confused": 0, + "eyes": 0, + "heart": 0, + "hooray": 0, + "laugh": 0, + "rocket": 0, + "total_count": 1, + "url": "https://api.github.com/repos/neovim/pynvim/issues/comments/1925603303/reactions" + }, + "updated_at": "2024-02-04T06:55:44Z", + "url": "https://api.github.com/repos/neovim/pynvim/issues/comments/1925603303", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/1009873?v=4", + "events_url": "https://api.github.com/users/wookayin/events{/privacy}", + "followers_url": "https://api.github.com/users/wookayin/followers", + "following_url": "https://api.github.com/users/wookayin/following{/other_user}", + "gists_url": "https://api.github.com/users/wookayin/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/wookayin", + "id": 1009873, + "login": "wookayin", + "node_id": "MDQ6VXNlcjEwMDk4NzM=", + "organizations_url": "https://api.github.com/users/wookayin/orgs", + "received_events_url": "https://api.github.com/users/wookayin/received_events", + "repos_url": "https://api.github.com/users/wookayin/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/wookayin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wookayin/subscriptions", + "type": "User", + "url": "https://api.github.com/users/wookayin" + } } ], - "comments": 4, + "comments": 11, "comments_url": "https://api.github.com/repos/neovim/pynvim/issues/560/comments", "created_at": "2024-01-28T04:54:29Z", "events_url": "https://api.github.com/repos/neovim/pynvim/issues/560/events", @@ -191,13 +499,13 @@ "id": 2103968788, "labels": [ { - "color": "f9d0c4", + "color": "e6e6e6", "default": true, - "description": null, - "id": 97892276, - "name": "bug", - "node_id": "MDU6TGFiZWw5Nzg5MjI3Ng==", - "url": "https://api.github.com/repos/neovim/pynvim/labels/bug" + "description": "", + "id": 97892281, + "name": "question", + "node_id": "MDU6TGFiZWw5Nzg5MjI4MQ==", + "url": "https://api.github.com/repos/neovim/pynvim/labels/question" } ], "labels_url": "https://api.github.com/repos/neovim/pynvim/issues/560/labels{/name}", @@ -219,11 +527,11 @@ "url": "https://api.github.com/repos/neovim/pynvim/issues/560/reactions" }, "repository_url": "https://api.github.com/repos/neovim/pynvim", - "state": "open", - "state_reason": null, + "state": "closed", + "state_reason": "not_planned", "timeline_url": "https://api.github.com/repos/neovim/pynvim/issues/560/timeline", "title": "Python 3.8: TypeError: 'type' object is not subscriptable", - "updated_at": "2024-01-29T17:57:54Z", + "updated_at": "2024-02-04T06:55:44Z", "url": "https://api.github.com/repos/neovim/pynvim/issues/560", "user": { "avatar_url": "https://avatars.githubusercontent.com/u/121417512?v=4",