Skip to content

Latest commit

 

History

History
162 lines (94 loc) · 4.14 KB

README.md

File metadata and controls

162 lines (94 loc) · 4.14 KB

pug-lsp: Pug Language Protocol Server

An implementation of the Language Protocol Server for Pug.js

Installation

Neovim

  1. Search for pug in mason.nvim
  2. 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

preview

Yes, go-to-definition supported

Tags suggestions

Auto suggest list of HTML5 tags.

tags-suggestions

Attributes suggestions

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

common-attributes

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

events-attributes

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

special-attributes

&attributes snippet

Yes, it's a real feature of Pug

attributes-shortcut

Mixins suggestions

Look through included files and suggest defined mixins!

mixins

Doctype suggestions

PugJS has a pre-defined list of possible doctypes.

doctypes

Keywords suggestions

case .. when .. default

Pug-LSP simply follows Pug's implementation

case-suggestions

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 break-suggestion

if .. else

if-suggestion

Hover reference

See full desciption on hover! hover-reference

Diagnostics

Include

Check if filepath is valid includes-diag

Mixins

  1. Check if mixin exists (or included) mixins-diag

  2. Check if desired arguments passed mixin-arguments

Thanks


ko-fi