coc-extensions / coc-powershell

PowerShellEditorService integration for coc.vim

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Implement the client in typescript?

TylerLeonhardt opened this issue · 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

@chemzqm please advise.

@yatli I found a problem, you should list coc.nvim as devDependencies instead to avoid download unnecessary package.

@chemzqm fixed, and thank you!
Also updated my coc-fsharp plugin :)