liuchengxu / space-vim

:four_leaf_clover: Lean & mean spacemacs-ish Vim distribution
https://liuchengxu.github.io/space-vim/
MIT License
2.85k stars 255 forks source link

Add nodejs tool layer #491

Open rene-descartes2021 opened 2 years ago

rene-descartes2021 commented 2 years ago

If able to, this layer will download the Node.js source and build if Node.js is not detected on system. Node.js includes the Yarn and npm tools.

In order to make a project zero-install, you must be able to use it as soon as you clone it.

This approaches a zero-install workflow to allow users to immediately use the lsp layer to download and use language servers as needed, and also coc.nvim. I also prefer to allow users the option of automatically building dependencies from source where possible, instead of them having to manually download binaries and read relevant installation documentation themselves.

Other changes:

Minor shortcomings:

~Blocking Bug: There is a problem with AsyncRun being used within a vim-plug job. I need to resolve that problem before I can add this layer. I found a workaround involving a timer to wait until vim-plug had finished (re)loading the plugins (which broke AsyncRun). A proposed event in vim-plug will remove the need for this timer, waiting on that author.~ Contingent on: #500.