November: Procrastination Month

    codemirror-languageserver
    TypeScript icon, indicating that this package has built-in type declarations

    1.10.0 • Public • Published

    Language Server Plugin for CodeMirror 6

    npm version

    This plugin enables code completion, hover tooltips, and linter functionality by connecting a CodeMirror 6 editor with a language server over WebSocket.

    How It Works

    Usage

    npm i codemirror-languageserver
    
    import { languageServer } from 'codemirror-languageserver';
    
    const transport = new WebSocketTransport(serverUri)
    
    var ls = languageServer({
    	// WebSocket server uri and other client options.
    	serverUri,
    	rootUri: 'file:///',
    
    	// Alternatively, to share the same client across multiple instances of this plugin.
    	client: new LanguageServerClient({
    		serverUri,
    		rootUri: 'file:///'
    	}),
    
    	documentUri: `file:///${filename}`,
    	languageId: 'cpp' // As defined at https://microsoft.github.io/language-server-protocol/specification#textDocumentItem.
    });
    
    var view = new EditorView({
    	state: EditorState.create({
    		extensions: [
    			// ...
    			ls,
    			// ...
    		]
    	})
    });

    Contributing

    Contributions are welcome.

    Real World Uses

    https://user-images.githubusercontent.com/348107/120141150-c6bb9180-c1fd-11eb-8ada-9b7b7a1e4ade.mp4

    Toph Competitive programming platform

    License

    The library is available under the BSD (3-Clause) License.

    Keywords

    none

    Install

    npm i codemirror-languageserver

    DownloadsWeekly Downloads

    31

    Version

    1.10.0

    License

    BSD-3-Clause

    Unpacked Size

    24.2 kB

    Total Files

    7

    Last publish

    Collaborators

    • hjr265