Skip to content
/ pug-lsp Public

An implementation of the Language Protocol Server for Pug.js

License

Notifications You must be signed in to change notification settings

opa-oz/pug-lsp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

An implementation of the Language Protocol Server for Pug.js

Resources

License

Stars

Watchers

Forks

Sponsor this project

Languages