https://github.com/sourcegraph/sourcegraph-basic-code-intel/
Library that connects Sourcegraph extensions to language servers
npm install @sourcegraph/lsp-client
# or
yarn add @sourcegraph/lsp-client
import * as sourcegraph from 'sourcegraph'
import * as lspClient from '@sourcegraph/lsp-client'
export async function activate(ctx: sourcegraph.ExtensionContext): Promise<void> {
const config = sourcegraph.configuration.get().value
const client = await lspClient.register({
sourcegraph,
transport: lspClient.webSocketTransport({ serverUrl: config['myExtension.serverUrl'] }),
documentSelector: [{ language: 'myLanguage' }],
clientToServerURI: uri => ..., // optional
serverToClientURI: uri => ..., // optional
})
ctx.subscriptions.add(client)
}yarn
yarn build
yarn test
Releases are done automatically in CI when commits are merged into master by analyzing Conventional Commit Messages.
After running yarn, commit messages will be linted automatically when committing though a git hook.
The git hook can be circumvented for fixup commits with git's fixup! autosquash feature, or by passing --no-verify to git commit.
You may have to rebase a branch before merging to ensure it has a proper commit history, or squash merge with a manually edited commit message that conforms to the convention.