[{"id":"36946988389","type":"PushEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":135787576,"name":"dylan-chong/dotfiles","url":"https://api.github.com/repos/dylan-chong/dotfiles"},"payload":{"repository_id":135787576,"push_id":17736239079,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"9cec322298231c58e324dd3beb50a01be0b0e0b0","before":"300865c700db9d686c365a204735f4fb781dd8bd","commits":[{"sha":"c1345a24704cd772aaf2b3a91db98933df721851","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Snippet tweak","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/c1345a24704cd772aaf2b3a91db98933df721851"},{"sha":"9cec322298231c58e324dd3beb50a01be0b0e0b0","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Fix status-justify error about no current session","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/9cec322298231c58e324dd3beb50a01be0b0e0b0"}]},"public":true,"created_at":"2024-03-27T21:27:21Z"},{"id":"36839396495","type":"PushEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":135787576,"name":"dylan-chong/dotfiles","url":"https://api.github.com/repos/dylan-chong/dotfiles"},"payload":{"repository_id":135787576,"push_id":17685871807,"size":3,"distinct_size":3,"ref":"refs/heads/master","head":"300865c700db9d686c365a204735f4fb781dd8bd","before":"792e1a9a3a20e6ae8e35e6531de7e850d4b8054d","commits":[{"sha":"ed0f3b688144c231a9f6c8e5f26071dbde40b4e3","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Various","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/ed0f3b688144c231a9f6c8e5f26071dbde40b4e3"},{"sha":"318ff8cb3d7184b77b7616e7794af1d0ad3d023c","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Fix snippets, other things","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/318ff8cb3d7184b77b7616e7794af1d0ad3d023c"},{"sha":"300865c700db9d686c365a204735f4fb781dd8bd","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Don't use formatonsave plugin, use lunarvim","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/300865c700db9d686c365a204735f4fb781dd8bd"}]},"public":true,"created_at":"2024-03-25T02:19:06Z"},{"id":"36806003458","type":"IssueCommentEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":281804942,"name":"a1xd/rawaccel","url":"https://api.github.com/repos/a1xd/rawaccel"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/a1xd/rawaccel/issues/182","repository_url":"https://api.github.com/repos/a1xd/rawaccel","labels_url":"https://api.github.com/repos/a1xd/rawaccel/issues/182/labels{/name}","comments_url":"https://api.github.com/repos/a1xd/rawaccel/issues/182/comments","events_url":"https://api.github.com/repos/a1xd/rawaccel/issues/182/events","html_url":"https://github.com/a1xd/rawaccel/issues/182","id":1707011473,"node_id":"I_kwDOEMwAjs5lvu2R","number":182,"title":"doesnt work when i open valorant","user":{"login":"vandikadari","id":101334024,"node_id":"U_kgDOBgo8CA","avatar_url":"https://avatars.githubusercontent.com/u/101334024?v=4","gravatar_id":"","url":"https://api.github.com/users/vandikadari","html_url":"https://github.com/vandikadari","followers_url":"https://api.github.com/users/vandikadari/followers","following_url":"https://api.github.com/users/vandikadari/following{/other_user}","gists_url":"https://api.github.com/users/vandikadari/gists{/gist_id}","starred_url":"https://api.github.com/users/vandikadari/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vandikadari/subscriptions","organizations_url":"https://api.github.com/users/vandikadari/orgs","repos_url":"https://api.github.com/users/vandikadari/repos","events_url":"https://api.github.com/users/vandikadari/events{/privacy}","received_events_url":"https://api.github.com/users/vandikadari/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2023-05-12T06:20:32Z","updated_at":"2024-03-22T17:39:43Z","closed_at":"2023-10-06T20:38:47Z","author_association":"NONE","active_lock_reason":null,"body":"it works fine until i open valorant then it stops working and when i close valorantit starts working again and kind of decreases my sens even if i insert the dpi and mouse hz correcty","reactions":{"url":"https://api.github.com/repos/a1xd/rawaccel/issues/182/reactions","total_count":2,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":2},"timeline_url":"https://api.github.com/repos/a1xd/rawaccel/issues/182/timeline","performed_via_github_app":null,"state_reason":"completed"},"comment":{"url":"https://api.github.com/repos/a1xd/rawaccel/issues/comments/2015586211","html_url":"https://github.com/a1xd/rawaccel/issues/182#issuecomment-2015586211","issue_url":"https://api.github.com/repos/a1xd/rawaccel/issues/182","id":2015586211,"node_id":"IC_kwDOEMwAjs54I2ej","user":{"login":"dylan-chong","id":17482349,"node_id":"MDQ6VXNlcjE3NDgyMzQ5","avatar_url":"https://avatars.githubusercontent.com/u/17482349?v=4","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","html_url":"https://github.com/dylan-chong","followers_url":"https://api.github.com/users/dylan-chong/followers","following_url":"https://api.github.com/users/dylan-chong/following{/other_user}","gists_url":"https://api.github.com/users/dylan-chong/gists{/gist_id}","starred_url":"https://api.github.com/users/dylan-chong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dylan-chong/subscriptions","organizations_url":"https://api.github.com/users/dylan-chong/orgs","repos_url":"https://api.github.com/users/dylan-chong/repos","events_url":"https://api.github.com/users/dylan-chong/events{/privacy}","received_events_url":"https://api.github.com/users/dylan-chong/received_events","type":"User","site_admin":false},"created_at":"2024-03-22T17:39:43Z","updated_at":"2024-03-22T17:39:43Z","author_association":"NONE","body":"Possibly related https://github.com/a1xd/rawaccel/issues/196","reactions":{"url":"https://api.github.com/repos/a1xd/rawaccel/issues/comments/2015586211/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-22T17:39:44Z"},{"id":"36805887335","type":"IssueCommentEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":281804942,"name":"a1xd/rawaccel","url":"https://api.github.com/repos/a1xd/rawaccel"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/a1xd/rawaccel/issues/196","repository_url":"https://api.github.com/repos/a1xd/rawaccel","labels_url":"https://api.github.com/repos/a1xd/rawaccel/issues/196/labels{/name}","comments_url":"https://api.github.com/repos/a1xd/rawaccel/issues/196/comments","events_url":"https://api.github.com/repos/a1xd/rawaccel/issues/196/events","html_url":"https://github.com/a1xd/rawaccel/issues/196","id":1992035793,"node_id":"I_kwDOEMwAjs52vA3R","number":196,"title":"Rotation changes often when playing valorant","user":{"login":"dylan-chong","id":17482349,"node_id":"MDQ6VXNlcjE3NDgyMzQ5","avatar_url":"https://avatars.githubusercontent.com/u/17482349?v=4","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","html_url":"https://github.com/dylan-chong","followers_url":"https://api.github.com/users/dylan-chong/followers","following_url":"https://api.github.com/users/dylan-chong/following{/other_user}","gists_url":"https://api.github.com/users/dylan-chong/gists{/gist_id}","starred_url":"https://api.github.com/users/dylan-chong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dylan-chong/subscriptions","organizations_url":"https://api.github.com/users/dylan-chong/orgs","repos_url":"https://api.github.com/users/dylan-chong/repos","events_url":"https://api.github.com/users/dylan-chong/events{/privacy}","received_events_url":"https://api.github.com/users/dylan-chong/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2023-11-14T05:49:53Z","updated_at":"2024-03-22T17:35:27Z","closed_at":"2024-03-22T15:50:00Z","author_association":"NONE","active_lock_reason":null,"body":"Play with rotation set to -3.\r\nWhen I play valorant, every few minutes it seems like the rotation changes to 0 or -6 but it actually hasn't changed when i check raw accel.\r\n\r\nThe rotation can mismatch outside of valorant with valorant.\r\nTurning off raw input buffer in val settings fixes the issue (temporarily)\r\n\r\nI just upgraded to Windows11 so that is likely related\r\n\r\nHow can i help debug this issue?\r\n\r\n","reactions":{"url":"https://api.github.com/repos/a1xd/rawaccel/issues/196/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/a1xd/rawaccel/issues/196/timeline","performed_via_github_app":null,"state_reason":"completed"},"comment":{"url":"https://api.github.com/repos/a1xd/rawaccel/issues/comments/2015578143","html_url":"https://github.com/a1xd/rawaccel/issues/196#issuecomment-2015578143","issue_url":"https://api.github.com/repos/a1xd/rawaccel/issues/196","id":2015578143,"node_id":"IC_kwDOEMwAjs54I0gf","user":{"login":"dylan-chong","id":17482349,"node_id":"MDQ6VXNlcjE3NDgyMzQ5","avatar_url":"https://avatars.githubusercontent.com/u/17482349?v=4","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","html_url":"https://github.com/dylan-chong","followers_url":"https://api.github.com/users/dylan-chong/followers","following_url":"https://api.github.com/users/dylan-chong/following{/other_user}","gists_url":"https://api.github.com/users/dylan-chong/gists{/gist_id}","starred_url":"https://api.github.com/users/dylan-chong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dylan-chong/subscriptions","organizations_url":"https://api.github.com/users/dylan-chong/orgs","repos_url":"https://api.github.com/users/dylan-chong/repos","events_url":"https://api.github.com/users/dylan-chong/events{/privacy}","received_events_url":"https://api.github.com/users/dylan-chong/received_events","type":"User","site_admin":false},"created_at":"2024-03-22T17:35:27Z","updated_at":"2024-03-22T17:35:27Z","author_association":"NONE","body":"Dude… I’ve used rawAccel for a year on windows 10 without problems. I would know if I was rotating my hand.\r\n\r\nWindows 11 was the only changed factor ","reactions":{"url":"https://api.github.com/repos/a1xd/rawaccel/issues/comments/2015578143/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-22T17:35:28Z"},{"id":"36805806602","type":"IssuesEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":281804942,"name":"a1xd/rawaccel","url":"https://api.github.com/repos/a1xd/rawaccel"},"payload":{"action":"closed","issue":{"url":"https://api.github.com/repos/a1xd/rawaccel/issues/210","repository_url":"https://api.github.com/repos/a1xd/rawaccel","labels_url":"https://api.github.com/repos/a1xd/rawaccel/issues/210/labels{/name}","comments_url":"https://api.github.com/repos/a1xd/rawaccel/issues/210/comments","events_url":"https://api.github.com/repos/a1xd/rawaccel/issues/210/events","html_url":"https://github.com/a1xd/rawaccel/issues/210","id":2202980599,"node_id":"I_kwDOEMwAjs6DTtD3","number":210,"title":"Rotation often changes when playing Valorant (please don’t ignore this)","user":{"login":"dylan-chong","id":17482349,"node_id":"MDQ6VXNlcjE3NDgyMzQ5","avatar_url":"https://avatars.githubusercontent.com/u/17482349?v=4","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","html_url":"https://github.com/dylan-chong","followers_url":"https://api.github.com/users/dylan-chong/followers","following_url":"https://api.github.com/users/dylan-chong/following{/other_user}","gists_url":"https://api.github.com/users/dylan-chong/gists{/gist_id}","starred_url":"https://api.github.com/users/dylan-chong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dylan-chong/subscriptions","organizations_url":"https://api.github.com/users/dylan-chong/orgs","repos_url":"https://api.github.com/users/dylan-chong/repos","events_url":"https://api.github.com/users/dylan-chong/events{/privacy}","received_events_url":"https://api.github.com/users/dylan-chong/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2024-03-22T17:31:36Z","updated_at":"2024-03-22T17:32:34Z","closed_at":"2024-03-22T17:32:34Z","author_association":"NONE","active_lock_reason":null,"body":null,"reactions":{"url":"https://api.github.com/repos/a1xd/rawaccel/issues/210/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/a1xd/rawaccel/issues/210/timeline","performed_via_github_app":null,"state_reason":"completed"}},"public":true,"created_at":"2024-03-22T17:32:35Z"},{"id":"36805779130","type":"IssuesEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":281804942,"name":"a1xd/rawaccel","url":"https://api.github.com/repos/a1xd/rawaccel"},"payload":{"action":"opened","issue":{"url":"https://api.github.com/repos/a1xd/rawaccel/issues/210","repository_url":"https://api.github.com/repos/a1xd/rawaccel","labels_url":"https://api.github.com/repos/a1xd/rawaccel/issues/210/labels{/name}","comments_url":"https://api.github.com/repos/a1xd/rawaccel/issues/210/comments","events_url":"https://api.github.com/repos/a1xd/rawaccel/issues/210/events","html_url":"https://github.com/a1xd/rawaccel/issues/210","id":2202980599,"node_id":"I_kwDOEMwAjs6DTtD3","number":210,"title":"Rotation often changes when playing Valorant (please don’t ignore this)","user":{"login":"dylan-chong","id":17482349,"node_id":"MDQ6VXNlcjE3NDgyMzQ5","avatar_url":"https://avatars.githubusercontent.com/u/17482349?v=4","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","html_url":"https://github.com/dylan-chong","followers_url":"https://api.github.com/users/dylan-chong/followers","following_url":"https://api.github.com/users/dylan-chong/following{/other_user}","gists_url":"https://api.github.com/users/dylan-chong/gists{/gist_id}","starred_url":"https://api.github.com/users/dylan-chong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dylan-chong/subscriptions","organizations_url":"https://api.github.com/users/dylan-chong/orgs","repos_url":"https://api.github.com/users/dylan-chong/repos","events_url":"https://api.github.com/users/dylan-chong/events{/privacy}","received_events_url":"https://api.github.com/users/dylan-chong/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2024-03-22T17:31:36Z","updated_at":"2024-03-22T17:31:36Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":null,"reactions":{"url":"https://api.github.com/repos/a1xd/rawaccel/issues/210/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/a1xd/rawaccel/issues/210/timeline","performed_via_github_app":null,"state_reason":null}},"public":true,"created_at":"2024-03-22T17:31:38Z"},{"id":"36776287710","type":"IssueCommentEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":349432071,"name":"L3MON4D3/LuaSnip","url":"https://api.github.com/repos/L3MON4D3/LuaSnip"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/L3MON4D3/LuaSnip/issues/453","repository_url":"https://api.github.com/repos/L3MON4D3/LuaSnip","labels_url":"https://api.github.com/repos/L3MON4D3/LuaSnip/issues/453/labels{/name}","comments_url":"https://api.github.com/repos/L3MON4D3/LuaSnip/issues/453/comments","events_url":"https://api.github.com/repos/L3MON4D3/LuaSnip/issues/453/events","html_url":"https://github.com/L3MON4D3/LuaSnip/issues/453","id":1264610385,"node_id":"I_kwDOFNPpB85LYGxR","number":453,"title":"VScode style snippets can't be load properly.","user":{"login":"h4kuy4","id":53516842,"node_id":"MDQ6VXNlcjUzNTE2ODQy","avatar_url":"https://avatars.githubusercontent.com/u/53516842?v=4","gravatar_id":"","url":"https://api.github.com/users/h4kuy4","html_url":"https://github.com/h4kuy4","followers_url":"https://api.github.com/users/h4kuy4/followers","following_url":"https://api.github.com/users/h4kuy4/following{/other_user}","gists_url":"https://api.github.com/users/h4kuy4/gists{/gist_id}","starred_url":"https://api.github.com/users/h4kuy4/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/h4kuy4/subscriptions","organizations_url":"https://api.github.com/users/h4kuy4/orgs","repos_url":"https://api.github.com/users/h4kuy4/repos","events_url":"https://api.github.com/users/h4kuy4/events{/privacy}","received_events_url":"https://api.github.com/users/h4kuy4/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2022-06-08T11:40:12Z","updated_at":"2024-03-21T20:43:34Z","closed_at":"2022-06-13T09:47:08Z","author_association":"NONE","active_lock_reason":null,"body":"My neovim can load friendly-snippets, but my custom snippet can't be load.\r\nI use `:lua print(vim.inspect(require('luasnip.loaders._caches')))` to check the cache, and can find my custom snippets in the second part of`lazy_load_paths` like this.\r\n```lua\r\nlazy_load_paths = {{\r\n ...,\r\n python = { \"/home/hakuya/.local/share/nvim/site/pack/packer/start/friendly-snippets/./snippets/python/base.json\"},\r\n ...\r\n }, {\r\n ...,\r\n python = {\"/home/hakuya/.local/share/nvim/site/pack/packer/start/friendly-snippets/./snippets/python/base.json\", \"/home/hakuya/.config/nvim/snippets/./python.json\"},\r\n ...\r\n }\r\n}\r\n```\r\nbut when writing a python program, only friendly-snippets works","reactions":{"url":"https://api.github.com/repos/L3MON4D3/LuaSnip/issues/453/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/L3MON4D3/LuaSnip/issues/453/timeline","performed_via_github_app":null,"state_reason":"completed"},"comment":{"url":"https://api.github.com/repos/L3MON4D3/LuaSnip/issues/comments/2013696765","html_url":"https://github.com/L3MON4D3/LuaSnip/issues/453#issuecomment-2013696765","issue_url":"https://api.github.com/repos/L3MON4D3/LuaSnip/issues/453","id":2013696765,"node_id":"IC_kwDOFNPpB854BpL9","user":{"login":"dylan-chong","id":17482349,"node_id":"MDQ6VXNlcjE3NDgyMzQ5","avatar_url":"https://avatars.githubusercontent.com/u/17482349?v=4","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","html_url":"https://github.com/dylan-chong","followers_url":"https://api.github.com/users/dylan-chong/followers","following_url":"https://api.github.com/users/dylan-chong/following{/other_user}","gists_url":"https://api.github.com/users/dylan-chong/gists{/gist_id}","starred_url":"https://api.github.com/users/dylan-chong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dylan-chong/subscriptions","organizations_url":"https://api.github.com/users/dylan-chong/orgs","repos_url":"https://api.github.com/users/dylan-chong/repos","events_url":"https://api.github.com/users/dylan-chong/events{/privacy}","received_events_url":"https://api.github.com/users/dylan-chong/received_events","type":"User","site_admin":false},"created_at":"2024-03-21T20:43:33Z","updated_at":"2024-03-21T20:43:33Z","author_association":"NONE","body":"hey @L3MON4D3 i dont think the logs are sufficient. it's taken me over a month to figure out that there is a trailing comma in my json. Since invalid json is invalid, it should be an error.\r\n\r\n","reactions":{"url":"https://api.github.com/repos/L3MON4D3/LuaSnip/issues/comments/2013696765/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-21T20:43:34Z"},{"id":"36667175647","type":"IssueCommentEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":16408992,"name":"neovim/neovim","url":"https://api.github.com/repos/neovim/neovim"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/neovim/neovim/issues/27383","repository_url":"https://api.github.com/repos/neovim/neovim","labels_url":"https://api.github.com/repos/neovim/neovim/issues/27383/labels{/name}","comments_url":"https://api.github.com/repos/neovim/neovim/issues/27383/comments","events_url":"https://api.github.com/repos/neovim/neovim/issues/27383/events","html_url":"https://github.com/neovim/neovim/issues/27383","id":2124307858,"node_id":"I_kwDOAPphoM5-nl2S","number":27383,"title":"lsp: deleting entire file breaks incremental synchronization","user":{"login":"XeroOl","id":6820998,"node_id":"MDQ6VXNlcjY4MjA5OTg=","avatar_url":"https://avatars.githubusercontent.com/u/6820998?v=4","gravatar_id":"","url":"https://api.github.com/users/XeroOl","html_url":"https://github.com/XeroOl","followers_url":"https://api.github.com/users/XeroOl/followers","following_url":"https://api.github.com/users/XeroOl/following{/other_user}","gists_url":"https://api.github.com/users/XeroOl/gists{/gist_id}","starred_url":"https://api.github.com/users/XeroOl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/XeroOl/subscriptions","organizations_url":"https://api.github.com/users/XeroOl/orgs","repos_url":"https://api.github.com/users/XeroOl/repos","events_url":"https://api.github.com/users/XeroOl/events{/privacy}","received_events_url":"https://api.github.com/users/XeroOl/received_events","type":"User","site_admin":false},"labels":[{"id":77997474,"node_id":"MDU6TGFiZWw3Nzk5NzQ3NA==","url":"https://api.github.com/repos/neovim/neovim/labels/bug","name":"bug","color":"f9d0c4","default":true,"description":"issues reporting wrong behavior"},{"id":662566370,"node_id":"MDU6TGFiZWw2NjI1NjYzNzA=","url":"https://api.github.com/repos/neovim/neovim/labels/lsp","name":"lsp","color":"c5def5","default":false,"description":null}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2024-02-08T03:51:32Z","updated_at":"2024-03-19T02:15:54Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"### Problem\r\n\r\nNeovim generates an invalid `textDocument/didChange` message when deleting and pasting the entire file.\r\nThe message references the range {line 0 col 0 - line 1 col 0}, but when you delete the entire file, there is no line 1.\r\n\r\nI'm making a language server, and my server gets confused by this range, because it goes past the end of the file.\r\n\r\nEvery other language server I've tried seems to tolerate the invalid message, but I'm fairly sure Neovim's behavior isn't correct.\r\n\r\n### Steps to reproduce using \"nvim -u minimal_init.lua\"\r\n\r\nYou should be able to reproduce this really easily with almost any setup, as long as the language supports the `{\"change\":2}` mode. (pretty much all language servers do this).\r\n\r\nAt this point, skip down to the Steps section.\r\n\r\n# Probably unnecessary details\r\nIf you *really* want the exact same setup as me, you can follow these steps:\r\n\r\nThe exact steps to set up the environment
\r\n\r\nDownload [fennel-ls](https://git.sr.ht/~xerool/fennel-ls/refs/0.1.0) and put it on the path. To run it, you also need need `lua` on the path, because fennel-ls runs in lua.\r\nThen, init.lua:\r\n\r\n```lua\r\n--- CHANGED THESE\r\nlocal pattern = '*.fnl'\r\nlocal cmd = {'fennel-ls'}\r\n-- Add files/folders here that indicate the root of a project\r\nlocal root_markers = {'.git', '.editorconfig'}\r\n-- Change to table with settings if required\r\nlocal settings = vim.empty_dict()\r\n\r\nvim.api.nvim_create_autocmd('BufEnter', {\r\n pattern = pattern,\r\n callback = function(args)\r\n print(\"reached callback\")\r\n local match = vim.fs.find(root_markers, { path = args.file, upward = true })[1]\r\n local root_dir = match and vim.fn.fnamemodify(match, ':p:h') or nil\r\n vim.lsp.start({\r\n name = 'fennel-ls',\r\n cmd = cmd,\r\n root_dir = root_dir,\r\n settings = settings\r\n })\r\n end\r\n})\r\n```\r\nI know bufenter is the wrong autocmd, but there is no filetype for .fnl.\r\n\r\nThen, `touch .editorconfig` so that the current dir is a root dir. `fennel-ls` needs a workspace to run in, so this is important.\r\nFinally, run the following steps, using `broken.fnl` as the filename.\r\n \r\n\r\n# Steps\r\n1. Open a new file that starts a language server\r\n2. Type any text. (in my logs, I type the letter `o`)\r\n3. Move the cursor to the start of the file and use `dG` to delete everything\r\n4. Press `p` to paste everything back\r\n5. Observe that the message sent to the language server isn't valid.\r\n\r\n# Description of each sync step\r\nFor each step, I'll show the `textDocument/didOpen` and `textDocument/didChange` messages that are sent to the server, and what the file should contain.\r\n## Open a new file that starts a language server\r\n```json\r\n{\r\n \"params\": {\r\n \"textDocument\": {\r\n \"version\": 0,\r\n \"text\": \"\\n\",\r\n \"uri\": \"file:///home/xerool/Documents/bug/broken.fnl\",\r\n \"languageId\": \"fennel\"\r\n }\r\n },\r\n \"jsonrpc\": \"2.0\",\r\n \"method\": \"textDocument/didOpen\"\r\n}\r\n```\r\nOkay, so Neovim starts an \"empty\" file with a newline. That's fine. The contents of the file are `\"\\n\"`.\r\n\r\n## Type any text.\r\nIn this instance, I simply typed the letter `o`.\r\n```json\r\n{\r\n \"params\": {\r\n \"textDocument\": {\r\n \"uri\": \"file:///home/xerool/Documents/bug/broken.fnl\",\r\n \"version\": 4\r\n },\r\n \"contentChanges\": [\r\n {\r\n \"range\": {\r\n \"end\": {\r\n \"line\": 0,\r\n \"character\": 0\r\n },\r\n \"start\": {\r\n \"line\": 0,\r\n \"character\": 0\r\n }\r\n },\r\n \"text\": \"o\",\r\n \"rangeLength\": 0\r\n }\r\n ]\r\n },\r\n \"jsonrpc\": \"2.0\",\r\n \"method\": \"textDocument/didChange\"\r\n}\r\n```\r\nOkay, so we take the range {line 0 char 0 - line 0 char 0} and replace it with `\"o\"`. The contents of the file are `\"o\\n\"`.\r\n\r\n## Delete everything\r\n```json\r\n{\r\n \"params\": {\r\n \"textDocument\": {\r\n \"uri\": \"file:///home/xerool/Documents/bug/broken.fnl\",\r\n \"version\": 5\r\n },\r\n \"contentChanges\": [\r\n {\r\n \"range\": {\r\n \"end\": {\r\n \"line\": 1,\r\n \"character\": 0\r\n },\r\n \"start\": {\r\n \"line\": 0,\r\n \"character\": 0\r\n }\r\n },\r\n \"text\": \"\",\r\n \"rangeLength\": 2\r\n }\r\n ]\r\n },\r\n \"jsonrpc\": \"2.0\",\r\n \"method\": \"textDocument/didChange\"\r\n}\r\n```\r\nOkay, so we replace from {line 0 char 0 - line 1 char 0} with \"\". Now, the current content of the file is `\"\"`, with no newline. The file is empty.\r\n\r\n## Press `p`\r\n```json\r\n{\r\n \"params\": {\r\n \"textDocument\": {\r\n \"uri\": \"file:///home/xerool/Documents/bug/broken.fnl\",\r\n \"version\": 6\r\n },\r\n \"contentChanges\": [\r\n {\r\n \"range\": {\r\n \"end\": {\r\n \"line\": 1,\r\n \"character\": 0\r\n },\r\n \"start\": {\r\n \"line\": 0,\r\n \"character\": 0\r\n }\r\n },\r\n \"text\": \"\\no\\n\",\r\n \"rangeLength\": 1\r\n }\r\n ]\r\n },\r\n \"jsonrpc\": \"2.0\",\r\n \"method\": \"textDocument/didChange\"\r\n}\r\n```\r\nHere's where I've got a problem. According to the previous messages, the file's contents are `\"\"`. It's empty. However, the server is being asked to replace from {line 0 char 0 - line 1 char 0} with some text.\r\n\r\nThere is no position that corresponds to line 1 char 0, because there is no newline character in the file, and therefore no line 1.\r\n\r\nNow, you may argue that [the protocol](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#range) says:\r\n> If you want to specify a range that contains a line including the line ending character(s) then use an end position denoting the start of the next line.\r\n\r\nHowever, this doesn't apply here, because there is no \"line ending character(s)\" that could possibly be included here. I believe that Neovim's message isn't valid, and that it is correct for the language server to crash.\r\n\r\n### Expected behavior\r\n\r\nI expected the the content changes to be applicable to the file. For example: I would be okay if the final message did not try to reference line 1:\r\n```json\r\n{\r\n \"params\": {\r\n \"textDocument\": {\r\n \"uri\": \"file:///home/xerool/Documents/bug/broken.fnl\",\r\n \"version\": 6\r\n },\r\n \"contentChanges\": [\r\n {\r\n \"range\": {\r\n \"end\": {\r\n \"line\": 0,\r\n \"character\": 0\r\n },\r\n \"start\": {\r\n \"line\": 0,\r\n \"character\": 0\r\n }\r\n },\r\n \"text\": \"\\no\\n\",\r\n \"rangeLength\": 1\r\n }\r\n ]\r\n },\r\n \"jsonrpc\": \"2.0\",\r\n \"method\": \"textDocument/didChange\"\r\n}\r\n```\r\nIt would also be okay if instead, there was an extra \"contentChanges\" message after the `dP` that re-introduces the newline after telling the server that the newline was deleted. I'm not sure exactly where the server and client are desyncing, but I would like them to stay in sync.\r\n\r\n### Neovim version (nvim -v)\r\n\r\n0.9.5 Release\r\n\r\n### Language server name/version\r\n\r\nfennel-ls 0.1.0\r\n\r\n### Operating system/version\r\n\r\nArch Linux\r\n\r\n### Log file\r\n\r\nhttps://gist.github.com/XeroOl/873a8ab9968861cf33c73f8acea3ab28","reactions":{"url":"https://api.github.com/repos/neovim/neovim/issues/27383/reactions","total_count":3,"+1":3,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/neovim/neovim/issues/27383/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/neovim/neovim/issues/comments/2005616294","html_url":"https://github.com/neovim/neovim/issues/27383#issuecomment-2005616294","issue_url":"https://api.github.com/repos/neovim/neovim/issues/27383","id":2005616294,"node_id":"IC_kwDOAPphoM53i0am","user":{"login":"dylan-chong","id":17482349,"node_id":"MDQ6VXNlcjE3NDgyMzQ5","avatar_url":"https://avatars.githubusercontent.com/u/17482349?v=4","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","html_url":"https://github.com/dylan-chong","followers_url":"https://api.github.com/users/dylan-chong/followers","following_url":"https://api.github.com/users/dylan-chong/following{/other_user}","gists_url":"https://api.github.com/users/dylan-chong/gists{/gist_id}","starred_url":"https://api.github.com/users/dylan-chong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dylan-chong/subscriptions","organizations_url":"https://api.github.com/users/dylan-chong/orgs","repos_url":"https://api.github.com/users/dylan-chong/repos","events_url":"https://api.github.com/users/dylan-chong/events{/privacy}","received_events_url":"https://api.github.com/users/dylan-chong/received_events","type":"User","site_admin":false},"created_at":"2024-03-19T02:15:53Z","updated_at":"2024-03-19T02:15:53Z","author_association":"NONE","body":"dear god this issue is constant. i'm running neovim `NVIM v0.10.0-dev-1495+g3d8f0cb69`. i have to run `:e` after writing a few lines of code, or pasting anything, otherwise the lsp is way out of sync. ocassionally `:e` doesnt even get the lsp to sync properly","reactions":{"url":"https://api.github.com/repos/neovim/neovim/issues/comments/2005616294/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-19T02:15:54Z","org":{"id":6471485,"login":"neovim","gravatar_id":"","url":"https://api.github.com/orgs/neovim","avatar_url":"https://avatars.githubusercontent.com/u/6471485?"}},{"id":"36417136720","type":"IssueCommentEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":16408992,"name":"neovim/neovim","url":"https://api.github.com/repos/neovim/neovim"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/neovim/neovim/issues/27383","repository_url":"https://api.github.com/repos/neovim/neovim","labels_url":"https://api.github.com/repos/neovim/neovim/issues/27383/labels{/name}","comments_url":"https://api.github.com/repos/neovim/neovim/issues/27383/comments","events_url":"https://api.github.com/repos/neovim/neovim/issues/27383/events","html_url":"https://github.com/neovim/neovim/issues/27383","id":2124307858,"node_id":"I_kwDOAPphoM5-nl2S","number":27383,"title":"lsp: deleting entire file breaks incremental synchronization","user":{"login":"XeroOl","id":6820998,"node_id":"MDQ6VXNlcjY4MjA5OTg=","avatar_url":"https://avatars.githubusercontent.com/u/6820998?v=4","gravatar_id":"","url":"https://api.github.com/users/XeroOl","html_url":"https://github.com/XeroOl","followers_url":"https://api.github.com/users/XeroOl/followers","following_url":"https://api.github.com/users/XeroOl/following{/other_user}","gists_url":"https://api.github.com/users/XeroOl/gists{/gist_id}","starred_url":"https://api.github.com/users/XeroOl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/XeroOl/subscriptions","organizations_url":"https://api.github.com/users/XeroOl/orgs","repos_url":"https://api.github.com/users/XeroOl/repos","events_url":"https://api.github.com/users/XeroOl/events{/privacy}","received_events_url":"https://api.github.com/users/XeroOl/received_events","type":"User","site_admin":false},"labels":[{"id":77997474,"node_id":"MDU6TGFiZWw3Nzk5NzQ3NA==","url":"https://api.github.com/repos/neovim/neovim/labels/bug","name":"bug","color":"f9d0c4","default":true,"description":"issues reporting wrong behavior"},{"id":662566370,"node_id":"MDU6TGFiZWw2NjI1NjYzNzA=","url":"https://api.github.com/repos/neovim/neovim/labels/lsp","name":"lsp","color":"c5def5","default":false,"description":null}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2024-02-08T03:51:32Z","updated_at":"2024-03-11T01:13:57Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"### Problem\r\n\r\nNeovim generates an invalid `textDocument/didChange` message when deleting and pasting the entire file.\r\nThe message references the range {line 0 col 0 - line 1 col 0}, but when you delete the entire file, there is no line 1.\r\n\r\nI'm making a language server, and my server gets confused by this range, because it goes past the end of the file.\r\n\r\nEvery other language server I've tried seems to tolerate the invalid message, but I'm fairly sure Neovim's behavior isn't correct.\r\n\r\n### Steps to reproduce using \"nvim -u minimal_init.lua\"\r\n\r\nYou should be able to reproduce this really easily with almost any setup, as long as the language supports the `{\"change\":2}` mode. (pretty much all language servers do this).\r\n\r\nAt this point, skip down to the Steps section.\r\n\r\n# Probably unnecessary details\r\nIf you *really* want the exact same setup as me, you can follow these steps:\r\n\r\nThe exact steps to set up the environment
\r\n\r\nDownload [fennel-ls](https://git.sr.ht/~xerool/fennel-ls/refs/0.1.0) and put it on the path. To run it, you also need need `lua` on the path, because fennel-ls runs in lua.\r\nThen, init.lua:\r\n\r\n```lua\r\n--- CHANGED THESE\r\nlocal pattern = '*.fnl'\r\nlocal cmd = {'fennel-ls'}\r\n-- Add files/folders here that indicate the root of a project\r\nlocal root_markers = {'.git', '.editorconfig'}\r\n-- Change to table with settings if required\r\nlocal settings = vim.empty_dict()\r\n\r\nvim.api.nvim_create_autocmd('BufEnter', {\r\n pattern = pattern,\r\n callback = function(args)\r\n print(\"reached callback\")\r\n local match = vim.fs.find(root_markers, { path = args.file, upward = true })[1]\r\n local root_dir = match and vim.fn.fnamemodify(match, ':p:h') or nil\r\n vim.lsp.start({\r\n name = 'fennel-ls',\r\n cmd = cmd,\r\n root_dir = root_dir,\r\n settings = settings\r\n })\r\n end\r\n})\r\n```\r\nI know bufenter is the wrong autocmd, but there is no filetype for .fnl.\r\n\r\nThen, `touch .editorconfig` so that the current dir is a root dir. `fennel-ls` needs a workspace to run in, so this is important.\r\nFinally, run the following steps, using `broken.fnl` as the filename.\r\n \r\n\r\n# Steps\r\n1. Open a new file that starts a language server\r\n2. Type any text. (in my logs, I type the letter `o`)\r\n3. Move the cursor to the start of the file and use `dG` to delete everything\r\n4. Press `p` to paste everything back\r\n5. Observe that the message sent to the language server isn't valid.\r\n\r\n# Description of each sync step\r\nFor each step, I'll show the `textDocument/didOpen` and `textDocument/didChange` messages that are sent to the server, and what the file should contain.\r\n## Open a new file that starts a language server\r\n```json\r\n{\r\n \"params\": {\r\n \"textDocument\": {\r\n \"version\": 0,\r\n \"text\": \"\\n\",\r\n \"uri\": \"file:///home/xerool/Documents/bug/broken.fnl\",\r\n \"languageId\": \"fennel\"\r\n }\r\n },\r\n \"jsonrpc\": \"2.0\",\r\n \"method\": \"textDocument/didOpen\"\r\n}\r\n```\r\nOkay, so Neovim starts an \"empty\" file with a newline. That's fine. The contents of the file are `\"\\n\"`.\r\n\r\n## Type any text.\r\nIn this instance, I simply typed the letter `o`.\r\n```json\r\n{\r\n \"params\": {\r\n \"textDocument\": {\r\n \"uri\": \"file:///home/xerool/Documents/bug/broken.fnl\",\r\n \"version\": 4\r\n },\r\n \"contentChanges\": [\r\n {\r\n \"range\": {\r\n \"end\": {\r\n \"line\": 0,\r\n \"character\": 0\r\n },\r\n \"start\": {\r\n \"line\": 0,\r\n \"character\": 0\r\n }\r\n },\r\n \"text\": \"o\",\r\n \"rangeLength\": 0\r\n }\r\n ]\r\n },\r\n \"jsonrpc\": \"2.0\",\r\n \"method\": \"textDocument/didChange\"\r\n}\r\n```\r\nOkay, so we take the range {line 0 char 0 - line 0 char 0} and replace it with `\"o\"`. The contents of the file are `\"o\\n\"`.\r\n\r\n## Delete everything\r\n```json\r\n{\r\n \"params\": {\r\n \"textDocument\": {\r\n \"uri\": \"file:///home/xerool/Documents/bug/broken.fnl\",\r\n \"version\": 5\r\n },\r\n \"contentChanges\": [\r\n {\r\n \"range\": {\r\n \"end\": {\r\n \"line\": 1,\r\n \"character\": 0\r\n },\r\n \"start\": {\r\n \"line\": 0,\r\n \"character\": 0\r\n }\r\n },\r\n \"text\": \"\",\r\n \"rangeLength\": 2\r\n }\r\n ]\r\n },\r\n \"jsonrpc\": \"2.0\",\r\n \"method\": \"textDocument/didChange\"\r\n}\r\n```\r\nOkay, so we replace from {line 0 char 0 - line 1 char 0} with \"\". Now, the current content of the file is `\"\"`, with no newline. The file is empty.\r\n\r\n## Press `p`\r\n```json\r\n{\r\n \"params\": {\r\n \"textDocument\": {\r\n \"uri\": \"file:///home/xerool/Documents/bug/broken.fnl\",\r\n \"version\": 6\r\n },\r\n \"contentChanges\": [\r\n {\r\n \"range\": {\r\n \"end\": {\r\n \"line\": 1,\r\n \"character\": 0\r\n },\r\n \"start\": {\r\n \"line\": 0,\r\n \"character\": 0\r\n }\r\n },\r\n \"text\": \"\\no\\n\",\r\n \"rangeLength\": 1\r\n }\r\n ]\r\n },\r\n \"jsonrpc\": \"2.0\",\r\n \"method\": \"textDocument/didChange\"\r\n}\r\n```\r\nHere's where I've got a problem. According to the previous messages, the file's contents are `\"\"`. It's empty. However, the server is being asked to replace from {line 0 char 0 - line 1 char 0} with some text.\r\n\r\nThere is no position that corresponds to line 1 char 0, because there is no newline character in the file, and therefore no line 1.\r\n\r\nNow, you may argue that [the protocol](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#range) says:\r\n> If you want to specify a range that contains a line including the line ending character(s) then use an end position denoting the start of the next line.\r\n\r\nHowever, this doesn't apply here, because there is no \"line ending character(s)\" that could possibly be included here. I believe that Neovim's message isn't valid, and that it is correct for the language server to crash.\r\n\r\n### Expected behavior\r\n\r\nI expected the the content changes to be applicable to the file. For example: I would be okay if the final message did not try to reference line 1:\r\n```json\r\n{\r\n \"params\": {\r\n \"textDocument\": {\r\n \"uri\": \"file:///home/xerool/Documents/bug/broken.fnl\",\r\n \"version\": 6\r\n },\r\n \"contentChanges\": [\r\n {\r\n \"range\": {\r\n \"end\": {\r\n \"line\": 0,\r\n \"character\": 0\r\n },\r\n \"start\": {\r\n \"line\": 0,\r\n \"character\": 0\r\n }\r\n },\r\n \"text\": \"\\no\\n\",\r\n \"rangeLength\": 1\r\n }\r\n ]\r\n },\r\n \"jsonrpc\": \"2.0\",\r\n \"method\": \"textDocument/didChange\"\r\n}\r\n```\r\nIt would also be okay if instead, there was an extra \"contentChanges\" message after the `dP` that re-introduces the newline after telling the server that the newline was deleted. I'm not sure exactly where the server and client are desyncing, but I would like them to stay in sync.\r\n\r\n### Neovim version (nvim -v)\r\n\r\n0.9.5 Release\r\n\r\n### Language server name/version\r\n\r\nfennel-ls 0.1.0\r\n\r\n### Operating system/version\r\n\r\nArch Linux\r\n\r\n### Log file\r\n\r\nhttps://gist.github.com/XeroOl/873a8ab9968861cf33c73f8acea3ab28","reactions":{"url":"https://api.github.com/repos/neovim/neovim/issues/27383/reactions","total_count":3,"+1":3,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/neovim/neovim/issues/27383/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/neovim/neovim/issues/comments/1987461762","html_url":"https://github.com/neovim/neovim/issues/27383#issuecomment-1987461762","issue_url":"https://api.github.com/repos/neovim/neovim/issues/27383","id":1987461762,"node_id":"IC_kwDOAPphoM52dkKC","user":{"login":"dylan-chong","id":17482349,"node_id":"MDQ6VXNlcjE3NDgyMzQ5","avatar_url":"https://avatars.githubusercontent.com/u/17482349?v=4","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","html_url":"https://github.com/dylan-chong","followers_url":"https://api.github.com/users/dylan-chong/followers","following_url":"https://api.github.com/users/dylan-chong/following{/other_user}","gists_url":"https://api.github.com/users/dylan-chong/gists{/gist_id}","starred_url":"https://api.github.com/users/dylan-chong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dylan-chong/subscriptions","organizations_url":"https://api.github.com/users/dylan-chong/orgs","repos_url":"https://api.github.com/users/dylan-chong/repos","events_url":"https://api.github.com/users/dylan-chong/events{/privacy}","received_events_url":"https://api.github.com/users/dylan-chong/received_events","type":"User","site_admin":false},"created_at":"2024-03-11T01:13:56Z","updated_at":"2024-03-11T01:13:56Z","author_association":"NONE","body":"This could be related https://github.com/neovim/neovim/pull/16669\r\n\r\ncc @rish987 @mjlbach ","reactions":{"url":"https://api.github.com/repos/neovim/neovim/issues/comments/1987461762/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-11T01:13:58Z","org":{"id":6471485,"login":"neovim","gravatar_id":"","url":"https://api.github.com/orgs/neovim","avatar_url":"https://avatars.githubusercontent.com/u/6471485?"}},{"id":"36358884356","type":"IssueCommentEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":16408992,"name":"neovim/neovim","url":"https://api.github.com/repos/neovim/neovim"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/neovim/neovim/issues/27383","repository_url":"https://api.github.com/repos/neovim/neovim","labels_url":"https://api.github.com/repos/neovim/neovim/issues/27383/labels{/name}","comments_url":"https://api.github.com/repos/neovim/neovim/issues/27383/comments","events_url":"https://api.github.com/repos/neovim/neovim/issues/27383/events","html_url":"https://github.com/neovim/neovim/issues/27383","id":2124307858,"node_id":"I_kwDOAPphoM5-nl2S","number":27383,"title":"lsp: deleting entire file breaks incremental synchronization","user":{"login":"XeroOl","id":6820998,"node_id":"MDQ6VXNlcjY4MjA5OTg=","avatar_url":"https://avatars.githubusercontent.com/u/6820998?v=4","gravatar_id":"","url":"https://api.github.com/users/XeroOl","html_url":"https://github.com/XeroOl","followers_url":"https://api.github.com/users/XeroOl/followers","following_url":"https://api.github.com/users/XeroOl/following{/other_user}","gists_url":"https://api.github.com/users/XeroOl/gists{/gist_id}","starred_url":"https://api.github.com/users/XeroOl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/XeroOl/subscriptions","organizations_url":"https://api.github.com/users/XeroOl/orgs","repos_url":"https://api.github.com/users/XeroOl/repos","events_url":"https://api.github.com/users/XeroOl/events{/privacy}","received_events_url":"https://api.github.com/users/XeroOl/received_events","type":"User","site_admin":false},"labels":[{"id":77997474,"node_id":"MDU6TGFiZWw3Nzk5NzQ3NA==","url":"https://api.github.com/repos/neovim/neovim/labels/bug","name":"bug","color":"f9d0c4","default":true,"description":"issues reporting wrong behavior"},{"id":662566370,"node_id":"MDU6TGFiZWw2NjI1NjYzNzA=","url":"https://api.github.com/repos/neovim/neovim/labels/lsp","name":"lsp","color":"c5def5","default":false,"description":null}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2024-02-08T03:51:32Z","updated_at":"2024-03-08T02:34:10Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"### Problem\r\n\r\nNeovim generates an invalid `textDocument/didChange` message when deleting and pasting the entire file.\r\nThe message references the range {line 0 col 0 - line 1 col 0}, but when you delete the entire file, there is no line 1.\r\n\r\nI'm making a language server, and my server gets confused by this range, because it goes past the end of the file.\r\n\r\nEvery other language server I've tried seems to tolerate the invalid message, but I'm fairly sure Neovim's behavior isn't correct.\r\n\r\n### Steps to reproduce using \"nvim -u minimal_init.lua\"\r\n\r\nYou should be able to reproduce this really easily with almost any setup, as long as the language supports the `{\"change\":2}` mode. (pretty much all language servers do this).\r\n\r\nAt this point, skip down to the Steps section.\r\n\r\n# Probably unnecessary details\r\nIf you *really* want the exact same setup as me, you can follow these steps:\r\n\r\nThe exact steps to set up the environment
\r\n\r\nDownload [fennel-ls](https://git.sr.ht/~xerool/fennel-ls/refs/0.1.0) and put it on the path. To run it, you also need need `lua` on the path, because fennel-ls runs in lua.\r\nThen, init.lua:\r\n\r\n```lua\r\n--- CHANGED THESE\r\nlocal pattern = '*.fnl'\r\nlocal cmd = {'fennel-ls'}\r\n-- Add files/folders here that indicate the root of a project\r\nlocal root_markers = {'.git', '.editorconfig'}\r\n-- Change to table with settings if required\r\nlocal settings = vim.empty_dict()\r\n\r\nvim.api.nvim_create_autocmd('BufEnter', {\r\n pattern = pattern,\r\n callback = function(args)\r\n print(\"reached callback\")\r\n local match = vim.fs.find(root_markers, { path = args.file, upward = true })[1]\r\n local root_dir = match and vim.fn.fnamemodify(match, ':p:h') or nil\r\n vim.lsp.start({\r\n name = 'fennel-ls',\r\n cmd = cmd,\r\n root_dir = root_dir,\r\n settings = settings\r\n })\r\n end\r\n})\r\n```\r\nI know bufenter is the wrong autocmd, but there is no filetype for .fnl.\r\n\r\nThen, `touch .editorconfig` so that the current dir is a root dir. `fennel-ls` needs a workspace to run in, so this is important.\r\nFinally, run the following steps, using `broken.fnl` as the filename.\r\n \r\n\r\n# Steps\r\n1. Open a new file that starts a language server\r\n2. Type any text. (in my logs, I type the letter `o`)\r\n3. Move the cursor to the start of the file and use `dG` to delete everything\r\n4. Press `p` to paste everything back\r\n5. Observe that the message sent to the language server isn't valid.\r\n\r\n# Description of each sync step\r\nFor each step, I'll show the `textDocument/didOpen` and `textDocument/didChange` messages that are sent to the server, and what the file should contain.\r\n## Open a new file that starts a language server\r\n```json\r\n{\r\n \"params\": {\r\n \"textDocument\": {\r\n \"version\": 0,\r\n \"text\": \"\\n\",\r\n \"uri\": \"file:///home/xerool/Documents/bug/broken.fnl\",\r\n \"languageId\": \"fennel\"\r\n }\r\n },\r\n \"jsonrpc\": \"2.0\",\r\n \"method\": \"textDocument/didOpen\"\r\n}\r\n```\r\nOkay, so Neovim starts an \"empty\" file with a newline. That's fine. The contents of the file are `\"\\n\"`.\r\n\r\n## Type any text.\r\nIn this instance, I simply typed the letter `o`.\r\n```json\r\n{\r\n \"params\": {\r\n \"textDocument\": {\r\n \"uri\": \"file:///home/xerool/Documents/bug/broken.fnl\",\r\n \"version\": 4\r\n },\r\n \"contentChanges\": [\r\n {\r\n \"range\": {\r\n \"end\": {\r\n \"line\": 0,\r\n \"character\": 0\r\n },\r\n \"start\": {\r\n \"line\": 0,\r\n \"character\": 0\r\n }\r\n },\r\n \"text\": \"o\",\r\n \"rangeLength\": 0\r\n }\r\n ]\r\n },\r\n \"jsonrpc\": \"2.0\",\r\n \"method\": \"textDocument/didChange\"\r\n}\r\n```\r\nOkay, so we take the range {line 0 char 0 - line 0 char 0} and replace it with `\"o\"`. The contents of the file are `\"o\\n\"`.\r\n\r\n## Delete everything\r\n```json\r\n{\r\n \"params\": {\r\n \"textDocument\": {\r\n \"uri\": \"file:///home/xerool/Documents/bug/broken.fnl\",\r\n \"version\": 5\r\n },\r\n \"contentChanges\": [\r\n {\r\n \"range\": {\r\n \"end\": {\r\n \"line\": 1,\r\n \"character\": 0\r\n },\r\n \"start\": {\r\n \"line\": 0,\r\n \"character\": 0\r\n }\r\n },\r\n \"text\": \"\",\r\n \"rangeLength\": 2\r\n }\r\n ]\r\n },\r\n \"jsonrpc\": \"2.0\",\r\n \"method\": \"textDocument/didChange\"\r\n}\r\n```\r\nOkay, so we replace from {line 0 char 0 - line 1 char 0} with \"\". Now, the current content of the file is `\"\"`, with no newline. The file is empty.\r\n\r\n## Press `p`\r\n```json\r\n{\r\n \"params\": {\r\n \"textDocument\": {\r\n \"uri\": \"file:///home/xerool/Documents/bug/broken.fnl\",\r\n \"version\": 6\r\n },\r\n \"contentChanges\": [\r\n {\r\n \"range\": {\r\n \"end\": {\r\n \"line\": 1,\r\n \"character\": 0\r\n },\r\n \"start\": {\r\n \"line\": 0,\r\n \"character\": 0\r\n }\r\n },\r\n \"text\": \"\\no\\n\",\r\n \"rangeLength\": 1\r\n }\r\n ]\r\n },\r\n \"jsonrpc\": \"2.0\",\r\n \"method\": \"textDocument/didChange\"\r\n}\r\n```\r\nHere's where I've got a problem. According to the previous messages, the file's contents are `\"\"`. It's empty. However, the server is being asked to replace from {line 0 char 0 - line 1 char 0} with some text.\r\n\r\nThere is no position that corresponds to line 1 char 0, because there is no newline character in the file, and therefore no line 1.\r\n\r\nNow, you may argue that [the protocol](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#range) says:\r\n> If you want to specify a range that contains a line including the line ending character(s) then use an end position denoting the start of the next line.\r\n\r\nHowever, this doesn't apply here, because there is no \"line ending character(s)\" that could possibly be included here. I believe that Neovim's message isn't valid, and that it is correct for the language server to crash.\r\n\r\n### Expected behavior\r\n\r\nI expected the the content changes to be applicable to the file. For example: I would be okay if the final message did not try to reference line 1:\r\n```json\r\n{\r\n \"params\": {\r\n \"textDocument\": {\r\n \"uri\": \"file:///home/xerool/Documents/bug/broken.fnl\",\r\n \"version\": 6\r\n },\r\n \"contentChanges\": [\r\n {\r\n \"range\": {\r\n \"end\": {\r\n \"line\": 0,\r\n \"character\": 0\r\n },\r\n \"start\": {\r\n \"line\": 0,\r\n \"character\": 0\r\n }\r\n },\r\n \"text\": \"\\no\\n\",\r\n \"rangeLength\": 1\r\n }\r\n ]\r\n },\r\n \"jsonrpc\": \"2.0\",\r\n \"method\": \"textDocument/didChange\"\r\n}\r\n```\r\nIt would also be okay if instead, there was an extra \"contentChanges\" message after the `dP` that re-introduces the newline after telling the server that the newline was deleted. I'm not sure exactly where the server and client are desyncing, but I would like them to stay in sync.\r\n\r\n### Neovim version (nvim -v)\r\n\r\n0.9.5 Release\r\n\r\n### Language server name/version\r\n\r\nfennel-ls 0.1.0\r\n\r\n### Operating system/version\r\n\r\nArch Linux\r\n\r\n### Log file\r\n\r\nhttps://gist.github.com/XeroOl/873a8ab9968861cf33c73f8acea3ab28","reactions":{"url":"https://api.github.com/repos/neovim/neovim/issues/27383/reactions","total_count":2,"+1":2,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/neovim/neovim/issues/27383/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/neovim/neovim/issues/comments/1984940814","html_url":"https://github.com/neovim/neovim/issues/27383#issuecomment-1984940814","issue_url":"https://api.github.com/repos/neovim/neovim/issues/27383","id":1984940814,"node_id":"IC_kwDOAPphoM52T8sO","user":{"login":"dylan-chong","id":17482349,"node_id":"MDQ6VXNlcjE3NDgyMzQ5","avatar_url":"https://avatars.githubusercontent.com/u/17482349?v=4","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","html_url":"https://github.com/dylan-chong","followers_url":"https://api.github.com/users/dylan-chong/followers","following_url":"https://api.github.com/users/dylan-chong/following{/other_user}","gists_url":"https://api.github.com/users/dylan-chong/gists{/gist_id}","starred_url":"https://api.github.com/users/dylan-chong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dylan-chong/subscriptions","organizations_url":"https://api.github.com/users/dylan-chong/orgs","repos_url":"https://api.github.com/users/dylan-chong/repos","events_url":"https://api.github.com/users/dylan-chong/events{/privacy}","received_events_url":"https://api.github.com/users/dylan-chong/received_events","type":"User","site_admin":false},"created_at":"2024-03-08T02:34:09Z","updated_at":"2024-03-08T02:34:09Z","author_association":"NONE","body":"i get a similar error when `yy`ing some line then `p`ing it somewhere on some other line. there's a chance that `p`ing will make the lsp get very out of sync. (have noticed this on tsx files). often get diagnostics about syntax error or something ridiculous that will go away when `:e`ing","reactions":{"url":"https://api.github.com/repos/neovim/neovim/issues/comments/1984940814/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-08T02:34:10Z","org":{"id":6471485,"login":"neovim","gravatar_id":"","url":"https://api.github.com/orgs/neovim","avatar_url":"https://avatars.githubusercontent.com/u/6471485?"}},{"id":"36209939159","type":"PushEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":737480126,"name":"dylan-chong/sofle-nicenano-oled","url":"https://api.github.com/repos/dylan-chong/sofle-nicenano-oled"},"payload":{"repository_id":737480126,"push_id":17371260043,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"108091ee995ac9b51a93d6a8fb23bd89f928bb0e","before":"3eb9141b3bfb8acc297f5cfb5065d28453e88657","commits":[{"sha":"108091ee995ac9b51a93d6a8fb23bd89f928bb0e","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Bump power","distinct":true,"url":"https://api.github.com/repos/dylan-chong/sofle-nicenano-oled/commits/108091ee995ac9b51a93d6a8fb23bd89f928bb0e"}]},"public":true,"created_at":"2024-03-04T06:28:51Z"},{"id":"36193835729","type":"PushEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":737480126,"name":"dylan-chong/sofle-nicenano-oled","url":"https://api.github.com/repos/dylan-chong/sofle-nicenano-oled"},"payload":{"repository_id":737480126,"push_id":17361711827,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"3eb9141b3bfb8acc297f5cfb5065d28453e88657","before":"5f9ad1b226974876b31f006044f3bea84a61e07d","commits":[{"sha":"3eb9141b3bfb8acc297f5cfb5065d28453e88657","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Set backspace","distinct":true,"url":"https://api.github.com/repos/dylan-chong/sofle-nicenano-oled/commits/3eb9141b3bfb8acc297f5cfb5065d28453e88657"}]},"public":true,"created_at":"2024-03-03T06:13:50Z"},{"id":"35988128597","type":"PushEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":135787576,"name":"dylan-chong/dotfiles","url":"https://api.github.com/repos/dylan-chong/dotfiles"},"payload":{"repository_id":135787576,"push_id":17258575936,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"792e1a9a3a20e6ae8e35e6531de7e850d4b8054d","before":"c9e2e1f3461c9c3100736109ce4b5170a8581458","commits":[{"sha":"792e1a9a3a20e6ae8e35e6531de7e850d4b8054d","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Plugin update","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/792e1a9a3a20e6ae8e35e6531de7e850d4b8054d"}]},"public":true,"created_at":"2024-02-25T18:42:24Z"},{"id":"35892943711","type":"PushEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":135787576,"name":"dylan-chong/dotfiles","url":"https://api.github.com/repos/dylan-chong/dotfiles"},"payload":{"repository_id":135787576,"push_id":17204567462,"size":3,"distinct_size":3,"ref":"refs/heads/master","head":"c9e2e1f3461c9c3100736109ce4b5170a8581458","before":"3197f307d14dc1432041d79768d42e7aa295cd2d","commits":[{"sha":"b8882e97d434082b73c492b857f302c2cd836fd4","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Better PrettyPath","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/b8882e97d434082b73c492b857f302c2cd836fd4"},{"sha":"f2ebeeb91fcc1ae07387eb1eb8a9ca0d0ca62dfc","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Wintabs file shorten with","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/f2ebeeb91fcc1ae07387eb1eb8a9ca0d0ca62dfc"},{"sha":"c9e2e1f3461c9c3100736109ce4b5170a8581458","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Various","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/c9e2e1f3461c9c3100736109ce4b5170a8581458"}]},"public":true,"created_at":"2024-02-22T01:34:35Z"},{"id":"35724301771","type":"IssueCommentEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":479920544,"name":"lmburns/lf.nvim","url":"https://api.github.com/repos/lmburns/lf.nvim"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/lmburns/lf.nvim/issues/24","repository_url":"https://api.github.com/repos/lmburns/lf.nvim","labels_url":"https://api.github.com/repos/lmburns/lf.nvim/issues/24/labels{/name}","comments_url":"https://api.github.com/repos/lmburns/lf.nvim/issues/24/comments","events_url":"https://api.github.com/repos/lmburns/lf.nvim/issues/24/events","html_url":"https://github.com/lmburns/lf.nvim/issues/24","id":1888864155,"node_id":"I_kwDOHJsBoM5wlceb","number":24,"title":"Cannot open lf after renaming the currently open file","user":{"login":"mhdna","id":76184333,"node_id":"MDQ6VXNlcjc2MTg0MzMz","avatar_url":"https://avatars.githubusercontent.com/u/76184333?v=4","gravatar_id":"","url":"https://api.github.com/users/mhdna","html_url":"https://github.com/mhdna","followers_url":"https://api.github.com/users/mhdna/followers","following_url":"https://api.github.com/users/mhdna/following{/other_user}","gists_url":"https://api.github.com/users/mhdna/gists{/gist_id}","starred_url":"https://api.github.com/users/mhdna/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhdna/subscriptions","organizations_url":"https://api.github.com/users/mhdna/orgs","repos_url":"https://api.github.com/users/mhdna/repos","events_url":"https://api.github.com/users/mhdna/events{/privacy}","received_events_url":"https://api.github.com/users/mhdna/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2023-09-09T20:21:36Z","updated_at":"2024-02-16T02:35:56Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"If you try renaming the currently open file then start `lf`, this error message shows up and you'll never be able to open `lf` afterwards unless you restart Neovim, even if you switch to the newly created file or to other buffers:\r\n\r\n```\r\nError executing Lua callback: /home/mahdi/.local/share/nvim/lazy/lf.nvim/lua/lf/main.lua:299: wrong number of arguments to 'insert' \r\nstack traceback:\r\n [C]: in function 'insert'\r\n /home/mahdi/.local/share/nvim/lazy/lf.nvim/lua/lf/main.lua:299: in function '__set_argv'\r\n /home/mahdi/.local/share/nvim/lazy/lf.nvim/lua/lf/main.lua:75: in function 'new'\r\n /home/mahdi/.local/share/nvim/lazy/lf.nvim/lua/lf.lua:127: in function 'start'\r\n /home/mahdi/.local/share/nvim/lazy/lf.nvim/lua/lf.lua:37: in function \r\n```","reactions":{"url":"https://api.github.com/repos/lmburns/lf.nvim/issues/24/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/lmburns/lf.nvim/issues/24/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/lmburns/lf.nvim/issues/comments/1947668286","html_url":"https://github.com/lmburns/lf.nvim/issues/24#issuecomment-1947668286","issue_url":"https://api.github.com/repos/lmburns/lf.nvim/issues/24","id":1947668286,"node_id":"IC_kwDOHJsBoM50Fw8-","user":{"login":"dylan-chong","id":17482349,"node_id":"MDQ6VXNlcjE3NDgyMzQ5","avatar_url":"https://avatars.githubusercontent.com/u/17482349?v=4","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","html_url":"https://github.com/dylan-chong","followers_url":"https://api.github.com/users/dylan-chong/followers","following_url":"https://api.github.com/users/dylan-chong/following{/other_user}","gists_url":"https://api.github.com/users/dylan-chong/gists{/gist_id}","starred_url":"https://api.github.com/users/dylan-chong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dylan-chong/subscriptions","organizations_url":"https://api.github.com/users/dylan-chong/orgs","repos_url":"https://api.github.com/users/dylan-chong/repos","events_url":"https://api.github.com/users/dylan-chong/events{/privacy}","received_events_url":"https://api.github.com/users/dylan-chong/received_events","type":"User","site_admin":false},"created_at":"2024-02-16T02:35:55Z","updated_at":"2024-02-16T02:35:55Z","author_association":"NONE","body":"@tanloong Wouldn't it make more sense to do a check around this line https://github.com/tanloong/lf.nvim/blob/ffd7e71fb090068931df50993e686140622995ec/lua/lf/main.lua#L157\r\n\r\nWhat happens if you replace curfile with null?","reactions":{"url":"https://api.github.com/repos/lmburns/lf.nvim/issues/comments/1947668286/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-02-16T02:35:56Z"},{"id":"35723712065","type":"PushEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":135787576,"name":"dylan-chong/dotfiles","url":"https://api.github.com/repos/dylan-chong/dotfiles"},"payload":{"repository_id":135787576,"push_id":17115167737,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"3197f307d14dc1432041d79768d42e7aa295cd2d","before":"6b13c6133c93a2a26da7194f8c25cb12e60d2725","commits":[{"sha":"3197f307d14dc1432041d79768d42e7aa295cd2d","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"oops","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/3197f307d14dc1432041d79768d42e7aa295cd2d"}]},"public":true,"created_at":"2024-02-16T01:56:22Z"},{"id":"35723426647","type":"PushEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":135787576,"name":"dylan-chong/dotfiles","url":"https://api.github.com/repos/dylan-chong/dotfiles"},"payload":{"repository_id":135787576,"push_id":17115008710,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"6b13c6133c93a2a26da7194f8c25cb12e60d2725","before":"10815b4eb4b74423e9ccde44624fb5cdf49ffec4","commits":[{"sha":"6b13c6133c93a2a26da7194f8c25cb12e60d2725","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Don't show filename, better c-g","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/6b13c6133c93a2a26da7194f8c25cb12e60d2725"}]},"public":true,"created_at":"2024-02-16T01:39:33Z"},{"id":"35723150099","type":"PushEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":135787576,"name":"dylan-chong/dotfiles","url":"https://api.github.com/repos/dylan-chong/dotfiles"},"payload":{"repository_id":135787576,"push_id":17114857208,"size":4,"distinct_size":4,"ref":"refs/heads/master","head":"10815b4eb4b74423e9ccde44624fb5cdf49ffec4","before":"b848f3dfe3e2fcd2bfaa9ba1f0ff881c4da2d925","commits":[{"sha":"25240b12ab4aa96e963ae01b02aa520395805340","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Keep lunarvim lualine stuff","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/25240b12ab4aa96e963ae01b02aa520395805340"},{"sha":"c9ab8a42a95d713e466bb49c13ee0c6c7a823846","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Organise imports keybind","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/c9ab8a42a95d713e466bb49c13ee0c6c7a823846"},{"sha":"14179561964a66887803cafd67edbcb20f4c7f88","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Use better index.tsx file naming in tabs","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/14179561964a66887803cafd67edbcb20f4c7f88"},{"sha":"10815b4eb4b74423e9ccde44624fb5cdf49ffec4","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Fix format on save","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/10815b4eb4b74423e9ccde44624fb5cdf49ffec4"}]},"public":true,"created_at":"2024-02-16T01:21:58Z"},{"id":"35723106285","type":"PullRequestEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":22996856,"name":"zefei/vim-wintabs","url":"https://api.github.com/repos/zefei/vim-wintabs"},"payload":{"action":"opened","number":70,"pull_request":{"url":"https://api.github.com/repos/zefei/vim-wintabs/pulls/70","id":1728715138,"node_id":"PR_kwDOAV7neM5nChmC","html_url":"https://github.com/zefei/vim-wintabs/pull/70","diff_url":"https://github.com/zefei/vim-wintabs/pull/70.diff","patch_url":"https://github.com/zefei/vim-wintabs/pull/70.patch","issue_url":"https://api.github.com/repos/zefei/vim-wintabs/issues/70","number":70,"state":"open","locked":false,"title":"Support g:wintabs_ui_vimtab_name_format as function","user":{"login":"dylan-chong","id":17482349,"node_id":"MDQ6VXNlcjE3NDgyMzQ5","avatar_url":"https://avatars.githubusercontent.com/u/17482349?v=4","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","html_url":"https://github.com/dylan-chong","followers_url":"https://api.github.com/users/dylan-chong/followers","following_url":"https://api.github.com/users/dylan-chong/following{/other_user}","gists_url":"https://api.github.com/users/dylan-chong/gists{/gist_id}","starred_url":"https://api.github.com/users/dylan-chong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dylan-chong/subscriptions","organizations_url":"https://api.github.com/users/dylan-chong/orgs","repos_url":"https://api.github.com/users/dylan-chong/repos","events_url":"https://api.github.com/users/dylan-chong/events{/privacy}","received_events_url":"https://api.github.com/users/dylan-chong/received_events","type":"User","site_admin":false},"body":null,"created_at":"2024-02-16T01:19:00Z","updated_at":"2024-02-16T01:19:00Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/zefei/vim-wintabs/pulls/70/commits","review_comments_url":"https://api.github.com/repos/zefei/vim-wintabs/pulls/70/comments","review_comment_url":"https://api.github.com/repos/zefei/vim-wintabs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/zefei/vim-wintabs/issues/70/comments","statuses_url":"https://api.github.com/repos/zefei/vim-wintabs/statuses/006218592dc2b3acaebf68a37ddabafde4f4acbe","head":{"label":"dylan-chong:master","ref":"master","sha":"006218592dc2b3acaebf68a37ddabafde4f4acbe","user":{"login":"dylan-chong","id":17482349,"node_id":"MDQ6VXNlcjE3NDgyMzQ5","avatar_url":"https://avatars.githubusercontent.com/u/17482349?v=4","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","html_url":"https://github.com/dylan-chong","followers_url":"https://api.github.com/users/dylan-chong/followers","following_url":"https://api.github.com/users/dylan-chong/following{/other_user}","gists_url":"https://api.github.com/users/dylan-chong/gists{/gist_id}","starred_url":"https://api.github.com/users/dylan-chong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dylan-chong/subscriptions","organizations_url":"https://api.github.com/users/dylan-chong/orgs","repos_url":"https://api.github.com/users/dylan-chong/repos","events_url":"https://api.github.com/users/dylan-chong/events{/privacy}","received_events_url":"https://api.github.com/users/dylan-chong/received_events","type":"User","site_admin":false},"repo":{"id":137645088,"node_id":"MDEwOlJlcG9zaXRvcnkxMzc2NDUwODg=","name":"vim-wintabs","full_name":"dylan-chong/vim-wintabs","private":false,"owner":{"login":"dylan-chong","id":17482349,"node_id":"MDQ6VXNlcjE3NDgyMzQ5","avatar_url":"https://avatars.githubusercontent.com/u/17482349?v=4","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","html_url":"https://github.com/dylan-chong","followers_url":"https://api.github.com/users/dylan-chong/followers","following_url":"https://api.github.com/users/dylan-chong/following{/other_user}","gists_url":"https://api.github.com/users/dylan-chong/gists{/gist_id}","starred_url":"https://api.github.com/users/dylan-chong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dylan-chong/subscriptions","organizations_url":"https://api.github.com/users/dylan-chong/orgs","repos_url":"https://api.github.com/users/dylan-chong/repos","events_url":"https://api.github.com/users/dylan-chong/events{/privacy}","received_events_url":"https://api.github.com/users/dylan-chong/received_events","type":"User","site_admin":false},"html_url":"https://github.com/dylan-chong/vim-wintabs","description":"Modern buffer manager for Vim","fork":true,"url":"https://api.github.com/repos/dylan-chong/vim-wintabs","forks_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/forks","keys_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/teams","hooks_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/hooks","issue_events_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/issues/events{/number}","events_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/events","assignees_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/assignees{/user}","branches_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/branches{/branch}","tags_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/tags","blobs_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/git/refs{/sha}","trees_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/statuses/{sha}","languages_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/languages","stargazers_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/stargazers","contributors_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/contributors","subscribers_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/subscribers","subscription_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/subscription","commits_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/commits{/sha}","git_commits_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/git/commits{/sha}","comments_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/comments{/number}","issue_comment_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/issues/comments{/number}","contents_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/contents/{+path}","compare_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/merges","archive_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/downloads","issues_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/issues{/number}","pulls_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/pulls{/number}","milestones_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/milestones{/number}","notifications_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/labels{/name}","releases_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/releases{/id}","deployments_url":"https://api.github.com/repos/dylan-chong/vim-wintabs/deployments","created_at":"2018-06-17T10:01:43Z","updated_at":"2024-02-16T00:28:06Z","pushed_at":"2024-02-16T01:18:28Z","git_url":"git://github.com/dylan-chong/vim-wintabs.git","ssh_url":"git@github.com:dylan-chong/vim-wintabs.git","clone_url":"https://github.com/dylan-chong/vim-wintabs.git","svn_url":"https://github.com/dylan-chong/vim-wintabs","homepage":"","size":4603,"stargazers_count":0,"watchers_count":0,"language":"Vim Script","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"zefei:master","ref":"master","sha":"6d18d62ae0f293a108afee8c514706027faefcf3","user":{"login":"zefei","id":860179,"node_id":"MDQ6VXNlcjg2MDE3OQ==","avatar_url":"https://avatars.githubusercontent.com/u/860179?v=4","gravatar_id":"","url":"https://api.github.com/users/zefei","html_url":"https://github.com/zefei","followers_url":"https://api.github.com/users/zefei/followers","following_url":"https://api.github.com/users/zefei/following{/other_user}","gists_url":"https://api.github.com/users/zefei/gists{/gist_id}","starred_url":"https://api.github.com/users/zefei/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zefei/subscriptions","organizations_url":"https://api.github.com/users/zefei/orgs","repos_url":"https://api.github.com/users/zefei/repos","events_url":"https://api.github.com/users/zefei/events{/privacy}","received_events_url":"https://api.github.com/users/zefei/received_events","type":"User","site_admin":false},"repo":{"id":22996856,"node_id":"MDEwOlJlcG9zaXRvcnkyMjk5Njg1Ng==","name":"vim-wintabs","full_name":"zefei/vim-wintabs","private":false,"owner":{"login":"zefei","id":860179,"node_id":"MDQ6VXNlcjg2MDE3OQ==","avatar_url":"https://avatars.githubusercontent.com/u/860179?v=4","gravatar_id":"","url":"https://api.github.com/users/zefei","html_url":"https://github.com/zefei","followers_url":"https://api.github.com/users/zefei/followers","following_url":"https://api.github.com/users/zefei/following{/other_user}","gists_url":"https://api.github.com/users/zefei/gists{/gist_id}","starred_url":"https://api.github.com/users/zefei/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zefei/subscriptions","organizations_url":"https://api.github.com/users/zefei/orgs","repos_url":"https://api.github.com/users/zefei/repos","events_url":"https://api.github.com/users/zefei/events{/privacy}","received_events_url":"https://api.github.com/users/zefei/received_events","type":"User","site_admin":false},"html_url":"https://github.com/zefei/vim-wintabs","description":"Modern buffer manager for Vim","fork":false,"url":"https://api.github.com/repos/zefei/vim-wintabs","forks_url":"https://api.github.com/repos/zefei/vim-wintabs/forks","keys_url":"https://api.github.com/repos/zefei/vim-wintabs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/zefei/vim-wintabs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/zefei/vim-wintabs/teams","hooks_url":"https://api.github.com/repos/zefei/vim-wintabs/hooks","issue_events_url":"https://api.github.com/repos/zefei/vim-wintabs/issues/events{/number}","events_url":"https://api.github.com/repos/zefei/vim-wintabs/events","assignees_url":"https://api.github.com/repos/zefei/vim-wintabs/assignees{/user}","branches_url":"https://api.github.com/repos/zefei/vim-wintabs/branches{/branch}","tags_url":"https://api.github.com/repos/zefei/vim-wintabs/tags","blobs_url":"https://api.github.com/repos/zefei/vim-wintabs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/zefei/vim-wintabs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/zefei/vim-wintabs/git/refs{/sha}","trees_url":"https://api.github.com/repos/zefei/vim-wintabs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/zefei/vim-wintabs/statuses/{sha}","languages_url":"https://api.github.com/repos/zefei/vim-wintabs/languages","stargazers_url":"https://api.github.com/repos/zefei/vim-wintabs/stargazers","contributors_url":"https://api.github.com/repos/zefei/vim-wintabs/contributors","subscribers_url":"https://api.github.com/repos/zefei/vim-wintabs/subscribers","subscription_url":"https://api.github.com/repos/zefei/vim-wintabs/subscription","commits_url":"https://api.github.com/repos/zefei/vim-wintabs/commits{/sha}","git_commits_url":"https://api.github.com/repos/zefei/vim-wintabs/git/commits{/sha}","comments_url":"https://api.github.com/repos/zefei/vim-wintabs/comments{/number}","issue_comment_url":"https://api.github.com/repos/zefei/vim-wintabs/issues/comments{/number}","contents_url":"https://api.github.com/repos/zefei/vim-wintabs/contents/{+path}","compare_url":"https://api.github.com/repos/zefei/vim-wintabs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/zefei/vim-wintabs/merges","archive_url":"https://api.github.com/repos/zefei/vim-wintabs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/zefei/vim-wintabs/downloads","issues_url":"https://api.github.com/repos/zefei/vim-wintabs/issues{/number}","pulls_url":"https://api.github.com/repos/zefei/vim-wintabs/pulls{/number}","milestones_url":"https://api.github.com/repos/zefei/vim-wintabs/milestones{/number}","notifications_url":"https://api.github.com/repos/zefei/vim-wintabs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/zefei/vim-wintabs/labels{/name}","releases_url":"https://api.github.com/repos/zefei/vim-wintabs/releases{/id}","deployments_url":"https://api.github.com/repos/zefei/vim-wintabs/deployments","created_at":"2014-08-15T17:12:38Z","updated_at":"2024-02-11T02:46:23Z","pushed_at":"2024-02-16T01:19:01Z","git_url":"git://github.com/zefei/vim-wintabs.git","ssh_url":"git@github.com:zefei/vim-wintabs.git","clone_url":"https://github.com/zefei/vim-wintabs.git","svn_url":"https://github.com/zefei/vim-wintabs","homepage":"","size":4610,"stargazers_count":318,"watchers_count":318,"language":"Vim script","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"has_discussions":false,"forks_count":26,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":17,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"topics":["statusline","tabline","vim","vim-plugin"],"visibility":"public","forks":26,"open_issues":17,"watchers":318,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/zefei/vim-wintabs/pulls/70"},"html":{"href":"https://github.com/zefei/vim-wintabs/pull/70"},"issue":{"href":"https://api.github.com/repos/zefei/vim-wintabs/issues/70"},"comments":{"href":"https://api.github.com/repos/zefei/vim-wintabs/issues/70/comments"},"review_comments":{"href":"https://api.github.com/repos/zefei/vim-wintabs/pulls/70/comments"},"review_comment":{"href":"https://api.github.com/repos/zefei/vim-wintabs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/zefei/vim-wintabs/pulls/70/commits"},"statuses":{"href":"https://api.github.com/repos/zefei/vim-wintabs/statuses/006218592dc2b3acaebf68a37ddabafde4f4acbe"}},"author_association":"NONE","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":true,"commits":1,"additions":26,"deletions":1,"changed_files":2}},"public":true,"created_at":"2024-02-16T01:19:02Z"},{"id":"35723098435","type":"PushEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":137645088,"name":"dylan-chong/vim-wintabs","url":"https://api.github.com/repos/dylan-chong/vim-wintabs"},"payload":{"repository_id":137645088,"push_id":17114829841,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"006218592dc2b3acaebf68a37ddabafde4f4acbe","before":"8e20e4749e96d4b94f3727e145a2f74c12414f22","commits":[{"sha":"006218592dc2b3acaebf68a37ddabafde4f4acbe","author":{"email":"dylan@partly.com","name":"Dylan Chong"},"message":"Support g:wintabs_ui_vimtab_name_format as function","distinct":true,"url":"https://api.github.com/repos/dylan-chong/vim-wintabs/commits/006218592dc2b3acaebf68a37ddabafde4f4acbe"}]},"public":true,"created_at":"2024-02-16T01:18:29Z"},{"id":"35722440489","type":"PushEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":137645088,"name":"dylan-chong/vim-wintabs","url":"https://api.github.com/repos/dylan-chong/vim-wintabs"},"payload":{"repository_id":137645088,"push_id":17114461571,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"8e20e4749e96d4b94f3727e145a2f74c12414f22","before":"ae160d3877eb1b84df21f23d1c6475a389c7c7de","commits":[{"sha":"8e20e4749e96d4b94f3727e145a2f74c12414f22","author":{"email":"dylan@partly.com","name":"Dylan Chong"},"message":"Try using g:Wintabs_ui_bufname","distinct":true,"url":"https://api.github.com/repos/dylan-chong/vim-wintabs/commits/8e20e4749e96d4b94f3727e145a2f74c12414f22"}]},"public":true,"created_at":"2024-02-16T00:37:40Z"},{"id":"35722335905","type":"PushEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":137645088,"name":"dylan-chong/vim-wintabs","url":"https://api.github.com/repos/dylan-chong/vim-wintabs"},"payload":{"repository_id":137645088,"push_id":17114402689,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"ae160d3877eb1b84df21f23d1c6475a389c7c7de","before":"6d18d62ae0f293a108afee8c514706027faefcf3","commits":[{"sha":"ae160d3877eb1b84df21f23d1c6475a389c7c7de","author":{"email":"dylan@partly.com","name":"Dylan Chong"},"message":"Support g:wintabs_ui_vimtab_name_format as function","distinct":true,"url":"https://api.github.com/repos/dylan-chong/vim-wintabs/commits/ae160d3877eb1b84df21f23d1c6475a389c7c7de"}]},"public":true,"created_at":"2024-02-16T00:31:21Z"},{"id":"35722279017","type":"PushEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":137645088,"name":"dylan-chong/vim-wintabs","url":"https://api.github.com/repos/dylan-chong/vim-wintabs"},"payload":{"repository_id":137645088,"push_id":17114370748,"size":8,"distinct_size":8,"ref":"refs/heads/master","head":"6d18d62ae0f293a108afee8c514706027faefcf3","before":"a876abcf237a36414c53b925b5a1cd33466fa618","commits":[{"sha":"084cb4a792fecfd3902303da174708a67dbb2162","author":{"email":"zefei.xuan@gmail.com","name":"Zefei Xuan"},"message":"try catch confirm edit","distinct":true,"url":"https://api.github.com/repos/dylan-chong/vim-wintabs/commits/084cb4a792fecfd3902303da174708a67dbb2162"},{"sha":"519edb8372d11f33a3e929125ca7d522d33a98c2","author":{"email":"zefei.xuan@gmail.com","name":"Zefei Xuan"},"message":"Merge branch 'master' of https://github.com/zefei/vim-wintabs","distinct":true,"url":"https://api.github.com/repos/dylan-chong/vim-wintabs/commits/519edb8372d11f33a3e929125ca7d522d33a98c2"},{"sha":"731f7f679bf751238f6ad211bf2ce67a11603a45","author":{"email":"zefei.xuan@gmail.com","name":"Zefei Xuan"},"message":"specify try catch error","distinct":true,"url":"https://api.github.com/repos/dylan-chong/vim-wintabs/commits/731f7f679bf751238f6ad211bf2ce67a11603a45"},{"sha":"8745c55e75feb5537b31490357ecca9028a81ce0","author":{"email":"zefei.xuan@gmail.com","name":"Zefei Xuan"},"message":"make WintabsRefresh and wintabs#init refresh current buflist","distinct":true,"url":"https://api.github.com/repos/dylan-chong/vim-wintabs/commits/8745c55e75feb5537b31490357ecca9028a81ce0"},{"sha":"e032e834e6662c26ed450c36813af95e21264061","author":{"email":"zefei.xuan@gmail.com","name":"Zefei Xuan"},"message":"fix session bug with multiple tabpages","distinct":true,"url":"https://api.github.com/repos/dylan-chong/vim-wintabs/commits/e032e834e6662c26ed450c36813af95e21264061"},{"sha":"3062d92ff80197425dbb47b62894373afee80535","author":{"email":"zefei.xuan@gmail.com","name":"Zefei Xuan"},"message":"fixed g:SessionLoad","distinct":true,"url":"https://api.github.com/repos/dylan-chong/vim-wintabs/commits/3062d92ff80197425dbb47b62894373afee80535"},{"sha":"c7c5934d0df238a4f87d758d4937d6d17164a921","author":{"email":"zefei.xuan@gmail.com","name":"Zefei Xuan"},"message":"added ordinal number option to buf_label, breaking compatibility","distinct":true,"url":"https://api.github.com/repos/dylan-chong/vim-wintabs/commits/c7c5934d0df238a4f87d758d4937d6d17164a921"},{"sha":"6d18d62ae0f293a108afee8c514706027faefcf3","author":{"email":"zefei.xuan@gmail.com","name":"Zefei Xuan"},"message":"separate out vimtabs fragment as a public function","distinct":true,"url":"https://api.github.com/repos/dylan-chong/vim-wintabs/commits/6d18d62ae0f293a108afee8c514706027faefcf3"}]},"public":true,"created_at":"2024-02-16T00:28:03Z"},{"id":"35689634312","type":"PushEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":135787576,"name":"dylan-chong/dotfiles","url":"https://api.github.com/repos/dylan-chong/dotfiles"},"payload":{"repository_id":135787576,"push_id":17098206103,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"b848f3dfe3e2fcd2bfaa9ba1f0ff881c4da2d925","before":"f21f003dc92d8beb35518e894de3ed92521fa409","commits":[{"sha":"234659c436bba1bf219984cc149edf89991689bb","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"File display improvemnts","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/234659c436bba1bf219984cc149edf89991689bb"},{"sha":"b848f3dfe3e2fcd2bfaa9ba1f0ff881c4da2d925","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Enuch","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/b848f3dfe3e2fcd2bfaa9ba1f0ff881c4da2d925"}]},"public":true,"created_at":"2024-02-15T02:06:33Z"},{"id":"35660033375","type":"PushEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":135787576,"name":"dylan-chong/dotfiles","url":"https://api.github.com/repos/dylan-chong/dotfiles"},"payload":{"repository_id":135787576,"push_id":17083240772,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"f21f003dc92d8beb35518e894de3ed92521fa409","before":"70296d0478dc570283449a46a120f67cb9662caa","commits":[{"sha":"f21f003dc92d8beb35518e894de3ed92521fa409","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Update lock","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/f21f003dc92d8beb35518e894de3ed92521fa409"}]},"public":true,"created_at":"2024-02-14T06:52:31Z"},{"id":"35589442743","type":"PushEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":135787576,"name":"dylan-chong/dotfiles","url":"https://api.github.com/repos/dylan-chong/dotfiles"},"payload":{"repository_id":135787576,"push_id":17046953105,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"70296d0478dc570283449a46a120f67cb9662caa","before":"e21ba19476a4bfbe0865cf0dbaa1efb743b6f4a7","commits":[{"sha":"e55322b8e62d4e8ad8e339d630743592cc8c6076","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Show filename","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/e55322b8e62d4e8ad8e339d630743592cc8c6076"},{"sha":"70296d0478dc570283449a46a120f67cb9662caa","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"update plugins","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/70296d0478dc570283449a46a120f67cb9662caa"}]},"public":true,"created_at":"2024-02-12T04:27:57Z"},{"id":"35531213846","type":"PushEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":135787576,"name":"dylan-chong/dotfiles","url":"https://api.github.com/repos/dylan-chong/dotfiles"},"payload":{"repository_id":135787576,"push_id":17011842713,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"e21ba19476a4bfbe0865cf0dbaa1efb743b6f4a7","before":"754eb1402485b9092465c375498adce6dcf1e7dd","commits":[{"sha":"e21ba19476a4bfbe0865cf0dbaa1efb743b6f4a7","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Change condep snippet","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/e21ba19476a4bfbe0865cf0dbaa1efb743b6f4a7"}]},"public":true,"created_at":"2024-02-08T22:12:07Z"},{"id":"35497664410","type":"PushEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":135787576,"name":"dylan-chong/dotfiles","url":"https://api.github.com/repos/dylan-chong/dotfiles"},"payload":{"repository_id":135787576,"push_id":16994698881,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"754eb1402485b9092465c375498adce6dcf1e7dd","before":"6b498dff0248c64d9ff57b4e377ce02b7f8b8701","commits":[{"sha":"d962b53924407887104004f7f3cd5cc84f02d7de","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Decrease lsp start timeout","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/d962b53924407887104004f7f3cd5cc84f02d7de"},{"sha":"754eb1402485b9092465c375498adce6dcf1e7dd","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Use vim-fugitive for blame","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/754eb1402485b9092465c375498adce6dcf1e7dd"}]},"public":true,"created_at":"2024-02-07T23:02:39Z"},{"id":"35496554770","type":"IssuesEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":465163068,"name":"tiagovla/scope.nvim","url":"https://api.github.com/repos/tiagovla/scope.nvim"},"payload":{"action":"opened","issue":{"url":"https://api.github.com/repos/tiagovla/scope.nvim/issues/24","repository_url":"https://api.github.com/repos/tiagovla/scope.nvim","labels_url":"https://api.github.com/repos/tiagovla/scope.nvim/issues/24/labels{/name}","comments_url":"https://api.github.com/repos/tiagovla/scope.nvim/issues/24/comments","events_url":"https://api.github.com/repos/tiagovla/scope.nvim/issues/24/events","html_url":"https://github.com/tiagovla/scope.nvim/issues/24","id":2123983613,"node_id":"I_kwDOG7nTPM5-mWr9","number":24,"title":"Add abilty to name the tab","user":{"login":"dylan-chong","id":17482349,"node_id":"MDQ6VXNlcjE3NDgyMzQ5","avatar_url":"https://avatars.githubusercontent.com/u/17482349?v=4","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","html_url":"https://github.com/dylan-chong","followers_url":"https://api.github.com/users/dylan-chong/followers","following_url":"https://api.github.com/users/dylan-chong/following{/other_user}","gists_url":"https://api.github.com/users/dylan-chong/gists{/gist_id}","starred_url":"https://api.github.com/users/dylan-chong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dylan-chong/subscriptions","organizations_url":"https://api.github.com/users/dylan-chong/orgs","repos_url":"https://api.github.com/users/dylan-chong/repos","events_url":"https://api.github.com/users/dylan-chong/events{/privacy}","received_events_url":"https://api.github.com/users/dylan-chong/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2024-02-07T22:09:36Z","updated_at":"2024-02-07T22:09:36Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"So many js files have the name index.js. It would be great if i could manually rename the tab to something manual, like `graphql types`, so i can remember what that tab was for","reactions":{"url":"https://api.github.com/repos/tiagovla/scope.nvim/issues/24/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/tiagovla/scope.nvim/issues/24/timeline","performed_via_github_app":null,"state_reason":null}},"public":true,"created_at":"2024-02-07T22:09:37Z"},{"id":"35496221058","type":"PushEvent","actor":{"id":17482349,"login":"dylan-chong","display_login":"dylan-chong","gravatar_id":"","url":"https://api.github.com/users/dylan-chong","avatar_url":"https://avatars.githubusercontent.com/u/17482349?"},"repo":{"id":135787576,"name":"dylan-chong/dotfiles","url":"https://api.github.com/repos/dylan-chong/dotfiles"},"payload":{"repository_id":135787576,"push_id":16993927078,"size":3,"distinct_size":3,"ref":"refs/heads/master","head":"6b498dff0248c64d9ff57b4e377ce02b7f8b8701","before":"56316e51cbaa95a8f0c3e019c81c5e2134a65222","commits":[{"sha":"e08c89b2d4553c52bc4feff37192651f82c98649","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Fix tab move","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/e08c89b2d4553c52bc4feff37192651f82c98649"},{"sha":"865ed88ef527c4fd2085144337d10f0450002dc3","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Fix revj (it kinda sucks tho)","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/865ed88ef527c4fd2085144337d10f0450002dc3"},{"sha":"6b498dff0248c64d9ff57b4e377ce02b7f8b8701","author":{"email":"dylan.chong@icloud.com","name":"Dylan Chong"},"message":"Add doccom","distinct":true,"url":"https://api.github.com/repos/dylan-chong/dotfiles/commits/6b498dff0248c64d9ff57b4e377ce02b7f8b8701"}]},"public":true,"created_at":"2024-02-07T21:54:50Z"}]