pug-lsp: Pug Language Protocol Server
June 24, 2024 ยท View on GitHub
An implementation of the Language Protocol Server for Pug.js
- Installation
- Features
- Thanks
Installation
Neovim
- Search for
pugin mason.nvim - Setup using nvim-lspconfig:
require("lspconfig").pug.setup({})
Manually
Pug-LSP can be installed via
go get github.com/opa-oz/pug-lsp
or manually downloaded from releases page
Features
pug-lsp aims to provide suggestions for you to edit .pug in your editor.
Note
Project is under heavy development. Current functionality can be change in stable release.
Freestyle

Yes, go-to-definition supported
Tags suggestions
Auto suggest list of HTML5 tags.

Attributes suggestions
Auto suggest common attributes (such as style, class, title) for tags

Auto suggest events (such as onclick, onenter) for tags

Auto suggest tag-specific attributes (such as href for a)

&attributes snippet
Yes, it's a real feature of Pug

Mixins suggestions
Look through included files and suggest defined mixins!

Doctype suggestions
PugJS has a pre-defined list of possible doctypes.

Keywords suggestions
case .. when .. default
Pug-LSP simply follows Pug's implementation

Note Case Fall Through
You can use fall through, just as you would in a JavaScript switch statement.
The difference, however, is a fall through in JavaScript happens whenever a break statement is not explicitly included; in Pug, it only happens when a block is completely missing.
If you would like to not output anything in a specific case, add an explicit unbuffered break snippet: - break

if .. else

Hover reference
See full desciption on hover!

Diagnostics
Include
Check if filepath is valid

Mixins
-
Check if mixin exists (or included)

-
Check if desired arguments passed
