4 Commits 0fc231959b ... 26fe367499

Author SHA1 Message Date
  Thomas Dy 26fe367499 bin: add git-fork 3 months ago
  Thomas Dy f9fd42ef03 nixpkgs/neovim: fix crash in deeply nested JSX 3 months ago
  Thomas Dy 0b05110436 nixpkgs/neovim: update plugins and treesitter 3 months ago
  Thomas Dy 54e5819e08 nixpkgs/neovim: simplify eslint LSP 4 months ago

+ 3 - 14
.config/nixpkgs/neovim/lsp.lua

@@ -11,20 +11,9 @@ nvim_lsp.bashls.setup({
   capabilities = capabilities,
 });
 
-if vim.fn.executable("node_modules/.bin/eslint") == 1 then
-  local options = {}
-  -- some projects have local rules, this isn't exactly generic but is good
-  -- enough
-  if vim.fn.isdirectory("lint-rules") == 1 then
-    options.rulePaths = { "./lint-rules" }
-  end
-
-  nvim_lsp.eslint.setup({
-    settings = {
-      options = options,
-    },
-  })
-end
+nvim_lsp.eslint.setup({
+  capabilities = capabilities,
+});
 
 if vim.fn.executable("dprint") == 1 then
   local version = vim.version.parse(vim.fn.system("dprint --version"))

+ 6 - 0
.config/nixpkgs/neovim/plugins/default.nix

@@ -10,6 +10,12 @@ let
     "jose-elias-alvarez/typescript.nvim" = {
       patches = [ ./typescript-nvim-tsserver.patch ];
     };
+
+    "nvim-treesitter/nvim-treesitter" = {
+      # these extra rules causes nvim to crash when looking at a deeply nested
+      # JSX expression
+      patches = [ ./treesitter-jsx.patch ];
+    };
   };
 
   buildPlugin = name: spec:

+ 26 - 26
.config/nixpkgs/neovim/plugins/sources.json

@@ -4,8 +4,8 @@
     "sha256": "0wqxdjgplf04nq428ialw1w03f8nh5vb629a17vl5gc9gf3zfanq"
   },
   "tpope/vim-fugitive": {
-    "rev": "d4877e54cef67f5af4f950935b1ade19ed6b7370",
-    "sha256": "17cf21k77fwsl67m4f1ln17dadz5i5g8fjhsw1cc1y1c3jn1xdh2"
+    "rev": "320b18fba2a4f2fe3c8225c778c687e0d2620384",
+    "sha256": "1whwsz6sispx59pcqxv64890rb4gga35nd758kcm7f27md7vcr24"
   },
   "tpope/vim-rhubarb": {
     "rev": "ee69335de176d9325267b0fd2597a22901d927b1",
@@ -20,44 +20,44 @@
     "sha256": "1w4sdbcvlicb3n4dpzv8l9g41xl3pqslni227lf88b4p5pjsfkax"
   },
   "Wansmer/treesj": {
-    "rev": "0d81326b5afd36babe7dd480aabbb0b05f33e688",
-    "sha256": "0r2njhwbvia4rw919ncblyf9rgq3n1mqlsyl76jqjwiw6bccvzmr"
+    "rev": "94f6df623f2d15630b1b617abff39962024cb501",
+    "sha256": "1yc9mnck0mhj8w1p37sfh8p8gdb0mnn82q44804prxmzgrjgh9jj"
   },
   "nvim-telescope/telescope.nvim": {
-    "rev": "dc6fc321a5ba076697cca89c9d7ea43153276d81",
-    "sha256": "0jknzk7fi5w05zwl7l5yymgn80nb6sdlqmmkiqzrqn2808aaa4bf"
+    "rev": "2eca9ba22002184ac05eddbe47a7fe2d5a384dfc",
+    "sha256": "0bkpys6dj01x6ycylmf6vrd2mqjibmny9a2hxxrqn0jqqvagm5ly"
   },
   "nvim-telescope/telescope-fzf-native.nvim": {
-    "rev": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b",
-    "sha256": "0h741m7rcm5kl0mq9kkzw6za2h53chavpkai1qp433plaxzlyj0q"
+    "rev": "dae2eac9d91464448b584c7949a31df8faefec56",
+    "sha256": "0gm67j7gcs2a02b7nj15l6acy3dxjqd8cy6mx8nfkdlmq2fij5k4"
   },
   "nvim-lua/plenary.nvim": {
     "rev": "2d9b06177a975543726ce5c73fca176cedbffe9d",
     "sha256": "1blmh0qr010jhydw61kiynll2m7q4xyrvrva8b5ipf1g81x8ysbf"
   },
   "echasnovski/mini.nvim": {
-    "rev": "e52ac74bd4e9c0ce6a182ee551eb099236b5a89d",
-    "sha256": "18kl8hlrkgywq6s9lz53fy4wyzh76j8wpyic12dxhm57clc6hkny"
+    "rev": "7ebfab26d77a4b9b05aaae565907e7fa4b2ee154",
+    "sha256": "068hc5sbpdrp3daq0ls9zbyj1vinpa9r4ghz0mz46xmrsfybchfh"
   },
   "lewis6991/gitsigns.nvim": {
-    "rev": "863903631e676b33e8be2acb17512fdc1b80b4fb",
-    "sha256": "15mp1yh989njsj6fmklr4vxgzkbj4lmwzrgjqayqdf687vpkjrm3"
+    "rev": "5f808b5e4fef30bd8aca1b803b4e555da07fc412",
+    "sha256": "1dxsyv26mm7lzll3xlkzjj6w7kp11wfak8rgp19fg2d8301kxc0z"
   },
   "neovim/nvim-lspconfig": {
-    "rev": "04680101ff79e99b4e33a4386ec27cbd0d360c75",
-    "sha256": "1qv90xhs7i9mqh66kar7awjz1vhnn12i3fc1sbjck50gqsy3131b"
+    "rev": "3cb6c05779459eb5fe9cddbb47675593594f0415",
+    "sha256": "09vsawbf9s29bw8anp3i9lawjs3225f3fb7n85mz3h81fffhs1by"
   },
   "nvim-treesitter/nvim-treesitter-textobjects": {
-    "rev": "b91c98afa6c42819aea6cbc1ba38272f5456a5cf",
-    "sha256": "08chzl9943657f7mp8f83k95cic14br0d8n9233nj17fng0k127v"
+    "rev": "ad8f0a472148c3e0ae9851e26a722ee4e29b1595",
+    "sha256": "08vlvi9iwhl5qy924s6dmxaczg1yg096vdchp7za5p7wnb7w3zkg"
   },
   "jose-elias-alvarez/typescript.nvim": {
     "rev": "4de85ef699d7e6010528dcfbddc2ed4c2c421467",
     "sha256": "0rx29i3hmzh2knxx098fvfc0iafx3j08bs1zbv4dxadq56dnhaxm"
   },
   "sainnhe/sonokai": {
-    "rev": "3dcd97c0c5e4118bc171df6ba33800dfd9524a00",
-    "sha256": "026fksby6v2vl52q1n6pk4v8vrlh71cl8fjqcq4d6arz7lv2fk4j"
+    "rev": "fd42b20963c34dfc1744ac31f6a6efe78f4edad2",
+    "sha256": "0yrw2fzyqijmpsdxbg9w2x8apjmc0x87agr3zfzzd0qn56sz2g86"
   },
   "LnL7/vim-nix": {
     "rev": "e25cd0f2e5922f1f4d3cd969f92e35a9a327ffb0",
@@ -69,12 +69,12 @@
     "sha256": "07q3kss0f6ggil2h4jcfxkwy0gm3q7bl3p4ysy725vnnmhhhlzkx"
   },
   "hrsh7th/cmp-nvim-lsp": {
-    "rev": "39e2eda76828d88b773cc27a3f61d2ad782c922d",
-    "sha256": "13zcw6c7zppvbsjlr8yj3vml6ayalvhjbbqszljmn1f9hmkpwg89"
+    "rev": "99290b3ec1322070bcfb9e846450a46f6efa50f0",
+    "sha256": "08q5mf5jrqjjcl1s4h9zj2vd1kcizz0a5a6p65wv1rc5s1fa3a49"
   },
   "hrsh7th/nvim-cmp": {
-    "rev": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30",
-    "sha256": "0fk7s6apvq4r9h82jqm5azf1zg9aklyycgh7ivnb98bw9a0ivjim"
+    "rev": "3403e2e9391ed0a28c3afddd8612701b647c8e26",
+    "sha256": "17sb7fcmgxvlsrg7cvl3v7zfjvv00s20n0dsmkk1pjbycndpa6q2"
   },
   "hrsh7th/cmp-vsnip": {
     "rev": "989a8a73c44e926199bfd05fa7a516d51f2d2752",
@@ -85,8 +85,8 @@
     "sha256": "06j0fph91x3gdhbf9bb0yv95j34gf827p97vak0l4jb0ib7vmyc2"
   },
   "nvim-treesitter/nvim-treesitter": {
-    "rev": "45e0d66246f31306d890b91301993fa1623e79f1",
-    "sha256": "1dpfzs118rv5717i81y9cibxqqy0x6xy98r93xcnkba75yyn0qbi"
+    "rev": "cfbbdd5effbde3d47d2d662e67cfcd62a93b783f",
+    "sha256": "1d2dl2hrjz6hgm4hx9c4dd1l01i7lz6wad275kl1497bnccvjnj2"
   },
   "bfredl/nvim-luadev": {
     "optional": true,
@@ -94,7 +94,7 @@
     "sha256": "0pvb25bdmx4hxs3g7pkdqfjg3qpnr9p5szzbqqwaw3lbdnbyykzy"
   },
   "nvim-treesitter/nvim-treesitter-context": {
-    "rev": "78a81c7494e7d1a08dd1200b556933e513fd9f29",
-    "sha256": "19vf1wlvi7nggwzawaqyp81jk8hp85xsg1nm9cgjzk9fvywddnpc"
+    "rev": "8fd989b6b457a448606b4a2e51f9161700f609a7",
+    "sha256": "18zlwxm1321kzr307jnxwkq58k4zd5jz112pj2vb2aib5vhsprqp"
   }
 }

+ 92 - 0
.config/nixpkgs/neovim/plugins/treesitter-jsx.patch

@@ -0,0 +1,92 @@
+diff --git a/queries/jsx/highlights.scm b/queries/jsx/highlights.scm
+index a53b9533..deb3c159 100644
+--- a/queries/jsx/highlights.scm
++++ b/queries/jsx/highlights.scm
+@@ -65,87 +65,3 @@
+ (jsx_text) @none @spell
+ 
+ (html_character_reference) @character.special
+-
+-((jsx_element
+-  (jsx_opening_element
+-    name: (identifier) @_tag)
+-  (jsx_text) @markup.heading)
+-  (#eq? @_tag "title"))
+-
+-((jsx_element
+-  (jsx_opening_element
+-    name: (identifier) @_tag)
+-  (jsx_text) @markup.heading.1)
+-  (#eq? @_tag "h1"))
+-
+-((jsx_element
+-  (jsx_opening_element
+-    name: (identifier) @_tag)
+-  (jsx_text) @markup.heading.2)
+-  (#eq? @_tag "h2"))
+-
+-((jsx_element
+-  (jsx_opening_element
+-    name: (identifier) @_tag)
+-  (jsx_text) @markup.heading.3)
+-  (#eq? @_tag "h3"))
+-
+-((jsx_element
+-  (jsx_opening_element
+-    name: (identifier) @_tag)
+-  (jsx_text) @markup.heading.4)
+-  (#eq? @_tag "h4"))
+-
+-((jsx_element
+-  (jsx_opening_element
+-    name: (identifier) @_tag)
+-  (jsx_text) @markup.heading.5)
+-  (#eq? @_tag "h5"))
+-
+-((jsx_element
+-  (jsx_opening_element
+-    name: (identifier) @_tag)
+-  (jsx_text) @markup.heading.6)
+-  (#eq? @_tag "h6"))
+-
+-((jsx_element
+-  (jsx_opening_element
+-    name: (identifier) @_tag)
+-  (jsx_text) @markup.strong)
+-  (#any-of? @_tag "strong" "b"))
+-
+-((jsx_element
+-  (jsx_opening_element
+-    name: (identifier) @_tag)
+-  (jsx_text) @markup.italic)
+-  (#any-of? @_tag "em" "i"))
+-
+-((jsx_element
+-  (jsx_opening_element
+-    name: (identifier) @_tag)
+-  (jsx_text) @markup.strikethrough)
+-  (#any-of? @_tag "s" "del"))
+-
+-((jsx_element
+-  (jsx_opening_element
+-    name: (identifier) @_tag)
+-  (jsx_text) @markup.underline)
+-  (#eq? @_tag "u"))
+-
+-((jsx_element
+-  (jsx_opening_element
+-    name: (identifier) @_tag)
+-  (jsx_text) @markup.raw)
+-  (#any-of? @_tag "code" "kbd"))
+-
+-((jsx_element
+-  (jsx_opening_element
+-    name: (identifier) @_tag)
+-  (jsx_text) @markup.link.label)
+-  (#eq? @_tag "a"))
+-
+-((jsx_attribute
+-  (property_identifier) @_attr
+-  (string
+-    (string_fragment) @string.special.url))
+-  (#any-of? @_attr "href" "src"))

+ 32 - 32
.config/nixpkgs/neovim/treesitter/grammars.json

@@ -1,11 +1,11 @@
 {
   "bash": {
-    "rev": "c8713e50f0bd77d080832fc61ad128bc8f2934e9",
-    "sha256": "12669g75zhn0rxghw209dayw4qmccrm620dc9fjz77bv34k99a66"
+    "rev": "49c31006d8307dcb12bc5770f35b6d5b9e2be68e",
+    "sha256": "10dwd9lhz3zm08dp4rb3n3kvx80n53k5ggfixkfcbarj6b9vfvr5"
   },
   "css": {
-    "rev": "a68fcd1e6b03118d1e92ffa45e7ab7a39d52d3f7",
-    "sha256": "1apypprrqn23ghay11w35vz31crpjdby6imjhnxq9cqj9rvhxgx3"
+    "rev": "6a442a3cf461b0ce275339e5afa178693484c927",
+    "sha256": "0jzbann08gxvnl1iww1ghrwilpi2p4ha1sbq6kmmfaky2jklk6zr"
   },
   "elvish": {
     "repo": "elves/tree-sitter-elvish",
@@ -14,68 +14,68 @@
   },
   "http": {
     "repo": "rest-nvim/tree-sitter-http",
-    "rev": "231f1b1bafd12e46c8ed8c21dbbdd940d9f15e94",
-    "sha256": "1k6vj0ml90l0hc3qj05hhkzyrf437cf594dgprsgk99dfyxkpj5b"
+    "rev": "d2e4e4c7d03f70e0465d436f2b5f67497cd544ca",
+    "sha256": "1wjycyvrahbpamdi6x74l8q1q8jrnk0y8nrwdwqdc7lm8hqjb5s2"
   },
   "go": {
-    "rev": "ecc20866d1bd4d80f3aef06456ed3014d4d598e6",
-    "sha256": "19f5acxn0ai9l4018plw3bk8zrdmhglzx3gb1k04pcsqyn9fllvs"
+    "rev": "12fe553fdaaa7449f764bc876fd777704d4fb752",
+    "sha256": "0rlq5mk0llfj6b0x38b4hn5n83jqfj5d4rixmq6dp69954wrxj0k"
   },
   "javascript": {
-    "rev": "b6f0624c1447bc209830b195999b78a56b10a579",
-    "sha256": "03lyqswy7h9iw2mhjlsa7an3g76hqi074c06pvdjb57h637zisf5"
+    "rev": "108b2d4d17a04356a340aea809e4dd5b801eb40d",
+    "sha256": "1gzflb2id9gh025vy3inx5h3bscgx315dmpnw87ib5skcip867nk"
   },
   "json": {
-    "rev": "8bfdb43f47ad805bb1ce093203cfcbaa8ed2c571",
-    "sha256": "0z9nq267cx0c6dpkq3hm24jcxv37l3lhpwabxpmmpmx2f758yjyc"
+    "rev": "4d770d31f732d50d3ec373865822fbe659e47c75",
+    "sha256": "1z52ixads61vhh4x9m2si8562lz9x9spvbjkazmi7lz7ni2k0rw6"
   },
   "lua": {
     "repo": "MunifTanjim/tree-sitter-lua",
-    "rev": "99fc677e6971c425e8d407f59c77ab897e585c92",
-    "sha256": "0wrbxmb6j8xyckf5jw14jf97cb9fn7yhalap6xxgsag84ypfsqj3"
+    "rev": "34e60e7f45fc313463c68090d88d742a55d1bd7a",
+    "sha256": "1v7c8r47f0jiwyd3c1nv3kj9vfjxgywgr241v2zbpydghdqcbrxz"
   },
   "markdown": {
     "repo": "MDeiml/tree-sitter-markdown",
     "path": "tree-sitter-markdown",
-    "rev": "b7eba93e6a3e588e259e831416ac11abdaa8616a",
-    "sha256": "1gfzsd0lp2hlisyypp934d38v5qsfj5likhjz550nd16fcfcpqll"
+    "rev": "192407ab5a24bfc24f13332979b5e7967518754a",
+    "sha256": "1xdk8xms2k6jq48r77myw7qrjznnvk1531bylmzkkkspqn8bb727"
   },
   "nix": {
     "repo": "nix-community/tree-sitter-nix",
-    "rev": "9ef77ceefff61d31a63133d8d697f219ab62c841",
-    "sha256": "0jr59cr7fhhkgni1hn5qwynmkcmh982k06nafbnq6ancjswnn5w4"
+    "rev": "21897cc3dcd15325303e46b85295b743742af6ab",
+    "sha256": "1jcji1din1vz930yxhbpryqlwpxglnkjkv6w0qr5ry5rq1lx4q07"
   },
   "ruby": {
-    "rev": "0b4729672f9aec4810c01a0f971541dcb433fef5",
-    "sha256": "1acxgrirmrfdbhcl548mhf4idim0ahvx6via5glzlvxw9lpzylgq"
+    "rev": "71bd32fb7607035768799732addba884a37a6210",
+    "sha256": "0c1vs63ydcb3q2wnif18l5irbj6chkcvd3p6dg0vyhklk5acrvca"
   },
   "tsx": {
     "repo": "tree-sitter/tree-sitter-typescript",
     "path": "tsx",
-    "rev": "9951831c5f05be434514dce38b30eef213667601",
-    "sha256": "1p9wps6q0884b1vyxriayylf4d442df0g4d2648d099ay56ihl88"
+    "rev": "45af49560396d67a710b21a3ce315fcaa09006ff",
+    "sha256": "1qyddf7v6wnn4vd8rdpkbzqavk0l3pzr8c5b7qpk87d8jy8w156p"
   },
   "typescript": {
     "path": "typescript",
-    "rev": "9951831c5f05be434514dce38b30eef213667601",
-    "sha256": "1p9wps6q0884b1vyxriayylf4d442df0g4d2648d099ay56ihl88"
+    "rev": "45af49560396d67a710b21a3ce315fcaa09006ff",
+    "sha256": "1qyddf7v6wnn4vd8rdpkbzqavk0l3pzr8c5b7qpk87d8jy8w156p"
   },
   "jsdoc": {
-    "rev": "bc09606fc786ead131a301e4b7524888f2d5c517",
-    "sha256": "080dzr7547vsapxdd7vs4id3m9mfnzqfzjzkssgyb1vpcdmrhl5m"
+    "rev": "b253abf68a73217b7a52c0ec254f4b6a7bb86665",
+    "sha256": "0vpvy5hnnr9l4ggii6fp6svv35l659b3n13028dzq0b363dxng03"
   },
   "vimdoc": {
     "repo": "neovim/tree-sitter-vimdoc",
-    "rev": "2249c44ecd3f5cf22da3dcccfb74f816ddb29245",
-    "sha256": "0raqlzi2x9a0qrfidgw0gqda8030jz518kdwzvyxjndnd5cd5rdz"
+    "rev": "d2e4b5c172a109966c2ce0378f73df6cede39400",
+    "sha256": "04is98rwjc37ikd5swlzayza21880yd5j7n1a2jkbyabqvypifan"
   },
   "java": {
-    "rev": "490d878cf33b0ad5ae7a7253ff30597a5bdc348e",
-    "sha256": "1m4806bq6ga90vf00dbjkjvz64k06raw2w984yhnpgghbrvgm5xj"
+    "rev": "a1bbe92a6370bb4c15386735fbda12f2b812a923",
+    "sha256": "009nhnn4dv1p8yvhamhr8xh6q0mqj844725l9k81rkzzxqlv4q82"
   },
   "query": {
     "repo": "tree-sitter-grammars/tree-sitter-query",
-    "rev": "f767fb0ac5e711b6d44c5e0c8d1f349687a86ce0",
-    "sha256": "0wi01kmvb5axavfm6jp3rd6dd9pnq551w9lgwcgs02amxp6z8ymj"
+    "rev": "a6674e279b14958625d7a530cabe06119c7a1532",
+    "sha256": "08lbljhakqdv6x6nw1iwc59pyx6cxkpcjf7zypp1zpiya8hzdnn6"
   }
 }

+ 8 - 0
.local/bin/git-fork

@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+repo_name=$(basename "$(git remote get-url origin)")
+
+git remote rename origin upstream
+git remote add origin "git@github.com:thatsmydoing/$repo_name"