Crates.io | mojom-lsp |
lib.rs | mojom-lsp |
version | 0.1.2 |
source | src |
created_at | 2020-04-11 08:00:57.22857 |
updated_at | 2021-10-27 08:22:30.101245 |
description | A language server for Mojom IDL |
homepage | |
repository | https://github.com/GoogleChromeLabs/mojom-language-support |
max_upload_size | |
id | 228554 |
size | 122,657 |
A language server for Mojom IDL. It supports:
mojom-lsp is tested on Visual Studio Code with vscode-mojom extension and Emacs with eglot.
mojom-lsp requires stable Rust to build. Run the following command to install mojom-lsp
.
# This generates `mojom-lsp` binary.
$ cargo install mojom-lsp
Be sure to include the binary to your $PATH
.
mojom-lsp assumes that your LSP client sends rootUri
in the initialize
request. rootUri
should be a path that contains the src
directory of your Chromium working directory.
mojom-lsp itself doesn't provide syntax highlighting for now. You need to configure your editor to get syntax highlighting.
Use vscode-mojom extension.
The Chromium repository provides basic mojom support.
An easy way to get syntax highliting is to use define-generic-mode
like below:
;; Mojom
(require 'generic)
(define-generic-mode mojom-mode
;; comments
'("//" ("/*" . "*/"))
;; keywords
'("module" "import" "struct" "union" "enum" "interface")
;; font-locks
nil
;; auto-mode
nil
;; hooks
nil
"Major mode for mojom")
(add-to-list 'auto-mode-alist '("\\.mojom$" . mojom-mode))