repos / neovimcraft

website that makes it easy to find neovim plugins
git clone https://github.com/neurosnap/neovimcraft.git

commit
c61efdf
parent
976be77
author
Eric Bower
date
2021-07-19 16:33:28 +0000 UTC
new etl process works
6 files changed,  +944, -24
M package.json
+5, -3
 1@@ -11,8 +11,8 @@
 2     "lint": "prettier --check --plugin-search-dir=. . && eslint --ignore-path .gitignore .",
 3     "format": "prettier --write --plugin-search-dir=. .",
 4     "prepare": "husky install",
 5-    "scrape": "node --loader ts-node/esm src/scrape.ts",
 6-    "process": "node --loader ts-node/esm src/process.ts",
 7+    "scrape": "node --experimental-specifier-resolution=node --loader ts-node/esm src/scrape.ts",
 8+    "process": "node --experimental-specifier-resolution=node --loader ts-node/esm src/process.ts",
 9     "transform": "node --loader ts-node/esm src/transform.ts",
10     "upload:clean": "gsutil -m rm -r gs://neovim.erock.io/*",
11     "upload": "gsutil -m -h 'Cache-Control:private, max-age=0, no-transform' rsync -r ./build gs://neovim.erock.io",
12@@ -49,5 +49,7 @@
13     "*.js": "eslint --cache --fix",
14     "*.{js,css,md}": "prettier --write"
15   },
16-  "dependencies": {}
17+  "dependencies": {
18+    "@types/prettier": "^2.3.2"
19+  }
20 }
M src/lib/resources.json
+904, -1
  1@@ -1 +1,904 @@
  2-{ "resources": [] }
  3+{
  4+  "resources": [
  5+    { "type": "github", "username": "yatli", "repo": "fvim", "tags": ["ui"] },
  6+    { "type": "github", "username": "smolck", "repo": "uivonim", "tags": ["ui"] },
  7+    { "type": "github", "username": "qvacua", "repo": "vimr", "tags": ["ui"] },
  8+    { "type": "github", "username": "vhakulinen", "repo": "gnvim", "tags": ["ui"] },
  9+    { "type": "github", "username": "Kethku", "repo": "neovide", "tags": ["ui"] },
 10+    { "type": "github", "username": "beeender", "repo": "glrnvim", "tags": ["ui"] },
 11+    { "type": "github", "username": "akiyosi", "repo": "goneovim", "tags": ["ui"] },
 12+    { "type": "github", "username": "RMichelsen", "repo": "Nvy", "tags": ["ui"] },
 13+    { "type": "github", "username": "asvetliakov", "repo": "vscode-neovim", "tags": ["ui"] },
 14+    { "type": "github", "username": "equalsraf", "repo": "neovim-qt", "tags": ["ui"] },
 15+    { "type": "github", "username": "lunixbochs", "repo": "actualvim", "tags": ["ui"] },
 16+    { "type": "github", "username": "vv-vim", "repo": "vv", "tags": ["ui"] },
 17+    { "type": "github", "username": "jebberjeb", "repo": "javafx-neovimpane", "tags": ["ui"] },
 18+    {
 19+      "type": "github",
 20+      "username": "wbthomason",
 21+      "repo": "packer.nvim",
 22+      "tags": ["plugin-managers"]
 23+    },
 24+    { "type": "github", "username": "savq", "repo": "paq-nvim", "tags": ["plugin-managers"] },
 25+    {
 26+      "type": "github",
 27+      "username": "NTBBloodbath",
 28+      "repo": "cheovim",
 29+      "tags": ["plugin-managers"]
 30+    },
 31+    { "type": "github", "username": "neovim", "repo": "nvim-lspconfig", "tags": ["neovim-0.5"] },
 32+    { "type": "github", "username": "nvim-lua", "repo": "lsp-status.nvim", "tags": ["neovim-0.5"] },
 33+    {
 34+      "type": "github",
 35+      "username": "nvim-lua",
 36+      "repo": "lsp_extensions.nvim",
 37+      "tags": ["neovim-0.5"]
 38+    },
 39+    { "type": "github", "username": "RishabhRD", "repo": "nvim-lsputils", "tags": ["neovim-0.5"] },
 40+    { "type": "github", "username": "glepnir", "repo": "lspsaga.nvim", "tags": ["neovim-0.5"] },
 41+    { "type": "github", "username": "folke", "repo": "trouble.nvim", "tags": ["neovim-0.5"] },
 42+    { "type": "github", "username": "folke", "repo": "lsp-colors.nvim", "tags": ["neovim-0.5"] },
 43+    { "type": "github", "username": "kosayoda", "repo": "nvim-lightbulb", "tags": ["neovim-0.5"] },
 44+    { "type": "github", "username": "onsails", "repo": "lspkind-nvim", "tags": ["neovim-0.5"] },
 45+    { "type": "github", "username": "ojroques", "repo": "nvim-lspfuzzy", "tags": ["neovim-0.5"] },
 46+    { "type": "github", "username": "gfanto", "repo": "fzf-lsp.nvim", "tags": ["neovim-0.5"] },
 47+    { "type": "github", "username": "ray-x", "repo": "lsp_signature.nvim", "tags": ["neovim-0.5"] },
 48+    { "type": "github", "username": "nanotee", "repo": "sqls.nvim", "tags": ["neovim-0.5"] },
 49+    {
 50+      "type": "github",
 51+      "username": "jubnzv",
 52+      "repo": "virtual-types.nvim",
 53+      "tags": ["neovim-0.5"]
 54+    },
 55+    {
 56+      "type": "github",
 57+      "username": "jose-elias-alvarez",
 58+      "repo": "nvim-lsp-ts-utils",
 59+      "tags": ["neovim-0.5"]
 60+    },
 61+    { "type": "github", "username": "ray-x", "repo": "navigator.lua", "tags": ["neovim-0.5"] },
 62+    { "type": "github", "username": "liuchengxu", "repo": "vista.vim", "tags": ["neovim-0.5"] },
 63+    {
 64+      "type": "github",
 65+      "username": "simrat39",
 66+      "repo": "symbols-outline.nvim",
 67+      "tags": ["neovim-0.5"]
 68+    },
 69+    {
 70+      "type": "github",
 71+      "username": "tamago324",
 72+      "repo": "nlsp-settings.nvim",
 73+      "tags": ["neovim-0.5"]
 74+    },
 75+    { "type": "github", "username": "simrat39", "repo": "rust-tools.nvim", "tags": ["neovim-0.5"] },
 76+    { "type": "github", "username": "stevearc", "repo": "aerial.nvim", "tags": ["neovim-0.5"] },
 77+    {
 78+      "type": "github",
 79+      "username": "anott03",
 80+      "repo": "nvim-lspinstall",
 81+      "tags": ["lsp-installers"]
 82+    },
 83+    {
 84+      "type": "github",
 85+      "username": "alexaandru",
 86+      "repo": "nvim-lspupdate",
 87+      "tags": ["lsp-installers"]
 88+    },
 89+    {
 90+      "type": "github",
 91+      "username": "kabouzeid",
 92+      "repo": "nvim-lspinstall",
 93+      "tags": ["lsp-installers"]
 94+    },
 95+    { "type": "github", "username": "nvim-lua", "repo": "completion-nvim", "tags": ["completion"] },
 96+    { "type": "github", "username": "hrsh7th", "repo": "nvim-compe", "tags": ["completion"] },
 97+    { "type": "github", "username": "npxbr", "repo": "glow.nvim", "tags": ["markdown"] },
 98+    {
 99+      "type": "github",
100+      "username": "davidgranstrom",
101+      "repo": "nvim-markdown-preview",
102+      "tags": ["markdown"]
103+    },
104+    { "type": "github", "username": "jghauser", "repo": "auto-pandoc.nvim", "tags": ["markdown"] },
105+    {
106+      "type": "github",
107+      "username": "jghauser",
108+      "repo": "follow-md-links.nvim",
109+      "tags": ["markdown"]
110+    },
111+    { "type": "github", "username": "jubnzv", "repo": "mdeval.nvim", "tags": ["markdown"] },
112+    {
113+      "type": "github",
114+      "username": "nvim-treesitter",
115+      "repo": "nvim-treesitter",
116+      "tags": ["syntax"]
117+    },
118+    {
119+      "type": "github",
120+      "username": "nvim-treesitter",
121+      "repo": "nvim-treesitter-textobjects",
122+      "tags": ["syntax"]
123+    },
124+    {
125+      "type": "github",
126+      "username": "RRethy",
127+      "repo": "nvim-treesitter-textsubjects",
128+      "tags": ["syntax"]
129+    },
130+    { "type": "github", "username": "nikvdp", "repo": "neomux", "tags": ["terminal-integration"] },
131+    {
132+      "type": "github",
133+      "username": "akinsho",
134+      "repo": "nvim-toggleterm.lua",
135+      "tags": ["terminal-integration"]
136+    },
137+    {
138+      "type": "github",
139+      "username": "norcalli",
140+      "repo": "nvim-terminal.lua",
141+      "tags": ["terminal-integration"]
142+    },
143+    {
144+      "type": "github",
145+      "username": "numToStr",
146+      "repo": "FTerm.nvim",
147+      "tags": ["terminal-integration"]
148+    },
149+    {
150+      "type": "github",
151+      "username": "oberblastmeister",
152+      "repo": "termwrapper.nvim",
153+      "tags": ["terminal-integration"]
154+    },
155+    {
156+      "type": "github",
157+      "username": "pianocomposer321",
158+      "repo": "consolation.nvim",
159+      "tags": ["terminal-integration"]
160+    },
161+    {
162+      "type": "github",
163+      "username": "jghauser",
164+      "repo": "kitty-runner.nvim",
165+      "tags": ["terminal-integration"]
166+    },
167+    {
168+      "type": "github",
169+      "username": "jlesquembre",
170+      "repo": "nterm.nvim",
171+      "tags": ["terminal-integration"]
172+    },
173+    { "type": "github", "username": "norcalli", "repo": "snippets.nvim", "tags": ["snippets"] },
174+    { "type": "github", "username": "hrsh7th", "repo": "vim-vsnip", "tags": ["snippets"] },
175+    {
176+      "type": "github",
177+      "username": "rafamadriz",
178+      "repo": "friendly-snippets",
179+      "tags": ["snippets"]
180+    },
181+    { "type": "github", "username": "L3MON4D3", "repo": "LuaSnip", "tags": ["snippets"] },
182+    {
183+      "type": "github",
184+      "username": "gennaro-tedesco",
185+      "repo": "nvim-peekup",
186+      "tags": ["registers"]
187+    },
188+    { "type": "github", "username": "tversteeg", "repo": "registers.nvim", "tags": ["registers"] },
189+    {
190+      "type": "github",
191+      "username": "nvim-telescope",
192+      "repo": "telescope.nvim",
193+      "tags": ["fuzzy-finder"]
194+    },
195+    { "type": "github", "username": "vijaymarupudi", "repo": "nvim-fzf", "tags": ["fuzzy-finder"] },
196+    { "type": "github", "username": "LoricAndre", "repo": "fzterm.nvim", "tags": ["fuzzy-finder"] },
197+    { "type": "github", "username": "amirrezaask", "repo": "fuzzy.nvim", "tags": ["fuzzy-finder"] },
198+    { "type": "github", "username": "norcalli", "repo": "nvim-colorizer.lua", "tags": ["colors"] },
199+    { "type": "github", "username": "tjdevries", "repo": "colorbuddy.nvim", "tags": ["colors"] },
200+    { "type": "github", "username": "norcalli", "repo": "nvim-base16.lua", "tags": ["colors"] },
201+    { "type": "github", "username": "rktjmp", "repo": "lush.nvim", "tags": ["colors"] },
202+    { "type": "github", "username": "sunjon", "repo": "Shade.nvim", "tags": ["colors"] },
203+    {
204+      "type": "github",
205+      "username": "winston0410",
206+      "repo": "range-highlight.nvim",
207+      "tags": ["colors"]
208+    },
209+    { "type": "github", "username": "xiyaowong", "repo": "nvim-transparent", "tags": ["colors"] },
210+    { "type": "github", "username": "folke", "repo": "twilight.nvim", "tags": ["colors"] },
211+    {
212+      "type": "github",
213+      "username": "oberblastmeister",
214+      "repo": "neuron.nvim",
215+      "tags": ["note-taking"]
216+    },
217+    { "type": "github", "username": "jbyuki", "repo": "nabla.nvim", "tags": ["note-taking"] },
218+    { "type": "github", "username": "vhyrro", "repo": "neorg", "tags": ["note-taking"] },
219+    {
220+      "type": "github",
221+      "username": "kristijanhusak",
222+      "repo": "orgmode.nvim",
223+      "tags": ["note-taking"]
224+    },
225+    { "type": "github", "username": "NFrid", "repo": "due.nvim", "tags": ["note-taking"] },
226+    { "type": "github", "username": "jbyuki", "repo": "venn.nvim", "tags": ["note-taking"] },
227+    {
228+      "type": "github",
229+      "username": "tjdevries",
230+      "repo": "gruvbuddy.nvim",
231+      "tags": ["colorscheme"]
232+    },
233+    { "type": "github", "username": "npxbr", "repo": "gruvbox.nvim", "tags": ["colorscheme"] },
234+    { "type": "github", "username": "Shadorain", "repo": "shadotheme", "tags": ["colorscheme"] },
235+    {
236+      "type": "github",
237+      "username": "rafamadriz",
238+      "repo": "neon",
239+      "tags": ["treesitter-colorschemes"]
240+    },
241+    {
242+      "type": "github",
243+      "username": "tomasiser",
244+      "repo": "vim-code-dark",
245+      "tags": ["treesitter-colorschemes"]
246+    },
247+    {
248+      "type": "github",
249+      "username": "marko-cerovac",
250+      "repo": "material.nvim",
251+      "tags": ["treesitter-colorschemes"]
252+    },
253+    {
254+      "type": "github",
255+      "username": "bluz71",
256+      "repo": "vim-nightfly-guicolors",
257+      "tags": ["treesitter-colorschemes"]
258+    },
259+    {
260+      "type": "github",
261+      "username": "bluz71",
262+      "repo": "vim-moonfly-colors",
263+      "tags": ["treesitter-colorschemes"]
264+    },
265+    {
266+      "type": "github",
267+      "username": "ChristianChiarulli",
268+      "repo": "nvcode-color-schemes.vim",
269+      "tags": ["treesitter-colorschemes"]
270+    },
271+    {
272+      "type": "github",
273+      "username": "folke",
274+      "repo": "tokyonight.nvim",
275+      "tags": ["treesitter-colorschemes"]
276+    },
277+    {
278+      "type": "github",
279+      "username": "sainnhe",
280+      "repo": "sonokai",
281+      "tags": ["treesitter-colorschemes"]
282+    },
283+    {
284+      "type": "github",
285+      "username": "kyazdani42",
286+      "repo": "blue-moon",
287+      "tags": ["treesitter-colorschemes"]
288+    },
289+    {
290+      "type": "github",
291+      "username": "mhartington",
292+      "repo": "oceanic-next",
293+      "tags": ["treesitter-colorschemes"]
294+    },
295+    {
296+      "type": "github",
297+      "username": "Iron-E",
298+      "repo": "nvim-highlite",
299+      "tags": ["treesitter-colorschemes"]
300+    },
301+    {
302+      "type": "github",
303+      "username": "glepnir",
304+      "repo": "zephyr-nvim",
305+      "tags": ["treesitter-colorschemes"]
306+    },
307+    {
308+      "type": "github",
309+      "username": "rockerBOO",
310+      "repo": "boo-colorscheme-nvim",
311+      "tags": ["treesitter-colorschemes"]
312+    },
313+    {
314+      "type": "github",
315+      "username": "jim-at-jibba",
316+      "repo": "ariake-vim-colors",
317+      "tags": ["treesitter-colorschemes"]
318+    },
319+    {
320+      "type": "github",
321+      "username": "Th3Whit3Wolf",
322+      "repo": "onebuddy",
323+      "tags": ["treesitter-colorschemes"]
324+    },
325+    {
326+      "type": "github",
327+      "username": "RishabhRD",
328+      "repo": "nvim-rdark",
329+      "tags": ["treesitter-colorschemes"]
330+    },
331+    {
332+      "type": "github",
333+      "username": "ishan9299",
334+      "repo": "modus-theme-vim",
335+      "tags": ["treesitter-colorschemes"]
336+    },
337+    {
338+      "type": "github",
339+      "username": "sainnhe",
340+      "repo": "edge",
341+      "tags": ["treesitter-colorschemes"]
342+    },
343+    {
344+      "type": "github",
345+      "username": "theniceboy",
346+      "repo": "nvim-deus",
347+      "tags": ["treesitter-colorschemes"]
348+    },
349+    {
350+      "type": "github",
351+      "username": "bkegley",
352+      "repo": "gloombuddy",
353+      "tags": ["treesitter-colorschemes"]
354+    },
355+    {
356+      "type": "github",
357+      "username": "Th3Whit3Wolf",
358+      "repo": "one-nvim",
359+      "tags": ["treesitter-colorschemes"]
360+    },
361+    {
362+      "type": "github",
363+      "username": "PHSix",
364+      "repo": "nvim-hybrid",
365+      "tags": ["treesitter-colorschemes"]
366+    },
367+    {
368+      "type": "github",
369+      "username": "Th3Whit3Wolf",
370+      "repo": "space-nvim",
371+      "tags": ["treesitter-colorschemes"]
372+    },
373+    {
374+      "type": "github",
375+      "username": "yonlu",
376+      "repo": "omni.vim",
377+      "tags": ["treesitter-colorschemes"]
378+    },
379+    {
380+      "type": "github",
381+      "username": "ray-x",
382+      "repo": "aurora",
383+      "tags": ["treesitter-colorschemes"]
384+    },
385+    {
386+      "type": "github",
387+      "username": "novakne",
388+      "repo": "kosmikoa.nvim",
389+      "tags": ["treesitter-colorschemes"]
390+    },
391+    {
392+      "type": "github",
393+      "username": "tanvirtin",
394+      "repo": "monokai.nvim",
395+      "tags": ["treesitter-colorschemes"]
396+    },
397+    {
398+      "type": "github",
399+      "username": "nekonako",
400+      "repo": "xresources-nvim",
401+      "tags": ["treesitter-colorschemes"]
402+    },
403+    {
404+      "type": "github",
405+      "username": "savq",
406+      "repo": "melange",
407+      "tags": ["treesitter-colorschemes"]
408+    },
409+    {
410+      "type": "github",
411+      "username": "RRethy",
412+      "repo": "nvim-base16",
413+      "tags": ["treesitter-colorschemes"]
414+    },
415+    {
416+      "type": "github",
417+      "username": "fenetikm",
418+      "repo": "falcon",
419+      "tags": ["treesitter-colorschemes"]
420+    },
421+    {
422+      "type": "github",
423+      "username": "maaslalani",
424+      "repo": "nordbuddy",
425+      "tags": ["treesitter-colorschemes"]
426+    },
427+    {
428+      "type": "github",
429+      "username": "shaunsingh",
430+      "repo": "nord.nvim",
431+      "tags": ["treesitter-colorschemes"]
432+    },
433+    {
434+      "type": "github",
435+      "username": "MordechaiHadad",
436+      "repo": "nvim-papadark",
437+      "tags": ["treesitter-colorschemes"]
438+    },
439+    {
440+      "type": "github",
441+      "username": "ishan9299",
442+      "repo": "nvim-solarized-lua",
443+      "tags": ["treesitter-colorschemes"]
444+    },
445+    {
446+      "type": "github",
447+      "username": "shaunsingh",
448+      "repo": "moonlight.nvim",
449+      "tags": ["treesitter-colorschemes"]
450+    },
451+    {
452+      "type": "github",
453+      "username": "navarasu",
454+      "repo": "onedark.nvim",
455+      "tags": ["treesitter-colorschemes"]
456+    },
457+    {
458+      "type": "github",
459+      "username": "lourenci",
460+      "repo": "github-colors",
461+      "tags": ["treesitter-colorschemes"]
462+    },
463+    {
464+      "type": "github",
465+      "username": "sainnhe",
466+      "repo": "gruvbox-material",
467+      "tags": ["treesitter-colorschemes"]
468+    },
469+    {
470+      "type": "github",
471+      "username": "sainnhe",
472+      "repo": "everforest",
473+      "tags": ["treesitter-colorschemes"]
474+    },
475+    {
476+      "type": "github",
477+      "username": "NTBBloodbath",
478+      "repo": "doom-one.nvim",
479+      "tags": ["treesitter-colorschemes"]
480+    },
481+    { "type": "github", "username": "dracula", "repo": "vim", "tags": ["treesitter-colorschemes"] },
482+    {
483+      "type": "github",
484+      "username": "saurabhdaware",
485+      "repo": "vscode-calvera-dark",
486+      "tags": ["treesitter-colorschemes"]
487+    },
488+    {
489+      "type": "github",
490+      "username": "nxvu699134",
491+      "repo": "vn-night.nvim",
492+      "tags": ["treesitter-colorschemes"]
493+    },
494+    {
495+      "type": "github",
496+      "username": "adisen99",
497+      "repo": "codeschool.nvim",
498+      "tags": ["treesitter-colorschemes"]
499+    },
500+    {
501+      "type": "github",
502+      "username": "projekt0n",
503+      "repo": "github-nvim-theme",
504+      "tags": ["treesitter-colorschemes"]
505+    },
506+    { "type": "github", "username": "famiu", "repo": "bufdelete.nvim", "tags": ["utility"] },
507+    { "type": "github", "username": "jghauser", "repo": "mkdir.nvim", "tags": ["utility"] },
508+    { "type": "github", "username": "matbme", "repo": "JABS.nvim", "tags": ["utility"] },
509+    { "type": "github", "username": "fhill2", "repo": "floating.nvim", "tags": ["utility"] },
510+    { "type": "github", "username": "clojure-vim", "repo": "jazz.nvim", "tags": ["utility"] },
511+    { "type": "github", "username": "code-biscuits", "repo": "nvim-biscuits", "tags": ["utility"] },
512+    { "type": "github", "username": "Pocco81", "repo": "AbbrevMan.nvim", "tags": ["utility"] },
513+    { "type": "github", "username": "ryanoasis", "repo": "vim-devicons", "tags": ["icons"] },
514+    { "type": "github", "username": "yamatsum", "repo": "nvim-nonicons", "tags": ["icons"] },
515+    { "type": "github", "username": "mfussenegger", "repo": "nvim-dap", "tags": ["debugging"] },
516+    { "type": "github", "username": "sakhnik", "repo": "nvim-gdb", "tags": ["debugging"] },
517+    { "type": "github", "username": "rcarriga", "repo": "nvim-dap-ui", "tags": ["debugging"] },
518+    { "type": "github", "username": "Pocco81", "repo": "DAPInstall.nvim", "tags": ["debugging"] },
519+    {
520+      "type": "github",
521+      "username": "lewis6991",
522+      "repo": "spellsitter.nvim",
523+      "tags": ["spellcheck"]
524+    },
525+    {
526+      "type": "github",
527+      "username": "tjdevries",
528+      "repo": "nlua.nvim",
529+      "tags": ["neovim-lua-development"]
530+    },
531+    {
532+      "type": "github",
533+      "username": "svermeulen",
534+      "repo": "vimpeccable",
535+      "tags": ["neovim-lua-development"]
536+    },
537+    {
538+      "type": "github",
539+      "username": "nanotee",
540+      "repo": "nvim-lua-guide",
541+      "tags": ["neovim-lua-development"]
542+    },
543+    {
544+      "type": "github",
545+      "username": "rafcamlet",
546+      "repo": "nvim-luapad",
547+      "tags": ["neovim-lua-development"]
548+    },
549+    {
550+      "type": "github",
551+      "username": "nvim-lua",
552+      "repo": "plenary.nvim",
553+      "tags": ["neovim-lua-development"]
554+    },
555+    {
556+      "type": "github",
557+      "username": "nvim-lua",
558+      "repo": "popup.nvim",
559+      "tags": ["neovim-lua-development"]
560+    },
561+    {
562+      "type": "github",
563+      "username": "tjdevries",
564+      "repo": "vlog.nvim",
565+      "tags": ["neovim-lua-development"]
566+    },
567+    {
568+      "type": "github",
569+      "username": "bfredl",
570+      "repo": "nvim-luadev",
571+      "tags": ["neovim-lua-development"]
572+    },
573+    {
574+      "type": "github",
575+      "username": "jbyuki",
576+      "repo": "one-small-step-for-vimkind",
577+      "tags": ["neovim-lua-development"]
578+    },
579+    {
580+      "type": "github",
581+      "username": "tami5",
582+      "repo": "sql.nvim",
583+      "tags": ["neovim-lua-development"]
584+    },
585+    {
586+      "type": "github",
587+      "username": "folke",
588+      "repo": "lua-dev.nvim",
589+      "tags": ["neovim-lua-development"]
590+    },
591+    { "type": "github", "username": "Olical", "repo": "aniseed", "tags": ["fennel"] },
592+    { "type": "github", "username": "romgrk", "repo": "barbar.nvim", "tags": ["tabline"] },
593+    { "type": "github", "username": "akinsho", "repo": "nvim-bufferline.lua", "tags": ["tabline"] },
594+    { "type": "github", "username": "crispgm", "repo": "nvim-tabline", "tags": ["tabline"] },
595+    { "type": "github", "username": "alvarosevilla95", "repo": "luatab.nvim", "tags": ["tabline"] },
596+    { "type": "github", "username": "johann2357", "repo": "nvim-smartbufs", "tags": ["tabline"] },
597+    { "type": "github", "username": "glepnir", "repo": "galaxyline.nvim", "tags": ["statusline"] },
598+    {
599+      "type": "github",
600+      "username": "tjdevries",
601+      "repo": "express_line.nvim",
602+      "tags": ["statusline"]
603+    },
604+    { "type": "github", "username": "hoob3rt", "repo": "lualine.nvim", "tags": ["statusline"] },
605+    { "type": "github", "username": "adelarsq", "repo": "neoline.vim", "tags": ["statusline"] },
606+    { "type": "github", "username": "vim-airline", "repo": "vim-airline", "tags": ["statusline"] },
607+    { "type": "github", "username": "datwaft", "repo": "bubbly.nvim", "tags": ["statusline"] },
608+    {
609+      "type": "github",
610+      "username": "beauwilliams",
611+      "repo": "statusline.lua",
612+      "tags": ["statusline"]
613+    },
614+    {
615+      "type": "github",
616+      "username": "tamton-aquib",
617+      "repo": "staline.nvim",
618+      "tags": ["statusline"]
619+    },
620+    { "type": "github", "username": "Famiu", "repo": "feline.nvim", "tags": ["statusline"] },
621+    { "type": "github", "username": "windwp", "repo": "windline.nvim", "tags": ["statusline"] },
622+    { "type": "github", "username": "yamatsum", "repo": "nvim-cursorline", "tags": ["cursorline"] },
623+    {
624+      "type": "github",
625+      "username": "xiyaowong",
626+      "repo": "nvim-cursorword",
627+      "tags": ["cursorline"]
628+    },
629+    { "type": "github", "username": "glepnir", "repo": "dashboard-nvim", "tags": ["start-screen"] },
630+    { "type": "github", "username": "glepnir", "repo": "indent-guides.nvim", "tags": ["indent"] },
631+    {
632+      "type": "github",
633+      "username": "lukas-reineke",
634+      "repo": "indent-blankline.nvim",
635+      "tags": ["indent"]
636+    },
637+    { "type": "github", "username": "ThePrimeagen", "repo": "vim-be-good", "tags": ["games"] },
638+    { "type": "github", "username": "ThePrimeagen", "repo": "vim-apm", "tags": ["games"] },
639+    { "type": "github", "username": "alec-gibson", "repo": "nvim-tetris", "tags": ["games"] },
640+    {
641+      "type": "github",
642+      "username": "kyazdani42",
643+      "repo": "nvim-tree.lua",
644+      "tags": ["file-explorer"]
645+    },
646+    { "type": "github", "username": "tamago324", "repo": "lir.nvim", "tags": ["file-explorer"] },
647+    { "type": "github", "username": "TimUntersberger", "repo": "neofs", "tags": ["file-explorer"] },
648+    { "type": "github", "username": "kevinhwang91", "repo": "rnvimr", "tags": ["file-explorer"] },
649+    { "type": "github", "username": "Xuyuanp", "repo": "yanil", "tags": ["file-explorer"] },
650+    {
651+      "type": "github",
652+      "username": "akinsho",
653+      "repo": "dependency-assist.nvim",
654+      "tags": ["dependency-management"]
655+    },
656+    { "type": "github", "username": "f-person", "repo": "git-blame.nvim", "tags": ["git"] },
657+    { "type": "github", "username": "lewis6991", "repo": "gitsigns.nvim", "tags": ["git"] },
658+    { "type": "github", "username": "TimUntersberger", "repo": "neogit", "tags": ["git"] },
659+    { "type": "github", "username": "tveskag", "repo": "nvim-blame-line", "tags": ["git"] },
660+    { "type": "github", "username": "ruifm", "repo": "gitlinker.nvim", "tags": ["git"] },
661+    { "type": "github", "username": "tanvirtin", "repo": "vgit.nvim", "tags": ["git"] },
662+    { "type": "github", "username": "sindrets", "repo": "diffview.nvim", "tags": ["git"] },
663+    { "type": "github", "username": "kdheepak", "repo": "lazygit.nvim", "tags": ["git"] },
664+    { "type": "github", "username": "gennaro-tedesco", "repo": "nvim-jqx", "tags": ["json"] },
665+    {
666+      "type": "github",
667+      "username": "ray-x",
668+      "repo": "go.nvim",
669+      "tags": ["programming-languages-support"]
670+    },
671+    {
672+      "type": "github",
673+      "username": "akinsho",
674+      "repo": "flutter-tools.nvim",
675+      "tags": ["programming-languages-support"]
676+    },
677+    {
678+      "type": "github",
679+      "username": "crispgm",
680+      "repo": "nvim-go",
681+      "tags": ["programming-languages-support"]
682+    },
683+    { "type": "github", "username": "b3nj5m1n", "repo": "kommentary", "tags": ["comment"] },
684+    { "type": "github", "username": "glepnir", "repo": "prodoc.nvim", "tags": ["comment"] },
685+    {
686+      "type": "github",
687+      "username": "gennaro-tedesco",
688+      "repo": "nvim-commaround",
689+      "tags": ["comment"]
690+    },
691+    { "type": "github", "username": "folke", "repo": "todo-comments.nvim", "tags": ["comment"] },
692+    { "type": "github", "username": "terrortylor", "repo": "nvim-comment", "tags": ["comment"] },
693+    { "type": "github", "username": "winston0410", "repo": "commented.nvim", "tags": ["comment"] },
694+    {
695+      "type": "github",
696+      "username": "jbyuki",
697+      "repo": "instant.nvim",
698+      "tags": ["collaborative-editing"]
699+    },
700+    { "type": "github", "username": "kevinhwang91", "repo": "nvim-bqf", "tags": ["quickfix"] },
701+    { "type": "github", "username": "stevearc", "repo": "qf_helper.nvim", "tags": ["quickfix"] },
702+    { "type": "github", "username": "tjdevries", "repo": "train.nvim", "tags": ["motions"] },
703+    { "type": "github", "username": "phaazon", "repo": "hop.nvim", "tags": ["motions"] },
704+    { "type": "github", "username": "ggandor", "repo": "lightspeed.nvim", "tags": ["motions"] },
705+    {
706+      "type": "github",
707+      "username": "mfussenegger",
708+      "repo": "nvim-ts-hint-textobject",
709+      "tags": ["motions"]
710+    },
711+    { "type": "github", "username": "michaelb", "repo": "sniprun", "tags": ["code-runner"] },
712+    {
713+      "type": "github",
714+      "username": "pianocomposer321",
715+      "repo": "yabs.nvim",
716+      "tags": ["code-runner"]
717+    },
718+    { "type": "github", "username": "pwntester", "repo": "octo.nvim", "tags": ["github"] },
719+    { "type": "github", "username": "pwntester", "repo": "codeql.nvim", "tags": ["github"] },
720+    { "type": "github", "username": "kevinhwang91", "repo": "nvim-hlslens", "tags": ["search"] },
721+    { "type": "github", "username": "Xuyuanp", "repo": "scrollbar.nvim", "tags": ["scrollbar"] },
722+    { "type": "github", "username": "dstein64", "repo": "nvim-scrollview", "tags": ["scrollbar"] },
723+    { "type": "github", "username": "karb94", "repo": "neoscroll.nvim", "tags": ["scrolling"] },
724+    { "type": "github", "username": "notomo", "repo": "gesture.nvim", "tags": ["mouse"] },
725+    { "type": "github", "username": "windwp", "repo": "nvim-projectconfig", "tags": ["project"] },
726+    { "type": "github", "username": "windwp", "repo": "nvim-spectre", "tags": ["project"] },
727+    { "type": "github", "username": "ahmedkhalf", "repo": "lsp-rooter.nvim", "tags": ["project"] },
728+    {
729+      "type": "github",
730+      "username": "glacambre",
731+      "repo": "firenvim",
732+      "tags": ["browser-integration"]
733+    },
734+    {
735+      "type": "github",
736+      "username": "windwp",
737+      "repo": "nvim-ts-autotag",
738+      "tags": ["editing-supports"]
739+    },
740+    {
741+      "type": "github",
742+      "username": "windwp",
743+      "repo": "nvim-autopairs",
744+      "tags": ["editing-supports"]
745+    },
746+    {
747+      "type": "github",
748+      "username": "steelsojka",
749+      "repo": "pears.nvim",
750+      "tags": ["editing-supports"]
751+    },
752+    {
753+      "type": "github",
754+      "username": "blackCauldron7",
755+      "repo": "surround.nvim",
756+      "tags": ["editing-supports"]
757+    },
758+    { "type": "github", "username": "monaqa", "repo": "dial.nvim", "tags": ["editing-supports"] },
759+    {
760+      "type": "github",
761+      "username": "p00f",
762+      "repo": "nvim-ts-rainbow",
763+      "tags": ["editing-supports"]
764+    },
765+    {
766+      "type": "github",
767+      "username": "AckslD",
768+      "repo": "nvim-revJ.lua",
769+      "tags": ["editing-supports"]
770+    },
771+    { "type": "github", "username": "edluffy", "repo": "specs.nvim", "tags": ["editing-supports"] },
772+    {
773+      "type": "github",
774+      "username": "JoosepAlviste",
775+      "repo": "nvim-ts-context-commentstring",
776+      "tags": ["editing-supports"]
777+    },
778+    {
779+      "type": "github",
780+      "username": "Pocco81",
781+      "repo": "TrueZen.nvim",
782+      "tags": ["editing-supports"]
783+    },
784+    {
785+      "type": "github",
786+      "username": "Pocco81",
787+      "repo": "HighStr.nvim",
788+      "tags": ["editing-supports"]
789+    },
790+    {
791+      "type": "github",
792+      "username": "Pocco81",
793+      "repo": "AutoSave.nvim",
794+      "tags": ["editing-supports"]
795+    },
796+    {
797+      "type": "github",
798+      "username": "folke",
799+      "repo": "zen-mode.nvim",
800+      "tags": ["editing-supports"]
801+    },
802+    {
803+      "type": "github",
804+      "username": "haringsrob",
805+      "repo": "nvim_context_vt",
806+      "tags": ["editing-supports"]
807+    },
808+    { "type": "github", "username": "mizlan", "repo": "iswap.nvim", "tags": ["editing-supports"] },
809+    { "type": "github", "username": "nacro90", "repo": "numb.nvim", "tags": ["editing-supports"] },
810+    {
811+      "type": "github",
812+      "username": "mhartington",
813+      "repo": "formatter.nvim",
814+      "tags": ["formatting"]
815+    },
816+    {
817+      "type": "github",
818+      "username": "lukas-reineke",
819+      "repo": "format.nvim",
820+      "tags": ["formatting"]
821+    },
822+    {
823+      "type": "github",
824+      "username": "NTBBloodbath",
825+      "repo": "rest.nvim",
826+      "tags": ["web-development"]
827+    },
828+    { "type": "github", "username": "ekickx", "repo": "clipboard-image.nvim", "tags": ["media"] },
829+    {
830+      "type": "github",
831+      "username": "andweeb",
832+      "repo": "presence.nvim",
833+      "tags": ["discord-rich-presence"]
834+    },
835+    { "type": "github", "username": "notomo", "repo": "cmdbuf.nvim", "tags": ["command-line"] },
836+    { "type": "github", "username": "rmagatti", "repo": "auto-session", "tags": ["sessions"] },
837+    { "type": "github", "username": "rcarriga", "repo": "vim-ultest", "tags": ["tests"] },
838+    {
839+      "type": "github",
840+      "username": "NTBBloodbath",
841+      "repo": "doom-nvim",
842+      "tags": ["preconfigured-configurations"]
843+    },
844+    {
845+      "type": "github",
846+      "username": "crivotz",
847+      "repo": "nv-ide",
848+      "tags": ["preconfigured-configurations"]
849+    },
850+    {
851+      "type": "github",
852+      "username": "ChristianChiarulli",
853+      "repo": "LunarVim",
854+      "tags": ["preconfigured-configurations"]
855+    },
856+    {
857+      "type": "github",
858+      "username": "hackorum",
859+      "repo": "VapourNvim",
860+      "tags": ["preconfigured-configurations"]
861+    },
862+    {
863+      "type": "github",
864+      "username": "vi-tality",
865+      "repo": "neovitality",
866+      "tags": ["preconfigured-configurations"]
867+    },
868+    {
869+      "type": "github",
870+      "username": "siduck76",
871+      "repo": "NvChad",
872+      "tags": ["preconfigured-configurations"]
873+    },
874+    {
875+      "type": "github",
876+      "username": "ashincoder",
877+      "repo": "StarVim",
878+      "tags": ["preconfigured-configurations"]
879+    },
880+    {
881+      "type": "github",
882+      "username": "AckslD",
883+      "repo": "nvim-whichkey-setup.lua",
884+      "tags": ["keybindings"]
885+    },
886+    { "type": "github", "username": "folke", "repo": "which-key.nvim", "tags": ["keybindings"] },
887+    {
888+      "type": "github",
889+      "username": "Iron-E",
890+      "repo": "nvim-cartographer",
891+      "tags": ["keybindings"]
892+    },
893+    { "type": "github", "username": "numToStr", "repo": "Navigator.nvim", "tags": ["tmux"] },
894+    { "type": "github", "username": "hkupty", "repo": "nvimux", "tags": ["tmux"] },
895+    { "type": "github", "username": "aserowy", "repo": "tmux.nvim", "tags": ["tmux"] },
896+    {
897+      "type": "github",
898+      "username": "jamestthompson3",
899+      "repo": "nvim-remote-containers",
900+      "tags": ["remote-container-development"]
901+    },
902+    { "type": "github", "username": "NTBBloodbath", "repo": "nvenv", "tags": ["version-managers"] },
903+    { "type": "github", "username": "shohi", "repo": "neva", "tags": ["version-managers"] },
904+    { "type": "github", "username": "gennaro-tedesco", "repo": "boilit", "tags": ["boilerplate"] }
905+  ]
906+}
M src/process.ts
+6, -3
 1@@ -1,14 +1,19 @@
 2 import fs from 'fs';
 3 import util from 'util';
 4+import fetch from 'node-fetch';
 5 
 6 import type { Plugin, Resource } from './lib/types';
 7 import { createPlugin } from './lib/entities';
 8-import * as resourceFile from './lib/resources.json';
 9+import resourceFile from './lib/resources.json';
10 
11 const writeFile = util.promisify(fs.writeFile);
12 const accessToken = process.env.GITHUB_ACCESS_TOKEN || '';
13 const accessUsername = process.env.GITHUB_USERNAME || '';
14 
15+processResources(resourceFile.resources as Resource[])
16+  .then(saveData)
17+  .catch(console.error);
18+
19 interface Props {
20   username: string;
21   repo: string;
22@@ -140,5 +145,3 @@ async function saveData({
23   await writeFile('./src/lib/db.json', JSON.stringify({ plugins }));
24   await writeFile('./src/lib/markdown.json', JSON.stringify({ markdown }));
25 }
26-
27-processResources(resourceFile.resources).then(saveData).catch(console.error);
M src/scrape.ts
+22, -15
 1@@ -1,15 +1,29 @@
 2 import fs from 'fs';
 3 import util from 'util';
 4 
 5+import prettier from 'prettier';
 6 import fetch from 'node-fetch';
 7 import marked from 'marked';
 8 
 9 import type { Resource, ResourceMap } from './lib/types';
10 import { createResource } from './lib/entities';
11-import * as resourceFile from './lib/resources.json';
12+import resourceFile from './lib/resources.json';
13 
14 const writeFile = util.promisify(fs.writeFile);
15 
16+const URLS = ['https://raw.githubusercontent.com/rockerBOO/awesome-neovim/main/README.md'];
17+
18+Promise.all(URLS.map((url) => fetchMarkdown(url).then(processMarkdown)))
19+  .then((resources) => {
20+    const flatten = resources.reduce((acc, r) => {
21+      acc.push(...r);
22+      return acc;
23+    }, []);
24+    return flatten;
25+  })
26+  .then(updateResources)
27+  .catch(console.error);
28+
29 async function fetchMarkdown(url: string) {
30   const response = await fetch(url);
31   const text = await response.text();
32@@ -62,24 +76,17 @@ async function processMarkdown(text: string) {
33 async function updateResources(resources: Resource[]) {
34   const db: ResourceMap = {};
35   const getId = (r: Resource) => `${r.username}/${r.repo}`;
36-  resourceFile.resources.forEach((r) => {
37+  resourceFile.resources.forEach((r: Resource) => {
38     db[getId(r)] = r;
39   });
40   resources.forEach((r) => {
41     db[getId(r)] = r;
42   });
43 
44-  await writeFile('./src/lib/resources.json', JSON.stringify({ resources: Object.values(db) }));
45+  const data = { resources: Object.values(db) };
46+  const json = prettier.format(JSON.stringify(data), {
47+    parser: 'json',
48+    printWidth: 100,
49+  });
50+  await writeFile('./src/lib/resources.json', json);
51 }
52-
53-const urls = ['https://raw.githubusercontent.com/rockerBOO/awesome-neovim/main/README.md'];
54-Promise.all(urls.map((url) => fetchMarkdown(url).then(processMarkdown)))
55-  .then((resources) => {
56-    const flatten = resources.reduce((acc, r) => {
57-      acc.push(...r);
58-      return acc;
59-    }, []);
60-    return flatten;
61-  })
62-  .then(updateResources)
63-  .catch(console.error);
M src/transform.ts
+2, -2
 1@@ -7,6 +7,8 @@ import type { Plugin } from './lib/types';
 2 const writeFile = util.promisify(fs.writeFile);
 3 const readFile = util.promisify(fs.readFile);
 4 
 5+clean().catch(console.error);
 6+
 7 async function clean() {
 8   const file = await readFile('./src/lib/db.json', 'utf-8');
 9   const db = JSON.parse(file.toString());
10@@ -45,5 +47,3 @@ async function clean() {
11     console.error(err);
12   }
13 }
14-
15-clean().catch(console.error);
M yarn.lock
+5, -0
 1@@ -167,6 +167,11 @@
 2   resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
 3   integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
 4 
 5+"@types/prettier@^2.3.2":
 6+  version "2.3.2"
 7+  resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.3.2.tgz#fc8c2825e4ed2142473b4a81064e6e081463d1b3"
 8+  integrity sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog==
 9+
10 "@types/pug@^2.0.4":
11   version "2.0.5"
12   resolved "https://registry.yarnpkg.com/@types/pug/-/pug-2.0.5.tgz#69bc700934dd473c7ab97270bd2dbacefe562231"