Git Product home page Git Product logo

language-server-extension's Introduction

Language Server Extension

Build Status

The Phpactor Language Server Extension

Usage

Install this extension:

$ phpactor extension:install phpactor/language-server-extension

Start a TCP server:

$ phpactor language-server --address=0.0.0.0:0

Extend

By default the language server doesn't provide any functionality:

$ phpactor extension:install phpactor/language-server-completion
$ phpactor extension:install phpactor/language-server-reference-finder

Now it can provide completion and goto definition, except we haven't got any completion or goto-definition implementations, so let's fix that:

$ phpactor extension:install phpactor/worse-reference-finder-extension
$ phpactor extension:install phpactor/completion-worse-extension

Integrating with Language Clients

COC

Conqueror of Code:

In coc-settings.json (can be accessed in VIM through :CocConfig:

Connect with STDIO (recommended)

{
    "languageserver": {
        "phpactor": {
            "command": "/home/daniel/www/phpactor/phpactor/bin/phpactor",
            "args": ["language-server"],
            "filetypes": ["php"],
            "initializationOptions": {
            },
            "settings": {
            }
        }
    }
}

Connect to the TCP server (will need to be started manually and settings adjusted as required):

{
    "languageserver": {
        "phpactor": {
            "host": "127.0.0.1",
            "filetypes": ["php"],
            "port": 8888
        }
    }
}

System Commands

Status

You can get some status information from the server by issuing:

:call CocRequest('phpactor','system/status', [])

(assuming you are using COC for VIM).

Dump Config

Dump the configuration to the client via. window/logMessage:

:call CocRequest('phpactor','system/configDump', [])

language-server-extension's People

Contributors

dantleech avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.