Add automatic alignment rules for CSS and PHP code
This commit is contained in:
parent
6b7b0aec5f
commit
e878b58967
1 changed files with 84 additions and 0 deletions
|
@ -398,6 +398,90 @@ To start off, first I need to enable lexical binding.
|
|||
user-mail-address "tom@ryuslash.org")
|
||||
#+END_SRC
|
||||
|
||||
* Automatic alignment
|
||||
|
||||
Emacs has some powerful automatic alignment features.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(eval-when-compile (require 'align))
|
||||
#+END_SRC
|
||||
|
||||
** CSS
|
||||
|
||||
Align CSS files like so:
|
||||
|
||||
#+BEGIN_SRC css
|
||||
body { color: #ffffff; }
|
||||
.some-class { background-color: #ffffff; }
|
||||
#some-id { width: 200px; }
|
||||
|
||||
.some-more-class {
|
||||
color: #ffffff;
|
||||
background-color: #ffffff;
|
||||
width: 200px;
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(with-eval-after-load 'align
|
||||
;; Keep these in order. They are each added to the _front_ of the
|
||||
;; list and are applied in order. Changing their order will change
|
||||
;; the results.
|
||||
(add-to-list 'align-rules-list
|
||||
`(css-closing-brace
|
||||
(regexp . ,(rx (group (0+ whitespace)) "}" eol))
|
||||
(group . (1))
|
||||
(modes . '(scss-mode css-mode))))
|
||||
(add-to-list 'align-rules-list
|
||||
`(css-colons
|
||||
(regexp . ,(rx bol
|
||||
(0+ whitespace)
|
||||
(1+ (any (?a . ?z) ?- ?$))
|
||||
":"
|
||||
(group (0+ whitespace))
|
||||
(0+ nonl)
|
||||
";"
|
||||
eol))
|
||||
(group . (1))
|
||||
(modes . '(scss-mode css-mode))
|
||||
(repeat . t)))
|
||||
(add-to-list 'align-rules-list
|
||||
`(css-opening-brace
|
||||
(regexp . ,(rx bol
|
||||
(0+ whitespace)
|
||||
(0+ (any ?# ?. ?, ?\s ?& ?: ?-
|
||||
(?a . ?z) (?A . ?Z) (?0 . ?9)))
|
||||
(any (?a . ?z) (?A . ?Z) (?0 . ?9))
|
||||
(group (0+ whitespace))
|
||||
"{"
|
||||
(0+ nonl)))
|
||||
(group . (1))
|
||||
(modes . '(scss-mode css-mode)))))
|
||||
#+END_SRC
|
||||
|
||||
** PHP
|
||||
|
||||
In PHP code it's nice to have any ~=>~ aligned.
|
||||
|
||||
#+BEGIN_SRC php
|
||||
<?php
|
||||
array(
|
||||
'foo' => 'bar',
|
||||
'frob' => 'baz'
|
||||
);
|
||||
?>
|
||||
#+END_SRC
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(with-eval-after-load 'align
|
||||
(add-to-list 'align-rules-list
|
||||
`(php-array-arrow
|
||||
(regexp . ,(rx any (group whitespace) "=>" any))
|
||||
(group . (1))
|
||||
(modes . '(php-mode web-mode))
|
||||
(repeat . t))))
|
||||
#+END_SRC
|
||||
|
||||
* Url browsing
|
||||
|
||||
Use Conkeror to open URLs.
|
||||
|
|
Loading…
Reference in a new issue