3 releases
0.1.2 | Oct 27, 2021 |
---|---|
0.1.1 | Apr 11, 2020 |
0.1.0 | Apr 11, 2020 |
#290 in Text editors
110KB
3K
SLoC
mojom-lsp
A language server for Mojom IDL. It supports:
- Syntax check
- Goto definition
mojom-lsp is tested on Visual Studio Code with vscode-mojom extension and Emacs with eglot.
Installation
mojom-lsp requires stable Rust to build. Run the following command to install mojom-lsp
.
# This generates `mojom-lsp-server` binary.
$ cargo install mojom-lsp
Be sure to include the binary to your $PATH
.
Editor settings
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.
Syntax highlighting
mojom-lsp itself doesn't provide syntax highlighting for now. You need to configure your editor to get syntax highlighting.
VSCode
Use vscode-mojom extension.
Vim
The Chromium repository provides basic mojom support.
Emacs
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))
Dependencies
~8.5MB
~147K SLoC