pest-mode
pest-mode copied to clipboard
A major mode for editing Pest files
Pest mode
Pest mode provides a major mode for editing Pest files. It also contains a few advanced features.
Current stable version: 0.1.
Pest-mode features:
- Syntax highlighting
- Indentation
- Imenu integration
- xref integration
- Eldoc integration (requires
pesta) - Flymake/flycheck integration for syntax checking (requires
pesta) - Language studio, where you can experiment the grammar (requires
pesta)
Installation
pest-mode, flymake-pest, and flycheck-pest are now on MELPA.
- Just
M-x package-installbothpest-modeandflymake-pest. - Install
pesta(see below).
pest-mode
To manually install pest-mode, download the file and put it in your load-path, and write in your config file:
(autoload 'pest-mode "pest-mode")
(add-to-list #'auto-mode-alist '("\\.pest\\'" . pest-mode))
If you use use-package and quelpa, life is easier:
(use-package pest-mode
:quelpa (pest-mode :fetcher github :repo "ksqsf/pest-mode")
:mode "\\.pest\\'"
:hook (pest-mode . flymake-mode))
pesta
To use the more advanced features, you must have pesta installed.
pesta is now on crates.io, so just do
cargo install pesta --force
Or, if you prefer the manual way,
- Install the Rust toolchain.
cd pesta && cargo build --release- Find the executable
pestaundertarget/release, and (optionally) put it in yourPATH.
Note: you have to customize pest-pesta-executable if pesta is not
in your PATH.
Usage
If you have added pest-mode to auto-mode-alist, then it should be enabled automatically on any .pest file.
In a .pest file,
pest-test-input(default keybindingC-c C-t): open a buffer to test the current grammarflymake-mode: enable syntax checking
In a testing buffer,
pest-select-rule(default keybindingC-c C-r): select the start rule for all other purposespest-analyze-input(default keybindingC-c C-c): analyze the input and report the structureflymake-mode(enabled by default): enable syntax checkingeldoc-mode(enabled by default): enable displaying the parse tree path
Demo
All of the following require pesta.
Pest-mode supports flymake!

The testing buffer supports both flymake and eldoc!

Analyze
