Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/brianc/jade-mode
Emacs major mode for jade template highlighting
https://github.com/brianc/jade-mode
Last synced: 7 days ago
JSON representation
Emacs major mode for jade template highlighting
- Host: GitHub
- URL: https://github.com/brianc/jade-mode
- Owner: brianc
- License: mit
- Created: 2010-12-15T23:57:56.000Z (almost 14 years ago)
- Default Branch: master
- Last Pushed: 2021-10-19T21:13:24.000Z (about 3 years ago)
- Last Synced: 2024-08-04T01:15:36.156Z (3 months ago)
- Language: Emacs Lisp
- Homepage:
- Size: 79.1 KB
- Stars: 157
- Watchers: 5
- Forks: 42
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-pug - Emacs
README
# sws-mode
[![MELPA](http://melpa.org/packages/jade-mode-badge.svg)](http://melpa.org/#/jade-mode) [![MELPA Stable](http://stable.melpa.org/packages/jade-mode-badge.svg)](http://melpa.org/#/jade-mode)## major mode for jade-mode and stylus-mode
__S__ignificant __W__hitespace __M__ode. Because Jade and Stylus are both 'significant white space' languages, sws-mode can be used to edit both types of files
Lines can be indented or un-indented (is that a word?) with tab, shift-tab respectively. Indentation will look at the proceeding line and not indent more than 1 level of nesting below it.
html
body
#container
.content
^
|----cursor anywhere on this line except at beginning of text, press tab or S-tabhtml
body
#container
.content
^
|---- cursor moves to beginning of text...once cursor is at beginning of text, press tabhtml
body
#container
.content
^
|---- now line is maximum indented, press tab againhtml
body
#container
.content
^
|---- line moves to minimum indentation level (no indentation)Regions can be indentend in a similar way; however, this is still buggy...
Since jade and stylus nesting is somewhat related to sexp layout I hope to have sexp related selection & manipulation working in the future. See `jade-highlight-sexp` for an example
## key bindings
- [tab] if region is active, do 'smart indent' on region. otherwise, move cursor to beginning of line text. If cursor already at beginning of line text, do 'smart indent' on line.
- [shift-tab] if region is active, do 'smart dedent' on region. otherwise, move cursor to beginning of line text. If cursor already at beginning of line text, do 'smart dedent' on line.### jade-mode
Emacs major mode for [jade template](http://github.com/visionmedia/jade) highlighting. This mode extends sws-mode to provide some rudimentary syntax highlighting.
Still in very early stages. Some simple highlighting of tags, ids, and classes works; however, it highlights incorrectly into the javascript code and plain text code as well.
I would like to get the highlighting working better. Also note javascript highlighting with either js2-mode or espresso-mode should be possible...I'm a major major-mode writing noob so it'll take a while.
### stylus-mode
I'm not sure yet how to highlight .styl files, so for now, just use sws-mode when editing stylus mode.## Installation instructions
Copy the jade-mode.el and sws-mode.el to some directory on your computer. I put mine under `~/code/jade-mode` and sym-link the jade-mode folder into `~/.emacs.d/vendor/`. You can just as easily put the folder itself under '~/.emacs.d/vendor/`
Add the following lines to any of your initialization files
(add-to-list 'load-path "~/.emacs.d/vendor/jade-mode")
(require 'sws-mode)
(require 'jade-mode)
(add-to-list 'auto-mode-alist '("\\.styl\\'" . sws-mode))### [Flycheck][] support.
[Flycheck][] now has support for jade files. It currently only handles errors.
[Flycheck]: https://github.com/flycheck/flycheck