GitXplorerGitXplorer
k

pest-mode

public
19 stars
4 forks
1 issues

Commits

List of commits on branch master.
Unverified
e71e2f2730e926ee936ff7be15d912de27547e9e

Minor fixes (for Melpa)

kksqsf committed 5 years ago
Unverified
fc575223d1e4de00e03c80258c7359cb4c415517

Add pest-mode to Package-Requires in fly{make,check}-pest

kksqsf committed 5 years ago
Unverified
4fea230d169bdb7168f4db2ea89544088115cf35

fix author of flymake-pest

kksqsf committed 5 years ago
Unverified
2ff964d6c9b5a6919041cb26d6746b26a20d42de

update readme

kksqsf committed 5 years ago
Unverified
4aecf8a8f4967d381def4a9f4568f7cef50ecd58

update copyright

kksqsf committed 5 years ago
Unverified
cfabed633fbfbf965241bd64a636c1dea96bcd11

[pest-mode] update package doc

kksqsf committed 5 years ago

README

The README file for this repository.

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-install both pest-mode and flymake-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,

  1. Install the Rust toolchain.
  2. cd pesta && cargo build --release
  3. Find the executable pesta under target/release, and (optionally) put it in your PATH.

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 keybinding C-c C-t): open a buffer to test the current grammar
  • flymake-mode: enable syntax checking

In a testing buffer,

  • pest-select-rule (default keybinding C-c C-r): select the start rule for all other purposes
  • pest-analyze-input (default keybinding C-c C-c): analyze the input and report the structure
  • flymake-mode (enabled by default): enable syntax checking
  • eldoc-mode (enabled by default): enable displaying the parse tree path

Demo

All of the following require pesta.

Pest-mode supports flymake!

pest-mode flymake

The testing buffer supports both flymake and eldoc!

pest-input-mode flymake and eldoc

Analyze

pest-input-mode analyze