Implement the client in typescript?
TylerLeonhardt opened this issue · 12 comments
We don't go as far as the vscode extension - but we copy more-or-less the same settings and snippets to leverage those.
Thoughts?
The two-stage bootstrapping model should allow us to easily ramp-up.
If we set a global variable in the vim plugin, we can then read it from the ts client with coc.workspace.nvim
;
The other option is to write everything in typescript, but I think it's better to not leave the vim script behind -- we may want some default binding and vim-specific settings that's cumbersome to deal with in a remote client.
The two-stage bootstrapping model should allow us to easily ramp-up.
Sounds good to me!
Did you say that we should be able to basically do what your fsharp coc plugin can do?
Yeah, this way we can get a pay-as-you-go dev model. Features can be incrementally brought in by adding coc commands
Awesome - where does that exist?
If you mean the fs plugin: https://github.com/yatli/coc-fsharp
Ah. I was under the impression that that repo was implemented in TypeScript (aka the vscode-powershell of fsharp)
How does one leverage this in nvim?
Ahhh it's under https://github.com/yatli/coc-fsharp/blob/master/client/extension.ts
Think we can drop that into coc-powershell things generally work?
Here’s a way to plug it into coc.nvim without a npm package:
Make a sub folder in the vim plugin.
Put the typescript part in.
Upon initialization, call npm install and npm run compile to obtain the linked output and the dependencies.
Continue to bootstrap and download the PSES release as usual.
Then, in the plugin, set rtp+=path of index.js— coc.nvim will pick up all js files in the runtime path.
Update: the steps may not be accurate, can’t remember if it’s the dir of index.js, or package.json