134 lines
3.8 KiB
Org Mode
134 lines
3.8 KiB
Org Mode
#+TITLE: Rebox layer
|
||
|
||
#+TAGS: layer|tool
|
||
|
||
* Table of Contents :TOC_4_gh:noexport:
|
||
- [[#description][Description]]
|
||
- [[#features][Features:]]
|
||
- [[#install][Install]]
|
||
- [[#layer][Layer]]
|
||
- [[#configuration][Configuration]]
|
||
- [[#styles-cycling][Styles cycling]]
|
||
- [[#text-mode][Text mode]]
|
||
- [[#style-templates][Style Templates]]
|
||
- [[#standard-packaged-templates][Standard packaged templates]]
|
||
- [[#comments][Comments]]
|
||
- [[#additional-templates][Additional Templates]]
|
||
- [[#key-bindings][Key bindings]]
|
||
|
||
* Description
|
||
This layer adds support for [[https://github.com/lewang/rebox2][rebox2]] package which is a minor-mode allowing
|
||
to easily add ASCII text boxes to a buffer.
|
||
|
||
A nice video demonstration by the package author can be found [[https://www.youtube.com/watch?v=53YeTdVtDkU][here]].
|
||
|
||
** Features:
|
||
- Auto-wrap correctly in comments,
|
||
- Auto-fill correctly in comments,
|
||
- Boxes auto-adapt as text is inserted or deleted,
|
||
- ~S-RET~ to continue a comment on the next line,
|
||
- Kill/yank within the box,
|
||
- Apparently works well with ancient =filladpt-mode= (see authors video).
|
||
|
||
* Install
|
||
** Layer
|
||
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
|
||
add =rebox= to the existing =dotspacemacs-configuration-layers= list in this
|
||
file.
|
||
|
||
** Configuration
|
||
*** Styles cycling
|
||
Box styles are identified by numbers, it is possible to cycle through a list
|
||
of styles using ~SPC x b n~. This list can be customized by setting the variable
|
||
=rebox-style-loop=.
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq rebox-style-loop '(71 72 73))
|
||
#+END_SRC
|
||
|
||
*** Text mode
|
||
As text mode usage could surprise some users (e.g., when they enter M-q to fill
|
||
a paragraph) =rebox= is not enabled by default in =text-mode=. To enable it you
|
||
need to set the layer variable =rebox-enable-in-text-mode= to =t=.
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq-default dotspacemacs-configuration-layers '(
|
||
(rebox :variables rebox-enable-in-text-mode t)))
|
||
#+END_SRC
|
||
|
||
* Style Templates
|
||
** Standard packaged templates
|
||
You can find the full list of templates in
|
||
[[https://github.com/lewang/rebox2/blob/master/rebox2.el][“Box templates” section of =rebox2.el=]]
|
||
|
||
*** Comments
|
||
These templates are single line comments styles. A =#= is used here for
|
||
illustration; however, it will work equally well if the comment character is
|
||
different (e.g., lisp’s =;= comment character).
|
||
|
||
** Additional Templates
|
||
These templates are added by the Spacemacs layer.
|
||
|
||
#+BEGIN_SRC sh
|
||
#
|
||
# box style 71
|
||
#
|
||
|
||
# ------------
|
||
# box style 72
|
||
# ------------
|
||
|
||
# ============
|
||
# box style 73
|
||
# ============
|
||
|
||
#--------------
|
||
# box style 74
|
||
#--------------
|
||
|
||
#--------------+
|
||
# box style 75
|
||
#--------------+
|
||
|
||
#==============
|
||
# box style 76
|
||
#==============
|
||
|
||
##
|
||
## box style 81
|
||
##
|
||
|
||
## ------------
|
||
## box style 82
|
||
## ------------
|
||
|
||
## ============
|
||
## box style 83
|
||
## ============
|
||
|
||
##--------------
|
||
## box style 84
|
||
##--------------
|
||
|
||
##--------------+
|
||
## box style 85
|
||
##--------------+
|
||
|
||
##==============
|
||
## box style 86
|
||
##==============
|
||
#+END_SRC
|
||
|
||
* Key bindings
|
||
*Note:* Use a numerical prefix argument to choose a specific style for instance
|
||
~86 SPC x b b~ to use the style 86 above.
|
||
|
||
| Key binding | Command |
|
||
|-------------+-------------------------------------------------------------------|
|
||
| ~SPC x b >~ | Move box to the right (point must be around left side of the box) |
|
||
| ~SPC x b <~ | Move box to the left (point must be around left side of the box) |
|
||
| ~SPC x b b~ | Draw next box defined in =rebox-style-loop= |
|
||
| ~SPC x b B~ | Draw previous box defined in =rebox-style-loop= |
|
||
| ~SPC x b c~ | Center box (point must be around left side of the box) |
|
||
| ~S-RET~ | rebox-indent-new-line |
|