Skip to main content

MPF Language Server

Project description

Language server for MPF config.

Installation (from pypi)

pip3 install mpf-language-server

Usage in IDE

IntelliJ Based IDE

For any IntelliJ based IDE (such as PyCharm, WebStorm or PhpStorm) you need to install a LSP (Language Server Protocol) plugin. Then add mpfls as Raw command for yaml files in “Settings -> Languages & Frameworks -> Language Server Protocol -> Server Definitions”.

VSCode

For vsCode install the extension in vscode-client.

Emacs

Integration with Emacs is accomplished using lsp-mode.

A minimal completion setup can be achieved with the lsp-mode, yaml-mode, company, and lsp-company packages. Company is a general purpose completion package for Emacs. lsp-company is a helper package for using Company with :code`lsp-mode`.

  1. Install lsp-mode, company, yaml-mode, and lsp-company by running M-x package-install and following the instructions.

  2. Add the following to your Emacs init file:

    ;; Register the mpfls server
    (require 'lsp-mode)
    (add-hook 'yaml-mode-hook #'lsp)
    (defvar lsp-language-id-configuration
      '((yaml-mode . "mpfls")))
    
    (lsp-register-client
      (make-lsp-client :new-connection (lsp-stdio-connection "mpfls")
        :major-modes '(yaml-mode)
        :server-id 'mpfls))
    (add-hook 'after-init-hook 'global-company-mode)
    
    ;; Configure company-lsp
    (require 'company-lsp)
    (push 'company-lsp company-backends)
    

Installation (from git for local development)

If you want to contribute to this repository:

git checkout https://github.com/missionpinball/mpf-ls/
cd mpf-ls
pip3 install -e .

License

This project is made available under the MIT License. Code is based on the Python language server (also MIT).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for mpf-language-server, version 0.1.3
Filename, size File type Python version Upload date Hashes
Filename, size mpf-language-server-0.1.3.tar.gz (37.9 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page